From 454e3b89d7dc3a71677a3bf7ac4974425730da45 Mon Sep 17 00:00:00 2001 From: jiayang yue Date: Thu, 6 Mar 2025 17:28:45 +0800 Subject: [PATCH] =?UTF-8?q?2025.03.06=20NPI=E4=BC=98=E5=8C=96=EF=BC=9A=20?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=89=A9=E6=96=99=20-=20=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E6=95=B4=E4=BD=93=E5=88=86=E9=A1=B5=E5=A4=A7=E5=B0=8F=E6=B2=A1?= =?UTF-8?q?=E5=8A=9E=E6=B3=95=E6=89=8B=E5=8A=A8=E8=87=AA=E5=B7=B1=E8=B0=83?= =?UTF-8?q?=E6=95=B4,=E5=B7=B2=E8=AF=A6=E6=83=85=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=E5=BC=B9=E5=87=BA=E6=96=B0=E7=95=8C=E9=9D=A2=20-=20?= =?UTF-8?q?=E7=89=A9=E6=96=99=E8=BD=AC=E9=87=8F=E4=BA=A7=E5=90=8E=E9=9C=80?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=92=A4=E9=94=80=E6=8C=89=E9=92=AE=20-=20?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=98=BE=E7=A4=BA=E4=B8=B2=E8=A1=8C=20-=20?= =?UTF-8?q?=E4=B8=8B=E8=BE=BE=E5=89=8D=E5=88=A0=E9=99=A4=E7=9A=84=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E4=B8=8B=E8=BE=BE=E5=90=8E=E5=8F=88=E5=87=BA=E7=8E=B0?= =?UTF-8?q?=E4=BA=86=EF=BC=8C=E9=82=AE=E4=BB=B6=E4=B9=9F=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E5=8F=91=E4=BA=86=EF=BC=8C=E9=9C=80=E8=A6=81=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=20-=20=E5=88=A0=E9=99=A4=E5=85=B6=E4=BB=96=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E6=9D=83=E9=99=90=EF=BC=8C=E9=99=A4=E4=BA=86PJM=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E4=BA=BA=E5=91=98=E4=B8=8D=E8=83=BD=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E5=8F=AA=E8=83=BD=E6=9F=A5=E7=9C=8B=20-=20=E9=82=AE=E4=BB=B6?= =?UTF-8?q?=E6=94=B6=E5=88=B0=E6=9C=89=E5=BE=85=E4=B8=8A=E4=BC=A0=E7=9A=84?= =?UTF-8?q?=E6=96=87=E6=A1=A3=EF=BC=8C=E7=B3=BB=E7=BB=9F=E9=87=8C=E6=B2=A1?= =?UTF-8?q?=E6=9C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pms/controller/EamProjectController.java | 12 ++++++ .../pms/service/EamProjectService.java | 2 + .../service/Impl/EamProjectServiceImpl.java | 37 +++++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/src/main/java/com/xujie/sys/modules/pms/controller/EamProjectController.java b/src/main/java/com/xujie/sys/modules/pms/controller/EamProjectController.java index 222d9fed..50931e13 100644 --- a/src/main/java/com/xujie/sys/modules/pms/controller/EamProjectController.java +++ b/src/main/java/com/xujie/sys/modules/pms/controller/EamProjectController.java @@ -266,6 +266,18 @@ public class EamProjectController { eamProjectService.eamProjectPartInfoEdit(data); return R.ok(); } + /** + * @Description 撤销已量产物料信息 + * @Title eamProjectPartInfoCancelEdit + * @param data + * @return com.xujie.sys.common.utils.R + **/ + @PostMapping("/eamProjectPartInfoCancelEdit") + @ResponseBody + public R eamProjectPartInfoCancelEdit(@RequestBody EamProjectPartInfoData data) { + eamProjectService.eamProjectPartInfoCancelEdit(data); + return R.ok(); + } /** * @Description 编辑物料信息 diff --git a/src/main/java/com/xujie/sys/modules/pms/service/EamProjectService.java b/src/main/java/com/xujie/sys/modules/pms/service/EamProjectService.java index 004fdfa1..abb67b6b 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/EamProjectService.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/EamProjectService.java @@ -67,6 +67,8 @@ public interface EamProjectService { void eamProjectPartInfoEdit(EamProjectPartInfoData data) throws MessagingException, UnsupportedEncodingException; + void eamProjectPartInfoCancelEdit(EamProjectPartInfoData data); + void eamProjectPartInfoSave(EamProjectPartInfoData data); void eamProjectPartInfoDelete(EamProjectPartInfoData data); diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java index e217430e..30c08e27 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/EamProjectServiceImpl.java @@ -50,6 +50,7 @@ import java.text.SimpleDateFormat; import java.time.DayOfWeek; import java.time.LocalDate; import java.util.*; +import java.util.stream.Collectors; /** * @description: @@ -295,6 +296,42 @@ public class EamProjectServiceImpl implements EamProjectService { } } + @Override + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) + public void eamProjectPartInfoCancelEdit(EamProjectPartInfoData inData){ + // 编辑物料的状态为进行中 + List checkProjectPartNo = EamProjectMapper.checkProjectPartNo(inData); + if (!checkProjectPartNo.isEmpty()) { + throw new RuntimeException("当前项目下已存在相同的项目料号!"); + } else { + EamProjectMapper.eamProjectPartInfoEdit(inData); + } + + // 通过存储过程查询当前part下所有转量产文档 + ProofDocumentData proofDocumentData = new ProofDocumentData(); + proofDocumentData.setProjectPartId(inData.getProjectPartId()); + proofDocumentData.setProjectId(inData.getProjectId()); + proofDocumentData.setSite(inData.getSite()); + proofDocumentData.setProofingId(-1); + proofDocumentData.setPage(1); + proofDocumentData.setLimit(-1); + PageUtils proofDocument = proofingInformationService.getProofDocument(proofDocumentData); + if (proofDocument == null || proofDocument.getList() == null) { + // 根据业务逻辑,可以选择抛出异常或者直接返回 + throw new RuntimeException("获取转量产文档失败!"); + } + List list = (List) proofDocument.getList(); + // 遍历list,并过滤掉uploadedFlag为Y的数据 + List collect = list.stream().filter(a -> !Objects.equals(a.getUploadedFlag(), "Y")).collect(Collectors.toList()); + + // 删除未上传的文档 + collect.forEach(a -> { + EamBuDocumentListDefinitionVo eamBuDocumentListDefinitionVo = new EamBuDocumentListDefinitionVo(); + eamBuDocumentListDefinitionVo.setDocumentDefinitionListId(a.getDocumentDefinitionListId()); + proofingInformationMapper.deleteDocumentType(eamBuDocumentListDefinitionVo); + }); + } + @Override @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) public void eamProjectPartInfoSave(EamProjectPartInfoData inData){