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

107 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.QmsIncomingInspectionTaskNonconformanceMapper">
<select id="search" resultType="com.nflg.wms.common.pojo.vo.QmsIncomingInspectionTaskNonconformanceVO">
SELECT
n.id,
n.task_id,
t.task_no,
t.material_id,
m.material_no,
m.material_desc,
m.drawing_no_ver,
t.supplier_code,
t.supplier_name,
t.delivery_order_no,
t.delivery_order_line,
t.purchase_order_no,
t.purchase_order_line,
t.factory,
t.inspection_type,
t.inspection_qty,
t.qualified_qty,
t.unqualified_qty,
t.inspection_status,
t.inspection_result,
t.inspector_id,
t.inspector_name,
t.submit_time,
t.inspection_start_time,
t.inspection_finish_time,
t.required_finish_time,
t.is_overdue,
n.status AS nonconformance_status,
CASE n.status
WHEN 0 THEN '待办'
WHEN 1 THEN '处理中'
WHEN 2 THEN '处理完成'
END AS nonconformance_status_name,
n.create_user_id AS nonconformance_create_user_id,
n.create_user_name AS nonconformance_create_user_name,
n.create_time AS nonconformance_create_time,
n.update_time AS nonconformance_update_time
FROM qms_incoming_inspection_task_nonconformance n
INNER JOIN qms_incoming_inspection_task t ON n.task_id = t.id
INNER JOIN qms_qc_material m ON t.material_id = m.id
<where>
<if test="request.dataType != null">
AND t.data_type = #{request.dataType}
</if>
<if test="request.materialNo != null and request.materialNo != ''">
AND m.material_no ilike concat('%', #{request.materialNo}, '%')
</if>
<if test="request.purchaseOrderNo != null and request.purchaseOrderNo != ''">
AND t.purchase_order_no ilike concat('%', #{request.purchaseOrderNo}, '%')
</if>
<if test="request.supplierName != null and request.supplierName != ''">
AND t.supplier_name ilike concat('%', #{request.supplierName}, '%')
</if>
<if test="request.inspectorName != null and request.inspectorName != ''">
AND t.inspector_name ilike concat('%', #{request.inspectorName}, '%')
</if>
<if test="request.inspectionStatus != null">
AND t.inspection_status = #{request.inspectionStatus}
</if>
<if test="request.factory != null and request.factory != ''">
AND t.factory = #{request.factory}
</if>
<if test="request.warehouse != null and request.warehouse != ''">
AND t.warehouse = #{request.warehouse}
</if>
<if test="request.deliveryOrderNo != null and request.deliveryOrderNo != ''">
AND t.delivery_order_no ilike concat('%', #{request.deliveryOrderNo}, '%')
</if>
<if test="request.inspectionResult != null">
AND t.inspection_result = #{request.inspectionResult}
</if>
<if test="request.isOverdue != null">
AND t.is_overdue = #{request.isOverdue}
</if>
<if test="request.submitStartDate != null">
AND t.submit_time &gt;= #{request.submitStartDate}
</if>
<if test="request.submitEndDate != null">
AND t.submit_time &lt; #{request.submitEndDate} + INTERVAL '1 day'
</if>
<if test="request.inspectionBeginStartDate != null">
AND t.inspection_start_time &gt;= #{request.inspectionBeginStartDate}
</if>
<if test="request.inspectionBeginEndDate != null">
AND t.inspection_start_time &lt; #{request.inspectionBeginEndDate} + INTERVAL '1 day'
</if>
<if test="request.inspectionStartDate != null">
AND t.inspection_finish_time &gt;= #{request.inspectionStartDate}
</if>
<if test="request.inspectionEndDate != null">
AND t.inspection_finish_time &lt; #{request.inspectionEndDate} + INTERVAL '1 day'
</if>
<if test="request.nonconformanceStatus != null">
AND n.status = #{request.nonconformanceStatus}
</if>
</where>
ORDER BY n.id DESC
</select>
</mapper>