Helius
2021-01-11 4ece659308844cbe73053d3dd2a6f777f218eb13
zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
@@ -533,6 +533,89 @@
        ) t
    </select>
    <select id="selectApiBusinessDataInPage" resultType="com.matrix.system.app.vo.BusinessesDataShowVo">
        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
        <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>