liding
7 天以前 e03206c08c9604decc4723c36fc25573681f2fee
src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml
@@ -3,24 +3,33 @@
<mapper namespace="com.ruoyi.procurementrecord.mapper.CustomStorageMapper">
    <select id="listPageCopyByCustom" resultType="com.ruoyi.procurementrecord.pojo.CustomStorage">
        select *,
               sum(inbound_num) as inboundNum,
               sum(inbound_num) as inboundNum0,
               sum(tax_inclusive_total_price) as taxInclusiveTotalPrice
               from custom_storage
        select t1.*,
               sum(t1.inbound_num) as inboundNum,
               sum(t1.inbound_num) as inboundNum0,
               sum(t1.tax_inclusive_total_price) as taxInclusiveTotalPrice,
               COALESCE(out_sum.total_out_num, 0) as totalInboundNum,
               sum(t1.inbound_num) - COALESCE(out_sum.total_out_num, 0) AS inboundNum0,
               sum(t1.inbound_num) - COALESCE(out_sum.total_out_num, 0) AS availableStock
               from custom_storage t1
               left join (
                   select t2.procurement_record_storage_id, sum(t2.inbound_num) as total_out_num
                   from procurement_record_out t2
                   where t2.type = 3
                   group by t2.procurement_record_storage_id
               ) out_sum on out_sum.procurement_record_storage_id = t1.id
        <where>
            <if test="req.productCategory != null and req.productCategory != ''">
                and product_category like  concat('%',#{req.productCategory},'%')
                and t1.product_category like  concat('%',#{req.productCategory},'%')
            </if>
            <if test="req.supplierName !=null and req.supplierName != ''">
                and supplier_name like concat('%',#{req.supplierName},'%')
                and t1.supplier_name like concat('%',#{req.supplierName},'%')
            </if>
            <if test="req.inboundDate !=null">
                and inbound_date like concat('%',#{req.inboundDate},'%')
            <if test="req.timeStr != null and req.timeStr != ''">
                and t1.inbound_date like concat('%',#{req.timeStr},'%')
            </if>
        </where>
        group by product_category, specification_model, tax_inclusive_unit_price
        order by inbound_date desc
        group by t1.product_category, t1.specification_model, t1.tax_inclusive_unit_price
        HAVING availableStock > 0
        order by t1.inbound_date desc
    </select>
</mapper>