From 0e086e6cf96bc8f7be2f90eb32eea162a5ef2ed0 Mon Sep 17 00:00:00 2001 From: xiejunyu Date: Mon, 6 Jun 2022 14:26:58 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=BA=93=E5=8A=A0=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLibraryBaseController.java | 10 +-- .../service/IProjectLibraryBaseService.java | 6 +- .../impl/ProjectLibraryBaseServiceImpl.java | 72 +++++++++++++++++-- 3 files changed, 78 insertions(+), 10 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java index 59d5bf9b9..ce6f792d0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java @@ -99,8 +99,9 @@ public class ProjectLibraryBaseController extends JeroController delete(@RequestParam(name="id",required=true) String id) { - projectLibraryBaseService.deleteById(id); + public Result delete(@RequestParam(name="id",required=true) String id, + @RequestParam(name="cut",required=true) String cut) { + projectLibraryBaseService.deleteById(id,cut); return Result.OK("删除成功!"); } @@ -113,8 +114,9 @@ public class ProjectLibraryBaseController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.projectLibraryBaseService.deleteByIds(Arrays.asList(ids.split(","))); + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids, + @RequestParam(name="cut",required=true) String cut) { + this.projectLibraryBaseService.deleteByIds(Arrays.asList(ids.split(",")),cut); return Result.OK("批量删除成功!"); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java index 5f021e002..d031986f3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java @@ -40,7 +40,7 @@ public interface IProjectLibraryBaseService extends IService * @param id * @return */ - void deleteById(String id); + void deleteById(String id, String cut); /** * 批量删除 @@ -48,7 +48,7 @@ public interface IProjectLibraryBaseService extends IService * @param ids * @return */ - void deleteByIds(List ids); + void deleteByIds(List ids,String cut); /** * 通过id查询 @@ -87,4 +87,6 @@ public interface IProjectLibraryBaseService extends IService Map getProjectDetailsStatisticsGroupByTerritory(Map params); void exportProjectDetailsStatisticsGroupByTerritoryXls(HttpServletResponse response, HttpServletRequest request, Map params); + + void checkData(String id, String cut); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index fd6bd457f..48c7b7b21 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -111,8 +111,10 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("project_name_id",projectNameId) .eq("year_name_id",yearNameId) - .eq("target_market",targetMarket) - .ne("id",projectLibraryBase.getId()); + .eq("target_market",targetMarket); + if(StringUtils.isNotBlank(projectLibraryBase.getId())){ + queryWrapper.ne("id",projectLibraryBase.getId()); + } Integer count = projectLibraryBaseMapper.selectCount(queryWrapper); if (count > 0) { if(CutEnum.CN.getValue().equals(projectLibraryBase.getCut())) { @@ -146,10 +148,69 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl lawsInventoryQueryWrapper = new QueryWrapper<>(); + lawsInventoryQueryWrapper.eq("project_library_id",id); + List lawsInventoryRecords = projectLawsInventoryEOMapper.selectList(lawsInventoryQueryWrapper); + for(ProjectLawsInventoryEO projectLawsInventoryEO : lawsInventoryRecords){ + String inventoryAffirmStatus = projectLawsInventoryEO.getInventoryAffirmStatus();//清单确认状态 + //清单确认状态(未发起、接受、拒绝) + boolean inventoryAffirmFlag = ( + org.apache.commons.lang3.StringUtils.equals(inventoryAffirmStatus,TaskAffirmStatusEnum.NOT_STARTED.getValue()) || + org.apache.commons.lang3.StringUtils.equals(inventoryAffirmStatus,TaskAffirmStatusEnum.ACCEPTED.getValue()) || + org.apache.commons.lang3.StringUtils.equals(inventoryAffirmStatus,TaskAffirmStatusEnum.REJECTED.getValue()) + ); + + String taskAffirmStatus = projectLawsInventoryEO.getTaskAffirmStatus();//任务确认状态 + //任务确认状态(未发起、接受、拒绝) + boolean taskAffirmFlag = ( + org.apache.commons.lang3.StringUtils.equals(taskAffirmStatus,TaskAffirmStatusEnum.NOT_STARTED.getValue()) || + org.apache.commons.lang3.StringUtils.equals(taskAffirmStatus,TaskAffirmStatusEnum.ACCEPTED.getValue()) || + org.apache.commons.lang3.StringUtils.equals(taskAffirmStatus,TaskAffirmStatusEnum.REJECTED.getValue()) + ); + + if (!(inventoryAffirmFlag && taskAffirmFlag)) { + if (CutEnum.CN.getValue().equals(cut)) { + throw new JeroBootException("数据不能删除"); + }else{ + throw new JeroBootException("Data cannot be deleted."); + } + } + + String lawsInventoryId = projectLawsInventoryEO.getId(); + + QueryWrapper taskInventoryQueryWrapper = new QueryWrapper<>(); + taskInventoryQueryWrapper.eq("project_laws_inventory_id",lawsInventoryId); + List taskInventoryRecords = projectTaskInventoryEOMapper.selectList(taskInventoryQueryWrapper); + //设计、验证、prehomo流程(流程状态是空 或 审查完成) + for(ProjectTaskInventoryEO projectTaskInventoryEO : taskInventoryRecords){ + String designStatus = projectTaskInventoryEO.getDesignStatus(); + String verifyStatus = projectTaskInventoryEO.getVerifyStatus(); + String prehomoStatus = projectTaskInventoryEO.getPrehomoStatus(); + + boolean designStatusFlag = StringUtils.isBlank(designStatus) || designStatus.equals(DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + boolean verifyStatusFlag = StringUtils.isBlank(verifyStatus) || verifyStatus.equals(DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + boolean prehomoStatusFlag = StringUtils.isBlank(prehomoStatus) || prehomoStatus.equals(DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + + if (!(designStatusFlag && verifyStatusFlag && prehomoStatusFlag)) { + if (CutEnum.CN.getValue().equals(cut)) { + throw new JeroBootException("数据不能删除"); + }else{ + throw new JeroBootException("Data cannot be deleted."); + } + } + } + } + } /** * 批量删除 * @@ -157,7 +218,10 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl ids) { + public void deleteByIds(List ids,String cut) { + for(String id :ids){ + checkData(id,cut); + } removeByIds(ids); }