feat(qms-pdi): 支持PDI发起工单时查询不合格检测项并优化图片数据结构
- 新增QmsPdiInitiateTicketQO请求参数类,支持传入任务记录ID查询 - 在QmsIssueTicketController新增接口initiatePdiTicket,返回不合格检测项列表 - 实现QmsIssueTicketControllerService.initiatePdiTicket方法 查询不合格检测项及对应图片详情 - 修改QmsPdiInspectionResultsControllerService.submit方法,返回类型调整为VO,图片字段转换为列表格式 - 在QmsPdiInspectionResultsControllerService新增buildInspectionResultVOList方法,将图片ID字符串转换为图片详情列表 - 优化QmsPdiTicketDetailVO和QmsPdiTicketMyDetailVO中图片字段类型,改用FileDetailVO列表替代原有字符串 - 统一解析和返回图片文件详情,提升前端处理效率和数据可读性
This commit is contained in:
parent
d94b0fe7b2
commit
d81aaea6e6
|
|
@ -7,8 +7,10 @@ import com.nflg.wms.common.pojo.qo.QmsIssueTicketAddQO;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsIssueTicketAuditQO;
|
import com.nflg.wms.common.pojo.qo.QmsIssueTicketAuditQO;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsIssueTicketPdiAddQO;
|
import com.nflg.wms.common.pojo.qo.QmsIssueTicketPdiAddQO;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsIssueTicketSearchQO;
|
import com.nflg.wms.common.pojo.qo.QmsIssueTicketSearchQO;
|
||||||
|
import com.nflg.wms.common.pojo.qo.QmsPdiInitiateTicketQO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsIssueTicketDetailVO;
|
import com.nflg.wms.common.pojo.vo.QmsIssueTicketDetailVO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsIssueTicketVO;
|
import com.nflg.wms.common.pojo.vo.QmsIssueTicketVO;
|
||||||
|
import com.nflg.wms.common.pojo.vo.QmsPdiInspectionResultVO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsPdiTicketDetailVO;
|
import com.nflg.wms.common.pojo.vo.QmsPdiTicketDetailVO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsPdiTicketMyDetailVO;
|
import com.nflg.wms.common.pojo.vo.QmsPdiTicketMyDetailVO;
|
||||||
import com.nflg.wms.repository.service.IQmsIssueTicketService;
|
import com.nflg.wms.repository.service.IQmsIssueTicketService;
|
||||||
|
|
@ -56,6 +58,14 @@ public class QmsIssueTicketController extends BaseController {
|
||||||
return ApiResult.success();
|
return ApiResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PDI发起工单:查询任务的不合格检测项
|
||||||
|
*/
|
||||||
|
@PostMapping("initiatePdiTicket")
|
||||||
|
public ApiResult<List<QmsPdiInspectionResultVO>> initiatePdiTicket(@Valid @RequestBody QmsPdiInitiateTicketQO request) {
|
||||||
|
return ApiResult.success(issueTicketControllerService.initiatePdiTicket(request.getTaskRecordId()));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审核质量问题工单
|
* 审核质量问题工单
|
||||||
* 更新审批状态、审批意见、审批人信息,并根据审批结果更新工单状态
|
* 更新审批状态、审批意见、审批人信息,并根据审批结果更新工单状态
|
||||||
|
|
|
||||||
|
|
@ -8,11 +8,12 @@ import com.nflg.wms.common.pojo.qo.QmsPdiInspectionResultsSubmitQO;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsPdiStatusItemsFillQO;
|
import com.nflg.wms.common.pojo.qo.QmsPdiStatusItemsFillQO;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsPdiTaskListQO;
|
import com.nflg.wms.common.pojo.qo.QmsPdiTaskListQO;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsPdiTaskRecordStatusItemDetailQO;
|
import com.nflg.wms.common.pojo.qo.QmsPdiTaskRecordStatusItemDetailQO;
|
||||||
import com.nflg.wms.repository.entity.QmsPdiInspectionResults;
|
import com.nflg.wms.common.pojo.vo.QmsPdiInspectionResultVO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsPdiInspectionResultsPageVO;
|
import com.nflg.wms.common.pojo.vo.QmsPdiInspectionResultsPageVO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsPdiTaskListVO;
|
import com.nflg.wms.common.pojo.vo.QmsPdiTaskListVO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordDetailVO;
|
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordDetailVO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordSummaryVO;
|
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordSummaryVO;
|
||||||
|
import com.nflg.wms.repository.entity.QmsPdiInspectionResults;
|
||||||
import com.nflg.wms.starter.BaseController;
|
import com.nflg.wms.starter.BaseController;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
|
|
@ -52,7 +53,7 @@ public class QmsPdiInspectionResultsController extends BaseController {
|
||||||
* 5. 若有不合格项则以 list 返回,无则返回 null
|
* 5. 若有不合格项则以 list 返回,无则返回 null
|
||||||
*/
|
*/
|
||||||
@PostMapping("submit")
|
@PostMapping("submit")
|
||||||
public ApiResult<List<QmsPdiInspectionResults>> submit(
|
public ApiResult<List<QmsPdiInspectionResultVO>> submit(
|
||||||
@Valid @RequestBody QmsPdiInspectionResultsSubmitQO request) {
|
@Valid @RequestBody QmsPdiInspectionResultsSubmitQO request) {
|
||||||
return ApiResult.success(inspectionResultsControllerService.submit(request));
|
return ApiResult.success(inspectionResultsControllerService.submit(request));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,83 @@ public class QmsIssueTicketControllerService {
|
||||||
@Resource
|
@Resource
|
||||||
private IDepartmentService departmentService;
|
private IDepartmentService departmentService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PDI发起工单:查询任务的不合格检测项
|
||||||
|
*/
|
||||||
|
public List<QmsPdiInspectionResultVO> initiatePdiTicket(Long taskRecordId) {
|
||||||
|
// 查询不合格检测项
|
||||||
|
List<QmsPdiInspectionResults> failedItems = pdiInspectionResultsService.lambdaQuery()
|
||||||
|
.eq(QmsPdiInspectionResults::getTaskId, taskRecordId)
|
||||||
|
.eq(QmsPdiInspectionResults::getInspectionItemResults, false)
|
||||||
|
.list();
|
||||||
|
|
||||||
|
if (failedItems.isEmpty()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 收集所有图片ID
|
||||||
|
Set<Long> imageIds = failedItems.stream()
|
||||||
|
.map(QmsPdiInspectionResults::getInspectionItemImage)
|
||||||
|
.filter(StrUtil::isNotBlank)
|
||||||
|
.flatMap(imageStr -> Arrays.stream(imageStr.split(",")))
|
||||||
|
.filter(StrUtil::isNotBlank)
|
||||||
|
.map(Long::valueOf)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
// 查询图片文件信息
|
||||||
|
Map<Long, FileUploadRecord> imageMap = new HashMap<>();
|
||||||
|
if (!imageIds.isEmpty()) {
|
||||||
|
List<FileUploadRecord> records = fileUploadRecordService.lambdaQuery()
|
||||||
|
.in(FileUploadRecord::getId, imageIds)
|
||||||
|
.list();
|
||||||
|
imageMap = records.stream()
|
||||||
|
.collect(Collectors.toMap(FileUploadRecord::getId, r -> r, (a, b) -> a));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建返回值
|
||||||
|
final Map<Long, FileUploadRecord> finalImageMap = imageMap;
|
||||||
|
return failedItems.stream().map(item -> {
|
||||||
|
QmsPdiInspectionResultVO vo = new QmsPdiInspectionResultVO();
|
||||||
|
vo.setId(item.getId());
|
||||||
|
vo.setDetectionRulesId(item.getDetectionRulesId());
|
||||||
|
vo.setTaskId(item.getTaskId());
|
||||||
|
vo.setInspectionItemId(item.getInspectionItemId());
|
||||||
|
vo.setInspectionItemType(item.getInspectionItemType());
|
||||||
|
vo.setInspectionItemResults(item.getInspectionItemResults());
|
||||||
|
vo.setRemark(item.getRemark());
|
||||||
|
vo.setInspectorId(item.getInspectorId());
|
||||||
|
vo.setInspectionTime(item.getInspectionTime());
|
||||||
|
vo.setInspectionBy(item.getInspectionBy());
|
||||||
|
|
||||||
|
// 解析图片为 FileDetailVO 列表
|
||||||
|
if (StrUtil.isNotBlank(item.getInspectionItemImage())) {
|
||||||
|
List<QmsPdiTaskRecordDetailVO.FileDetailVO> imageList = Arrays.stream(item.getInspectionItemImage().split(","))
|
||||||
|
.filter(StrUtil::isNotBlank)
|
||||||
|
.map(String::trim)
|
||||||
|
.map(Long::valueOf)
|
||||||
|
.map(id -> {
|
||||||
|
FileUploadRecord record = finalImageMap.get(id);
|
||||||
|
if (record != null) {
|
||||||
|
QmsPdiTaskRecordDetailVO.FileDetailVO fileVO = new QmsPdiTaskRecordDetailVO.FileDetailVO();
|
||||||
|
fileVO.setId(record.getId());
|
||||||
|
fileVO.setFileName(record.getFileName());
|
||||||
|
fileVO.setFileType(record.getFileType());
|
||||||
|
fileVO.setUrl(record.getUrl());
|
||||||
|
return fileVO;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
})
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
vo.setInspectionItemImage(imageList);
|
||||||
|
} else {
|
||||||
|
vo.setInspectionItemImage(List.of());
|
||||||
|
}
|
||||||
|
|
||||||
|
return vo;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审核质量问题工单
|
* 审核质量问题工单
|
||||||
* 更新审批状态、审批意见、审批人信息、事故类型,并更新工单状态
|
* 更新审批状态、审批意见、审批人信息、事故类型,并更新工单状态
|
||||||
|
|
@ -469,7 +546,7 @@ public class QmsIssueTicketControllerService {
|
||||||
itemVO.setId(result.getId());
|
itemVO.setId(result.getId());
|
||||||
itemVO.setInspectionItemId(result.getInspectionItemId());
|
itemVO.setInspectionItemId(result.getInspectionItemId());
|
||||||
itemVO.setInspectionItemType(result.getInspectionItemType());
|
itemVO.setInspectionItemType(result.getInspectionItemType());
|
||||||
itemVO.setInspectionItemImage(result.getInspectionItemImage());
|
itemVO.setInspectionItemImage(parseImageList(result.getInspectionItemImage()));
|
||||||
itemVO.setRemark(result.getRemark());
|
itemVO.setRemark(result.getRemark());
|
||||||
itemVO.setInspectorId(result.getInspectorId());
|
itemVO.setInspectorId(result.getInspectorId());
|
||||||
itemVO.setInspectionTime(result.getInspectionTime());
|
itemVO.setInspectionTime(result.getInspectionTime());
|
||||||
|
|
@ -542,6 +619,9 @@ public class QmsIssueTicketControllerService {
|
||||||
QmsPdiTicketMyDetailVO vo = new QmsPdiTicketMyDetailVO();
|
QmsPdiTicketMyDetailVO vo = new QmsPdiTicketMyDetailVO();
|
||||||
BeanUtil.copyProperties(ticket, vo);
|
BeanUtil.copyProperties(ticket, vo);
|
||||||
|
|
||||||
|
// 将 imageIds 转换为图片详情列表
|
||||||
|
vo.setImages(parseImageList(ticket.getImageIds()));
|
||||||
|
|
||||||
// 构建处理记录列表
|
// 构建处理记录列表
|
||||||
List<QmsPdiTicketMyDetailVO.ProcessVO> processVOList = processes.stream().map(process -> {
|
List<QmsPdiTicketMyDetailVO.ProcessVO> processVOList = processes.stream().map(process -> {
|
||||||
QmsPdiTicketMyDetailVO.ProcessVO processVO = new QmsPdiTicketMyDetailVO.ProcessVO();
|
QmsPdiTicketMyDetailVO.ProcessVO processVO = new QmsPdiTicketMyDetailVO.ProcessVO();
|
||||||
|
|
@ -565,4 +645,50 @@ public class QmsIssueTicketControllerService {
|
||||||
vo.setProcesses(processVOList);
|
vo.setProcesses(processVOList);
|
||||||
return vo;
|
return vo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将逗号分隔的图片ID字符串转换为 FileDetailVO 列表
|
||||||
|
*/
|
||||||
|
private List<QmsPdiTaskRecordDetailVO.FileDetailVO> parseImageList(String imageIdsStr) {
|
||||||
|
if (StrUtil.isBlank(imageIdsStr)) {
|
||||||
|
return List.of();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 收集所有图片ID
|
||||||
|
Set<Long> imageIds = Arrays.stream(imageIdsStr.split(","))
|
||||||
|
.filter(StrUtil::isNotBlank)
|
||||||
|
.map(String::trim)
|
||||||
|
.map(Long::valueOf)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
if (imageIds.isEmpty()) {
|
||||||
|
return List.of();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 查询图片文件信息
|
||||||
|
List<FileUploadRecord> records = fileUploadRecordService.lambdaQuery()
|
||||||
|
.in(FileUploadRecord::getId, imageIds)
|
||||||
|
.list();
|
||||||
|
|
||||||
|
// 构建 Map 保持顺序
|
||||||
|
Map<Long, FileUploadRecord> imageMap = records.stream()
|
||||||
|
.collect(Collectors.toMap(FileUploadRecord::getId, r -> r, (a, b) -> a));
|
||||||
|
|
||||||
|
// 按原始顺序返回
|
||||||
|
return Arrays.stream(imageIdsStr.split(","))
|
||||||
|
.filter(StrUtil::isNotBlank)
|
||||||
|
.map(String::trim)
|
||||||
|
.map(Long::valueOf)
|
||||||
|
.map(imageMap::get)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.map(record -> {
|
||||||
|
QmsPdiTaskRecordDetailVO.FileDetailVO fileVO = new QmsPdiTaskRecordDetailVO.FileDetailVO();
|
||||||
|
fileVO.setId(record.getId());
|
||||||
|
fileVO.setFileName(record.getFileName());
|
||||||
|
fileVO.setFileType(record.getFileType());
|
||||||
|
fileVO.setUrl(record.getUrl());
|
||||||
|
return fileVO;
|
||||||
|
})
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,15 +10,18 @@ import com.nflg.wms.common.pojo.qo.QmsPdiInspectionResultsSubmitQO;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsPdiStatusItemsFillQO;
|
import com.nflg.wms.common.pojo.qo.QmsPdiStatusItemsFillQO;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsPdiTaskListQO;
|
import com.nflg.wms.common.pojo.qo.QmsPdiTaskListQO;
|
||||||
import com.nflg.wms.common.pojo.qo.QmsPdiTaskRecordStatusItemDetailQO;
|
import com.nflg.wms.common.pojo.qo.QmsPdiTaskRecordStatusItemDetailQO;
|
||||||
|
import com.nflg.wms.common.pojo.vo.QmsPdiInspectionResultVO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsPdiInspectionResultsPageVO;
|
import com.nflg.wms.common.pojo.vo.QmsPdiInspectionResultsPageVO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsPdiTaskListVO;
|
import com.nflg.wms.common.pojo.vo.QmsPdiTaskListVO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordDetailVO;
|
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordDetailVO;
|
||||||
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordSummaryVO;
|
import com.nflg.wms.common.pojo.vo.QmsPdiTaskRecordSummaryVO;
|
||||||
import com.nflg.wms.common.util.UserUtil;
|
import com.nflg.wms.common.util.UserUtil;
|
||||||
|
import com.nflg.wms.repository.entity.FileUploadRecord;
|
||||||
import com.nflg.wms.repository.entity.QmsPdiDetectionRules;
|
import com.nflg.wms.repository.entity.QmsPdiDetectionRules;
|
||||||
import com.nflg.wms.repository.entity.QmsPdiDetectionRulesDeliveryItem;
|
import com.nflg.wms.repository.entity.QmsPdiDetectionRulesDeliveryItem;
|
||||||
import com.nflg.wms.repository.entity.QmsPdiInspectionResults;
|
import com.nflg.wms.repository.entity.QmsPdiInspectionResults;
|
||||||
import com.nflg.wms.repository.entity.QmsPdiTaskRecord;
|
import com.nflg.wms.repository.entity.QmsPdiTaskRecord;
|
||||||
|
import com.nflg.wms.repository.service.IFileUploadRecordService;
|
||||||
import com.nflg.wms.repository.service.IQmsPdiDetectionRulesDeliveryItemService;
|
import com.nflg.wms.repository.service.IQmsPdiDetectionRulesDeliveryItemService;
|
||||||
import com.nflg.wms.repository.service.IQmsPdiDetectionRulesService;
|
import com.nflg.wms.repository.service.IQmsPdiDetectionRulesService;
|
||||||
import com.nflg.wms.repository.service.IQmsPdiInspectionResultsService;
|
import com.nflg.wms.repository.service.IQmsPdiInspectionResultsService;
|
||||||
|
|
@ -30,6 +33,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
@ -57,6 +62,9 @@ public class QmsPdiInspectionResultsControllerService {
|
||||||
@Resource
|
@Resource
|
||||||
private QmsPdiTaskRecordControllerService taskRecordControllerService;
|
private QmsPdiTaskRecordControllerService taskRecordControllerService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IFileUploadRecordService fileUploadRecordService;
|
||||||
|
|
||||||
// ========================= 动静态检查项填写 =========================
|
// ========================= 动静态检查项填写 =========================
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -150,7 +158,7 @@ public class QmsPdiInspectionResultsControllerService {
|
||||||
* 7. 若有不合格项则以 list 返回(仅 type=0/1/3),无则返回 null
|
* 7. 若有不合格项则以 list 返回(仅 type=0/1/3),无则返回 null
|
||||||
*/
|
*/
|
||||||
@Transactional
|
@Transactional
|
||||||
public List<QmsPdiInspectionResults> submit(QmsPdiInspectionResultsSubmitQO request) {
|
public List<QmsPdiInspectionResultVO> submit(QmsPdiInspectionResultsSubmitQO request) {
|
||||||
String operator = UserUtil.getUserName();
|
String operator = UserUtil.getUserName();
|
||||||
Long operatorId = UserUtil.getUserId();
|
Long operatorId = UserUtil.getUserId();
|
||||||
LocalDateTime now = LocalDateTime.now();
|
LocalDateTime now = LocalDateTime.now();
|
||||||
|
|
@ -225,8 +233,79 @@ public class QmsPdiInspectionResultsControllerService {
|
||||||
.set(QmsPdiTaskRecord::getInspectionEnable, hasDefect ? 3 : 2)
|
.set(QmsPdiTaskRecord::getInspectionEnable, hasDefect ? 3 : 2)
|
||||||
.update();
|
.update();
|
||||||
|
|
||||||
// 7. 返回不合格项
|
// 7. 返回不合格项(转换为VO,图片改为List格式)
|
||||||
return failedItems.isEmpty() ? null : failedItems;
|
return buildInspectionResultVOList(failedItems);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将 QmsPdiInspectionResults 列表转换为 QmsPdiInspectionResultVO 列表(图片转为List格式)
|
||||||
|
*/
|
||||||
|
private List<QmsPdiInspectionResultVO> buildInspectionResultVOList(List<QmsPdiInspectionResults> items) {
|
||||||
|
if (items == null || items.isEmpty()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 收集所有图片ID
|
||||||
|
Set<Long> imageIds = items.stream()
|
||||||
|
.map(QmsPdiInspectionResults::getInspectionItemImage)
|
||||||
|
.filter(cn.hutool.core.util.StrUtil::isNotBlank)
|
||||||
|
.flatMap(imageStr -> Arrays.stream(imageStr.split(",")))
|
||||||
|
.filter(cn.hutool.core.util.StrUtil::isNotBlank)
|
||||||
|
.map(Long::valueOf)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
// 查询图片文件信息
|
||||||
|
Map<Long, FileUploadRecord> imageMap = new HashMap<>();
|
||||||
|
if (!imageIds.isEmpty()) {
|
||||||
|
List<FileUploadRecord> records = fileUploadRecordService.lambdaQuery()
|
||||||
|
.in(FileUploadRecord::getId, imageIds)
|
||||||
|
.list();
|
||||||
|
imageMap = records.stream()
|
||||||
|
.collect(Collectors.toMap(FileUploadRecord::getId, r -> r, (a, b) -> a));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 构建返回值
|
||||||
|
final Map<Long, FileUploadRecord> finalImageMap = imageMap;
|
||||||
|
return items.stream().map(item -> {
|
||||||
|
QmsPdiInspectionResultVO vo = new QmsPdiInspectionResultVO();
|
||||||
|
vo.setId(item.getId());
|
||||||
|
vo.setDetectionRulesId(item.getDetectionRulesId());
|
||||||
|
vo.setTaskId(item.getTaskId());
|
||||||
|
vo.setInspectionItemId(item.getInspectionItemId());
|
||||||
|
vo.setInspectionItemType(item.getInspectionItemType());
|
||||||
|
vo.setInspectionItemResults(item.getInspectionItemResults());
|
||||||
|
vo.setRemark(item.getRemark());
|
||||||
|
vo.setInspectorId(item.getInspectorId());
|
||||||
|
vo.setInspectionTime(item.getInspectionTime());
|
||||||
|
vo.setInspectionBy(item.getInspectionBy());
|
||||||
|
|
||||||
|
// 解析图片为 FileDetailVO 列表
|
||||||
|
if (cn.hutool.core.util.StrUtil.isNotBlank(item.getInspectionItemImage())) {
|
||||||
|
List<QmsPdiTaskRecordDetailVO.FileDetailVO> imageList = Arrays.stream(item.getInspectionItemImage().split(","))
|
||||||
|
.filter(cn.hutool.core.util.StrUtil::isNotBlank)
|
||||||
|
.map(String::trim)
|
||||||
|
.map(Long::valueOf)
|
||||||
|
.map(id -> {
|
||||||
|
FileUploadRecord record = finalImageMap.get(id);
|
||||||
|
if (record != null) {
|
||||||
|
QmsPdiTaskRecordDetailVO.FileDetailVO fileVO = new QmsPdiTaskRecordDetailVO.FileDetailVO();
|
||||||
|
fileVO.setId(record.getId());
|
||||||
|
fileVO.setFileName(record.getFileName());
|
||||||
|
fileVO.setFileType(record.getFileType());
|
||||||
|
fileVO.setUrl(record.getUrl());
|
||||||
|
return fileVO;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
})
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
vo.setInspectionItemImage(imageList);
|
||||||
|
} else {
|
||||||
|
vo.setInspectionItemImage(List.of());
|
||||||
|
}
|
||||||
|
|
||||||
|
return vo;
|
||||||
|
}).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
// ========================= 分页查询 =========================
|
// ========================= 分页查询 =========================
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.nflg.wms.common.pojo.qo;
|
||||||
|
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PDI发起工单 请求参数
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class QmsPdiInitiateTicketQO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PDI检测任务记录ID(QmsPdiTaskRecord.ID)
|
||||||
|
*/
|
||||||
|
@NotNull(message = "任务记录ID不能为空")
|
||||||
|
private Long taskRecordId;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,68 @@
|
||||||
|
package com.nflg.wms.common.pojo.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PDI不合格检测项 VO(用于发起工单和提交时返回)
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class QmsPdiInspectionResultVO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检测结果记录ID
|
||||||
|
*/
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PDI检测规则ID
|
||||||
|
*/
|
||||||
|
private Long detectionRulesId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务单ID
|
||||||
|
*/
|
||||||
|
private Long taskId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检验项ID
|
||||||
|
*/
|
||||||
|
private Long inspectionItemId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检验项类型:0=静态检测项,1=动态检测项,2=装车前检测项,3=特殊检测项
|
||||||
|
*/
|
||||||
|
private Integer inspectionItemType;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检验现场图片详情列表
|
||||||
|
*/
|
||||||
|
private List<QmsPdiTaskRecordDetailVO.FileDetailVO> inspectionItemImage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检验项结果:false=不合格,true=合格
|
||||||
|
*/
|
||||||
|
private Boolean inspectionItemResults;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 质检人ID(多个用逗号隔开)
|
||||||
|
*/
|
||||||
|
private String inspectorId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 质检时间
|
||||||
|
*/
|
||||||
|
private LocalDateTime inspectionTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 质检人
|
||||||
|
*/
|
||||||
|
private String inspectionBy;
|
||||||
|
}
|
||||||
|
|
@ -56,9 +56,9 @@ public class QmsPdiTicketDetailVO {
|
||||||
private Integer inspectionItemType;
|
private Integer inspectionItemType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检验现场图片
|
* 检验现场图片详情列表
|
||||||
*/
|
*/
|
||||||
private String inspectionItemImage;
|
private List<QmsPdiTaskRecordDetailVO.FileDetailVO> inspectionItemImage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备注
|
* 备注
|
||||||
|
|
|
||||||
|
|
@ -77,9 +77,9 @@ public class QmsPdiTicketMyDetailVO {
|
||||||
private String incidentConsequence;
|
private String incidentConsequence;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 图片列表,多个图片ID用逗号分隔
|
* 图片详情列表
|
||||||
*/
|
*/
|
||||||
private String imageIds;
|
private List<QmsPdiTaskRecordDetailVO.FileDetailVO> images;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 备注
|
* 备注
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue