diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/AreaController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/AreaController.java index ae117061f..13fa20b79 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/AreaController.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/AreaController.java @@ -288,5 +288,25 @@ public class AreaController extends BaseController { List result = areaService.areaSelect(); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + + /** + * 获取指定区域父级的子级区域集合 + * @author cdf + * @date 2023/10/25 + */ + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @PostMapping("/getPidAreaList") + @ApiOperation("获取指定区域父级的子级区域集合") + @ApiImplicitParams({ + @ApiImplicitParam(name = "areaId",value = "区域id"), + @ApiImplicitParam(name = "type", value = "区域类型", required = true) + }) + public HttpResult> getPidAreaList(@RequestParam("areaId")String areaId , @RequestParam("type") Integer type) { + String methodDescribe = getMethodDescribe("getPidAreaList"); + List result = areaService.getPidAreaList(areaId,type); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IAreaService.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IAreaService.java index 3bba90bba..f8ee9ab4e 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IAreaService.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IAreaService.java @@ -104,12 +104,14 @@ public interface IAreaService extends IService { * @return 行政区域详情 */ Area selectAreaByName(String name); - /** - * @Description: areaSelect - * @Param: [] - * @return: java.util.List + /** + * @Description: areaSelect + * @Param: [] + * @return: java.util.List * @Author: clam - * @Date: 2023/4/11 - */ + * @Date: 2023/4/11 + */ List areaSelect(); + + List getPidAreaList(String areaId,Integer type); } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/AreaServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/AreaServiceImpl.java index 8d307beea..6b56c5db8 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/AreaServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/AreaServiceImpl.java @@ -25,6 +25,7 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -213,7 +214,7 @@ public class AreaServiceImpl extends ServiceImpl implements IA area = areaPro(id, type); } return area; - } + } @Override public Area areaDeptPro(String id) { @@ -295,4 +296,22 @@ public class AreaServiceImpl extends ServiceImpl implements IA return collect; } + @Override + public List getPidAreaList(String areaId, Integer type) { + List result = new ArrayList<>(); + Area area = this.getById(areaId); + if(Objects.isNull(area)){ + return result; + } + if(area.getPid().equals("-1")){ + result.add(area); + }else { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(Area::getPid,area.getPid()) + .eq(Area::getState,DataStateEnum.ENABLE.getCode()).eq(Area::getType,type).orderByAsc(Area::getAreaCode); + result = this.list(lambdaQueryWrapper); + } + return result; + } + } diff --git a/pqs-user/user-boot/Dockerfile b/pqs-user/user-boot/Dockerfile index eab80a4bc..ff8d135a6 100644 --- a/pqs-user/user-boot/Dockerfile +++ b/pqs-user/user-boot/Dockerfile @@ -1,12 +1,5 @@ -FROM eclipse-temurin:8-jdk-centos7 -MAINTAINER hongawen_13914774158@163.com -ENV JAVA_OPTS="-Xms1024m -Xmx1024m" -# 挂载时区的目录 -VOLUME /usr/share/zoneinfo -# 设置时区为上海 -ENV TZ=Asia/Shanghai -# 设置时区信息 -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone +FROM openjdk:8-jdk-alpine ADD target/userboot.jar userboot.jar -ENTRYPOINT java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /userboot.jar -EXPOSE 10201 \ No newline at end of file +ENTRYPOINT ["java","-jar","/userboot.jar"] +EXPOSE 10201 +RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/DeptController.java b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/DeptController.java index e25136150..c50907796 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/DeptController.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/DeptController.java @@ -11,6 +11,7 @@ import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.LogUtil; import com.njcn.system.pojo.dto.AreaTreeDTO; +import com.njcn.system.pojo.po.Area; import com.njcn.user.pojo.dto.DeptDTO; import com.njcn.user.pojo.param.DeptParam; import com.njcn.user.pojo.po.Dept; @@ -80,6 +81,29 @@ public class DeptController extends BaseController { } } + /** + * 根据部门区域id获取父级部门下级所有区域 + * @author cdf + * @date 2023/10/25 + */ + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @PostMapping("/getPidAreaByAreaId") + @ApiOperation("查询区域树") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id",value = "区域id"), + @ApiImplicitParam(name = "type", value = "区域类型", required = true) + }) + public HttpResult> getPidAreaByAreaId(@RequestParam(required = false)@ApiParam("id")String id , @RequestParam("type") Integer type) { + String methodDescribe = getMethodDescribe("getAreaTree"); + List result = deptService.getPidAreaByAreaId(id,type); + if (!result.isEmpty()) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } else { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, methodDescribe); + } + } + + /** * 新增部门 * @@ -166,7 +190,6 @@ public class DeptController extends BaseController { if (!result.isEmpty()) { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } else { - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); } } diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/IDeptService.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/IDeptService.java index da91d9f1f..0afe869f0 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/IDeptService.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/IDeptService.java @@ -3,6 +3,7 @@ package com.njcn.user.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.system.pojo.dto.AreaTreeDTO; +import com.njcn.system.pojo.po.Area; import com.njcn.user.pojo.dto.DeptDTO; import com.njcn.user.pojo.param.DeptParam; import com.njcn.user.pojo.po.Dept; @@ -82,6 +83,9 @@ public interface IDeptService extends IService { */ List getAreaTree(String id, Integer type); + List getPidAreaByAreaId(String id, Integer type); + + /** * 获取省份ids * @param ids ids diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java index f5d04e0fd..ee2696bbc 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/DeptServiceImpl.java @@ -16,6 +16,7 @@ import com.njcn.device.biz.commApi.CommLedgerDeptClient; import com.njcn.device.pq.api.DeptLineFeignClient; import com.njcn.system.api.AreaFeignClient; import com.njcn.system.pojo.dto.AreaTreeDTO; +import com.njcn.system.pojo.po.Area; import com.njcn.user.enums.UserResponseEnum; import com.njcn.user.enums.UserStatusEnum; import com.njcn.user.mapper.DeptMapper; @@ -212,6 +213,19 @@ public class DeptServiceImpl extends ServiceImpl implements ID return list; } + + @Override + public List getPidAreaByAreaId(String id, Integer type) { + List deptBindAreaList = deptArea(); + List areaList = areaFeignClient.getPidAreaList(id, type).getData(); + areaList = areaList.stream().peek(item->{ + if(deptBindAreaList.contains(item.getId())){ + item.setName(item.getName() + "(已被绑定)"); + } + }).collect(Collectors.toList()); + return areaList; + } + @Override public boolean selectPid(List ids) { /**