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