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

93 lines
4.8 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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,
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,
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
LEFT JOIN dictionary_item di ON s.packaging_method_id=di.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,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.is_enabled DESC,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,
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>