diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsPqcInspectionRuleController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsPqcInspectionRuleController.java index 5a9372ac..eab41f9d 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsPqcInspectionRuleController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsPqcInspectionRuleController.java @@ -4,6 +4,8 @@ import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleAddQO; import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleAuditQO; import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleEditQO; import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleSearchQO; +import com.nflg.qms.admin.pojo.vo.PqcInspectionPointItemListVO; +import com.nflg.qms.admin.pojo.vo.PqcInspectionPointListVO; import com.nflg.qms.admin.pojo.vo.PqcInspectionRuleDetailVO; import com.nflg.qms.admin.pojo.vo.PqcInspectionRuleVO; import com.nflg.qms.admin.service.QmsPqcInspectionRuleControllerService; @@ -51,6 +53,22 @@ public class QmsPqcInspectionRuleController extends BaseController { return ApiResult.success(ruleControllerService.getDetail(id)); } + /** + * 根据机型编号查询该机型最新启用PQC规则下的检查点列表 + */ + @GetMapping("/points") + public ApiResult> listPointsByModelNo(@NotNull String modelNo) { + return ApiResult.success(ruleControllerService.listPointsByModelNo(modelNo)); + } + + /** + * 根据检查点ID查询对应的检测项列表 + */ + @GetMapping("/items") + public ApiResult> listItemsByInspectionPointId(@NotNull Long inspectionPointId) { + return ApiResult.success(ruleControllerService.listItemsByInspectionPointId(inspectionPointId)); + } + /** * 新增规则 */ diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/pojo/vo/PqcInspectionPointItemListVO.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/pojo/vo/PqcInspectionPointItemListVO.java new file mode 100644 index 00000000..35d5a293 --- /dev/null +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/pojo/vo/PqcInspectionPointItemListVO.java @@ -0,0 +1,28 @@ +package com.nflg.qms.admin.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * PQC检测项列表返回对象 + */ +@Data +@Accessors(chain = true) +public class PqcInspectionPointItemListVO { + + private Long id; + + private Long inspectionCodeId; + + private Integer sort; + + private String inspectionContent; + + private Integer inspectionType; + + private Integer inspectionMethods; + + private String inspectionImgUrl; + + private Integer inspectionLevel; +} diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/pojo/vo/PqcInspectionPointListVO.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/pojo/vo/PqcInspectionPointListVO.java new file mode 100644 index 00000000..5ef324f7 --- /dev/null +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/pojo/vo/PqcInspectionPointListVO.java @@ -0,0 +1,18 @@ +package com.nflg.qms.admin.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +/** + * PQC检查点列表返回对象 + */ +@Data +@Accessors(chain = true) +public class PqcInspectionPointListVO { + + private Long id; + + private String inspectionPointCode; + + private String inspectionPointName; +} diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPqcInspectionRuleControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPqcInspectionRuleControllerService.java index 98d08e68..fa13bcd9 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPqcInspectionRuleControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsPqcInspectionRuleControllerService.java @@ -5,6 +5,8 @@ import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleAddQO; import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleAuditQO; import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleEditQO; import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleSearchQO; +import com.nflg.qms.admin.pojo.vo.PqcInspectionPointItemListVO; +import com.nflg.qms.admin.pojo.vo.PqcInspectionPointListVO; import com.nflg.qms.admin.pojo.vo.PqcInspectionRuleDetailVO; import com.nflg.qms.admin.pojo.vo.PqcInspectionRuleVO; import com.nflg.wms.common.pojo.PageData; @@ -55,4 +57,8 @@ public interface QmsPqcInspectionRuleControllerService { * 切换启用/禁用状态 */ void toggleDisabled(Long id); + + List listPointsByModelNo(String modelNo); + + List listItemsByInspectionPointId(Long inspectionPointId); } diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/impl/QmsPqcInspectionRuleControllerServiceImpl.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/impl/QmsPqcInspectionRuleControllerServiceImpl.java index 6d9f9074..cd835e50 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/impl/QmsPqcInspectionRuleControllerServiceImpl.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/impl/QmsPqcInspectionRuleControllerServiceImpl.java @@ -8,7 +8,9 @@ import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleAddQO; import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleAuditQO; import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleEditQO; import com.nflg.qms.admin.pojo.qo.PqcInspectionRuleSearchQO; +import com.nflg.qms.admin.pojo.vo.PqcInspectionPointItemListVO; import com.nflg.qms.admin.pojo.vo.PqcInspectionPointItemVO; +import com.nflg.qms.admin.pojo.vo.PqcInspectionPointListVO; import com.nflg.qms.admin.pojo.vo.PqcInspectionPointVO; import com.nflg.qms.admin.pojo.vo.PqcInspectionRuleDetailVO; import com.nflg.qms.admin.pojo.vo.PqcInspectionRuleVO; @@ -31,6 +33,7 @@ import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Objects; @@ -339,6 +342,47 @@ public class QmsPqcInspectionRuleControllerServiceImpl implements QmsPqcInspecti /** * 保存检查点和检查项 */ + @Override + public List listPointsByModelNo(String modelNo) { + QmsPqcInspectionRule latestRule = ruleService.lambdaQuery() + .eq(QmsPqcInspectionRule::getModelNo, modelNo) + .eq(QmsPqcInspectionRule::getIsDisabled, true) + .orderByDesc(QmsPqcInspectionRule::getRuleVersion) + .last("LIMIT 1") + .one(); + if (latestRule == null) { + return Collections.emptyList(); + } + return pointService.lambdaQuery() + .eq(QmsPqcInspectionPoint::getPqcRuleId, latestRule.getId()) + .list() + .stream() + .map(point -> new PqcInspectionPointListVO() + .setId(point.getId()) + .setInspectionPointCode(point.getInspectionPointCode()) + .setInspectionPointName(point.getInspectionPointName())) + .collect(Collectors.toList()); + } + + @Override + public List listItemsByInspectionPointId(Long inspectionPointId) { + return itemsService.lambdaQuery() + .eq(QmsPqcInspectionPointItems::getInspectionCodeId, inspectionPointId) + .orderByAsc(QmsPqcInspectionPointItems::getSort) + .list() + .stream() + .map(item -> new PqcInspectionPointItemListVO() + .setId(item.getId()) + .setInspectionCodeId(item.getInspectionCodeId()) + .setSort(item.getSort()) + .setInspectionContent(item.getInspectionContent()) + .setInspectionType(item.getInspectionType()) + .setInspectionMethods(item.getInspectionMethods()) + .setInspectionImgUrl(item.getInspectionImgUrl()) + .setInspectionLevel(item.getInspectionLevel())) + .collect(Collectors.toList()); + } + private void savePointsAndItems(Long ruleId, List points, String operator, Long operatorId, LocalDateTime now) { if (points == null || points.isEmpty()) {