<?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.hive.dao.AchieveNewDao"> 
 | 
    <!-- 定义AchieveNew 的复杂关联map --> 
 | 
    <resultMap type="com.matrix.system.hive.bean.AchieveNew" id="AchieveNewMap"> 
 | 
        <id property="id" column="id" /> 
 | 
        <result property="saleId" column="sale_id" /> 
 | 
        <result property="beaultId" column="beault_id" /> 
 | 
        <result property="shopId" column="shop_id" /> 
 | 
        <result property="datatime" column="datatime" /> 
 | 
        <result property="orderId" column="order_id" /> 
 | 
        <result property="orderItemId" column="order_item_id" /> 
 | 
        <result property="shoppingGoodsId" column="shopping_goods_id" /> 
 | 
        <result property="serviceOrderId" column="service_order_id" /> 
 | 
        <result property="vipId" column="vip_id" /> 
 | 
        <result property="freeConsume" column="free_consume" /> 
 | 
        <result property="hisConsume" column="his_consume" /> 
 | 
        <result property="goodsCash" column="goods_cash" /> 
 | 
        <result property="cardCash" column="card_cash" /> 
 | 
        <result property="projNum" column="proj_num" /> 
 | 
        <result property="numberOfPeople" column="number_of_people" /> 
 | 
        <result property="shopName" column="shop_name" /> 
 | 
        <result property="projTime" column="proj_time" /> 
 | 
        <result property="remark" column="remark" /> 
 | 
        <result property="orderType" column="order_type" /> 
 | 
        <result property="projPercentage" column="proj_percentage" /> 
 | 
        <result property="t1" column="t1" /> 
 | 
        <result property="t2" column="t2" /> 
 | 
        <result property="achieveType" column="achieveType" /> 
 | 
        <result property="t4" column="t4" /> 
 | 
        <result property="t5" column="t5" /> 
 | 
        <result property="t6" column="t6" /> 
 | 
        <result property="t8" column="t8" /> 
 | 
        <result property="t9" column="t9" /> 
 | 
        <result property="companyId" column="company_id" /> 
 | 
  
 | 
        <result property="year" column="year" /> 
 | 
        <result property="month" column="month" /> 
 | 
        <result property="orderNo" column="order_no" /> 
 | 
        <result property="levelName" column="level_name" /> 
 | 
        <result property="vipName" column="vip_name" /> 
 | 
        <result property="proName" column="pro_name" /> 
 | 
        <result property="guwen" column="guwen" /> 
 | 
        <result property="meiliao" column="meiliao" /> 
 | 
        <result property="zkTotal" column="zk_total" /> 
 | 
        <result property="payMethod" column="pay_method" /> 
 | 
        <result property="arriveCnt" column="arrive_cnt" /> 
 | 
  
 | 
        <result property="goodsNo" column="goodsNo" /> 
 | 
        <result property="goodsName" column="goodsName" /> 
 | 
  
 | 
        <result property="cateName" column="cateName" /> 
 | 
        <result property="achieveRuleName" column="achieveRuleName" /> 
 | 
  
 | 
    </resultMap> 
 | 
  
 | 
    <select id="findDayFlow" resultMap="AchieveNewMap"> 
 | 
        select 
 | 
        a.datatime, 
 | 
        YEAR (a.datatime) year, 
 | 
        MONTH (a.datatime) month, 
 | 
        DAY(a.datatime) 
 | 
        day, 
 | 
        IFNULL(b.order_no,l.SERVICE_NO) as order_no, 
 | 
        d.level_name, 
 | 
        c.vip_name, 
 | 
        e.name as pro_name, 
 | 
        b.ZK_TOTAL as zk_total, 
 | 
        a.his_consume, 
 | 
        er.name as achieveRuleName, 
 | 
        a.free_consume, 
 | 
        f.su_name meiliao, 
 | 
        g.su_name guwen, 
 | 
        a.proj_percentage, 
 | 
        a.number_of_people, 
 | 
        a.proj_num, 
 | 
        a.proj_time, 
 | 
        i.name as cateName, 
 | 
        h.shop_short_name shop_name, 
 | 
        a.order_type, 
 | 
        a.achieveType, 
 | 
        case when a.pay_method = '现金' then goods_cash end goods_cash, 
 | 
        case when a.pay_method = '划扣' then goods_cash end card_cash, 
 | 
        j.pay_method 
 | 
        from 
 | 
        achieve_new a 
 | 
        left join sys_order b on a.order_id=b.id 
 | 
        left join sys_vip_info c on a.vip_id=c.id 
 | 
        left join sys_vip_level d on c.LEVEL_ID=d.id 
 | 
        left join shopping_goods e on a.shopping_goods_id=e.id 
 | 
        left join achieve_rule er on e.achieve_rule_id=er.id 
 | 
        LEFT JOIN sys_users f on a.beault_id=f.su_id 
 | 
        LEFT JOIN sys_users g on a.sale_id = g.su_id 
 | 
        LEFT JOIN sys_shop_info h ON a.SHOP_ID = h.ID 
 | 
        LEFT JOIN shopping_goods_category i ON e.cate_id = i.id 
 | 
        left join sys_proj_services l on a.service_order_id=l.id 
 | 
        left join sys_order_item j on a.order_item_id=j.ID 
 | 
        <where> 
 | 
            and    a.company_id = #{record.companyId} 
 | 
            <if test="record!=null"> 
 | 
                <if 
 | 
                        test="(record.shopId!=null and record.shopId!='') or  (record.shopId!='' and record.shopId==0)  "> 
 | 
                    and a.shop_id = #{record.shopId} 
 | 
                </if> 
 | 
                <if test="record.achieveRuleId != null  "> 
 | 
                    and e.achieve_rule_id = #{record.achieveRuleId} 
 | 
                </if> 
 | 
                <if test="record.year != null and record.year !='' "> 
 | 
                    and YEAR (a.datatime) = #{record.year} 
 | 
                </if> 
 | 
                <if test="record.month != null and record.month !='' "> 
 | 
                    and MONTH (a.datatime) = #{record.month} 
 | 
                </if> 
 | 
                <if test="record.day != null  and record.day !=''  "> 
 | 
                    and DAY(a.datatime) = #{record.day} 
 | 
                </if> 
 | 
                <if test="(record.beginTime!=null  )"> 
 | 
                    and a.datatime <![CDATA[ > ]]>  #{record.beginTime} 
 | 
                </if> 
 | 
                <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.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> 
 | 
        <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="findDayFlowTotal" 
 | 
            resultType="java.lang.Integer"> 
 | 
        select count(*) 
 | 
        from 
 | 
        achieve_new a 
 | 
        left join sys_order b on a.order_id=b.id 
 | 
        left join sys_vip_info c on a.vip_id=c.id 
 | 
        left join sys_vip_level d on c.LEVEL_ID=d.id 
 | 
        left join shopping_goods e on a.shopping_goods_id=e.id 
 | 
        LEFT JOIN sys_users f on a.beault_id=f.su_id 
 | 
        LEFT JOIN sys_users g on a.sale_id = g.su_id 
 | 
        LEFT JOIN sys_shop_info h ON a.SHOP_ID = h.ID 
 | 
        LEFT JOIN shopping_goods_category i ON e.cate_id = i.id 
 | 
        left join sys_proj_services l on a.service_order_id=l.id 
 | 
        <where> 
 | 
            <if test="record!=null"> 
 | 
                <if 
 | 
                        test="(record.shopId!=null and record.shopId!='') or  (record.shopId!='' and record.shopId==0)  "> 
 | 
                    and a.shop_id = #{record.shopId} 
 | 
                </if> 
 | 
                <if test="record.year != null and record.year !='' "> 
 | 
                    and YEAR (a.datatime) = #{record.year} 
 | 
                </if> 
 | 
                <if test="record.month != null and record.month !='' "> 
 | 
                    and MONTH (a.datatime) = #{record.month} 
 | 
                </if> 
 | 
                <if test="record.day != null   and record.day !='' "> 
 | 
                    and DAY(a.datatime) = #{record.day} 
 | 
                </if> 
 | 
                <if test="record.beginTime!=null "> 
 | 
                    and a.datatime <![CDATA[ > ]]>  #{record.beginTime} 
 | 
                </if> 
 | 
                <if test="record.endTime!=null"> 
 | 
                    and a.datatime <![CDATA[ < ]]> #{record.endTime} 
 | 
                </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> 
 | 
    </select> 
 | 
  
 | 
    <!-- 
 | 
  
 | 
     统计员工业绩 
 | 
  
 | 
    select 
 | 
            u.name, 
 | 
            g.su_name guwen, 
 | 
            cast(SUM(b.ZK_TOTAL) AS decimal(15,2)) as zk_total, 
 | 
            cast(SUM(a.his_consume) AS decimal(15,2)), 
 | 
            cast(SUM(a.free_consume) AS decimal(15,2)), 
 | 
            cast(SUM(a.proj_percentage) AS decimal(15,2)), 
 | 
            cast(SUM(a.number_of_people) AS decimal(15,2)), 
 | 
            cast(SUM(a.proj_num) AS decimal(15,2)), 
 | 
            cast(SUM(a.proj_time) AS decimal(15,2)), 
 | 
            h.shop_short_name shop_name, 
 | 
            a.order_type, 
 | 
            a.achieveType 
 | 
            from 
 | 
            achieve_new a 
 | 
            left join sys_order b on a.order_id=b.id 
 | 
            left join sys_vip_info c on a.vip_id=c.id 
 | 
            left join sys_vip_level d on c.LEVEL_ID=d.id 
 | 
            left join shopping_goods e on a.shopping_goods_id=e.id 
 | 
            LEFT JOIN sys_users f on a.beault_id=f.su_id 
 | 
            LEFT JOIN sys_users g on a.sale_id = g.su_id 
 | 
            LEFT JOIN sys_shop_info h ON a.SHOP_ID = h.ID 
 | 
            LEFT JOIN shopping_goods_category i ON e.cate_id = i.id 
 | 
            left join sys_proj_services l on a.service_order_id=l.id 
 | 
            left join sys_order_item j on a.order_item_id=j.ID 
 | 
            left join achieve_rule u on u.id=e.achieve_rule_id 
 | 
     where h.shop_short_name='龙华店' 
 | 
        GROUP BY g.su_name , a.order_type, h.id,a.achieveType 
 | 
        ORDER BY g.su_name 
 | 
  
 | 
    --> 
 | 
  
 | 
  
 | 
    <select id="findSumDailyInfoNew" resultMap="AchieveNewMap"> 
 | 
        select 
 | 
        YEAR (a.datatime) year, 
 | 
        MONTH (a.datatime) month, 
 | 
        DAY(a.datatime) day, 
 | 
        SUM( IFNULL(a.goods_cash,0)  )as zk_total, 
 | 
        SUM(a.goods_cash) as goods_cash, 
 | 
        SUM(a.his_consume) as his_consume, 
 | 
        SUM(a.free_consume) as free_consume, 
 | 
        SUM(a.proj_percentage) as proj_percentage, 
 | 
        SUM(a.number_of_people) as number_of_people, 
 | 
        SUM(a.proj_num) as proj_num, 
 | 
        SUM(a.proj_time) as proj_time, 
 | 
        h.SHOP_NAME shop_name, 
 | 
        a.shop_id 
 | 
        from 
 | 
        achieve_new a 
 | 
        left join sys_order b on a.order_id=b.id 
 | 
        left join sys_vip_info c on a.vip_id=c.id 
 | 
        left join sys_vip_level d on c.LEVEL_ID=d.id 
 | 
        left join shopping_goods e on a.shopping_goods_id=e.id 
 | 
        LEFT JOIN sys_users f on a.beault_id=f.su_id 
 | 
        LEFT JOIN sys_users g on a.sale_id = g.su_id 
 | 
        LEFT JOIN sys_shop_info h ON a.SHOP_ID = h.ID 
 | 
        LEFT JOIN shopping_goods_category i ON e.cate_id = i.id 
 | 
        LEFT JOIN shopping_goods_category j ON i.parent_id = j.id 
 | 
        left join sys_proj_services l on a.service_order_id=l.id 
 | 
        <where> 
 | 
            <if test="record!=null"> 
 | 
                <if 
 | 
                        test="(record.shopId!=null and record.shopId!='') or  (record.shopId!='' and record.shopId==0)  "> 
 | 
                    and a.shop_id = #{record.shopId} 
 | 
                </if> 
 | 
                <if test="record.year != null and record.year !='' "> 
 | 
                    and YEAR (a.datatime) = #{record.year} 
 | 
                </if> 
 | 
                <if test="record.month != null and record.month !='' "> 
 | 
                    and MONTH (a.datatime) = #{record.month} 
 | 
                </if> 
 | 
                <if test="record.day != null   and record.day !='' "> 
 | 
                    and DAY(a.datatime) = #{record.day} 
 | 
                </if> 
 | 
                <if test="record.beginTime!=null "> 
 | 
                    and a.datatime <![CDATA[ > ]]>  #{record.beginTime} 
 | 
                </if> 
 | 
                <if test="record.endTime!=null"> 
 | 
                    and a.datatime <![CDATA[ < ]]> #{record.endTime} 
 | 
                </if> 
 | 
                <if test="record.companyId != null and record.companyId !='' "> 
 | 
                    and    a.company_id = #{record.companyId} 
 | 
                </if> 
 | 
            </if> 
 | 
        </where> 
 | 
        group by a.shop_id , DATE_FORMAT(a.datatime, '%Y-%m-%d') 
 | 
        <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> 
 | 
            <if test="pageVo.sort !=null  and pageVo.order !=null"> 
 | 
                order by 
 | 
                ${pageVo.sort} ${pageVo.order} 
 | 
            </if> 
 | 
        </if> 
 | 
  
 | 
    </select> 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
    <!-- 定义AchieveNew 的简单map ,本map不添加其他的关联属性 --> 
 | 
    <resultMap type="com.matrix.system.hive.bean.AchieveNew" id="AchieveNewSimpleMap"> 
 | 
        <id property="id" column="id" /> 
 | 
        <result property="saleId" column="sale_id" /> 
 | 
        <result property="beaultId" column="beault_id" /> 
 | 
        <result property="shopId" column="shop_id" /> 
 | 
        <result property="datatime" column="datatime" /> 
 | 
        <result property="orderId" column="order_id" /> 
 | 
        <result property="orderItemId" column="order_item_id" /> 
 | 
        <result property="shoppingGoodsId" column="shopping_goods_id" /> 
 | 
        <result property="serviceOrderId" column="service_order_id" /> 
 | 
        <result property="vipId" column="vip_id" /> 
 | 
        <result property="freeConsume" column="free_consume" /> 
 | 
        <result property="hisConsume" column="his_consume" /> 
 | 
        <result property="goodsCash" column="goods_cash" /> 
 | 
        <result property="projNum" column="proj_num" /> 
 | 
        <result property="numberOfPeople" column="number_of_people" /> 
 | 
        <result property="shopName" column="shop_name" /> 
 | 
        <result property="projTime" column="proj_time" /> 
 | 
        <result property="remark" column="remark" /> 
 | 
        <result property="orderType" column="order_type" /> 
 | 
        <result property="projPercentage" column="proj_percentage" /> 
 | 
        <result property="payMethod" column="pay_method" /> 
 | 
        <result property="t1" column="t1" /> 
 | 
        <result property="t2" column="t2" /> 
 | 
        <result property="achieveType" column="achieveType" /> 
 | 
        <result property="t4" column="t4" /> 
 | 
        <result property="t5" column="t5" /> 
 | 
        <result property="t6" column="t6" /> 
 | 
        <result property="t8" column="t8" /> 
 | 
        <result property="t9" column="t9" /> 
 | 
        <result property="companyId" column="company_id" /> 
 | 
    </resultMap> 
 | 
  
 | 
    <!-- 字段sql --> 
 | 
    <sql id="columns"> 
 | 
        id, 
 | 
        sale_id, 
 | 
        beault_id, 
 | 
        shop_id, 
 | 
        datatime, 
 | 
        order_id, 
 | 
        order_item_id, 
 | 
        shopping_goods_id, 
 | 
        service_order_id, 
 | 
        vip_id, 
 | 
        free_consume, 
 | 
        his_consume, 
 | 
        goods_cash, 
 | 
        proj_num, 
 | 
        number_of_people, 
 | 
        shop_name, 
 | 
        proj_time, 
 | 
        remark, 
 | 
        order_type, 
 | 
        proj_percentage, 
 | 
  
 | 
        t1, 
 | 
        t2, 
 | 
        achieveType, 
 | 
        t4, 
 | 
        t5, 
 | 
        t6, 
 | 
        t8, 
 | 
        t9, 
 | 
        company_id, 
 | 
