From 020911ea0df033a9c5b921d1c4938b37d9cd6fe4 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sun, 27 Dec 2020 13:23:01 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml |   84 +++++++++++++++++++++++++++++++----------
 1 files changed, 63 insertions(+), 21 deletions(-)

diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
index 7340d74..1994fd2 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
@@ -847,13 +847,15 @@
 	<select id="selectVipConsumeStatisticsList" resultMap="AchieveNewMap">
 		select
 			a.VIP_NAME,
-			d.cnt,
-			b.buyConsume,
-			b.freeConsume,
-			b.hisConsume
+			a.PHONE t9,
+			GROUP_CONCAT(DISTINCT e.su_name) meiliao,
+			d.cnt arrive_cnt,
+			sum(b.buyConsume) goods_cash,
+			sum(b.freeConsume) free_consume,
+			sum(b.hisConsume) his_consume
 		from sys_vip_info a
 		inner join (
-			select vip_id, sum(a.free_consume) freeConsume, sum(a.his_consume) hisConsume, sum(IFNULL(goods_cash, 0) + IFNULL(card_cash, 0)) buyConsume from achieve_new a group by vip_id
+			select vip_id,datatime, sum(a.free_consume) freeConsume, sum(a.his_consume) hisConsume, sum(IFNULL(goods_cash, 0) + IFNULL(card_cash, 0)) buyConsume from achieve_new a group by vip_id
 		) b on a.ID = b.vip_id
 		inner join (
 			select vip_id, count(1) cnt from (
@@ -862,20 +864,28 @@
 										 group by date_format(datatime, '%Y-%m-%d'), vip_id
 									 ) c group by vip_id
 			) d on a.ID=d.vip_id
+
+		left join sys_users e on find_in_set(e.su_id, a.BEATUY_ID)
 		where 1=1
 		<if test="record.vipName != null and record.vipName !=''">
