PQC任务提交优化修改

This commit is contained in:
funny 2026-05-27 11:00:25 +08:00
parent 95b8162943
commit 5bb2f41a0c
1 changed files with 29 additions and 4 deletions

View File

@ -876,6 +876,23 @@ public class QmsPqcTaskRecordControllerService {
private void saveTaskDetails(Long taskId, QmsPqcTaskRecordDraftQO request) { private void saveTaskDetails(Long taskId, QmsPqcTaskRecordDraftQO request) {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// 删除前先记录旧详情的 inspectionPointItemId type 分组
List<QmsPqcTaskRecordDetails> oldDetails = pqcTaskRecordDetailsService.lambdaQuery()
.eq(QmsPqcTaskRecordDetails::getTaskId, taskId)
.list();
// type=1 inspectionPointItemId 列表关键物料
List<Long> type1ItemIds = oldDetails.stream()
.filter(d -> d.getType() != null && d.getType() == 1)
.map(QmsPqcTaskRecordDetails::getInspectionPointItemId)
.collect(Collectors.toList());
// type=0 inspectionPointItemId 列表工序检查一二级+三级按顺序
List<Long> type0ItemIds = oldDetails.stream()
.filter(d -> d.getType() != null && d.getType() == 0)
.map(QmsPqcTaskRecordDetails::getInspectionPointItemId)
.collect(Collectors.toList());
// 删除旧详情 // 删除旧详情
pqcTaskRecordDetailsService.lambdaUpdate() pqcTaskRecordDetailsService.lambdaUpdate()
.eq(QmsPqcTaskRecordDetails::getTaskId, taskId) .eq(QmsPqcTaskRecordDetails::getTaskId, taskId)
@ -883,10 +900,12 @@ public class QmsPqcTaskRecordControllerService {
// 保存关键物料采集 // 保存关键物料采集
if (request.getMaterialCollections() != null) { if (request.getMaterialCollections() != null) {
for (QmsPqcTaskRecordDraftQO.MaterialCollectionItem item : request.getMaterialCollections()) { for (int i = 0; i < request.getMaterialCollections().size(); i++) {
QmsPqcTaskRecordDraftQO.MaterialCollectionItem item = request.getMaterialCollections().get(i);
QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails() QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails()
.setTaskId(taskId) .setTaskId(taskId)
.setType((short) 1) .setType((short) 1)
.setInspectionPointItemId(i < type1ItemIds.size() ? type1ItemIds.get(i) : null)
.setSelfTestData(item.getSerialNo()) .setSelfTestData(item.getSerialNo())
.setReviewData(item.getBatchNo()) .setReviewData(item.getBatchNo())
.setSelfTestAttachments(serializeFileList(item.getFiles())) .setSelfTestAttachments(serializeFileList(item.getFiles()))
@ -897,10 +916,12 @@ public class QmsPqcTaskRecordControllerService {
// 保存工序检查一二级 // 保存工序检查一二级
if (request.getProcessInspections() != null) { if (request.getProcessInspections() != null) {
for (QmsPqcTaskRecordDraftQO.ProcessInspectionItem item : request.getProcessInspections()) { for (int i = 0; i < request.getProcessInspections().size(); i++) {
QmsPqcTaskRecordDraftQO.ProcessInspectionItem item = request.getProcessInspections().get(i);
QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails() QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails()
.setTaskId(taskId) .setTaskId(taskId)
.setType((short) 0) .setType((short) 0)
.setInspectionPointItemId(i < type0ItemIds.size() ? type0ItemIds.get(i) : null)
.setSelfTestData(item.getSelfTestData()) .setSelfTestData(item.getSelfTestData())
.setReviewData(item.getReviewData()) .setReviewData(item.getReviewData())
.setReviewEnable(item.getEnable()) .setReviewEnable(item.getEnable())
@ -913,12 +934,16 @@ public class QmsPqcTaskRecordControllerService {
} }
} }
// 保存工序检查三级 // 保存工序检查三级index 接在一二级后面
if (request.getProcessInspectionsLevel3() != null) { if (request.getProcessInspectionsLevel3() != null) {
for (QmsPqcTaskRecordDraftQO.ProcessInspectionLevel3Item item : request.getProcessInspectionsLevel3()) { int offset = request.getProcessInspections() != null ? request.getProcessInspections().size() : 0;
for (int i = 0; i < request.getProcessInspectionsLevel3().size(); i++) {
QmsPqcTaskRecordDraftQO.ProcessInspectionLevel3Item item = request.getProcessInspectionsLevel3().get(i);
int idx = offset + i;
QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails() QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails()
.setTaskId(taskId) .setTaskId(taskId)
.setType((short) 0) .setType((short) 0)
.setInspectionPointItemId(idx < type0ItemIds.size() ? type0ItemIds.get(idx) : null)
.setQcTestData(item.getQcTestData()) .setQcTestData(item.getQcTestData())
.setReviewEnable(item.getEnable()) .setReviewEnable(item.getEnable())
.setQcTestAttachments(serializeFileList(item.getQcTestFiles())) .setQcTestAttachments(serializeFileList(item.getQcTestFiles()))