From 750c0af1df47af03f9a1d7cd68908c2840c072a8 Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Tue, 19 Nov 2024 15:05:17 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E7=AE=A1=E7=90=86=E4=BC=98?= =?UTF-8?q?=E5=8C=96=20=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/RepairServiceImpl.java | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java index 9aecafe7..7a0dfc73 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java @@ -313,15 +313,16 @@ public class RepairServiceImpl implements RepairService { if (bean.getId() == null) { throw new ServiceException("请完善参数,维修详情ID为空!"); } - // 获取维修详情表中的维修详情记录:待维修、已维修、已报废的数量 - RepairTaskDetails details = repairMapper.getById(bean.getId()); - - if (Objects.isNull(details)) { - throw new ServiceException("此维修记录不存在,请检查后提交!"); - } // 处理配件--数量管理--内部维修 if (CollectionUtil.isNotEmpty(bean.getNumberInRepairPartList())) { + // 获取维修详情表中的维修详情记录:待维修、已维修、已报废的数量 + RepairTaskDetails details = repairMapper.getById(bean.getId()); + + if (Objects.isNull(details)) { + throw new ServiceException("此维修记录不存在,请检查后提交!"); + } + partList = bean.getNumberInRepairPartList(); if (bean.getNumberInRepairPartList().get(0).getRepairNum() != null && bean.getNumberInRepairPartList().get(0).getRepairNum() != 0) { // ---------------校验维修数量----------------- @@ -342,9 +343,19 @@ public class RepairServiceImpl implements RepairService { // 处理配件集合数据 -- 数量管理--外部返厂维修 if (CollectionUtil.isNotEmpty(bean.getNumberOutRepairPartList())) { + // 获取维修详情表中的维修详情记录:待维修、已维修、已报废的数量 + RepairTaskDetails details = repairMapper.getById(bean.getId()); + + if (Objects.isNull(details)) { + throw new ServiceException("此维修记录不存在,请检查后提交!"); + } + BigDecimal sfCosts = new BigDecimal("0"); partList = bean.getNumberOutRepairPartList(); + // 重新查询维修详情 + details = repairMapper.getById(bean.getId()); + // 判断外部维修配件数量是否为空 if (partList.get(0).getRepairNum() != null && partList.get(0).getRepairNum() != 0) { @@ -386,6 +397,12 @@ public class RepairServiceImpl implements RepairService { if (CollectionUtil.isNotEmpty(bean.getNumberScrapRepairPartList())) { // 判断报废数量是否为空 if (bean.getNumberScrapRepairPartList().get(0).getScrapNum() != null && bean.getNumberScrapRepairPartList().get(0).getScrapNum() > 0) { + // 获取维修详情表中的维修详情记录:待维修、已维修、已报废的数量 + RepairTaskDetails details = repairMapper.getById(bean.getId()); + + if (Objects.isNull(details)) { + throw new ServiceException("此维修记录不存在,请检查后提交!"); + } // -------------校验维修数量开始---------------- // 统计历史已报废数量 + 本次报废数量 = 报废总数 int scrapNum = OptionalInt.of(details.getScrapNum()).orElse(0) + bean.getNumberScrapRepairPartList().get(0).getScrapNum();