pdi、pqc驳回修改

This commit is contained in:
yf001217 2026-06-15 22:42:06 +08:00
parent 8df7d080f1
commit 21b4e5b094
4 changed files with 79 additions and 5 deletions

View File

@ -100,6 +100,9 @@ public class QmsIssueTicketControllerService {
@Resource
private IQmsPqcInspectionPointItemsService pqcInspectionPointItemsService;
@Resource
private QmsIssueTicketProcessControllerService issueTicketProcessControllerService;
/**
* 批量删除质量问题工单
* 仅允许删除来源类型为PQCsourceType=3且状态为待流转status=0的工单
@ -363,15 +366,33 @@ public class QmsIssueTicketControllerService {
QmsIssueTicket ticket = issueTicketService.getById(request.getId());
VUtil.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("工单不存在");
// 2. 校验工单来源类型为巡检
if (!Objects.equals(ticket.getSourceType(), (short) 2)) {
if (CollectionUtil.isNotEmpty(request.getHandlers())) {
QmsIssueTicketProcessAddQO addRequest = new QmsIssueTicketProcessAddQO();
addRequest.setIssueTicketId(request.getId());
addRequest.setHandlers(request.getHandlers().stream().map(item -> {
QmsIssueTicketProcessAddQO.HandlerItem handlerItem = new QmsIssueTicketProcessAddQO.HandlerItem();
handlerItem.setTaskResultId(item.getTaskResultId());
handlerItem.setHandlerUserId(item.getHandlerUserId());
return handlerItem;
}).collect(Collectors.toList()));
issueTicketProcessControllerService.add(addRequest);
return;
}
throw new NflgException(STATE.BusinessError, "只能分派巡检工单");
}
Short approvalStatus = request.getApprovalStatus();
if (approvalStatus == null) {
VUtil.trueThrowBusinessError(!Objects.equals(ticket.getStatus(), (short) 0))
.throwMessage("审批状态不能为空");
approvalStatus = 0;
}
issueTicketToDoService.processed(ticket.getId());
// 3. 根据审批状态分支处理
if (request.getApprovalStatus() == 1) {
if (approvalStatus == 1) {
// 驳回不创建处理记录工单改为待流转推送消息给创建人
issueTicketService.lambdaUpdate()
.eq(QmsIssueTicket::getId, ticket.getId())
@ -404,7 +425,7 @@ public class QmsIssueTicketControllerService {
// 更新工单审批状态和意见
issueTicketService.lambdaUpdate()
.eq(QmsIssueTicket::getId, ticket.getId())
.set(QmsIssueTicket::getApprovalStatus, request.getApprovalStatus())
.set(QmsIssueTicket::getApprovalStatus, approvalStatus)
.set(request.getApprovalOpinion() != null,
QmsIssueTicket::getApprovalOpinion, request.getApprovalOpinion())
.set(QmsIssueTicket::getUpdateUserId, currentUserId)

View File

@ -95,7 +95,28 @@ public class QmsIssueTicketProcessControllerService {
handlerUserIds.add(entry.getKey());
}
if (Objects.equals(ticket.getSourceType(), (short) 3)) {
if (Objects.equals(ticket.getSourceType(), (short) 1)) {
issueTicketToDoService.processed(ticket.getId());
for (Long handlerUserId : handlerUserIds) {
QmsIssueTicketToDo todoItem = new QmsIssueTicketToDo()
.setTicketId(ticket.getId())
.setHandlerUserId(handlerUserId)
.setHasProcessed(false)
.setIsRead(false);
issueTicketToDoService.save(todoItem);
}
if (!Objects.equals(ticket.getStatus(), (short) 1)) {
issueTicketService.lambdaUpdate()
.eq(QmsIssueTicket::getId, ticket.getId())
.set(QmsIssueTicket::getStatus, (short) 1)
.set(QmsIssueTicket::getUpdateUserId, currentUserId)
.set(QmsIssueTicket::getUpdateUserName, currentUserName)
.set(QmsIssueTicket::getUpdateTime, now)
.update();
}
} else if (Objects.equals(ticket.getSourceType(), (short) 3)) {
issueTicketToDoService.lambdaUpdate()
.eq(QmsIssueTicketToDo::getTicketId, ticket.getId())
.eq(QmsIssueTicketToDo::getHasProcessed, false)

View File

@ -1,5 +1,7 @@
package com.nflg.wms.common.pojo.qo;
import com.fasterxml.jackson.annotation.JsonAlias;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@ -15,6 +17,7 @@ public class QmsIssueTicketDispatchMultipleQO {
* 工单IDqms_issue_ticket.id
*/
@NotNull(message = "工单ID不能为空")
@JsonAlias({"ticketId", "issueTicketId"})
private Long id;
/**
@ -22,14 +25,38 @@ public class QmsIssueTicketDispatchMultipleQO {
*/
private List<Long> handlerUserIds;
/**
* 按不合格项分派处理人
*/
@Valid
private List<HandlerItem> handlers;
/**
* 审批状态0=通过1=驳回
*/
@NotNull(message = "审批状态不能为空")
private Short approvalStatus;
/**
* 审批意见
*/
private String approvalOpinion;
/**
* 处理人项
*/
@Data
public static class HandlerItem {
/**
* 任务结果ID
*/
@NotNull(message = "任务结果ID不能为空")
private Long taskResultId;
/**
* 处理人用户ID
*/
@NotNull(message = "处理人用户ID不能为空")
private Long handlerUserId;
}
}

View File

@ -1,5 +1,6 @@
package com.nflg.wms.common.pojo.qo;
import com.fasterxml.jackson.annotation.JsonAlias;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
@ -17,6 +18,7 @@ public class QmsPqcTicketDispatchQO {
* 工单ID必传
*/
@NotNull(message = "工单ID不能为空")
@JsonAlias({"id", "issueTicketId"})
private Long ticketId;
/**
@ -34,6 +36,7 @@ public class QmsPqcTicketDispatchQO {
*/
@NotEmpty(message = "处理人列表不能为空")
@Valid
@JsonAlias("handlers")
private List<AssigneeItem> assignees;
/**
@ -45,12 +48,14 @@ public class QmsPqcTicketDispatchQO {
* 不合格项ID多个用逗号拼接
*/
@NotEmpty(message = "不合格项ID不能为空")
@JsonAlias("taskResultId")
private String taskResultIds;
/**
* 处理人ID
*/
@NotNull(message = "处理人ID不能为空")
@JsonAlias("handlerUserId")
private Long userId;
}
}