巡检任务查看修改

This commit is contained in:
yf001217 2026-06-14 16:41:15 +08:00
parent e711478212
commit 5f60cba0c6
1 changed files with 50 additions and 11 deletions

View File

@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nflg.wms.common.constant.Constant;
import com.nflg.wms.common.constant.STATE;
import com.nflg.wms.common.exception.NflgException;
import com.nflg.wms.common.pojo.qo.PdiInspectionTaskCallbackQO;
import com.nflg.wms.common.pojo.qo.*;
import com.nflg.wms.common.pojo.vo.*;
import com.nflg.wms.common.util.UserUtil;
@ -15,6 +16,7 @@ import com.nflg.wms.common.util.VUtil;
import com.nflg.wms.repository.entity.*;
import com.nflg.wms.repository.service.*;
import jakarta.annotation.Resource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import jakarta.validation.Valid;
import org.springframework.stereotype.Component;
@ -59,9 +61,6 @@ public class QmsIssueTicketControllerService {
@Resource
private IDictionaryItemService dictionaryItemService;
@Resource
private QmsIssueTicketProcessControllerService issueTicketProcessControllerService;
@Resource
private IQmsPdiTaskRecordService pdiTaskRecordService;
@ -80,8 +79,11 @@ public class QmsIssueTicketControllerService {
@Resource
private WmsIncomingInspectionTaskCallbackService wmsIncomingInspectionTaskCallbackService;
@Value("${wms.pdi.callback.url}")
private String pdiUrl;
@Resource
private WmsPdiInspectionTaskCallbackService wmsPdiInspectionTaskCallbackService;
private WmsApiService wmsApiService;
@Resource
private IRoleService roleService;
@ -1296,11 +1298,11 @@ public class QmsIssueTicketControllerService {
));
for (Map.Entry<Long, List<Long>> entry : handlerToResultsMap.entrySet()) {
issueTicketProcessControllerService.addAsync(
addIssueTicketProcessAndTodo(
entity.getId(),
entry.getKey(),
entry.getValue(),
ticketNo
entry.getValue()
);
}
}
@ -1408,15 +1410,35 @@ public class QmsIssueTicketControllerService {
if (filteredTaskResultIds.isEmpty()) {
continue;
}
issueTicketProcessControllerService.addAsync(
addIssueTicketProcessAndTodo(
entity.getId(),
entry.getKey(),
filteredTaskResultIds,
ticketNo
filteredTaskResultIds
);
}
}
private void addIssueTicketProcessAndTodo(Long issueTicketId, Long handlerUserId, List<Long> taskResultIds) {
User user = userService.getById(handlerUserId);
if (user == null) {
throw new NflgException(STATE.BusinessError, "处理人用户不存在");
}
QmsIssueTicketProcess process = new QmsIssueTicketProcess()
.setIssueTicketId(issueTicketId)
.setHandlerUserId(handlerUserId)
.setHandlerUserName(user.getUserName())
.setTaskResultIds(taskResultIds.stream()
.map(String::valueOf)
.collect(Collectors.joining(",")));
issueTicketProcessService.save(process);
QmsIssueTicketToDo todoItem = new QmsIssueTicketToDo()
.setTicketId(issueTicketId)
.setHandlerUserId(handlerUserId);
issueTicketToDoService.save(todoItem);
}
/**
* 通过来料检测任务ID发起IQC检测任务类型质量问题工单
* 工单编号自动生成来源类型固定为0IQC检测任务状态默认为0待流转
@ -1507,6 +1529,23 @@ public class QmsIssueTicketControllerService {
return StrUtil.join("-", args);
}
private void callbackPdiInspectionTask(QmsPdiTaskRecord taskRecord, Boolean pass) {
PdiInspectionTaskCallbackQO qo = new PdiInspectionTaskCallbackQO()
.setOrderNo(taskRecord.getOrderNo())
.setModelNo(getPdiModelNo(taskRecord))
.setDeviceNo(taskRecord.getDeviceNo())
.setPass(Boolean.TRUE.equals(pass));
wmsApiService.post(pdiUrl, qo, "PDI任务回调WMS");
}
private String getPdiModelNo(QmsPdiTaskRecord taskRecord) {
if (taskRecord.getDetectionRulesId() == null) {
return null;
}
QmsPdiDetectionRules rules = pdiDetectionRulesService.getById(taskRecord.getDetectionRulesId());
return rules == null ? null : rules.getModelNo();
}
private String buildPqcIncidentDescription(List<QmsPqcTaskRecordDetails> detailList) {
if (CollectionUtil.isEmpty(detailList)) {
return "";
@ -3221,7 +3260,7 @@ public class QmsIssueTicketControllerService {
if (ticket.getSourceType() != null && ticket.getSourceType() == 1 && ticket.getSourceId() != null) {
QmsPdiTaskRecord originalTask = createPdiRepairTask(ticket.getSourceId(), now);
if (originalTask != null) {
wmsPdiInspectionTaskCallbackService.callBack(originalTask, true);
callbackPdiInspectionTask(originalTask, true);
}
}