From d6279ec605f5f090ac1dcd4e81f936d53ea99a3d Mon Sep 17 00:00:00 2001 From: mashuai Date: Thu, 31 Jul 2025 15:06:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SelectServiceImpl.java | 8 +- .../repair/domain/vo/RepairDeviceVO.java | 6 ++ .../repair/domain/vo/RepairFileInfo.java | 25 +++++ .../service/impl/RepairServiceImpl.java | 91 +++++++++++-------- 4 files changed, 92 insertions(+), 38 deletions(-) create mode 100644 bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairFileInfo.java diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java index 93d4b358..3f5c28a1 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/common/service/impl/SelectServiceImpl.java @@ -291,9 +291,13 @@ public class SelectServiceImpl implements SelectService { bmUnit.setUnitId(info.getUnitId()); List unitList = mapper.getUnitList(bmUnit); if (CollectionUtils.isNotEmpty(unitList)) { - list.addAll(unitList); + // 将unitList数据添加到list中,但需进行去重 + for (ProjectTreeNode projectTreeNode : unitList) { + if (!list.contains(projectTreeNode)) { + list.add(projectTreeNode); + } + } } - } list = list.stream() .filter(Objects::nonNull) 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 ac5e40a6..e6110300 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 @@ -113,6 +113,12 @@ public class RepairDeviceVO { @ApiModelProperty(value = "报废附件") private List fileList; + @ApiModelProperty(value = "内部维修附件") + private List inRepairList; + + @ApiModelProperty(value = "外部维修附件") + private List outRepairList; + private String createBy; @ApiModelProperty(value = "维修拆分层级") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairFileInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairFileInfo.java new file mode 100644 index 00000000..2c77b6c0 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairFileInfo.java @@ -0,0 +1,25 @@ +package com.bonus.material.repair.domain.vo; + +import com.bonus.common.biz.domain.BmFileInfo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * @author : 阮世耀 + * @version : 1.0 + * @CreateTime: 2024-11-15 14:35 + * @Description: 维修附件及备注 + */ +@Data +@Accessors(chain = true) +public class RepairFileInfo { + + @ApiModelProperty(value = "维修附件") + private List fileList; + + @ApiModelProperty(value = "备注") + private String remark; +} 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 8a146f07..2b5d38df 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 @@ -541,12 +541,34 @@ public class RepairServiceImpl implements RepairService { partList = bean.getCodeInRepairPartList(); // 更新维修数量、并修改维修人员 repairMapper.updateRepairedNumAndStatus(bean.getId(), BigDecimal.ONE, 1, loginUser.getUsername(), loginUser.getUserid()); + // 保存内部维修文件 + if (CollectionUtil.isNotEmpty(bean.getInRepairList().get(0).getFileList())) { + for (BmFileInfo fileInfo : bean.getInRepairList().get(0).getFileList()) { + fileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId()) + .setFileType(Long.valueOf(RepairTypeEnum.INNER_REPAIR.getTypeId())) + .setTaskId(bean.getTaskId()).setModelId(bean.getId()) + .setCreateBy(loginUser.getUsername()); + fileInfo.setCreateTime(DateUtils.getNowDate()); + bmFileInfoMapper.insertBmFileInfo(fileInfo); + } + } break; } case RETURN_FACTORY: { partList = bean.getCodeOutRepairPartList(); // 更新维修数量、维修人员不变 repairMapper.updateRepairedNumTwoAndStatus(bean.getId(), BigDecimal.ONE, 1, loginUser.getUserid()); + // 保存外部维修文件 + if (CollectionUtil.isNotEmpty(bean.getOutRepairList().get(0).getFileList())) { + for (BmFileInfo fileInfo : bean.getOutRepairList().get(0).getFileList()) { + fileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId()) + .setFileType(Long.valueOf(RepairTypeEnum.RETURN_FACTORY.getTypeId())) + .setTaskId(bean.getTaskId()).setModelId(bean.getId()) + .setCreateBy(loginUser.getUsername()); + fileInfo.setCreateTime(DateUtils.getNowDate()); + bmFileInfoMapper.insertBmFileInfo(fileInfo); + } + } break; } case TO_SCRAP: { @@ -619,6 +641,17 @@ public class RepairServiceImpl implements RepairService { copeNumberManageInList(bean, partList, loginUser, bean.getManageType()); } } + // 保存内部维修文件 + if (CollectionUtil.isNotEmpty(bean.getInRepairList().get(0).getFileList())) { + for (BmFileInfo fileInfo : bean.getInRepairList().get(0).getFileList()) { + fileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId()) + .setFileType(Long.valueOf(RepairTypeEnum.INNER_REPAIR.getTypeId())) + .setTaskId(bean.getTaskId()).setModelId(bean.getId()) + .setCreateBy(loginUser.getUsername()); + fileInfo.setCreateTime(DateUtils.getNowDate()); + bmFileInfoMapper.insertBmFileInfo(fileInfo); + } + } // 处理配件集合数据 -- 数量管理--外部返厂维修 if (CollectionUtil.isNotEmpty(bean.getNumberOutRepairPartList())) { @@ -649,18 +682,19 @@ public class RepairServiceImpl implements RepairService { .setPartNum(repairPartDetails.getPartNum()).setRepairer(loginUser.getUsername()) .setPartPrice(Optional.ofNullable(repairPartDetails.getPartPrice()).orElse(BigDecimal.ZERO)) .setCreateBy(loginUser.getUsername()); - repairApplyRecord.setRemark(StringUtils.isNotBlank(repairPartDetails.getRemark()) ? repairPartDetails.getRemark() : ""); + repairApplyRecord.setRemark(StringUtils.isNotBlank(bean.getOutRepairList().get(0).getRemark()) ? bean.getOutRepairList().get(0).getRemark() : ""); // 新增【维修记录表】 repairMapper.addRecord(repairApplyRecord); - // 保存外部维修附件 - if (CollectionUtils.isEmpty(repairPartDetails.getFileList())) { - for (BmFileInfo fileInfo : repairPartDetails.getFileList()) { - fileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId()) - .setFileType(Long.valueOf(RepairTypeEnum.RETURN_FACTORY.getTypeId())) - .setTaskId(bean.getTaskId()).setModelId(bean.getId()) - .setCreateBy(loginUser.getUsername()); - bmFileInfoMapper.insertBmFileInfo(fileInfo); - } + } + // 保存外部维修文件 + if (CollectionUtil.isNotEmpty(bean.getOutRepairList().get(0).getFileList())) { + for (BmFileInfo fileInfo : bean.getOutRepairList().get(0).getFileList()) { + fileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId()) + .setFileType(Long.valueOf(RepairTypeEnum.RETURN_FACTORY.getTypeId())) + .setTaskId(bean.getTaskId()).setModelId(bean.getId()) + .setCreateBy(loginUser.getUsername()); + fileInfo.setCreateTime(DateUtils.getNowDate()); + bmFileInfoMapper.insertBmFileInfo(fileInfo); } } for (int i = 0; i < partList.size(); i++) { @@ -706,7 +740,6 @@ public class RepairServiceImpl implements RepairService { .setScrapReason(bean.getNumberScrapRepairPartList().get(0).getScrapReason()) .setScrapType(bean.getNumberScrapRepairPartList().get(0).getScrapType()) .setRepairer(loginUser.getUsername()).setCreateBy(loginUser.getUsername()); - repairApplyRecord.setRemark(StringUtils.isNotBlank(bean.getNumberScrapRepairPartList().get(0).getRemark()) ? bean.getNumberScrapRepairPartList().get(0).getRemark() : ""); // 因报废操作无需配件, 只添加【维修记录表】 repairMapper.addRecord(repairApplyRecord); } @@ -720,7 +753,6 @@ public class RepairServiceImpl implements RepairService { .setScrapReason(bean.getNumberScrapRepairPartList().get(0).getScrapReason()) .setScrapType(bean.getNumberScrapRepairPartList().get(0).getScrapType()) .setRepairer(loginUser.getUsername()).setCreateBy(loginUser.getUsername()); - repairApplyRecord.setRemark(StringUtils.isNotBlank(bean.getNumberScrapRepairPartList().get(0).getRemark()) ? bean.getNumberScrapRepairPartList().get(0).getRemark() : ""); // 因报废操作无需配件, 只添加【维修记录表】 repairMapper.addRecord(repairApplyRecord); } @@ -864,7 +896,7 @@ public class RepairServiceImpl implements RepairService { } repairApplyRecord.setCreateBy(loginUser.getUsername()); repairApplyRecord.setStatus(0L); - repairApplyRecord.setRemark(StringUtils.isNotBlank(partDetails.getRemark()) ? partDetails.getRemark() : ""); + repairApplyRecord.setRemark(StringUtils.isNotBlank(bean.getInRepairList().get(0).getRemark()) ? bean.getInRepairList().get(0).getRemark() : ""); if ((null != partDetails.getId() || null != partDetails.getPartId()) && null != partDetails.getPartNum()) { partDetails.setPartId(null != partDetails.getPartId() ? partDetails.getPartId() : partDetails.getId()); // 有维修配件时,如果价格为空,设置为0 @@ -917,16 +949,6 @@ public class RepairServiceImpl implements RepairService { // 不选维修配件时, 只添加【维修记录表】 repairMapper.addRecord(repairApplyRecord); } - // 保存内部维修文件 - if (CollectionUtils.isEmpty(partDetails.getFileList())) { - for (BmFileInfo fileInfo : partDetails.getFileList()) { - fileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId()) - .setFileType(Long.valueOf(RepairTypeEnum.RETURN_FACTORY.getTypeId())) - .setTaskId(bean.getTaskId()).setModelId(bean.getId()) - .setCreateBy(loginUser.getUsername()); - bmFileInfoMapper.insertBmFileInfo(fileInfo); - } - } } // 根据配件id 统计配件费用 PartType type = partTypeMapper.selectPartTypeByPaId(partList.get(0).getPartId()); @@ -969,9 +991,18 @@ public class RepairServiceImpl implements RepairService { if (null == partList.get(i).getSupplierId()) { throw new ServiceException("请选择返厂厂家"); } + repairApplyRecord.setCreateBy(loginUser.getUsername()); repairApplyRecord.setSupplierId(partList.get(i).getSupplierId()); repairApplyRecord.setPartPrice(Optional.ofNullable(partList.get(i).getBackCost()).orElse(BigDecimal.ZERO)); - repairApplyRecord.setRemark(StringUtils.isNotBlank(partList.get(i).getRemark()) ? partList.get(i).getRemark() : ""); + repairApplyRecord.setRemark(StringUtils.isNotBlank(bean.getOutRepairList().get(0).getRemark()) ? bean.getOutRepairList().get(0).getRemark() : ""); + if (MaTypeManageTypeEnum.CODE_DEVICE.getTypeId().equals(manageType)) { + repairApplyRecord.setRepairNum(BigDecimal.valueOf(!RepairTypeEnum.TO_SCRAP.getTypeId().equals(bean.getRepairType()) ? 1 : 0)); + repairApplyRecord.setScrapNum(BigDecimal.valueOf(RepairTypeEnum.TO_SCRAP.getTypeId().equals(bean.getRepairType()) ? 1 : 0)); + } + if (MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(manageType)) { + repairApplyRecord.setRepairNum(partList.get(i).getRepairNum()); + } + // 新增【维修记录表】 repairMapper.addRecord(repairApplyRecord); @@ -986,16 +1017,6 @@ public class RepairServiceImpl implements RepairService { if (count<=0){ repairMapper.addRepairCost(repairApplyRecord, sfCosts, partList.get(i).getPartType().toString()); } - // 保存外部返厂维修文件 - if (CollectionUtils.isEmpty(partList.get(i).getFileList())) { - for (BmFileInfo fileInfo : partList.get(i).getFileList()) { - fileInfo.setTaskType(TmTaskTypeEnum.TM_TASK_REPAIR.getTaskTypeId()) - .setFileType(Long.valueOf(RepairTypeEnum.RETURN_FACTORY.getTypeId())) - .setTaskId(bean.getTaskId()).setModelId(bean.getId()) - .setCreateBy(loginUser.getUsername()); - bmFileInfoMapper.insertBmFileInfo(fileInfo); - } - } } } @@ -1020,7 +1041,6 @@ public class RepairServiceImpl implements RepairService { .setCreateBy(loginUser.getUsername()); repairApplyRecord.setScrapType(partList.get(0).getScrapType()); repairApplyRecord.setScrapReason(partList.get(0).getScrapReason()); - repairApplyRecord.setRemark(StringUtils.isNotBlank(partList.get(0).getRemark()) ? partList.get(0).getRemark() : ""); // 不选维修配件时, 只添加【维修记录表】 repairMapper.addRecord(repairApplyRecord); } @@ -1035,7 +1055,6 @@ public class RepairServiceImpl implements RepairService { repairApplyRecord.setScrapType(partList.get(0).getScrapType()); repairApplyRecord.setScrapReason(partList.get(0).getScrapReason()); // 不选维修配件时, 只添加【维修记录表】 - repairApplyRecord.setRemark(StringUtils.isNotBlank(partList.get(0).getRemark()) ? partList.get(0).getRemark() : ""); repairMapper.addRecord(repairApplyRecord); } }