pqc检测任务修改

This commit is contained in:
yf001217 2026-06-10 14:15:24 +08:00
parent dbc31f4cc1
commit c1a8d8314b
2 changed files with 79 additions and 33 deletions

View File

@ -865,6 +865,26 @@ public class QmsPqcTaskRecordControllerService {
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
private QmsPqcTaskRecord getOrCreateTaskRecord(QmsPqcTaskRecordDraftQO request) {
if (request.getTaskId() != null) {
QmsPqcTaskRecord taskRecord = pqcTaskRecordService.getById(request.getTaskId());
VUtil.trueThrowBusinessError(taskRecord == null).throwMessage("任务不存在");
return taskRecord;
}
QmsPqcTaskRecord existTask = pqcTaskRecordService.lambdaQuery()
.eq(QmsPqcTaskRecord::getAufnr, request.getAufnr())
.eq(QmsPqcTaskRecord::getModelNo, request.getModelNo())
.eq(QmsPqcTaskRecord::getInspectionPointId, request.getInspectionPointId())
.one();
if (existTask != null) {
return existTask;
}
return createPqcTask(request.getAufnr(), request.getNo(), request.getModelNo(), request.getInspectionPointId());
}
/** /**
* 6. 暂存 * 6. 暂存
*/ */
@ -874,20 +894,8 @@ public class QmsPqcTaskRecordControllerService {
String currentUserName = UserUtil.getUserName(); String currentUserName = UserUtil.getUserName();
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// 1. 校验任务是否存在订单编号+机型编号+检查点ID一致就是同一个任务 // 1. 校验任务是否存在
QmsPqcTaskRecord existTask = pqcTaskRecordService.lambdaQuery() QmsPqcTaskRecord taskRecord = getOrCreateTaskRecord(request);
.eq(QmsPqcTaskRecord::getAufnr, request.getAufnr())
.eq(QmsPqcTaskRecord::getModelNo, request.getModelNo())
.eq(QmsPqcTaskRecord::getInspectionPointId, request.getInspectionPointId())
.one();
QmsPqcTaskRecord taskRecord;
if (existTask == null) {
// 不存在则新建
taskRecord = createPqcTask(request.getAufnr(), request.getNo(), request.getModelNo(), request.getInspectionPointId());
} else {
taskRecord = existTask;
}
// 2. 判断是否有复核相关内容 // 2. 判断是否有复核相关内容
boolean hasReviewContent = hasReviewContent(request); boolean hasReviewContent = hasReviewContent(request);
@ -935,19 +943,7 @@ public class QmsPqcTaskRecordControllerService {
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
// 1. 校验任务是否存在 // 1. 校验任务是否存在
QmsPqcTaskRecord existTask = pqcTaskRecordService.lambdaQuery() QmsPqcTaskRecord taskRecord = getOrCreateTaskRecord(request);
.eq(QmsPqcTaskRecord::getAufnr, request.getAufnr())
.eq(QmsPqcTaskRecord::getModelNo, request.getModelNo())
.eq(QmsPqcTaskRecord::getInspectionPointId, request.getInspectionPointId())
.one();
QmsPqcTaskRecord taskRecord;
if (existTask == null) {
// 不存在则新建
taskRecord = createPqcTask(request.getAufnr(), request.getNo(), request.getModelNo(), request.getInspectionPointId());
} else {
taskRecord = existTask;
}
// 2. 校验数据完整性 // 2. 校验数据完整性
boolean hasReviewContent = hasReviewContent(request); boolean hasReviewContent = hasReviewContent(request);
@ -1006,8 +1002,12 @@ public class QmsPqcTaskRecordControllerService {
* 判断是否有复核相关内容 * 判断是否有复核相关内容
*/ */
private boolean hasReviewContent(QmsPqcTaskRecordDraftQO request) { private boolean hasReviewContent(QmsPqcTaskRecordDraftQO request) {
if (request.getQcMaterialCollections() != null && !request.getQcMaterialCollections().isEmpty()) { if (request.getQcMaterialCollections() != null) {
return true; for (QmsPqcTaskRecordDraftQO.MaterialCollectionItem item : request.getQcMaterialCollections()) {
if (hasMaterialCollectionContent(item)) {
return true;
}
}
} }
if (request.getProcessInspections() != null) { if (request.getProcessInspections() != null) {
for (QmsPqcTaskRecordDraftQO.ProcessInspectionItem item : request.getProcessInspections()) { for (QmsPqcTaskRecordDraftQO.ProcessInspectionItem item : request.getProcessInspections()) {
@ -1031,6 +1031,14 @@ public class QmsPqcTaskRecordControllerService {
return false; return false;
} }
private boolean hasMaterialCollectionContent(QmsPqcTaskRecordDraftQO.MaterialCollectionItem item) {
return item != null
&& (StrUtil.isNotBlank(item.getSerialNo())
|| StrUtil.isNotBlank(item.getBatchNo())
|| item.getFiles() != null && !item.getFiles().isEmpty()
|| item.getEnable() != null);
}
private boolean isDetailType(QmsPqcTaskRecordDetails detail, int type) { private boolean isDetailType(QmsPqcTaskRecordDetails detail, int type) {
return detail != null && Objects.equals(detail.getType(), (short) type); return detail != null && Objects.equals(detail.getType(), (short) type);
} }
@ -1259,9 +1267,10 @@ public class QmsPqcTaskRecordControllerService {
QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails() QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails()
.setTaskId(taskId) .setTaskId(taskId)
.setType((short) 1) .setType((short) 1)
.setInspectionPointItemId(i < selfMaterialItemIds.size() ? selfMaterialItemIds.get(i) : null) .setInspectionPointItemId(resolveInspectionPointItemId(item.getInspectionPointItemId(), selfMaterialItemIds, i))
.setSelfTestData(item.getSerialNo()) .setSelfTestData(item.getSerialNo())
.setSelfCheck(item.getFiles() != null && !item.getFiles().isEmpty() ? true : null) .setSelfCheck(item.getFiles() != null && !item.getFiles().isEmpty() ? true : null)
.setReviewEnable(item.getEnable())
.setReviewData(item.getBatchNo()) .setReviewData(item.getBatchNo())
.setSelfTestAttachments(serializeFileList(item.getFiles())) .setSelfTestAttachments(serializeFileList(item.getFiles()))
.setSelfTestUploadTime(now); .setSelfTestUploadTime(now);
@ -1278,9 +1287,10 @@ public class QmsPqcTaskRecordControllerService {
QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails() QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails()
.setTaskId(taskId) .setTaskId(taskId)
.setType((short) 1) .setType((short) 1)
.setInspectionPointItemId(i < qcMaterialItemIds.size() ? qcMaterialItemIds.get(i) : null) .setInspectionPointItemId(resolveInspectionPointItemId(item.getInspectionPointItemId(), qcMaterialItemIds, i))
.setSelfTestData(item.getSerialNo()) .setSelfTestData(item.getSerialNo())
.setSelfCheck(item.getFiles() != null && !item.getFiles().isEmpty() ? true : null) .setSelfCheck(item.getFiles() != null && !item.getFiles().isEmpty() ? true : null)
.setReviewEnable(item.getEnable())
.setReviewData(item.getBatchNo()) .setReviewData(item.getBatchNo())
.setSelfTestAttachments(serializeFileList(item.getFiles())) .setSelfTestAttachments(serializeFileList(item.getFiles()))
.setSelfTestUploadTime(now); .setSelfTestUploadTime(now);
@ -1297,7 +1307,7 @@ public class QmsPqcTaskRecordControllerService {
QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails() QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails()
.setTaskId(taskId) .setTaskId(taskId)
.setType((short) 0) .setType((short) 0)
.setInspectionPointItemId(i < selfProcessItemIds.size() ? selfProcessItemIds.get(i) : null) .setInspectionPointItemId(resolveInspectionPointItemId(item.getInspectionPointItemId(), selfProcessItemIds, i))
.setSelfTestData(item.getSelfTestData()) .setSelfTestData(item.getSelfTestData())
.setSelfCheck(item.getSelfCheck()) .setSelfCheck(item.getSelfCheck())
.setReviewData(item.getReviewData()) .setReviewData(item.getReviewData())
@ -1320,7 +1330,7 @@ public class QmsPqcTaskRecordControllerService {
QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails() QmsPqcTaskRecordDetails detail = new QmsPqcTaskRecordDetails()
.setTaskId(taskId) .setTaskId(taskId)
.setType((short) 0) .setType((short) 0)
.setInspectionPointItemId(i < qcProcessItemIds.size() ? qcProcessItemIds.get(i) : null) .setInspectionPointItemId(resolveInspectionPointItemId(item.getInspectionPointItemId(), qcProcessItemIds, i))
.setSelfCheck(null) .setSelfCheck(null)
.setReviewEnable(item.getEnable()); .setReviewEnable(item.getEnable());
if (hasReviewContent) { if (hasReviewContent) {
@ -1342,6 +1352,13 @@ public class QmsPqcTaskRecordControllerService {
} }
} }
private Long resolveInspectionPointItemId(Long requestItemId, List<Long> fallbackItemIds, int index) {
if (requestItemId != null) {
return requestItemId;
}
return index < fallbackItemIds.size() ? fallbackItemIds.get(index) : null;
}
private void saveExistingTaskDetails(Long taskId, List<QmsPqcTaskRecordDetails> details) { private void saveExistingTaskDetails(Long taskId, List<QmsPqcTaskRecordDetails> details) {
if (details == null || details.isEmpty()) { if (details == null || details.isEmpty()) {
return; return;

View File

@ -1,5 +1,6 @@
package com.nflg.wms.common.pojo.qo; package com.nflg.wms.common.pojo.qo;
import com.fasterxml.jackson.annotation.JsonAlias;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
@ -11,6 +12,11 @@ import java.util.List;
@Data @Data
public class QmsPqcTaskRecordDraftQO { public class QmsPqcTaskRecordDraftQO {
/**
* 任务ID
*/
private Long taskId;
/** /**
* 订单编号必传 * 订单编号必传
*/ */
@ -65,6 +71,11 @@ public class QmsPqcTaskRecordDraftQO {
*/ */
@Data @Data
public static class MaterialCollectionItem { public static class MaterialCollectionItem {
/**
* 检测项ID
*/
private Long inspectionPointItemId;
/** /**
* 序列号 * 序列号
*/ */
@ -89,6 +100,12 @@ public class QmsPqcTaskRecordDraftQO {
* 采集时间 * 采集时间
*/ */
private String collectionTime; private String collectionTime;
/**
* 检测结果
*/
@JsonAlias({"reviewEnable", "review_enable"})
private Boolean enable;
} }
/** /**
@ -96,6 +113,11 @@ public class QmsPqcTaskRecordDraftQO {
*/ */
@Data @Data
public static class ProcessInspectionItem { public static class ProcessInspectionItem {
/**
* 检测项ID
*/
private Long inspectionPointItemId;
/** /**
* 检查内容 * 检查内容
*/ */
@ -134,6 +156,7 @@ public class QmsPqcTaskRecordDraftQO {
/** /**
* 检测结果 * 检测结果
*/ */
@JsonAlias({"reviewEnable", "review_enable"})
private Boolean enable; private Boolean enable;
/** /**
@ -157,6 +180,11 @@ public class QmsPqcTaskRecordDraftQO {
*/ */
@Data @Data
public static class ProcessInspectionLevel3Item { public static class ProcessInspectionLevel3Item {
/**
* 检测项ID
*/
private Long inspectionPointItemId;
/** /**
* 检查内容 * 检查内容
*/ */
@ -185,6 +213,7 @@ public class QmsPqcTaskRecordDraftQO {
/** /**
* 检测结果 * 检测结果
*/ */
@JsonAlias({"reviewEnable", "review_enable"})
private Boolean enable; private Boolean enable;
/** /**