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.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<QmsPqcTaskRecordDetails> details = pqcTaskRecordDetailsService.lambdaQuery()
.eq(QmsPqcTaskRecordDetails::getTaskId, taskId)
.list();
// 4. 查询检测项信息
Set<Long> 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<QmsPqcTaskRecordDetailVO.MaterialCollectionVO> materialCollections = new ArrayList<>();
List<QmsPqcTaskRecordDetailVO.MaterialCollectionVO> qcMaterialCollections = new ArrayList<>();
List<QmsPqcTaskRecordDetailVO.ProcessInspectionVO> processInspections = new ArrayList<>();
List<QmsPqcTaskRecordDetailVO.ProcessInspectionLevel3VO> 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;

View File

@ -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<MaterialCollectionVO> materialCollections;
private List<MaterialCollectionVO> qcMaterialCollections;
/**
* 工序检查对象列表
*/
private List<ProcessInspectionVO> processInspections;
private List<ProcessInspectionLevel3VO> 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<FileDetailVO> qcTestFiles;
}
@Data
public static class FileDetailVO {
/**

View File

@ -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;
}