Helius
2020-12-30 eab874580586bb589d73f61df7a4ce10252a0110
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<?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=17
            </if>
            <if test="shopId !=null and shopId !=0 " >
                and SHOP_ID = #{shopId}
            </if>
            ) as t${index}
 
        </foreach>
        from area where id=1
    </select>
 
</mapper>