fix(部门): org_code问题修复
This commit is contained in:
+42
@@ -3,14 +3,17 @@ package com.jero.modules.system.controller;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.jero.common.api.vo.Result;
|
import com.jero.common.api.vo.Result;
|
||||||
import com.jero.common.constant.CacheConstant;
|
import com.jero.common.constant.CacheConstant;
|
||||||
import com.jero.common.constant.CommonConstant;
|
import com.jero.common.constant.CommonConstant;
|
||||||
|
import com.jero.common.constant.FillRuleConstant;
|
||||||
import com.jero.common.system.base.controller.JeroController;
|
import com.jero.common.system.base.controller.JeroController;
|
||||||
import com.jero.common.system.query.QueryGenerator;
|
import com.jero.common.system.query.QueryGenerator;
|
||||||
import com.jero.common.system.util.JwtUtil;
|
import com.jero.common.system.util.JwtUtil;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.common.system.vo.SysDepartTreeModel;
|
import com.jero.common.system.vo.SysDepartTreeModel;
|
||||||
|
import com.jero.common.util.FillRuleUtil;
|
||||||
import com.jero.common.util.ImportExcelUtil;
|
import com.jero.common.util.ImportExcelUtil;
|
||||||
import com.jero.common.util.YouBianCodeUtil;
|
import com.jero.common.util.YouBianCodeUtil;
|
||||||
import com.jero.common.util.oConvertUtils;
|
import com.jero.common.util.oConvertUtils;
|
||||||
@@ -22,6 +25,7 @@ import com.jero.modules.system.service.ISysUserDepartService;
|
|||||||
import com.jero.modules.system.service.ISysUserService;
|
import com.jero.modules.system.service.ISysUserService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.poi.ss.formula.functions.T;
|
||||||
import org.apache.shiro.SecurityUtils;
|
import org.apache.shiro.SecurityUtils;
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||||
@@ -180,6 +184,44 @@ public class SysDepartController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 刷新OrgCode层级关系
|
||||||
|
* 先把数据库org_code字段设置允许为空,删除org_code唯一索引,
|
||||||
|
* 保留根目录org_code='A01',更新其它org_code为null
|
||||||
|
* 更新完成后重新设置约束和唯一索引
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/refreshOrgCode")
|
||||||
|
public Result<T> refreshOrgCode() {
|
||||||
|
SysDepart sysDepart = sysDepartService.getOne(
|
||||||
|
new LambdaQueryWrapper<SysDepart>()
|
||||||
|
.eq(SysDepart::getId, "0")
|
||||||
|
.eq(SysDepart::getDelFlag, "0"));
|
||||||
|
if (!Objects.isNull(sysDepart)){
|
||||||
|
recursion(sysDepart.getId());
|
||||||
|
}
|
||||||
|
return Result.OK("操作成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void recursion(String id) {
|
||||||
|
List<SysDepart> list = sysDepartService.list(
|
||||||
|
new LambdaQueryWrapper<SysDepart>()
|
||||||
|
.eq(SysDepart::getParentId, id));
|
||||||
|
for (SysDepart sysDepart : list) {
|
||||||
|
// 生成orgCode
|
||||||
|
JSONObject formData = new JSONObject();
|
||||||
|
formData.put("parentId", sysDepart.getParentId());
|
||||||
|
String[] codeArray = (String[]) FillRuleUtil.executeRule(FillRuleConstant.DEPART, formData);
|
||||||
|
sysDepartService.update(new LambdaUpdateWrapper<SysDepart>()
|
||||||
|
.eq(SysDepart::getId, sysDepart.getId())
|
||||||
|
.eq(SysDepart::getDelFlag, "0")
|
||||||
|
.set(SysDepart::getOrgCode, codeArray[0]));
|
||||||
|
log.info("===========" + sysDepart.getDepartName() + codeArray[0]);
|
||||||
|
// 递归
|
||||||
|
recursion(sysDepart.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 编辑数据 编辑部门的部分数据,并保存到数据库
|
* 编辑数据 编辑部门的部分数据,并保存到数据库
|
||||||
*
|
*
|
||||||
|
|||||||
+8
-4
@@ -4,18 +4,17 @@ import cn.hutool.core.date.DatePattern;
|
|||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.text.CharSequenceUtil;
|
import cn.hutool.core.text.CharSequenceUtil;
|
||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.bamboocloud.codec.BamboocloudFacade;
|
import com.bamboocloud.codec.BamboocloudFacade;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
import com.jero.common.constant.CommonConstant;
|
import com.jero.common.constant.CommonConstant;
|
||||||
|
import com.jero.common.constant.FillRuleConstant;
|
||||||
import com.jero.common.system.api.ISysBaseAPI;
|
import com.jero.common.system.api.ISysBaseAPI;
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.common.util.DateUtils;
|
import com.jero.common.util.*;
|
||||||
import com.jero.common.util.PasswordUtil;
|
|
||||||
import com.jero.common.util.UUIDGenerator;
|
|
||||||
import com.jero.common.util.UUIDUtils;
|
|
||||||
import com.jero.modules.docking.iam.annotation.IamProperty;
|
import com.jero.modules.docking.iam.annotation.IamProperty;
|
||||||
import com.jero.modules.docking.iam.dto.IamCommonAcceptDto;
|
import com.jero.modules.docking.iam.dto.IamCommonAcceptDto;
|
||||||
import com.jero.modules.docking.iam.dto.IamOrgAcceptDto;
|
import com.jero.modules.docking.iam.dto.IamOrgAcceptDto;
|
||||||
@@ -375,6 +374,11 @@ public class SyncIamService {
|
|||||||
SysDepart sysDepart = new SysDepart();
|
SysDepart sysDepart = new SysDepart();
|
||||||
sysDepart.setId(orgAcceptDto.getSrmsOrgCode());
|
sysDepart.setId(orgAcceptDto.getSrmsOrgCode());
|
||||||
sysDepart.setParentId(orgAcceptDto.getSrmsParentCode());
|
sysDepart.setParentId(orgAcceptDto.getSrmsParentCode());
|
||||||
|
// 生成orgCode
|
||||||
|
JSONObject formData = new JSONObject();
|
||||||
|
formData.put("parentId", orgAcceptDto.getSrmsParentCode());
|
||||||
|
String[] codeArray = (String[]) FillRuleUtil.executeRule(FillRuleConstant.DEPART, formData);
|
||||||
|
sysDepart.setOrgCode(codeArray[0]);
|
||||||
sysDepart.setDepartName(orgAcceptDto.getSrmsDepartName());
|
sysDepart.setDepartName(orgAcceptDto.getSrmsDepartName());
|
||||||
sysDepart.setDepartOrder(100); // 接入数据无排序,都设置为100
|
sysDepart.setDepartOrder(100); // 接入数据无排序,都设置为100
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user