From 393d296e43f0e5f11e524cab5446bcd3eee94e89 Mon Sep 17 00:00:00 2001 From: jyy <jyy> Date: Sat, 12 Jun 2021 17:47:38 +0800 Subject: [PATCH] 新增赠送项目是否计算消耗控制 --- zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml | 544 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 442 insertions(+), 102 deletions(-) diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml index 6cc5489..56a7c07 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml @@ -72,15 +72,13 @@ select <foreach collection="list" index="index" item="item" separator="," > ( - select IFNULL(sum(ZK_TOTAL), 0) - from sys_order - where STATU in ('已付款', '欠款') - and <![CDATA[order_time > #{item.beginTime} and order_time < #{item.endTime} ]]> - <if test="companyId != null and companyId != 0"> - and company_id=#{companyId} + 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="shopId !=null and shopId !=0 " > - and SHOP_ID = #{shopId} + <if test="companyId != null"> + and company_id=#{companyId} </if> ) as t${index} @@ -92,15 +90,14 @@ select <foreach collection="list" index="index" item="item" separator="," > ( - select IFNULL(sum(cash_Pay), 0) - from sys_order - where STATU in ('已付款') - and <![CDATA[order_time > #{item.beginTime} and order_time < #{item.endTime} ]]> - <if test="companyId != null and companyId != 0"> - and company_id=#{companyId} + 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="shopId !=null and shopId !=0 " > - and SHOP_ID = #{shopId} + <if test="companyId != null"> + and a.company_id=#{companyId} </if> ) as t${index} @@ -112,15 +109,13 @@ select <foreach collection="list" index="index" item="item" separator="," > ( - select IFNULL(sum(card_Pay), 0) - from sys_order - where STATU in ('已付款') - and <![CDATA[order_time > #{item.beginTime} and order_time < #{item.endTime} ]]> - <if test="companyId != null and companyId != 0"> - and company_id=#{companyId} + 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="shopId !=null and shopId !=0 " > - and SHOP_ID = #{shopId} + <if test="companyId != null"> + and company_id=#{companyId} </if> ) as t${index} @@ -132,15 +127,14 @@ select <foreach collection="list" index="index" item="item" separator="," > ( - select IFNULL(sum(arrears), 0) - from sys_order - where STATU in ('欠款') - and <![CDATA[order_time > #{item.beginTime} and order_time < #{item.endTime} ]]> - <if test="companyId != null and companyId != 0"> - and company_id=#{companyId} + 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="shopId !=null and shopId !=0 " > - and SHOP_ID = #{shopId} + <if test="companyId != null"> + and a.company_id=#{companyId} </if> ) as t${index} @@ -152,15 +146,13 @@ select <foreach collection="list" index="index" item="item" separator="," > ( - select IFNULL(sum(his_consume), 0) - from achieve_new - where order_type in ('服务单') - and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> - <if test="companyId != null and companyId != 0"> - and company_id=#{companyId} + 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="shopId !=null and shopId !=0 " > - and SHOP_ID = #{shopId} + <if test="companyId != null"> + and company_id=#{companyId} </if> ) as t${index} @@ -172,16 +164,327 @@ select <foreach collection="list" index="index" item="item" separator="," > ( - select IFNULL(sum(free_consume), 0) - from achieve_new - where order_type in ('服务单') - and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> - <if test="companyId != null and companyId != 0"> + 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> - <if test="shopId !=null and shopId !=0 " > - and SHOP_ID = #{shopId} + ) 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 @@ -191,15 +494,14 @@ select <foreach collection="list" index="index" item="item" separator="," > ( - select IFNULL(sum(cash_Pay), 0) - from sys_order - where STATU in ('退款') - and <![CDATA[order_time > #{item.beginTime} and order_time < #{item.endTime} ]]> - <if test="companyId != null and companyId != 0"> - and company_id=#{companyId} + 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="shopId !=null and shopId !=0 " > - and SHOP_ID = #{shopId} + <if test="companyId != null"> + and a.company_id=#{companyId} </if> ) as t${index} @@ -212,15 +514,54 @@ select <foreach collection="list" index="index" item="item" separator="," > ( - select IFNULL(sum(card_Pay), 0) - from sys_order - where STATU in ('退款') - and <![CDATA[order_time > #{item.beginTime} and order_time < #{item.endTime} ]]> - <if test="companyId != null and companyId != 0"> - and company_id=#{companyId} + 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="shopId !=null and shopId !=0 " > - and SHOP_ID = #{shopId} + <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} @@ -232,10 +573,19 @@ <foreach collection="list" index="index" item="item" separator="union all" > select #{item.beginTime} time, - (select ifnull(sum(card_cash),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) orderAmount, - (select ifnull(sum(case t3 when '现金业绩' then card_cash else 0 end),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cashAmount, - (select ifnull(sum(case t3 when '划扣业绩' then consume else 0 end),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cardAmount, - (select ifnull(sum(case t3 when '划扣业绩' then consume else 0 end),0) from achieve_new a where a.beault_id=#{userId} and <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]>) cardUseAmount, + (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, @@ -250,14 +600,12 @@ <select id="selectStaffOrderAchieve" resultType="java.util.TreeMap"> select <foreach collection="list" index="index" item="item" separator="," > - ( - select - IFNULL(SUM((IFNULL(a.card_cash,0) +IFNULL(a.proj_cash,0) + IFNULL(a.goods_cash,0))),0) - from achieve_new a - where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> - <if test="staffId != null and staffId != 0"> - and sale_id=#{staffId} - </if> + (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> @@ -267,16 +615,14 @@ <select id="selectStaffCashAchieve" resultType="java.util.TreeMap"> select <foreach collection="list" index="index" item="item" separator="," > - ( - select - IFNULL(SUM((IFNULL(a.proj_cash,0))),0) - from achieve_new a - where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> + (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 sale_id=#{staffId} + and a.beault_id=#{staffId} </if> ) as t${index} - </foreach> from area where id=1 </select> @@ -284,13 +630,12 @@ <select id="selectStaffCardAchieve" resultType="java.util.TreeMap"> select <foreach collection="list" index="index" item="item" separator="," > - ( - select - IFNULL(SUM((IFNULL(a.card_cash,0))),0) - from achieve_new a - where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> + (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 sale_id=#{staffId} + and a.beault_id=#{staffId} </if> ) as t${index} @@ -301,13 +646,11 @@ <select id="selectStaffGoodsAchieve" resultType="java.util.TreeMap"> select <foreach collection="list" index="index" item="item" separator="," > - ( - select - IFNULL(SUM((IFNULL(a.goods_cash,0))),0) - from achieve_new a - where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> + (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 sale_id=#{staffId} + and a.beault_id=#{staffId} </if> ) as t${index} </foreach> @@ -365,14 +708,11 @@ <select id="selectStaffCommissionAchieve" resultType="java.util.TreeMap"> select <foreach collection="list" index="index" item="item" separator="," > - ( - select - IFNULL(SUM((IFNULL(a.proj_percentage,0))),0) - from achieve_new a - where <![CDATA[datatime > #{item.beginTime} and datatime < #{item.endTime} ]]> - <if test="staffId != null and staffId != 0"> - and beault_id=#{staffId} - </if> + (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 -- Gitblit v1.9.1