From a13a93a493e7e94e28b2225c26e7e13b52d3288c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 12 Apr 2021 19:48:45 +0800
Subject: [PATCH] 20210412  tqq环境

---
 zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml |  664 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 601 insertions(+), 63 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 2d1f072..e020304 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,20 +514,256 @@
 		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}
+
+		</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 b.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 b.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 b.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 b.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 b.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>
 	

--
Gitblit v1.9.1