liyong
6 天以前 ab328dcee3499bdc622e4eae787abd76c8c845c0
src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -226,6 +226,7 @@
            model,
            unit,
            product_name,
            batch_no,
            MAX(warn_num) as warn_num,
            MAX(remark) as remark,
            MAX(update_time) as update_time
@@ -238,6 +239,7 @@
            si.product_model_id,
            si.create_time,
            si.update_time,
            si.batch_no,
            COALESCE(si.warn_num, 0) as warn_num,
            si.remark,
            pm.model,
@@ -259,6 +261,7 @@
            su.create_time,
            su.update_time,
            0 as warn_num,
            su.batch_no,
            su.remark,
            pm.model,
            pm.unit,
@@ -281,7 +284,7 @@
                and combined.product_id in (select id from product_tree)
            </if>
        </where>
        group by product_model_id, model, unit, product_name
        group by product_model_id, model, unit, product_name,batch_no
    </select>
    <select id="stockInventoryPage" resultType="com.ruoyi.stock.dto.StockInRecordDto">
        select sir.*,si.qualitity as current_stock,
@@ -436,7 +439,41 @@
        WHERE sor.product_model_id = #{productModelId}
          AND (sor.batch_no = #{batchNo} OR (#{batchNo} IS NULL AND sor.batch_no IS NULL))
          AND sor.type = #{type}
          AND sor.approval_status = 0
          AND sor.approval_status IN (0, 3)
    </select>
    <select id="listSelectableBatchNoByProductModelIds" resultType="com.ruoyi.stock.pojo.StockInventory">
        select distinct si.product_model_id,
                        si.batch_no
        from stock_inventory si
        where si.product_model_id in
        <foreach collection="productModelIds" item="productModelId" open="(" separator="," close=")">
            #{productModelId}
        </foreach>
          and si.batch_no is not null
          and si.batch_no != ''
          and (si.qualitity - ifnull(si.locked_quantity, 0)) > 0
        order by si.product_model_id, si.batch_no
    </select>
    <select id="getByModelId" resultType="com.ruoyi.stock.pojo.StockInventory">
        select si.id, si.batch_no, si.locked_quantity, (si.qualitity - IFNULL(sd.qualitity, 0)) as qualitity
        from stock_inventory si
                 left join (
                    select spd.stock_inventory_id, sum(spd.quantity) as qualitity
                    from shipping_product_detail spd
                    where exists (
                        select 1
                        from stock_out_record sor
                        where sor.record_id = spd.shipping_info_id
                          and sor.record_type = '13'
                          and sor.type = '0'
                          and sor.approval_status in (0, 3)
                          and sor.product_model_id = spd.product_model_id
                          and (sor.batch_no = spd.batch_no or (sor.batch_no is null and spd.batch_no is null))
                    )
                    group by spd.stock_inventory_id
                 ) as sd on sd.stock_inventory_id = si.id
        where si.product_model_id = #{productModelId}
    </select>
</mapper>