Merge remote-tracking branch '惠信/qms/develop' into qms/develop

This commit is contained in:
曹鹏飞 2026-06-14 19:55:35 +08:00
commit ec9d08280f
2 changed files with 33 additions and 3 deletions

View File

@ -57,11 +57,12 @@ public class QmsIssueTicketProcessMeasureControllerService {
}
Long processId = process.getId();
String mergedRootCause = mergeRootCause(process.getRootCause(), request.getRootCause());
// 更新工单处理记录
issueTicketProcessService.lambdaUpdate()
.eq(QmsIssueTicketProcess::getId, processId)
.set(request.getRootCause() != null, QmsIssueTicketProcess::getRootCause, request.getRootCause())
.set(request.getRootCause() != null, QmsIssueTicketProcess::getRootCause, mergedRootCause)
.set(request.getApprovalStatus() != null, QmsIssueTicketProcess::getApprovalStatus, request.getApprovalStatus())
.set(request.getApprovalOpinion() != null, QmsIssueTicketProcess::getApprovalOpinion, request.getApprovalOpinion())
.set(QmsIssueTicketProcess::getApprovalUserId, currentUserId)
@ -72,6 +73,27 @@ public class QmsIssueTicketProcessMeasureControllerService {
saveMeasures(processId, request.getTemporaryMeasures(), request.getPermanentMeasures());
}
private String mergeRootCause(String oldRootCause, String newRootCause) {
if (newRootCause == null) {
return oldRootCause;
}
if (StrUtil.isBlank(oldRootCause)) {
return newRootCause;
}
if (!newRootCause.startsWith(oldRootCause)) {
return newRootCause;
}
String appendRootCause = newRootCause.substring(oldRootCause.length());
appendRootCause = StrUtil.removePrefix(appendRootCause, "\r\n");
appendRootCause = StrUtil.removePrefix(appendRootCause, "\n");
appendRootCause = StrUtil.removePrefix(appendRootCause, "\r");
if (StrUtil.isBlank(appendRootCause)) {
return oldRootCause;
}
return oldRootCause + "\n" + appendRootCause;
}
/**
* 领导暂存更新领导审批意见审批结果写入领导信息
*/
@ -114,6 +136,7 @@ public class QmsIssueTicketProcessMeasureControllerService {
Short sourceType = ticket.getSourceType();
Long handlerUserId = process.getHandlerUserId();
String mergedRootCause = mergeRootCause(process.getRootCause(), request.getRootCause());
// 3. 判断是否为处理人本人提交
boolean isHandler = currentUserId.equals(handlerUserId);
@ -133,7 +156,7 @@ public class QmsIssueTicketProcessMeasureControllerService {
// 处理人处理保存根本原因审批状态和措施
issueTicketProcessService.lambdaUpdate()
.eq(QmsIssueTicketProcess::getId, processId)
.set(request.getRootCause() != null, QmsIssueTicketProcess::getRootCause, request.getRootCause())
.set(request.getRootCause() != null, QmsIssueTicketProcess::getRootCause, mergedRootCause)
.set(request.getApprovalStatus() != null, QmsIssueTicketProcess::getApprovalStatus, request.getApprovalStatus())
.set(request.getApprovalOpinion() != null, QmsIssueTicketProcess::getApprovalOpinion, request.getApprovalOpinion())
.set(QmsIssueTicketProcess::getApprovalUserId, currentUserId)
@ -161,7 +184,7 @@ public class QmsIssueTicketProcessMeasureControllerService {
// 处理人处理保存根本原因审批状态和措施
issueTicketProcessService.lambdaUpdate()
.eq(QmsIssueTicketProcess::getId, processId)
.set(request.getRootCause() != null, QmsIssueTicketProcess::getRootCause, request.getRootCause())
.set(request.getRootCause() != null, QmsIssueTicketProcess::getRootCause, mergedRootCause)
.set(request.getApprovalStatus() != null, QmsIssueTicketProcess::getApprovalStatus, request.getApprovalStatus())
.set(request.getApprovalOpinion() != null, QmsIssueTicketProcess::getApprovalOpinion, request.getApprovalOpinion())
.set(QmsIssueTicketProcess::getApprovalUserId, currentUserId)

View File

@ -1566,6 +1566,13 @@ public class QmsPqcTaskRecordControllerService {
issueTicketService.save(ticket);
QmsIssueTicketToDo ticketTodo = new QmsIssueTicketToDo()
.setTicketId(ticket.getId())
.setHandlerUserId(taskRecord.getReviewerId())
.setHasProcessed(false)
.setIsRead(false);
issueTicketToDoService.save(ticketTodo);
// 2. 任务总体合格时仅生成工单不创建重检任务
if (!Boolean.FALSE.equals(taskRecord.getEnable())) {
return ticket.getId();