From c1e25ebf8a48212490418a6ef85a454bf4bb162b Mon Sep 17 00:00:00 2001 From: yf001217 <834502597@qq.com> Date: Wed, 10 Jun 2026 15:21:09 +0800 Subject: [PATCH] =?UTF-8?q?pqc=E6=A3=80=E6=B5=8B=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QmsPqcTaskRecordControllerService.java | 66 +++++++++++++++---- .../pojo/vo/QmsPqcTaskRecordDetailVO.java | 39 +++++++++++ .../pojo/vo/QmsPqcTaskRecordPageVO.java | 37 +++++++++++ 3 files changed, 130 insertions(+), 12 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPqcTaskRecordControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPqcTaskRecordControllerService.java index e59840ab..cd8c2e76 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPqcTaskRecordControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPqcTaskRecordControllerService.java @@ -277,6 +277,7 @@ public class QmsPqcTaskRecordControllerService { vo.setId(record.getId()); vo.setTicketId(finalTicketIdMap.get(record.getId())); vo.setTaskNo(record.getTaskNo()); + vo.setAufnr(record.getAufnr()); vo.setModelNo(record.getModelNo()); vo.setNo(record.getNo()); @@ -294,8 +295,14 @@ public class QmsPqcTaskRecordControllerService { vo.setTesterName(StrUtil.isNotBlank(record.getSelfTesterName()) ? record.getSelfTesterName() : record.getReviewerName()); + vo.setSelfTesterId(record.getSelfTesterId()); + vo.setSelfTesterName(record.getSelfTesterName()); + vo.setReviewerId(record.getReviewerId()); + vo.setReviewerName(record.getReviewerName()); vo.setStatus(record.getStatus()); + vo.setCreateTime(record.getCreateTime()); + vo.setCompleteTime(record.getCompleteTime()); voList.add(vo); } } @@ -415,20 +422,23 @@ public class QmsPqcTaskRecordControllerService { * 3. 查询PQC任务详情(PC端) */ public QmsPqcTaskRecordDetailVO getPqcTaskDetail(Long taskId) { - // 1. 查询任务记录 QmsPqcTaskRecord taskRecord = pqcTaskRecordService.getById(taskId); VUtil.trueThrowBusinessError(taskRecord == null).throwMessage("任务不存在"); - // 2. 查询检查点信息 QmsPqcInspectionPoint point = pqcInspectionPointService.getById(taskRecord.getInspectionPointId()); VUtil.trueThrowBusinessError(point == null).throwMessage("检查点不存在"); - // 3. 查询任务详情 + QmsPqcInspectionRule rule = pqcInspectionRuleService.lambdaQuery() + .eq(QmsPqcInspectionRule::getModelNo, taskRecord.getModelNo()) + .eq(QmsPqcInspectionRule::getIsDisabled, true) + .orderByDesc(QmsPqcInspectionRule::getRuleVersion) + .last("LIMIT 1") + .one(); + List details = pqcTaskRecordDetailsService.lambdaQuery() .eq(QmsPqcTaskRecordDetails::getTaskId, taskId) .list(); - // 4. 查询检测项信息 Set itemIds = details.stream() .map(QmsPqcTaskRecordDetails::getInspectionPointItemId) .filter(Objects::nonNull) @@ -441,27 +451,50 @@ public class QmsPqcTaskRecordControllerService { .collect(Collectors.toMap(QmsPqcInspectionPointItems::getId, i -> i)); } - // 5. 分类组装数据 List materialCollections = new ArrayList<>(); + List qcMaterialCollections = new ArrayList<>(); List processInspections = new ArrayList<>(); + List processInspectionsLevel3 = new ArrayList<>(); for (QmsPqcTaskRecordDetails detail : details) { QmsPqcInspectionPointItems item = itemMap.get(detail.getInspectionPointItemId()); if (item == null) continue; if (isDetailType(detail, 1)) { - // 关键物料拍照 QmsPqcTaskRecordDetailVO.MaterialCollectionVO materialVO = new QmsPqcTaskRecordDetailVO.MaterialCollectionVO(); + materialVO.setInspectionPointItemId(detail.getInspectionPointItemId()); materialVO.setSerialNo(detail.getSelfTestData()); materialVO.setBatchNo(detail.getReviewData()); - materialVO.setFiles(convertToFileVO(parseFileList(detail.getSelfTestAttachments()), + materialVO.setFiles(convertToFileVO(parseFileList(detail.getSelfTestAttachments()), QmsPqcTaskRecordDetailVO.FileDetailVO.class)); materialVO.setCollector(taskRecord.getSelfTesterName()); materialVO.setCollectionTime(detail.getSelfTestUploadTime()); - materialCollections.add(materialVO); + if (isQcInspectionLevel(item)) { + qcMaterialCollections.add(materialVO); + } else if (isSelfInspectionLevel(item)) { + materialCollections.add(materialVO); + } } else if (isDetailType(detail, 0)) { - // 工序检查 + if (isQcInspectionLevel(item)) { + QmsPqcTaskRecordDetailVO.ProcessInspectionLevel3VO processLevel3VO = new QmsPqcTaskRecordDetailVO.ProcessInspectionLevel3VO(); + processLevel3VO.setInspectionPointItemId(detail.getInspectionPointItemId()); + processLevel3VO.setInspectionContent(item.getInspectionContent()); + processLevel3VO.setInspectionMethods(item.getInspectionMethods()); + processLevel3VO.setInspectionLevel(item.getInspectionLevel()); + processLevel3VO.setInspectionExampleImage(item.getInspectionImgUrl()); + processLevel3VO.setQcTestData(StrUtil.isNotBlank(detail.getReviewData()) ? detail.getReviewData() : detail.getQcTestData()); + processLevel3VO.setEnable(detail.getReviewEnable()); + processLevel3VO.setQcTestFiles(convertToFileVO(parseFileList( + StrUtil.isNotBlank(detail.getReviewAttachments()) + ? detail.getReviewAttachments() + : detail.getQcTestAttachments()), + QmsPqcTaskRecordDetailVO.FileDetailVO.class)); + processInspectionsLevel3.add(processLevel3VO); + continue; + } + QmsPqcTaskRecordDetailVO.ProcessInspectionVO processVO = new QmsPqcTaskRecordDetailVO.ProcessInspectionVO(); + processVO.setInspectionPointItemId(detail.getInspectionPointItemId()); processVO.setInspectionContent(item.getInspectionContent()); processVO.setInspectionMethods(item.getInspectionMethods()); processVO.setInspectionLevel(item.getInspectionLevel()); @@ -470,26 +503,35 @@ public class QmsPqcTaskRecordControllerService { processVO.setSelfCheck(detail.getSelfCheck()); processVO.setReviewData(detail.getReviewData()); processVO.setEnable(detail.getReviewEnable()); - processVO.setSelfTestFiles(convertToFileVO(parseFileList(detail.getSelfTestAttachments()), + processVO.setSelfTestFiles(convertToFileVO(parseFileList(detail.getSelfTestAttachments()), QmsPqcTaskRecordDetailVO.FileDetailVO.class)); - processVO.setReviewFiles(convertToFileVO(parseFileList(detail.getReviewAttachments()), + processVO.setReviewFiles(convertToFileVO(parseFileList(detail.getReviewAttachments()), QmsPqcTaskRecordDetailVO.FileDetailVO.class)); processVO.setReviewOpinion(detail.getReviewOpinion()); processInspections.add(processVO); } } - // 6. 构建返回VO QmsPqcTaskRecordDetailVO vo = new QmsPqcTaskRecordDetailVO(); + vo.setTaskNo(taskRecord.getTaskNo()); vo.setModelNo(taskRecord.getModelNo()); + vo.setNo(taskRecord.getNo()); vo.setAufnr(taskRecord.getAufnr()); vo.setStepName(point.getStepName()); + vo.setInspectionPointName(point.getInspectionPointName()); + vo.setInspectionPointId(taskRecord.getInspectionPointId()); + vo.setRuleVersion(rule != null ? rule.getRuleVersion() : null); vo.setMaterialCollections(materialCollections); + vo.setQcMaterialCollections(qcMaterialCollections); vo.setProcessInspections(processInspections); + vo.setProcessInspectionsLevel3(processInspectionsLevel3); vo.setEnable(taskRecord.getEnable()); vo.setTesterName(StrUtil.isNotBlank(taskRecord.getSelfTesterName()) ? taskRecord.getSelfTesterName() : taskRecord.getReviewerName()); + vo.setTesterId(taskRecord.getSelfTesterId() != null + ? taskRecord.getSelfTesterId() + : taskRecord.getReviewerId()); vo.setCompleteTime(taskRecord.getCompleteTime()); return vo; diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPqcTaskRecordDetailVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPqcTaskRecordDetailVO.java index 6e0dd4c7..7cf878da 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPqcTaskRecordDetailVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPqcTaskRecordDetailVO.java @@ -14,8 +14,12 @@ public class QmsPqcTaskRecordDetailVO { /** * 机型编号 */ + private String taskNo; + private String modelNo; + private String no; + /** * 订单编号 */ @@ -26,16 +30,26 @@ public class QmsPqcTaskRecordDetailVO { */ private String stepName; + private String inspectionPointName; + + private Long inspectionPointId; + + private Integer ruleVersion; + /** * 关键物料采集对象列表 */ private List materialCollections; + private List qcMaterialCollections; + /** * 工序检查对象列表 */ private List processInspections; + private List processInspectionsLevel3; + /** * 检测结果 */ @@ -46,6 +60,8 @@ public class QmsPqcTaskRecordDetailVO { */ private String testerName; + private Long testerId; + /** * 检测完成时间 */ @@ -56,6 +72,8 @@ public class QmsPqcTaskRecordDetailVO { */ @Data public static class MaterialCollectionVO { + private Long inspectionPointItemId; + /** * 序列号 */ @@ -87,6 +105,8 @@ public class QmsPqcTaskRecordDetailVO { */ @Data public static class ProcessInspectionVO { + private Long inspectionPointItemId; + /** * 检查内容 */ @@ -146,6 +166,25 @@ public class QmsPqcTaskRecordDetailVO { /** * 文件详情 */ + @Data + public static class ProcessInspectionLevel3VO { + private Long inspectionPointItemId; + + private String inspectionContent; + + private Integer inspectionMethods; + + private Integer inspectionLevel; + + private String inspectionExampleImage; + + private String qcTestData; + + private Boolean enable; + + private List qcTestFiles; + } + @Data public static class FileDetailVO { /** diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPqcTaskRecordPageVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPqcTaskRecordPageVO.java index bbf0aca9..f7cdcae4 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPqcTaskRecordPageVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPqcTaskRecordPageVO.java @@ -2,6 +2,8 @@ package com.nflg.wms.common.pojo.vo; import lombok.Data; +import java.time.LocalDateTime; + /** * PQC任务列表返回对象 */ @@ -23,6 +25,11 @@ public class QmsPqcTaskRecordPageVO { */ private String taskNo; + /** + * 订单编号 + */ + private String aufnr; + /** * 机型编号 */ @@ -53,8 +60,38 @@ public class QmsPqcTaskRecordPageVO { */ private String testerName; + /** + * 自检人id + */ + private Long selfTesterId; + + /** + * 自检人姓名 + */ + private String selfTesterName; + + /** + * 复核人id + */ + private Long reviewerId; + + /** + * 复核人姓名 + */ + private String reviewerName; + /** * 检验状态:0为自检中,1为待复核,2为复核中,3为已复核 */ private Short status; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 完成时间 + */ + private LocalDateTime completeTime; }