-			and (a.vip_name like CONCAT(CONCAT('%', #{record.vipName}), '%') or a.vip_no=#{record.vipName})
+			and (a.vip_name like CONCAT(CONCAT('%', #{record.vipName}), '%') or a.vip_no=#{record.vipName} or a.phone = #{record.vipName})
 		</if>
 		<if test="record.shopId != null">
-			and a.shop_id=#{shopId}
+			and a.shop_id=#{record.shopId}
 		</if>
-		<if test="record.beginTime != null and record.endTime!=null">
-			and date_format(datatime, '%Y-%m-%d') between #{record.beginTime} and #{record.endTime}
+		<if test="record.beginTime != null">
+			and date_format(b.datatime, '%Y-%m-%d') >= date_format(#{record.beginTime}, '%Y-%m-%d')
 		</if>
-
-		<if test="record.meiliao != null and record.meiliao!=''">
-			and FIND_IN_SET(#{record.meiliao}, a.BEATUY_ID)
+		<if test="record.endTime!=null">
+			and date_format(b.datatime, '%Y-%m-%d') >= date_format(#{record.endTime}, '%Y-%m-%d')
 		</if>
+		<if test="record.beaultId != null and record.beaultId!=''">
+			and FIND_IN_SET(#{record.beaultId}, a.BEATUY_ID)
+		</if>
+		<if test='record.t1 == "on"'>
+			and a.BEATUY_ID is not null
+		</if>
+		group by a.PHONE
 		<if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
 			<if test="pageVo.sort !=null  and pageVo.order !=null">
 				order by
@@ -888,11 +898,11 @@
 		</if>
 	</select>
 
-	<select id="selectVipConsumeStatisticsTotal" resultMap="AchieveNewMap">
+	<select id="selectVipConsumeStatisticsTotal" resultType="java.lang.Integer">
 		select count(1)
 		from sys_vip_info a
 		inner join (
-		select vip_id, sum(a.free_consume) freeConsume, sum(a.his_consume) hisConsume, sum(IFNULL(goods_cash, 0) + IFNULL(card_cash, 0)) buyConsume from achieve_new a group by vip_id
+		select vip_id,datatime, sum(a.free_consume) freeConsume, sum(a.his_consume) hisConsume, sum(IFNULL(goods_cash, 0) + IFNULL(card_cash, 0)) buyConsume from achieve_new a group by vip_id
 		) b on a.ID = b.vip_id
 		inner join (
 		select vip_id, count(1) cnt from (
@@ -901,19 +911,51 @@
 		group by date_format(datatime, '%Y-%m-%d'), vip_id
 		) c group by vip_id
 		) d on a.ID=d.vip_id
+
+		left join sys_users e on find_in_set(e.su_id, a.BEATUY_ID)
 		where 1=1
 		<if test="record.vipName != null and record.vipName !=''">
-			and (a.vip_name like CONCAT(CONCAT('%', #{record.vipName}), '%') or a.vip_no=#{record.vipName})
+			and (a.vip_name like CONCAT(CONCAT('%', #{record.vipName}), '%') or a.vip_no=#{record.vipName} or a.phone = #{record.vipName})
 		</if>
 		<if test="record.shopId != null">
-			and a.shop_id=#{shopId}
+			and a.shop_id=#{record.shopId}
 		</if>
-		<if test="record.beginTime != null and record.endTime!=null">
-			and date_format(datatime, '%Y-%m-%d') between #{record.beginTime} and #{record.endTime}
+		<if test="record.beginTime != null">
+			and date_format(b.datatime, '%Y-%m-%d') >= date_format(#{record.beginTime}, '%Y-%m-%d')
 		</if>
+		<if test="record.endTime!=null">
+			and date_format(b.datatime, '%Y-%m-%d') >= date_format(#{record.endTime}, '%Y-%m-%d')
+		</if>
+		<if test="record.beaultId != null and record.beaultId!=''">
+			and FIND_IN_SET(#{record.beaultId}, a.BEATUY_ID)
+		</if>
+		<if test='record.t1 == "on"'>
+			and a.BEATUY_ID is not null
+		</if>
+	</select>
 
-		<if test="record.meiliao != null and record.meiliao!=''">
-			and FIND_IN_SET(#{record.meiliao}, a.BEATUY_ID)
-		</if>
+
+	<select id="selectUserAchieveByTime" resultType="com.matrix.system.app.vo.UserAchieveVo">
+		select
+			sale_id id,
+			sum(IFNULL(proj_cash,0) + IFNULL(goods_cash,0) + IFNULL(card_cash,0) + IFNULL(consume, 0) + IFNULL(b.arrears, 0)) orderCash,
+			sum(IFNULL(proj_cash,0) + IFNULL(goods_cash,0) + IFNULL(card_cash,0) + IFNULL(b.arrears, 0)) cash,
+			sum(IFNULL(consume, 0)) cardUse,
+			sum(IFNULL(his_consume, 0)) hisConsume,
+			sum(IFNULL(free_consume, 0)) freeConsume,
+			sum(IFNULL(proj_percentage, 0)) projCommission
+		from achieve_new a
+		left join sys_order b on a.sale_id=b.STAFF_ID and (date_format(b.ORDER_TIME, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') >= date_format(b.ORDER_TIME, '%Y-%m-%d'))
+		where sale_id=#{userId}
+		and (date_format(datatime, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') >= date_format(datatime, '%Y-%m-%d'))
+	</select>
+
+	<select id="selectApiOrderItemAchieve" resultType="com.matrix.system.app.vo.OrderDetailAchieveItemVo">
+		select
+			b.su_name name,
+			IFNULL(a.card_cash, 0) + IFNULL(a.proj_cash, 0) + IFNULL(a.goods_cash, 0) achieve
+		from achieve_new a
+		inner join sys_users b on (a.beault_id=b.su_id or a.sale_id = b.su_id)
+		where a.order_item_id=#{itemId} and order_type = '订单'
 	</select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1