From 7b7b80f46143c17a6834a94c2b8c699f09be70be Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 20 Feb 2025 10:20:32 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PartAcceptServiceImpl.java | 4 +++ .../service/impl/PartArrivedServiceImpl.java | 31 ++++++++++++++++--- .../material/part/PartArrivedMapper.xml | 7 +++-- 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartAcceptServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartAcceptServiceImpl.java index f28de319..886d071e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartAcceptServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartAcceptServiceImpl.java @@ -83,14 +83,18 @@ public class PartAcceptServiceImpl implements IPartAcceptService int publishedStatus = PurchaseTaskStatusEnum.TO_CHECK.getStatus(); int inProgressStatus = PurchaseTaskStatusEnum.TO_STORE.getStatus(); int inStoreStatus = PurchaseTaskStatusEnum.IN_STORE.getStatus(); + int allRejectStatus = PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus(); boolean notContainsNoFinished =!statusList.contains(publishedStatus); boolean containToStore = statusList.contains(inProgressStatus); + boolean containReject = statusList.contains(allRejectStatus); boolean allStore = statusList.stream() .allMatch(status -> status.equals(inStoreStatus)); if (notContainsNoFinished && allStore) { partArrivedMapper.updateTaskStatus(taskId, PurchaseTaskStatusEnum.IN_STORE.getStatus()); } else if (notContainsNoFinished && containToStore) { partArrivedMapper.updateTaskStatus(taskId, PurchaseTaskStatusEnum.TASK_IN_PROGRESS.getStatus()); + } else if (!containToStore && containReject) { + partArrivedMapper.updateTaskStatus(taskId, PurchaseTaskStatusEnum.IN_STORE.getStatus()); } } return AjaxResult.success(); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartArrivedServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartArrivedServiceImpl.java index d455230b..5aafb65e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartArrivedServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/part/service/impl/PartArrivedServiceImpl.java @@ -178,6 +178,8 @@ public class PartArrivedServiceImpl implements IPartArrivedService List purchaseCheckInfoResult = new ArrayList<>(); for (int i = 0; i < partTypeCheckInfos.size(); i++) { List partTypeCheckDetails = partArrivedMapper.selectPartTypeCheckDetailsList(partTypeCheckInfos.get(i).getTaskId()); + boolean isNoticeFlag = false; + boolean isCheckFlag = false; if (null != partTypeQueryDto.getTaskStage()) { // 根据阶段来过滤详情数据 switch (partTypeQueryDto.getTaskStage()) { @@ -191,21 +193,25 @@ public class PartArrivedServiceImpl implements IPartArrivedService } break; case PURCHASE_TASK_STAGE_CHECK: - partTypeCheckDetails = partTypeCheckDetails.stream().filter(o -> !PurchaseTaskStatusEnum.TO_NOTICE.getStatus().equals(o.getStatus())).collect(Collectors.toList()); - partTypeCheckDetails = partTypeCheckDetails.stream().filter(o -> !PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus().equals(o.getStatus())).collect(Collectors.toList()); + /*partTypeCheckDetails = partTypeCheckDetails.stream().filter(o -> !PurchaseTaskStatusEnum.TO_NOTICE.getStatus().equals(o.getStatus())).collect(Collectors.toList()); + partTypeCheckDetails = partTypeCheckDetails.stream().filter(o -> !PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus().equals(o.getStatus())).collect(Collectors.toList());*/ if (partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_CHECK.getStatus())) { partTypeCheckInfos.get(i).setTaskStatusName("未完成"); } else { partTypeCheckInfos.get(i).setTaskStatusName("已完成"); } + // 将待通知的数据过滤 + if (partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_NOTICE.getStatus())) { + isNoticeFlag = true; + } break; case PURCHASE_TASK_STAGE_STORE: - partTypeCheckDetails = partTypeCheckDetails.stream().filter(o -> + /*partTypeCheckDetails = partTypeCheckDetails.stream().filter(o -> PurchaseTaskStatusEnum.IN_STORE.getStatus().equals(o.getStatus()) || PurchaseTaskStatusEnum.TO_STORE.getStatus().equals(o.getStatus()) || PurchaseTaskStatusEnum.TASK_FINISHED.getStatus().equals(o.getStatus()) || (PurchaseTaskStatusEnum.TO_CHECK.getStatus().equals(o.getStatus())) - ).collect(Collectors.toList()); + ).collect(Collectors.toList());*/ if (partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TASK_IN_PROGRESS.getStatus()) || partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_STORE.getStatus()) || partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_CHECK.getStatus())) { @@ -213,11 +219,19 @@ public class PartArrivedServiceImpl implements IPartArrivedService } else { partTypeCheckInfos.get(i).setTaskStatusName("已完成"); } + // 将待通知和待验收的数据过滤 + if (partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_NOTICE.getStatus()) || + partTypeCheckInfos.get(i).getTaskStatus().equals(PurchaseTaskStatusEnum.TO_CHECK.getStatus())) { + isCheckFlag = true; + } break; default: System.err.println("未知的新购任务阶段:" + partTypeQueryDto.getTaskStage()); } } + if (isNoticeFlag || isCheckFlag) { + continue; + } if(!CollectionUtils.isEmpty(partTypeCheckDetails)) { BigDecimal purchaseNum = new BigDecimal(0); BigDecimal purchasePrice = new BigDecimal(0); @@ -326,7 +340,14 @@ public class PartArrivedServiceImpl implements IPartArrivedService public boolean updatePartTypeCheckInfo(PartTypeCheckDto partTypeCheckDto) { partTypeCheckDto.getPartTypeCheckInfo().setUpdateTime(DateUtils.getNowDate()); partTypeCheckDto.getPartTypeCheckInfo().setUpdateBy(SecurityUtils.getUsername()); - partArrivedMapper.deleteBmFileList(partTypeCheckDto.getPartTypeCheckInfo().getTaskId()); + // 先去查是否存在文件信息,存在就删除 + BmFileInfo fileInfo = new BmFileInfo(); + fileInfo.setTaskType(13); + fileInfo.setTaskId(partTypeCheckDto.getPartTypeCheckInfo().getTaskId()); + List bmFileInfoList = bmFileInfoMapper.selectBmFileInfoList(fileInfo); + if (!CollectionUtils.isEmpty(bmFileInfoList)) { + partArrivedMapper.deleteBmFileList(partTypeCheckDto.getPartTypeCheckInfo().getTaskId()); + } if (!CollectionUtils.isEmpty(partTypeCheckDto.getPartTypeCheckDetailsList())) { partTypeCheckDto.getPartTypeCheckDetailsList().removeIf(Objects::isNull); partTypeCheckDto.getPartTypeCheckDetailsList().removeIf(o -> Objects.isNull(o.getStatus())); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/part/PartArrivedMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/part/PartArrivedMapper.xml index b87e4543..a2427118 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/part/PartArrivedMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/part/PartArrivedMapper.xml @@ -138,7 +138,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"