<?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(amount),0) from sys_order_flow 
 | 
            where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> and pay_method!='欠款' 
 | 
            <if test="shopId != null"> 
 | 
                and shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and company_id=#{companyId} 
 | 
            </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(a.amount),0) from sys_order_flow a 
 | 
            inner join sys_order b on a.order_id=b.id and b.statu!='已取消' 
 | 
            where a.pay_method not in ('储值卡', '欠款') and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and a.shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and a.company_id=#{companyId} 
 | 
            </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(amount),0) from sys_order_flow 
 | 
            where pay_method = '储值卡' and flow_type != '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and company_id=#{companyId} 
 | 
            </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(a.amount),0) from sys_order_flow a 
 | 
            inner join sys_order b on a.order_id=b.id and b.statu!='已取消' 
 | 
            where a.pay_method = '欠款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and a.shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and a.company_id=#{companyId} 
 | 
            </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(IFNULL(his_consume, 0)),0) from achieve_new 
 | 
            where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and company_id=#{companyId} 
 | 
            </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(IFNULL(free_consume, 0)),0) from achieve_new 
 | 
            where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and company_id=#{companyId} 
 | 
            </if> 
 | 
            ) as t${index} 
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectPeopleCnt" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
            select IFNULL(sum(IFNULL(number_of_people, 0)),0) from achieve_new 
 | 
            where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and company_id=#{companyId} 
 | 
            </if> 
 | 
            ) as t${index} 
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectProjConsumeCnt" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
            select IFNULL(sum(IFNULL(proj_num, 0)),0) from achieve_new 
 | 
            where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and company_id=#{companyId} 
 | 
            </if> 
 | 
            ) as t${index} 
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectTimeLength" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
            select IFNULL(sum(IFNULL(proj_time, 0)),0) from achieve_new 
 | 
            where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and company_id=#{companyId} 
 | 
            </if> 
 | 
            ) as t${index} 
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectProductAchieve" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
            select IFNULL(sum(zk_price*count),0) from sys_order_item a 
 | 
            inner join shopping_goods b on a.goods_id=b.id 
 | 
            inner join sys_order c on a.ORDER_ID=c.id and c.statu!='已取消' 
 | 
            where b.good_type='家居产品' and <![CDATA[ c.pay_time > #{item.beginTime} and c.pay_time < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and c.shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and c.company_id=#{companyId} 
 | 
            </if> 
 | 
            ) as t${index} 
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectCardAchieve" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
            select IFNULL(sum(zk_price*count),0) from sys_order_item a 
 | 
            inner join shopping_goods b on a.goods_id=b.id 
 | 
            inner join sys_order c on a.ORDER_ID=c.id and c.statu!='已取消' 
 | 
            where b.good_type!='家居产品' and <![CDATA[ c.pay_time > #{item.beginTime} and c.pay_time < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and c.shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and c.company_id=#{companyId} 
 | 
            </if> 
 | 
            ) as t${index} 
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectRepayment" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
            select IFNULL(sum(a.amount),0) from sys_order_flow a 
 | 
            inner join sys_order b on a.order_id=b.id and b.statu!='已取消' 
 | 
            where a.flow_type = '还款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and a.shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and a.company_id=#{companyId} 
 | 
            </if> 
 | 
            ) as t${index} 
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectPerCustomCnt" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
            select IFNULL(count(1),0) from sys_order 
 | 
            where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> 
 | 
            <if test="shopId != null"> 
 | 
                and shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and company_id=#{companyId} 
 | 
            </if> 
 | 
            ) as t${index} 
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectCustomGoodsCnt" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
            select case a.perCustomCnt when 0 then 0 else a.totalSaleCnt/a.perCustomCnt end from ( 
 | 
                select 
 | 
                (select IFNULL(count(1),0) from sys_order 
 | 
                    where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> 
 | 
                    <if test="shopId != null"> 
 | 
                        and shop_id=#{shopId} 
 | 
                    </if> 
 | 
                    <if test="companyId != null"> 
 | 
                        and company_id=#{companyId} 
 | 
                    </if> 
 | 
                ) perCustomCnt, 
 | 
                (select IFNULL(sum(b.COUNT),0) from sys_order a inner join sys_order_item b on a.ID=b.ORDER_ID 
 | 
                    where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> 
 | 
                    <if test="shopId != null"> 
 | 
                        and shop_id=#{shopId} 
 | 
                    </if> 
 | 
                    <if test="companyId != null"> 
 | 
                        and company_id=#{companyId} 
 | 
                    </if> 
 | 
                    ) totalSaleCnt from dual 
 | 
                ) a 
 | 
            ) as t${index} 
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectPerCustomPrice" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
            select case a.perCustomCnt when 0 then 0 else a.totalPay/a.perCustomCnt end from ( 
 | 
            select 
 | 
            (select IFNULL(count(1),0) from sys_order 
 | 
            where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> 
 | 
            <if test="shopId != null"> 
 | 
                and shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and company_id=#{companyId} 
 | 
            </if> 
 | 
            ) perCustomCnt, 
 | 
            (select IFNULL(sum(amount),0) from sys_order_flow 
 | 
            where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> and pay_method!='欠款' 
 | 
            <if test="shopId != null"> 
 | 
                and shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and company_id=#{companyId} 
 | 
            </if> 
 | 
            ) totalPay from dual 
 | 
            ) a 
 | 
            ) as t${index} 
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectCost" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
            select a.goodsCost+a.otherCost end from ( 
 | 
                select 
 | 
                    (select IFNULL(sum(e.count * d.GOODS_PRICE),0) from sys_order a 
 | 
                        inner join sys_out_store b on a.id=b.ORDER_ID 
 | 
                        inner join sys_out_store_item c on b.id=c.OUT_STORE_ID 
 | 
                        inner join sys_store_info d on c.store_id = d.ID 
 | 
                        inner join sys_order_item e on a.ID=e.ORDER_ID 
 | 
                        inner join shopping_goods f on e.goods_id=f.id and f.good_type='家居产品' 
 | 
                        where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> 
 | 
                        <if test="shopId != null"> 
 | 
                            and a.shop_id=#{shopId} 
 | 
                        </if> 
 | 
                        <if test="companyId != null"> 
 | 
                            and a.company_id=#{companyId} 
 | 
                        </if> 
 | 
                    ) goodsCost, 
 | 
                    (select IFNULL(sum(b.COUNT * IFNULL(c.price, 0)),0) from sys_order a 
 | 
                        inner join sys_order_item b on a.ID=b.ORDER_ID 
 | 
                        inner join shopping_goods c on c.good_type != '家居产品' and b.goods_id=c.id 
 | 
                        where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> 
 | 
                        <if test="shopId != null"> 
 | 
                            and a.shop_id=#{shopId} 
 | 
                        </if> 
 | 
                        <if test="companyId != null"> 
 | 
                            and a.company_id=#{companyId} 
 | 
                        </if> 
 | 
                    ) otherCost from dual 
 | 
                ) a 
 | 
            ) as t${index} 
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectGrossProfit" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
                select a.totalPay - a.goodsCost - a.otherCost end from ( 
 | 
                    select 
 | 
                    (select IFNULL(sum(e.count * d.GOODS_PRICE),0) from sys_order a 
 | 
                        inner join sys_out_store b on a.id=b.ORDER_ID 
 | 
                        inner join sys_out_store_item c on b.id=c.OUT_STORE_ID 
 | 
                        inner join sys_store_info d on c.store_id = d.ID 
 | 
                        inner join sys_order_item e on a.ID=e.ORDER_ID 
 | 
                        inner join shopping_goods f on e.goods_id=f.id and f.good_type='家居产品' 
 | 
                        where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> 
 | 
                        <if test="shopId != null"> 
 | 
                            and a.shop_id=#{shopId} 
 | 
                        </if> 
 | 
                        <if test="companyId != null"> 
 | 
                            and a.company_id=#{companyId} 
 | 
                        </if> 
 | 
                    ) goodsCost, 
 | 
                    (select IFNULL(sum(b.COUNT * IFNULL(c.price, 0)),0) from sys_order a 
 | 
                        inner join sys_order_item b on a.ID=b.ORDER_ID 
 | 
                        inner join shopping_goods c on c.good_type != '家居产品' and b.goods_id=c.id 
 | 
                        where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> 
 | 
                        <if test="shopId != null"> 
 | 
                            and a.shop_id=#{shopId} 
 | 
                        </if> 
 | 
                        <if test="companyId != null"> 
 | 
                            and a.company_id=#{companyId} 
 | 
                        </if> 
 | 
                    ) otherCost, 
 | 
                    (select IFNULL(sum(amount),0) from sys_order_flow 
 | 
                        where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> and pay_method!='欠款' 
 | 
                        <if test="shopId != null"> 
 | 
                            and shop_id=#{shopId} 
 | 
                        </if> 
 | 
                        <if test="companyId != null"> 
 | 
                            and company_id=#{companyId} 
 | 
                        </if> 
 | 
                    ) totalPay from dual 
 | 
                ) a 
 | 
            ) as t${index} 
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectGrossProfitRate" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
                select case a.totalPay when 0 then 0 else  (a.totalPay - a.goodsCost - a.otherCost)/a.totalPay end from ( 
 | 
                    select 
 | 
                    (select IFNULL(sum(e.count * d.GOODS_PRICE),0) from sys_order a 
 | 
                        inner join sys_out_store b on a.id=b.ORDER_ID 
 | 
                        inner join sys_out_store_item c on b.id=c.OUT_STORE_ID 
 | 
                        inner join sys_store_info d on c.store_id = d.ID 
 | 
                        inner join sys_order_item e on a.ID=e.ORDER_ID 
 | 
                        inner join shopping_goods f on e.goods_id=f.id and f.good_type='家居产品' 
 | 
                        where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> 
 | 
                        <if test="shopId != null"> 
 | 
                            and a.shop_id=#{shopId} 
 | 
                        </if> 
 | 
                        <if test="companyId != null"> 
 | 
                            and a.company_id=#{companyId} 
 | 
                        </if> 
 | 
                    ) goodsCost, 
 | 
                    (select IFNULL(sum(b.COUNT * IFNULL(c.price, 0)),0) from sys_order a 
 | 
                        inner join sys_order_item b on a.ID=b.ORDER_ID 
 | 
                        inner join shopping_goods c on c.good_type != '家居产品' and b.goods_id=c.id 
 | 
                        where a.STATU in ('已付款', '欠款') and a.orderType=1 and <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]> 
 | 
                        <if test="shopId != null"> 
 | 
                            and a.shop_id=#{shopId} 
 | 
                        </if> 
 | 
                        <if test="companyId != null"> 
 | 
                            and a.company_id=#{companyId} 
 | 
                        </if> 
 | 
                    ) otherCost, 
 | 
                    (select IFNULL(sum(amount),0) from sys_order_flow 
 | 
                        where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> and pay_method!='欠款' 
 | 
                        <if test="shopId != null"> 
 | 
                            and shop_id=#{shopId} 
 | 
                        </if> 
 | 
                        <if test="companyId != null"> 
 | 
                            and company_id=#{companyId} 
 | 
                        </if> 
 | 
                    ) totalPay from dual 
 | 
                ) a 
 | 
            ) 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(a.amount),0) from sys_order_flow a 
 | 
            inner join sys_order b on a.order_id=b.id and b.statu!='已取消' 
 | 
            where a.pay_method not in ('储值卡', '欠款') and a.flow_type = '退款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and a.shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and a.company_id=#{companyId} 
 | 
            </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(a.amount),0) from sys_order_flow a 
 | 
            inner join sys_order b on a.order_id=b.id and b.statu!='已取消' 
 | 
            where a.pay_method in ('储值卡') and a.flow_type = '退款' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and a.shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and a.company_id=#{companyId} 
 | 
            </if> 
 | 
            ) as t${index} 
 | 
  
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectCardAmount" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
            select IFNULL(sum(IFNULL(amount, 0)), 0) 
 | 
            from sys_order_flow a 
 | 
            inner join sys_order b on a.order_id=b.id and b.STATU!='已取消' 
 | 
            where a.pay_method='储值卡' and a.is_gift='N' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and a.shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and a.company_id=#{companyId} 
 | 
            </if> 
 | 
            ) as t${index} 
 | 
  
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectFreeAmount" resultType="java.util.TreeMap"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            ( 
 | 
            select IFNULL(sum(IFNULL(amount, 0)), 0) 
 | 
            from sys_order_flow a 
 | 
            inner join sys_order b on a.order_id=b.id and b.STATU!='已取消' 
 | 
            where a.pay_method='储值卡' and a.is_gift='Y' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> 
 | 
            <if test="shopId != null"> 
 | 
                and a.shop_id=#{shopId} 
 | 
            </if> 
 | 
            <if test="companyId != null"> 
 | 
                and a.company_id=#{companyId} 
 | 
            </if> 
 | 
            ) as t${index} 
 | 
  
 | 
        </foreach> 
 | 
        from area where id=1 
 | 
    </select> 
 | 
  
 | 
    <select id="selectVipAchieveInPage" resultType="com.matrix.system.app.vo.VipAchieveDataShowVo"> 
 | 
        <foreach collection="list" index="index" item="item"   separator="union all"  > 
 | 
            select 
 | 
                #{item.beginTime} time, 
 | 
                (select ifnull(sum(ifnull(card_cash,0) + ifnull(consume,0)),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) orderAmount, 
 | 
                (select ifnull(sum(case a.pay_method when '现金' then goods_cash else 0 end),0) 
 | 
                    from achieve_new a 
 | 
                    inner join sys_order_item b on a.order_item_id=b.ID 
 | 
                where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cashAmount, 
 | 
                (select ifnull(sum(case a.pay_method when '划扣' then goods_cash else 0 end),0) 
 | 
                    from achieve_new a 
 | 
                    inner join sys_order_item b on a.order_item_id=b.ID 
 | 
                where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cardAmount, 
 | 
                (select ifnull(sum(case a.pay_method when '划扣' then goods_cash else 0 end),0) 
 | 
                    from achieve_new a 
 | 
                    inner join sys_order_item b on a.order_item_id=b.ID 
 | 
                where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cardUseAmount, 
 | 
                (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"> 
 | 
        select 
 | 
        <foreach collection="list" index="index" item="item"   separator=","  > 
 | 
            (select ifnull(sum(ifnull(card_cash,0) + ifnull(consume,0)),0) 
 | 
                from achieve_new a 
 | 
                where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> 
 | 
                <if test="staffId != null and staffId != 0"> 
 | 
                    and a.beault_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(case a.pay_method when '现金' then goods_cash else 0 end),0) 
 | 
                from achieve_new a 
 | 
                inner join sys_order_item b on a.order_item_id=b.ID 
 | 
            where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> 
 | 
            <if test="staffId != null and staffId != 0"> 
 | 
                and a.beault_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(case a.pay_method when '划扣' then goods_cash else 0 end),0) 
 | 
                from achieve_new a 
 | 
                inner join sys_order_item b on a.order_item_id=b.ID 
 | 
            where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> 
 | 
            <if test="staffId != null and staffId != 0"> 
 | 
                and a.beault_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(proj_percentage, 0)),0) 
 | 
                from achieve_new a 
 | 
                where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> and order_type='订单' 
 | 
            <if test="staffId != null and staffId != 0"> 
 | 
                and a.beault_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(proj_percentage, 0)),0) from achieve_new a 
 | 
                where  <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> and order_type='服务单' 
 | 
                <if test="staffId != null and staffId != 0"> 
 | 
                    and a.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> 
 | 
     
 |