From 660c43592b0dc4971d54cc159a5c09339e6c3fbc Mon Sep 17 00:00:00 2001 From: syruan <321359594@qq.com> Date: Thu, 26 Dec 2024 17:10:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E3=80=81=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E3=80=81=E6=8A=A5=E5=BA=9F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../material/repair/domain/RepairTask.java | 3 ++ .../repair/domain/vo/ScrapApplyDetailsVO.java | 3 ++ .../impl/RepairAuditDetailsServiceImpl.java | 10 ++++-- .../service/impl/RepairServiceImpl.java | 33 +++++++++++-------- .../repair/RepairAuditDetailsMapper.xml | 7 ++-- .../mapper/material/repair/RepairMapper.xml | 4 +-- .../material/task/TmTaskAgreementMapper.xml | 4 +-- 7 files changed, 39 insertions(+), 25 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTask.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTask.java index 8db4727a..a3802945 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTask.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTask.java @@ -20,6 +20,9 @@ public class RepairTask { @ApiModelProperty(value = "任务id") private Long taskId; + @ApiModelProperty(value = "前置任务id") + private Long preTaskId; + @ApiModelProperty(value = "任务状态") private Integer taskStatus; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/ScrapApplyDetailsVO.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/ScrapApplyDetailsVO.java index 8daf2d61..74aa4e1b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/ScrapApplyDetailsVO.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/ScrapApplyDetailsVO.java @@ -24,6 +24,9 @@ public class ScrapApplyDetailsVO { @Excel(name = "报废审核单号",sort = 1) private String scrapNum; + @ApiModelProperty(value = "维修任务单号") + private String repairTaskCode; + /** * 单位名称 */ 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 3670c119..d119718d 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 @@ -485,18 +485,21 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService String status = repairAuditDetails.get(0).getStatus(); // 1通过 2驳回 if ("1".equals(status)) { for (RepairAuditDetails repairAuditDetail : repairAuditDetails) { + // 删除repair_input_details 维修入库明细? repairInputDetailsMapper.deleteRepairInputDetailsByTaskId(repairAuditDetail.getTaskId()); + // 查询协议ID Long agreementId = taskAgreementMapper.selectAgreementIdByTaskId(repairAuditDetail.getTaskId()); - List taskIdList = new ArrayList<>(); - taskIdList.add(repairAuditDetail.getTaskId()); - List repairAuditDetailList = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(taskIdList); + // 查询维修审核明细 + List repairAuditDetailList = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(Collections.singletonList(repairAuditDetail.getTaskId())); batchInsertRepairInputDetails(repairAuditDetailList, agreementId); + taskMapper.updateTaskStatus(String.valueOf(repairAuditDetail.getTaskId()), RepairTaskStatusEnum.TASK_STATUS_REVIEW.getStatus()); } } else if ("2".equals(status)) { for (RepairAuditDetails auditDetails : repairAuditDetails) { repairApplyDetailsMapper.updateRepairApplyDetailsAfterReject( ObjectUtils.defaultIfNull(auditDetails.getRepairedNum(),0).longValue(), ObjectUtils.defaultIfNull(auditDetails.getScrapNum(),0).longValue(), auditDetails.getRepairId()); + taskMapper.updateTaskStatus(String.valueOf(auditDetails.getTaskId()), RepairTaskStatusEnum.TASK_STATUS_NO_REVIEW.getStatus()); } } @@ -574,6 +577,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService inputVo.setCreateBy(SecurityUtils.getUserId().toString()); inputList.add(inputVo); } + // 插入维修入库明细 repairInputDetailsMapper.batchInsertRepairInputDetails(inputList); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java index d01565a1..3b7e6082 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java @@ -817,9 +817,9 @@ public class RepairServiceImpl implements RepairService { // 查询维修任务的详情表 Long oldWxTaskId = task.getTaskId(); List detailsList = repairApplyDetailsMapper.getRepairDetailsWhichNotSent(oldWxTaskId); - BigDecimal thisRepairedNum = detailsList.stream().map(RepairTaskDetails::getThisRepairedNum).reduce(BigDecimal.ZERO, BigDecimal::add); - BigDecimal thisScrapNum = detailsList.stream().map(RepairTaskDetails::getThisScrapNum).reduce(BigDecimal.ZERO, BigDecimal::add); - if (!CollectionUtils.isEmpty(detailsList) && (thisRepairedNum.add(thisScrapNum)).compareTo(BigDecimal.valueOf(0)) > 0) { + BigDecimal thisRepairedNum = detailsList.stream().map(RepairTaskDetails::getRepairedNum).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal thisScrapNum = detailsList.stream().map(RepairTaskDetails::getScrapNum).reduce(BigDecimal.ZERO, BigDecimal::add); + if (!CollectionUtils.isEmpty(detailsList) && (thisRepairedNum.add(thisScrapNum)).compareTo(BigDecimal.ZERO) > 0) { task.setCreateBy(loginUser.getUserid()); Long agreementId = repairMapper.getAgreementId(task); // 新增tm_task表数据、修饰审核任务、状态是待审核 @@ -829,6 +829,8 @@ public class RepairServiceImpl implements RepairService { // 生成维修单号 String code = genderWxTaskCode(thisMonthMaxOrder); task.setRepairCode(code); + // 插入之前的维修任务id标记前置任务 + task.setPreTaskId(task.getTaskId()); // 注意:此处将会生成新的 taskId (审核入库用的) repairMapper.addTask(task); // 新增协议任务表tm_task_agreement--关联修饰任务与协议 @@ -837,23 +839,28 @@ public class RepairServiceImpl implements RepairService { // 新增审计记录 for (RepairTaskDetails details : detailsList) { - RepairApplyDetails repairApplyDetails = new RepairApplyDetails(); - repairApplyDetails.setId(details.getId()); - repairApplyDetails.setRepairedNum( (details.getRepairedNum().add(details.getThisRepairedNum()) )); - repairApplyDetails.setThisRepairedNum(BigDecimal.valueOf(0)); - repairApplyDetails.setScrapNum( (details.getScrapNum().add( details.getThisScrapNum()))); - repairApplyDetails.setThisScrapNum(BigDecimal.valueOf(0)); + RepairApplyDetails repairApplyDetails = createRepairDetailsCope(details); repairApplyDetailsMapper.updateRepairApplyDetails(repairApplyDetails); details.setCreateBy(String.valueOf(loginUser.getUserid())); details.setTaskId(task.getTaskId()); - details.setRepairNum(details.getThisRepairedNum().add(details.getThisScrapNum()) ); - details.setRepairedNum(details.getThisRepairedNum()); - details.setScrapNum(details.getThisScrapNum()); + details.setRepairNum(details.getRepairNum()); + details.setRepairedNum(details.getRepairedNum()); + details.setScrapNum(details.getScrapNum()); repairMapper.addAuditDetails(details); } } } - return AjaxResult.success(); + return AjaxResult.success("执行完毕"); + } + + private static RepairApplyDetails createRepairDetailsCope(RepairTaskDetails details) { + RepairApplyDetails repairApplyDetails = new RepairApplyDetails(); + repairApplyDetails.setId(details.getId()); + repairApplyDetails.setRepairedNum( (details.getRepairedNum().add(details.getThisRepairedNum()) )); + repairApplyDetails.setThisRepairedNum(BigDecimal.valueOf(0)); + repairApplyDetails.setScrapNum( (details.getScrapNum().add( details.getThisScrapNum()))); + repairApplyDetails.setThisScrapNum(BigDecimal.valueOf(0)); + return repairApplyDetails; } /** 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 38eb4fb9..e8063c26 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 @@ -296,7 +296,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml index db272a64..a88852bd 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairMapper.xml @@ -12,8 +12,8 @@ - insert into tm_task (task_status,task_type,code,create_by,create_time,company_id) - values (#{taskStatus},#{taskType},#{repairCode},#{createBy},now(),#{companyId}); + insert into tm_task (pre_task_id,task_status,task_type,code,create_by,create_time,company_id) + values (#{preTaskId},#{taskStatus},#{taskType},#{repairCode},#{createBy},now(),#{companyId}); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskAgreementMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskAgreementMapper.xml index dbc8f6ce..d5777b67 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskAgreementMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskAgreementMapper.xml @@ -102,8 +102,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" \ No newline at end of file