From a9bb3348487c4a75c6a74a4d84f3a8afe9858d0c Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Sat, 19 Dec 2020 15:53:24 +0800 Subject: [PATCH] Merge branch 'ty_urgent' into test --- zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 104 insertions(+), 0 deletions(-) diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml index 361aeb2..c8ab5b1 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml @@ -48,6 +48,8 @@ <result property="meiliao" column="meiliao" /> <result property="zkTotal" column="zk_total" /> + <result property="arriveCnt" column="arrive_cnt" /> + </resultMap> @@ -113,8 +115,20 @@ <if test="(record.endTime!=null )"> and a.datatime <![CDATA[ < ]]> #{record.endTime} </if> + <if test="record.beaultId != null and record.beaultId !='' "> + and a.beault_id = #{record.beaultId} + </if> <if test="record.companyId != null and record.companyId !='' "> and a.company_id = #{record.companyId} + </if> + <if test="record.beaultId != null and record.beaultId !='' "> + and a.beault_id = #{record.beaultId} + </if> + <if test="record.vipQueryKey != null and record.vipQueryKey != '' "> + and c.VIP_NAME like concat('%',#{record.vipQueryKey},'%') + or (c.VIP_NO like concat('%',#{record.vipQueryKey},'%') + or c.PHONE like concat('%',#{record.vipQueryKey},'%') + ) </if> </if> </where> @@ -168,6 +182,15 @@ </if> <if test="record.companyId != null and record.companyId !='' "> and a.company_id = #{record.companyId} + </if> + <if test="record.beaultId != null and record.beaultId !='' "> + and a.beault_id = #{record.beaultId} + </if> + <if test="record.vipQueryKey != null and record.vipQueryKey != '' "> + and c.VIP_NAME like concat('%',#{record.vipQueryKey},'%') + or (c.VIP_NO like concat('%',#{record.vipQueryKey},'%') + or c.PHONE like concat('%',#{record.vipQueryKey},'%') + ) </if> </if> </where> @@ -819,4 +842,85 @@ where 1=1 <include refid="where_sql"></include> </select> + + + <select id="selectVipConsumeStatisticsList" resultMap="AchieveNewMap"> + select + a.VIP_NAME, + 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 + 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) + IFNULL(card_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 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 record.endTime!=null"> + and date_format(b.datatime, '%Y-%m-%d') between #{record.beginTime} and #{record.endTime} + </if> + + <if test="record.beaultId != null and record.beaultId!=''"> + and FIND_IN_SET(#{record.beaultId}, a.BEATUY_ID) + </if> + group by a.PHONE + <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> + <if test="pageVo.sort !=null and pageVo.order !=null"> + order by + ${pageVo.sort} ${pageVo.order} + </if> + <if test="pageVo.offset >=0 and pageVo.limit >0"> + limit + #{pageVo.offset},#{pageVo.limit} + </if> + </if> + </select> + + <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) + IFNULL(card_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 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 record.endTime!=null"> + and date_format(b.datatime, '%Y-%m-%d') between #{record.beginTime} and #{record.endTime} + </if> + + <if test="record.beaultId != null and record.beaultId!=''"> + and FIND_IN_SET(#{record.beaultId}, a.BEATUY_ID) + </if> + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1