From 21cd3216c3e7f413ac47caea008bc0777a5b7c27 Mon Sep 17 00:00:00 2001 From: mashuai Date: Mon, 10 Mar 2025 16:39:12 +0800 Subject: [PATCH 1/3] =?UTF-8?q?app=E9=A2=86=E6=96=99=E9=80=80=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lease/mapper/LeaseApplyDetailsMapper.java | 7 +++++ .../impl/LeaseOutDetailsServiceImpl.java | 31 ++++++++++++++----- .../lease/LeaseApplyDetailsMapper.xml | 8 +++++ .../material/lease/LeaseApplyInfoMapper.xml | 3 +- .../material/lease/LeaseOutDetailsMapper.xml | 3 ++ .../mapper/material/lease/LeaseTaskMapper.xml | 4 +-- .../settlement/SltAgreementInfoMapper.xml | 10 ++++-- 7 files changed, 54 insertions(+), 12 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java index 8c874868..532de993 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseApplyDetailsMapper.java @@ -155,4 +155,11 @@ public interface LeaseApplyDetailsMapper { * @return */ List selectPublishDetails(LeaseApplyDetails leaseApplyDetails); + + /** + * 根据领用任务批次删除领用任务详细 + * @param leaseOutDetails + * @return + */ + int deletePublishTask(LeaseOutDetails leaseOutDetails); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java index 5e931173..f35f90c8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseOutDetailsServiceImpl.java @@ -4,6 +4,7 @@ import java.math.BigDecimal; import java.util.List; import java.util.Objects; import com.bonus.common.biz.constant.MaterialConstants; +import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.common.biz.enums.InputOutEnum; import com.bonus.common.biz.enums.LeaseTaskStatusEnum; import com.bonus.common.biz.enums.MaMachineStatusEnum; @@ -228,20 +229,36 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService { int res = 0; try { // 1 根据任务id查询此任务是否已经完结 - TmTask tmTask = tmTaskMapper.selectTmTaskByTaskId(Long.valueOf(leaseOutDetails.getTaskId())); - if (tmTask != null && tmTask.getTaskStatus().equals(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatus())) { - return AjaxResult.error("该任务已完成,不能进行退库操作"); + if (StringUtils.isNotBlank(leaseOutDetails.getPublishTask())) { + // 查询领用出库数据 + LeaseApplyInfo leaseApplyInfo = new LeaseApplyInfo(); + leaseApplyInfo.setPublishTask(leaseOutDetails.getPublishTask()); + List leaseApplyOutList = leaseApplyInfoMapper.selectPublishList(leaseApplyInfo); + if (!CollectionUtils.isEmpty(leaseApplyOutList)) { + for (LeaseApplyInfo applyInfo : leaseApplyOutList) { + if (applyInfo.getPreCountNum().compareTo(applyInfo.getAlNum()) == 0) { + return AjaxResult.error("该任务已完成,不能进行退库操作"); + } + } + } + } else { + TmTask tmTask = tmTaskMapper.selectTmTaskByTaskId(Long.valueOf(leaseOutDetails.getTaskId())); + if (tmTask != null && tmTask.getTaskStatus().equals(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatus())) { + return AjaxResult.error("该任务已完成,不能进行退库操作"); + } } // 2、插入出库记录,修改库存,修改机具状态 - res = updateRecords(leaseOutDetails); - if (res == 0) { - throw new RuntimeException("出库退回失败,更新设备规格库存数量时出错!"); - } + res = updateRecords(leaseOutDetails); + if (res == 0) { + throw new RuntimeException("出库退回失败,更新设备规格库存数量时出错!"); + } // 3、修改任务状态(tm_task) + if (StringUtils.isNotBlank(leaseOutDetails.getTaskId())) { res = editTaskStatus(leaseOutDetails); if (res == 0) { throw new RuntimeException("出库退回失败,修改任务状态失败"); } + } // 4、删除结算记录 res = deleteSltInfo(leaseOutDetails); if (res == 0) { diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml index eba36149..f8473d87 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseApplyDetailsMapper.xml @@ -169,6 +169,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + delete from lease_out_details where parent_id = #{parentId} and type_id = #{typeId} + and publish_task = #{publishTask} + + and ma_id = #{maId} + + + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementInfoMapper.xml index 193e3c19..24bd22e9 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/settlement/SltAgreementInfoMapper.xml @@ -144,6 +144,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND ma_id = #{record.maId} + + AND publish_task = #{record.publishTask} + @@ -242,8 +248,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - insert into slt_agreement_info (agreement_id,type_id,ma_id,num,start_time,status,lease_id,lease_price,buy_price,is_slt,company_id,lease_type,create_time) - values (#{agreementId},#{record.typeId},#{record.maId},#{record.outNum},now(),0,#{record.parentId},#{ma.finalPrice},#{ma.buyPrice},'0',#{record.companyId},#{record.leaseType},now()); + insert into slt_agreement_info (agreement_id,type_id,ma_id,num,start_time,status,lease_id,lease_price,buy_price,is_slt,company_id,lease_type,create_time,publish_task) + values (#{agreementId},#{record.typeId},#{record.maId},#{record.outNum},now(),0,#{record.parentId},#{ma.finalPrice},#{ma.buyPrice},'0',#{record.companyId},#{record.leaseType},now(),#{record.publishTask});