From 99195a8a81fc5722777a5e5fa2384d7a2add9885 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Thu, 28 Nov 2024 14:41:51 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=8D=95=E5=88=86?= =?UTF-8?q?=E6=8B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repair/domain/vo/RepairDeviceVO.java | 5 +++ .../material/repair/mapper/RepairMapper.java | 2 + .../service/impl/RepairServiceImpl.java | 40 ++++++++++++++----- .../mapper/material/repair/RepairMapper.xml | 8 ++++ 4 files changed, 46 insertions(+), 9 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairDeviceVO.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairDeviceVO.java index 3cc04bca..f26bb2a9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairDeviceVO.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairDeviceVO.java @@ -1,5 +1,6 @@ package com.bonus.material.repair.domain.vo; +import com.bonus.common.core.annotation.Excel; import com.bonus.material.basic.domain.BmFileInfo; import com.bonus.material.repair.domain.RepairPartDetails; import io.swagger.annotations.ApiModelProperty; @@ -49,6 +50,10 @@ public class RepairDeviceVO { @ApiModelProperty(value = "状态") private String status; + /** 退料ID */ + @ApiModelProperty(value = "退料ID") + private Long backId; + @ApiModelProperty(value = "维修配件信息") private String partInfo; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java index e645b530..32ab2959 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java @@ -57,6 +57,8 @@ public interface RepairMapper { */ int updateRepairedNum(@Param("id") Long id, @Param("repairNum") int repairNum, @Param("repairer") Long repairer, @Param("userId") Long userId); + int updateRepairNum(@Param("id") Long id, @Param("repairNum") int repairNum, @Param("repairer") Long repairer, @Param("userId") Long userId); + int updateRepairedNumAndStatus(@Param("id") Long id, @Param("repairNum") int repairNum, @Param("status") int status, @Param("repairer") Long repairer, @Param("userId") Long userId); /** 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 c6d7f6c3..c843d732 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 @@ -6,6 +6,7 @@ import com.bonus.common.biz.enums.RepairTaskStatusEnum; import com.bonus.common.biz.enums.RepairTypeEnum; import com.bonus.common.biz.enums.TmTaskTypeEnum; import com.bonus.common.core.exception.ServiceException; +import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; import com.bonus.material.basic.domain.BmFileInfo; @@ -15,12 +16,14 @@ import com.bonus.material.repair.domain.vo.RepairDeviceSummaryVo; import com.bonus.material.repair.domain.vo.RepairDeviceVO; import com.bonus.material.repair.domain.vo.RepairInputDetailsVo; import com.bonus.material.repair.domain.vo.RepairTicketVo; +import com.bonus.material.repair.mapper.RepairApplyDetailsMapper; import com.bonus.material.repair.mapper.RepairAuditDetailsMapper; import com.bonus.material.repair.mapper.RepairMapper; import com.bonus.material.repair.service.RepairService; import com.bonus.material.task.mapper.TmTaskMapper; import com.bonus.system.api.domain.SysUser; import com.bonus.system.api.model.LoginUser; +import org.springframework.beans.BeanUtils; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -52,6 +55,9 @@ public class RepairServiceImpl implements RepairService { @Resource private RepairAuditDetailsMapper repairAuditDetailsMapper; + @Resource + private RepairApplyDetailsMapper repairApplyDetailsMapper; + // 1:内部维修 2:外部返厂维修 3:报废 private final int INNER_REPAIR = 1; // 需要严格匹配枚举值 RepairTypeEnum.INNER_REPAIR.getTypeId(); private final int RETURN_FACTORY = 2; // 需要严格匹配枚举值 RepairTypeEnum.RETURN_FACTORY.getTypeId(); @@ -74,13 +80,14 @@ public class RepairServiceImpl implements RepairService { Map> map = repairDeviceList.stream().collect(Collectors.groupingBy(RepairDeviceVO::getTypeId)); for (Long key : map.keySet()) { List tempList = map.get(key); + List toRepairList = tempList.stream().filter(o -> !"1".equals(o.getStatus())).collect(Collectors.toList()); if (CollectionUtil.isNotEmpty(tempList)) { RepairDeviceSummaryVo vo = new RepairDeviceSummaryVo(); Long[] ids = tempList.stream().map(RepairDeviceVO::getId).toArray(Long[]::new); int repairNumSum = tempList.stream().mapToInt(RepairDeviceVO::getRepairNum).sum(); int repairedNumSum = tempList.stream().mapToInt(RepairDeviceVO::getRepairedNum).sum(); //BigDecimal typeCostSum = tempList.stream().map(RepairDeviceVO::getTotalCost).reduce(BigDecimal.ZERO, BigDecimal::add); - vo.setRepairDeviceList(tempList); + vo.setRepairDeviceList(toRepairList); vo.setIds(ids); vo.setTypeRepairNum(repairNumSum); vo.setTypeRepairedNum(repairedNumSum); @@ -465,15 +472,30 @@ public class RepairServiceImpl implements RepairService { if (bean.getNumberInRepairPartList().get(0).getRepairNum() != null && bean.getNumberInRepairPartList().get(0).getRepairNum() != 0) { // ---------------校验维修数量----------------- // 统计已维修数量 + 本次维修数量 - int repairNum = OptionalInt.of(details.getRepairedNum()).orElse(0) + bean.getNumberInRepairPartList().get(0).getRepairNum(); - // 统计报废数量 + 维修合计数量 - int num = repairNum + details.getScrapNum(); - if (num > details.getRepairNum()) { - throw new ServiceException("维修数量大于维修总量"); +// int repairNum = OptionalInt.of(details.getRepairedNum()).orElse(0) + bean.getNumberInRepairPartList().get(0).getRepairNum(); +// // 统计报废数量 + 维修合计数量 +// int num = repairNum + details.getScrapNum(); +// if (num > details.getRepairNum()) { +// throw new ServiceException("维修数量大于维修总量"); +// } + + + int thisTimeRepairedNum = bean.getNumberInRepairPartList().get(0).getRepairNum(); + if ((bean.getRepairNum() - thisTimeRepairedNum) == 0) { //本次修完了 + repairMapper.updateRepairedNum(bean.getId(), thisTimeRepairedNum, loginUser.getUserid(), loginUser.getUserid()); + } else { + RepairApplyDetails newDetail = new RepairApplyDetails(); + BeanUtils.copyProperties(bean, newDetail); + newDetail.setRepairNum((long) (thisTimeRepairedNum)); + newDetail.setRepairedNum((long) thisTimeRepairedNum); + newDetail.setCreateBy(SecurityUtils.getUsername()); + newDetail.setCreateTime(DateUtils.getNowDate()); + newDetail.setRepairer(SecurityUtils.getUsername()); + newDetail.setStatus("1"); + repairApplyDetailsMapper.insertRepairApplyDetails(newDetail); + repairMapper.updateRepairNum(bean.getId(), bean.getRepairNum() - thisTimeRepairedNum, loginUser.getUserid(), loginUser.getUserid()); } - // ---------------校验维修数量----------------- - // 更新维修数量、并修改维修人员 - repairMapper.updateRepairedNum(bean.getId(), repairNum, loginUser.getUserid(), loginUser.getUserid()); + // 处理配件集合数据 copeNumberManageInList(bean, partList, loginUser, bean.getManageType()); } 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 e8e95687..23262fec 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 @@ -42,6 +42,13 @@ where id = #{id} + + update repair_apply_details + set repair_num = #{repairNum}, + update_time = now() + where id = #{id} + + update repair_apply_details set repaired_num = #{repairNum}, @@ -275,6 +282,7 @@ su.nick_name as repairer, rad.update_time as updateTime, rad.type_id as typeId, + rad.back_id as backId, rad.create_time, count(rc.id) AS totalCostRecords, sum(rc.costs) AS totalCost From 11d34c654a4a4325695312bdff652ef2f6cd1204 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Thu, 28 Nov 2024 16:24:51 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=8D=95=E5=88=86?= =?UTF-8?q?=E6=8B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/RepairServiceImpl.java | 57 +++++++++++-------- 1 file changed, 33 insertions(+), 24 deletions(-) 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 c843d732..334eed16 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 @@ -29,7 +29,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; -import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.util.*; @@ -480,21 +479,9 @@ public class RepairServiceImpl implements RepairService { // } + // 分拆维修单 int thisTimeRepairedNum = bean.getNumberInRepairPartList().get(0).getRepairNum(); - if ((bean.getRepairNum() - thisTimeRepairedNum) == 0) { //本次修完了 - repairMapper.updateRepairedNum(bean.getId(), thisTimeRepairedNum, loginUser.getUserid(), loginUser.getUserid()); - } else { - RepairApplyDetails newDetail = new RepairApplyDetails(); - BeanUtils.copyProperties(bean, newDetail); - newDetail.setRepairNum((long) (thisTimeRepairedNum)); - newDetail.setRepairedNum((long) thisTimeRepairedNum); - newDetail.setCreateBy(SecurityUtils.getUsername()); - newDetail.setCreateTime(DateUtils.getNowDate()); - newDetail.setRepairer(SecurityUtils.getUsername()); - newDetail.setStatus("1"); - repairApplyDetailsMapper.insertRepairApplyDetails(newDetail); - repairMapper.updateRepairNum(bean.getId(), bean.getRepairNum() - thisTimeRepairedNum, loginUser.getUserid(), loginUser.getUserid()); - } + splitRepairList(bean, thisTimeRepairedNum, loginUser); // 处理配件集合数据 copeNumberManageInList(bean, partList, loginUser, bean.getManageType()); @@ -519,15 +506,20 @@ public class RepairServiceImpl implements RepairService { // 判断外部维修配件数量是否为空 if (partList.get(0).getRepairNum() != null && partList.get(0).getRepairNum() != 0) { - // 统计已维修数量 + 本次维修数量 - int repairNum = OptionalInt.of(details.getRepairedNum()).orElse(0) + partList.get(0).getRepairNum(); - // 统计报废数量 + 维修合计数量 - if ((repairNum + OptionalInt.of(details.getScrapNum()).orElse(0)) > details.getRepairNum()) { - throw new ServiceException("维修数量大于维修总量"); - } +// // 统计已维修数量 + 本次维修数量 +// int repairNum = OptionalInt.of(details.getRepairedNum()).orElse(0) + partList.get(0).getRepairNum(); +// // 统计报废数量 + 维修合计数量 +// if ((repairNum + OptionalInt.of(details.getScrapNum()).orElse(0)) > details.getRepairNum()) { +// throw new ServiceException("维修数量大于维修总量"); +// } +// +// // 更新维修数量、维修人员不变 +// repairMapper.updateRepairedNumTwo(bean.getId(), repairNum, loginUser.getUserid()); + + // 分拆维修单 + int thisTimeRepairedNum = partList.get(0).getRepairNum(); + splitRepairList(bean, thisTimeRepairedNum, loginUser); - // 更新维修数量、维修人员不变 - repairMapper.updateRepairedNumTwo(bean.getId(), repairNum, loginUser.getUserid()); if (partList.get(0).getSupplierId() == null) { throw new ServiceException("请选择返厂厂家"); @@ -625,6 +617,23 @@ public class RepairServiceImpl implements RepairService { return AjaxResult.success("维修完成"); } + private void splitRepairList(RepairDeviceVO bean, int thisTimeRepairedNum, LoginUser loginUser) { + if ((bean.getRepairNum() - thisTimeRepairedNum) == 0) { //本次修完了 + repairMapper.updateRepairedNum(bean.getId(), thisTimeRepairedNum, loginUser.getUserid(), loginUser.getUserid()); + } else { + RepairApplyDetails newDetail = new RepairApplyDetails(); + BeanUtils.copyProperties(bean, newDetail); + newDetail.setRepairNum((long) (thisTimeRepairedNum)); + newDetail.setRepairedNum((long) thisTimeRepairedNum); + newDetail.setCreateBy(SecurityUtils.getUsername()); + newDetail.setCreateTime(DateUtils.getNowDate()); + newDetail.setRepairer(SecurityUtils.getUsername()); + newDetail.setStatus("1"); + repairApplyDetailsMapper.insertRepairApplyDetails(newDetail); + repairMapper.updateRepairNum(bean.getId(), bean.getRepairNum() - thisTimeRepairedNum, loginUser.getUserid(), loginUser.getUserid()); + } + } + /** * 配件列表价格合计 * @param partList 配件列表 @@ -633,7 +642,7 @@ public class RepairServiceImpl implements RepairService { */ private static BigDecimal countPartCosts(List partList, BigDecimal sfCosts) { for (RepairPartDetails partDetails : partList) { - if (partDetails.getPartPrice() != null) { + if (partDetails.getPartPrice() != null && partDetails.getPartNum() != null) { BigDecimal partPrice = partDetails.getPartPrice(); BigDecimal partNumber = new BigDecimal(partDetails.getPartNum()); sfCosts = sfCosts.add(partPrice.multiply(partNumber)); From 989a2fa4524a3d7dd7dfdeef7c7f2b0d3af62520 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Thu, 28 Nov 2024 16:41:39 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=8D=95=E5=88=86?= =?UTF-8?q?=E6=8B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/RepairServiceImpl.java | 51 ++++++++++++++----- 1 file changed, 39 insertions(+), 12 deletions(-) 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 334eed16..9c69836b 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 @@ -85,11 +85,13 @@ public class RepairServiceImpl implements RepairService { Long[] ids = tempList.stream().map(RepairDeviceVO::getId).toArray(Long[]::new); int repairNumSum = tempList.stream().mapToInt(RepairDeviceVO::getRepairNum).sum(); int repairedNumSum = tempList.stream().mapToInt(RepairDeviceVO::getRepairedNum).sum(); + int scrapNumSum = tempList.stream().mapToInt(RepairDeviceVO::getScrapNum).sum(); //BigDecimal typeCostSum = tempList.stream().map(RepairDeviceVO::getTotalCost).reduce(BigDecimal.ZERO, BigDecimal::add); vo.setRepairDeviceList(toRepairList); vo.setIds(ids); vo.setTypeRepairNum(repairNumSum); vo.setTypeRepairedNum(repairedNumSum); + vo.setTypeScrapNum(scrapNumSum); //vo.setTypeCost(typeCostSum); vo.setTaskId(tempList.get(0).getTaskId()); vo.setCode(tempList.get(0).getCode()); @@ -557,19 +559,27 @@ public class RepairServiceImpl implements RepairService { if (Objects.isNull(details)) { throw new ServiceException("此维修记录不存在,请检查后提交!"); } - // -------------校验维修数量开始---------------- - // 统计历史已报废数量 + 本次报废数量 = 报废总数 - int scrapNum = OptionalInt.of(details.getScrapNum()).orElse(0) + bean.getNumberScrapRepairPartList().get(0).getScrapNum(); - // 统计 报废总数 + 历史已维修数量, - int num = scrapNum + details.getRepairedNum(); - // 不能大与总的待维修数量 - if (num > details.getRepairNum()) { - throw new ServiceException("报废数量大于维修总量! 本次报废数量:" + bean.getScrapNum() + ",已报废数量:" + details.getScrapNum() + ",维修总量:" + details.getRepairNum()); - } - // -------------校验维修数量结束---------------- - // 更新报废数量 - repairMapper.updateScrapNum(bean.getId(), scrapNum, loginUser.getUserid()); + +// // -------------校验维修数量开始---------------- +// // 统计历史已报废数量 + 本次报废数量 = 报废总数 +// int scrapNum = OptionalInt.of(details.getScrapNum()).orElse(0) + bean.getNumberScrapRepairPartList().get(0).getScrapNum(); +// // 统计 报废总数 + 历史已维修数量, +// int num = scrapNum + details.getRepairedNum(); +// // 不能大与总的待维修数量 +// if (num > details.getRepairNum()) { +// throw new ServiceException("报废数量大于维修总量! 本次报废数量:" + bean.getScrapNum() + ",已报废数量:" + details.getScrapNum() + ",维修总量:" + details.getRepairNum()); +// } +// // -------------校验维修数量结束---------------- +// +// // 更新报废数量 +// repairMapper.updateScrapNum(bean.getId(), scrapNum, loginUser.getUserid()); + + + // 维修单拆分--报废机具 + int thisTimeScrapNumber = bean.getNumberScrapRepairPartList().get(0).getScrapNum(); + splitRepairListToScrap(bean, thisTimeScrapNumber, loginUser); + if (CollectionUtil.isNotEmpty(bean.getNumberScrapRepairPartList().get(0).getFileList())) { for (BmFileInfo fileInfo : bean.getNumberScrapRepairPartList().get(0).getFileList()) { @@ -634,6 +644,23 @@ public class RepairServiceImpl implements RepairService { } } + private void splitRepairListToScrap(RepairDeviceVO bean, int thisTimeScrapNum, LoginUser loginUser) { + if ((bean.getRepairNum() - thisTimeScrapNum) == 0) { + repairMapper.updateScrapNum(bean.getId(), thisTimeScrapNum, loginUser.getUserid()); + } else { + RepairApplyDetails newDetail = new RepairApplyDetails(); + BeanUtils.copyProperties(bean, newDetail); + newDetail.setRepairNum((long) (thisTimeScrapNum)); + newDetail.setScrapNum((long) thisTimeScrapNum); + newDetail.setCreateBy(SecurityUtils.getUsername()); + newDetail.setCreateTime(DateUtils.getNowDate()); + newDetail.setRepairer(SecurityUtils.getUsername()); + newDetail.setStatus("1"); + repairApplyDetailsMapper.insertRepairApplyDetails(newDetail); + repairMapper.updateRepairNum(bean.getId(), bean.getRepairNum() - thisTimeScrapNum, loginUser.getUserid(), loginUser.getUserid()); + } + } + /** * 配件列表价格合计 * @param partList 配件列表 From b462a2bbef837ec818647a8756b9614fc2a54acc Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Thu, 28 Nov 2024 17:11:25 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=8D=95=E5=88=86?= =?UTF-8?q?=E6=8B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../material/repair/mapper/RepairMapper.java | 6 ++++-- .../repair/service/impl/RepairServiceImpl.java | 15 +++++++-------- .../mapper/material/repair/RepairMapper.xml | 16 ++++++++++++---- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java index 32ab2959..4ba69a06 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java @@ -106,6 +106,8 @@ public interface RepairMapper { */ int updateTaskStatus(@Param("taskList") List taskList, @Param("userId") Long userid, @Param("taskStatus") Integer taskStatus); + int updateSingleTaskStatus(@Param("task") RepairTask task, @Param("userId") Long userid, @Param("taskStatus") Integer taskStatus); + /** * 新增任务 * @param task 任务信息 @@ -132,9 +134,9 @@ public interface RepairMapper { /** * 根据任务Id获取维修详细 - * @param task 任务信息 + * @param taskId 任务信息ID */ - List getDetailsListByTaskId(RepairTask task); + List getDetailsListByTaskIdAndStatus(@Param("taskId") Long taskId, @Param("status") String status); /** * 新增修饰审核审核数据 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 9c69836b..8d6d8189 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 @@ -842,28 +842,27 @@ public class RepairServiceImpl implements RepairService { // 1.查询选择任务是否还有未完成维修的数据 for (RepairTask task : taskList) { - if (repairMapper.getUnFinish(task) > 0) { - return AjaxResult.error("选中的数据中包含维修未完成的,请完成维修再进行提交审核"); + if (repairMapper.getUnFinish(task) == 0) { + repairMapper.updateSingleTaskStatus(task, loginUser.getUserid(), RepairTaskStatusEnum.TASK_STATUS_COMPLETE.getStatus()); } } - // 2.更新tm_task任务状态 - repairMapper.updateTaskStatus(taskList, loginUser.getUserid(), RepairTaskStatusEnum.TASK_STATUS_COMPLETE.getStatus()); - // 3.业务逻辑处理 for (RepairTask task : taskList) { + Long wxTaskId = task.getTaskId(); task.setCreateBy(loginUser.getUserid()); // 查询任务的协议id Long agreementId = repairMapper.getAgreementId(task); - // 查询维修任务的详情表 - List detailsList = repairMapper.getDetailsListByTaskId(task); // 新增tm_task表数据、修饰审核任务、状态是待审核 task.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR_AUDIT.getTaskTypeId()); task.setTaskStatus(RepairTaskStatusEnum.TASK_STATUS_TO_EXAM.getStatus()); repairMapper.addTask(task); // 循环插入【修饰审核明细表】 - repairAuditDetailsMapper.deleteRepairAuditDetailsByTaskId(task.getTaskId()); + //repairAuditDetailsMapper.deleteRepairAuditDetailsByTaskId(task.getTaskId()); + + // 查询维修任务的详情表 + List detailsList = repairMapper.getDetailsListByTaskIdAndStatus(wxTaskId, "1"); for (RepairTaskDetails details : detailsList) { details.setCreateBy(String.valueOf(loginUser.getUserid())); details.setTaskId(task.getTaskId()); 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 23262fec..e996ea62 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 @@ -108,14 +108,22 @@ update tm_task set task_status = #{taskStatus}, - update_by = #{userId}, - update_time = now() + update_by = #{userId}, + update_time = now() where task_id in #{task.taskId} + + update tm_task + set task_status = #{taskStatus}, + update_by = #{userId}, + update_time = now() + where task_id = #{task.taskId} + + - select id, ma_id as maId, type_id as typeId, @@ -400,7 +408,7 @@ scrap_num as scrapNum, company_id as companyId from repair_apply_details - where task_id = #{taskId} + where task_id = #{taskId} and status = #{status} + select id, + ma_id as maId, + type_id as typeId, + repair_num as repairNum, + repaired_num as repairedNum, + scrap_num as scrapNum, + company_id as companyId + from repair_apply_details + where task_id = #{taskId} and status = #{status} + + delete from repair_apply_details where id = #{id} + + delete from repair_apply_details where task_id = #{taskId} and status = #{status} + + delete from repair_apply_details where id in 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 e996ea62..d7925ef7 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 @@ -399,18 +399,6 @@ where task_id = #{taskId} and status = '0' - - From ee9155b38679cc053be27ec53e23a530b72315db Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Thu, 28 Nov 2024 18:16:02 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=8D=95=E5=88=86?= =?UTF-8?q?=E6=8B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/RepairAuditDetailsMapper.java | 2 + .../service/impl/RepairServiceImpl.java | 39 +++++++++---------- .../repair/RepairApplyDetailsMapper.xml | 2 +- .../repair/RepairAuditDetailsMapper.xml | 4 ++ 4 files changed, 25 insertions(+), 22 deletions(-) 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 c358f421..4d95bcf7 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 @@ -83,6 +83,8 @@ public interface RepairAuditDetailsMapper { int deleteRepairAuditDetailsByTaskId(Long taskId); + int deleteRepairAuditDetailsByRepairId(@Param("repairId") Long repairId); + /** * 批量删除修试审核详细 * 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 c182ab8b..1a0dd450 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 @@ -27,6 +27,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.validation.constraints.NotNull; @@ -849,30 +850,26 @@ public class RepairServiceImpl implements RepairService { // 3.业务逻辑处理 for (RepairTask task : taskList) { - Long wxTaskId = task.getTaskId(); - task.setCreateBy(loginUser.getUserid()); - // 查询任务的协议id - Long agreementId = repairMapper.getAgreementId(task); - // 新增tm_task表数据、修饰审核任务、状态是待审核 - task.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR_AUDIT.getTaskTypeId()); - task.setTaskStatus(RepairTaskStatusEnum.TASK_STATUS_TO_EXAM.getStatus()); - repairMapper.addTask(task); - - // 循环插入【修饰审核明细表】 - //repairAuditDetailsMapper.deleteRepairAuditDetailsByTaskId(task.getTaskId()); - // 查询维修任务的详情表 + Long wxTaskId = task.getTaskId(); List detailsList = repairApplyDetailsMapper.getDetailsListByTaskIdAndStatus(wxTaskId, "1"); - for (RepairTaskDetails details : detailsList) { - details.setCreateBy(String.valueOf(loginUser.getUserid())); - details.setTaskId(task.getTaskId()); - repairMapper.addAuditDetails(details); + if (!CollectionUtils.isEmpty(detailsList)) { + task.setCreateBy(loginUser.getUserid()); + Long agreementId = repairMapper.getAgreementId(task); + // 新增tm_task表数据、修饰审核任务、状态是待审核 + task.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR_AUDIT.getTaskTypeId()); + task.setTaskStatus(RepairTaskStatusEnum.TASK_STATUS_TO_EXAM.getStatus()); + repairMapper.addTask(task); + // 新增协议任务表tm_task_agreement--关联修饰任务与协议 + task.setAgreementId(agreementId); + repairMapper.createAgreementTask(task); + // 新增审计记录 + for (RepairTaskDetails details : detailsList) { + details.setCreateBy(String.valueOf(loginUser.getUserid())); + details.setTaskId(task.getTaskId()); + repairMapper.addAuditDetails(details); + } } - repairApplyDetailsMapper.deleteRepairApplyDetailsByTaskIdAndStatus(wxTaskId, "1"); - - // 新增协议任务表--关联修饰任务与协议 - task.setAgreementId(agreementId); - repairMapper.createAgreementTask(task); } return AjaxResult.success(); } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml index 692b7878..83f5e14b 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml @@ -116,7 +116,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" scrap_num as scrapNum, company_id as companyId from repair_apply_details - where task_id = #{taskId} and status = #{status} + where task_id = #{taskId} and status = #{status} and sent_to_next_phase = '0' 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 caac0cee..6196a440 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 @@ -281,6 +281,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from repair_audit_details where task_id = #{taskId} + + delete from repair_audit_details where repair_id = #{repairId} + + delete from repair_audit_details where id in From 29ce4f6aebc51f9e331009b6d84a6ea302d80864 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Thu, 28 Nov 2024 18:27:33 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=8D=95=E5=88=86?= =?UTF-8?q?=E6=8B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/material/repair/domain/RepairApplyDetails.java | 2 ++ .../material/repair/mapper/RepairApplyDetailsMapper.java | 2 +- .../material/repair/service/impl/RepairServiceImpl.java | 7 ++++++- .../mapper/material/repair/RepairApplyDetailsMapper.xml | 5 +++-- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairApplyDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairApplyDetails.java index ffd584af..f3bacbd7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairApplyDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairApplyDetails.java @@ -72,5 +72,7 @@ public class RepairApplyDetails extends BaseEntity { @ApiModelProperty(value = "维修人") private String repairer; + @ApiModelProperty(value = "发送到下一个阶段") + private String sentToNextPhase; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairApplyDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairApplyDetailsMapper.java index 48c51ca7..c3d86172 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairApplyDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairApplyDetailsMapper.java @@ -48,7 +48,7 @@ public interface RepairApplyDetailsMapper { * 根据任务Id获取维修详细 * @param taskId 任务信息ID */ - List getDetailsListByTaskIdAndStatus(@Param("taskId") Long taskId, @Param("status") String status); + List getRepairDetailsWhichNotSent(@Param("taskId") Long taskId); /** * 删除维修详细 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 1a0dd450..b128006e 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 @@ -1,6 +1,7 @@ package com.bonus.material.repair.service.impl; import cn.hutool.core.collection.CollectionUtil; +import com.bonus.common.biz.domain.R; import com.bonus.common.biz.enums.MaTypeManageTypeEnum; import com.bonus.common.biz.enums.RepairTaskStatusEnum; import com.bonus.common.biz.enums.RepairTypeEnum; @@ -852,7 +853,7 @@ public class RepairServiceImpl implements RepairService { for (RepairTask task : taskList) { // 查询维修任务的详情表 Long wxTaskId = task.getTaskId(); - List detailsList = repairApplyDetailsMapper.getDetailsListByTaskIdAndStatus(wxTaskId, "1"); + List detailsList = repairApplyDetailsMapper.getRepairDetailsWhichNotSent(wxTaskId); if (!CollectionUtils.isEmpty(detailsList)) { task.setCreateBy(loginUser.getUserid()); Long agreementId = repairMapper.getAgreementId(task); @@ -865,6 +866,10 @@ public class RepairServiceImpl implements RepairService { repairMapper.createAgreementTask(task); // 新增审计记录 for (RepairTaskDetails details : detailsList) { + RepairApplyDetails repairApplyDetails = new RepairApplyDetails(); + repairApplyDetails.setId(details.getId()); + repairApplyDetails.setSentToNextPhase("1"); + repairApplyDetailsMapper.updateRepairApplyDetails(repairApplyDetails); details.setCreateBy(String.valueOf(loginUser.getUserid())); details.setTaskId(task.getTaskId()); repairMapper.addAuditDetails(details); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml index 83f5e14b..ead92559 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml @@ -103,11 +103,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" company_id = #{companyId}, back_id = #{backId}, repairer = #{repairer}, + sent_to_next_phase = #{sentToNextPhase}, where id = #{id} - select id, ma_id as maId, type_id as typeId, @@ -116,7 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" scrap_num as scrapNum, company_id as companyId from repair_apply_details - where task_id = #{taskId} and status = #{status} and sent_to_next_phase = '0' + where task_id = #{taskId} and status = '1' and sent_to_next_phase = '0' From b970a71b9c92f119319020eed2a5d6ee9330f015 Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Thu, 28 Nov 2024 18:50:16 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=8D=95=E5=88=86?= =?UTF-8?q?=E6=8B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/RepairServiceImpl.java | 94 +++++-------------- 1 file changed, 23 insertions(+), 71 deletions(-) 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 b128006e..10787156 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 @@ -1,7 +1,6 @@ package com.bonus.material.repair.service.impl; import cn.hutool.core.collection.CollectionUtil; -import com.bonus.common.biz.domain.R; import com.bonus.common.biz.enums.MaTypeManageTypeEnum; import com.bonus.common.biz.enums.RepairTaskStatusEnum; import com.bonus.common.biz.enums.RepairTypeEnum; @@ -462,6 +461,10 @@ public class RepairServiceImpl implements RepairService { continue; } + int innerRepairNum = 0; + int outerRepairNum = 0; + int scrapNum = 0; + // 处理配件--数量管理--内部维修 if (CollectionUtil.isNotEmpty(bean.getNumberInRepairPartList())) { // 获取维修详情表中的维修详情记录:待维修、已维修、已报废的数量 @@ -473,20 +476,8 @@ public class RepairServiceImpl implements RepairService { partList = bean.getNumberInRepairPartList(); if (bean.getNumberInRepairPartList().get(0).getRepairNum() != null && bean.getNumberInRepairPartList().get(0).getRepairNum() != 0) { - // ---------------校验维修数量----------------- - // 统计已维修数量 + 本次维修数量 -// int repairNum = OptionalInt.of(details.getRepairedNum()).orElse(0) + bean.getNumberInRepairPartList().get(0).getRepairNum(); -// // 统计报废数量 + 维修合计数量 -// int num = repairNum + details.getScrapNum(); -// if (num > details.getRepairNum()) { -// throw new ServiceException("维修数量大于维修总量"); -// } - - - // 分拆维修单 - int thisTimeRepairedNum = bean.getNumberInRepairPartList().get(0).getRepairNum(); - splitRepairList(bean, thisTimeRepairedNum, loginUser); - + // 分拆维修单, 准备数据 + innerRepairNum = bean.getNumberInRepairPartList().get(0).getRepairNum(); // 处理配件集合数据 copeNumberManageInList(bean, partList, loginUser, bean.getManageType()); } @@ -509,21 +500,8 @@ public class RepairServiceImpl implements RepairService { // 判断外部维修配件数量是否为空 if (partList.get(0).getRepairNum() != null && partList.get(0).getRepairNum() != 0) { - -// // 统计已维修数量 + 本次维修数量 -// int repairNum = OptionalInt.of(details.getRepairedNum()).orElse(0) + partList.get(0).getRepairNum(); -// // 统计报废数量 + 维修合计数量 -// if ((repairNum + OptionalInt.of(details.getScrapNum()).orElse(0)) > details.getRepairNum()) { -// throw new ServiceException("维修数量大于维修总量"); -// } -// -// // 更新维修数量、维修人员不变 -// repairMapper.updateRepairedNumTwo(bean.getId(), repairNum, loginUser.getUserid()); - - // 分拆维修单 - int thisTimeRepairedNum = partList.get(0).getRepairNum(); - splitRepairList(bean, thisTimeRepairedNum, loginUser); - + // 分拆维修单, 准备数据 + outerRepairNum = partList.get(0).getRepairNum(); if (partList.get(0).getSupplierId() == null) { throw new ServiceException("请选择返厂厂家"); @@ -562,25 +540,8 @@ public class RepairServiceImpl implements RepairService { throw new ServiceException("此维修记录不存在,请检查后提交!"); } - -// // -------------校验维修数量开始---------------- -// // 统计历史已报废数量 + 本次报废数量 = 报废总数 -// int scrapNum = OptionalInt.of(details.getScrapNum()).orElse(0) + bean.getNumberScrapRepairPartList().get(0).getScrapNum(); -// // 统计 报废总数 + 历史已维修数量, -// int num = scrapNum + details.getRepairedNum(); -// // 不能大与总的待维修数量 -// if (num > details.getRepairNum()) { -// throw new ServiceException("报废数量大于维修总量! 本次报废数量:" + bean.getScrapNum() + ",已报废数量:" + details.getScrapNum() + ",维修总量:" + details.getRepairNum()); -// } -// // -------------校验维修数量结束---------------- -// -// // 更新报废数量 -// repairMapper.updateScrapNum(bean.getId(), scrapNum, loginUser.getUserid()); - - - // 维修单拆分--报废机具 - int thisTimeScrapNumber = bean.getNumberScrapRepairPartList().get(0).getScrapNum(); - splitRepairListToScrap(bean, thisTimeScrapNumber, loginUser); + // 分拆维修单, 准备数据 + scrapNum = bean.getNumberScrapRepairPartList().get(0).getScrapNum(); if (CollectionUtil.isNotEmpty(bean.getNumberScrapRepairPartList().get(0).getFileList())) { @@ -621,6 +582,11 @@ public class RepairServiceImpl implements RepairService { } } + + // 拆分维修单 + SplitRepairDetailsToMultiple(bean, innerRepairNum, outerRepairNum, scrapNum, loginUser); + + } else { throw new ServiceException("请选择正确的维修类型"); } @@ -629,39 +595,25 @@ public class RepairServiceImpl implements RepairService { return AjaxResult.success("维修完成"); } - private void splitRepairList(RepairDeviceVO bean, int thisTimeRepairedNum, LoginUser loginUser) { - if ((bean.getRepairNum() - thisTimeRepairedNum) == 0) { //本次修完了 - repairMapper.updateRepairedNum(bean.getId(), thisTimeRepairedNum, loginUser.getUserid(), loginUser.getUserid()); + private void SplitRepairDetailsToMultiple(RepairDeviceVO bean, int innerRepairNum, int outerRepairNum, int scrapNum, LoginUser loginUser) { + if ((bean.getRepairNum() - innerRepairNum - outerRepairNum - scrapNum) == 0) { //本次修完了 + repairMapper.updateRepairedNum(bean.getId(), innerRepairNum + outerRepairNum, loginUser.getUserid(), loginUser.getUserid()); + repairMapper.updateScrapNum(bean.getId(), scrapNum, loginUser.getUserid()); } else { RepairApplyDetails newDetail = new RepairApplyDetails(); BeanUtils.copyProperties(bean, newDetail); - newDetail.setRepairNum((long) (thisTimeRepairedNum)); - newDetail.setRepairedNum((long) thisTimeRepairedNum); + newDetail.setRepairNum((long) (innerRepairNum + outerRepairNum + scrapNum)); + newDetail.setRepairedNum((long) innerRepairNum + outerRepairNum); + newDetail.setScrapNum((long) scrapNum); newDetail.setCreateBy(SecurityUtils.getUsername()); newDetail.setCreateTime(DateUtils.getNowDate()); newDetail.setRepairer(SecurityUtils.getUsername()); newDetail.setStatus("1"); repairApplyDetailsMapper.insertRepairApplyDetails(newDetail); - repairMapper.updateRepairNum(bean.getId(), bean.getRepairNum() - thisTimeRepairedNum, loginUser.getUserid(), loginUser.getUserid()); + repairMapper.updateRepairNum(bean.getId(), bean.getRepairNum() - innerRepairNum - outerRepairNum - scrapNum, loginUser.getUserid(), loginUser.getUserid()); } } - private void splitRepairListToScrap(RepairDeviceVO bean, int thisTimeScrapNum, LoginUser loginUser) { - if ((bean.getRepairNum() - thisTimeScrapNum) == 0) { - repairMapper.updateScrapNum(bean.getId(), thisTimeScrapNum, loginUser.getUserid()); - } else { - RepairApplyDetails newDetail = new RepairApplyDetails(); - BeanUtils.copyProperties(bean, newDetail); - newDetail.setRepairNum((long) (thisTimeScrapNum)); - newDetail.setScrapNum((long) thisTimeScrapNum); - newDetail.setCreateBy(SecurityUtils.getUsername()); - newDetail.setCreateTime(DateUtils.getNowDate()); - newDetail.setRepairer(SecurityUtils.getUsername()); - newDetail.setStatus("1"); - repairApplyDetailsMapper.insertRepairApplyDetails(newDetail); - repairMapper.updateRepairNum(bean.getId(), bean.getRepairNum() - thisTimeScrapNum, loginUser.getUserid(), loginUser.getUserid()); - } - } /** * 配件列表价格合计 From 04b8cded956c39e08fbf4c63060953397cb94a6b Mon Sep 17 00:00:00 2001 From: sxu <602087911@qq.com> Date: Thu, 28 Nov 2024 19:20:35 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=8D=95=E5=88=86?= =?UTF-8?q?=E6=8B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repair/domain/RepairTaskDetails.java | 3 +++ .../service/impl/RepairServiceImpl.java | 7 ++++--- .../repair/RepairApplyDetailsMapper.xml | 20 ++++++++++--------- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java index 60173576..a44ea783 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/RepairTaskDetails.java @@ -98,6 +98,9 @@ public class RepairTaskDetails extends BaseEntity { @ApiModelProperty(value = "关键字") private String keyword; + @ApiModelProperty(value = "维修任务编码") + private String taskCode; + public RepairTaskDetails(Long taskId) { this.taskId = taskId; } 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 10787156..7b1b206c 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 @@ -804,15 +804,16 @@ public class RepairServiceImpl implements RepairService { // 3.业务逻辑处理 for (RepairTask task : taskList) { // 查询维修任务的详情表 - Long wxTaskId = task.getTaskId(); - List detailsList = repairApplyDetailsMapper.getRepairDetailsWhichNotSent(wxTaskId); + Long oldWxTaskId = task.getTaskId(); + List detailsList = repairApplyDetailsMapper.getRepairDetailsWhichNotSent(oldWxTaskId); if (!CollectionUtils.isEmpty(detailsList)) { task.setCreateBy(loginUser.getUserid()); Long agreementId = repairMapper.getAgreementId(task); // 新增tm_task表数据、修饰审核任务、状态是待审核 task.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR_AUDIT.getTaskTypeId()); task.setTaskStatus(RepairTaskStatusEnum.TASK_STATUS_TO_EXAM.getStatus()); - repairMapper.addTask(task); + task.setRepairCode(detailsList.get(0).getTaskCode()); + repairMapper.addTask(task); // 注意:此处将会生成新的 taskId (审核入库用的) // 新增协议任务表tm_task_agreement--关联修饰任务与协议 task.setAgreementId(agreementId); repairMapper.createAgreementTask(task); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml index ead92559..7c6a4e64 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/repair/RepairApplyDetailsMapper.xml @@ -109,15 +109,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"