From 50853294f0e994b67597bc4e365b0062028b005f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 20 Apr 2026 16:39:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(QmsInspectionStandard):=20=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E6=A3=80=E9=AA=8C=E6=A0=87=E5=87=86=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加检验标准分页查询功能,支持物料编号、类别和IQE姓名模糊搜索 - 实现检验标准批量发布、单条启用/禁用和批量删除功能 - 新增检验标准,包括自动维护物料的标准维护状态 - 编辑检验标准,校验版本唯一性并禁止已发布标准修改 - 获取检验标准详情,包含检测项及其内容的完整信息 - 实现检测项及内容的新增、更新和删除逻辑 - 支持检验标准暂存(草稿)功能,保证已发布标准不被修改 - 添加对应数据库映射文件,支持分页和详情查询的SQL语句 --- .../QmsInspectionStandardControllerService.java | 8 ++++++++ .../resources/mapper/QmsInspectionStandardMapper.xml | 11 ++++++----- 2 files changed, 14 insertions(+), 5 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 c529fb5f..414ea6c6 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 @@ -13,6 +13,7 @@ import com.nflg.wms.common.pojo.vo.QmsInspectionStandardItemContentVO; import com.nflg.wms.common.pojo.vo.QmsInspectionStandardItemVO; import com.nflg.wms.common.pojo.vo.QmsInspectionStandardVO; import com.nflg.wms.common.util.UserUtil; +import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.QmsInspectionStandard; import com.nflg.wms.repository.entity.QmsInspectionStandardItem; import com.nflg.wms.repository.entity.QmsInspectionStandardItemContent; @@ -330,6 +331,13 @@ public class QmsInspectionStandardControllerService { if (standard.getPublishStatus() != null && standard.getPublishStatus() == 1) { throw new NflgException(com.nflg.wms.common.constant.STATE.BusinessError, "已发布的检验标准不允许修改"); } + VUtil.trueThrowBusinessError( + inspectionStandardService.lambdaQuery() + .ne(QmsInspectionStandard::getId, qo.getId()) + .eq(QmsInspectionStandard::getMaterialId, qo.getMaterialId()) + .eq(QmsInspectionStandard::getVersion, qo.getVersion()) + .exists() + ).throwMessage("存在相同版本的检验标准"); Long userId = UserUtil.getUserId(); String userName = UserUtil.getUserName(); diff --git a/nflg-wms-repository/src/main/resources/mapper/QmsInspectionStandardMapper.xml b/nflg-wms-repository/src/main/resources/mapper/QmsInspectionStandardMapper.xml index 51ede951..9a3f597c 100644 --- a/nflg-wms-repository/src/main/resources/mapper/QmsInspectionStandardMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/QmsInspectionStandardMapper.xml @@ -28,7 +28,8 @@ s.update_time AS updateTime FROM qms_inspection_standard s LEFT JOIN qms_qc_material m ON s.material_id = m.id - LEFT JOIN qms_quality_inspector iqe ON m.id = iqe.material_id AND iqe.inspection_type = 1 AND iqe.enable = true + 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 @@ -58,9 +59,8 @@ m.material_category_code_path_name AS materialCategoryCodePathName, m.material_desc AS materialDesc, m.drawing_no_ver AS drawingNoVer, - s.inspection_task_item_id AS inspectionTaskItemId, s.drawing_url AS drawingUrl, - s.version_no AS versionNo, + s.version AS versionNo, s.is_enabled AS isEnabled, s.packaging_method_id AS packagingMethodId, s.inspection_cycle AS inspectionCycle, @@ -77,11 +77,12 @@ s.update_time AS updateTime FROM qms_inspection_standard s LEFT JOIN qms_qc_material m ON s.material_id = m.id - LEFT JOIN qms_quality_inspector iqe ON m.id = iqe.material_id AND iqe.inspection_type = 1 AND iqe.enable = true + LEFT JOIN qms_inspector_material_item imi ON imi.material_id = m.id + LEFT JOIN qms_quality_inspector iqe ON m.id = imi.inspector_id AND iqe.inspection_type = 1 AND iqe.enable = true LEFT JOIN "user" iqe_user ON iqe.user_id = iqe_user.id WHERE s.id = #{id} GROUP BY s.id, s.material_id, m.material_no, m.material_category_code_path_name, m.material_desc, m.drawing_no_ver, - s.inspection_task_item_id, s.drawing_url, s.version_no, s.is_enabled, s.packaging_method_id, + s.drawing_url, s.version, s.is_enabled, s.packaging_method_id, s.inspection_cycle, s.publish_status, s.publish_user_id, s.publish_user_name, s.publish_time, s.create_user_id, s.create_user_name, s.create_time, s.update_user_id, s.update_user_name, s.update_time