diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/WorkerProfessionSkillTagRepository.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/WorkerProfessionSkillTagRepository.java index bbcc0ee..4d0d9a4 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/WorkerProfessionSkillTagRepository.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/WorkerProfessionSkillTagRepository.java @@ -23,6 +23,8 @@ public interface WorkerProfessionSkillTagRepository { void removeByIds(List ids); + void deleteByIds(List ids); + default List list(PageReq req) { return page(req).getData(); } diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/WorkerProfessionTagRepository.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/WorkerProfessionTagRepository.java index 644c0c4..a7e5f59 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/WorkerProfessionTagRepository.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/WorkerProfessionTagRepository.java @@ -26,6 +26,12 @@ public interface WorkerProfessionTagRepository { */ void removeByIds(List ids); + /** + * 软删 + * @param ids + */ + void deleteByIds(List ids); + default List list(PageReq req) { return page(req).getData(); } diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionSkillTagRepositoryImpl.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionSkillTagRepositoryImpl.java index 8b8e1a4..4f1ff6d 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionSkillTagRepositoryImpl.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionSkillTagRepositoryImpl.java @@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.stream.Collectors; /** * @author zhanghongbo @@ -49,7 +50,22 @@ public class WorkerProfessionSkillTagRepositoryImpl implements WorkerProfessionS } @Override - public void removeByIds(List ids) { + public void removeByIds(List ids) { workerProfessionSkillTagDao.removeByIds(ids); } + + @Override + public void deleteByIds(List ids) { + if (CollUtil.isEmpty(ids)) { + return; + } + + List delete = ids.stream().map(id -> { + WorkerProfessionSkillTag workerProfessionSkillTag = new WorkerProfessionSkillTag(); + workerProfessionSkillTag.setId(id); + workerProfessionSkillTag.setIsDelete(id); + return workerProfessionSkillTag; + }).collect(Collectors.toList()); + workerProfessionSkillTagDao.updateBatchById(delete); + } } diff --git a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionTagRepositoryImpl.java b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionTagRepositoryImpl.java index 8ae8827..e4fc239 100644 --- a/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionTagRepositoryImpl.java +++ b/orgmanax-infra/src/main/java/cn/axzo/orgmanax/infra/dao/workerprofession/repository/impl/WorkerProfessionTagRepositoryImpl.java @@ -17,6 +17,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Repository; import java.util.List; +import java.util.stream.Collectors; /** * @author zhanghongbo @@ -51,4 +52,18 @@ public class WorkerProfessionTagRepositoryImpl implements WorkerProfessionTagRep public void removeByIds(List ids){ workerProfessionTagDao.removeByIds(ids); } + + @Override + public void deleteByIds(List ids){ + if (CollUtil.isEmpty(ids)) { + return ; + } + List delete = ids.stream().map(id -> { + WorkerProfessionTag workerProfessionTag = new WorkerProfessionTag(); + workerProfessionTag.setId(id); + workerProfessionTag.setIsDelete(id); + return workerProfessionTag; + }).collect(Collectors.toList()); + workerProfessionTagDao.updateBatchById(delete); + } } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgProjectWorkerProfessionFoundationServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgProjectWorkerProfessionFoundationServiceImpl.java index b5a7004..a9f4ec6 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgProjectWorkerProfessionFoundationServiceImpl.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgProjectWorkerProfessionFoundationServiceImpl.java @@ -76,6 +76,12 @@ public class OrgProjectWorkerProfessionFoundationServiceImpl implements OrgProje return; } List ids = professionTagResps.stream().map(WorkerProfessionTag::getId).collect(Collectors.toList()); + // 工人离开平台班组、项目内班组软删工种 + if (Boolean.TRUE.equals(req.getIsResign())){ + professionTagRepository.deleteByIds(ids); + return ; + } + // 物理删除工种 professionTagRepository.removeByIds(ids); } diff --git a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgWorkerSkillTagFoundationServiceImpl.java b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgWorkerSkillTagFoundationServiceImpl.java index 38a68db..1046c5e 100644 --- a/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgWorkerSkillTagFoundationServiceImpl.java +++ b/orgmanax-server/src/main/java/cn/axzo/orgmanax/server/workerprofession/foundation/impl/OrgWorkerSkillTagFoundationServiceImpl.java @@ -46,6 +46,12 @@ public class OrgWorkerSkillTagFoundationServiceImpl implements OrgWorkerSkillTag return; } List ids = skillTagResps.stream().map(WorkerProfessionSkillTag::getId).collect(Collectors.toList()); + // 退出平台班组、项目内班组时,技能标签软删 + if (Boolean.TRUE.equals(req.getIsResign())){ + skillTagRepository.deleteByIds(ids); + return ; + } + removeByIds(ids); } }