From c4f618ad9a31ba8f13c09807e6098a61f67443dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 21 Apr 2026 14:44:30 +0800 Subject: [PATCH 1/4] =?UTF-8?q?refactor(qms-inspection):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=A3=80=E9=AA=8C=E6=A0=87=E5=87=86=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8F=B7=E5=8F=8A=E5=AD=97=E5=85=B8=E9=A1=B9?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将检验标准相关的版本号字段由字符串类型改为数值类型,更精确对应数据库字段 - 增加采样方案及AQL优先级值服务依赖,简化名称获取逻辑,替换原有字典项名称映射方式 - 在检验标准内容VO中新增判定类型字典项名称字段并赋值,完善展示信息 - 优化空集合处理避免空指针异常 - 修改多处SQL映射,统一版本号字段取值为数值型version - 调整检验标准项VO中AQL值名称类型为BigDecimal,提升数值表达准确性 --- ...msInspectionStandardControllerService.java | 38 ++++++++++--------- .../vo/QmsInspectionStandardDetailVO.java | 2 +- .../QmsInspectionStandardItemContentVO.java | 5 +++ .../pojo/vo/QmsInspectionStandardItemVO.java | 5 ++- .../pojo/vo/QmsInspectionStandardVO.java | 2 +- .../mapper/QmsInspectionStandardMapper.xml | 4 +- 6 files changed, 32 insertions(+), 24 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsInspectionStandardControllerService.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsInspectionStandardControllerService.java index 0beead4d..5bc2be14 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsInspectionStandardControllerService.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/service/QmsInspectionStandardControllerService.java @@ -1,5 +1,6 @@ package com.nflg.qms.admin.service; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -53,6 +54,12 @@ public class QmsInspectionStandardControllerService { @Resource private IDictionaryItemService dictionaryItemService; + @Resource + private IQmsSamplingPlanService samplingPlanService; + + @Resource + private IQmsAqlPriorityValueService aqlPriorityValueService; + /** * 分页查询检验标准 */ @@ -156,7 +163,7 @@ public class QmsInspectionStandardControllerService { detail.setId(standard.getId()); detail.setMaterialId(standard.getMaterialId()); detail.setDrawingUrl(standard.getDrawingUrl()); - detail.setVersionNo(standard.getVersion() != null ? standard.getVersion().toString() : null); + detail.setVersion(standard.getVersion()); detail.setIsEnabled(standard.getIsEnabled()); detail.setPackagingMethodId(standard.getPackagingMethodId()); detail.setInspectionCycle(standard.getInspectionCycle()); @@ -185,12 +192,12 @@ public class QmsInspectionStandardControllerService { dictionaryItemIds.add(item.getSamplingMethodDictItemId()); dictionaryItemIds.add(item.getInspectionLevelDictItemId()); dictionaryItemIds.add(item.getAqlTypeDictItemId()); - dictionaryItemIds.add(item.getAqlPriorityValueId()); - dictionaryItemIds.add(item.getInspectionStandardId()); }); - List dictionaryItems = dictionaryItemService.lambdaQuery() - .in(DictionaryItem::getId, dictionaryItemIds) - .list(); + List dictionaryItems = CollectionUtil.isEmpty(dictionaryItemIds) + ? new ArrayList<>() + : dictionaryItemService.lambdaQuery() + .in(DictionaryItem::getId, dictionaryItemIds) + .list(); for (QmsInspectionStandardItem item : items) { QmsInspectionStandardItemVO itemVO = convertToItemVO(item, dictionaryItems); @@ -235,12 +242,7 @@ public class QmsInspectionStandardControllerService { .orElse(null) ); vo.setSamplingPlanId(item.getSamplingPlanId()); - vo.setSamplingPlanName(dictionaryItems.stream() - .filter(it -> it.getId().equals(item.getSamplingPlanId())) - .findFirst() - .map(DictionaryItem::getName) - .orElse(null) - ); + vo.setSamplingPlanName(samplingPlanService.getById(item.getSamplingPlanId()).getPlanName()); vo.setInspectionLevelDictItemId(item.getInspectionLevelDictItemId()); vo.setInspectionLevelDictItemName(dictionaryItems.stream() .filter(it -> it.getId().equals(item.getInspectionLevelDictItemId())) @@ -249,12 +251,7 @@ public class QmsInspectionStandardControllerService { .orElse(null) ); vo.setAqlPriorityValueId(item.getAqlPriorityValueId()); - vo.setAqlPriorityValueName(dictionaryItems.stream() - .filter(it -> it.getId().equals(item.getAqlPriorityValueId())) - .findFirst() - .map(DictionaryItem::getName) - .orElse(null) - ); + vo.setAqlPriorityValueName(aqlPriorityValueService.getById(item.getAqlPriorityValueId()).getPriorityValue()); vo.setAqlTypeDictItemId(item.getAqlTypeDictItemId()); vo.setAqlTypeDictItemName(dictionaryItems.stream() .filter(it -> it.getId().equals(item.getAqlTypeDictItemId())) @@ -283,6 +280,11 @@ public class QmsInspectionStandardControllerService { vo.setLegend(content.getLegend()); vo.setPdfInfo(content.getPdfInfo()); vo.setJudgmentTypeDictItemId(content.getJudgmentTypeDictItemId()); + vo.setJudgmentTypeDictItemName( + Optional.ofNullable(dictionaryItemService.getById(content.getJudgmentTypeDictItemId())) + .map(DictionaryItem::getName) + .orElse(null) + ); vo.setCreateUserName(content.getCreateUserName()); vo.setCreateTime(content.getCreateTime()); vo.setUpdateUserName(content.getUpdateUserName()); diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardDetailVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardDetailVO.java index f3442461..6afee328 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardDetailVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardDetailVO.java @@ -49,7 +49,7 @@ public class QmsInspectionStandardDetailVO { /** * 版本号 */ - private String versionNo; + private String version; /** * 是否启用 diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardItemContentVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardItemContentVO.java index 54c8686a..7784e974 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardItemContentVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardItemContentVO.java @@ -45,6 +45,11 @@ public class QmsInspectionStandardItemContentVO { */ private Long judgmentTypeDictItemId; + /** + * 判定类型字典项名称 + */ + private String judgmentTypeDictItemName; + /** * 创建人姓名 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardItemVO.java index 6f16a1ae..3e952dd3 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardItemVO.java @@ -2,6 +2,7 @@ package com.nflg.wms.common.pojo.vo; import lombok.Data; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; @@ -72,9 +73,9 @@ public class QmsInspectionStandardItemVO { private Long aqlPriorityValueId; /** - * AQL值名称 + * AQL值 */ - private String aqlPriorityValueName; + private BigDecimal aqlPriorityValueName; /** * AQL类型字典项ID diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardVO.java index 03873c4d..ee0acbbd 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardVO.java @@ -38,7 +38,7 @@ public class QmsInspectionStandardVO { /** * 检测版本号 */ - private String versionNo; + private String version; /** * 所属IQE diff --git a/nflg-wms-repository/src/main/resources/mapper/QmsInspectionStandardMapper.xml b/nflg-wms-repository/src/main/resources/mapper/QmsInspectionStandardMapper.xml index 9a3f597c..84931ba6 100644 --- a/nflg-wms-repository/src/main/resources/mapper/QmsInspectionStandardMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/QmsInspectionStandardMapper.xml @@ -14,7 +14,7 @@ m.material_category_code_path_name AS materialCategoryCodePathName, m.material_desc AS materialDesc, m.drawing_no_ver AS drawingNoVer, - s.version AS versionNo, + s.version, STRING_AGG(DISTINCT iqe_user.user_name, ',') AS iqeName, s.inspection_cycle AS inspectionCycle, s.packaging_method_id AS packagingMethodId, @@ -60,7 +60,7 @@ m.material_desc AS materialDesc, m.drawing_no_ver AS drawingNoVer, s.drawing_url AS drawingUrl, - s.version AS versionNo, + s.version, s.is_enabled AS isEnabled, s.packaging_method_id AS packagingMethodId, s.inspection_cycle AS inspectionCycle, From 756bfae8d99c83fd9321d663500b9f37cbe1f8ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 21 Apr 2026 14:51:49 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat(repository):=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=8C=85=E8=A3=85=E7=B1=BB=E5=9E=8B=E5=90=8D=E7=A7=B0=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=8F=8A=E6=8E=92=E5=BA=8F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在QmsInspectionStandardMapper.xml中关联dictionary_item表以获取包装类型名称 - 将包装类型名称字段di.name加入查询结果及GROUP BY子句 - 修改结果排序方式,优先按启用状态降序,再按ID降序排序 - 在QmsInspectionStandardVO中添加packagingMethodName属性用于存储包装类型名称 --- .../nflg/wms/common/pojo/vo/QmsInspectionStandardVO.java | 5 +++++ .../main/resources/mapper/QmsInspectionStandardMapper.xml | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardVO.java index ee0acbbd..b50a9dbf 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/QmsInspectionStandardVO.java @@ -55,6 +55,11 @@ public class QmsInspectionStandardVO { */ private Long packagingMethodId; + /** + * 包装类型名称 + */ + private String packagingMethodName; + /** * 启用状态 */ diff --git a/nflg-wms-repository/src/main/resources/mapper/QmsInspectionStandardMapper.xml b/nflg-wms-repository/src/main/resources/mapper/QmsInspectionStandardMapper.xml index 84931ba6..4f0a15d1 100644 --- a/nflg-wms-repository/src/main/resources/mapper/QmsInspectionStandardMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/QmsInspectionStandardMapper.xml @@ -18,6 +18,7 @@ STRING_AGG(DISTINCT iqe_user.user_name, ',') AS iqeName, s.inspection_cycle AS inspectionCycle, s.packaging_method_id AS packagingMethodId, + di.name AS packagingMethodName, s.is_enabled AS isEnabled, s.publish_status AS publishStatus, s.publish_user_name AS publishUserName, @@ -31,6 +32,7 @@ LEFT JOIN qms_inspector_material_item imi ON imi.material_id = m.id LEFT JOIN qms_quality_inspector iqe ON imi.inspector_id = iqe.id AND iqe.inspection_type = 1 AND iqe.enable = true LEFT JOIN "user" iqe_user ON iqe.user_id = iqe_user.id + LEFT JOIN dictionary_item di ON s.packaging_method_id=di.id AND m.material_no ilike concat('%', #{request.materialNo}, '%') @@ -43,9 +45,9 @@ GROUP BY s.id, m.material_no, m.material_category_code_path_name, m.material_desc, m.drawing_no_ver, - s.version, s.inspection_cycle, s.packaging_method_id, s.is_enabled, s.publish_status, + s.version, s.inspection_cycle, s.packaging_method_id, s.is_enabled, s.publish_status,di.name, s.publish_user_name, s.publish_time, s.create_user_name, s.create_time, s.update_user_name, s.update_time - ORDER BY s.id DESC + ORDER BY s.is_enabled DESC,s.id DESC