云
7 天以前 87733eb3623593da247c051593d64b8ff9e1d3a4
yudao-module-mes/src/main/resources/mapper/wm/batch/MesWmBatchMapper.xml
@@ -63,26 +63,15 @@
    -->
    <select id="selectSalesTargetList" parameterType="String"
            resultType="cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchSalesTargetRespVO">
        SELECT s.code AS sales_code, s.sales_date, s.sales_order_code, s.client_id, s.client_name, s.contact_name,
               oqc.code AS oqc_code, oqc.check_result AS check_result,
               sl.batch_code, sl.item_id, sl.quantity, sl.quality_status
        FROM mes_wm_product_sales_line sl
        JOIN mes_wm_product_sales s ON s.id = sl.sales_id AND s.deleted = 0
        LEFT JOIN mes_qc_oqc oqc ON oqc.id = sl.oqc_id AND oqc.deleted = 0
        WHERE sl.batch_code = #{batchCode} AND sl.deleted = 0 AND s.status != 5
          AND NOT EXISTS (SELECT 1 FROM mes_wm_product_sales_detail d
                          WHERE d.line_id = sl.id AND d.batch_code = #{batchCode} AND d.deleted = 0)
        UNION ALL
        SELECT s.code AS sales_code, s.sales_date, s.sales_order_code, s.client_id, s.client_name, s.contact_name,
               oqc.code AS oqc_code, oqc.check_result AS check_result,
               d.batch_code, d.item_id, SUM(d.quantity) AS quantity, MAX(sl.quality_status) AS quality_status
        FROM mes_wm_product_sales_detail d
        JOIN mes_wm_product_sales s ON s.id = d.sales_id AND s.deleted = 0
        JOIN mes_wm_product_sales_line sl ON sl.id = d.line_id AND sl.deleted = 0
        LEFT JOIN mes_qc_oqc oqc ON oqc.id = sl.oqc_id AND oqc.deleted = 0
        WHERE d.batch_code = #{batchCode} AND d.deleted = 0 AND s.status != 5
        GROUP BY s.id, s.code, s.sales_date, s.sales_order_code, s.client_id, s.client_name, s.contact_name,
                 oqc.code, oqc.check_result, d.batch_code, d.item_id
        SELECT s.code AS sales_code, tx.shipment_id, COALESCE(sh.outbound_time, MAX(tx.transaction_time)) AS sales_date,
               s.sales_order_code, s.client_id, s.client_name, s.contact_name,
               tx.batch_code, tx.item_id, -SUM(tx.quantity) AS quantity
        FROM mes_wm_transaction tx
        JOIN mes_wm_product_sales s ON s.id = tx.biz_id AND s.deleted = 0
        LEFT JOIN mes_wm_product_sales_shipment sh ON sh.id = tx.shipment_id AND sh.deleted = 0
        WHERE tx.batch_code = #{batchCode} AND tx.deleted = 0 AND tx.biz_type = 119 AND tx.type = 2
        GROUP BY s.id, s.code, tx.shipment_id, sh.outbound_time, s.sales_order_code,
                 s.client_id, s.client_name, s.contact_name, tx.batch_code, tx.item_id
        ORDER BY sales_date
    </select>