陶杰
2024-10-10 9e530fa2aee385cb331e3c76d0765e78c40e35f7
src/main/resources/mapper/report/OrderReportMapper.xml
@@ -160,6 +160,94 @@
            )
        </if>
    </select>
    <select id="getPartnerOrderDateReport" resultType="com.mzl.flower.dto.response.report.OrderPartnerReportResultVO">
        <include refid="partnerBaseSql"></include>
    </select>
    <select id="getPartnerOrderDateReportStatis"
            resultType="com.mzl.flower.dto.response.report.OrderPartnerReportResultVO">
        select
            sum(order_total)  as order_total,
            sum(order_partner_price_amount) as order_partner_price_amount,
            sum(order_supplier_price_amount)  as order_supplier_price_amount,
            sum(order_markup_one_amount)  as order_markup_one_amount,
            sum(order_markup_two_amount)  as order_markup_two_amount,
            sum(order_markup_partner_amount)  as order_markup_partner_amount,
            sum(order_price_discount_amount)  as order_price_discount_amount,
            sum(order_coupon_amount_total)  as order_coupon_amount_total,
            sum(order_check_fee)  as order_check_fee,
            sum(order_lack_fee_supplier)  as order_lack_fee_supplier,
            sum(order_replace_fee)  as order_replace_fee,
            sum(order_fee_supplier)  as order_fee_supplier,
            sum(order_fee_partner)  as order_fee_partner,
            sum(order_fee_platform)  as order_fee_platform,
            sum(order_fee_platform_pack)  as order_fee_platform_pack,
            sum(order_fee_platform_check)  as order_fee_platform_check,
            sum(order_fee_platform_transport)  as order_fee_platform_transport,
            sum(order_total_fee)  as order_total_fee,
            sum(order_fee_packing_transport)  as order_fee_packing_transport,
            sum(order_num) as order_num,
            sum(order_replace_num) as order_replace_num,
            sum(order_reduce_num) as order_reduce_num,
            sum(order_lack_num) as order_lack_num,
            sum(real_sale_num) as real_sale_num
        from <include refid="partnerBaseSql"></include>
    </select>
    <sql id="partnerBaseSql">
        select
        sum(order_total)  as order_total,
        sum(order_supplier_price_amount)+sum(order_markup_one_amount)+sum(order_markup_two_amount)  as order_partner_price_amount,
        sum(order_supplier_price_amount)  as order_supplier_price_amount,
        sum(order_markup_one_amount)  as order_markup_one_amount,
        sum(order_markup_two_amount)  as order_markup_two_amount,
        sum(order_markup_partner_amount)  as order_markup_partner_amount,
        sum(order_price_discount_amount)  as order_price_discount_amount,
        sum(order_coupon_amount_total)  as order_coupon_amount_total,
        sum(order_check_fee)  as order_check_fee,
        sum(order_lack_fee_supplier)  as order_lack_fee_supplier,
        sum(order_replace_fee)  as order_replace_fee,
        sum(order_fee_supplier)  as order_fee_supplier,
        sum(order_fee_partner)  as order_fee_partner,
        sum(order_fee_platform)  as order_fee_platform,
        sum(order_fee_platform_pack)  as order_fee_platform_pack,
        sum(order_fee_platform_check)  as order_fee_platform_check,
        sum(order_fee_platform_transport)  as order_fee_platform_transport,
        sum(order_total_fee)  as order_total_fee,
        sum(order_fee_packing_transport)  as order_fee_packing_transport,
        sum(order_num) as order_num,
        sum(order_replace_num) as order_replace_num,
        sum(order_reduce_num) as order_reduce_num,
        sum(order_lack_num) as order_lack_num,
        sum(order_num)-sum(order_lack_num) as real_sale_num,
        partner_id,
        partner_name
        from (
            select
                o.order_no,o.payment_time,o.status_backend,vor.*,ci.partner_id,p.name as partner_name
            from t_order o
            left join (
                <include refid="baseSql"></include>
            ) vor
            on o.id =vor.order_id
            left join t_customer_info ci
            on o.create_by=ci.user_id
            left join t_partner_info p
            on ci.partner_id=p.id
            where o.deleted=0
            and o.status_backend not in ('PENDING','CANCEL','REFUND')
            and ci.partner_id is not null
            <if test="dto.startDate != null">
                and o.payment_time &gt; #{dto.startDate}
            </if>
            <if test="dto.endDate != null">
                and o.payment_time &lt;= #{dto.endDate}
            </if>
            <if test="dto.partnerId != null">
                and ci.partner_id = #{dto.partnerId}
            </if>
        ) t
        group by partner_id,partner_name
    </sql>
    <sql id="baseSql">
@@ -227,6 +315,7 @@
                    <if test="dto.endDate != null">
                        and o.payment_time &lt;= #{dto.endDate}
                    </if>
               )t1
                group by order_id
             ) t2