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