From e423d56d730db1baed24f3f7dbbc4141038776b6 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Fri, 18 Jun 2021 22:12:03 +0800
Subject: [PATCH] 修复每日业绩bug和优化赠送业绩计算方式
---
zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml | 122 +++++++++++++++++++++++++---------------
1 files changed, 76 insertions(+), 46 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 a857e67..ddb5b13 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml
@@ -624,64 +624,70 @@
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!='欠款'
+ (select IFNULL(sum(a.amount),0) from sys_order_flow a
+ inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
+ where <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> and a.pay_method!='欠款'
<if test="shopId != null">
- and shop_id=#{shopId}
+ and a.shop_id=#{shopId}
</if>
<if test="companyId != null">
- and company_id=#{companyId}
+ and a.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}]]>
+ (select IFNULL(sum(a.amount),0) from sys_order_flow a
+ inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
+ where a.pay_method not in ('储值卡', '欠款') and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
<if test="shopId != null">
- and shop_id=#{shopId}
+ and a.shop_id=#{shopId}
</if>
<if test="companyId != null">
- and company_id=#{companyId}
+ and a.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}]]>
+ (select IFNULL(sum(a.amount),0) from sys_order_flow a
+ inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
+ where a.pay_method = '储值卡' and a.flow_type != '退款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
<if test="shopId != null">
- and shop_id=#{shopId}
+ and a.shop_id=#{shopId}
</if>
<if test="companyId != null">
- and company_id=#{companyId}
+ and a.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}]]>
+ (select IFNULL(sum(a.amount),0) from sys_order_flow a
+ inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
+ where a.pay_method = '欠款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
<if test="shopId != null">
- and shop_id=#{shopId}
+ and a.shop_id=#{shopId}
</if>
<if test="companyId != null">
- and company_id=#{companyId}
+ and a.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}]]>
+ (select IFNULL(sum(a.amount),0) from sys_order_flow a
+ inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
+ where a.pay_method not in ('储值卡', '欠款') and a.flow_type = '退款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
<if test="shopId != null">
- and shop_id=#{shopId}
+ and a.shop_id=#{shopId}
</if>
<if test="companyId != null">
- and company_id=#{companyId}
+ and a.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}]]>
+ (select IFNULL(sum(a.amount),0) from sys_order_flow a
+ inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
+ where a.pay_method in ('储值卡') and a.flow_type = '退款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
<if test="shopId != null">
- and shop_id=#{shopId}
+ and a.shop_id=#{shopId}
</if>
<if test="companyId != null">
- and company_id=#{companyId}
+ and a.company_id=#{companyId}
</if>
) refundCardPay,
- (select IFNULL(sum(zk_price),0) from sys_order_item a
+ (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}]]>
+ inner join sys_order c on a.ORDER_ID=c.id and c.statu!='已取消'
+ where b.good_type='家居产品' and <![CDATA[ c.pay_time > #{item.beginTime} and c.pay_time < #{item.endTime}]]>
<if test="shopId != null">
and c.shop_id=#{shopId}
</if>
@@ -689,10 +695,10 @@
and c.company_id=#{companyId}
</if>
) productAchieve,
- (select IFNULL(sum(zk_price),0) from sys_order_item a
+ (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}]]>
+ inner join sys_order c on a.ORDER_ID=c.id and c.statu!='已取消'
+ where b.good_type!='家居产品' and <![CDATA[ c.pay_time > #{item.beginTime} and c.pay_time < #{item.endTime}]]>
<if test="shopId != null">
and c.shop_id=#{shopId}
</if>
@@ -700,16 +706,40 @@
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}]]>
+ (select IFNULL(sum(a.amount),0) from sys_order_flow a
+ inner join sys_order b on a.order_id=b.id and b.statu!='已取消'
+ where a.flow_type = '还款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
<if test="shopId != null">
- and shop_id=#{shopId}
+ and a.shop_id=#{shopId}
</if>
<if test="companyId != null">
- and company_id=#{companyId}
+ and a.company_id=#{companyId}
</if>
) refund,
+ (select sum(IFNULL(amount, 0))
+ from sys_order_flow a
+ inner join sys_order b on a.order_id=b.id and b.STATU!='已取消'
+ where a.pay_method='储值卡' and a.is_gift='N' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and a.shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and a.company_id=#{companyId}
+ </if>
+ ) cardAmount,
+ (select sum(IFNULL(amount, 0))
+ from sys_order_flow a
+ inner join sys_order b on a.order_id=b.id and b.STATU!='已取消'
+ where a.pay_method='储值卡' and a.is_gift='Y' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]>
+ <if test="shopId != null">
+ and a.shop_id=#{shopId}
+ </if>
+ <if test="companyId != null">
+ and a.company_id=#{companyId}
+ </if>
+ ) cardFreeAmount,
(select IFNULL(count(1),0) from sys_order
- where STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
+ where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
<if test="shopId != null">
and shop_id=#{shopId}
</if>
@@ -718,7 +748,7 @@
</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} ]]>
+ where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
<if test="shopId != null">
and shop_id=#{shopId}
</if>
@@ -732,7 +762,7 @@
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} ]]>
+ where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
<if test="shopId != null">
and a.shop_id=#{shopId}
</if>
@@ -743,7 +773,7 @@
(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} ]]>
+ where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
<if test="shopId != null">
and a.shop_id=#{shopId}
</if>
@@ -806,7 +836,7 @@
#{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}]]>
+ where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]>
<if test="shopId != null">
and shop_id=#{shopId}
</if>
@@ -847,18 +877,18 @@
and shop_id=#{shopId}
</if>
) refundCardPay,
- (select IFNULL(sum(zk_price),0) from sys_order_item a
+ (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}]]>
+ where b.good_type='家居产品' and <![CDATA[ c.pay_time > #{item.beginTime} and c.pay_time < #{item.endTime}]]>
<if test="shopId != null">
and c.shop_id=#{shopId}
</if>
) productAchieve,
- (select IFNULL(sum(zk_price),0) from sys_order_item a
+ (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}]]>
+ where b.good_type!='家居产品' and <![CDATA[ c.pay_time > #{item.beginTime} and c.pay_time < #{item.endTime}]]>
<if test="shopId != null">
and c.shop_id=#{shopId}
</if>
@@ -869,13 +899,13 @@
</if>
) refund,
(select IFNULL(count(1),0) from sys_order
- where STATU in ('已付款', '欠款') and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
+ where STATU in ('已付款', '欠款') and orderType=1 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} ]]>
+ where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
<if test="shopId != null">
and shop_id=#{shopId}
</if>
@@ -886,7 +916,7 @@
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} ]]>
+ where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
<if test="shopId != null">
and a.shop_id=#{shopId}
</if>
@@ -894,7 +924,7 @@
(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} ]]>
+ where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
<if test="shopId != null">
and a.shop_id=#{shopId}
</if>
--
Gitblit v1.9.1