Helius
2020-12-29 7e4dd026157353a0648791016a886136d29ef379
zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
@@ -533,6 +533,42 @@
        ) t
    </select>
    <select id="selectApiBusinessDataInPage" resultType="com.matrix.system.app.vo.BusinessesDataShowVo">
        select
            date_format(a.time, #{record.t1}),
            sum(cashPay + cardPay + arrearsPay) totalPay,
            sum(cashPay) cashPay,
            sum(cardPay) cardPay,
            sum(arrearsPay) arrearsPay,
            sum(freeConsumePay) freeConsumePay,
            sum(consumePay) consumePay,
            sum(refundCardPay) refundCardPay,
            sum(refundCashPay) refundCashPay
        from (
                 select
                        company_id,
                        shop_id,
                        a.time,
                        MAX(CASE code WHEN 'cashPay' THEN value ELSE 0 END)            cashPay,
                        MAX(CASE code WHEN 'cardPay' THEN value ELSE 0 END)            cardPay,
                        MAX(CASE code WHEN 'arrearsPay' THEN value ELSE 0 END)         arrearsPay,
                        MAX(CASE code WHEN 'freeConsumePay' THEN value ELSE 0 END)     freeConsumePay,
                        MAX(CASE code WHEN 'consumePay' THEN value ELSE 0 END)         consumePay,
                        MAX(CASE code WHEN 'refundCashPay' THEN ABS(value) ELSE 0 END) refundCashPay,
                        MAX(CASE code WHEN 'refundCardPay' THEN ABS(value) ELSE 0 END) refundCardPay
                 from sys_business_data a
                 group by a.time, company_id, shop_id
             ) a
        <where>
            <if test="record.companyId != null">
                and a.company_id=#{record.companyId}
            </if>
            <if test="record.shopId != null">
                and a.shop_id=#{record.shopId}
            </if>
        </where>
        group by date_format(a.time, #{record.t1})
        order by a.time desc
    </select>
</mapper>