From 02efaa2fcb755fa75e59873be9aad881a0ec17f6 Mon Sep 17 00:00:00 2001 From: mashuai Date: Fri, 15 Nov 2024 10:57:23 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E6=96=99=E6=8E=A5=E6=94=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../back/mapper/BackApplyInfoMapper.java | 4 +- .../impl/BackApplyInfoServiceImpl.java | 71 +++++++++++-------- .../material/back/BackApplyInfoMapper.xml | 3 + 3 files changed, 45 insertions(+), 33 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java index b63bdfe6..a4c18e4f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/mapper/BackApplyInfoMapper.java @@ -158,10 +158,10 @@ public interface BackApplyInfoMapper { /** * 查询详情 - * @param id + * @param backApplyInfo * @return */ - List selectBackDetails(Long id); + List selectBackDetails(BackApplyInfo backApplyInfo); /** * 更新任务状态 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java index ed775ef4..e439835b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/back/service/impl/BackApplyInfoServiceImpl.java @@ -556,7 +556,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { @Transactional(rollbackFor = Exception.class) public AjaxResult submitBackApply(BackApplyInfo backApplyInfo) { // 根据传入的id查询退料申请信息 - List applyInfoList = backApplyInfoMapper.selectBackDetails(backApplyInfo.getId()); + List applyInfoList = backApplyInfoMapper.selectBackDetails(backApplyInfo); // 设置更新信息 backApplyInfo.setUpdateBy(SecurityUtils.getUsername()); backApplyInfo.setUpdateTime(DateUtils.getNowDate()); @@ -564,22 +564,29 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { // 更新任务表及退料申请表状态 int result = updateTaskAndBackInfo(backApplyInfo); if (result > 0 && CollectionUtils.isNotEmpty(applyInfoList)) { - for (BackApplyInfo applyInfo : applyInfoList) { + // 获取applyInfoList的typeId并生成集合 + List typeIdList = applyInfoList.stream() + .map(BackApplyInfo::getTypeId).distinct() + .collect(Collectors.toList()); + // 插入任务表 + Long newTaskId = insertTt(SecurityUtils.getUsername()); + // 插入协议任务表 + result += insertTta(newTaskId, applyInfoList); + for (String typeId : typeIdList) { // 查询待维修的机具设备 - backApplyInfo.setTypeId(applyInfo.getTypeId()); + backApplyInfo.setTypeId(typeId); List wxList = backApplyInfoMapper.getWxList(backApplyInfo); if (CollectionUtils.isNotEmpty(wxList)) { - // 插入任务表 - Long newTaskId = insertTt(SecurityUtils.getUsername()); - // 插入协议任务表 - result += insertTta(newTaskId, wxList); // 插入维修记录表 result += insertRad(newTaskId, wxList); // 更新结算表 - int res = updateSlt4Bean(backApplyInfo, applyInfo); - // 检查机具是否领料 - if (res == 0) { - throw new RuntimeException("该机具未被领料使用"); + List allList = backApplyInfoMapper.selectBackDetails(backApplyInfo); + if (CollectionUtils.isNotEmpty(allList)) { + int res = updateSlt4Bean(backApplyInfo, allList); + // 检查机具是否领料 + if (res == 0) { + throw new RuntimeException("该机具未被领料使用"); + } } // 完成退料部分,更新 back_check_details finishBackCheckDetails(backApplyInfo); @@ -620,30 +627,32 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { /** * 更新结算表 * @param record - * @param bean + * @param allList * @return */ - private int updateSlt4Bean(BackApplyInfo record, BackApplyInfo bean) { - List infoList = backApplyInfoMapper.getStlInfo(bean); - if (infoList.size() > 0) { - Integer backNum = bean.getBackNum(); - for (SltAgreementInfo info : infoList) { - Integer num = info.getBackNum(); - if (backNum.equals(num)) { - backApplyInfoMapper.updateStlInfo(info, record); - break; - } else if (backNum > num) { - backNum = backNum - num; - backApplyInfoMapper.updateStlInfo(info, record); - } else { - Integer many = num - backNum; - backApplyInfoMapper.updateStlInfoTwo(info, record, backNum); - backApplyInfoMapper.insStlInfoTwo(info, many); - break; + private int updateSlt4Bean(BackApplyInfo record, List allList) { + for (BackApplyInfo bean : allList) { + List infoList = backApplyInfoMapper.getStlInfo(bean); + if (infoList.size() > 0) { + Integer backNum = bean.getBackNum(); + for (SltAgreementInfo info : infoList) { + Integer num = info.getBackNum(); + if (backNum.equals(num)) { + backApplyInfoMapper.updateStlInfo(info, record); + break; + } else if (backNum > num) { + backNum = backNum - num; + backApplyInfoMapper.updateStlInfo(info, record); + } else { + Integer many = num - backNum; + backApplyInfoMapper.updateStlInfoTwo(info, record, backNum); + backApplyInfoMapper.insStlInfoTwo(info, many); + break; + } } + } else { + return 0; } - } else { - return 0; } return 1; } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml index 904a9923..2bffb3af 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml @@ -213,6 +213,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN tm_task_agreement tta ON tta.task_id = bai.task_id WHERE bcd.parent_id = #{id} and (bcd.is_finished is null or bcd.is_finished != 1) + + and bcd.type_id = #{typeId} + GROUP By bcd.type_id,bcd.ma_id