Sfoglia il codice sorgente

机构添加区划信息

785834757 1 anno fa
parent
commit
b0f14542c0

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/vo/SysDeptVo.java

@@ -57,6 +57,9 @@ public class SysDeptVo implements Serializable {
     @Schema(description = "区县")
     private String area;
 
+    @Schema(description = "区划信息")
+    private String division;
+
     /** 系统code */
     @Schema(description = "系统code")
     private String systemCode;

+ 7 - 1
tenant/organization/src/main/java/com/jzg/organization/controller/DeptController.java

@@ -2,14 +2,17 @@ package com.jzg.organization.controller;
 
 import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.po.SysArea;
 import com.jzg.commons.entity.po.SysDept;
+import com.jzg.commons.entity.vo.SysAreaVo;
 import com.jzg.commons.entity.vo.SysDeptVo;
 import com.jzg.commons.util.StringUtils;
+import com.jzg.organization.service.SysAreaService;
 import com.jzg.organization.service.SysDeptService;
 import io.swagger.v3.oas.annotations.Operation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
-
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -21,6 +24,9 @@ public class DeptController extends BaseController {
     @Autowired
     private SysDeptService sysDeptService;
 
+    @Autowired
+    private SysAreaService sysAreaService;
+
     @Operation(summary = "新增机构接口", description = "新增机构接口")
     @PostMapping(value = "/add")
     public HttpResult<Boolean> addDept(@RequestBody SysDeptVo sysDeptVo) {

+ 7 - 0
tenant/organization/src/main/java/com/jzg/organization/service/SysAreaService.java

@@ -32,5 +32,12 @@ public interface SysAreaService extends IService<SysArea> {
      */
     List<SysArea> queryAllParent(SysArea sysArea);
 
+    /**
+     * 根据区域编码数组查询数据  按照 level 排序
+     * @param areaCodes
+     * @return
+     */
+    List<SysArea> queryAllByAreaCode(List<String> areaCodes);
+
 
 }

+ 8 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysAreaServiceImpl.java

@@ -48,6 +48,14 @@ public class SysAreaServiceImpl extends ServiceImpl<SysAreaMapper, SysArea> impl
         return list;
     }
 
+    @Override
+    public List<SysArea> queryAllByAreaCode(List<String> areaCodes) {
+        List<SysArea> sysAreas = baseMapper.selectList(new LambdaQueryWrapper<SysArea>()
+                .in(SysArea::getAreaCode, areaCodes)
+                .orderByAsc(SysArea::getLevel));
+        return sysAreas;
+    }
+
 }
 
 

+ 20 - 0
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysDeptServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
+import com.jzg.commons.entity.po.SysArea;
 import com.jzg.commons.entity.po.SysDept;
 import com.jzg.commons.entity.po.SysSystem;
 import com.jzg.commons.entity.vo.SysUserVo;
@@ -12,6 +13,7 @@ import com.jzg.commons.util.StringUtils;
 import com.jzg.commons.util.idgen.IdGenerate;
 import com.jzg.commons.entity.vo.SysDeptVo;
 import com.jzg.organization.mapper.SysDeptMapper;
+import com.jzg.organization.service.SysAreaService;
 import com.jzg.organization.service.SysDeptService;
 import com.jzg.organization.service.SysSystemService;
 import com.jzg.organization.service.SysUserService;
@@ -38,6 +40,9 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
     @Autowired
     private SysUserService userService;
 
+    @Autowired
+    private SysAreaService sysAreaService;
+
     private void validateDept(SysDeptVo sysDeptVo,boolean isAdd){
         if(isAdd){
             if(this.count(new LambdaQueryWrapper<SysDept>()
@@ -177,6 +182,21 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
             SysDeptVo sysDeptv = new SysDeptVo(item);
             voDept.add(sysDeptv);
         });
+
+        voDept.forEach(item->{
+            List<String> areas = new ArrayList<>();
+            areas.add(item.getProvince());
+            areas.add(item.getCity());
+            areas.add(item.getArea());
+            List<SysArea> sysAreaVos = sysAreaService.queryAllByAreaCode(areas);
+            String areaString = "";
+            for(int i=0;i<sysAreaVos.size();i++){
+                areaString = areaString + sysAreaVos.get(i).getAreaCname() + "-";
+            }
+
+            item.setDivision(areaString.substring(0,areaString.length()-1));
+        });
+
         Map<String, List<SysDeptVo>> map = voDept.stream().collect(Collectors.groupingBy(SysDeptVo::getParentId));
         voDept.forEach(i -> i.setChildren(map.getOrDefault(i.getId(), new ArrayList<>())));
         if(!Objects.isNull(sysDept)) {