jyy
2021-01-16 de589b98ff007afdcec9d6cef5d1a2b168031b98
zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
@@ -229,58 +229,21 @@
   </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 (
      <foreach collection="list" index="index" item="item"   separator="union all"  >
         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>
            #{item.beginTime} time,
            (select ifnull(sum(card_cash),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) orderAmount,
            (select ifnull(sum(case t3 when '现金业绩' then card_cash else 0 end),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cashAmount,
            (select ifnull(sum(case t3 when '划扣业绩' then card_cash else 0 end),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cardAmount,
            (select ifnull(sum(ifnull(proj_percentage, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> and order_type='订单') goodsAmount,
            (select ifnull(sum(ifnull(his_consume, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) hisConsume,
            (select ifnull(sum(ifnull(free_consume, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) freeConsume,
            (select ifnull(sum(ifnull(proj_percentage, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> and order_type='服务单') commission,
            (select ifnull(sum(ifnull(number_of_people, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) peopleNum,
            (select ifnull(sum(ifnull(proj_num, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) projNum,
            (select ifnull(sum(ifnull(proj_time, 0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) serviceTime
         from dual
      </foreach>
   </select>
   <select id="selectStaffOrderAchieve" resultType="java.util.TreeMap">