From 446c74b9db69c5e2e5b9d5bd729493c7340b2129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sun, 14 Jun 2026 12:04:55 +0800 Subject: [PATCH] =?UTF-8?q?refactor(qms):=20=E9=87=8D=E6=9E=84=E8=B4=A8?= =?UTF-8?q?=E6=A3=80=E5=91=98=E7=89=A9=E6=96=99=E6=9F=A5=E8=AF=A2=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将方法参数从多个字段改为统一的QmsMaterialsByUserQO对象 - 添加inspectionType字段用于区分SQE、IQC、PQC质检类型 - 继承PageQO基类统一分页参数处理 - 更新Mapper接口参数结构 - 修改XML映射文件适配新的参数对象 - 优化数据库查询逻辑,添加质检类型过滤条件 - 移除冗余的分页参数传递,简化服务层实现 --- .../QmsQualityInspectorController.java | 2 +- .../common/pojo/qo/QmsMaterialsByUserQO.java | 13 +++++-------- .../mapper/QmsQualityInspectorMapper.java | 8 ++------ .../service/IQmsQualityInspectorService.java | 2 +- .../impl/QmsQualityInspectorServiceImpl.java | 13 ++----------- .../mapper/QmsQualityInspectorMapper.xml | 18 ++++++++++-------- 6 files changed, 21 insertions(+), 35 deletions(-) diff --git a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsQualityInspectorController.java b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsQualityInspectorController.java index 10f55f6a..e50fe399 100644 --- a/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsQualityInspectorController.java +++ b/nflg-qms-admin/src/main/java/com/nflg/qms/admin/controller/QmsQualityInspectorController.java @@ -153,6 +153,6 @@ public class QmsQualityInspectorController extends BaseController { */ @PostMapping("materialsByUser") public ApiResult> materialsByUser(@RequestBody QmsMaterialsByUserQO qo) { - return ApiResult.success(qualityInspectorService.getMaterialsByUserId(qo.getMaterialNo(), qo.getMaterialCategoryCode(), qo.getMaterialDesc(), qo.getPageNum(), qo.getPageSize())); + return ApiResult.success(qualityInspectorService.getMaterialsByUserId(qo)); } } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsMaterialsByUserQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsMaterialsByUserQO.java index b6184005..293d4e0e 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsMaterialsByUserQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/QmsMaterialsByUserQO.java @@ -1,12 +1,13 @@ package com.nflg.wms.common.pojo.qo; +import jakarta.validation.constraints.NotNull; import lombok.Data; /** * 按用户查询绑定物料参数 */ @Data -public class QmsMaterialsByUserQO { +public class QmsMaterialsByUserQO extends PageQO{ /** * 物料编号(精确,可选) @@ -24,12 +25,8 @@ public class QmsMaterialsByUserQO { private String materialDesc; /** - * 页码 + * 质检类型:0为SQE,1为IQC,2为PQC */ - private Integer pageNum = 1; - - /** - * 每页大小 - */ - private Integer pageSize = 10; + @NotNull + private Integer inspectionType; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/QmsQualityInspectorMapper.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/QmsQualityInspectorMapper.java index 5fbb9116..21a2d0cf 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/QmsQualityInspectorMapper.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/mapper/QmsQualityInspectorMapper.java @@ -3,6 +3,7 @@ package com.nflg.wms.repository.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.nflg.wms.common.pojo.qo.QmsMaterialsByUserQO; import com.nflg.wms.common.pojo.qo.QmsQualityInspectorSearchQO; import com.nflg.wms.common.pojo.vo.QmsQualityInspectorCategoryVO; import com.nflg.wms.common.pojo.vo.QmsQualityInspectorMaterialVO; @@ -43,12 +44,7 @@ public interface QmsQualityInspectorMapper extends BaseMapper getMaterialsByUserIdWithFilter( - Page page, - @Param("userId") Long userId, - @Param("materialNo") String materialNo, - @Param("materialCategoryCode") String materialCategoryCode, - @Param("materialDesc") String materialDesc); + IPage getMaterialsByUserIdWithFilter(QmsMaterialsByUserQO request,Long userId, IPage page); /** * 按 userId 查询关联物料类别列表 diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsQualityInspectorService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsQualityInspectorService.java index 8b3be638..37a6ccbc 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsQualityInspectorService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IQmsQualityInspectorService.java @@ -76,5 +76,5 @@ public interface IQmsQualityInspectorService extends IService getMaterialsByUserId(String materialNo, String materialCategoryCode, String materialDesc, Integer pageNum, Integer pageSize); + IPage getMaterialsByUserId(QmsMaterialsByUserQO qo); } 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 a7e08a87..79ef5395 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 @@ -594,17 +594,8 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl getMaterialsByUserId(String materialNo, String materialCategoryCode, - String materialDesc, Integer pageNum, Integer pageSize) { + public IPage getMaterialsByUserId(QmsMaterialsByUserQO qo) { Long userId = UserUtil.getUserId(); - Page page = new Page<>(pageNum, pageSize); - IPage result = baseMapper.getMaterialsByUserIdWithFilter( - page, userId, materialNo, materialCategoryCode, materialDesc); - - return new PageData() - .setPage((int) result.getCurrent()) - .setPageSize((int) result.getSize()) - .setTotal((int) result.getTotal()) - .setItems(result.getRecords()); + return baseMapper.getMaterialsByUserIdWithFilter(qo, userId, new Page<>(qo.getPage(), qo.getPageSize())); } } diff --git a/nflg-wms-repository/src/main/resources/mapper/QmsQualityInspectorMapper.xml b/nflg-wms-repository/src/main/resources/mapper/QmsQualityInspectorMapper.xml index 6aad2725..b489e029 100644 --- a/nflg-wms-repository/src/main/resources/mapper/QmsQualityInspectorMapper.xml +++ b/nflg-wms-repository/src/main/resources/mapper/QmsQualityInspectorMapper.xml @@ -128,18 +128,19 @@ m.material_texture, m.is_standard_maintained AS material_status FROM qms_inspector_material_item imi + INNER JOIN qms_quality_inspector qi ON qi.id = imi.inspector_id LEFT JOIN qms_qc_material m ON m.id = imi.material_id - WHERE imi.inspector_id = ( + WHERE qi.inspection_type=#{request.inspectionType} AND imi.inspector_id = ( SELECT id FROM qms_quality_inspector WHERE user_id = #{userId} LIMIT 1 ) - AND m.material_no = #{materialNo} + AND m.material_no = #{request.materialNo} - AND m.material_category_code LIKE CONCAT(#{materialCategoryCode}, '%') + AND m.material_category_code LIKE CONCAT(#{request.materialCategoryCode}, '%') - AND m.material_desc LIKE CONCAT('%', #{materialDesc}, '%') + AND m.material_desc LIKE CONCAT('%', #{request.materialDesc}, '%') UNION ALL SELECT @@ -155,20 +156,21 @@ m.material_texture, m.is_standard_maintained AS material_status FROM qms_inspector_material_category_item imci + INNER JOIN qms_quality_inspector qi ON qi.id = imi.inspector_id JOIN qms_qc_material_category mc ON mc.id = imci.material_category_id JOIN qms_qc_material_category descendant ON descendant.parent_tree <@ mc.parent_tree JOIN qms_qc_material m ON m.material_category_code = descendant.category_code - WHERE imci.inspector_id = ( + WHERE qi.inspection_type=#{request.inspectionType} AND imci.inspector_id = ( SELECT id FROM qms_quality_inspector WHERE user_id = #{userId} LIMIT 1 ) - AND m.material_no = #{materialNo} + AND m.material_no = #{request.materialNo} - AND m.material_category_code LIKE CONCAT(#{materialCategoryCode}, '%') + AND m.material_category_code LIKE CONCAT(#{request.materialCategoryCode}, '%') - AND m.material_desc LIKE CONCAT('%', #{materialDesc}, '%') + AND m.material_desc LIKE CONCAT('%', #{request.materialDesc}, '%') ORDER BY material_id ASC