From 4c47534eda0702136016312666b46578bfb6368b Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sun, 20 Dec 2020 16:30:39 +0800
Subject: [PATCH] Merge branch 'ty_urgent' into test
---
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 104 insertions(+), 0 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 361aeb2..c8ab5b1 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
@@ -48,6 +48,8 @@
<result property="meiliao" column="meiliao" />
<result property="zkTotal" column="zk_total" />
+ <result property="arriveCnt" column="arrive_cnt" />
+
</resultMap>
@@ -113,8 +115,20 @@
<if test="(record.endTime!=null )">
and a.datatime <![CDATA[ < ]]> #{record.endTime}
</if>
+ <if test="record.beaultId != null and record.beaultId !='' ">
+ and a.beault_id = #{record.beaultId}
+ </if>
<if test="record.companyId != null and record.companyId !='' ">
and a.company_id = #{record.companyId}
+ </if>
+ <if test="record.beaultId != null and record.beaultId !='' ">
+ and a.beault_id = #{record.beaultId}
+ </if>
+ <if test="record.vipQueryKey != null and record.vipQueryKey != '' ">
+ and c.VIP_NAME like concat('%',#{record.vipQueryKey},'%')
+ or (c.VIP_NO like concat('%',#{record.vipQueryKey},'%')
+ or c.PHONE like concat('%',#{record.vipQueryKey},'%')
+ )
</if>
</if>
</where>
@@ -168,6 +182,15 @@
</if>
<if test="record.companyId != null and record.companyId !='' ">
and a.company_id = #{record.companyId}
+ </if>
+ <if test="record.beaultId != null and record.beaultId !='' ">
+ and a.beault_id = #{record.beaultId}
+ </if>
+ <if test="record.vipQueryKey != null and record.vipQueryKey != '' ">
+ and c.VIP_NAME like concat('%',#{record.vipQueryKey},'%')
+ or (c.VIP_NO like concat('%',#{record.vipQueryKey},'%')
+ or c.PHONE like concat('%',#{record.vipQueryKey},'%')
+ )
</if>
</if>
</where>
@@ -819,4 +842,85 @@
where 1=1
<include refid="where_sql"></include>
</select>
+
+
+ <select id="selectVipConsumeStatisticsList" resultMap="AchieveNewMap">
+ select
+ a.VIP_NAME,
+ 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,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 (
+ select vip_id, date_format(datatime, '%Y-%m-%d')
+ from achieve_new
+ 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} or a.phone = #{record.vipName})
+ </if>
+ <if test="record.shopId != null">
+ and a.shop_id=#{record.shopId}
+ </if>
+ <if test="record.beginTime != null and record.endTime!=null">
+ and date_format(b.datatime, '%Y-%m-%d') between #{record.beginTime} and #{record.endTime}
+ </if>
+
+ <if test="record.beaultId != null and record.beaultId!=''">
+ and FIND_IN_SET(#{record.beaultId}, a.BEATUY_ID)
+ </if>
+ group by a.PHONE
+ <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
+ <if test="pageVo.sort !=null and pageVo.order !=null">
+ order by
+ ${pageVo.sort} ${pageVo.order}
+ </if>
+ <if test="pageVo.offset >=0 and pageVo.limit >0">
+ limit
+ #{pageVo.offset},#{pageVo.limit}
+ </if>
+ </if>
+ </select>
+
+ <select id="selectVipConsumeStatisticsTotal" resultType="java.lang.Integer">
+ select count(1)
+ from sys_vip_info a
+ inner join (
+ 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 (
+ select vip_id, date_format(datatime, '%Y-%m-%d')
+ from achieve_new
+ 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} or a.phone = #{record.vipName})
+ </if>
+ <if test="record.shopId != null">
+ and a.shop_id=#{record.shopId}
+ </if>
+ <if test="record.beginTime != null and record.endTime!=null">
+ and date_format(b.datatime, '%Y-%m-%d') between #{record.beginTime} and #{record.endTime}
+ </if>
+
+ <if test="record.beaultId != null and record.beaultId!=''">
+ and FIND_IN_SET(#{record.beaultId}, a.BEATUY_ID)
+ </if>
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1