jyy
2021-08-02 28cfa033f4c9e7e8639d9acb8f3c75688a3e539d
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
@@ -865,40 +865,36 @@
   </select>
   <select id="selectVipConsumeStatisticsList" resultMap="AchieveNewMap">
   <select id="selectVipConsumeStatisticsList" resultType="java.util.HashMap">
      select
         a.VIP_NAME,
      a.VIP_NAME vipName,
         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
      b.su_name meiliao,
      (SELECT  sum(IFNULL(goods_cash,0)) from achieve_new where  pay_method='现金' and  VIP_ID=a.id
      <if test="record.beginTime != null"> and date_format(datatime, '%Y-%m-%d') >= date_format(#{record.beginTime}, '%Y-%m-%d') </if>
      <if test="record.endTime != null"> <![CDATA[ and date_format(datatime, '%Y-%m-%d') < date_format(#{record.endTime}, '%Y-%m-%d') ]]>    </if> )  as 'goodsCash'  ,
      (SELECT  sum(IFNULL(goods_cash,0)) from achieve_new where  pay_method='划扣' and  VIP_ID=a.id
      <if test="record.beginTime != null"> and date_format(datatime, '%Y-%m-%d') >= date_format(#{record.beginTime}, '%Y-%m-%d') </if>
      <if test="record.endTime != null"> <![CDATA[ and date_format(datatime, '%Y-%m-%d') < date_format(#{record.endTime}, '%Y-%m-%d') ]]>    </if>)  as 'cardCash'  ,
      (SELECT  sum(IFNULL(free_consume,0)) from achieve_new where   VIP_ID=a.id
      <if test="record.beginTime != null"> and date_format(datatime, '%Y-%m-%d') >= date_format(#{record.beginTime}, '%Y-%m-%d') </if>
      <if test="record.endTime != null"> <![CDATA[ and date_format(datatime, '%Y-%m-%d') < date_format(#{record.endTime}, '%Y-%m-%d') ]]>    </if>  )  as 'freeConsume'  ,
      (SELECT  sum(IFNULL(number_of_people,0)) from achieve_new where   VIP_ID=a.id
      <if test="record.beginTime != null"> and date_format(datatime, '%Y-%m-%d') >= date_format(#{record.beginTime}, '%Y-%m-%d') </if>
      <if test="record.endTime != null"> <![CDATA[ and date_format(datatime, '%Y-%m-%d') < date_format(#{record.endTime}, '%Y-%m-%d') ]]>    </if>  )  as 'arriveCnt'  ,
      (SELECT  sum(IFNULL(his_consume,0)) from achieve_new where   VIP_ID=a.id
      <if test="record.beginTime != null"> and date_format(datatime, '%Y-%m-%d') >= date_format(#{record.beginTime}, '%Y-%m-%d') </if>
      <if test="record.endTime != null"> <![CDATA[ and date_format(datatime, '%Y-%m-%d') < date_format(#{record.endTime}, '%Y-%m-%d') ]]>    </if> )  as 'hisConsume'
      from sys_vip_info a
      inner join (
         select vip_id,datatime, sum(a.free_consume) freeConsume, sum(a.his_consume) hisConsume, sum(IFNULL(goods_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 (
                               select vip_id, date_format(datatime, '%Y-%m-%d')
                               from achieve_new
                               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 b on a.BEATUY_ID=b.su_id
      inner join sys_shop_info c on c.id=a.SHOP_ID
      <where>
      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} or a.phone = #{record.vipName})
      </if>
      <if test="record.shopId != null">
         and a.shop_id=#{record.shopId}
      </if>
      <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)
@@ -906,7 +902,7 @@
      <if test='record.t1 == "on"'>
         and a.BEATUY_ID is not null
      </if>
      group by a.PHONE
      </where>
      <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
         <if test="pageVo.sort !=null  and pageVo.order !=null">
            order by
@@ -922,30 +918,15 @@
   <select id="selectVipConsumeStatisticsTotal" resultType="java.lang.Integer">
      select count(1)
      from sys_vip_info a
      inner join (
      select vip_id,datatime, sum(a.free_consume) freeConsume, sum(a.his_consume) hisConsume, sum(IFNULL(goods_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 (
      select vip_id, date_format(datatime, '%Y-%m-%d')
      from achieve_new
      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 b on a.BEATUY_ID=b.su_id
      inner join sys_shop_info c on c.id=a.SHOP_ID
      <where>
      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} or a.phone = #{record.vipName})
      </if>
      <if test="record.shopId != null">
         and a.shop_id=#{record.shopId}
      </if>
      <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)
@@ -953,6 +934,7 @@
      <if test='record.t1 == "on"'>
         and a.BEATUY_ID is not null
      </if>
      </where>
   </select>