From 83be430710bd0269cfc781ab241ff2aba93106f0 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 06 Jan 2021 16:06:43 +0800
Subject: [PATCH] modify
---
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml | 140 +++++++++++++++++++++++++++++++++++++++-------
1 files changed, 119 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..5449871 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,107 @@
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>
+
+ <select id="selectShopConsumeAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo">
+ select
+ b.shop_short_name name,
+ b.SHOP_IMAG photo,
+ sum(IFNULL(a.free_consume,0) + IFNULL(a.consume,0) + IFNULL(a.his_consume,0)) amount
+ from achieve_new a
+ left join sys_shop_info b on a.shop_id=b.ID
+ <where>
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
+ <if test='record.t1 == "1" and record.datatime != null'>
+ and date_format(datatime, '%Y-%m-%d') = date_format(#{record.datatime}, '%Y-%m-%d')
+ </if>
+ <if test='record.t1 == "2" and record.datatime != null'>
+ and date_format(datatime, '%Y-%m') = date_format(#{record.datatime}, '%Y-%m')
+ </if>
+ <if test='record.t1 == "3" and record.datatime != null'>
+ and date_format(datatime, '%Y') = date_format(#{record.datatime}, '%Y')
+ </if>
+ </where>
+ group by a.shop_id
+ order by amount desc, a.shop_id
+ </select>
+
+ <select id="selectBeauticianConsumeAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo">
+ select
+ b.su_name name,
+ b.su_id id,
+ sum(IFNULL(a.free_consume,0) + IFNULL(a.his_consume, 0) + IFNULL(a.consume, 0)) amount,
+ c.shop_short_name shopName
+ from achieve_new a
+ inner join sys_users b on a.beault_id=b.su_id
+ left join sys_shop_info c on a.shop_id=c.ID
+ <where>
+ a.order_type='服务单'
+ <if test="record.companyId != null">
+ and a.company_id=#{record.companyId}
+ </if>
+ <if test="record.shopId != null">
+ and a.shop_id=#{record.shopId}
+ </if>
+ <if test='record.t1 == "1" and record.datatime != null'>
+ and date_format(datatime, '%Y-%m-%d') = date_format(#{record.datatime}, '%Y-%m-%d')
+ </if>
+ <if test='record.t1 == "2" and record.datatime != null'>
+ and date_format(datatime, '%Y-%m') = date_format(#{record.datatime}, '%Y-%m')
+ </if>
+ <if test='record.t1 == "3" and record.datatime != null'>
+ and date_format(datatime, '%Y') = date_format(#{record.datatime}, '%Y')
+ </if>
+ </where>
+ group by a.beault_id
+ order by amount desc
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1