From 989a2fa4524a3d7dd7dfdeef7c7f2b0d3af62520 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Thu, 28 Nov 2024 16:41:39 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=8D=95=E5=88=86=E6=8B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/RepairServiceImpl.java | 51 ++++++++++++++----- 1 file changed, 39 insertions(+), 12 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 334eed16..9c69836b 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 @@ -85,11 +85,13 @@ public class RepairServiceImpl implements RepairService { Long[] ids = tempList.stream().map(RepairDeviceVO::getId).toArray(Long[]::new); int repairNumSum = tempList.stream().mapToInt(RepairDeviceVO::getRepairNum).sum(); int repairedNumSum = tempList.stream().mapToInt(RepairDeviceVO::getRepairedNum).sum(); + int scrapNumSum = tempList.stream().mapToInt(RepairDeviceVO::getScrapNum).sum(); //BigDecimal typeCostSum = tempList.stream().map(RepairDeviceVO::getTotalCost).reduce(BigDecimal.ZERO, BigDecimal::add); vo.setRepairDeviceList(toRepairList); vo.setIds(ids); vo.setTypeRepairNum(repairNumSum); vo.setTypeRepairedNum(repairedNumSum); + vo.setTypeScrapNum(scrapNumSum); //vo.setTypeCost(typeCostSum); vo.setTaskId(tempList.get(0).getTaskId()); vo.setCode(tempList.get(0).getCode()); @@ -557,19 +559,27 @@ public class RepairServiceImpl implements RepairService { if (Objects.isNull(details)) { throw new ServiceException("此维修记录不存在,请检查后提交!"); } - // -------------校验维修数量开始---------------- - // 统计历史已报废数量 + 本次报废数量 = 报废总数 - int scrapNum = OptionalInt.of(details.getScrapNum()).orElse(0) + bean.getNumberScrapRepairPartList().get(0).getScrapNum(); - // 统计 报废总数 + 历史已维修数量, - int num = scrapNum + details.getRepairedNum(); - // 不能大与总的待维修数量 - if (num > details.getRepairNum()) { - throw new ServiceException("报废数量大于维修总量! 本次报废数量:" + bean.getScrapNum() + ",已报废数量:" + details.getScrapNum() + ",维修总量:" + details.getRepairNum()); - } - // -------------校验维修数量结束---------------- - // 更新报废数量 - repairMapper.updateScrapNum(bean.getId(), scrapNum, loginUser.getUserid()); + +// // -------------校验维修数量开始---------------- +// // 统计历史已报废数量 + 本次报废数量 = 报废总数 +// int scrapNum = OptionalInt.of(details.getScrapNum()).orElse(0) + bean.getNumberScrapRepairPartList().get(0).getScrapNum(); +// // 统计 报废总数 + 历史已维修数量, +// int num = scrapNum + details.getRepairedNum(); +// // 不能大与总的待维修数量 +// if (num > details.getRepairNum()) { +// throw new ServiceException("报废数量大于维修总量! 本次报废数量:" + bean.getScrapNum() + ",已报废数量:" + details.getScrapNum() + ",维修总量:" + details.getRepairNum()); +// } +// // -------------校验维修数量结束---------------- +// +// // 更新报废数量 +// repairMapper.updateScrapNum(bean.getId(), scrapNum, loginUser.getUserid()); + + + // 维修单拆分--报废机具 + int thisTimeScrapNumber = bean.getNumberScrapRepairPartList().get(0).getScrapNum(); + splitRepairListToScrap(bean, thisTimeScrapNumber, loginUser); + if (CollectionUtil.isNotEmpty(bean.getNumberScrapRepairPartList().get(0).getFileList())) { for (BmFileInfo fileInfo : bean.getNumberScrapRepairPartList().get(0).getFileList()) { @@ -634,6 +644,23 @@ public class RepairServiceImpl implements RepairService { } } + private void splitRepairListToScrap(RepairDeviceVO bean, int thisTimeScrapNum, LoginUser loginUser) { + if ((bean.getRepairNum() - thisTimeScrapNum) == 0) { + repairMapper.updateScrapNum(bean.getId(), thisTimeScrapNum, loginUser.getUserid()); + } else { + RepairApplyDetails newDetail = new RepairApplyDetails(); + BeanUtils.copyProperties(bean, newDetail); + newDetail.setRepairNum((long) (thisTimeScrapNum)); + newDetail.setScrapNum((long) thisTimeScrapNum); + newDetail.setCreateBy(SecurityUtils.getUsername()); + newDetail.setCreateTime(DateUtils.getNowDate()); + newDetail.setRepairer(SecurityUtils.getUsername()); + newDetail.setStatus("1"); + repairApplyDetailsMapper.insertRepairApplyDetails(newDetail); + repairMapper.updateRepairNum(bean.getId(), bean.getRepairNum() - thisTimeScrapNum, loginUser.getUserid(), loginUser.getUserid()); + } + } + /** * 配件列表价格合计 * @param partList 配件列表