From 19fb7fa1fdbcee7cecfee1554610bb40f40e2976 Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Fri, 15 Jan 2021 23:38:25 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/api' into api --- zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml | 137 +++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 137 insertions(+), 0 deletions(-) diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml index eb9e0c9..bd84c02 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml @@ -623,6 +623,7 @@ <foreach collection="list" index="index" item="item" separator="union all" > select #{item.beginTime} dataTime, + (select shop_short_name from sys_shop_info where id=#{shopId}) shopName, (select IFNULL(sum(amount),0) from sys_order_flow where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> <if test="shopId != null"> @@ -799,4 +800,140 @@ </foreach> </select> + <select id="selectDailySaleData" resultType="com.matrix.system.hive.statistics.DailySaleVo"> + <foreach collection="list" index="index" item="item" separator="union all" > + select + #{item.beginTime} dataTime, + (select IFNULL(sum(amount),0) from sys_order_flow + where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> + <if test="shopId != null"> + and shop_id=#{shopId} + </if> + )totalPay, + (select IFNULL(sum(amount),0) from sys_order_flow + where pay_method not in ('储值卡', '欠款') and flow_type != '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> + <if test="shopId != null"> + and shop_id=#{shopId} + </if> + ) cashPay, + (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> + ) cardPay, + (select IFNULL(sum(amount),0) from sys_order_flow + where pay_method = '欠款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> + <if test="shopId != null"> + and shop_id=#{shopId} + </if> + ) arrearsPay, + (select IFNULL(sum(amount),0) from sys_order_flow + where pay_method not in ('储值卡', '欠款') and flow_type = '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> + <if test="shopId != null"> + and shop_id=#{shopId} + </if> + ) refundCashPay, + (select IFNULL(sum(amount),0) from sys_order_flow + where pay_method in ('储值卡') and flow_type = '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> + <if test="shopId != null"> + and shop_id=#{shopId} + </if> + ) refundCardPay, + (select IFNULL(sum(amount),0) from sys_order_flow a + inner join sys_order_item b on a.order_id=b.ORDER_ID + inner join shopping_goods c on b.goods_id=c.id + where c.good_type='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> + <if test="shopId != null"> + and a.shop_id=#{shopId} + </if> + ) productAchieve, + (select IFNULL(sum(amount),0) from sys_order_flow a + inner join sys_order_item b on a.order_id=b.ORDER_ID + inner join shopping_goods c on b.goods_id=c.id + where c.good_type!='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> + <if test="shopId != null"> + and a.shop_id=#{shopId} + </if> + ) cardAchieve, + (select IFNULL(sum(amount),0) from sys_order_flow where flow_type = '退款' and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> + <if test="shopId != null"> + and shop_id=#{shopId} + </if> + ) refund, + (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> + ) 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> + ) totalSaleCnt, + (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> + ) 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> + ) otherCost, + (select sum(case a.paymethod when '微信' then amount else 0 end) wechat + from (<include refid="dailySaleFlow"></include>) a + ) wechat, + (select + sum(case a.paymethod when '支付宝' then amount else 0 end) alipay + from (<include refid="dailySaleFlow"></include>) a + ) alipay, + (select + sum(case a.paymethod when '现金支付' then amount else 0 end) cash + from (<include refid="dailySaleFlow"></include>) a + ) cash, + (select + sum(case a.paymethod when '银行卡' then amount else 0 end) bankCard + from (<include refid="dailySaleFlow"></include>) a + ) bankCard, + (select + sum(case a.paymethod when '团购' then amount else 0 end) tuan + from (<include refid="dailySaleFlow"></include>) a + ) tuan, + (select + sum(case a.paymethod when '本金收款' then amount else 0 end) cardBj + from (<include refid="dailySaleFlow"></include>) a + ) cardBj, + (select + sum(case a.paymethod when '赠金收款' then amount else 0 end) cardFree + from (<include refid="dailySaleFlow"></include>) a + ) cardFree, + (select + sum(case a.paymethod when '欠款' then amount else 0 end) arrears + from (<include refid="dailySaleFlow"></include>) a + ) arrears + from dual + </foreach> + </select> + + <sql id="dailySaleFlow"> + select sum(amount) amount, case when is_gift = 'Y' then '赠金收款' when is_gift='N' then '本金收款' else pay_method end paymethod + from sys_order_flow + where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime} ]]> + <if test="shopId != null"> + and a.shop_id=#{shopId} + </if> + group by paymethod + </sql> </mapper> \ No newline at end of file -- Gitblit v1.9.1