huminmin
2026-06-01 bd5d1dae54ea1e42e9e9f0d00f671d95914b105f
src/main/resources/mapper/quality/QualityInspectMapper.xml
@@ -5,23 +5,24 @@
        SELECT
        qi.*,
        <choose>
            <when test="qualityInspect.inspectType == 0">
            <when test="qualityInspect.inspectType != 2">
                pl.purchase_contract_number as purchase_contract_no
            </when>
            <otherwise>
                pot.work_order_no,
                po_sales.sales_contract_no
                COALESCE(sl.sales_contract_no, po_sales.sales_contract_no) as sales_contract_no
            </otherwise>
        </choose>
        FROM
        quality_inspect qi
        <choose>
            <when test="qualityInspect.inspectType == 0 ">
            <when test="qualityInspect.inspectType != 2 ">
                LEFT JOIN purchase_ledger pl ON pl.id = qi.purchase_ledger_id
            </when>
            <otherwise>
                LEFT JOIN production_product_main ppm ON qi.product_main_id = ppm.id
                LEFT JOIN production_operation_task pot ON ppm.production_operation_task_id = pot.id
                LEFT JOIN sales_ledger sl ON sl.id = qi.sales_ledger_id
                left join production_order po ON po.id = pot.production_order_id
                left join (
                    select po2.id as order_id,
@@ -54,6 +55,16 @@
        <if test="qualityInspect.entryDateEnd != null and qualityInspect.entryDateEnd != '' ">
            AND qi.check_time &lt;= DATE_FORMAT(#{qualityInspect.entryDateEnd},'%Y-%m-%d')
        </if>
        <if test="qualityInspect.purchaseContractNo != null and qualityInspect.purchaseContractNo != '' ">
            AND pl.purchase_contract_number like concat('%',#{qualityInspect.purchaseContractNo},'%')
        </if>
        <if test="qualityInspect.workOrderNo != null and qualityInspect.workOrderNo != '' ">
            AND pot.work_order_no like concat('%',#{qualityInspect.workOrderNo},'%')
        </if>
        <if test="qualityInspect.salesContractNo != null and qualityInspect.salesContractNo != '' ">
            AND (sl.sales_contract_no like concat('%',#{qualityInspect.salesContractNo},'%')
                OR po_sales.sales_contract_no like concat('%',#{qualityInspect.salesContractNo},'%'))
        </if>
        ORDER BY qi.check_time DESC
    </select>