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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
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.constant.CacheConstant;
|
||||
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.query.QueryGenerator;
|
||||
import com.jero.common.system.util.JwtUtil;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.system.vo.SysDepartTreeModel;
|
||||
import com.jero.common.util.FillRuleUtil;
|
||||
import com.jero.common.util.ImportExcelUtil;
|
||||
import com.jero.common.util.YouBianCodeUtil;
|
||||
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 lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
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.text.CharSequenceUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.bamboocloud.codec.BamboocloudFacade;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.common.constant.FillRuleConstant;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.DateUtils;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.UUIDGenerator;
|
||||
import com.jero.common.util.UUIDUtils;
|
||||
import com.jero.common.util.*;
|
||||
import com.jero.modules.docking.iam.annotation.IamProperty;
|
||||
import com.jero.modules.docking.iam.dto.IamCommonAcceptDto;
|
||||
import com.jero.modules.docking.iam.dto.IamOrgAcceptDto;
|
||||
@@ -375,6 +374,11 @@ public class SyncIamService {
|
||||
SysDepart sysDepart = new SysDepart();
|
||||
sysDepart.setId(orgAcceptDto.getSrmsOrgCode());
|
||||
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.setDepartOrder(100); // 接入数据无排序,都设置为100
|
||||
|
||||
|
||||
Reference in New Issue
Block a user