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());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑数据 编辑部门的部分数据,并保存到数据库
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user