785834757 před 1 rokem
rodič
revize
6635d4e516

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/dto/SysDeptParam.java

@@ -10,4 +10,7 @@ public class SysDeptParam {
     /** 用户信息搜索值 */
     /** 用户信息搜索值 */
     @Schema(description = "系统code")
     @Schema(description = "系统code")
     private String sysCode;
     private String sysCode;
+
+    @Schema(description = "搜索名称")
+    private String name;
 }
 }

+ 1 - 2
commons/src/main/java/com/jzg/commons/entity/vo/SysSystemPermsVo.java

@@ -14,11 +14,10 @@ public class SysSystemPermsVo {
     @Schema(description = "系统code")
     @Schema(description = "系统code")
     private String systemCode;
     private String systemCode;
 
 
-    @NotBlank(message = "权限列表不能为空")
     @Schema(description = "权限列表")
     @Schema(description = "权限列表")
     private List<PermsVo> perms;
     private List<PermsVo> perms;
 
 
-    @NotBlank(message = "权限列表json不能为空")
+    @NotBlank(message = "权限列表不能为空")
     @Schema(description = "权限列表json")
     @Schema(description = "权限列表json")
     private String permsStr;
     private String permsStr;
 
 

+ 6 - 0
platform/src/main/java/com/jzg/controller/EsmInsCompanyController.java

@@ -90,6 +90,12 @@ public class EsmInsCompanyController extends BaseController {
         lqw.eq(EsmInsCompany::getCompanyCode, companyAdd.getCompanyCode());
         lqw.eq(EsmInsCompany::getCompanyCode, companyAdd.getCompanyCode());
         AssertionUtils.isFail(esmInsCompanyService.count(lqw) > 0, "供应商编码重复");
         AssertionUtils.isFail(esmInsCompanyService.count(lqw) > 0, "供应商编码重复");
         EsmInsCompany esmInsCompany = BeanUtil.copyProperties(companyAdd, EsmInsCompany.class);
         EsmInsCompany esmInsCompany = BeanUtil.copyProperties(companyAdd, EsmInsCompany.class);
+        //如果存在父类型则将type
+        if(!companyAdd.getParentId().equals("0")){
+            EsmInsCompany parent = esmInsCompanyService.getById(companyAdd.getParentId());
+            AssertionUtils.isEmpty(parent,"父级机构不存在");
+            esmInsCompany.setType(parent.getType());
+        }
         return esmInsCompanyService.save(esmInsCompany) ?HttpResult.ok("保存成功") : HttpResult.error("保存失败");
         return esmInsCompanyService.save(esmInsCompany) ?HttpResult.ok("保存成功") : HttpResult.error("保存失败");
     }
     }
 
 

+ 2 - 1
platform/src/main/java/com/jzg/controller/SysSystemController.java

@@ -19,6 +19,7 @@ import com.jzg.service.SysSystemService;
 import com.jzg.service.SysUserService;
 import com.jzg.service.SysUserService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.validation.Valid;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
