From e971ea090aa1f320f3c3f78c3a2a8d50f16dd4d0 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Fri, 15 Jan 2021 23:38:19 +0800
Subject: [PATCH] 小程序预约接口修改

---
 zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml |  449 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 441 insertions(+), 8 deletions(-)

diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
index 5f7946e..43e968b 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
@@ -7,26 +7,459 @@
 
 
 	<!-- 人头数统计 -->
-	<select id="countVisitByTime" resultType="java.util.TreeMap">
+	<select id="customerHeadCompare" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+				SELECT count(*)  from (
+					SELECT DISTINCT vip_id  from  achieve_new where <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+					<if test="shopId !=null and shopId !=0 " >
+						and SHOP_ID = #{shopId}
+					</if>
+				) t
+			) as t${index}
+
+		</foreach>
+		from area where id=1
+	</select>
+
+	<!-- 人次统计 -->
+	<select id="customerEnterCountCompare"  resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			SELECT count(*)  from (
+			SELECT DISTINCT vip_id   ,date_format(datatime,'%Y-%m-%d') from  achieve_new where <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="shopId !=null and shopId !=0 " >
+				and SHOP_ID = #{shopId}
+			</if>
+			) t
+			) as t${index}
+
+		</foreach>
+		from area where id=1
+	</select>
+
+	<!-- 到店率 -->
+	<select id="customerEnterRateCompare"  resultType="java.util.TreeMap">
 
 		select
-
 		<foreach collection="list" index="index" item="item"   separator=","  >
 
