From 10bb20c671b3f98ae5fea79a7eaabc2e66dbaf0c Mon Sep 17 00:00:00 2001 From: yangwei <867012372@qq.com> Date: Mon, 23 Jun 2025 11:25:00 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=E4=BF=AE=E6=94=B9=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E6=89=80=E5=9C=A8=E9=83=A8=E9=97=A8=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=E6=9F=A5=E8=AF=A2,=E4=BF=AE=E6=94=B9=E9=A2=84?= =?UTF-8?q?=E8=AD=A6=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BusinessAlertServiceImpl.java | 7 ++++- .../system/SysDepartBoundaryController.java | 4 +-- .../mapper/SysDepartBoundaryMapper.java | 2 +- .../service/ISysDepartBoundaryService.java | 2 +- .../system/service/ISysDeptService.java | 8 +++++ .../impl/SysDepartBoundaryServiceImpl.java | 30 ++++++------------- .../service/impl/SysDeptServiceImpl.java | 15 ++++++++++ .../mapper/system/SysDepartBoundaryMapper.xml | 8 +++-- 8 files changed, 48 insertions(+), 28 deletions(-) diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java index 967c377..8fb7300 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertServiceImpl.java @@ -689,7 +689,12 @@ public class BusinessAlertServiceImpl implements IBusinessAlertService { } if (ObjectUtil.isNotEmpty(bo.getDeptId())){ - wrapper.eq("t.dept_id", bo.getDeptId()); + //根据传过来的部门id查找是否存在下级部门 + List remoteDeptVos = remoteDeptService.selectListByParentId(bo.getDeptId()); + List deptIdList = StreamUtils.toList(remoteDeptVos, RemoteDeptVo::getDeptId); + deptIdList.add(Long.valueOf(bo.getDeptId())); + + wrapper.in("t.dept_id", deptIdList); } if (ObjectUtil.isNotEmpty(bo.getJobName())){ diff --git a/dk-modules/system/src/main/java/org/dromara/system/controller/system/SysDepartBoundaryController.java b/dk-modules/system/src/main/java/org/dromara/system/controller/system/SysDepartBoundaryController.java index 41334c7..937ff1a 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/controller/system/SysDepartBoundaryController.java +++ b/dk-modules/system/src/main/java/org/dromara/system/controller/system/SysDepartBoundaryController.java @@ -38,8 +38,8 @@ public class SysDepartBoundaryController extends BaseController { */ @Operation(summary ="查询部门的地理位置",description = "查询部门的地理位置") @GetMapping(value = "/listJson") - public R> listJson(SysDepartBoundary departBoundary) { - List listJson = departBoundaryService.listJson(departBoundary); + public R listJson(SysDepartBoundary departBoundary) { + String listJson = departBoundaryService.listJson(departBoundary); return R.ok("查询成功!",listJson); } /** diff --git a/dk-modules/system/src/main/java/org/dromara/system/mapper/SysDepartBoundaryMapper.java b/dk-modules/system/src/main/java/org/dromara/system/mapper/SysDepartBoundaryMapper.java index e075336..f0535fe 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/mapper/SysDepartBoundaryMapper.java +++ b/dk-modules/system/src/main/java/org/dromara/system/mapper/SysDepartBoundaryMapper.java @@ -24,7 +24,7 @@ public interface SysDepartBoundaryMapper extends BaseMapper { void saveBatchBoundary(@Param("list") List boundaryList); - String listJson(@Param("deptId") String deptId); + String listJson(@Param("list") List deptIdList); List listDepartBoundaryByLngAndLat(@Param("lng") Double lng,@Param("lat") Double lat); } diff --git a/dk-modules/system/src/main/java/org/dromara/system/service/ISysDepartBoundaryService.java b/dk-modules/system/src/main/java/org/dromara/system/service/ISysDepartBoundaryService.java index 74be76c..c3324d7 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/service/ISysDepartBoundaryService.java +++ b/dk-modules/system/src/main/java/org/dromara/system/service/ISysDepartBoundaryService.java @@ -28,7 +28,7 @@ public interface ISysDepartBoundaryService extends IService{ boolean addDepartBoundary(SysDepartBoundary departBoundary); - List listJson(SysDepartBoundary departBoundary); + String listJson(SysDepartBoundary departBoundary); List listDepartBoundaryByLngAndLat(Double lng, Double lat); diff --git a/dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java b/dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java index b259af1..85ade78 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java +++ b/dk-modules/system/src/main/java/org/dromara/system/service/ISysDeptService.java @@ -162,4 +162,12 @@ public interface ISysDeptService { SysDept addBoundaryDept(SysDeptBo sysDeptBo); List listTreeDeptByChild(Long deptId); + + /** + * 根据当前部门查询下一级 + * @param deptId + * @return + */ + List selectSecondByParentId(Long deptId); + } diff --git a/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDepartBoundaryServiceImpl.java b/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDepartBoundaryServiceImpl.java index 48e78f6..9bac305 100644 --- a/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDepartBoundaryServiceImpl.java +++ b/dk-modules/system/src/main/java/org/dromara/system/service/impl/SysDepartBoundaryServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; import org.apache.dubbo.config.annotation.DubboReference; +import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.system.api.domain.vo.RemoteDeptVo; import org.dromara.system.domain.SysDepartBoundary; @@ -215,33 +216,20 @@ public class SysDepartBoundaryServiceImpl extends ServiceImpl listJson(SysDepartBoundary departBoundary) { - - SysDepartBoundaryBo result = new SysDepartBoundaryBo(); + public String listJson(SysDepartBoundary departBoundary) { //获取当前人所属部门 Long deptId = LoginHelper.getDeptId(); - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(SysDepartBoundary::getDeptId, deptId); - List boundaryList = baseMapper.selectList(wrapper); - - if (ObjectUtil.isEmpty(boundaryList)) { - return List.of(); - } - - Integer areaType = boundaryList.getFirst().getAreaType(); - String deptName = boundaryList.getFirst().getDeptName(); - //获取部门所属区域 - String landCategories = this.baseMapper.listJson(String.valueOf(deptId)); + //根据当前所属部门id查询下级部门,获取部门所属区域 +// List deptVoList = deptService.selectSecondByParentId(deptId); +// +// List secondDeptIdList = StreamUtils.toList(deptVoList, SysDeptVo::getDeptId); +// secondDeptIdList.add(deptId); - result.setDeptId(String.valueOf(deptId)); - result.setDeptName(deptName); - result.setAreaType(areaType); - result.setLandCategoriesJson(landCategories); + return this.baseMapper.listJson(List.of(deptId)); - return List.of(result); } /** @@ -259,7 +247,7 @@ public class SysDepartBoundaryServiceImpl extends ServiceImpl selectSecondByParentId(Long deptId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(SysDept::getParentId, deptId); + wrapper.eq(SysDept::getStatus, UserConstants.DEPT_NORMAL); + + List deptVoList = this.baseMapper.selectVoList(wrapper); + + if (ObjectUtil.isEmpty(deptVoList)) { + return List.of(); + } + + return deptVoList; + } + } diff --git a/dk-modules/system/src/main/resources/mapper/system/SysDepartBoundaryMapper.xml b/dk-modules/system/src/main/resources/mapper/system/SysDepartBoundaryMapper.xml index 9c87bd2..1877558 100644 --- a/dk-modules/system/src/main/resources/mapper/system/SysDepartBoundaryMapper.xml +++ b/dk-modules/system/src/main/resources/mapper/system/SysDepartBoundaryMapper.xml @@ -154,7 +154,8 @@ 'deptId', l.dept_id, 'deptName', l.dept_name, 'name', l.name_path, - 'community_name', l.name_path + 'community_name', l.name_path, + 'areaType',l.area_type ), 'geometry', ST_AsGeoJSON(l.boundary) @@ -167,7 +168,10 @@ sys_depart_boundary l LEFT JOIN sys_dept d ON l.dept_id = d.dept_id WHERE - d.dept_id = #{deptId} + d.dept_id in + + #{item} +