feat(qms): 优化工单重复校验及检测详情接口调整
- 在工单创建时增加同一taskRecordId只能创建一次工单的校验逻辑 - 已存在工单时仅新增处理记录,避免重复创建工单 - 删除QmsPdiInspectionResultsControllerService中检测详情接口的任务状态返回 - 调整检测详情接口返回类型为检测项列表,精简接口响应数据 - 在任务概要中新增inspectionEnable字段表示质检状态 - QmsPdiTaskRecordDefectPageVO新增质检人和帮办人ID字段 - 增加工单编号和标题字段,完善工单信息展示 - 调整MyBatis映射文件,增加对应字段的查询映射 - 删除QmsPdiTaskRecordDetailVO中冗余的DetailWithStatusVO类
This commit is contained in:
parent
04f5ba7df8
commit
f2901111b3
|
|
@ -81,7 +81,7 @@ public class QmsPdiInspectionResultsController extends BaseController {
|
|||
* 根据任务ID + 检测项类型返回对应检测结果及图片URL
|
||||
*/
|
||||
@PostMapping("detail")
|
||||
public ApiResult<QmsPdiTaskRecordDetailVO.DetailWithStatusVO> detail(
|
||||
public ApiResult<List<QmsPdiTaskRecordDetailVO.StatusItemVO>> detail(
|
||||
@Valid @RequestBody QmsPdiTaskRecordStatusItemDetailQO request) {
|
||||
return ApiResult.success(inspectionResultsControllerService.detail(request));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)) {
|
||||
|
|
|
|||
|
|
@ -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<QmsPdiTaskRecordDetailVO.StatusItemVO> 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) {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -132,21 +132,4 @@ public class QmsPdiTaskRecordDetailVO {
|
|||
*/
|
||||
private List<String> inspectionItemImage;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测项详情(含任务状态)
|
||||
*/
|
||||
@Data
|
||||
public static class DetailWithStatusVO {
|
||||
|
||||
/**
|
||||
* 质检状态:0=待检查,1=检验中,2=已完成
|
||||
*/
|
||||
private Integer inspectionEnable;
|
||||
|
||||
/**
|
||||
* 检测项列表
|
||||
*/
|
||||
private List<StatusItemVO> items;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,4 +54,9 @@ public class QmsPdiTaskRecordSummaryVO {
|
|||
* 特殊子项数量(inspection_item_type=3)
|
||||
*/
|
||||
private Integer specialItemCount;
|
||||
|
||||
/**
|
||||
* 质检状态:0=待检查,1=检验中,2=已完成
|
||||
*/
|
||||
private Integer inspectionEnable;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue