wzy
2020-12-29 b90fe56ef4ac2f7f2645511eb9f06aa21bd9c7e3
zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
@@ -535,7 +535,7 @@
    <select id="selectApiBusinessDataInPage" resultType="com.matrix.system.app.vo.BusinessesDataShowVo">
        select
            date_format(a.time, #{record.t1}),
            date_format(a.time, #{record.t1}) dataTime,
            sum(cashPay + cardPay + arrearsPay) totalPay,
            sum(cashPay) cashPay,
            sum(cardPay) cardPay,
@@ -569,6 +569,53 @@
        </where>
        group by date_format(a.time, #{record.t1})
        order by a.time desc
        <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
            <if test="pageVo.offset >=0  and pageVo.limit >0">
                limit
                #{pageVo.offset},#{pageVo.limit}
            </if>
        </if>
    </select>
    <select id="selectApiBusinessDataTotal" resultType="java.lang.Integer">
        select
            count(1)
        from (
            select
                date_format(a.time, #{record.t1}) dataTime,
                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
        ) a
    </select>
</mapper>