huminmin
4 天以前 b83811618d78d7a9832b325334b7a35cd6a3b64b
src/main/resources/mapper/stock/StockInRecordMapper.xml
@@ -16,6 +16,10 @@
        )
        SELECT
        sir.*,
        CASE
            WHEN sir.theory_stock_in_num IS NULL THEN NULL
            ELSE sir.theory_stock_in_num - sir.stock_in_num
        END AS differenceNum,
        p.product_name as product_name,
        pm.model,
        pm.unit,
@@ -137,6 +141,10 @@
    <select id="listStockInRecordExportData" resultType="com.ruoyi.stock.execl.StockInRecordExportData">
        SELECT
        sir.*,
        CASE
            WHEN sir.theory_stock_in_num IS NULL THEN NULL
            ELSE sir.theory_stock_in_num - sir.stock_in_num
        END AS differenceNum,
        p.product_name as product_name,
        pm.model,
        pm.unit,
@@ -169,6 +177,12 @@
            DATE(sir.create_time) AS inboundDate,
            p.product_name,
            pm.model as specification_model,
            sir.theory_stock_in_num,
            sir.stock_in_num,
            CASE
                WHEN sir.theory_stock_in_num IS NULL THEN NULL
                ELSE sir.theory_stock_in_num - sir.stock_in_num
            END AS differenceNum,
            sir.stock_in_num * slp.tax_inclusive_unit_price AS InboundAmount,
            pl.purchase_contract_number
            FROM stock_in_record sir
@@ -177,12 +191,26 @@
            -- 动态关联采购(自动适配 7 和 10)
            LEFT JOIN purchase_ledger pl
            ON pl.id = IF(sir.record_type = 7, sir.record_id, qi.purchase_ledger_id)
            -- 产品关联不动
            LEFT JOIN sales_ledger_product slp ON pl.id = slp.sales_ledger_id
            LEFT JOIN sales_ledger_product slp
                ON slp.type = 2
                AND (
                    (sir.record_type = 7
                        AND slp.sales_ledger_id = pl.id
                        AND (
                            (sir.batch_no IS NOT NULL AND sir.batch_no LIKE CONCAT('%-', slp.id))
                            OR (sir.batch_no IS NULL AND slp.product_model_id = sir.product_model_id)
                        )
                    )
                    OR
                    (sir.record_type = 10
                        AND slp.sales_ledger_id = pl.id
                        AND slp.product_model_id = sir.product_model_id
                    )
                )
            LEFT JOIN product_model pm ON sir.product_model_id = pm.id
            LEFT JOIN product p ON pm.product_id = p.id
            -- 条件
        WHERE sir.approval_status = 1 AND slp.type = 2
        WHERE sir.approval_status = 1
        AND sir.record_type IN ('7','10')
        <if test="req.inboundBatches != null and req.inboundBatches != ''">
            AND sir.inbound_batches LIKE CONCAT('%',#{req.inboundBatches},'%')