-			SELECT count(*)  from (SELECT DISTINCT vip_id  from  achieve_new
-				where
-				<![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			ifnull( (	(
+				SELECT count(*)  from (
+				SELECT DISTINCT vip_id   ,date_format(datatime,'%Y-%m-%d') from  achieve_new where <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
 				<if test="shopId !=null and shopId !=0 " >
 					and SHOP_ID = #{shopId}
-				</if>
-			) t
+				</if>) a
+			)
+			/
+			(
+				SELECT count(*)  from (
+				SELECT DISTINCT vip_id   from  achieve_new where <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+				<if test="shopId !=null and shopId !=0 " >
+					and SHOP_ID = #{shopId}
+				</if>) b
+			)
+		),0 )as t${index}
+
+		</foreach>
+		from area where id=1
+
+	</select>
+
+	<select id="selectBusinessInCome" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select IFNULL(sum(ZK_TOTAL), 0)
+			from sys_order
+			where STATU in ('已付款', '欠款')
+			and <![CDATA[order_time > #{item.beginTime}   and  order_time < #{item.endTime} ]]>
+			<if test="companyId != null and companyId != 0">
+				and company_id=#{companyId}
+			</if>
+			<if test="shopId !=null and shopId !=0 " >
+				and SHOP_ID = #{shopId}
+			</if>
+			) as t${index}
+
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectCashIncome" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select IFNULL(sum(cash_Pay), 0)
+			from sys_order
+			where STATU in ('已付款')
+			and <![CDATA[order_time > #{item.beginTime}   and  order_time < #{item.endTime} ]]>
+			<if test="companyId != null and companyId != 0">
+				and company_id=#{companyId}
+			</if>
+			<if test="shopId !=null and shopId !=0 " >
+				and SHOP_ID = #{shopId}
+			</if>
+			) as t${index}
+
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectCardUse" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select IFNULL(sum(card_Pay), 0)
+			from sys_order
+			where STATU in ('已付款')
+			and <![CDATA[order_time > #{item.beginTime}   and  order_time < #{item.endTime} ]]>
+			<if test="companyId != null and companyId != 0">
+				and company_id=#{companyId}
+			</if>
+			<if test="shopId !=null and shopId !=0 " >
+				and SHOP_ID = #{shopId}
+			</if>
+			) as t${index}
+
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectArrears" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select IFNULL(sum(arrears), 0)
+			from sys_order
+			where STATU in ('欠款')
+			and <![CDATA[order_time > #{item.beginTime}   and  order_time < #{item.endTime} ]]>
+			<if test="companyId != null and companyId != 0">
+				and company_id=#{companyId}
+			</if>
+			<if test="shopId !=null and shopId !=0 " >
+				and SHOP_ID = #{shopId}
+			</if>
+			) as t${index}
+
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectHisConsume" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select IFNULL(sum(his_consume), 0)
+			from achieve_new
+			where order_type in ('服务单')
+			and <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="companyId != null and companyId != 0">
+				and company_id=#{companyId}
+			</if>
+			<if test="shopId !=null and shopId !=0 " >
+				and SHOP_ID = #{shopId}
+			</if>
+			) as t${index}
+
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectFreeConsume" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select IFNULL(sum(free_consume), 0)
+			from achieve_new
+			where order_type in ('服务单')
+			and <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="companyId != null and companyId != 0">
+				and company_id=#{companyId}
+			</if>
+			<if test="shopId !=null and shopId !=0 " >
+				and SHOP_ID = #{shopId}
+			</if>
+			) as t${index}
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectCashRefund" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select IFNULL(sum(cash_Pay), 0)
+			from sys_order
+			where STATU in ('退款')
+			and <![CDATA[order_time > #{item.beginTime}   and  order_time < #{item.endTime} ]]>
+			<if test="companyId != null and companyId != 0">
+				and company_id=#{companyId}
+			</if>
+			<if test="shopId !=null and shopId !=0 " >
+				and SHOP_ID = #{shopId}
+			</if>
+			) as t${index}
 
 		</foreach>
 		from area where id=1
 	</select>
 
 
+	<select id="selectCardRefund" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select IFNULL(sum(card_Pay), 0)
+			from sys_order
+			where STATU in ('退款')
+			and <![CDATA[order_time > #{item.beginTime}   and  order_time < #{item.endTime} ]]>
+			<if test="companyId != null and companyId != 0">
+				and company_id=#{companyId}
+			</if>
+			<if test="shopId !=null and shopId !=0 " >
+				and SHOP_ID = #{shopId}
+			</if>
+			) as t${index}
 
+		</foreach>
+		from area where id=1
+	</select>
 
-	</mapper>
+	<select id="selectVipAchieveInPage" resultType="com.matrix.system.app.vo.VipAchieveDataShowVo">
+		select
+			date_format(a.datatime, #{record.t1}) time,
+			ROUND(sum(IFNULL(zk_total, 0)), 2) orderAmount,
+			ROUND(sum(IFNULL(proj_cash, 0)), 2) cashAmount,
+			ROUND(sum(IFNULL(card_cash, 0)), 2) cardAmount,
+			ROUND(sum(IFNULL(goods_cash, 0)), 2) goodsAmount,
+			ROUND(sum(IFNULL(consume, 0)), 2) cardUseAmount,
+			ROUND(sum(IFNULL(his_consume, 0)), 2) hisConsume,
+			ROUND(sum(IFNULL(free_consume, 0)), 2) freeConsume,
+			ROUND(sum(IFNULL(proj_percentage, 0)), 2) commission,
+			ROUND(sum(IFNULL(number_of_people, 0)), 2) peopleNum,
+			ROUND(sum(IFNULL(proj_num, 0)), 2) projNum,
+			ROUND(sum(IFNULL(proj_time, 0)), 2) serviceTime
+		from (
+			select * from (
+				select * from (
+					select date_format(date_add(now(), INTERVAL -(@rowd := @rowd + 1) DAY), '%Y-%m-%d') datatime
+					from achieve_new a, (select @rowd := 0) t
+				) a
+			) a
+			left join (
+			select
+				date_format(a.datatime, '%Y-%m-%d') datatime1,
+				SUM((IFNULL(a.card_cash,0) +IFNULL(a.proj_cash,0) + IFNULL(a.goods_cash,0))) as zk_total,
+				SUM(IFNULL(a.proj_cash,0)) proj_cash,
+				SUM(IFNULL(a.goods_cash, 0)) goods_cash,
+				SUM(IFNULL(a.card_cash,0)) card_cash,
+				SUM(IFNULL(a.consume, 0)) consume
+				from achieve_new a where a.sale_id=#{record.vipId}
+			group by date_format(a.datatime, '%Y-%m-%d')
+			) b on a.datatime=b.datatime1
+			left join (
+			select
+				date_format(b.datatime, '%Y-%m-%d') datatime2,
+				SUM(IFNULL(b.his_consume, 0)) his_consume,
+				SUM(IFNULL(b.free_consume, 0)) free_consume,
+				SUM(IFNULL(b.proj_percentage, 0)) proj_percentage,
+				SUM(IFNULL(b.number_of_people, 0)) number_of_people,
+				SUM(IFNULL(b.proj_num, 0)) proj_num,
+				SUM(IFNULL(b.proj_time, 0)) proj_time
+			from achieve_new b where b.beault_id=#{record.vipId}
+			group by date_format(b.datatime, '%Y-%m-%d')
+			) c on a.datatime=c.datatime2
+		) a
+		group by date_format(a.datatime, #{record.t1})
+		order by a.datatime desc
+		<if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
+			<if test="pageVo.offset >=0  and pageVo.limit >0">
+				limit
+				#{pageVo.offset},#{pageVo.limit}
+			</if>
+		</if>
+	</select>
+
+	<select id="selectStaffOrderAchieve" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select
+				IFNULL(SUM((IFNULL(a.card_cash,0) +IFNULL(a.proj_cash,0) + IFNULL(a.goods_cash,0))),0)
+			from  achieve_new a
+			where   <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="staffId != null and staffId != 0">
+				and sale_id=#{staffId}
+			</if>
+			) as t${index}
+
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectStaffCashAchieve" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select
+			IFNULL(SUM((IFNULL(a.proj_cash,0))),0)
+			from  achieve_new a
+			where   <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="staffId != null and staffId != 0">
+				and sale_id=#{staffId}
+			</if>
+			) as t${index}
+
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectStaffCardAchieve" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select
+			IFNULL(SUM((IFNULL(a.card_cash,0))),0)
+			from  achieve_new a
+			where   <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="staffId != null and staffId != 0">
+				and sale_id=#{staffId}
+			</if>
+			) as t${index}
+
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectStaffGoodsAchieve" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select
+			IFNULL(SUM((IFNULL(a.goods_cash,0))),0)
+			from  achieve_new a
+			where   <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="staffId != null and staffId != 0">
+				and sale_id=#{staffId}
+			</if>
+			) as t${index}
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectStaffCardUseAchieve" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select
+			IFNULL(SUM((IFNULL(a.consume,0))),0)
+			from  achieve_new a
+			where   <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="staffId != null and staffId != 0">
+				and sale_id=#{staffId}
+			</if>
+			) as t${index}
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectStaffHisConsumeAchieve" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select
+			IFNULL(SUM((IFNULL(a.his_consume,0))),0)
+			from  achieve_new a
+			where   <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="staffId != null and staffId != 0">
+				and beault_id=#{staffId}
+			</if>
+			) as t${index}
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectStaffFreeConsumeAchieve" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select
+			IFNULL(SUM((IFNULL(a.free_consume,0))),0)
+			from  achieve_new a
+			where   <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="staffId != null and staffId != 0">
+				and beault_id=#{staffId}
+			</if>
+			) as t${index}
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectStaffCommissionAchieve" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select
+			IFNULL(SUM((IFNULL(a.proj_percentage,0))),0)
+			from  achieve_new a
+			where   <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="staffId != null and staffId != 0">
+				and beault_id=#{staffId}
+			</if>
+			) as t${index}
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectStaffPeopleNum" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select
+			IFNULL(SUM((IFNULL(a.number_of_people,0))),0)
+			from  achieve_new a
+			where   <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="staffId != null and staffId != 0">
+				and beault_id=#{staffId}
+			</if>
+			) as t${index}
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectStaffProjNum" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select
+			IFNULL(SUM((IFNULL(a.proj_num,0))),0)
+			from  achieve_new a
+			where   <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="staffId != null and staffId != 0">
+				and beault_id=#{staffId}
+			</if>
+			) as t${index}
+		</foreach>
+		from area where id=1
+	</select>
+
+	<select id="selectStaffProjTime" resultType="java.util.TreeMap">
+		select
+		<foreach collection="list" index="index" item="item"   separator=","  >
+			(
+			select
+			IFNULL(SUM((IFNULL(a.proj_time,0))),0)
+			from  achieve_new a
+			where   <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
+			<if test="staffId != null and staffId != 0">
+				and beault_id=#{staffId}
+			</if>
+			) as t${index}
+		</foreach>
+		from area where id=1
+	</select>
+</mapper>
 	

--
Gitblit v1.9.1