| <?xml version="1.0" encoding="UTF-8"?> | 
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  | 
| "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 
|   | 
| <mapper namespace="com.matrix.system.hiveErp.dao.TjVipSumDao"> | 
|   | 
|   | 
|   | 
|     <!-- 人头数统计 --> | 
|     <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=","  > | 
|   | 
|             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>) 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> | 
|   | 
|     <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> | 
|      |