【fix sonar】 SysDepartServiceImpl.java文件
This commit is contained in:
+33
-26
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user