From f0001119dc55f07a96ef7c0ef6688c8ed60d12a9 Mon Sep 17 00:00:00 2001 From: mashuai Date: Fri, 15 Nov 2024 16:52:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=80=80=E6=96=99=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../back/mapper/BackApplyInfoMapper.java | 7 +++++++ .../service/impl/BackApplyInfoServiceImpl.java | 16 +++++++++++++++- .../material/back/BackApplyInfoMapper.xml | 18 ++++++++---------- 3 files changed, 30 insertions(+), 11 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 a4c18e4f..09e2f7e2 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 @@ -240,4 +240,11 @@ public interface BackApplyInfoMapper { * @param many */ void insStlInfoTwo(@Param("info")SltAgreementInfo info, @Param("many")Integer many); + + /** + * 更新详情 + * @param applyDetail + * @return + */ + int updateBackApplyDetails(BackApplyDetails applyDetail); } 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 e439835b..6df8810a 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 @@ -544,6 +544,9 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { */ @Override public AjaxResult getMachineById(BackApplyInfo dto) { + if (dto == null || dto.getUnitId() == null || dto.getProId() == null || StringUtils.isBlank(dto.getTypeId())) { + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "参数不能为空"); + } return AjaxResult.success(backApplyInfoMapper.getMachineById(dto)); } @@ -555,6 +558,17 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { @Override @Transactional(rollbackFor = Exception.class) public AjaxResult submitBackApply(BackApplyInfo backApplyInfo) { + int result = 0; + //先查询退料详情信息 + List applyDetails = backApplyInfoMapper.selectBackApplyDetailsListByTaskId(backApplyInfo.getId()); + if (CollectionUtils.isNotEmpty(applyDetails)) { + for (BackApplyDetails applyDetail : applyDetails) { + if (applyDetail.getPreNum() > applyDetail.getNum()) { + return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "退料数量不能大于在用数量"); + } + result += backApplyInfoMapper.updateBackApplyDetails(applyDetail); + } + } // 根据传入的id查询退料申请信息 List applyInfoList = backApplyInfoMapper.selectBackDetails(backApplyInfo); // 设置更新信息 @@ -562,7 +576,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService { backApplyInfo.setUpdateTime(DateUtils.getNowDate()); backApplyInfo.setTaskStatus(2); // 更新任务表及退料申请表状态 - int result = updateTaskAndBackInfo(backApplyInfo); + result += updateTaskAndBackInfo(backApplyInfo); if (result > 0 && CollectionUtils.isNotEmpty(applyInfoList)) { // 获取applyInfoList的typeId并生成集合 List typeIdList = applyInfoList.stream() 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 2bffb3af..7a09bffe 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 @@ -108,16 +108,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN tm_task_agreement tta ON lai.task_id = tta.task_id LEFT JOIN bm_agreement_info ba ON tta.agreement_id = ba.agreement_id WHERE - 1 = 1 and mm.ma_status = '2' - - and ba.unit_id = #{unitId} - - - and ba.project_id = #{proId} - - - and mm.type_id = #{typeId} - + 1 = 1 and mm.ma_status = '2' and mm.type_id = #{typeId} + AND mm.ma_id NOT IN (SELECT ma_id from back_check_details WHERE type_id = #{typeId}) + AND ba.unit_id = #{unitId} + AND ba.project_id = #{proId}