更新删除部门需要判断是否有下级部门

This commit is contained in:
panshuling321 2022-09-27 14:49:46 +08:00
parent 056e8a59ce
commit 94ae833b82
3 changed files with 19 additions and 4 deletions

View File

@ -23,4 +23,6 @@ public interface XhpcWorkDeptMapper {
int updateByPrimaryKey(XhpcWorkDeptDomain record); int updateByPrimaryKey(XhpcWorkDeptDomain record);
int updateStatusByPrimaryKey(XhpcWorkDeptDomain record); int updateStatusByPrimaryKey(XhpcWorkDeptDomain record);
List<XhpcWorkDeptDomain> selectListByParentDeptId(@Param("parentDeptId") Long parentDeptId);
} }

View File

@ -34,7 +34,7 @@ public class WorkDeptServiceImpl implements WorkDeptService {
public List<Map<String, Object>> getList(Map<String, Object> params){ public List<Map<String, Object>> getList(Map<String, Object> params){
List<Map<String, Object>> deptList = deptMapper.selectMapListByParams(params); List<Map<String, Object>> deptList = deptMapper.selectMapListByParams(params);
for (Map<String, Object> dept: deptList){ for (Map<String, Object> dept: deptList){
params.put("parentDeptId", dept.get("id")); params.put("parentDeptId", dept.get("id").toString().replaceAll("d_", ""));
List<Map<String,Object>> childDeptList = deptMapper.selectMapListByParams(params); List<Map<String,Object>> childDeptList = deptMapper.selectMapListByParams(params);
dept.put("children", childDeptList); dept.put("children", childDeptList);
} }
@ -45,13 +45,13 @@ public class WorkDeptServiceImpl implements WorkDeptService {
public List<Map<String, Object>> getTree(Map<String, Object> params){ public List<Map<String, Object>> getTree(Map<String, Object> params){
List<Map<String, Object>> deptList = deptMapper.selectMapListByParams(params); List<Map<String, Object>> deptList = deptMapper.selectMapListByParams(params);
for (Map<String, Object> dept: deptList){ for (Map<String, Object> dept: deptList){
params.put("parentDeptId", dept.get("id")); params.put("parentDeptId", dept.get("id").toString().replaceAll("d_", ""));
List<Map<String,Object>> childDeptList = deptMapper.selectMapListByParams(params); List<Map<String,Object>> childDeptList = deptMapper.selectMapListByParams(params);
if(childDeptList.size() > 0){ if(childDeptList.size() > 0){
dept.put("children", childDeptList); dept.put("children", childDeptList);
} }
for (Map<String, Object> childMap: childDeptList){ for (Map<String, Object> childMap: childDeptList){
params.put("parentDeptId", childMap.get("id")); params.put("parentDeptId", childMap.get("id").toString().replaceAll("d_", ""));
List<Map<String,Object>> childDeptList1 = deptMapper.selectMapListByParams(params); List<Map<String,Object>> childDeptList1 = deptMapper.selectMapListByParams(params);
if(childDeptList1.size() > 0){ if(childDeptList1.size() > 0){
childMap.put("children", childDeptList1); childMap.put("children", childDeptList1);
@ -97,6 +97,11 @@ public class WorkDeptServiceImpl implements WorkDeptService {
@Override @Override
public Boolean deleteDomain(Long deptId){ public Boolean deleteDomain(Long deptId){
List<XhpcWorkDeptDomain> domainList = deptMapper.selectListByParentDeptId(deptId);
if (domainList.size() > 0){
throw new CustomException("存在下级部门");
}
return deptMapper.deleteLogicByPrimaryKey(deptId) > 0; return deptMapper.deleteLogicByPrimaryKey(deptId) > 0;
} }
} }

View File

@ -100,6 +100,14 @@
</select> </select>
<select id="selectListByParentDeptId" resultType="com.xhpc.activity.domain.XhpcWorkDeptDomain">
select
<include refid="Base_Column_List" />
from xhpc_work_dept
where del_flag = 0 and parent_dept_id=#{parentDeptId}
</select>
<update id="deleteLogicByPrimaryKey" parameterType="java.lang.Long"> <update id="deleteLogicByPrimaryKey" parameterType="java.lang.Long">
update xhpc_work_dept set del_flag=2 update xhpc_work_dept set del_flag=2
where work_dept_id = #{workDeptId,jdbcType=BIGINT} where work_dept_id = #{workDeptId,jdbcType=BIGINT}