diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentRemoveExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentRemoveExe.java index c5932fc..db3b349 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentRemoveExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/DepartmentRemoveExe.java @@ -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.persistence.dataobject.DepartmentDO; 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.gbscommon.utils.Const; import com.zcloud.gbscommon.utils.PageQueryHelper; @@ -40,6 +41,7 @@ public class DepartmentRemoveExe { private final DepartmentRepository departmentRepository; private final UserRepository userRepository; private final DepartmentSuperviseGateway departmentSuperviseGateway; + private final PostRepository postRepository; @DubboReference private DeptFacade deptFacade; // @Autowired @@ -58,7 +60,11 @@ public class DepartmentRemoveExe { if(departmentCount>0){ throw new BizException("请先删除下级部门"); } - + //部门下是否有岗位 + Boolean postFlag = postRepository.checkPostDepartment(id); + if(postFlag){ + throw new BizException("部门有相应岗位,请解除相关岗位信息后删除"); + } Boolean b = userRepository.checkUserDepartment(id); if(b){ throw new BizException("部门有相应人员,请解除相关部门信息后删除"); diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/PostRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/PostRepository.java index 03d05b6..d319edd 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/PostRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/PostRepository.java @@ -26,5 +26,7 @@ public interface PostRepository extends BaseRepository { Long getCountByCorpInfoId(Long id); List listByCorpInfoId(Long corpInfoId); + + Boolean checkPostDepartment(Long id); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/PostRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/PostRepositoryImpl.java index cc2b198..147c8db 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/PostRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/PostRepositoryImpl.java @@ -80,5 +80,12 @@ public class PostRepositoryImpl extends BaseRepositoryImpl i queryWrapper.eq("delete_enum", "FALSE"); return list(queryWrapper); } + @Override + public Boolean checkPostDepartment(Long departmentId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("department_id", departmentId); + queryWrapper.eq("delete_enum", "FALSE"); + return postMapper.selectCount(queryWrapper) > 0; + } }