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

87 lines
3.5 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">
<!-- 分页查询供应商列表每行包含聚合后的SQE名称用于展示 -->
<select id="search" resultType="com.nflg.wms.common.pojo.vo.QmsSupplierSqeVO">
SELECT
us.id,
us.supplier_code,
us.supplier_name,
us.state,
us.create_time,
us.create_by,
us.update_time,
us.update_by
FROM user_supplier us
<if test="request.sqeName != null and request.sqeName != ''">
INNER JOIN qms_supplier_sqe_map qssm ON qssm.supplier_id = us.id AND qssm.state = 1
INNER JOIN qms_sqe qs ON qs.id = qssm.sqe_id
AND qs.sqe_name ilike concat('%', #{request.sqeName}, '%')
</if>
<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>
<if test="request.startDate != null">
AND us.create_time &gt;= #{request.startDate}
</if>
<if test="request.endDate != null">
AND us.create_time &lt;= #{request.endDate}
</if>
</where>
GROUP BY us.id, us.supplier_code, us.supplier_name,
us.state, us.create_time, us.create_by, us.update_time, us.update_by
ORDER BY us.id DESC
</select>
<!-- 直接查关联表JOIN 供应商和SQE动态过滤分页 -->
<select id="searchMap" resultType="com.nflg.wms.common.pojo.vo.QmsSupplierSqeMapVO">
SELECT
qssm.id,
qssm.supplier_id,
us.supplier_code,
us.supplier_name,
qssm.sqe_id,
qs.sqe_name,
qs.sqe_code,
qssm.state,
qssm.create_by,
qssm.create_time,
qssm.update_by,
qssm.update_time
FROM qms_supplier_sqe_map qssm
LEFT JOIN user_supplier us ON us.id = qssm.supplier_id
LEFT JOIN qms_sqe qs ON qs.id = qssm.sqe_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>
<if test="request.sqeName != null and request.sqeName != ''">
AND qs.sqe_name ilike concat('%', #{request.sqeName}, '%')
</if>
</where>
ORDER BY qssm.id DESC
</select>
<!-- 查询某供应商绑定的所有SQE简要信息 -->
<select id="listBySupplierId" resultType="com.nflg.wms.common.pojo.vo.QmsSupplierSqeVO$SqeSimpleVO">
SELECT
qs.id AS sqe_id,
qs.sqe_name,
qs.sqe_code
FROM qms_supplier_sqe_map qssm
INNER JOIN qms_sqe qs ON qs.id = qssm.sqe_id
WHERE qssm.supplier_id = #{supplierId}
AND qssm.state = 1
ORDER BY qs.sqe_name
</select>
</mapper>