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"