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) {
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()
.eq(QmsPqcTaskRecordDetails::getTaskId, taskId)
@ -883,10 +900,12 @@ public class QmsPqcTaskRecordControllerService {
// 保存关键物料采集
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()
.setTaskId(taskId)
.setType((short) 1)
.setInspectionPointItemId(i < type1ItemIds.size() ? type1ItemIds.get(i) : null)
.setSelfTestData(item.getSerialNo())
.setReviewData(item.getBatchNo())
.setSelfTestAttachments(serializeFileList(item.getFiles()))
@ -897,10 +916,12 @@ public class QmsPqcTaskRecordControllerService {
// 保存工序检查一二级
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()
.setTaskId(taskId)
.setType((short) 0)
.setInspectionPointItemId(i < type0ItemIds.size() ? type0ItemIds.get(i) : null)
.setSelfTestData(item.getSelfTestData())
.setReviewData(item.getReviewData())
.setReviewEnable(item.getEnable())
@ -913,12 +934,16 @@ public class QmsPqcTaskRecordControllerService {
}
}
// 保存工序检查三级
// 保存工序检查三级index 接在一二级后面
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()
.setTaskId(taskId)
.setType((short) 0)
.setInspectionPointItemId(idx < type0ItemIds.size() ? type0ItemIds.get(idx) : null)
.setQcTestData(item.getQcTestData())
.setReviewEnable(item.getEnable())
.setQcTestAttachments(serializeFileList(item.getQcTestFiles()))