From cd056ed34d77f0c5cadf3d8868b8524839045ea7 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Mon, 25 Nov 2024 14:31:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RepairAuditDetailsController.java | 18 ++++-- .../mapper/RepairAuditDetailsMapper.java | 2 + .../mapper/RepairInputDetailsMapper.java | 4 ++ .../service/IRepairAuditDetailsService.java | 13 ++++- .../impl/RepairAuditDetailsServiceImpl.java | 55 +++++++++++++++++++ .../repair/RepairAuditDetailsMapper.xml | 16 ++++++ .../repair/RepairInputDetailsMapper.xml | 22 ++++++-- 7 files changed, 118 insertions(+), 12 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairAuditDetailsController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairAuditDetailsController.java index 661febef..4ea220fa 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairAuditDetailsController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairAuditDetailsController.java @@ -188,13 +188,23 @@ public class RepairAuditDetailsController extends BaseController { } }*/ - /** - * 批量修改修试审核详细 - */ - @ApiOperation(value = "批量修改修试审核详细") + @ApiOperation(value = "(外层)批量修改修试审核详细") @PreventRepeatSubmit @RequiresPermissions("repair:details:edit") @SysLog(title = "批量修试审核详细", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->批量修改修试审核详细") + @PutMapping("outerAudit") + public AjaxResult outerAudit(@RequestBody @NotNull List repairAuditDetails) { + return toAjax(repairAuditDetailsService.outerAudit(repairAuditDetails)); + } + + /** + * 批量修改修试审核详细 + */ + @ApiOperation(value = "(内层)批量修改修试审核详细") + @PreventRepeatSubmit + @RequiresPermissions("repair:details:edit") + @SysLog(title = "批量修试审核详细", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->批量修改修试审核详细") + //@PutMapping("innerAudit") @PutMapping public AjaxResult edit(@RequestBody @NotNull List repairAuditDetails) { return toAjax(repairAuditDetailsService.updateRepairAuditDetailsBatch(repairAuditDetails)); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairAuditDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairAuditDetailsMapper.java index 297f817d..c358f421 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairAuditDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairAuditDetailsMapper.java @@ -47,6 +47,8 @@ public interface RepairAuditDetailsMapper { */ List selectRepairAuditDetailsList(RepairAuditDetails repairAuditDetails); + List selectRepairAuditDetailsByTaskIds(@Param("taskIds") List taskIds); + /** * 新增修试审核详细 * diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairInputDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairInputDetailsMapper.java index 77071b0d..4e258c50 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairInputDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairInputDetailsMapper.java @@ -2,6 +2,7 @@ package com.bonus.material.repair.mapper; import java.util.List; import com.bonus.material.repair.domain.RepairInputDetails; +import org.apache.ibatis.annotations.Param; /** * 修试后入库Mapper接口 @@ -26,6 +27,9 @@ public interface RepairInputDetailsMapper { */ public List selectRepairInputDetailsList(RepairInputDetails repairInputDetails); + + public int batchInsertRepairInputDetails(@Param("list") List list); + /** * 新增修试后入库 * diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/IRepairAuditDetailsService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/IRepairAuditDetailsService.java index 722bd7dc..75e9da0d 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/IRepairAuditDetailsService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/IRepairAuditDetailsService.java @@ -80,10 +80,19 @@ public interface IRepairAuditDetailsService { */ int updateRepairAuditDetails(RepairAuditDetails repairAuditDetails); + /** - * 批量修改修试审核详细 + * (外层)批量修改修试审核详细 * - * @param repairAuditDetails 修试审核详细集合 + * @param repairAuditDetails (外层)修试审核详细集合 + * @return 结果 + */ + int outerAudit(List repairAuditDetails); + + /** + * (内层)批量修改修试审核详细 + * + * @param repairAuditDetails (内层)修试审核详细集合 * @return 结果 */ int updateRepairAuditDetailsBatch(List repairAuditDetails); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java index d82b4979..e2df4cf8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairAuditDetailsServiceImpl.java @@ -23,8 +23,10 @@ import com.bonus.material.task.domain.TmTaskAgreement; import com.bonus.material.task.mapper.TmTaskAgreementMapper; import com.bonus.material.task.mapper.TmTaskMapper; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import javax.validation.constraints.NotNull; @@ -446,6 +448,51 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService } } + /** + * (外层)批量修改修试审核详细 + * + * @param repairAuditDetails (外层)修试审核详细集合 + * @return 结果 + */ + @Override + public int outerAudit(@NotNull List repairAuditDetails) { + // 提取所有需要更新的 ID + List taskIds = repairAuditDetails.stream() + .filter(Objects::nonNull) + .map(RepairAuditDetails::getTaskId) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + + if (taskIds.isEmpty()) { + return 0; + } + + List repairAuditDetailsByQuery = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(taskIds); + + if (CollectionUtils.isEmpty(repairAuditDetailsByQuery)) { + return 0; + } + + List inputList = new ArrayList<>(); + for (RepairAuditDetails details : repairAuditDetailsByQuery) { + RepairInputDetails inputVo = new RepairInputDetails(); + BeanUtils.copyProperties(details, inputVo); + inputList.add(inputVo); + } + repairInputDetailsMapper.batchInsertRepairInputDetails(inputList); + + try { + List ids = repairAuditDetailsByQuery.stream() + .filter(Objects::nonNull) + .map(RepairAuditDetails::getId) + .filter(Objects::nonNull) + .collect(Collectors.toList()); + return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, String.valueOf(repairAuditDetails.get(0).getStatus())); + } catch (Exception e) { + throw new ServiceException("错误信息描述"); + } + } + /** * 批量修改修试审核详细 * @@ -465,6 +512,14 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService return 0; } + List inputList = new ArrayList<>(); + for (RepairAuditDetails details : repairAuditDetails) { + RepairInputDetails inputVo = new RepairInputDetails(); + BeanUtils.copyProperties(details, inputVo); + inputList.add(inputVo); + } + repairInputDetailsMapper.batchInsertRepairInputDetails(inputList); + try { // 调用 Mapper 方法进行批量更新 return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, String.valueOf(repairAuditDetails.get(0).getStatus())); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairAuditDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairAuditDetailsMapper.xml index 3cc35f19..b44071bc 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairAuditDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairAuditDetailsMapper.xml @@ -55,6 +55,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by rad.create_time desc + + + + + insert into repair_input_details + (task_id, audit_id, repair_id, ma_id, type_id, repair_num, input_num, create_by, create_time, + status, remark, company_id) + values + + (#{item.taskId,jdbcType=INTEGER}, #{item.auditId,jdbcType=INTEGER}, #{item.repairId,jdbcType=INTEGER}, + #{item.maId,jdbcType=INTEGER}, #{item.typeId,jdbcType=INTEGER}, #{item.repairNum,jdbcType=INTEGER}, + #{item.inputNum,jdbcType=INTEGER}, + #{item.createBy,jdbcType=VARCHAR}, NOW(), #{item.status,jdbcType=VARCHAR}, + #{item.remark,jdbcType=VARCHAR}, #{item.companyId,jdbcType=INTEGER}) + + insert into repair_input_details @@ -56,9 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" repair_num, input_num, create_by, - create_time, - update_by, - update_time, + create_time, status, remark, company_id, @@ -72,9 +84,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{repairNum}, #{inputNum}, #{createBy}, - #{createTime}, - #{updateBy}, - #{updateTime}, + NOW(), #{status}, #{remark}, #{companyId},