Merge remote-tracking branch '惠信/qms/develop' into qms/develop
This commit is contained in:
commit
4733ea8986
|
|
@ -5,6 +5,7 @@ import com.nflg.wms.common.pojo.ApiResult;
|
|||
import com.nflg.wms.common.pojo.PageData;
|
||||
import com.nflg.wms.common.pojo.qo.QmsIssueTicketAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.QmsIssueTicketAuditQO;
|
||||
import com.nflg.wms.common.pojo.qo.QmsIssueTicketPdiAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.QmsIssueTicketSearchQO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIssueTicketDetailVO;
|
||||
import com.nflg.wms.common.pojo.vo.QmsIssueTicketVO;
|
||||
|
|
@ -43,6 +44,16 @@ public class QmsIssueTicketController extends BaseController {
|
|||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增PDI检测工单
|
||||
* 同步创建工单,异步创建工单处理记录
|
||||
*/
|
||||
@PostMapping("addPdiTicket")
|
||||
public ApiResult<Void> addPdiTicket(@Valid @RequestBody QmsIssueTicketPdiAddQO request) {
|
||||
issueTicketControllerService.addPdiTicket(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核质量问题工单
|
||||
* 更新审批状态、审批意见、审批人信息,并根据审批结果更新工单状态
|
||||
|
|
|
|||
|
|
@ -2,8 +2,12 @@ package com.nflg.qms.admin.controller;
|
|||
|
||||
import com.nflg.qms.admin.service.QmsIssueTicketProcessControllerService;
|
||||
import com.nflg.wms.common.pojo.ApiResult;
|
||||
import com.nflg.wms.common.pojo.qo.QmsIssueTicketProcessAddQO;
|
||||
import com.nflg.wms.starter.BaseController;
|
||||
import jakarta.annotation.Resource;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
|
|
@ -16,4 +20,13 @@ public class QmsIssueTicketProcessController extends BaseController {
|
|||
|
||||
@Resource
|
||||
private QmsIssueTicketProcessControllerService issueTicketProcessControllerService;
|
||||
|
||||
/**
|
||||
* 新增工单处理
|
||||
*/
|
||||
@PostMapping("add")
|
||||
public ApiResult<Void> add(@Valid @RequestBody QmsIssueTicketProcessAddQO request) {
|
||||
issueTicketProcessControllerService.add(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.nflg.wms.common.constant.STATE;
|
|||
import com.nflg.wms.common.exception.NflgException;
|
||||
import com.nflg.wms.common.pojo.qo.QmsIssueTicketAddQO;
|
||||
import com.nflg.wms.common.pojo.qo.QmsIssueTicketAuditQO;
|
||||
import com.nflg.wms.common.pojo.qo.QmsIssueTicketPdiAddQO;
|
||||
import com.nflg.wms.common.pojo.vo.*;
|
||||
import com.nflg.wms.common.util.UserUtil;
|
||||
import com.nflg.wms.common.util.VUtil;
|
||||
|
|
@ -53,6 +54,9 @@ public class QmsIssueTicketControllerService {
|
|||
@Resource
|
||||
private IDictionaryItemService dictionaryItemService;
|
||||
|
||||
@Resource
|
||||
private QmsIssueTicketProcessControllerService issueTicketProcessControllerService;
|
||||
|
||||
/**
|
||||
* 审核质量问题工单
|
||||
* 更新审批状态、审批意见、审批人信息、事故类型,并更新工单状态
|
||||
|
|
@ -126,6 +130,42 @@ public class QmsIssueTicketControllerService {
|
|||
issueTicketService.save(entity);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增PDI检测工单
|
||||
* 工单编号自动生成(序号38),来源类型固定为1(PDI检测任务),状态默认为0(待流转)
|
||||
* 异步新增工单处理记录
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void addPdiTicket(@Valid QmsIssueTicketPdiAddQO request) {
|
||||
Long userId = UserUtil.getUserId();
|
||||
String userName = UserUtil.getUserName();
|
||||
LocalDateTime now = LocalDateTime.now();
|
||||
|
||||
// 自动生成工单编号
|
||||
String ticketNo = basdeSerialNumberControllerService.generateSerialNumber(38);
|
||||
|
||||
QmsIssueTicket entity = new QmsIssueTicket()
|
||||
.setSourceType((short) 1)
|
||||
.setSourceId(request.getTaskRecordId())
|
||||
.setTicketNo(ticketNo)
|
||||
.setStatus((short) 0)
|
||||
.setCreateUserId(userId)
|
||||
.setCreateUserName(userName)
|
||||
.setCreateTime(now)
|
||||
.setUpdateUserId(userId)
|
||||
.setUpdateUserName(userName)
|
||||
.setUpdateTime(now);
|
||||
|
||||
issueTicketService.save(entity);
|
||||
|
||||
// 异步新增工单处理记录
|
||||
issueTicketProcessControllerService.addAsync(
|
||||
entity.getId(),
|
||||
request.getHandlerUserId(),
|
||||
request.getInspectionResultIds()
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过来料检测任务ID发起IQC检测任务类型质量问题工单
|
||||
* 工单编号自动生成,来源类型固定为0(IQC检测任务),状态默认为0(待流转)
|
||||
|
|
|
|||
|
|
@ -1,9 +1,19 @@
|
|||
package com.nflg.qms.admin.service;
|
||||
|
||||
import com.nflg.wms.common.constant.STATE;
|
||||
import com.nflg.wms.common.exception.NflgException;
|
||||
import com.nflg.wms.common.pojo.qo.QmsIssueTicketProcessAddQO;
|
||||
import com.nflg.wms.repository.entity.QmsIssueTicketProcess;
|
||||
import com.nflg.wms.repository.entity.User;
|
||||
import com.nflg.wms.repository.service.IQmsIssueTicketProcessService;
|
||||
import com.nflg.wms.repository.service.IUserService;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 质量问题工单处理 ControllerService
|
||||
*/
|
||||
|
|
@ -12,4 +22,39 @@ public class QmsIssueTicketProcessControllerService {
|
|||
|
||||
@Resource
|
||||
private IQmsIssueTicketProcessService issueTicketProcessService;
|
||||
|
||||
@Resource
|
||||
private IUserService userService;
|
||||
|
||||
/**
|
||||
* 新增工单处理(同步,供 Controller 直接调用)
|
||||
*/
|
||||
public void add(QmsIssueTicketProcessAddQO request) {
|
||||
doAdd(request.getIssueTicketId(), request.getHandlerUserId(), request.getTaskResultIds());
|
||||
}
|
||||
|
||||
/**
|
||||
* 异步新增工单处理(供内部服务调用)
|
||||
*/
|
||||
@Async("ticketTaskExecutor")
|
||||
public void addAsync(Long issueTicketId, Long handlerUserId, List<Long> taskResultIds) {
|
||||
doAdd(issueTicketId, handlerUserId, taskResultIds);
|
||||
}
|
||||
|
||||
private void doAdd(Long issueTicketId, Long handlerUserId, List<Long> taskResultIds) {
|
||||
User user = userService.getById(handlerUserId);
|
||||
if (user == null) {
|
||||
throw new NflgException(STATE.BusinessError, "处理人用户不存在");
|
||||
}
|
||||
|
||||
QmsIssueTicketProcess entity = new QmsIssueTicketProcess()
|
||||
.setIssueTicketId(issueTicketId)
|
||||
.setHandlerUserId(handlerUserId)
|
||||
.setHandlerUserName(user.getUserName())
|
||||
.setTaskResultIds(taskResultIds.stream()
|
||||
.map(String::valueOf)
|
||||
.collect(Collectors.joining(",")));
|
||||
|
||||
issueTicketProcessService.save(entity);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ public class QmsPdiInspectionResultsControllerService {
|
|||
taskRecordService.lambdaUpdate()
|
||||
.eq(QmsPdiTaskRecord::getId, taskRecord.getId())
|
||||
.set(QmsPdiTaskRecord::getInspectionInspection,
|
||||
request.getOverallResult() != null && request.getOverallResult() ? "合格" : "不合格")
|
||||
request.getOverallResult() != null && request.getOverallResult())
|
||||
.update();
|
||||
|
||||
// 5. 设置检测完成时间,状态改为已完成
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* PDI检测工单 新增参数
|
||||
*/
|
||||
@Data
|
||||
public class QmsIssueTicketPdiAddQO {
|
||||
|
||||
/**
|
||||
* PDI检测任务记录ID(QmsPdiTaskRecord.ID),存入工单的source_id
|
||||
*/
|
||||
@NotNull(message = "PDI检测任务记录ID不能为空")
|
||||
private Long taskRecordId;
|
||||
|
||||
/**
|
||||
* 处理人用户ID
|
||||
*/
|
||||
@NotNull(message = "处理人用户ID不能为空")
|
||||
private Long handlerUserId;
|
||||
|
||||
/**
|
||||
* PDI检测结果ID列表(qms_pdi_inspection_results.ID),存入工单处理的task_result_ids
|
||||
*/
|
||||
@NotEmpty(message = "检测结果ID列表不能为空")
|
||||
private List<Long> inspectionResultIds;
|
||||
}
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
package com.nflg.wms.common.pojo.qo;
|
||||
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 质量问题工单处理 新增参数
|
||||
*/
|
||||
@Data
|
||||
public class QmsIssueTicketProcessAddQO {
|
||||
|
||||
/**
|
||||
* 任务结果ID列表(QmsPdiTaskRecord.ID)
|
||||
*/
|
||||
@NotEmpty(message = "任务结果ID列表不能为空")
|
||||
private List<Long> taskResultIds;
|
||||
|
||||
/**
|
||||
* 处理人用户ID
|
||||
*/
|
||||
@NotNull(message = "处理人用户ID不能为空")
|
||||
private Long handlerUserId;
|
||||
|
||||
/**
|
||||
* 质量问题工单ID
|
||||
*/
|
||||
@NotNull(message = "质量问题工单ID不能为空")
|
||||
private Long issueTicketId;
|
||||
}
|
||||
|
|
@ -61,9 +61,9 @@ public class QmsPdiTaskRecordDefectPageVO {
|
|||
private Integer inspectionEnable;
|
||||
|
||||
/**
|
||||
* 质检结果
|
||||
* 质检结果:true=合格,false=不合格
|
||||
*/
|
||||
private String inspectionInspection;
|
||||
private Boolean inspectionInspection;
|
||||
|
||||
/**
|
||||
* 质检人名字
|
||||
|
|
|
|||
|
|
@ -61,9 +61,9 @@ public class QmsPdiTaskRecordPageVO {
|
|||
private Integer inspectionEnable;
|
||||
|
||||
/**
|
||||
* 质检结果
|
||||
* 质检结果:true=合格,false=不合格
|
||||
*/
|
||||
private String inspectionInspection;
|
||||
private Boolean inspectionInspection;
|
||||
|
||||
/**
|
||||
* 质检人名字(通过 detection_rules.inspector_id -> user.user_name)
|
||||
|
|
|
|||
|
|
@ -43,9 +43,9 @@ public class QmsPdiTaskRecord implements Serializable {
|
|||
private Integer inspectionEnable;
|
||||
|
||||
/**
|
||||
* 质检结果
|
||||
* 质检结果:true=合格,false=不合格
|
||||
*/
|
||||
private String inspectionInspection;
|
||||
private Boolean inspectionInspection;
|
||||
|
||||
/**
|
||||
* 帮办人ID(user.id)
|
||||
|
|
|
|||
Loading…
Reference in New Issue