【fix sonar】 SysDepartServiceImpl.java文件

This commit is contained in:
tianwenbo
2023-03-07 10:25:31 +08:00
parent 4cd33fd61a
commit e6fdfdfafb
@@ -52,8 +52,12 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
@Override @Override
public List<SysDepartTreeModel> queryMyDeptTreeList(String departIds) { public List<SysDepartTreeModel> queryMyDeptTreeList(String departIds) {
//根据部门id获取所负责部门 //根据部门id获取所负责部门
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>(); LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<>();
String[] codeArr = this.getMyDeptParentOrgCode(departIds); String[] codeArr = this.getMyDeptParentOrgCode(departIds);
if(codeArr == null){
//防止出现空指针
codeArr = new String[0];
}
for(int i=0;i<codeArr.length;i++){ for(int i=0;i<codeArr.length;i++){
query.or().likeRight(SysDepart::getOrgCode,codeArr[i]); query.or().likeRight(SysDepart::getOrgCode,codeArr[i]);
} }
@@ -69,8 +73,8 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
} }
} }
// 调用wrapTreeDataToTreeList方法生成树状数据 // 调用wrapTreeDataToTreeList方法生成树状数据
List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(listDepts); // List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(listDepts);
return listResult; return FindsDepartsChildrenUtil.wrapTreeDataToTreeList(listDepts);
} }
/** /**
@@ -79,25 +83,25 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
@Cacheable(value = CacheConstant.SYS_DEPARTS_CACHE) @Cacheable(value = CacheConstant.SYS_DEPARTS_CACHE)
@Override @Override
public List<SysDepartTreeModel> queryTreeList() { public List<SysDepartTreeModel> queryTreeList() {
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>(); LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<>();
query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()); query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
query.orderByAsc(SysDepart::getDepartOrder); query.orderByAsc(SysDepart::getDepartOrder);
List<SysDepart> list = this.list(query); List<SysDepart> list = this.list(query);
// 调用wrapTreeDataToTreeList方法生成树状数据 // 调用wrapTreeDataToTreeList方法生成树状数据
List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(list); // List<SysDepartTreeModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToTreeList(list);
return listResult; return FindsDepartsChildrenUtil.wrapTreeDataToTreeList(list);
} }
@Cacheable(value = CacheConstant.SYS_DEPART_IDS_CACHE) @Cacheable(value = CacheConstant.SYS_DEPART_IDS_CACHE)
@Override @Override
public List<DepartIdModel> queryDepartIdTreeList() { public List<DepartIdModel> queryDepartIdTreeList() {
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>(); LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<>();
query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()); query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
query.orderByAsc(SysDepart::getDepartOrder); query.orderByAsc(SysDepart::getDepartOrder);
List<SysDepart> list = this.list(query); List<SysDepart> list = this.list(query);
// 调用wrapTreeDataToTreeList方法生成树状数据 // 调用wrapTreeDataToTreeList方法生成树状数据
List<DepartIdModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToDepartIdTreeList(list); // List<DepartIdModel> listResult = FindsDepartsChildrenUtil.wrapTreeDataToDepartIdTreeList(list);
return listResult; return FindsDepartsChildrenUtil.wrapTreeDataToDepartIdTreeList(list);
} }
/** /**
@@ -138,11 +142,11 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
*/ */
private String[] generateOrgCode(String parentId) { private String[] generateOrgCode(String parentId) {
//update-begin--Author:Steve Date:20190201 for:组织机构添加数据代码调整 //update-begin--Author:Steve Date:20190201 for:组织机构添加数据代码调整
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>(); LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<>();
LambdaQueryWrapper<SysDepart> query1 = new LambdaQueryWrapper<SysDepart>(); LambdaQueryWrapper<SysDepart> query1 = new LambdaQueryWrapper<>();
String[] strArray = new String[2]; String[] strArray = new String[2];
// 创建一个List集合,存储查询返回的所有SysDepart对象 // 创建一个List集合,存储查询返回的所有SysDepart对象
List<SysDepart> departList = new ArrayList<>(); List<SysDepart> departList ;
// 定义新编码字符串 // 定义新编码字符串
String newOrgCode = ""; String newOrgCode = "";
// 定义旧编码字符串 // 定义旧编码字符串
@@ -155,7 +159,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
query1.eq(SysDepart::getParentId, "").or().isNull(SysDepart::getParentId); query1.eq(SysDepart::getParentId, "").or().isNull(SysDepart::getParentId);
query1.orderByDesc(SysDepart::getOrgCode); query1.orderByDesc(SysDepart::getOrgCode);
departList = this.list(query1); departList = this.list(query1);
if(departList == null || departList.size() == 0) { if(departList == null || departList.isEmpty()) {
strArray[0] = YouBianCodeUtil.getNextYouBianCode(null); strArray[0] = YouBianCodeUtil.getNextYouBianCode(null);
strArray[1] = "1"; strArray[1] = "1";
return strArray; return strArray;
@@ -179,7 +183,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
// 根据父级部门类型算出当前部门的类型 // 根据父级部门类型算出当前部门的类型
orgType = String.valueOf(Integer.valueOf(depart.getOrgType()) + 1); orgType = String.valueOf(Integer.valueOf(depart.getOrgType()) + 1);
// 处理同级部门为null的情况 // 处理同级部门为null的情况
if (parentList == null || parentList.size() == 0) { if (parentList == null || parentList.isEmpty()) {
// 直接生成当前的部门编码并返回 // 直接生成当前的部门编码并返回
newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, null); newOrgCode = YouBianCodeUtil.getSubYouBianCode(parentCode, null);
} else { //处理有同级部门的情况 } else { //处理有同级部门的情况
@@ -216,7 +220,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void deleteBatchWithChildren(List<String> ids) { public void deleteBatchWithChildren(List<String> ids) {
List<String> idList = new ArrayList<String>(); List<String> idList = new ArrayList<>();
for(String id: ids) { for(String id: ids) {
idList.add(id); idList.add(id);
this.checkChildrenExists(id, idList); this.checkChildrenExists(id, idList);
@@ -254,7 +258,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
*/ */
@Override @Override
public List<SysDepartTreeModel> searhBy(String keyWord,String myDeptSearch,String departIds) { public List<SysDepartTreeModel> searhBy(String keyWord,String myDeptSearch,String departIds) {
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>(); LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<>();
List<SysDepartTreeModel> newList = new ArrayList<>(); List<SysDepartTreeModel> newList = new ArrayList<>();
//myDeptSearch不为空时为我的部门搜索,只搜索所负责部门 //myDeptSearch不为空时为我的部门搜索,只搜索所负责部门
if(!StringUtil.isNullOrEmpty(myDeptSearch)){ if(!StringUtil.isNullOrEmpty(myDeptSearch)){
@@ -264,6 +268,9 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
} }
//根据部门id获取所负责部门 //根据部门id获取所负责部门
String[] codeArr = this.getMyDeptParentOrgCode(departIds); String[] codeArr = this.getMyDeptParentOrgCode(departIds);
if(codeArr == null){
codeArr = new String[0];
}
for(int i=0;i<codeArr.length;i++){ for(int i=0;i<codeArr.length;i++){
query.or().likeRight(SysDepart::getOrgCode,codeArr[i]); query.or().likeRight(SysDepart::getOrgCode,codeArr[i]);
} }
@@ -271,9 +278,9 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
} }
query.like(SysDepart::getDepartName, keyWord); query.like(SysDepart::getDepartName, keyWord);
//update-begin--Author:huangzhilin Date:20140417 for[bugfree号]组织机构搜索回显优化-------------------- //update-begin--Author:huangzhilin Date:20140417 for[bugfree号]组织机构搜索回显优化--------------------
SysDepartTreeModel model = new SysDepartTreeModel(); SysDepartTreeModel model ;
List<SysDepart> departList = this.list(query); List<SysDepart> departList = this.list(query);
if(departList.size() > 0) { if(!departList.isEmpty()) {
for(SysDepart depart : departList) { for(SysDepart depart : departList) {
SysDepartTreeModel sysDepartTreeModel = new SysDepartTreeModel(); SysDepartTreeModel sysDepartTreeModel = new SysDepartTreeModel();
// 将sysDepart转换为sysDepartTreeModel // 将sysDepart转换为sysDepartTreeModel
@@ -333,7 +340,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
*/ */
private void deleteHeadDpetFromUserInfo(String id, List<SysUser> containParentDeptUser) { private void deleteHeadDpetFromUserInfo(String id, List<SysUser> containParentDeptUser) {
for (SysUser sysUser : containParentDeptUser) { for (SysUser sysUser : containParentDeptUser) {
List<String> headDepartList = new ArrayList<String>(Arrays.asList(sysUser.getDepartIds().split(","))); List<String> headDepartList = new ArrayList<>(Arrays.asList(sysUser.getDepartIds().split(",")));
// 遍历负责部门的list,如果存在本次删除id,则从list中移除 // 遍历负责部门的list,如果存在本次删除id,则从list中移除
int headDepartNum = headDepartList.size(); int headDepartNum = headDepartList.size();
for (int i = 0; i < headDepartNum; i++) { for (int i = 0; i < headDepartNum; i++) {
@@ -355,10 +362,10 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
* @param idList * @param idList
*/ */
private void checkChildrenExists(String id, List<String> idList) { private void checkChildrenExists(String id, List<String> idList) {
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>(); LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<>();
query.eq(SysDepart::getParentId,id); query.eq(SysDepart::getParentId,id);
List<SysDepart> departList = this.list(query); List<SysDepart> departList = this.list(query);
if(departList != null && departList.size() > 0) { if(departList != null && !departList.isEmpty()) {
for(SysDepart depart : departList) { for(SysDepart depart : departList) {
idList.add(depart.getId()); idList.add(depart.getId());
this.checkChildrenExists(depart.getId(), idList); this.checkChildrenExists(depart.getId(), idList);
@@ -383,18 +390,18 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
*/ */
private String[] getMyDeptParentOrgCode(String departIds){ private String[] getMyDeptParentOrgCode(String departIds){
//根据部门id查询所负责部门 //根据部门id查询所负责部门
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>(); LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<>();
query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()); query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
query.in(SysDepart::getId, Arrays.asList(departIds.split(","))); query.in(SysDepart::getId, Arrays.asList(departIds.split(",")));
query.orderByAsc(SysDepart::getOrgCode); query.orderByAsc(SysDepart::getOrgCode);
List<SysDepart> list = this.list(query); List<SysDepart> list = this.list(query);
//查找根部门 //查找根部门
if(list == null || list.size()==0){ if(list == null || list.isEmpty()){
return null; return null;
} }
String orgCode = this.getMyDeptParentNode(list); String orgCode = this.getMyDeptParentNode(list);
String[] codeArr = orgCode.split(","); // String[] codeArr = orgCode.split(",");
return codeArr; return orgCode.split(",");
} }
/** /**
@@ -446,7 +453,7 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart
*/ */
@Override @Override
public List<SysDepartTreeModel> queryTreeByKeyWord(String keyWord) { public List<SysDepartTreeModel> queryTreeByKeyWord(String keyWord) {
LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<SysDepart>(); LambdaQueryWrapper<SysDepart> query = new LambdaQueryWrapper<>();
query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString()); query.eq(SysDepart::getDelFlag, CommonConstant.DEL_FLAG_0.toString());
query.orderByAsc(SysDepart::getDepartOrder); query.orderByAsc(SysDepart::getDepartOrder);
List<SysDepart> list = this.list(query); List<SysDepart> list = this.list(query);