部门删除增加岗位验证逻辑

main
zhaokai 2025-11-19 11:34:34 +08:00
parent 94695d3187
commit f9cf3cda3a
3 changed files with 16 additions and 1 deletions

View File

@ -10,6 +10,7 @@ import com.zcloud.basic.info.domain.gateway.DepartmentSuperviseGateway;
import com.zcloud.basic.info.dto.clientobject.DepartmentCO; import com.zcloud.basic.info.dto.clientobject.DepartmentCO;
import com.zcloud.basic.info.persistence.dataobject.DepartmentDO; import com.zcloud.basic.info.persistence.dataobject.DepartmentDO;
import com.zcloud.basic.info.persistence.repository.DepartmentRepository; import com.zcloud.basic.info.persistence.repository.DepartmentRepository;
import com.zcloud.basic.info.persistence.repository.PostRepository;
import com.zcloud.basic.info.persistence.repository.UserRepository; import com.zcloud.basic.info.persistence.repository.UserRepository;
import com.zcloud.gbscommon.utils.Const; import com.zcloud.gbscommon.utils.Const;
import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.gbscommon.utils.PageQueryHelper;
@ -40,6 +41,7 @@ public class DepartmentRemoveExe {
private final DepartmentRepository departmentRepository; private final DepartmentRepository departmentRepository;
private final UserRepository userRepository; private final UserRepository userRepository;
private final DepartmentSuperviseGateway departmentSuperviseGateway; private final DepartmentSuperviseGateway departmentSuperviseGateway;
private final PostRepository postRepository;
@DubboReference @DubboReference
private DeptFacade deptFacade; private DeptFacade deptFacade;
// @Autowired // @Autowired
@ -58,7 +60,11 @@ public class DepartmentRemoveExe {
if(departmentCount>0){ if(departmentCount>0){
throw new BizException("请先删除下级部门"); throw new BizException("请先删除下级部门");
} }
//部门下是否有岗位
Boolean postFlag = postRepository.checkPostDepartment(id);
if(postFlag){
throw new BizException("部门有相应岗位,请解除相关岗位信息后删除");
}
Boolean b = userRepository.checkUserDepartment(id); Boolean b = userRepository.checkUserDepartment(id);
if(b){ if(b){
throw new BizException("部门有相应人员,请解除相关部门信息后删除"); throw new BizException("部门有相应人员,请解除相关部门信息后删除");

View File

@ -26,5 +26,7 @@ public interface PostRepository extends BaseRepository<PostDO> {
Long getCountByCorpInfoId(Long id); Long getCountByCorpInfoId(Long id);
List<PostDO> listByCorpInfoId(Long corpInfoId); List<PostDO> listByCorpInfoId(Long corpInfoId);
Boolean checkPostDepartment(Long id);
} }

View File

@ -80,5 +80,12 @@ public class PostRepositoryImpl extends BaseRepositoryImpl<PostMapper, PostDO> i
queryWrapper.eq("delete_enum", "FALSE"); queryWrapper.eq("delete_enum", "FALSE");
return list(queryWrapper); return list(queryWrapper);
} }
@Override
public Boolean checkPostDepartment(Long departmentId) {
QueryWrapper<PostDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("department_id", departmentId);
queryWrapper.eq("delete_enum", "FALSE");
return postMapper.selectCount(queryWrapper) > 0;
}
} }