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