@@ -74,7 +75,7 @@ public class SysSystemController {
      */
      */
     @PostMapping("/updatePerms")
     @PostMapping("/updatePerms")
     @Operation(summary = "修改租户权限")
     @Operation(summary = "修改租户权限")
-    public HttpResult updatePerms(@RequestBody SysSystemPermsVo sysSystemPermsVo){
+    public HttpResult updatePerms(@RequestBody @Valid SysSystemPermsVo sysSystemPermsVo){
         return sysSystemService.updatePerms(sysSystemPermsVo) ?
         return sysSystemService.updatePerms(sysSystemPermsVo) ?
                 HttpResult.ok("修改租户权限成功") :
                 HttpResult.ok("修改租户权限成功") :
                 HttpResult.error("修改租户权限失败");
                 HttpResult.error("修改租户权限失败");

+ 1 - 1
platform/src/main/java/com/jzg/service/impl/JyxConfigServiceImpl.java

@@ -60,7 +60,7 @@ public class JyxConfigServiceImpl extends ServiceImpl<JyxConfigMapper, JyxConfig
     public HttpResult saveAll(JyxConfigAdd configAdd) {
     public HttpResult saveAll(JyxConfigAdd configAdd) {
         try {
         try {
             AssertionUtils.isFail(Optional.ofNullable(baseMapper.selectOne(new LambdaQueryWrapper<JyxConfig>().eq(JyxConfig::getProductCode, configAdd.getProductCode())
             AssertionUtils.isFail(Optional.ofNullable(baseMapper.selectOne(new LambdaQueryWrapper<JyxConfig>().eq(JyxConfig::getProductCode, configAdd.getProductCode())
-                    .eq(JyxConfig::getIsDelete, Constants.NOT_DELETED))).isEmpty(), "产品编码重复");
+                    .eq(JyxConfig::getIsDelete, Constants.NOT_DELETED))).isPresent(), "产品编码重复");
             if (StringUtils.isEmpty(configAdd.getParentId())){
             if (StringUtils.isEmpty(configAdd.getParentId())){
                 configAdd.setParentId(Constants.DEFAULT_PARENT_ID);
                 configAdd.setParentId(Constants.DEFAULT_PARENT_ID);
             }else {
             }else {

+ 7 - 0
platform/src/main/java/com/jzg/service/impl/SysSystemServiceImpl.java

@@ -412,6 +412,13 @@ public class SysSystemServiceImpl extends ServiceImpl<SysSystemMapper, SysSystem
             sysUser = userList.get(0);
             sysUser = userList.get(0);
             sysUser.setUsername(param.getUserName());
             sysUser.setUsername(param.getUserName());
             sysUserMapper.updateById(sysUser);
             sysUserMapper.updateById(sysUser);
+            //修改顶级机构
+            SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>()
+                    .eq(SysDept::getSystemCode, sysSystem.getSysCode())
+                    .eq(SysDept::getParentId, "0"));
+            sysDept.setName(param.getSysName());
+            sysDeptMapper.updateById(sysDept);
+
         }else{
         }else{
             // 新增管理员用户
             // 新增管理员用户
             sysUser = new SysUser(param);
             sysUser = new SysUser(param);

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/mapper/SysDeptMapper.java

@@ -22,5 +22,5 @@ public interface SysDeptMapper extends BaseMapper<SysDept> {
      */
      */
     List<SysDept> selectDeptList(@Param(Constants.WRAPPER) Wrapper<SysDept> queryWrapper);
     List<SysDept> selectDeptList(@Param(Constants.WRAPPER) Wrapper<SysDept> queryWrapper);
 
 
-    List<SysDept> selectDeptVoList(@Param("deptId")String deptId,@Param("sysCode")String sysCode);
+    List<SysDept> selectDeptVoList(@Param("deptId")String deptId,@Param("sysCode")String sysCode,@Param("name")String name);
 }
 }

+ 42 - 47
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysDeptServiceImpl.java

@@ -152,59 +152,54 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
 
 
     @Override
     @Override
     public List<SysDeptVo> getDeptTree(String deptId, SysDeptParam param) {
     public List<SysDeptVo> getDeptTree(String deptId, SysDeptParam param) {
-        if(Objects.isNull(deptId)){
-            deptId = "";
-        }
-        String sysCode = param.getSysCode();
-        String userSystemCode = null;
-        if (StringUtils.isEmpty(sysCode)){
-            userSystemCode = baseController.getUserSystemCode();
-        }else{
-            userSystemCode = sysCode;
-        }
+        deptId = Objects.toString(deptId, "");
+
+        String userSystemCode = Optional.ofNullable(param.getSysCode())
+                .filter(StringUtils::isNotEmpty)
+                .orElseGet(baseController::getUserSystemCode);
+
         SysSystem bySysCode = sysSystemService.getBySysCode(userSystemCode);
         SysSystem bySysCode = sysSystemService.getBySysCode(userSystemCode);
-        List<SysDeptVo> sysDepts = new ArrayList<>();
         SysDept sysDept = getById(deptId);
         SysDept sysDept = getById(deptId);
-        SysDeptVo sysDeptVo = new SysDeptVo(sysDept);
 
 
-        List<SysDept> depts = baseMapper.selectDeptVoList(deptId, userSystemCode);
-        List<SysDeptVo> voDept = new ArrayList<>();
-        depts.forEach(item->{
-            SysDeptVo sysDeptv = new SysDeptVo(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() + "-";
-            }
-            if(!areaString.isEmpty()) {
-                sysDeptv.setDivision(areaString.substring(0, areaString.length() - 1));
-            }
-            if(!Objects.isNull(item.getLeaderId())){
-                SysUserJzgInfo userByUserId = sysUserJzgInfoService.getUserByUserId(item.getLeaderId());
-                if(!Objects.isNull(userByUserId)){
-                    sysDeptv.setLeaderName(userByUserId.getName());
-                }
-            }
-            voDept.add(sysDeptv);
-        });
-
-        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)) {
-            sysDepts = map.get(sysDeptVo.getParentId());
-        }else{
-            sysDepts = map.get("0");
-        }
-        List<SysDeptVo> newResultDept = new ArrayList<>();
-        newResultDept.addAll(sysDepts);
-        return newResultDept;
+        List<SysDeptVo> voDept = baseMapper.selectDeptVoList(deptId, userSystemCode, param.getName())
+                .stream()
+                .map(item -> {
+                    SysDeptVo sysDeptVo = new SysDeptVo(item);
+
+                    // 获取区域信息
+                    List<String> areas = Arrays.asList(item.getProvince(), item.getCity(), item.getArea());
+                    String areaString = sysAreaService.queryAllByAreaCode(areas).stream()
+                            .map(SysArea::getAreaCname)
+                            .collect(Collectors.joining("-"));
+
+                    if (StringUtils.isNotEmpty(areaString)) {
+                        sysDeptVo.setDivision(areaString);
+                    }
+
+                    // 设置负责人信息
+                    Optional.ofNullable(item.getLeaderId())
+                            .map(sysUserJzgInfoService::getUserByUserId)
+                            .map(SysUserJzgInfo::getName)
+                            .ifPresent(sysDeptVo::setLeaderName);
+
+                    return sysDeptVo;
+                })
+                .collect(Collectors.toList());
+
+        // 按父ID分组
+        Map<String, List<SysDeptVo>> deptMap = voDept.stream()
+                .collect(Collectors.groupingBy(SysDeptVo::getParentId));
+
+        // 设置子部门
+        voDept.forEach(dept -> dept.setChildren(deptMap.getOrDefault(dept.getId(), new ArrayList<>())));
+
+        return Optional.ofNullable(sysDept)
+                .map(d -> deptMap.get(d.getParentId()))
+                .orElseGet(() -> deptMap.getOrDefault("0", new ArrayList<>()));
     }
     }
 
 
 
 
+
     @Override
     @Override
     public boolean setDeptLeader(DeptLeaderVo deptLeaderVo) {
     public boolean setDeptLeader(DeptLeaderVo deptLeaderVo) {
         List<SysDept> depts = this.list(new LambdaQueryWrapper<SysDept>()
         List<SysDept> depts = this.list(new LambdaQueryWrapper<SysDept>()

+ 3 - 0
tenant/organization/src/main/resources/mapper/SysDeptMapper.xml

@@ -37,6 +37,9 @@
 
 
                 and route like CONCAT('%',#{deptId}, '%')
                 and route like CONCAT('%',#{deptId}, '%')
             </if>
             </if>
+            <if test="name!=null and name!=''">
+                and sd.name like CONCAT('%',#{name}, '%')
+            </if>
 
 
         GROUP BY
         GROUP BY
             sd.id
             sd.id