维修优化

This commit is contained in:
sxu 2024-11-25 14:37:30 +08:00
parent cd056ed34d
commit 0d5ef173c8
1 changed files with 13 additions and 25 deletions

View File

@ -456,31 +456,19 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
*/ */
@Override @Override
public int outerAudit(@NotNull List<RepairAuditDetails> repairAuditDetails) { public int outerAudit(@NotNull List<RepairAuditDetails> repairAuditDetails) {
// 提取所有需要更新的 ID
List<Long> taskIds = repairAuditDetails.stream() List<Long> taskIds = repairAuditDetails.stream()
.filter(Objects::nonNull) .filter(Objects::nonNull)
.map(RepairAuditDetails::getTaskId) .map(RepairAuditDetails::getTaskId)
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (taskIds.isEmpty()) { if (taskIds.isEmpty()) {
return 0; return 0;
} }
List<RepairAuditDetails> repairAuditDetailsByQuery = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(taskIds); List<RepairAuditDetails> repairAuditDetailsByQuery = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(taskIds);
if (CollectionUtils.isEmpty(repairAuditDetailsByQuery)) { if (CollectionUtils.isEmpty(repairAuditDetailsByQuery)) {
return 0; return 0;
} }
batchInsertRepairInputDetails(repairAuditDetailsByQuery);
List<RepairInputDetails> inputList = new ArrayList<>();
for (RepairAuditDetails details : repairAuditDetailsByQuery) {
RepairInputDetails inputVo = new RepairInputDetails();
BeanUtils.copyProperties(details, inputVo);
inputList.add(inputVo);
}
repairInputDetailsMapper.batchInsertRepairInputDetails(inputList);
try { try {
List<Long> ids = repairAuditDetailsByQuery.stream() List<Long> ids = repairAuditDetailsByQuery.stream()
.filter(Objects::nonNull) .filter(Objects::nonNull)
@ -501,33 +489,33 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
*/ */
@Override @Override
public int updateRepairAuditDetailsBatch(@NotNull List<RepairAuditDetails> repairAuditDetails) { public int updateRepairAuditDetailsBatch(@NotNull List<RepairAuditDetails> repairAuditDetails) {
// 提取所有需要更新的 ID
List<Long> ids = repairAuditDetails.stream() List<Long> ids = repairAuditDetails.stream()
.filter(Objects::nonNull) .filter(Objects::nonNull)
.map(RepairAuditDetails::getId) .map(RepairAuditDetails::getId)
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList()); .collect(Collectors.toList());
if (ids.isEmpty()) { if (ids.isEmpty()) {
return 0; return 0;
} }
batchInsertRepairInputDetails(repairAuditDetails);
List<RepairInputDetails> inputList = new ArrayList<>();
for (RepairAuditDetails details : repairAuditDetails) {
RepairInputDetails inputVo = new RepairInputDetails();
BeanUtils.copyProperties(details, inputVo);
inputList.add(inputVo);
}
repairInputDetailsMapper.batchInsertRepairInputDetails(inputList);
try { try {
// 调用 Mapper 方法进行批量更新
return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, String.valueOf(repairAuditDetails.get(0).getStatus())); return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, String.valueOf(repairAuditDetails.get(0).getStatus()));
} catch (Exception e) { } catch (Exception e) {
throw new ServiceException("错误信息描述"); throw new ServiceException("错误信息描述");
} }
} }
private void batchInsertRepairInputDetails(List<RepairAuditDetails> repairAuditDetailsByQuery) {
List<RepairInputDetails> inputList = new ArrayList<>();
for (RepairAuditDetails details : repairAuditDetailsByQuery) {
RepairInputDetails inputVo = new RepairInputDetails();
BeanUtils.copyProperties(details, inputVo);
inputVo.setAuditId(details.getId());
inputList.add(inputVo);
}
repairInputDetailsMapper.batchInsertRepairInputDetails(inputList);
}
/** /**
* 批量删除修试审核详细 * 批量删除修试审核详细
* *