wms/nflg-wms-repository/src/main/resources/mapper/QmsSupplierSqeMapMapper.xml

51 lines
2.2 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.QmsSupplierSqeMapMapper">
2026-04-09 18:39:27 +08:00
<!-- 分页查询关联表JOIN 供应商/user/user_interior/position动态过滤 -->
<select id="searchMap" resultType="com.nflg.wms.common.pojo.vo.QmsSupplierSqeMapVO">
SELECT
qssm.supplier_id,
us.supplier_code,
us.supplier_name,
STRING_AGG(DISTINCT u.user_name, ',' ORDER BY u.user_name) AS user_name
FROM qms_supplier_sqe_map qssm
LEFT JOIN user_supplier us ON us.id = qssm.supplier_id
2026-04-09 18:39:27 +08:00
LEFT JOIN "user" u ON u.id = qssm.user_id
<where>
<if test="request.supplierCode != null and request.supplierCode != ''">
AND us.supplier_code ilike concat('%', #{request.supplierCode}, '%')
</if>
<if test="request.supplierName != null and request.supplierName != ''">
AND us.supplier_name ilike concat('%', #{request.supplierName}, '%')
</if>
2026-04-09 18:39:27 +08:00
<if test="request.userName != null and request.userName != ''">
AND u.user_name ilike concat('%', #{request.userName}, '%')
</if>
</where>
GROUP BY qssm.supplier_id, us.supplier_code, us.supplier_name
ORDER BY qssm.supplier_id DESC
</select>
<!-- 按 userId 查询关联的供应商列表(支持供应商过滤) -->
<select id="getSuppliersByUserId" resultType="com.nflg.wms.common.pojo.vo.QmsUserSupplierVO">
SELECT
qssm.id,
qssm.supplier_id,
us.supplier_code,
us.supplier_name,
qssm.enable
FROM qms_supplier_sqe_map qssm
LEFT JOIN user_supplier us ON us.id = qssm.supplier_id
WHERE qssm.user_id = #{userId}
<if test="supplierCode != null and supplierCode != ''">
AND us.supplier_code = #{supplierCode}
</if>
<if test="supplierName != null and supplierName != ''">
AND us.supplier_name ilike concat('%', #{supplierName}, '%')
</if>
ORDER BY qssm.id ASC
</select>
</mapper>