|  |  |  | 
|---|
|  |  |  | ) 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="selectApiBusinessData" resultType="com.matrix.system.app.vo.BusinessesDataShowVo"> | 
|---|
|  |  |  | <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}]]> and pay_method!='欠款' | 
|---|
|  |  |  | <if test="shopId != null"> | 
|---|
|  |  |  | and shop_id=#{shopId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="companyId != null"> | 
|---|
|  |  |  | and company_id=#{companyId} | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | <if test="companyId != null"> | 
|---|
|  |  |  | and company_id=#{companyId} | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | <if test="companyId != null"> | 
|---|
|  |  |  | and company_id=#{companyId} | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | <if test="companyId != null"> | 
|---|
|  |  |  | and company_id=#{companyId} | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | <if test="companyId != null"> | 
|---|
|  |  |  | and company_id=#{companyId} | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | <if test="companyId != null"> | 
|---|
|  |  |  | and company_id=#{companyId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | ) refundCardPay, | 
|---|
|  |  |  | (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 | 
|---|
|  |  |  | where b.good_type='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> | 
|---|
|  |  |  | <if test="shopId != null"> | 
|---|
|  |  |  | and c.shop_id=#{shopId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="companyId != null"> | 
|---|
|  |  |  | and c.company_id=#{companyId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | ) productAchieve, | 
|---|
|  |  |  | (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 | 
|---|
|  |  |  | where b.good_type!='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> | 
|---|
|  |  |  | <if test="shopId != null"> | 
|---|
|  |  |  | and c.shop_id=#{shopId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="companyId != null"> | 
|---|
|  |  |  | and c.company_id=#{companyId} | 
|---|
|  |  |  | </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> | 
|---|
|  |  |  | <if test="companyId != null"> | 
|---|
|  |  |  | and company_id=#{companyId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | ) refund, | 
|---|
|  |  |  | (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, | 
|---|
|  |  |  | (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(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="companyId != null"> | 
|---|
|  |  |  | and company_id=#{companyId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | ) consumePay, | 
|---|
|  |  |  | (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> | 
|---|
|  |  |  | ) freeConsumePay, | 
|---|
|  |  |  | (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> | 
|---|
|  |  |  | ) peopleCnt, | 
|---|
|  |  |  | (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> | 
|---|
|  |  |  | ) projConsumeCnt, | 
|---|
|  |  |  | (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> | 
|---|
|  |  |  | ) timeLength | 
|---|
|  |  |  | from dual | 
|---|
|  |  |  | </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 shop_short_name from sys_shop_info where id=#{shopId}) shopName, | 
|---|
|  |  |  | (select sum(total) shouldPay from sys_order | 
|---|
|  |  |  | where STATU in ('已付款', '欠款') and orderType=1 and <![CDATA[ create_time > #{item.beginTime} and create_time < #{item.endTime}]]> | 
|---|
|  |  |  | <if test="shopId != null"> | 
|---|
|  |  |  | and shop_id=#{shopId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | ) shouldPay, | 
|---|
|  |  |  | (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> | 
|---|
|  |  |  | )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(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 | 
|---|
|  |  |  | where b.good_type='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> | 
|---|
|  |  |  | <if test="shopId != null"> | 
|---|
|  |  |  | and c.shop_id=#{shopId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | ) productAchieve, | 
|---|
|  |  |  | (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 | 
|---|
|  |  |  | where b.good_type!='家居产品' and <![CDATA[ a.create_time > #{item.beginTime} and a.create_time < #{item.endTime}]]> | 
|---|
|  |  |  | <if test="shopId != null"> | 
|---|
|  |  |  | and c.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 orderType=1 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 a.orderType=1 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 a.orderType=1 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 a.orderType=1 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 shop_id=#{shopId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | group by paymethod | 
|---|
|  |  |  | </sql> | 
|---|
|  |  |  | </mapper> | 
|---|