wms/nflg-wms-repository/src/main/resources/mapper/QmsInspectionStandardMapper...

91 lines
4.7 KiB
XML
Raw Normal View History

<?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,
s.version AS versionNo,
STRING_AGG(DISTINCT iqe_user.user_name, ',') AS iqeName,
s.inspection_cycle AS inspectionCycle,
s.packaging_method_id AS packagingMethodId,
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
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
<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,
s.version, s.inspection_cycle, s.packaging_method_id, s.is_enabled, s.publish_status,
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
</select>
<!--
根据ID查询检验标准详情关联物料等信息
-->
<select id="getDetailById" resultType="com.nflg.wms.common.pojo.vo.QmsInspectionStandardDetailVO">
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,
s.version AS versionNo,
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
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.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
</select>
</mapper>