2026-04-14 14:35:58 +08:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace= "com.nflg.wms.repository.mapper.QmsInspectionStandardMapper" >
<!--
分页查询检验标准
支持动态过滤:物料编号模糊(materialNo)、物料类别编码模糊(materialCategoryCode)、所属IQE姓名模糊(iqeName)
一个物料可对应多个IQE, 使用STRING_AGG合并显示
-->
<select id= "searchPage" resultType= "com.nflg.wms.common.pojo.vo.QmsInspectionStandardVO" >
SELECT
s.id,
m.material_no AS materialNo,
m.material_category_code_path_name AS materialCategoryCodePathName,
m.material_desc AS materialDesc,
m.drawing_no_ver AS drawingNoVer,
2026-04-21 14:44:30 +08:00
s.version,
2026-04-14 14:35:58 +08:00
STRING_AGG(DISTINCT iqe_user.user_name, ',') AS iqeName,
s.inspection_cycle AS inspectionCycle,
s.packaging_method_id AS packagingMethodId,
2026-04-21 14:51:49 +08:00
di.name AS packagingMethodName,
2026-04-14 14:35:58 +08:00
s.is_enabled AS isEnabled,
s.publish_status AS publishStatus,
s.publish_user_name AS publishUserName,
s.publish_time AS publishTime,
s.create_user_name AS createUserName,
s.create_time AS createTime,
s.update_user_name AS updateUserName,
s.update_time AS updateTime
FROM qms_inspection_standard s
LEFT JOIN qms_qc_material m ON s.material_id = m.id
2026-04-20 16:39:25 +08:00
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
2026-04-14 14:35:58 +08:00
LEFT JOIN "user" iqe_user ON iqe.user_id = iqe_user.id
2026-04-21 14:51:49 +08:00
LEFT JOIN dictionary_item di ON s.packaging_method_id=di.id
2026-04-14 14:35:58 +08:00
<where >
<if test= "request.materialNo != null and request.materialNo != ''" >
AND m.material_no ilike concat('%', #{request.materialNo}, '%')
</if>
<if test= "request.materialCategoryCode != null and request.materialCategoryCode != ''" >
AND m.material_category_code ilike concat('%', #{request.materialCategoryCode}, '%')
</if>
<if test= "request.iqeName != null and request.iqeName != ''" >
AND iqe_user.user_name ilike concat('%', #{request.iqeName}, '%')
</if>
</where>
GROUP BY s.id, m.material_no, m.material_category_code_path_name, m.material_desc, m.drawing_no_ver,
2026-04-21 14:51:49 +08:00
s.version, s.inspection_cycle, s.packaging_method_id, s.is_enabled, s.publish_status,di.name,
2026-04-14 14:35:58 +08:00
s.publish_user_name, s.publish_time, s.create_user_name, s.create_time, s.update_user_name, s.update_time
2026-04-21 14:51:49 +08:00
ORDER BY s.is_enabled DESC,s.id DESC
2026-04-14 14:35:58 +08:00
</select>
2026-04-14 19:10:26 +08:00
<!--
根据ID查询检验标准详情( 关联物料等信息)
-->
2026-05-06 15:49:28 +08:00
<select id= "getDetailById" resultType= "com.nflg.wms.common.pojo.dto.QmsInspectionStandardDetailDTO" >
2026-04-14 19:10:26 +08:00
SELECT
s.id,
s.material_id AS materialId,
m.material_no AS materialNo,
m.material_category_code_path_name AS materialCategoryCodePathName,
m.material_desc AS materialDesc,
m.drawing_no_ver AS drawingNoVer,
s.drawing_url AS drawingUrl,
2026-04-21 14:44:30 +08:00
s.version,
2026-04-14 19:10:26 +08:00
s.is_enabled AS isEnabled,
s.packaging_method_id AS packagingMethodId,
s.inspection_cycle AS inspectionCycle,
s.publish_status AS publishStatus,
s.publish_user_id AS publishUserId,
s.publish_user_name AS publishUserName,
s.publish_time AS publishTime,
STRING_AGG(DISTINCT iqe_user.user_name, ',') AS iqeName,
s.create_user_id AS createUserId,
s.create_user_name AS createUserName,
s.create_time AS createTime,
s.update_user_id AS updateUserId,
s.update_user_name AS updateUserName,
s.update_time AS updateTime
FROM qms_inspection_standard s
LEFT JOIN qms_qc_material m ON s.material_id = m.id
2026-04-20 16:39:25 +08:00
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
2026-04-14 19:10:26 +08:00
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,
2026-04-20 16:39:25 +08:00
s.drawing_url, s.version, s.is_enabled, s.packaging_method_id,
2026-04-14 19:10:26 +08:00
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
</select>
2026-04-24 16:58:36 +08:00
<select id= "getItemsForCheck" resultType= "com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskCheckItemVO" >
SELECT qisic.id as "itemContentId",qisi.item_type,CASE WHEN qisi.item_type=0 THEN qisi.name ELSE qisic.name END as "name",qisic.test_standard,qisic.legend,qisic.judgment_type
FROM qms_inspection_standard_item qisi
INNER JOIN qms_inspection_standard_item_content qisic ON qisi."id"=qisic.inspection_standard_item_id
WHERE qisi.inspection_standard_id=#{id}
</select>
2026-04-14 14:35:58 +08:00
</mapper>