<?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>
|
|