From 1bb16954b0630bd078483c06b26e835918ab7946 Mon Sep 17 00:00:00 2001 From: jyy <935090232@qq.com> Date: Fri, 15 Jan 2021 12:49:14 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/api' into api --- zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml | 263 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 263 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 d048579..84736e1 100644 --- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml +++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBusinessDataDao.xml @@ -533,6 +533,269 @@ ) t </select> + <select id="selectApiBusinessDataInPage" resultType="com.matrix.system.app.vo.BusinessesDataShowVo"> + select + date_format(a.time, #{record.t1}) dataTime, + sum(cashPay + cardPay + arrearsPay) totalPay, + sum(cashPay) cashPay, + sum(cardPay) cardPay, + sum(arrearsPay) arrearsPay, + sum(freeConsumePay) freeConsumePay, + sum(consumePay) consumePay, + sum(refundCardPay) refundCardPay, + sum(refundCashPay) refundCashPay + from ( + select + company_id, + shop_id, + a.time, + MAX(CASE code WHEN 'cashPay' THEN value ELSE 0 END) cashPay, + MAX(CASE code WHEN 'cardPay' THEN value ELSE 0 END) cardPay, + MAX(CASE code WHEN 'arrearsPay' THEN value ELSE 0 END) arrearsPay, + MAX(CASE code WHEN 'freeConsumePay' THEN value ELSE 0 END) freeConsumePay, + MAX(CASE code WHEN 'consumePay' THEN value ELSE 0 END) consumePay, + MAX(CASE code WHEN 'refundCashPay' THEN ABS(value) ELSE 0 END) refundCashPay, + MAX(CASE code WHEN 'refundCardPay' THEN ABS(value) ELSE 0 END) refundCardPay + from sys_business_data a + group by a.time, company_id, shop_id + ) a + <where> + <if test="record.companyId != null"> + and a.company_id=#{record.companyId} + </if> + <if test="record.shopId != null"> + and a.shop_id=#{record.shopId} + </if> + </where> + group by date_format(a.time, #{record.t1}) + order by a.time desc + <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> + <if test="pageVo.offset >=0 and pageVo.limit >0"> + limit + #{pageVo.offset},#{pageVo.limit} + </if> + </if> + </select> + <select id="selectApiBusinessDataTotal" resultType="java.lang.Integer"> + select + count(1) + from ( + select + date_format(a.time, #{record.t1}) dataTime, + sum(cashPay + cardPay + arrearsPay) totalPay, + sum(cashPay) cashPay, + sum(cardPay) cardPay, + sum(arrearsPay) arrearsPay, + sum(freeConsumePay) freeConsumePay, + sum(consumePay) consumePay, + sum(refundCardPay) refundCardPay, + sum(refundCashPay) refundCashPay + from ( + select + company_id, + shop_id, + a.time, + MAX(CASE code WHEN 'cashPay' THEN value ELSE 0 END) cashPay, + MAX(CASE code WHEN 'cardPay' THEN value ELSE 0 END) cardPay, + MAX(CASE code WHEN 'arrearsPay' THEN value ELSE 0 END) arrearsPay, + MAX(CASE code WHEN 'freeConsumePay' THEN value ELSE 0 END) freeConsumePay, + MAX(CASE code WHEN 'consumePay' THEN value ELSE 0 END) consumePay, + MAX(CASE code WHEN 'refundCashPay' THEN ABS(value) ELSE 0 END) refundCashPay, + MAX(CASE code WHEN 'refundCardPay' THEN ABS(value) ELSE 0 END) refundCardPay + from sys_business_data a + group by a.time, company_id, shop_id + ) a + <where> + <if test="record.companyId != null"> + and a.company_id=#{record.companyId} + </if> + <if test="record.shopId != null"> + and a.shop_id=#{record.shopId} + </if> + </where> + group by date_format(a.time, #{record.t1}) + order by a.time desc + ) a + </select> + + <select id="selectDemo" resultType="com.matrix.system.app.vo.BusinessesDataShowVo"> + <foreach collection="list" index="index" item="item" separator="union all" > + select + (select sum(amount) from sys_order_flow + where <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> + <if test="shopId != null"> + and shop_id=#{shopId} + </if> + <if test="companyId != null"> + and company_id=#{companyId} + </if> + )totalPay, + (select sum(amount) 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> + <if test="companyId != null"> + and company_id=#{companyId} + </if> + ) cashPay, + (select sum(amount) 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="companyId != null"> + and company_id=#{companyId} + </if> + ) cardPay, + (select sum(amount) 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> + <if test="companyId != null"> + and company_id=#{companyId} + </if> + ) arrearsPay, + (select sum(amount) 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> + <if test="companyId != null"> + and company_id=#{companyId} + </if> + ) refundCashPay, + (select sum(amount) 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> + <if test="companyId != null"> + and company_id=#{companyId} + </if> + ) refundCardPay, + (select sum(a.amount) 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> + <if test="companyId != null"> + and a.company_id=#{companyId} + </if> + ) productAchieve, + (select sum(a.amount) 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> + <if test="companyId != null"> + and a.company_id=#{companyId} + </if> + ) cardAchieve, + (select sum(amount) 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> + <if test="companyId != null"> + and company_id=#{companyId} + </if> + ) refund, + (select count(1) 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 sum(b.COUNT) 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, + (select sum(e.count * d.GOODS_PRICE) 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 sum(b.COUNT * IFNULL(c.price, 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 sum(IFNULL(his_consume, 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> + ) consumePay, + (select sum(IFNULL(free_consume, 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> + ) freeConsumePay, + (select sum(IFNULL(number_of_people, 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> + ) peopleCnt, + (select sum(IFNULL(proj_num, 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> + ) projConsumeCnt, + (select sum(IFNULL(proj_time, 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> + ) timeLength + from dual + </foreach> + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1