From b542f9975665879d05e144daa540bf5a03e6542c Mon Sep 17 00:00:00 2001 From: funny <834502597@qq.com> Date: Wed, 6 May 2026 10:27:42 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat(qms):=20=E6=96=B0=E5=A2=9EPDI=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=E5=8F=8A=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=8A=9F=E8=83=BD=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增QmsPdiTicketDetailVO类用于封装PDI工单详情数据结构 - QmsIssueTicketController新增/detail/pdi-ticket接口,支持查询PDI工单详情 - QmsIssueTicketControllerService新增getPdiTicketDetail方法,实现工单基本信息、处理记录和措施列表查询 - 处理记录中增加处理人所属部门信息查询,关联Department和UserInterior服务 - 收集不合格质检项,支持展示检测结果、图片和备注 - 措施列表支持类型ID、负责人、计划及确认日期等详细信息 - 修改QmsIssueTicketProcessControllerService,审核通过时推送至部门负责人待办,关联Department负责人信息 - 优化QmsIssueTicketProcessMeasureControllerService,支持措施新增时设置类型、负责人、计划及确认日期和备注 - Department实体增加负责人ID及姓名字段支持 - 调整销售订单号字段为非必填,更新相关注释描述 - 质量检验人员详情中增加部门负责人名称字段显示 --- .../controller/QmsIssueTicketController.java | 10 + .../QmsPdiDetectionRulesController.java | 2 +- .../QmsIssueTicketControllerService.java | 117 ++++++++++ ...msIssueTicketProcessControllerService.java | 45 +++- ...TicketProcessMeasureControllerService.java | 10 +- .../pojo/qo/QmsIssueTicketProcessDraftQO.java | 27 +++ .../pojo/qo/QmsPdiDetectionRulesAddQO.java | 3 +- .../common/pojo/vo/QmsPdiTicketDetailVO.java | 216 ++++++++++++++++++ .../wms/repository/entity/Department.java | 10 + .../impl/QmsQualityInspectorServiceImpl.java | 2 +- 10 files changed, 429 insertions(+), 13 deletions(-) create mode 100644 nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTicketDetailVO.java diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIssueTicketController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIssueTicketController.java index 50f875c9..a331f5c5 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIssueTicketController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIssueTicketController.java @@ -9,6 +9,7 @@ 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; +import com.nflg.wms.common.pojo.vo.QmsPdiTicketDetailVO; import com.nflg.wms.repository.service.IQmsIssueTicketService; import com.nflg.wms.starter.BaseController; import jakarta.annotation.Resource; @@ -64,6 +65,15 @@ public class QmsIssueTicketController extends BaseController { return ApiResult.success(); } + /** + * 查询PDI工单详情 + * 返回工单基本信息、处理记录及措施列表 + */ + @GetMapping("detail/pdi-ticket") + public ApiResult detailPdiTicket(@NotNull(message = "ID不能为空") Long id) { + return ApiResult.success(issueTicketControllerService.getPdiTicketDetail(id)); + } + /** * 查询来料检测任务质量问题工单详情 * 含来料检测任务详情及来料检验任务检验记录子项样本列表 diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsPdiDetectionRulesController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsPdiDetectionRulesController.java index 43c0285c..380598b9 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsPdiDetectionRulesController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsPdiDetectionRulesController.java @@ -34,7 +34,7 @@ public class QmsPdiDetectionRulesController extends BaseController { /** * 新增PDI检测规则 - * 参数:机型编号、质检负责人id、质检周期、质检类型、销售订单号(全部必传) + * 参数:机型编号、质检负责人id、质检周期、质检类型(必传),销售订单号(可选) * 自动生成规则编号和版本号,状态/发布状态/维护状态默认均为 false */ @Transactional diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java index 128e57cb..32add78a 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java @@ -69,6 +69,18 @@ public class QmsIssueTicketControllerService { @Resource private WmsIncomingInspectionTaskCallbackService wmsIncomingInspectionTaskCallbackService; + @Resource + private IQmsIssueTicketProcessService issueTicketProcessService; + + @Resource + private IQmsIssueTicketProcessMeasureService issueTicketProcessMeasureService; + + @Resource + private IUserInteriorService userInteriorService; + + @Resource + private IDepartmentService departmentService; + /** * 审核质量问题工单 * 更新审批状态、审批意见、审批人信息、事故类型,并更新工单状态 @@ -371,4 +383,109 @@ public class QmsIssueTicketControllerService { return vo; } + + /** + * 查询PDI工单详情 + * 返回工单基本信息及处理记录、措施列表 + */ + public QmsPdiTicketDetailVO getPdiTicketDetail(Long id) { + // 查询工单基本信息 + QmsIssueTicket ticket = issueTicketService.getById(id); + QmsPdiTicketDetailVO vo = new QmsPdiTicketDetailVO(); + vo.setTicketNo(ticket.getTicketNo()); + vo.setTicketTitle(ticket.getTicketTitle()); + vo.setStatus(ticket.getStatus()); + + // 查询处理记录列表 + List processes = issueTicketProcessService.lambdaQuery() + .eq(QmsIssueTicketProcess::getIssueTicketId, id) + .list(); + + // 收集所有不合格质检项 + List unqualifiedItems = new ArrayList<>(); + + List processVOList = processes.stream().map(process -> { + QmsPdiTicketDetailVO.ProcessVO processVO = new QmsPdiTicketDetailVO.ProcessVO(); + processVO.setId(process.getId()); + processVO.setHandlerUserId(process.getHandlerUserId()); + processVO.setHandlerUserName(process.getHandlerUserName()); + + // 查询处理人所属部门 + if (process.getHandlerUserId() != null) { + UserInterior userInterior = userInteriorService.lambdaQuery() + .eq(UserInterior::getUserId, process.getHandlerUserId()) + .one(); + if (userInterior != null && userInterior.getDeptId() != null) { + Department department = departmentService.getById(userInterior.getDeptId()); + if (department != null) { + processVO.setHandlerDeptId(department.getId()); + processVO.setHandlerDeptName(department.getName()); + } + } + } + + processVO.setRootCause(process.getRootCause()); + processVO.setTaskResultIds(process.getTaskResultIds()); + processVO.setApprovalStatus(process.getApprovalStatus()); + processVO.setApprovalOpinion(process.getApprovalOpinion()); + processVO.setApprovalUserId(process.getApprovalUserId()); + processVO.setApprovalUserName(process.getApprovalUserName()); + processVO.setApprovalTime(process.getApprovalTime()); + processVO.setLeaderApprovalResult(process.getLeaderApprovalResult()); + processVO.setLeaderApprovalOpinion(process.getLeaderApprovalOpinion()); + processVO.setLeaderUserId(process.getLeaderUserId()); + processVO.setLeaderUserName(process.getLeaderUserName()); + processVO.setLeaderApprovalTime(process.getLeaderApprovalTime()); + + // 查询不合格质检项(inspectionItemResults=false) + if (StrUtil.isNotBlank(process.getTaskResultIds())) { + String[] taskIds = process.getTaskResultIds().split(","); + for (String taskId : taskIds) { + if (StrUtil.isNotBlank(taskId)) { + List unqualifiedResults = pdiInspectionResultsService.lambdaQuery() + .eq(QmsPdiInspectionResults::getTaskId, Long.parseLong(taskId.trim())) + .eq(QmsPdiInspectionResults::getInspectionItemResults, false) + .list(); + + for (QmsPdiInspectionResults result : unqualifiedResults) { + QmsPdiTicketDetailVO.UnqualifiedItemVO itemVO = new QmsPdiTicketDetailVO.UnqualifiedItemVO(); + itemVO.setId(result.getId()); + itemVO.setInspectionItemId(result.getInspectionItemId()); + itemVO.setInspectionItemType(result.getInspectionItemType()); + itemVO.setInspectionItemImage(result.getInspectionItemImage()); + itemVO.setRemark(result.getRemark()); + itemVO.setInspectorId(result.getInspectorId()); + itemVO.setInspectionTime(result.getInspectionTime()); + itemVO.setInspectionBy(result.getInspectionBy()); + unqualifiedItems.add(itemVO); + } + } + } + } + + // 查询措施列表 + List measures = issueTicketProcessMeasureService.lambdaQuery() + .eq(QmsIssueTicketProcessMeasure::getIssueTicketProcessId, process.getId()) + .list(); + + List measureVOList = measures.stream().map(measure -> { + QmsPdiTicketDetailVO.MeasureVO measureVO = new QmsPdiTicketDetailVO.MeasureVO(); + measureVO.setId(measure.getId()); + measureVO.setMeasureTypeId(measure.getMeasureTypeId()); + measureVO.setMeasureContent(measure.getMeasureContent()); + measureVO.setChargeUser(measure.getChargeUser()); + measureVO.setPlanDate(measure.getPlanDate()); + measureVO.setConfirmDate(measure.getConfirmDate()); + measureVO.setRemark(measure.getRemark()); + return measureVO; + }).toList(); + + processVO.setMeasures(measureVOList); + return processVO; + }).toList(); + + vo.setProcesses(processVOList); + vo.setUnqualifiedItems(unqualifiedItems); + return vo; + } } diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessControllerService.java index ae3fe98c..e8f58ecf 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessControllerService.java @@ -5,15 +5,20 @@ import com.nflg.wms.common.exception.NflgException; import com.nflg.wms.common.pojo.qo.QmsIssueTicketProcessAddQO; import com.nflg.wms.common.pojo.qo.QmsIssueTicketProcessDraftQO; import com.nflg.wms.common.pojo.qo.QmsIssueTicketProcessLeaderDraftQO; +import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.VUtil; +import com.nflg.wms.repository.entity.Department; import com.nflg.wms.repository.entity.QmsIssueTicket; import com.nflg.wms.repository.entity.QmsIssueTicketProcess; import com.nflg.wms.repository.entity.QmsTodoItem; import com.nflg.wms.repository.entity.User; +import com.nflg.wms.repository.entity.UserInterior; +import com.nflg.wms.repository.service.IDepartmentService; import com.nflg.wms.repository.service.IDictionaryItemService; import com.nflg.wms.repository.service.IQmsIssueTicketProcessService; import com.nflg.wms.repository.service.IQmsIssueTicketService; import com.nflg.wms.repository.service.IQmsTodoItemService; +import com.nflg.wms.repository.service.IUserInteriorService; import com.nflg.wms.repository.service.IUserService; import jakarta.annotation.Resource; import jakarta.validation.Valid; @@ -38,6 +43,9 @@ public class QmsIssueTicketProcessControllerService { @Resource private IUserService userService; + @Resource + private IUserInteriorService userInteriorService; + @Resource private QmsIssueTicketProcessMeasureControllerService issueTicketProcessMeasureControllerService; @@ -50,6 +58,9 @@ public class QmsIssueTicketProcessControllerService { @Resource private IDictionaryItemService dictionaryItemService; + @Resource + private IDepartmentService departmentService; + /** * 新增工单处理(同步,供 Controller 直接调用) */ @@ -112,7 +123,13 @@ public class QmsIssueTicketProcessControllerService { // 2. 保存数据 issueTicketProcessMeasureControllerService.draft(request); - // 3. 查询工单处理记录,获取关联的工单 + // 3. 写入审批时间 + issueTicketProcessService.lambdaUpdate() + .eq(QmsIssueTicketProcess::getId, request.getId()) + .set(QmsIssueTicketProcess::getApprovalTime, LocalDateTime.now()) + .update(); + + // 4. 查询工单处理记录,获取关联的工单 QmsIssueTicketProcess process = issueTicketProcessService.getById(request.getId()); QmsIssueTicket ticket = issueTicketService.getById(process.getIssueTicketId()); VUtil.trueThrowBusinessError(Objects.isNull(ticket)).throwMessage("关联的质量问题工单不存在"); @@ -134,7 +151,24 @@ public class QmsIssueTicketProcessControllerService { todoItemService.save(todoItem); } else if (request.getApprovalStatus() == 0) { // 通过:推送给当前用户所在部门负责人 - // TODO: Department 表暂无负责人字段,后续补充 + Long currentUserId = UserUtil.getUserId(); + UserInterior userInterior = userInteriorService.lambdaQuery() + .eq(UserInterior::getUserId, currentUserId) + .one(); + if (userInterior != null && userInterior.getDeptId() != null) { + Department department = departmentService.getById(userInterior.getDeptId()); + if (department != null && department.getHeadUserId() != null) { + QmsTodoItem todoItem = new QmsTodoItem() + .setCode(ticket.getTicketNo()) + .setIsRead(false) + .setSourceTypeId(sourceTypeId) + .setSourceId(process.getId()) + .setCreateUserId(department.getHeadUserId()) + .setCreateUserName(department.getHeadUserName()) + .setCreateTime(now); + todoItemService.save(todoItem); + } + } } } @@ -151,15 +185,10 @@ public class QmsIssueTicketProcessControllerService { VUtil.trueThrowBusinessError(Objects.isNull(request.getLeaderApprovalResult())) .throwMessage("提交时领导审批结果不能为空"); - // 2. 保存数据 + // 2. 保存数据(leaderDraft 已写入领导信息 + 审批时间) issueTicketProcessMeasureControllerService.leaderDraft(request); - // 3. 写入领导审批时间 LocalDateTime now = LocalDateTime.now(); - issueTicketProcessService.lambdaUpdate() - .eq(QmsIssueTicketProcess::getId, request.getId()) - .set(QmsIssueTicketProcess::getLeaderApprovalTime, now) - .update(); if (request.getLeaderApprovalResult() == 0) { // 驳回:推送待办给处理人 diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java index 78de40a8..ea5025c4 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java @@ -43,13 +43,20 @@ public class QmsIssueTicketProcessMeasureControllerService { .set(request.getRootCause() != null, QmsIssueTicketProcess::getRootCause, request.getRootCause()) .set(request.getApprovalStatus() != null, QmsIssueTicketProcess::getApprovalStatus, request.getApprovalStatus()) .set(request.getApprovalOpinion() != null, QmsIssueTicketProcess::getApprovalOpinion, request.getApprovalOpinion()) + .set(QmsIssueTicketProcess::getApprovalUserId, UserUtil.getUserId()) + .set(QmsIssueTicketProcess::getApprovalUserName, UserUtil.getUserName()) .update(); // 有措施内容则新增一条措施记录 if (StrUtil.isNotBlank(request.getMeasureContent())) { QmsIssueTicketProcessMeasure measure = new QmsIssueTicketProcessMeasure() .setIssueTicketProcessId(request.getId()) - .setMeasureContent(request.getMeasureContent()); + .setMeasureContent(request.getMeasureContent()) + .setMeasureTypeId(request.getMeasureTypeId()) + .setChargeUser(request.getChargeUser()) + .setPlanDate(request.getPlanDate()) + .setConfirmDate(request.getConfirmDate()) + .setRemark(request.getRemark()); issueTicketProcessMeasureService.save(measure); } } @@ -70,6 +77,7 @@ public class QmsIssueTicketProcessMeasureControllerService { QmsIssueTicketProcess::getLeaderApprovalResult, request.getLeaderApprovalResult()) .set(QmsIssueTicketProcess::getLeaderUserId, UserUtil.getUserId()) .set(QmsIssueTicketProcess::getLeaderUserName, UserUtil.getUserName()) + .set(QmsIssueTicketProcess::getLeaderApprovalTime, LocalDateTime.now()) .update(); } } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsIssueTicketProcessDraftQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsIssueTicketProcessDraftQO.java index 90fe5a91..6d6e113e 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsIssueTicketProcessDraftQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsIssueTicketProcessDraftQO.java @@ -3,6 +3,8 @@ package com.nflg.wms.common.pojo.qo; import jakarta.validation.constraints.NotNull; import lombok.Data; +import java.time.LocalDate; + /** * 质量问题工单处理 暂存/提交参数 */ @@ -34,4 +36,29 @@ public class QmsIssueTicketProcessDraftQO { * 措施内容(可选),有值则新增一条 QmsIssueTicketProcessMeasure 记录 */ private String measureContent; + + /** + * 措施类型ID(可选),关联字典项表 + */ + private Long measureTypeId; + + /** + * 负责人(可选) + */ + private String chargeUser; + + /** + * 计划日期(可选) + */ + private LocalDate planDate; + + /** + * 确认日期(可选) + */ + private LocalDate confirmDate; + + /** + * 备注(可选) + */ + private String remark; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsPdiDetectionRulesAddQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsPdiDetectionRulesAddQO.java index c400654c..a2e84619 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsPdiDetectionRulesAddQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsPdiDetectionRulesAddQO.java @@ -35,8 +35,7 @@ public class QmsPdiDetectionRulesAddQO { private Integer inspectionType; /** - * 销售订单号(必传) + * 销售订单号(可选) */ - @NotBlank(message = "销售订单号不能为空") private String orderNo; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTicketDetailVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTicketDetailVO.java new file mode 100644 index 00000000..c36efedd --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsPdiTicketDetailVO.java @@ -0,0 +1,216 @@ +package com.nflg.wms.common.pojo.vo; + +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +/** + * PDI工单详情 + */ +@Data +public class QmsPdiTicketDetailVO { + + /** + * 工单编号 + */ + private String ticketNo; + + /** + * 工单标题 + */ + private String ticketTitle; + + /** + * 工单状态:0=待流转,1=处理中,2=已完成 + */ + private Short status; + + /** + * 不合格质检项列表 + */ + private List unqualifiedItems; + + /** + * 处理记录列表 + */ + private List processes; + + @Data + public static class UnqualifiedItemVO { + + /** + * 质检结果记录ID + */ + private Long id; + + /** + * 检验项ID + */ + private Long inspectionItemId; + + /** + * 检验项类型:0=静态检测项,1=动态检测项,2=装车前检测项,3=特殊检测项 + */ + private Integer inspectionItemType; + + /** + * 检验现场图片 + */ + private String inspectionItemImage; + + /** + * 备注 + */ + private String remark; + + /** + * 质检人ID + */ + private String inspectorId; + + /** + * 质检时间 + */ + private LocalDateTime inspectionTime; + + /** + * 质检人 + */ + private String inspectionBy; + } + + @Data + public static class ProcessVO { + + /** + * 处理记录ID + */ + private Long id; + + /** + * 处理人ID + */ + private Long handlerUserId; + + /** + * 处理人姓名 + */ + private String handlerUserName; + + /** + * 处理人所属部门ID + */ + private Long handlerDeptId; + + /** + * 处理人所属部门名称 + */ + private String handlerDeptName; + + /** + * 根本原因 + */ + private String rootCause; + + /** + * 任务结果ID,多个用逗号分隔 + */ + private String taskResultIds; + + /** + * 审批状态:0=通过,1=驳回 + */ + private Short approvalStatus; + + /** + * 审批意见 + */ + private String approvalOpinion; + + /** + * 审批人ID + */ + private Long approvalUserId; + + /** + * 审批人姓名 + */ + private String approvalUserName; + + /** + * 审批时间 + */ + private LocalDateTime approvalTime; + + /** + * 上级领导审批结果:0=驳回,1=同意 + */ + private Short leaderApprovalResult; + + /** + * 上级领导审批意见 + */ + private String leaderApprovalOpinion; + + /** + * 上级领导ID + */ + private Long leaderUserId; + + /** + * 上级领导姓名 + */ + private String leaderUserName; + + /** + * 上级领导审批时间 + */ + private LocalDateTime leaderApprovalTime; + + /** + * 措施列表 + */ + private List measures; + } + + @Data + public static class MeasureVO { + + /** + * 措施ID + */ + private Long id; + + /** + * 措施类型ID,关联字典项表 + */ + private Long measureTypeId; + + /** + * 措施内容 + */ + private String measureContent; + + /** + * 负责人 + */ + private String chargeUser; + + /** + * 计划日期 + */ + private LocalDate planDate; + + /** + * 确认日期 + */ + private LocalDate confirmDate; + + /** + * 备注 + */ + private String remark; + } +} diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/Department.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/Department.java index ef066ca4..39084540 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/Department.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/Department.java @@ -52,6 +52,16 @@ public class Department implements Serializable { */ private Boolean enable; + /** + * 部门负责人ID + */ + private Long headUserId; + + /** + * 部门负责人姓名 + */ + private String headUserName; + /** * 创建人 */ diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsQualityInspectorServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsQualityInspectorServiceImpl.java index 4055622d..80db1b08 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsQualityInspectorServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsQualityInspectorServiceImpl.java @@ -364,7 +364,7 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl Date: Wed, 6 May 2026 10:37:57 +0800 Subject: [PATCH 2/3] =?UTF-8?q?refactor(repository):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=B4=A8=E9=87=8F=E6=A3=80=E6=9F=A5=E5=91=98=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E4=B8=AD=E9=83=A8=E9=97=A8=E8=B4=9F=E8=B4=A3=E4=BA=BA=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E8=B5=8B=E5=80=BC=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 增加 deptLeaderName 变量缓存部门负责人名称 - 避免重复调用 department.getHeadUserName() - 修正 detail.setDeptLeaderName 的赋值为缓存变量 - 扩展 QmsIssueTicketControllerService 的导入依赖声明 --- .../QmsIssueTicketControllerService.java | 22 +++++++++++++++++-- .../impl/QmsQualityInspectorServiceImpl.java | 4 +++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java index 32add78a..34326d7f 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java @@ -11,8 +11,26 @@ 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; -import com.nflg.wms.repository.entity.*; -import com.nflg.wms.repository.service.*; +import com.nflg.wms.repository.entity.Department; +import com.nflg.wms.repository.entity.QmsIssueTicket; +import com.nflg.wms.repository.entity.QmsIssueTicketProcess; +import com.nflg.wms.repository.entity.QmsIssueTicketProcessMeasure; +import com.nflg.wms.repository.entity.QmsPdiDetectionRules; +import com.nflg.wms.repository.entity.QmsPdiInspectionResults; +import com.nflg.wms.repository.entity.QmsPdiTaskRecord; +import com.nflg.wms.repository.entity.User; +import com.nflg.wms.repository.entity.UserInterior; +import com.nflg.wms.repository.service.IDepartmentService; +import com.nflg.wms.repository.service.IFileUploadRecordService; +import com.nflg.wms.repository.service.IQmsIssueTicketProcessMeasureService; +import com.nflg.wms.repository.service.IQmsIssueTicketProcessService; +import com.nflg.wms.repository.service.IQmsIssueTicketService; +import com.nflg.wms.repository.service.IQmsPdiDetectionRulesService; +import com.nflg.wms.repository.service.IQmsPdiInspectionResultsService; +import com.nflg.wms.repository.service.IQmsPdiTaskRecordService; +import com.nflg.wms.repository.service.IQmsTodoItemService; +import com.nflg.wms.repository.service.IUserInteriorService; +import com.nflg.wms.repository.service.IUserService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import jakarta.validation.Valid; diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsQualityInspectorServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsQualityInspectorServiceImpl.java index 80db1b08..a794e139 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsQualityInspectorServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsQualityInspectorServiceImpl.java @@ -339,12 +339,14 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl Date: Wed, 6 May 2026 10:44:41 +0800 Subject: [PATCH 3/3] =?UTF-8?q?refactor(service):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E8=AF=AD=E5=8F=A5=E4=BB=A5=E7=AE=80=E5=8C=96?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将多个具体实体和服务的导入合并为通配符导入 - 在QmsIssueTicketProcessMeasureControllerService中添加LocalDateTime导入 - 改善代码可读性和维护性 --- .../QmsIssueTicketControllerService.java | 22 ++----------------- ...TicketProcessMeasureControllerService.java | 1 + 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java index 34326d7f..32add78a 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketControllerService.java @@ -11,26 +11,8 @@ 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; -import com.nflg.wms.repository.entity.Department; -import com.nflg.wms.repository.entity.QmsIssueTicket; -import com.nflg.wms.repository.entity.QmsIssueTicketProcess; -import com.nflg.wms.repository.entity.QmsIssueTicketProcessMeasure; -import com.nflg.wms.repository.entity.QmsPdiDetectionRules; -import com.nflg.wms.repository.entity.QmsPdiInspectionResults; -import com.nflg.wms.repository.entity.QmsPdiTaskRecord; -import com.nflg.wms.repository.entity.User; -import com.nflg.wms.repository.entity.UserInterior; -import com.nflg.wms.repository.service.IDepartmentService; -import com.nflg.wms.repository.service.IFileUploadRecordService; -import com.nflg.wms.repository.service.IQmsIssueTicketProcessMeasureService; -import com.nflg.wms.repository.service.IQmsIssueTicketProcessService; -import com.nflg.wms.repository.service.IQmsIssueTicketService; -import com.nflg.wms.repository.service.IQmsPdiDetectionRulesService; -import com.nflg.wms.repository.service.IQmsPdiInspectionResultsService; -import com.nflg.wms.repository.service.IQmsPdiTaskRecordService; -import com.nflg.wms.repository.service.IQmsTodoItemService; -import com.nflg.wms.repository.service.IUserInteriorService; -import com.nflg.wms.repository.service.IUserService; +import com.nflg.wms.repository.entity.*; +import com.nflg.wms.repository.service.*; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import jakarta.validation.Valid; diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java index ea5025c4..534c2c36 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsIssueTicketProcessMeasureControllerService.java @@ -14,6 +14,7 @@ import jakarta.validation.Valid; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; import java.util.Objects; /**