pay_method 
 | 
    </sql> 
 | 
  
 | 
    <!-- 属性sql --> 
 | 
    <sql id="propertys"> 
 | 
        #{item.id}, 
 | 
        #{item.saleId}, 
 | 
        #{item.beaultId}, 
 | 
        #{item.shopId}, 
 | 
        #{item.datatime}, 
 | 
        #{item.orderId}, 
 | 
        #{item.orderItemId}, 
 | 
        #{item.shoppingGoodsId}, 
 | 
        #{item.serviceOrderId}, 
 | 
        #{item.vipId}, 
 | 
        #{item.freeConsume}, 
 | 
        #{item.hisConsume}, 
 | 
        #{item.goodsCash}, 
 | 
        #{item.projNum}, 
 | 
        #{item.numberOfPeople}, 
 | 
        #{item.shopName}, 
 | 
        #{item.projTime}, 
 | 
        #{item.remark}, 
 | 
        #{item.orderType}, 
 | 
        #{item.projPercentage}, 
 | 
  
 | 
        #{item.t1}, 
 | 
        #{item.t2}, 
 | 
        #{item.achieveType}, 
 | 
        #{item.t4}, 
 | 
        #{item.t5}, 
 | 
        #{item.t6}, 
 | 
        #{item.t8}, 
 | 
        #{item.t9}, 
 | 
        #{item.companyId}, 
 | 
        #{item.payMethod} 
 | 
    </sql> 
 | 
  
 | 
    <!-- where sql --> 
 | 
    <sql id="where_sql"> 
 | 
  
 | 
        <if test="record!=null"> 
 | 
            <if 
 | 
                    test="(record.id!=null and record.id!='') or  (record.id!='' and record.id==0)  "> 
 | 
                and id = #{record.id} 
 | 
            </if> 
 | 
            <if test="record.companyId != null and record.companyId !='' "> 
 | 
                and company_id = #{record.companyId} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.saleId!=null and record.saleId!='') or  (record.saleId!='' and record.saleId==0)  "> 
 | 
                and sale_id = #{record.saleId} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.beaultId!=null and record.beaultId!='') or  (record.beaultId!='' and record.beaultId==0)  "> 
 | 
                and beault_id = #{record.beaultId} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.shopId!=null and record.shopId!='') or  (record.shopId!='' and record.shopId==0)  "> 
 | 
                and shop_id = #{record.shopId} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.datatime!=null and record.datatime!='') or  (record.datatime!='' and record.datatime==0)  "> 
 | 
                and datatime = #{record.datatime} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.orderId!=null and record.orderId!='') or  (record.orderId!='' and record.orderId==0)  "> 
 | 
                and order_id = #{record.orderId} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.orderItemId!=null and record.orderItemId!='') or  (record.orderItemId!='' and record.orderItemId==0)  "> 
 | 
                and order_item_id = #{record.orderItemId} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.shoppingGoodsId!=null and record.shoppingGoodsId!='') or  (record.shoppingGoodsId!='' and record.shoppingGoodsId==0)  "> 
 | 
                and shopping_goods_id = #{record.shoppingGoodsId} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.serviceOrderId!=null and record.serviceOrderId!='') or  (record.serviceOrderId!='' and record.serviceOrderId==0)  "> 
 | 
                and service_order_id = #{record.serviceOrderId} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.vipId!=null and record.vipId!='') or  (record.vipId!='' and record.vipId==0)  "> 
 | 
                and vip_id = #{record.vipId} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.freeConsume!=null and record.freeConsume!='') or  (record.freeConsume!='' and record.freeConsume==0)  "> 
 | 
                and free_consume = #{record.freeConsume} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.hisConsume!=null and record.hisConsume!='') or  (record.hisConsume!='' and record.hisConsume==0)  "> 
 | 
                and his_consume = #{record.hisConsume} 
 | 
            </if> 
 | 
  
 | 
  
 | 
            <if 
 | 
                    test="(record.goodsCash!=null and record.goodsCash!='') or  (record.goodsCash!='' and record.goodsCash==0)  "> 
 | 
                and goods_cash = #{record.goodsCash} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.projNum!=null and record.projNum!='') or  (record.projNum!='' and record.projNum==0)  "> 
 | 
                and proj_num = #{record.projNum} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.numberOfPeople!=null and record.numberOfPeople!='') or  (record.numberOfPeople!='' and record.numberOfPeople==0)  "> 
 | 
                and number_of_people = #{record.numberOfPeople} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.shopName!=null and record.shopName!='') or  (record.shopName!='' and record.shopName==0)  "> 
 | 
                and shop_name = #{record.shopName} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.projTime!=null and record.projTime!='') or  (record.projTime!='' and record.projTime==0)  "> 
 | 
                and proj_time = #{record.projTime} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.remark!=null and record.remark!='') or  (record.remark!='' and record.remark==0)  "> 
 | 
                and remark = #{record.remark} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.orderType!=null and record.orderType!='') or  (record.orderType!='' and record.orderType==0)  "> 
 | 
                and order_type = #{record.orderType} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.projPercentage!=null and record.projPercentage!='') or  (record.projPercentage!='' and record.projPercentage==0)  "> 
 | 
                and proj_percentage = #{record.projPercentage} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.t1!=null and record.t1!='') or  (record.t1!='' and record.t1==0)  "> 
 | 
                and t1 = #{record.t1} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.t2!=null and record.t2!='') or  (record.t2!='' and record.t2==0)  "> 
 | 
                and t2 = #{record.t2} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.achieveType!=null and record.achieveType!='') or  (record.achieveType!='' and record.achieveType==0)  "> 
 | 
                and achieveType = #{record.achieveType} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.t4!=null and record.t4!='') or  (record.t4!='' and record.t4==0)  "> 
 | 
                and t4 = #{record.t4} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.t5!=null and record.t5!='') or  (record.t5!='' and record.t5==0)  "> 
 | 
                and t5 = #{record.t5} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.t6!=null and record.t6!='') or  (record.t6!='' and record.t6==0)  "> 
 | 
                and t6 = #{record.t6} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.t8!=null and record.t8!='') or  (record.t8!='' and record.t8==0)  "> 
 | 
                and t8 = #{record.t8} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.t9!=null and record.t9!='') or  (record.t9!='' and record.t9==0)  "> 
 | 
                and t9 = #{record.t9} 
 | 
            </if> 
 | 
        </if> 
 | 
  
 | 
    </sql> 
 | 
  
 | 
    <!-- 插入方法 --> 
 | 
    <insert id="insert" parameterType="com.matrix.system.hive.bean.AchieveNew" 
 | 
            useGeneratedKeys="true" keyProperty="item.id"> 
 | 
        INSERT INTO achieve_new ( 
 | 
        <include refid="columns"></include> 
 | 
        ) 
 | 
        VALUES ( 
 | 
        <include refid="propertys"></include> 
 | 
        ) 
 | 
    </insert> 
 | 
  
 | 
  
 | 
  
 | 
    <!-- 批量插入 --> 
 | 
    <insert id="batchInsert" parameterType="java.util.List"> 
 | 
        INSERT INTO achieve_new ( 
 | 
        <include refid="columns"></include> 
 | 
        ) 
 | 
        VALUES 
 | 
        <foreach collection="list" item="item" index="index" 
 | 
                 separator=","> 
 | 
            ( 
 | 
            <include refid="propertys"></include> 
 | 
            ) 
 | 
        </foreach> 
 | 
    </insert> 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
    <!-- 根据Map更新 部分更新 --> 
 | 
    <update id="updateByMap" parameterType="java.util.HashMap"> 
 | 
        UPDATE achieve_new 
 | 
        <set> 
 | 
            <if test="_parameter.containsKey('saleId')"> 
 | 
                sale_id = #{saleId}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('beaultId')"> 
 | 
                beault_id = #{beaultId}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('shopId')"> 
 | 
                shop_id = #{shopId}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('datatime')"> 
 | 
                datatime = #{datatime}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('orderId')"> 
 | 
                order_id = #{orderId}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('orderItemId')"> 
 | 
                order_item_id = #{orderItemId}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('shoppingGoodsId')"> 
 | 
                shopping_goods_id = #{shoppingGoodsId}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('serviceOrderId')"> 
 | 
                service_order_id = #{serviceOrderId}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('vipId')"> 
 | 
                vip_id = #{vipId}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('freeConsume')"> 
 | 
                free_consume = #{freeConsume}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('hisConsume')"> 
 | 
                his_consume = #{hisConsume}, 
 | 
            </if> 
 | 
  
 | 
  
 | 
  
 | 
            <if test="_parameter.containsKey('goodsCash')"> 
 | 
                goods_cash = #{goodsCash}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('projNum')"> 
 | 
                proj_num = #{projNum}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('numberOfPeople')"> 
 | 
                number_of_people = #{numberOfPeople}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('shopName')"> 
 | 
                shop_name = #{shopName}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('projTime')"> 
 | 
                proj_time = #{projTime}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('remark')"> 
 | 
                remark = #{remark}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('orderType')"> 
 | 
                order_type = #{orderType}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('projPercentage')"> 
 | 
                proj_percentage = #{projPercentage}, 
 | 
            </if> 
 | 
  
 | 
            <if test="_parameter.containsKey('t1')"> 
 | 
                t1 = #{t1}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('t2')"> 
 | 
                t2 = #{t2}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('achieveType')"> 
 | 
                achieveType = #{achieveType}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('t4')"> 
 | 
                t4 = #{t4}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('t5')"> 
 | 
                t5 = #{t5}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('t6')"> 
 | 
                t6 = #{t6}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('t8')"> 
 | 
                t8 = #{t8}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('t9')"> 
 | 
                t9 = #{t9}, 
 | 
            </if> 
 | 
            <if test="_parameter.containsKey('payMethod')"> 
 | 
                pay_method = #{payMethod}, 
 | 
            </if> 
 | 
        </set> 
 | 
        WHERE id=#{id} 
 | 
    </update> 
 | 
  
 | 
  
 | 
    <!-- 根据对象更新 部分更新 --> 
 | 
    <update id="updateAchieveTime" > 
 | 
        UPDATE achieve_new set datatime = #{record.datatime} 
 | 
        <where> 
 | 
            <if 
 | 
                    test="(record.id!=null and record.id!='') or  (record.id!='' and record.id==0)  "> 
 | 
                and id = #{record.id} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.orderId!=null and record.orderId!='') or  (record.orderId!='' and record.orderId==0)  "> 
 | 
                and order_id = #{record.orderId} 
 | 
            </if> 
 | 
            <if 
 | 
                    test="(record.serviceOrderId!=null and record.serviceOrderId!='') or  (record.serviceOrderId!='' and record.serviceOrderId==0)  "> 
 | 
                and service_order_id = #{record.serviceOrderId} 
 | 
            </if> 
 | 
        </where> 
 | 
  
 | 
  
 | 
    </update> 
 | 
    <update id="updateByModel" > 
 | 
        UPDATE achieve_new 
 | 
        <set> 
 | 
            <if test="record.saleId != null "> 
 | 
                sale_id = #{record.saleId}, 
 | 
            </if> 
 | 
            <if test="record.beaultId != null "> 
 | 
                beault_id = #{record.beaultId}, 
 | 
            </if> 
 | 
            <if test="record.shopId != null "> 
 | 
                shop_id = #{record.shopId}, 
 | 
            </if> 
 | 
            <if test="record.datatime != null "> 
 | 
                datatime = #{record.datatime}, 
 | 
            </if> 
 | 
            <if test="record.orderId != null "> 
 | 
                order_id = #{record.orderId}, 
 | 
            </if> 
 | 
            <if test="record.orderItemId != null "> 
 | 
                order_item_id = #{record.orderItemId}, 
 | 
            </if> 
 | 
            <if test="record.shoppingGoodsId != null "> 
 | 
                shopping_goods_id = #{record.shoppingGoodsId}, 
 | 
            </if> 
 | 
            <if test="record.serviceOrderId != null "> 
 | 
                service_order_id = #{record.serviceOrderId}, 
 | 
            </if> 
 | 
            <if test="record.vipId != null "> 
 | 
                vip_id = #{record.vipId}, 
 | 
            </if> 
 | 
            <if 
 | 
                    test="record.freeConsume != null and record.freeConsume != '' "> 
 | 
                free_consume = #{record.freeConsume}, 
 | 
            </if> 
 | 
            <if test="record.hisConsume != null "> 
 | 
                his_consume = #{record.hisConsume}, 
 | 
            </if> 
 | 
  
 | 
  
 | 
            <if test="record.goodsCash != null "> 
 | 
                goods_cash = #{record.goodsCash}, 
 | 
            </if> 
 | 
            <if test="record.projNum != null "> 
 | 
                proj_num = #{record.projNum}, 
 | 
            </if> 
 | 
            <if test="record.numberOfPeople != null "> 
 | 
                number_of_people = #{record.numberOfPeople}, 
 | 
            </if> 
 | 
            <if test="record.shopName != null and record.shopName != '' "> 
 | 
                shop_name = #{record.shopName}, 
 | 
            </if> 
 | 
            <if test="record.projTime != null "> 
 | 
                proj_time = #{record.projTime}, 
 | 
            </if> 
 | 
            <if test="record.remark != null and record.remark != '' "> 
 | 
                remark = #{record.remark}, 
 | 
            </if> 
 | 
            <if test="record.orderType != null and record.orderType != '' "> 
 | 
                order_type = #{record.orderType}, 
 | 
            </if> 
 | 
            <if test="record.projPercentage != null "> 
 | 
                proj_percentage = #{record.projPercentage}, 
 | 
            </if> 
 | 
  
 | 
            <if test="record.t1 != null and record.t1 != '' "> 
 | 
                t1 = #{record.t1}, 
 | 
            </if> 
 | 
            <if test="record.t2 != null and record.t2 != '' "> 
 | 
                t2 = #{record.t2}, 
 | 
            </if> 
 | 
            <if test="record.achieveType != null and record.achieveType != '' "> 
 | 
                achieveType = #{record.achieveType}, 
 | 
            </if> 
 | 
            <if test="record.t4 != null and record.t4 != '' "> 
 | 
                t4 = #{record.t4}, 
 | 
            </if> 
 | 
            <if test="record.t5 != null and record.t5 != '' "> 
 | 
                t5 = #{record.t5}, 
 | 
            </if> 
 | 
            <if test="record.t6 != null and record.t6 != '' "> 
 | 
                t6 = #{record.t6}, 
 | 
            </if> 
 | 
            <if test="record.t8 != null and record.t8 != '' "> 
 | 
                t8 = #{record.t8}, 
 | 
            </if> 
 | 
            <if test="record.t9 != null and record.t9 != '' "> 
 | 
                t9 = #{record.t9}, 
 | 
            </if> 
 | 
            <if test="record.payMethod != null and record.payMethod != '' "> 
 | 
                pay_method = #{record.payMethod}, 
 | 
            </if> 
 | 
        </set> 
 | 
        WHERE id=#{record.id} 
 | 
    </update> 
 | 
  
 | 
    <!-- 批量删除 --> 
 | 
    <delete id="deleteByIds" parameterType="java.util.List"> 
 | 
        delete from achieve_new where id in 
 | 
        <foreach collection="list" index="index" item="item" open="(" 
 | 
                 separator="," close=")"> 
 | 
            #{item} 
 | 
        </foreach> 
 | 
    </delete> 
 | 
  
 | 
    <!-- 根据id删除 --> 
 | 
    <delete id="deleteById" > 
 | 
        DELETE FROM achieve_new 
 | 
        where id=#{id} 
 | 
    </delete> 
 | 
  
 | 
    <!-- 根据对象删除 --> 
 | 
    <delete id="deleteByModel" > 
 | 
        DELETE FROM achieve_new 
 | 
        where 1=1 
 | 
        <include refid="where_sql"></include> 
 | 
    </delete> 
 | 
  
 | 
  
 | 
    <delete id="deleteByOrderId"> 
 | 
        DELETE FROM achieve_new where order_id=#{orderId} 
 | 
    </delete> 
 | 
  
 | 
  
 | 
  
 | 
    <!-- 分页查询 --> 
 | 
    <select id="selectInPage" resultMap="AchieveNewMap"> 
 | 
        select 
 | 
        <include refid="columns"></include> 
 | 
        from achieve_new 
 | 
        where 1=1 
 | 
        <include refid="where_sql"></include> 
 | 
        <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="selectTotalRecord" 
 | 
            resultType="java.lang.Integer"> 
 | 
        select count(*) 
 | 
        from achieve_new 
 | 
        where 1=1 
 | 
        <include refid="where_sql"></include> 
 | 
    </select> 
 | 
  
 | 
    <!-- 根据id查询 --> 
 | 
    <select id="selectById" resultMap="AchieveNewMap"> 
 | 
        select 
 | 
        <include refid="columns"></include> 
 | 
        from achieve_new 
 | 
        where id=#{id} 
 | 
    </select> 
 | 
  
 | 
  
 | 
    <!-- 根据id 锁表查询 --> 
 | 
    <select id="selectForUpdate" resultMap="AchieveNewMap"> 
 | 
        select 
 | 
        <include refid="columns"></include> 
 | 
        from achieve_new 
 | 
        where id=#{id} 
 | 
        for update 
 | 
    </select> 
 | 
  
 | 
  
 | 
  
 | 
    <!-- 根据对象查询 --> 
 | 
    <select id="selectByModel" resultMap="AchieveNewMap"> 
 | 
        select 
 | 
        <include refid="columns"></include> 
 | 
        from achieve_new 
 | 
        where 1=1 
 | 
        <include refid="where_sql"></include> 
 | 
    </select> 
 | 
  
 | 
  
 | 
    <select id="selectVipConsumeStatisticsList" resultType="java.util.HashMap"> 
 | 
        select 
 | 
        a.VIP_NAME vipName, 
 | 
        a.PHONE t9, 
 | 
        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 
 | 
        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> 
 | 
  
 | 
            <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.beaultId != null and record.beaultId!=''"> 
 | 
                and FIND_IN_SET(#{record.beaultId}, a.BEATUY_ID) 
 | 
            </if> 
 | 
            <if test='record.t1 == "on"'> 
 | 
                and a.BEATUY_ID is not null 
 | 
            </if> 
 | 
        </where> 
 | 
        <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 
 | 
        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> 
 | 
  
 | 
            <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.beaultId != null and record.beaultId!=''"> 
 | 
                and FIND_IN_SET(#{record.beaultId}, a.BEATUY_ID) 
 | 
            </if> 
 | 
            <if test='record.t1 == "on"'> 
 | 
                and a.BEATUY_ID is not null 
 | 
            </if> 
 | 
        </where> 
 | 
    </select> 
 | 
  
 | 
  
 | 
    <select id="selectUserAchieveByTime" resultType="com.matrix.system.app.vo.UserAchieveVo"> 
 | 
        select 
 | 
            sale_id id, 
 | 
            (select ifnull(sum(case pay_method when '现金' then goods_cash else 0 end),0) 
 | 
             from achieve_new a 
 | 
             where a.beault_id=#{userId} 
 | 
               and (date_format(datatime, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') >= date_format(datatime, '%Y-%m-%d')) 
 | 
            ) orderCash, 
 | 
            (select ifnull(sum(case pay_method when '划扣' then goods_cash else 0 end),0) 
 | 
             from achieve_new a 
 | 
             where  a.beault_id=#{userId} 
 | 
               and (date_format(datatime, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') >= date_format(datatime, '%Y-%m-%d')) 
 | 
            ) cash, 
 | 
            sum(case order_type when '订单' then proj_percentage else 0 end) cardUse, 
 | 
            sum(IFNULL(his_consume, 0)) hisConsume, 
 | 
            sum(IFNULL(free_consume, 0)) freeConsume, 
 | 
            sum(case order_type when '服务单' then proj_percentage else 0 end) projCommission 
 | 
        from achieve_new a 
 | 
        where a.beault_id=#{userId} 
 | 
          and (date_format(datatime, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') >= date_format(datatime, '%Y-%m-%d')) 
 | 
    </select> 
 | 
  
 | 
    <select id="selectApiOrderItemAchieve" resultType="com.matrix.system.app.vo.OrderDetailAchieveItemVo"> 
 | 
        select 
 | 
            b.su_name name, 
 | 
            IFNULL(a.goods_cash, 0) achieve 
 | 
        from achieve_new a 
 | 
                 inner join sys_users b on (a.beault_id=b.su_id or a.sale_id = b.su_id) 
 | 
        where a.order_item_id=#{itemId} and order_type = '订单' 
 | 
    </select> 
 | 
  
 | 
    <select id="selectShopConsumeAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo"> 
 | 
        select 
 | 
        b.shop_short_name name, 
 | 
        b.SHOP_IMAG photo, 
 | 
        sum(IFNULL(a.free_consume,0) + IFNULL(a.his_consume,0)) amount 
 | 
        from achieve_new a 
 | 
        left join sys_shop_info b on a.shop_id=b.ID and b.shop_type!=1 
 | 
        <where> 
 | 
            <if test="record.companyId != null"> 
 | 
                and a.company_id=#{record.companyId} 
 | 
            </if> 
 | 
            <if test='record.t1 == "1" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y-%m-%d') = date_format(#{record.datatime}, '%Y-%m-%d') 
 | 
            </if> 
 | 
            <if test='record.t1 == "2" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y-%m') = date_format(#{record.datatime}, '%Y-%m') 
 | 
            </if> 
 | 
            <if test='record.t1 == "3" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y') = date_format(#{record.datatime}, '%Y') 
 | 
            </if> 
 | 
            <if test='record.t1 == "4" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y-%m-%d %u') = date_format(#{record.datatime}, '%Y-%m-%d %u') 
 | 
            </if> 
 | 
        </where> 
 | 
        group by a.shop_id 
 | 
        order by amount desc, a.shop_id 
 | 
    </select> 
 | 
  
 | 
    <select id="selectBeauticianConsumeAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo"> 
 | 
        select 
 | 
        b.su_name name, 
 | 
        b.su_id id, 
 | 
        b.su_photo photo, 
 | 
        sum(IFNULL(a.free_consume,0) + IFNULL(a.his_consume, 0) ) amount, 
 | 
        c.shop_short_name shopName 
 | 
        from achieve_new a 
 | 
        inner join sys_users b on a.beault_id=b.su_id 
 | 
        left join sys_shop_info c on a.shop_id=c.ID 
 | 
        <where> 
 | 
            a.order_type='服务单' 
 | 
            <if test="record.companyId != null"> 
 | 
                and a.company_id=#{record.companyId} 
 | 
            </if> 
 | 
            <if test="record.shopId != null"> 
 | 
                and a.shop_id=#{record.shopId} 
 | 
            </if> 
 | 
            <if test='record.t1 == "1" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y-%m-%d') = date_format(#{record.datatime}, '%Y-%m-%d') 
 | 
            </if> 
 | 
            <if test='record.t1 == "2" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y-%m') = date_format(#{record.datatime}, '%Y-%m') 
 | 
            </if> 
 | 
            <if test='record.t1 == "3" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y') = date_format(#{record.datatime}, '%Y') 
 | 
            </if> 
 | 
            <if test='record.t1 == "4" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y-%m-%d %u') = date_format(#{record.datatime}, '%Y-%m-%d %u') 
 | 
            </if> 
 | 
        </where> 
 | 
        group by a.beault_id 
 | 
        order by amount desc 
 | 
    </select> 
 | 
  
 | 
    <select id="selectOrderItemAchieveByOrderId" resultMap="AchieveNewMap"> 
 | 
        select 
 | 
            a.*, 
 | 
            b.code goodsNo, 
 | 
            b.name goodsName, 
 | 
            c.su_name meiliao, 
 | 
            TRUNCATE(d.count*d.zk_price,2) zk_total 
 | 
        from achieve_new a 
 | 
                 left join shopping_goods b on a.shopping_goods_id=b.id 
 | 
                 left join sys_users c on a.beault_id=c.su_id 
 | 
                 left join sys_order_item d on a.order_item_id=d.id 
 | 
        where a.order_id=#{orderId} 
 | 
    </select> 
 | 
  
 | 
    <select id="selectStaffSaleAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo"> 
 | 
        select 
 | 
        b.su_name name, 
 | 
        b.su_id id, 
 | 
        b.su_photo photo, 
 | 
        sum(ifnull(goods_cash,0)) amount, 
 | 
        c.shop_short_name shopName 
 | 
        from achieve_new a 
 | 
        inner join sys_users b on a.beault_id=b.su_id 
 | 
        inner join sys_shop_info c on a.SHOP_ID=c.ID 
 | 
        <where> 
 | 
            <if test="record.companyId != null"> 
 | 
                and b.company_id=#{record.companyId} 
 | 
            </if> 
 | 
            <if test="record.shopId != null"> 
 | 
                and b.shop_id=#{record.shopId} 
 | 
            </if> 
 | 
            <if test='record.type == "1" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y-%m-%d') = date_format(#{record.datatime}, '%Y-%m-%d') 
 | 
            </if> 
 | 
            <if test='record.type == "2" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y-%m') = date_format(#{record.datatime}, '%Y-%m') 
 | 
            </if> 
 | 
            <if test='record.type == "3" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y') = date_format(#{record.datatime}, '%Y') 
 | 
            </if> 
 | 
            <if test='record.t1 == "4" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y-%m-%d %u') = date_format(#{record.datatime}, '%Y-%m-%d %u') 
 | 
            </if> 
 | 
        </where> 
 | 
        group by b.su_id 
 | 
        order by amount desc, b.su_id 
 | 
    </select> 
 | 
  
 | 
    <select id="selectShopSaleAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo"> 
 | 
        select 
 | 
        b.shop_short_name name, 
 | 
        b.SHOP_IMAG photo, 
 | 
        sum(IFNULL(a.amount,0)) amount 
 | 
        from sys_order_flow a 
 | 
        inner join sys_order c on a.order_id=c.id and c.STATU != '已取消' 
 | 
        inner join sys_shop_info b on a.shop_id=b.id and shop_type!=1 
 | 
        <where> 
 | 
            a.pay_method not in ('储值卡', '欠款') 
 | 
            <if test="record.companyId != null"> 
 | 
                and a.company_id=#{record.companyId} 
 | 
            </if> 
 | 
            <if test='record.t1 == "1" and record.datatime != null'> 
 | 
                and date_format(a.create_time, '%Y-%m-%d') = date_format(#{record.datatime}, '%Y-%m-%d') 
 | 
            </if> 
 | 
            <if test='record.t1 == "2" and record.datatime != null'> 
 | 
                and date_format(a.create_time, '%Y-%m') = date_format(#{record.datatime}, '%Y-%m') 
 | 
            </if> 
 | 
            <if test='record.t1 == "3" and record.datatime != null'> 
 | 
                and date_format(a.create_time, '%Y') = date_format(#{record.datatime}, '%Y') 
 | 
            </if> 
 | 
            <if test='record.t1 == "4" and record.datatime != null'> 
 | 
                and date_format(a.create_time, '%Y-%m-%d %u') = date_format(#{record.datatime}, '%Y-%m-%d %u') 
 | 
            </if> 
 | 
        </where> 
 | 
        group by a.shop_id 
 | 
        order by amount desc, a.shop_id 
 | 
    </select> 
 | 
  
 | 
    <!-- 顾问当天下单列表 --> 
 | 
    <select id="selectSaleManAchieveList" resultMap="AchieveNewMap"> 
 | 
        select * from achieve_new 
 | 
        where sale_id=#{saleId} and vip_id=#{vipId} and sale_id=beault_id 
 | 
          and date_format(datatime, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d') 
 | 
    </select> 
 | 
  
 | 
    <select id="selectBeautyManAchieveList" resultMap="AchieveNewMap"> 
 | 
        select * from achieve_new 
 | 
        where beault_id=#{beautyId} and vip_id=#{vipId} 
 | 
          and date_format(datatime, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d') 
 | 
    </select> 
 | 
  
 | 
    <select id="achieveNewStatistics" resultType="com.matrix.system.hive.vo.AchieveNewStatisticsVo"> 
 | 
  
 | 
        select 
 | 
        u.name ruleName, 
 | 
        f.su_name guwen, 
 | 
        f.su_id gwid, 
 | 
        g.su_name createBy, 
 | 
        g.su_id createId, 
 | 
        cast(SUM(b.ZK_TOTAL) AS decimal(15,2)) as zk_total, 
 | 
        cast(SUM(a.his_consume) AS decimal(15,2)) his_consume, 
 | 
        cast(SUM(a.free_consume) AS decimal(15,2)) free_consume, 
 | 
        cast(SUM(a.proj_percentage) AS decimal(15,2)) proj_percentage, 
 | 
        cast(SUM(a.number_of_people) AS decimal(15,2)) number_of_people, 
 | 
        cast(SUM(a.proj_num) AS decimal(15,2)) proj_num, 
 | 
        cast(SUM(case when a.pay_method = '划扣' then goods_cash end )AS decimal(15,2)) card_cash, 
 | 
        cast(SUM(a.proj_time) AS decimal(15,2)) proj_time, 
 | 
        cast(SUM(case when a.pay_method = '现金' then goods_cash end )AS decimal(15,2)) goods_cash, 
 | 
        h.shop_short_name shop_name, 
 | 
        a.order_type 
 | 
        from 
 | 
        achieve_new a 
 | 
        left join sys_order b on a.order_id=b.id 
 | 
        left join sys_vip_info c on a.vip_id=c.id 
 | 
        left join sys_vip_level d on c.LEVEL_ID=d.id 
 | 
        left join shopping_goods e on a.shopping_goods_id=e.id 
 | 
        LEFT JOIN sys_users f on a.beault_id=f.su_id 
 | 
        LEFT JOIN sys_users g on a.sale_id = g.su_id 
 | 
        LEFT JOIN sys_shop_info h ON a.SHOP_ID = h.ID 
 | 
        LEFT JOIN shopping_goods_category i ON e.cate_id = i.id 
 | 
        left join sys_proj_services l on a.service_order_id=l.id 
 | 
        left join sys_order_item j on a.order_item_id=j.ID 
 | 
        left join achieve_rule u on u.id=e.achieve_rule_id 
 | 
        <where> 
 | 
            and a.company_id = #{record.companyId} 
 | 
            <if test="record.shopId != null"> 
 | 
                and a.shop_id = #{record.shopId} 
 | 
            </if> 
 | 
            <if test="record.achieveRuleId != null"> 
 | 
                and u.id = #{record.achieveRuleId} 
 | 
            </if> 
 | 
  
 | 
            <if test="record.staffName != null and record.staffName!=''"> 
 | 
                <!-- 创建人和归属人都有业绩 --> 
 | 
                and (f.su_name like concat('%',#{record.staffName},'%')  or g.su_name like concat('%',#{record.staffName},'%')  ) 
 | 
            </if> 
 | 
  
 | 
            <if test="record.orderType != null and record.orderType != '' "> 
 | 
                and a.order_type= #{record.orderType} 
 | 
            </if> 
 | 
            <if test="record.beginTime != null "> 
 | 
                and a.datatime >= #{record.beginTime} 
 | 
            </if> 
 | 
            <if test="record.endTime != null   "> 
 | 
                <![CDATA[and a.datatime <= #{record.endTime}]]> 
 | 
            </if> 
 | 
  
 | 
        </where> 
 | 
        GROUP BY g.su_id , f.su_id, a.order_type, h.id,a.achieveType,u.name 
 | 
        <if test="record.sort !=null and record.sort!=''"> order by ${record.sort} ${record.order}</if> 
 | 
  
 | 
    </select> 
 | 
  
 | 
  
 | 
    <update id="updateAchieveNumOfPeople"> 
 | 
        <foreach collection="list" item="item" index="index" 
 | 
                 separator=";"> 
 | 
            update achieve_new set number_of_people=#{num} where id=#{item.id} 
 | 
        </foreach> 
 | 
    </update> 
 | 
    <update id="setPayMethod"> 
 | 
  
 | 
  
 | 
        update  achieve_new 
 | 
        set pay_method=#{paymethod} 
 | 
        where id in 
 | 
        <foreach collection="list" index="index" item="item" open="(" 
 | 
                 separator="," close=")"> 
 | 
            #{item} 
 | 
        </foreach> 
 | 
  
 | 
  
 | 
    </update> 
 | 
  
 | 
    <select id="selectNumOfPeopleAchieveRanking" resultType="com.matrix.system.app.vo.RankingVo"> 
 | 
        select 
 | 
        b.su_name name, 
 | 
        b.su_id id, 
 | 
        b.su_photo photo, 
 | 
        sum(number_of_people) amount, 
 | 
        c.shop_short_name shopName 
 | 
        from achieve_new a 
 | 
        inner join sys_users b on a.beault_id=b.su_id 
 | 
        left join sys_shop_info c on a.shop_id=c.ID 
 | 
        <where> 
 | 
            <if test="record.companyId != null"> 
 | 
                and a.company_id=#{record.companyId} 
 | 
            </if> 
 | 
            <if test="record.shopId != null"> 
 | 
                and a.shop_id=#{record.shopId} 
 | 
            </if> 
 | 
            <if test='record.t1 == "1" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y-%m-%d') = date_format(#{record.datatime}, '%Y-%m-%d') 
 | 
            </if> 
 | 
            <if test='record.t1 == "2" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y-%m') = date_format(#{record.datatime}, '%Y-%m') 
 | 
            </if> 
 | 
            <if test='record.t1 == "3" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y') = date_format(#{record.datatime}, '%Y') 
 | 
            </if> 
 | 
            <if test='record.t1 == "4" and record.datatime != null'> 
 | 
                and date_format(datatime, '%Y-%m-%d %u') = date_format(#{record.datatime}, '%Y-%m-%d %u') 
 | 
            </if> 
 | 
        </where> 
 | 
        group by a.beault_id 
 | 
        order by amount desc 
 | 
    </select> 
 | 
</mapper> 
 |