From 40271bbed4f77a46554ee5c54318f452ea4c6d48 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 14 Jan 2021 18:14:46 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml |  109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 109 insertions(+), 0 deletions(-)

diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
index d048579..14e3086 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
@@ -533,6 +533,115 @@
         ) 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>
 
+    <select id="selectDemo" resultType="com.matrix.system.app.vo.BusinessesDataShowVo">
+
+        select
+        (select sum(amount) from sys_order_flow where shop_id=34 and <![CDATA[ create_time > '2021-01-13 00:00:00' and create_time < '2021-01-14 00:00:00')]]> totalPay,
+        (select sum(amount) from sys_order_flow where shop_id=34 and pay_method not in ('储值卡', '欠款') and flow_type != '退款' and <![CDATA[ create_time > '2021-01-13 00:00:00' and create_time < '2021-01-14 00:00:00')]]> cashPay,
+        (select sum(amount) from sys_order_flow where shop_id=34 and pay_method = '储值卡' and flow_type != '退款' and <![CDATA[ create_time > '2021-01-13 00:00:00' and create_time < '2021-01-14 00:00:00' ]]>) cardPay,
+        (select sum(amount) from sys_order_flow where shop_id=34 and pay_method = '欠款' and <![CDATA[ create_time > '2021-01-13 00:00:00' and create_time < '2021-01-14 00:00:00' ]]>) arrearsPay,
+        (select sum(amount) from sys_order_flow where shop_id=34 and pay_method not in ('储值卡', '欠款') and flow_type = '退款' and <![CDATA[ create_time > '2021-01-13 00:00:00' and create_time < '2021-01-14 00:00:00' ]]>) refundCashPay,
+        (select sum(amount) from sys_order_flow where shop_id=34 and pay_method in ('储值卡') and flow_type = '退款' and <![CDATA[ create_time > '2021-01-13 00:00:00' and create_time < '2021-01-14 00:00:00' ]]>) refundCardPay,
+        (select sum(a.amount) from sys_order_flow a
+        inner join sys_order_item b on a.order_id=b.ORDER_ID
+        inner join shopping_goods c on b.goods_id=c.id
+        where c.good_type='家居产品' and a.shop_id=34 and <![CDATA[ a.create_time > '2021-01-13 00:00:00' and a.create_time < '2021-01-14 00:00:00']]> ) productAchieve,
+        (select sum(a.amount) from sys_order_flow a
+        inner join sys_order_item b on a.order_id=b.ORDER_ID
+        inner join shopping_goods c on b.goods_id=c.id
+        where c.good_type!='家居产品' and a.shop_id=34 and <![CDATA[ a.create_time > '2021-01-13 00:00:00' and a.create_time < '2021-01-14 00:00:00']]> ) cardAchieve,
+        (select sum(amount) from sys_order_flow where shop_id=34 and flow_type = '退款' and <![CDATA[ create_time > '2021-01-13 00:00:00' and create_time < '2021-01-14 00:00:00' ]]>) refund,
+
+        (select count(1) from sys_order where shop_id=34 and STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > '2021-01-13 00:00:00' and ORDER_TIME < '2021-01-14 00:00:00' ]]>) perCustomCnt,
+        (select sum(b.COUNT) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID
+        where a.SHOP_ID=34 and a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > '2021-01-13 00:00:00' and ORDER_TIME < '2021-01-14 00:00:00' ]]>) totalSaleCnt
+        from dual;
+
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1