From 5787f5b5b547c04a52ac814ee6215503114ab617 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 22 Jan 2021 17:41:26 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml |  189 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 189 insertions(+), 0 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 119a641..e0f903f 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/TjVipSumDao.xml
@@ -297,6 +297,195 @@
 		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 <![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 <![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 <![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 <![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 <![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 <![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 <![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 <![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 <![CDATA[ ORDER_TIME > #{item.beginTime} and ORDER_TIME < #{item.endTime} ]]>
+						<if test="shopId != null">
+							and a.shop_id=#{shopId}
+						</if>
+						<if test="companyId != null">
+							and a.company_id=#{companyId}
+						</if>
+					) otherCost,
+					(select IFNULL(sum(amount),0) from sys_order_flow
+						where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> and pay_method!='欠款'
+						<if test="shopId != null">
+							and shop_id=#{shopId}
+						</if>
+						<if test="companyId != null">
+							and company_id=#{companyId}
+						</if>
+					) totalPay from dual
+				) a
+			) as t${index}
+		</foreach>
+		from area where id=1
+	</select>
+
 	<select id="selectCashRefund" resultType="java.util.TreeMap">
 		select
 		<foreach collection="list" index="index" item="item"   separator=","  >

--
Gitblit v1.9.1