diff --git a/sgzb-modules/sgzb-material/pom.xml b/sgzb-modules/sgzb-material/pom.xml index 5e87c9f4..f430af58 100644 --- a/sgzb-modules/sgzb-material/pom.xml +++ b/sgzb-modules/sgzb-material/pom.xml @@ -107,6 +107,12 @@ 5.8.16 compile + + com.bonus.sgzb + sgzb-modules-base + 3.6.3 + compile + @@ -114,4 +120,21 @@ 8 + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + \ No newline at end of file diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/RepairAuditDetailsController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/RepairAuditDetailsController.java index 10f23146..2736e0f8 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/RepairAuditDetailsController.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/RepairAuditDetailsController.java @@ -14,15 +14,11 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.bonus.sgzb.common.log.annotation.Log; import com.bonus.sgzb.common.log.enums.BusinessType; -import com.bonus.sgzb.common.security.annotation.RequiresPermissions; import com.bonus.sgzb.common.core.web.controller.BaseController; import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.common.core.utils.poi.ExcelUtil; @@ -105,4 +101,5 @@ public class RepairAuditDetailsController extends BaseController return toAjax(repairAuditDetailsService.auditRepair(scrapAudit)); } + } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/ScrapApplyDetails.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/ScrapApplyDetails.java index d33b9628..2279aaed 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/ScrapApplyDetails.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/ScrapApplyDetails.java @@ -92,7 +92,6 @@ public class ScrapApplyDetails extends BaseEntity @ApiModelProperty(value = "机具编号") private String maCode; - // 传入参数 @ApiModelProperty(value = "单位id") private Integer backUnit; diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairAuditDetailsMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairAuditDetailsMapper.java index 247c2875..0ecbb735 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairAuditDetailsMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairAuditDetailsMapper.java @@ -1,5 +1,6 @@ package com.bonus.sgzb.material.mapper; +import com.bonus.sgzb.base.domain.RepairTaskDetails; import com.bonus.sgzb.material.domain.RepairAuditDetails; import com.bonus.sgzb.material.vo.RepairAuditDetailsVO; import com.bonus.sgzb.material.vo.ScrapApplyDetailsVO; @@ -75,4 +76,8 @@ public interface RepairAuditDetailsMapper List selectRepairInputByTaskId(Long taskId); List selectScrapNumByTaskId(Long taskId); + + int updateStatus(RepairAuditDetails bean); + + int insertRepairDetails(RepairTaskDetails repairTaskDetails); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairTestInputMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairTestInputMapper.java index fe67d338..8284b16c 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairTestInputMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairTestInputMapper.java @@ -113,4 +113,5 @@ public interface RepairTestInputMapper { * @date 2024/1/9 15:14 */ List exportList(RepairTestInputDto bean); + } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairAuditDetailsServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairAuditDetailsServiceImpl.java index cddf54a1..45fc2283 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairAuditDetailsServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairAuditDetailsServiceImpl.java @@ -2,9 +2,11 @@ package com.bonus.sgzb.material.service.impl; import java.math.BigDecimal; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; +import com.bonus.sgzb.base.domain.RepairTaskDetails; import com.bonus.sgzb.common.core.exception.ServiceException; import com.bonus.sgzb.common.core.utils.DateUtils; import com.bonus.sgzb.common.security.utils.SecurityUtils; @@ -160,22 +162,41 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService @Transactional(rollbackFor=Exception.class) public int auditRepair(ScrapAudit scrapAudit) throws Exception { String checkResult = scrapAudit.getCheckResult(); + List auditDetailList = scrapAudit.getAuditDetailList(); List taskIdList = scrapAudit.getTaskIdList(); + BigDecimal b = new BigDecimal(0); for (Long taskId : taskIdList) { + String status = "0"; TmTask task1 = taskMapper.selectTmTaskByTaskId(taskId); if (task1.getTaskStatus() == 47) { throw new Exception("任务已审核已通过"); } - if ("通过".equals(checkResult)) { - String taskCode =""; - int taskStatus= 0; - int taskType = 0; - int companyId = 0; - // 查询协议表 - TmTaskAgreement tmTaskAgreement = agreementMapper.selectTmTaskAgreementByTaskId(taskId); - List repairInputList = repairAuditDetailsMapper.selectRepairInputByTaskId(taskId); - List scrapNumList = repairAuditDetailsMapper.selectScrapNumByTaskId(taskId); + List auditAllList = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskId(taskId); + // 查询协议表 + TmTaskAgreement tmTaskAgreement = agreementMapper.selectTmTaskAgreementByTaskId(taskId); + String taskCode =""; + int taskStatus= 0; + int taskType = 0; + int companyId = 0; + if ("通过".equals(checkResult)) { + status = "1"; + List repairInputList = new ArrayList<>(); + List scrapNumList = new ArrayList<>(); + if (auditDetailList != null && auditDetailList.size()>0){ + for (RepairAuditDetails bean : auditDetailList){ + if (bean.getRepairedNum().compareTo(b)>0){ + repairInputList.add(bean); + } + if (bean.getScrapNum().compareTo(b)>0){ + scrapNumList.add(bean); + } + } + }else { + repairInputList = repairAuditDetailsMapper.selectRepairInputByTaskId(taskId); + scrapNumList = repairAuditDetailsMapper.selectScrapNumByTaskId(taskId); + } + if(repairInputList != null && repairInputList.size() > 0){ companyId = repairInputList.get(0).getCompanyId(); taskCode = purchaseCodeRule("R",50); @@ -186,7 +207,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService Long typeId = inputDetails.getTypeId(); Long maId = inputDetails.getMaId(); BigDecimal repairNum = inputDetails.getRepairedNum(); - BigDecimal b = new BigDecimal(0); + // 创建修饰后入库任务 if (repairNum.compareTo(b) > 0) { // 添加修试后入库任务 @@ -213,7 +234,6 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService for (RepairAuditDetails scrapDetails : scrapNumList) { Long typeId = scrapDetails.getTypeId(); Long maId = scrapDetails.getMaId(); - BigDecimal b = new BigDecimal(0); // 创建报废任务 BigDecimal scrapNum = scrapDetails.getScrapNum(); if (scrapNum.compareTo(b) > 0) { @@ -234,20 +254,68 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService } // 修饰审核通过时改修任务为已通过审核 - task1.setTaskStatus(47); + int i = 0; + int j = 0; + if (repairInputList != null){ + i = repairInputList.size(); + } + if (scrapNumList != null){ + j = scrapNumList.size(); + } + if (auditAllList.size() == (i + j)){ + task1.setTaskStatus(47); + } task1.setUpdateTime(new Date()); task1.setUpdateBy(SecurityUtils.getUsername()); taskMapper.updateTmTask(task1); } else { + status = "2"; + List repairDetailList = new ArrayList<>(); + if (auditDetailList != null && auditDetailList.size()>0){ + repairDetailList.addAll(auditDetailList); + }else { + repairDetailList.addAll(auditAllList); + } + if(repairDetailList != null && repairDetailList.size() > 0){ + companyId = repairDetailList.get(0).getCompanyId(); + taskCode = purchaseCodeRule("WX",41); + taskStatus = 42; + taskType = 41; + long inputTaskId = genTask(taskCode,taskType,taskStatus,tmTaskAgreement,companyId); + for (RepairAuditDetails inputDetails : repairDetailList) { + // 添加驳回后维修详细表数据 + RepairTaskDetails repairTaskDetails = new RepairTaskDetails(); + repairTaskDetails.setTaskId(String.valueOf(inputTaskId)); + repairTaskDetails.setMaId(String.valueOf(inputDetails.getMaId())); + repairTaskDetails.setTypeId(String.valueOf(inputDetails.getTypeId())); + BigDecimal repairNum = inputDetails.getRepairNum(); + int i = repairNum.intValue(); // 直接转换 + repairTaskDetails.setRepairNum(i); + repairTaskDetails.setStatus("0"); + repairTaskDetails.setCreateBy(SecurityUtils.getUserId()); + repairTaskDetails.setCompanyId((long) companyId); + repairAuditDetailsMapper.insertRepairDetails(repairTaskDetails); + } + } // 修饰审核任务不通过时 TmTask tmTask = new TmTask(); tmTask.setTaskId(taskId); tmTask.setRemark(scrapAudit.getRemark()); - tmTask.setTaskStatus(48); + int i = repairDetailList.size(); + if (auditAllList.size() == i){ + tmTask.setTaskStatus(48); + } tmTask.setUpdateTime(new Date()); tmTask.setUpdateBy(SecurityUtils.getUsername()); taskMapper.updateTmTask(tmTask); } + if (scrapAudit.getAuditDetailList() != null && scrapAudit.getAuditDetailList().size() > 0){ + for (RepairAuditDetails bean : auditDetailList){ + bean.setAuditBy(SecurityUtils.getUserId()); + bean.setStatus(status); + repairAuditDetailsMapper.updateStatus(bean); + } + } } return 1; } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/ScrapAudit.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/ScrapAudit.java index 3c7fd1ef..e95f2f19 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/ScrapAudit.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/ScrapAudit.java @@ -1,5 +1,6 @@ package com.bonus.sgzb.material.vo; +import com.bonus.sgzb.material.domain.RepairAuditDetails; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -17,4 +18,7 @@ public class ScrapAudit { @ApiModelProperty(value = "不通过原因") private String remark; + @ApiModelProperty(value = "审核任务明细id") + private List auditDetailList; + } diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairAuditDetailsMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairAuditDetailsMapper.xml index b72bf1fa..58e9f2f7 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairAuditDetailsMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairAuditDetailsMapper.xml @@ -119,6 +119,77 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{companyId}, + + insert into repair_apply_details + ( + + task_id, + + + ma_id, + + + type_id, + + + repair_num, + + + status, + + + create_by, + + + update_by, + + update_time, + + remark, + + + company_id, + + + back_id, + + create_time + ) + values ( + + #{taskId}, + + + #{maId}, + + + #{typeId}, + + + #{backNum}, + + + #{status}, + + + #{createBy}, + + + #{createBy}, + + NOW(), + + #{remark}, + + + #{companyId}, + + + #{id}, + + NOW() + ) + update repair_audit_details @@ -143,6 +214,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + update repair_audit_details + set audit_by = #{auditBy}, + audit_time = now(), + status = #{status} + where id = #{id} + delete from repair_audit_details where id = #{id} diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairTestInputMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairTestInputMapper.xml index 2eda6138..1d7702c1 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairTestInputMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairTestInputMapper.xml @@ -248,4 +248,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{companyId}, + \ No newline at end of file