diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsPdiInspectionResultsController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsPdiInspectionResultsController.java index 9176b957..ce4bb0de 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsPdiInspectionResultsController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsPdiInspectionResultsController.java @@ -81,7 +81,7 @@ public class QmsPdiInspectionResultsController extends BaseController { * 根据任务ID + 检测项类型返回对应检测结果及图片URL */ @PostMapping("detail") - public ApiResult detail( + public ApiResult> detail( @Valid @RequestBody QmsPdiTaskRecordStatusItemDetailQO request) { return ApiResult.success(inspectionResultsControllerService.detail(request)); } diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java index 32add78a..53001b0b 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java @@ -173,6 +173,23 @@ public class QmsIssueTicketControllerService { throw new NflgException(STATE.BusinessError, "PDI检测任务记录不存在"); } + // 校验是否已存在工单(同一taskRecordId只能创建一次工单) + QmsIssueTicket existingTicket = issueTicketService.lambdaQuery() + .eq(QmsIssueTicket::getSourceType, (short) 1) + .eq(QmsIssueTicket::getSourceId, request.getTaskRecordId()) + .one(); + + if (existingTicket != null) { + // 工单已存在,仅新增分配(工单处理记录) + issueTicketProcessControllerService.addAsync( + existingTicket.getId(), + request.getHandlerUserId(), + request.getInspectionResultIds(), + existingTicket.getTicketNo() + ); + return; + } + // 查询检测规则 QmsPdiDetectionRules rules = pdiDetectionRulesService.getById(taskRecord.getDetectionRulesId()); if (Objects.isNull(rules)) { diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java index 9d0f3e3b..f6583045 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPdiInspectionResultsControllerService.java @@ -276,20 +276,10 @@ public class QmsPdiInspectionResultsControllerService { /** * 查询检测项详情(平板使用,不分页) - * 根据任务ID + 检测项类型返回对应结果及图片URL,同时返回任务状态 + * 根据任务ID + 检测项类型返回对应结果及图片URL */ - public QmsPdiTaskRecordDetailVO.DetailWithStatusVO detail(QmsPdiTaskRecordStatusItemDetailQO request) { - QmsPdiTaskRecordDetailVO.DetailWithStatusVO result = new QmsPdiTaskRecordDetailVO.DetailWithStatusVO(); - - // 查询任务状态 - QmsPdiTaskRecord taskRecord = taskRecordService.getById(request.getId()); - if (taskRecord != null) { - result.setInspectionEnable(taskRecord.getInspectionEnable()); - } - - // 查询检测项列表 - result.setItems(taskRecordControllerService.statusItemList(request.getId(), request.getInspectionItemType())); - return result; + public List detail(QmsPdiTaskRecordStatusItemDetailQO request) { + return taskRecordControllerService.statusItemList(request.getId(), request.getInspectionItemType()); } // ========================= 任务概要 ========================= @@ -308,6 +298,7 @@ public class QmsPdiInspectionResultsControllerService { vo.setDeviceNo(task.getDeviceNo()); vo.setOrderNo(task.getOrderNo()); vo.setRequiredCompletionTime(task.getRequiredCompletionTime()); + vo.setInspectionEnable(task.getInspectionEnable()); // 查询检测规则获取机型编号和检测版本 if (task.getDetectionRulesId() != null) { diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDefectPageVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDefectPageVO.java index 64330088..d547a00f 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDefectPageVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDefectPageVO.java @@ -70,11 +70,21 @@ public class QmsPdiTaskRecordDefectPageVO { */ private String inspectorName; + /** + * 质检人ID + */ + private Long inspectorId; + /** * 帮办人名字 */ private String assistantName; + /** + * 帮办人ID + */ + private Long assistantId; + /** * 质检时间(开始检测时间) */ @@ -104,4 +114,14 @@ public class QmsPdiTaskRecordDefectPageVO { * 工单流程状态(来自qms_issue_ticket.status):0=待流转,1=处理中,2=已完成;null=未创建工单 */ private Short status; + + /** + * 工单编号 + */ + private String ticketNo; + + /** + * 工单标题 + */ + private String ticketTitle; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDetailVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDetailVO.java index a482e1d5..0f93a154 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDetailVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordDetailVO.java @@ -132,21 +132,4 @@ public class QmsPdiTaskRecordDetailVO { */ private List inspectionItemImage; } - - /** - * 检测项详情(含任务状态) - */ - @Data - public static class DetailWithStatusVO { - - /** - * 质检状态:0=待检查,1=检验中,2=已完成 - */ - private Integer inspectionEnable; - - /** - * 检测项列表 - */ - private List items; - } } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordSummaryVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordSummaryVO.java index b575700c..606e6077 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordSummaryVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTaskRecordSummaryVO.java @@ -54,4 +54,9 @@ public class QmsPdiTaskRecordSummaryVO { * 特殊子项数量(inspection_item_type=3) */ private Integer specialItemCount; + + /** + * 质检状态:0=待检查,1=检验中,2=已完成 + */ + private Integer inspectionEnable; } diff --git a/nflg-wms-repository/src/main/resources/mapper/QmsPdiTaskRecordMapper.xml b/nflg-wms-repository/src/main/resources/mapper/QmsPdiTaskRecordMapper.xml index b349cf26..b4a048e6 100644 --- a/nflg-wms-repository/src/main/resources/mapper/QmsPdiTaskRecordMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/QmsPdiTaskRecordMapper.xml @@ -84,13 +84,17 @@ t.inspection_enable AS inspectionEnable, t.inspection_inspection AS inspectionInspection, ui.user_name AS inspectorName, + r.inspector_id AS inspectorId, ua.user_name AS assistantName, + t.assistant_id AS assistantId, t.start_detection_time AS startDetectionTime, t.submission_time AS submissionTime, t.required_completion_time AS requiredCompletionTime, t.detection_completion_time AS detectionCompletionTime, t.overdue, - it.status AS status + it.status AS status, + it.ticket_no AS ticketNo, + it.ticket_title AS ticketTitle FROM qms_pdi_task_record t LEFT JOIN qms_pdi_detection_rules r ON r.id = t.detection_rules_id LEFT JOIN "user" ui ON ui.id = r.inspector_id