diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/config/AsyncConfig.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/config/AsyncConfig.java new file mode 100644 index 00000000..08244936 --- /dev/null +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/config/AsyncConfig.java @@ -0,0 +1,24 @@ +package com.nflg.qms.admin.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.Executor; + +@Configuration +@EnableAsync +public class AsyncConfig { + + @Bean("ticketTaskExecutor") + public Executor eventTaskExecutor() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + executor.setCorePoolSize(5); + executor.setMaxPoolSize(10); + executor.setQueueCapacity(100); + executor.setThreadNamePrefix("ticket-async-"); + executor.initialize(); + return executor; + } +} diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIncomingInspectionTaskNonconformanceController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIncomingInspectionTaskNonconformanceController.java index f28fc347..fa5d6712 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIncomingInspectionTaskNonconformanceController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsIncomingInspectionTaskNonconformanceController.java @@ -1,17 +1,18 @@ package com.nflg.qms.admin.controller; +import com.nflg.qms.admin.service.QmsIssueTicketControllerService; import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.qo.QmsIncomingInspectionTaskNonconformanceSearchQO; import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskNonconformanceVO; +import com.nflg.wms.common.util.UserUtil; +import com.nflg.wms.repository.entity.User; import com.nflg.wms.repository.service.IQmsIncomingInspectionTaskNonconformanceService; +import com.nflg.wms.repository.service.IUserService; 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; +import org.springframework.web.bind.annotation.*; /** * 来料检验任务不合格管理 @@ -23,11 +24,30 @@ public class QmsIncomingInspectionTaskNonconformanceController extends BaseContr @Resource private IQmsIncomingInspectionTaskNonconformanceService nonconformanceService; + @Resource + private IUserService userService; + + @Resource + private QmsIssueTicketControllerService issueTicketControllerService; + /** * 分页查询来料检验任务不合格管理列表 */ @PostMapping("search") public ApiResult> search(@Valid @RequestBody QmsIncomingInspectionTaskNonconformanceSearchQO request) { + User user = userService.getById(UserUtil.getUserId()); + request.setPurchaseGroup(user.getPurchasingGroup()); + request.setIsWarehouseManager(UserUtil.getRoles().contains("仓库管理员")); return ApiResult.success(nonconformanceService.search(request)); } + + /** + * 发起工单:通过来料检测任务ID创建IQC检测任务类型质量问题工单 + * 工单编号自动生成,来源类型固定为0(IQC检测任务) + */ + @PostMapping("initiate") + public ApiResult initiate(@RequestParam Long taskId) { + issueTicketControllerService.initiate(taskId); + return ApiResult.success(); + } } diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/event/IncomingInspectionTaskFinishEvent.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/event/IncomingInspectionTaskFinishEvent.java new file mode 100644 index 00000000..2daec35a --- /dev/null +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/event/IncomingInspectionTaskFinishEvent.java @@ -0,0 +1,32 @@ +package com.nflg.qms.admin.event; + +import org.springframework.context.ApplicationEvent; + +/** + * 来料检验任务完成事件 + */ +public class IncomingInspectionTaskFinishEvent extends ApplicationEvent { + + private final Long taskId; + private final Boolean inspectionResult; + private final String traceId; + + public IncomingInspectionTaskFinishEvent(Object source, Long taskId, Boolean inspectionResult, String traceId) { + super(source); + this.taskId = taskId; + this.inspectionResult = inspectionResult; + this.traceId = traceId; + } + + public Long getTaskId() { + return taskId; + } + + public Boolean getInspectionResult() { + return inspectionResult; + } + + public String getTraceId() { + return traceId; + } +} diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/listener/TicketEventListener.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/listener/TicketEventListener.java new file mode 100644 index 00000000..30f32e67 --- /dev/null +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/listener/TicketEventListener.java @@ -0,0 +1,33 @@ +package com.nflg.qms.admin.listener; + +import com.nflg.qms.admin.event.IncomingInspectionTaskFinishEvent; +import com.nflg.qms.admin.service.QmsIssueTicketControllerService; +import jakarta.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.slf4j.MDC; +import org.springframework.context.event.EventListener; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + +@Slf4j +@Component +public class TicketEventListener { + + @Resource + private QmsIssueTicketControllerService issueTicketControllerService; + + @Async("ticketTaskExecutor") + @EventListener + public void handleIncomingInspectionTaskFinishEvent(IncomingInspectionTaskFinishEvent event) { + MDC.put("traceId", event.getTraceId()); + try { + log.info("检验结果:{}", event.getInspectionResult() ? "合格" : "不合格"); + if (event.getInspectionResult()) { + log.info("创建异常处理工单"); + issueTicketControllerService.initiate(event.getTaskId()); + } + } finally { + MDC.clear(); + } + } +} diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/publisher/TicketEventPublisher.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/publisher/TicketEventPublisher.java new file mode 100644 index 00000000..61999439 --- /dev/null +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/publisher/TicketEventPublisher.java @@ -0,0 +1,21 @@ +package com.nflg.qms.admin.publisher; + +import com.nflg.qms.admin.event.IncomingInspectionTaskFinishEvent; +import com.nflg.wms.common.constant.Constant; +import jakarta.annotation.Resource; +import org.slf4j.MDC; +import org.springframework.context.ApplicationEventPublisher; +import org.springframework.stereotype.Service; + +@Service +public class TicketEventPublisher { + + @Resource + private ApplicationEventPublisher eventPublisher; + + public void publishIncomingInspectionTaskFinishEvent(Long taskId, Boolean inspectionResult) { + IncomingInspectionTaskFinishEvent event = new IncomingInspectionTaskFinishEvent( + this, taskId, inspectionResult, MDC.get(Constant.TRACE_ID)); + eventPublisher.publishEvent(event); + } +} diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java index 60149427..bbabf895 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/IncomingInspectionTaskControllerService.java @@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.nflg.qms.admin.publisher.TicketEventPublisher; +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.*; @@ -16,7 +18,9 @@ import jakarta.annotation.Resource; import jakarta.validation.Valid; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.tuple.Pair; +import org.slf4j.MDC; import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.context.ApplicationEventPublisher; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; @@ -101,6 +105,9 @@ public class IncomingInspectionTaskControllerService { @Resource private IFileUploadRecordService fileUploadRecordService; + @Resource + private TicketEventPublisher publisher; + /** * 来料检验申请(对外接口) * 业务规则: @@ -184,6 +191,7 @@ public class IncomingInspectionTaskControllerService { .setDeliveryOrderLine(request.getDeliveryOrderLine()) .setPurchaseOrderNo(request.getPurchaseOrderNo()) .setPurchaseOrderLine(request.getPurchaseOrderLine()) + .setPurchaseGroup(request.getPurchaseGroup()) .setFactory(request.getFactory()) .setInspectionType(request.getInspectionType()) .setDataType(0) @@ -944,9 +952,7 @@ public class IncomingInspectionTaskControllerService { updateWrapper.update(); - if (!request.getQualified()) { - //TODO - } + publisher.publishIncomingInspectionTaskFinishEvent(task.getId(), request.getQualified()); } /** @@ -1022,6 +1028,7 @@ public class IncomingInspectionTaskControllerService { QmsInspectionStandardItemContent content = finalContentMap.get(item.getInspectionStandardItemContentId()); if (content != null) { vo.setTestStandard(content.getTestStandard()); + vo.setLegend(content.getLegend()); vo.setJudgmentType(content.getJudgmentType()); // 根据检验标准项类型设置检测项名称 @@ -1074,4 +1081,8 @@ public class IncomingInspectionTaskControllerService { public List getNonconformanceDataGroups(Long recordId) { return incomingInspectionTaskRecordItemService.getNonconformanceDataGroups(recordId); } + + public List getUnqualifiedRecordItems(Long taskId) { + return incomingInspectionTaskRecordItemService.getUnqualifiedRecordItems(taskId); + } } 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 2872f4f1..684301ce 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 @@ -6,16 +6,12 @@ import cn.hutool.core.util.StrUtil; 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.vo.FileUploadVO; -import com.nflg.wms.common.pojo.vo.QmsIssueTicketDetailVO; -import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordItemDetailVO; -import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskRecordVO; -import com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskVO; -import com.nflg.wms.common.pojo.vo.QmsIssueTicketInspectionRecordItemVO; +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.FileUploadRecord; -import com.nflg.wms.repository.entity.QmsIncomingInspectionTaskRecord; import com.nflg.wms.repository.entity.QmsIssueTicket; +import com.nflg.wms.repository.entity.VUser; import com.nflg.wms.repository.service.IFileUploadRecordService; import com.nflg.wms.repository.service.IQmsIssueTicketService; import jakarta.annotation.Resource; @@ -24,10 +20,8 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Objects; +import java.util.*; +import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; /** @@ -59,7 +53,7 @@ public class QmsIssueTicketControllerService { LocalDateTime now = LocalDateTime.now(); // 自动生成工单编号 - String ticketNo = basdeSerialNumberControllerService.generateSerialNumber(36); + String ticketNo = basdeSerialNumberControllerService.generateSerialNumber(37); QmsIssueTicket entity = new QmsIssueTicket() .setSourceType((short) 2) @@ -88,6 +82,60 @@ public class QmsIssueTicketControllerService { issueTicketService.save(entity); } + /** + * 通过来料检测任务ID发起IQC检测任务类型质量问题工单 + * 工单编号自动生成,来源类型固定为0(IQC检测任务),状态默认为0(待流转) + */ + @Transactional(rollbackFor = Exception.class) + public void initiate(Long taskId) { + // 校验任务是否存在 + QmsIncomingInspectionTaskVO detail = incomingInspectionTaskControllerService.getDetail(taskId); + VUtil.trueThrowBusinessError(issueTicketService.lambdaQuery().eq(QmsIssueTicket::getProjectNo, detail.getTaskNo()).exists()) + .throwMessage("该任务已生成质量问题工单"); + + Long userId = UserUtil.getUserId(); + String userName = UserUtil.getUserName(); + LocalDateTime now = LocalDateTime.now(); + + // 自动生成工单编号 + String ticketNo = basdeSerialNumberControllerService.generateSerialNumber(36); + + QmsIssueTicket entity = new QmsIssueTicket() + .setSourceType((short) 0) + .setSourceId(taskId) + .setTicketNo(ticketNo) + .setTicketTitle(generateTicketTitle(detail.getSupplierName(), detail.getMaterialNo() + , detail.getPurchaseOrderNo(), detail.getDeliveryOrderNo(), detail.getStandardVersion())) + .setProjectNo(detail.getTaskNo()) + .setUnqualifiedQty(detail.getUnqualifiedQty()) + .setCreateUserId(userId) + .setCreateUserName(userName) + .setCreateTime(now) + .setUpdateUserId(userId) + .setUpdateUserName(userName) + .setUpdateTime(now); + + List unqualifiedRecordItems = incomingInspectionTaskControllerService.getUnqualifiedRecordItems(taskId); + Map> unqualifiedRecordItemsMap = unqualifiedRecordItems.stream() + .collect(Collectors.groupingBy(QmsIssueTicketInspectionRecordItemSimpleVO::getTestStandard)); + unqualifiedRecordItemsMap.forEach((testStandard, items) -> { + AtomicReference index = new AtomicReference<>(1); + entity.setIncidentDescription(entity.getIncidentDescription() + + "检测标准:" + testStandard + "\n" + + items.stream() + .map(item -> index.getAndSet(index.get() + 1) + ". " + item.getRemark() + "\n") + .collect(Collectors.joining()) + + "\n" + ); + }); + + issueTicketService.save(entity); + } + + private String generateTicketTitle(Object... args) { + return StrUtil.join("-", args); + } + /** * 查询来料检测任务质量问题工单详情 * 包含图片文件信息、来料检测任务详情、检验记录(含子项和样本数据) diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ExternalIncomingInspectionApplyQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ExternalIncomingInspectionApplyQO.java index 0570ef4c..36ec25c9 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ExternalIncomingInspectionApplyQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ExternalIncomingInspectionApplyQO.java @@ -71,4 +71,10 @@ public class ExternalIncomingInspectionApplyQO { @NotNull(message = "检验数量不能为空") @Min(value = 1, message = "检验数量必须大于0") private Integer inspectionQty; + + /** + * 采购组 + */ + @NotBlank(message = "采购组不能为空") + private String purchaseGroup; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsIncomingInspectionTaskNonconformanceSearchQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsIncomingInspectionTaskNonconformanceSearchQO.java index fd8e7e41..ebb81e2d 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsIncomingInspectionTaskNonconformanceSearchQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsIncomingInspectionTaskNonconformanceSearchQO.java @@ -1,5 +1,7 @@ package com.nflg.wms.common.pojo.qo; +import com.fasterxml.jackson.annotation.JsonIgnore; +import jakarta.validation.constraints.NotBlank; import lombok.Data; import lombok.EqualsAndHashCode; @@ -101,4 +103,16 @@ public class QmsIncomingInspectionTaskNonconformanceSearchQO extends PageQO { * 不合格处理状态:0=待办,1=处理中,2=处理完成 */ private Short nonconformanceStatus; + + /** + * 采购组 + */ + @JsonIgnore + private String purchaseGroup; + + /** + * 是否仓库管理员 + */ + @JsonIgnore + private Boolean isWarehouseManager; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskNonconformanceVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskNonconformanceVO.java index 27100e78..f0a18278 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskNonconformanceVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskNonconformanceVO.java @@ -10,11 +10,6 @@ import java.time.LocalDateTime; @Data public class QmsIncomingInspectionTaskNonconformanceVO { - /** - * 不合格管理记录ID - */ - private Long id; - /** * 来料检验任务ID */ @@ -25,6 +20,16 @@ public class QmsIncomingInspectionTaskNonconformanceVO { */ private String taskNo; + /** + * 工单编号 + */ + private String ticketNo; + + /** + * 工单标题 + */ + private String ticketTitle; + /** * 物料id */ @@ -146,32 +151,7 @@ public class QmsIncomingInspectionTaskNonconformanceVO { private Boolean isOverdue; /** - * 不合格处理状态:0=待办,1=处理中,2=处理完成 + * 流程状态:0=未发起,1=处理中,2=已完成 */ - private Short nonconformanceStatus; - - /** - * 不合格处理状态名称 - */ - private String nonconformanceStatusName; - - /** - * 不合格记录创建人ID - */ - private Long nonconformanceCreateUserId; - - /** - * 不合格记录创建人姓名 - */ - private String nonconformanceCreateUserName; - - /** - * 不合格记录创建时间 - */ - private LocalDateTime nonconformanceCreateTime; - - /** - * 不合格记录更新时间 - */ - private LocalDateTime nonconformanceUpdateTime; + private Short status; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskRecordItemDetailVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskRecordItemDetailVO.java index 2d26e8b5..f4a8210a 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskRecordItemDetailVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIncomingInspectionTaskRecordItemDetailVO.java @@ -36,6 +36,11 @@ public class QmsIncomingInspectionTaskRecordItemDetailVO { */ private String testStandard; + /** + * 图例 + */ + private String legend; + /** * 判定类型,0:直接判定;1:测量值 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIssueTicketInspectionRecordItemSimpleVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIssueTicketInspectionRecordItemSimpleVO.java new file mode 100644 index 00000000..482bd31f --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsIssueTicketInspectionRecordItemSimpleVO.java @@ -0,0 +1,13 @@ +package com.nflg.wms.common.pojo.vo; + +import lombok.Data; + +@Data +public class QmsIssueTicketInspectionRecordItemSimpleVO { + + private String name; + + private String testStandard; + + private String remark; +} diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsIncomingInspectionTask.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsIncomingInspectionTask.java index b5c680ab..30403472 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsIncomingInspectionTask.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/QmsIncomingInspectionTask.java @@ -3,6 +3,7 @@ package com.nflg.wms.repository.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import jakarta.validation.constraints.NotBlank; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -181,6 +182,11 @@ public class QmsIncomingInspectionTask implements Serializable { */ private Integer storageDays; + /** + * 采购组 + */ + private String purchaseGroup; + /** * 最近更新人id */ diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/QmsIncomingInspectionTaskRecordItemMapper.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/QmsIncomingInspectionTaskRecordItemMapper.java index 19c2a631..b7a9b1a8 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/QmsIncomingInspectionTaskRecordItemMapper.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/QmsIncomingInspectionTaskRecordItemMapper.java @@ -1,6 +1,7 @@ package com.nflg.wms.repository.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.nflg.wms.common.pojo.vo.QmsIssueTicketInspectionRecordItemSimpleVO; import com.nflg.wms.common.pojo.vo.QmsIssueTicketInspectionRecordItemVO; import com.nflg.wms.repository.entity.QmsIncomingInspectionTaskRecordItem; @@ -17,4 +18,6 @@ import java.util.List; public interface QmsIncomingInspectionTaskRecordItemMapper extends BaseMapper { List getNonconformanceDataGroups(Long recordId); + + List getUnqualifiedRecordItems(Long taskId); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsIncomingInspectionTaskRecordItemService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsIncomingInspectionTaskRecordItemService.java index c03a2b60..4649d9bf 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsIncomingInspectionTaskRecordItemService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsIncomingInspectionTaskRecordItemService.java @@ -1,6 +1,7 @@ package com.nflg.wms.repository.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.nflg.wms.common.pojo.vo.QmsIssueTicketInspectionRecordItemSimpleVO; import com.nflg.wms.common.pojo.vo.QmsIssueTicketInspectionRecordItemVO; import com.nflg.wms.repository.entity.QmsIncomingInspectionTaskRecordItem; @@ -17,4 +18,6 @@ import java.util.List; public interface IQmsIncomingInspectionTaskRecordItemService extends IService { List getNonconformanceDataGroups(Long recordId); + + List getUnqualifiedRecordItems(Long taskId); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsIncomingInspectionTaskRecordItemServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsIncomingInspectionTaskRecordItemServiceImpl.java index f5895366..707b496f 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsIncomingInspectionTaskRecordItemServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/QmsIncomingInspectionTaskRecordItemServiceImpl.java @@ -1,6 +1,7 @@ package com.nflg.wms.repository.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nflg.wms.common.pojo.vo.QmsIssueTicketInspectionRecordItemSimpleVO; import com.nflg.wms.common.pojo.vo.QmsIssueTicketInspectionRecordItemVO; import com.nflg.wms.repository.entity.QmsIncomingInspectionTaskRecordItem; import com.nflg.wms.repository.mapper.QmsIncomingInspectionTaskRecordItemMapper; @@ -24,4 +25,9 @@ public class QmsIncomingInspectionTaskRecordItemServiceImpl extends ServiceImpl< public List getNonconformanceDataGroups(Long recordId) { return baseMapper.getNonconformanceDataGroups(recordId); } + + @Override + public List getUnqualifiedRecordItems(Long taskId) { + return baseMapper.getUnqualifiedRecordItems(taskId); + } } diff --git a/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskNonconformanceMapper.xml b/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskNonconformanceMapper.xml index 60472d3a..ef9a55c0 100644 --- a/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskNonconformanceMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskNonconformanceMapper.xml @@ -4,103 +4,92 @@ diff --git a/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskRecordItemMapper.xml b/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskRecordItemMapper.xml index 28d5094a..03b4e1bb 100644 --- a/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskRecordItemMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/QmsIncomingInspectionTaskRecordItemMapper.xml @@ -9,4 +9,14 @@ INNER JOIN qms_inspection_standard_item_content isic ON iitri.inspection_standard_item_content_id=isic."id" INNER JOIN qms_inspection_standard_item isi ON isic.inspection_standard_item_id=isi."id" + +