From 473c4e9cf23f9e43ae2f93c4da79b2204e34c3f8 Mon Sep 17 00:00:00 2001
From: jyy <935090232@qq.com>
Date: Tue, 09 Mar 2021 11:50:48 +0800
Subject: [PATCH] 解决微信回调报错问题
---
zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml | 347 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 323 insertions(+), 24 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 14e3086..6844dff 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
@@ -619,29 +619,328 @@
) 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 id="selectApiBusinessData" resultType="com.matrix.system.app.vo.BusinessesDataShowVo">
+ <foreach collection="list" index="index" item="item" separator="union all" >
+ select
+ #{item.beginTime} dataTime,
+ (select shop_short_name from sys_shop_info where id=#{shopId}) shopName,
+ (select IFNULL(sum(amount),0) from sys_order_flow
+ where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> and pay_method!='欠款'
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ )totalPay,
+ (select IFNULL(sum(amount),0) from sys_order_flow
+ where pay_method not in ('储值卡', '欠款') and flow_type != '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ ) cashPay,
+ (select IFNULL(sum(amount),0) from sys_order_flow
+ where pay_method = '储值卡' and flow_type != '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ ) cardPay,
+ (select IFNULL(sum(amount),0) from sys_order_flow
+ where pay_method = '欠款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ ) arrearsPay,
+ (select IFNULL(sum(amount),0) from sys_order_flow
+ where pay_method not in ('储值卡', '欠款') and flow_type = '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ ) refundCashPay,
+ (select IFNULL(sum(amount),0) from sys_order_flow
+ where pay_method in ('储值卡') and flow_type = '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ ) refundCardPay,
+ (select IFNULL(sum(zk_price*count),0) from sys_order_item a
+ inner join shopping_goods b on a.goods_id=b.id
+ inner join sys_order c on a.ORDER_ID=c.id
+ where b.good_type='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and c.shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and c.company_id=#{companyId}
+ </if>
+ ) productAchieve,
+ (select IFNULL(sum(zk_price*count),0) from sys_order_item a
+ inner join shopping_goods b on a.goods_id=b.id
+ inner join sys_order c on a.ORDER_ID=c.id
+ where b.good_type!='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and c.shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and c.company_id=#{companyId}
+ </if>
+ ) cardAchieve,
+ (select IFNULL(sum(amount),0) from sys_order_flow where flow_type = '还款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ ) refund,
+ (select IFNULL(count(1),0) from sys_order
+ where STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ ) perCustomCnt,
+ (select IFNULL(sum(b.COUNT),0) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID
+ where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ ) totalSaleCnt,
+ (select IFNULL(sum(e.count * d.GOODS_PRICE),0) from sys_order a
+ inner join sys_out_store b on a.id=b.ORDER_ID
+ inner join sys_out_store_item c on b.id=c.OUT_STORE_ID
+ inner join sys_store_info d on c.store_id = d.ID
+ inner join sys_order_item e on a.ID=e.ORDER_ID
+ inner join shopping_goods f on e.goods_id=f.id and f.good_type='家居产品'
+ where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
+ <if test="shopId != null">
+ and a.shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and a.company_id=#{companyId}
+ </if>
+ ) goodsCost,
+ (select IFNULL(sum(b.COUNT * IFNULL(c.price, 0)),0) from sys_order a
+ inner join sys_order_item b on a.ID=b.ORDER_ID
+ inner join shopping_goods c on c.good_type != '家居产品' and b.goods_id=c.id
+ where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
+ <if test="shopId != null">
+ and a.shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and a.company_id=#{companyId}
+ </if>
+ ) otherCost,
+ (select IFNULL(sum(IFNULL(his_consume, 0)),0) from achieve_new
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ ) consumePay,
+ (select IFNULL(sum(IFNULL(free_consume, 0)),0) from achieve_new
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ ) freeConsumePay,
+ (select IFNULL(sum(IFNULL(number_of_people, 0)),0) from achieve_new
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ ) peopleCnt,
+ (select IFNULL(sum(IFNULL(proj_num, 0)),0) from achieve_new
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ ) projConsumeCnt,
+ (select IFNULL(sum(IFNULL(proj_time, 0)),0) from achieve_new
+ where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and company_id=#{companyId}
+ </if>
+ ) timeLength
+ from dual
+ </foreach>
</select>
+
+ <select id="selectDailySaleData" resultType="com.matrix.system.hive.statistics.DailySaleVo">
+ <foreach collection="list" index="index" item="item" separator="union all" >
+ select
+ #{item.beginTime} dataTime,
+ (select shop_short_name from sys_shop_info where id=#{shopId}) shopName,
+ (select sum(total) shouldPay from sys_order
+ where STATU in ('已付款', '欠款') and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ ) shouldPay,
+ (select IFNULL(sum(amount),0) from sys_order_flow
+ where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> and pay_method!='欠款'
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ )totalPay,
+ (select IFNULL(sum(amount),0) from sys_order_flow
+ where pay_method not in ('储值卡', '欠款') and flow_type != '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ ) cashPay,
+ (select IFNULL(sum(amount),0) from sys_order_flow
+ where pay_method = '储值卡' and flow_type != '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ ) cardPay,
+ (select IFNULL(sum(amount),0) from sys_order_flow
+ where pay_method = '欠款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ ) arrearsPay,
+ (select IFNULL(sum(amount),0) from sys_order_flow
+ where pay_method not in ('储值卡', '欠款') and flow_type = '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ ) refundCashPay,
+ (select IFNULL(sum(amount),0) from sys_order_flow
+ where pay_method in ('储值卡') and flow_type = '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ ) refundCardPay,
+ (select IFNULL(sum(zk_price*count),0) from sys_order_item a
+ inner join shopping_goods b on a.goods_id=b.id
+ inner join sys_order c on a.ORDER_ID=c.id
+ where b.good_type='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and c.shop_id=#{shopId}
+ </if>
+ ) productAchieve,
+ (select IFNULL(sum(zk_price*count),0) from sys_order_item a
+ inner join shopping_goods b on a.goods_id=b.id
+ inner join sys_order c on a.ORDER_ID=c.id
+ where b.good_type!='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and c.shop_id=#{shopId}
+ </if>
+ ) cardAchieve,
+ (select IFNULL(sum(amount),0) from sys_order_flow where flow_type = '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ ) refund,
+ (select IFNULL(count(1),0) from sys_order
+ where STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ ) perCustomCnt,
+ (select IFNULL(sum(b.COUNT),0) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID
+ where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ ) totalSaleCnt,
+ (select IFNULL(sum(e.count * d.GOODS_PRICE),0) from sys_order a
+ inner join sys_out_store b on a.id=b.ORDER_ID
+ inner join sys_out_store_item c on b.id=c.OUT_STORE_ID
+ inner join sys_store_info d on c.store_id = d.ID
+ inner join sys_order_item e on a.ID=e.ORDER_ID
+ inner join shopping_goods f on e.goods_id=f.id and f.good_type='家居产品'
+ where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
+ <if test="shopId != null">
+ and a.shop_id=#{shopId}
+ </if>
+ ) goodsCost,
+ (select IFNULL(sum(b.COUNT * IFNULL(c.price, 0)),0) from sys_order a
+ inner join sys_order_item b on a.ID=b.ORDER_ID
+ inner join shopping_goods c on c.good_type != '家居产品' and b.goods_id=c.id
+ where a.STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
+ <if test="shopId != null">
+ and a.shop_id=#{shopId}
+ </if>
+ ) otherCost,
+ (select sum(case a.paymethod when '微信' then amount else 0 end) wechat
+ from (<include refid="dailySaleFlow"></include>) a
+ ) wechat,
+ (select
+ sum(case a.paymethod when '支付宝' then amount else 0 end) alipay
+ from (<include refid="dailySaleFlow"></include>) a
+ ) alipay,
+ (select
+ sum(case a.paymethod when '现金支付' then amount else 0 end) cash
+ from (<include refid="dailySaleFlow"></include>) a
+ ) cash,
+ (select
+ sum(case a.paymethod when '银行卡' then amount else 0 end) bankCard
+ from (<include refid="dailySaleFlow"></include>) a
+ ) bankCard,
+ (select
+ sum(case a.paymethod when '团购' then amount else 0 end) tuan
+ from (<include refid="dailySaleFlow"></include>) a
+ ) tuan,
+ (select
+ sum(case a.paymethod when '本金收款' then amount else 0 end) cardBj
+ from (<include refid="dailySaleFlow"></include>) a
+ ) cardBj,
+ (select
+ sum(case a.paymethod when '赠金收款' then amount else 0 end) cardFree
+ from (<include refid="dailySaleFlow"></include>) a
+ ) cardFree,
+ (select
+ sum(case a.paymethod when '欠款' then amount else 0 end) arrears
+ from (<include refid="dailySaleFlow"></include>) a
+ ) arrears
+ from dual
+ </foreach>
+ </select>
+
+ <sql id="dailySaleFlow">
+ select sum(amount) amount, case when is_gift = 'Y' then '赠金收款' when is_gift='N' then '本金收款' else pay_method end paymethod
+ from sys_order_flow
+ where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime} ]]>
+ <if test="shopId != null">
+ and shop_id=#{shopId}
+ </if>
+ group by paymethod
+ </sql>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1