pqc检测任务修改

This commit is contained in:
yf001217 2026-06-10 15:21:09 +08:00
parent 3f136f5c2b
commit c1e25ebf8a
3 changed files with 130 additions and 12 deletions

View File

@ -277,6 +277,7 @@ public class QmsPqcTaskRecordControllerService {
vo.setId(record.getId()); vo.setId(record.getId());
vo.setTicketId(finalTicketIdMap.get(record.getId())); vo.setTicketId(finalTicketIdMap.get(record.getId()));
vo.setTaskNo(record.getTaskNo()); vo.setTaskNo(record.getTaskNo());
vo.setAufnr(record.getAufnr());
vo.setModelNo(record.getModelNo()); vo.setModelNo(record.getModelNo());
vo.setNo(record.getNo()); vo.setNo(record.getNo());
@ -294,8 +295,14 @@ public class QmsPqcTaskRecordControllerService {
vo.setTesterName(StrUtil.isNotBlank(record.getSelfTesterName()) vo.setTesterName(StrUtil.isNotBlank(record.getSelfTesterName())
? record.getSelfTesterName() ? record.getSelfTesterName()
: record.getReviewerName()); : record.getReviewerName());
vo.setSelfTesterId(record.getSelfTesterId());
vo.setSelfTesterName(record.getSelfTesterName());
vo.setReviewerId(record.getReviewerId());
vo.setReviewerName(record.getReviewerName());
vo.setStatus(record.getStatus()); vo.setStatus(record.getStatus());
vo.setCreateTime(record.getCreateTime());
vo.setCompleteTime(record.getCompleteTime());
voList.add(vo); voList.add(vo);
} }
} }
@ -415,20 +422,23 @@ public class QmsPqcTaskRecordControllerService {
* 3. 查询PQC任务详情PC端 * 3. 查询PQC任务详情PC端
*/ */
public QmsPqcTaskRecordDetailVO getPqcTaskDetail(Long taskId) { public QmsPqcTaskRecordDetailVO getPqcTaskDetail(Long taskId) {
// 1. 查询任务记录
QmsPqcTaskRecord taskRecord = pqcTaskRecordService.getById(taskId); QmsPqcTaskRecord taskRecord = pqcTaskRecordService.getById(taskId);
VUtil.trueThrowBusinessError(taskRecord == null).throwMessage("任务不存在"); VUtil.trueThrowBusinessError(taskRecord == null).throwMessage("任务不存在");
// 2. 查询检查点信息
QmsPqcInspectionPoint point = pqcInspectionPointService.getById(taskRecord.getInspectionPointId()); QmsPqcInspectionPoint point = pqcInspectionPointService.getById(taskRecord.getInspectionPointId());
VUtil.trueThrowBusinessError(point == null).throwMessage("检查点不存在"); 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<QmsPqcTaskRecordDetails> details = pqcTaskRecordDetailsService.lambdaQuery() List<QmsPqcTaskRecordDetails> details = pqcTaskRecordDetailsService.lambdaQuery()
.eq(QmsPqcTaskRecordDetails::getTaskId, taskId) .eq(QmsPqcTaskRecordDetails::getTaskId, taskId)
.list(); .list();
// 4. 查询检测项信息
Set<Long> itemIds = details.stream() Set<Long> itemIds = details.stream()
.map(QmsPqcTaskRecordDetails::getInspectionPointItemId) .map(QmsPqcTaskRecordDetails::getInspectionPointItemId)
.filter(Objects::nonNull) .filter(Objects::nonNull)
@ -441,27 +451,50 @@ public class QmsPqcTaskRecordControllerService {
.collect(Collectors.toMap(QmsPqcInspectionPointItems::getId, i -> i)); .collect(Collectors.toMap(QmsPqcInspectionPointItems::getId, i -> i));
} }
// 5. 分类组装数据
List<QmsPqcTaskRecordDetailVO.MaterialCollectionVO> materialCollections = new ArrayList<>(); List<QmsPqcTaskRecordDetailVO.MaterialCollectionVO> materialCollections = new ArrayList<>();
List<QmsPqcTaskRecordDetailVO.MaterialCollectionVO> qcMaterialCollections = new ArrayList<>();
List<QmsPqcTaskRecordDetailVO.ProcessInspectionVO> processInspections = new ArrayList<>(); List<QmsPqcTaskRecordDetailVO.ProcessInspectionVO> processInspections = new ArrayList<>();
List<QmsPqcTaskRecordDetailVO.ProcessInspectionLevel3VO> processInspectionsLevel3 = new ArrayList<>();
for (QmsPqcTaskRecordDetails detail : details) { for (QmsPqcTaskRecordDetails detail : details) {
QmsPqcInspectionPointItems item = itemMap.get(detail.getInspectionPointItemId()); QmsPqcInspectionPointItems item = itemMap.get(detail.getInspectionPointItemId());
if (item == null) continue; if (item == null) continue;
if (isDetailType(detail, 1)) { if (isDetailType(detail, 1)) {
// 关键物料拍照
QmsPqcTaskRecordDetailVO.MaterialCollectionVO materialVO = new QmsPqcTaskRecordDetailVO.MaterialCollectionVO(); QmsPqcTaskRecordDetailVO.MaterialCollectionVO materialVO = new QmsPqcTaskRecordDetailVO.MaterialCollectionVO();
materialVO.setInspectionPointItemId(detail.getInspectionPointItemId());
materialVO.setSerialNo(detail.getSelfTestData()); materialVO.setSerialNo(detail.getSelfTestData());
materialVO.setBatchNo(detail.getReviewData()); materialVO.setBatchNo(detail.getReviewData());
materialVO.setFiles(convertToFileVO(parseFileList(detail.getSelfTestAttachments()), materialVO.setFiles(convertToFileVO(parseFileList(detail.getSelfTestAttachments()),
QmsPqcTaskRecordDetailVO.FileDetailVO.class)); QmsPqcTaskRecordDetailVO.FileDetailVO.class));
materialVO.setCollector(taskRecord.getSelfTesterName()); materialVO.setCollector(taskRecord.getSelfTesterName());
materialVO.setCollectionTime(detail.getSelfTestUploadTime()); 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)) { } 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(); QmsPqcTaskRecordDetailVO.ProcessInspectionVO processVO = new QmsPqcTaskRecordDetailVO.ProcessInspectionVO();
processVO.setInspectionPointItemId(detail.getInspectionPointItemId());
processVO.setInspectionContent(item.getInspectionContent()); processVO.setInspectionContent(item.getInspectionContent());
processVO.setInspectionMethods(item.getInspectionMethods()); processVO.setInspectionMethods(item.getInspectionMethods());
processVO.setInspectionLevel(item.getInspectionLevel()); processVO.setInspectionLevel(item.getInspectionLevel());
@ -470,26 +503,35 @@ public class QmsPqcTaskRecordControllerService {
processVO.setSelfCheck(detail.getSelfCheck()); processVO.setSelfCheck(detail.getSelfCheck());
processVO.setReviewData(detail.getReviewData()); processVO.setReviewData(detail.getReviewData());
processVO.setEnable(detail.getReviewEnable()); processVO.setEnable(detail.getReviewEnable());
processVO.setSelfTestFiles(convertToFileVO(parseFileList(detail.getSelfTestAttachments()), processVO.setSelfTestFiles(convertToFileVO(parseFileList(detail.getSelfTestAttachments()),
QmsPqcTaskRecordDetailVO.FileDetailVO.class)); QmsPqcTaskRecordDetailVO.FileDetailVO.class));
processVO.setReviewFiles(convertToFileVO(parseFileList(detail.getReviewAttachments()), processVO.setReviewFiles(convertToFileVO(parseFileList(detail.getReviewAttachments()),
QmsPqcTaskRecordDetailVO.FileDetailVO.class)); QmsPqcTaskRecordDetailVO.FileDetailVO.class));
processVO.setReviewOpinion(detail.getReviewOpinion()); processVO.setReviewOpinion(detail.getReviewOpinion());
processInspections.add(processVO); processInspections.add(processVO);
} }
} }
// 6. 构建返回VO
QmsPqcTaskRecordDetailVO vo = new QmsPqcTaskRecordDetailVO(); QmsPqcTaskRecordDetailVO vo = new QmsPqcTaskRecordDetailVO();
vo.setTaskNo(taskRecord.getTaskNo());
vo.setModelNo(taskRecord.getModelNo()); vo.setModelNo(taskRecord.getModelNo());
vo.setNo(taskRecord.getNo());
vo.setAufnr(taskRecord.getAufnr()); vo.setAufnr(taskRecord.getAufnr());
vo.setStepName(point.getStepName()); vo.setStepName(point.getStepName());
vo.setInspectionPointName(point.getInspectionPointName());
vo.setInspectionPointId(taskRecord.getInspectionPointId());
vo.setRuleVersion(rule != null ? rule.getRuleVersion() : null);
vo.setMaterialCollections(materialCollections); vo.setMaterialCollections(materialCollections);
vo.setQcMaterialCollections(qcMaterialCollections);
vo.setProcessInspections(processInspections); vo.setProcessInspections(processInspections);
vo.setProcessInspectionsLevel3(processInspectionsLevel3);
vo.setEnable(taskRecord.getEnable()); vo.setEnable(taskRecord.getEnable());
vo.setTesterName(StrUtil.isNotBlank(taskRecord.getSelfTesterName()) vo.setTesterName(StrUtil.isNotBlank(taskRecord.getSelfTesterName())
? taskRecord.getSelfTesterName() ? taskRecord.getSelfTesterName()
: taskRecord.getReviewerName()); : taskRecord.getReviewerName());
vo.setTesterId(taskRecord.getSelfTesterId() != null
? taskRecord.getSelfTesterId()
: taskRecord.getReviewerId());
vo.setCompleteTime(taskRecord.getCompleteTime()); vo.setCompleteTime(taskRecord.getCompleteTime());
return vo; return vo;

View File

@ -14,8 +14,12 @@ public class QmsPqcTaskRecordDetailVO {
/** /**
* 机型编号 * 机型编号
*/ */
private String taskNo;
private String modelNo; private String modelNo;
private String no;
/** /**
* 订单编号 * 订单编号
*/ */
@ -26,16 +30,26 @@ public class QmsPqcTaskRecordDetailVO {
*/ */
private String stepName; private String stepName;
private String inspectionPointName;
private Long inspectionPointId;
private Integer ruleVersion;
/** /**
* 关键物料采集对象列表 * 关键物料采集对象列表
*/ */
private List<MaterialCollectionVO> materialCollections; private List<MaterialCollectionVO> materialCollections;
private List<MaterialCollectionVO> qcMaterialCollections;
/** /**
* 工序检查对象列表 * 工序检查对象列表
*/ */
private List<ProcessInspectionVO> processInspections; private List<ProcessInspectionVO> processInspections;
private List<ProcessInspectionLevel3VO> processInspectionsLevel3;
/** /**
* 检测结果 * 检测结果
*/ */
@ -46,6 +60,8 @@ public class QmsPqcTaskRecordDetailVO {
*/ */
private String testerName; private String testerName;
private Long testerId;
/** /**
* 检测完成时间 * 检测完成时间
*/ */
@ -56,6 +72,8 @@ public class QmsPqcTaskRecordDetailVO {
*/ */
@Data @Data
public static class MaterialCollectionVO { public static class MaterialCollectionVO {
private Long inspectionPointItemId;
/** /**
* 序列号 * 序列号
*/ */
@ -87,6 +105,8 @@ public class QmsPqcTaskRecordDetailVO {
*/ */
@Data @Data
public static class ProcessInspectionVO { 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<FileDetailVO> qcTestFiles;
}
@Data @Data
public static class FileDetailVO { public static class FileDetailVO {
/** /**

View File

@ -2,6 +2,8 @@ package com.nflg.wms.common.pojo.vo;
import lombok.Data; import lombok.Data;
import java.time.LocalDateTime;
/** /**
* PQC任务列表返回对象 * PQC任务列表返回对象
*/ */
@ -23,6 +25,11 @@ public class QmsPqcTaskRecordPageVO {
*/ */
private String taskNo; private String taskNo;
/**
* 订单编号
*/
private String aufnr;
/** /**
* 机型编号 * 机型编号
*/ */
@ -53,8 +60,38 @@ public class QmsPqcTaskRecordPageVO {
*/ */
private String testerName; private String testerName;
/**
* 自检人id
*/
private Long selfTesterId;
/**
* 自检人姓名
*/
private String selfTesterName;
/**
* 复核人id
*/
private Long reviewerId;
/**
* 复核人姓名
*/
private String reviewerName;
/** /**
* 检验状态0为自检中1为待复核2为复核中3为已复核 * 检验状态0为自检中1为待复核2为复核中3为已复核
*/ */
private Short status; private Short status;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 完成时间
*/
private LocalDateTime completeTime;
} }