diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/archives/controller/ArchivesController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/archives/controller/ArchivesController.java index e985aa5b..e6fc43d9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/archives/controller/ArchivesController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/archives/controller/ArchivesController.java @@ -173,7 +173,6 @@ public class ArchivesController extends BaseController { * @return */ @ApiOperation(value = "下载电子档案右侧详情") - @PreventRepeatSubmit //@RequiresPermissions("archives:type:download") @GetMapping("/download") public AjaxResult download(ArchivesVo archivesVo, HttpServletRequest request, HttpServletResponse response) 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/LeaseApplyInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java index 5ce6f25e..0030f8c7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseApplyInfoServiceImpl.java @@ -178,21 +178,22 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService { leaseApplyInfo.setUserId(SecurityUtils.getUserId()); List list = leaseApplyInfoMapper.selectLeaseApplyInfoList(leaseApplyInfo); // 如果statusList包含3、4、5,则为领料出库查询,需查询领用出库数据,进行拼接 - if (leaseApplyInfo.getStatusList() != null && leaseApplyInfo.getStatusList().contains(3) - || leaseApplyInfo.getStatusList().contains(4) || leaseApplyInfo.getStatusList().contains(5)) { - // 查询领用出库数据 - List leaseApplyOutList = leaseApplyInfoMapper.selectPublishList(leaseApplyInfo); - if (!CollectionUtils.isEmpty(leaseApplyOutList)) { - for (LeaseApplyInfo applyInfo : leaseApplyOutList) { - if (applyInfo.getPreCountNum().compareTo(applyInfo.getAlNum()) == 0) { - applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatus()); - applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatusName()); - } else { - applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatus()); - applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatusName()); + if (!CollectionUtils.isEmpty(leaseApplyInfo.getStatusList())) { + if (leaseApplyInfo.getStatusList().contains(3) || leaseApplyInfo.getStatusList().contains(4) || leaseApplyInfo.getStatusList().contains(5)) { + // 查询领用出库数据 + List leaseApplyOutList = leaseApplyInfoMapper.selectPublishList(leaseApplyInfo); + if (!CollectionUtils.isEmpty(leaseApplyOutList)) { + for (LeaseApplyInfo applyInfo : leaseApplyOutList) { + if (applyInfo.getPreCountNum().compareTo(applyInfo.getAlNum()) == 0) { + applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatus()); + applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_FINISHED.getStatusName()); + } else { + applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatus()); + applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatusName()); + } } + list.addAll(leaseApplyOutList); } - list.addAll(leaseApplyOutList); } } // 使用 Stream API 进行降序排序 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/basic/ComplexQueryMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml index b83a5014..498fd4ae 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml @@ -277,7 +277,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id AND mt1.del_flag = '0' LEFT JOIN tm_task tt ON bs.task_id = tt.task_id - WHERE bs.in_num != 0 and and bs.result_msg = '操作成功' + WHERE bs.in_num != 0 and bs.result_msg = '操作成功' and ( CASE 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});