This commit is contained in:
mashuai 2025-07-31 15:06:18 +08:00
parent 80cb178f52
commit d6279ec605
4 changed files with 92 additions and 38 deletions

View File

@ -291,9 +291,13 @@ public class SelectServiceImpl implements SelectService {
bmUnit.setUnitId(info.getUnitId());
List<ProjectTreeNode> 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)

View File

@ -113,6 +113,12 @@ public class RepairDeviceVO {
@ApiModelProperty(value = "报废附件")
private List<BmFileInfo> fileList;
@ApiModelProperty(value = "内部维修附件")
private List<RepairFileInfo> inRepairList;
@ApiModelProperty(value = "外部维修附件")
private List<RepairFileInfo> outRepairList;
private String createBy;
@ApiModelProperty(value = "维修拆分层级")

View File

@ -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<BmFileInfo> fileList;
@ApiModelProperty(value = "备注")
private String remark;
}

View File

@ -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,20 +682,21 @@ 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()) {
}
// 保存外部维修文件
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++) {
sfCosts = sfCosts.add(partList.get(i).getPartPrice());
}
@ -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);
}
}