统计报表里加上支付宝号
This commit is contained in:
@@ -68,15 +68,16 @@ public class StatisticsController {
|
|||||||
titleRow.createCell(8).setCellValue("支付类型");
|
titleRow.createCell(8).setCellValue("支付类型");
|
||||||
titleRow.createCell(9).setCellValue("支付时间");
|
titleRow.createCell(9).setCellValue("支付时间");
|
||||||
titleRow.createCell(10).setCellValue("订单编号");
|
titleRow.createCell(10).setCellValue("订单编号");
|
||||||
titleRow.createCell(11).setCellValue("天数");
|
titleRow.createCell(11).setCellValue("支付宝号");
|
||||||
titleRow.createCell(12).setCellValue("金额");
|
titleRow.createCell(12).setCellValue("天数");
|
||||||
titleRow.createCell(13).setCellValue("备注");
|
titleRow.createCell(13).setCellValue("金额");
|
||||||
titleRow.createCell(14).setCellValue("每日摊销");
|
titleRow.createCell(14).setCellValue("备注");
|
||||||
titleRow.createCell(15).setCellValue("已摊销天数");
|
titleRow.createCell(15).setCellValue("每日摊销");
|
||||||
titleRow.createCell(16).setCellValue("本期天数");
|
titleRow.createCell(16).setCellValue("已摊销天数");
|
||||||
titleRow.createCell(17).setCellValue("已摊销金额");
|
titleRow.createCell(17).setCellValue("本期天数");
|
||||||
titleRow.createCell(18).setCellValue("本期摊销金额");
|
titleRow.createCell(18).setCellValue("已摊销金额");
|
||||||
titleRow.createCell(19).setCellValue("剩余金额");
|
titleRow.createCell(19).setCellValue("本期摊销金额");
|
||||||
|
titleRow.createCell(20).setCellValue("剩余金额");
|
||||||
int cell = 1;
|
int cell = 1;
|
||||||
for (Map<String,Object> map : maps) {
|
for (Map<String,Object> map : maps) {
|
||||||
Row row = sheet.createRow(cell);
|
Row row = sheet.createRow(cell);
|
||||||
@@ -91,15 +92,16 @@ public class StatisticsController {
|
|||||||
row.createCell(8).setCellValue(map.get("payType").toString());
|
row.createCell(8).setCellValue(map.get("payType").toString());
|
||||||
row.createCell(9).setCellValue(map.get("payTime").toString());
|
row.createCell(9).setCellValue(map.get("payTime").toString());
|
||||||
row.createCell(10).setCellValue(map.get("orderSn").toString());
|
row.createCell(10).setCellValue(map.get("orderSn").toString());
|
||||||
row.createCell(11).setCellValue(map.get("days").toString());
|
row.createCell(11).setCellValue(map.get("zfbOrder")==null?"":map.get("zfbOrder").toString());
|
||||||
row.createCell(12).setCellValue(map.get("fee").toString());
|
row.createCell(12).setCellValue(map.get("days").toString());
|
||||||
row.createCell(13).setCellValue(map.get("remark").toString());
|
row.createCell(13).setCellValue(map.get("fee").toString());
|
||||||
row.createCell(14).setCellValue(map.get("dayAmount").toString());
|
row.createCell(14).setCellValue(map.get("remark").toString());
|
||||||
row.createCell(15).setCellValue(map.get("alreadyDay").toString());
|
row.createCell(15).setCellValue(map.get("dayAmount").toString());
|
||||||
row.createCell(16).setCellValue(map.get("currentDay").toString());
|
row.createCell(16).setCellValue(map.get("alreadyDay").toString());
|
||||||
row.createCell(17).setCellValue(map.get("alreadyTanxiao").toString());
|
row.createCell(17).setCellValue(map.get("currentDay").toString());
|
||||||
row.createCell(18).setCellValue(map.get("currentTanxiao").toString());
|
row.createCell(18).setCellValue(map.get("alreadyTanxiao").toString());
|
||||||
row.createCell(19).setCellValue(map.get("surplusTanxiao").toString());
|
row.createCell(19).setCellValue(map.get("currentTanxiao").toString());
|
||||||
|
row.createCell(20).setCellValue(map.get("surplusTanxiao").toString());
|
||||||
//序号自增
|
//序号自增
|
||||||
cell++;
|
cell++;
|
||||||
}
|
}
|
||||||
@@ -148,10 +150,11 @@ public class StatisticsController {
|
|||||||
titleRow.createCell(3).setCellValue("类型");
|
titleRow.createCell(3).setCellValue("类型");
|
||||||
titleRow.createCell(4).setCellValue("支付方式");
|
titleRow.createCell(4).setCellValue("支付方式");
|
||||||
titleRow.createCell(5).setCellValue("订单编号");
|
titleRow.createCell(5).setCellValue("订单编号");
|
||||||
titleRow.createCell(6).setCellValue("变动金额");
|
titleRow.createCell(6).setCellValue("支付宝号");
|
||||||
titleRow.createCell(7).setCellValue("备注");
|
titleRow.createCell(7).setCellValue("变动金额");
|
||||||
titleRow.createCell(8).setCellValue("商品类型");
|
titleRow.createCell(8).setCellValue("备注");
|
||||||
titleRow.createCell(9).setCellValue("商品名称");
|
titleRow.createCell(9).setCellValue("商品类型");
|
||||||
|
titleRow.createCell(10).setCellValue("商品名称");
|
||||||
//序号,默认为1
|
//序号,默认为1
|
||||||
int cell = 1;
|
int cell = 1;
|
||||||
//遍历
|
//遍历
|
||||||
@@ -163,10 +166,11 @@ public class StatisticsController {
|
|||||||
row.createCell(3).setCellValue(map.get("type").toString());
|
row.createCell(3).setCellValue(map.get("type").toString());
|
||||||
row.createCell(4).setCellValue(map.get("payMethod").toString());
|
row.createCell(4).setCellValue(map.get("payMethod").toString());
|
||||||
row.createCell(5).setCellValue(map.get("payNo").toString());
|
row.createCell(5).setCellValue(map.get("payNo").toString());
|
||||||
row.createCell(6).setCellValue(map.get("changeAmount").toString());
|
row.createCell(6).setCellValue(map.get("zfbOrder")==null?"":map.get("zfbOrder").toString());
|
||||||
row.createCell(7).setCellValue(map.get("note").toString());
|
row.createCell(7).setCellValue(map.get("changeAmount").toString());
|
||||||
row.createCell(8).setCellValue(map.get("goodsType").toString());
|
row.createCell(8).setCellValue(map.get("note").toString());
|
||||||
row.createCell(9).setCellValue(map.get("productName").toString());
|
row.createCell(9).setCellValue(map.get("goodsType").toString());
|
||||||
|
row.createCell(10).setCellValue(map.get("productName").toString());
|
||||||
//序号自增
|
//序号自增
|
||||||
cell++;
|
cell++;
|
||||||
}
|
}
|
||||||
@@ -212,11 +216,12 @@ public class StatisticsController {
|
|||||||
titleRow.createCell(1).setCellValue("姓名");
|
titleRow.createCell(1).setCellValue("姓名");
|
||||||
titleRow.createCell(2).setCellValue("电话");
|
titleRow.createCell(2).setCellValue("电话");
|
||||||
titleRow.createCell(3).setCellValue("订单号");
|
titleRow.createCell(3).setCellValue("订单号");
|
||||||
titleRow.createCell(4).setCellValue("订单状态");
|
titleRow.createCell(4).setCellValue("支付宝号");
|
||||||
titleRow.createCell(5).setCellValue("支付方式");
|
titleRow.createCell(5).setCellValue("订单状态");
|
||||||
titleRow.createCell(6).setCellValue("订单金额");
|
titleRow.createCell(6).setCellValue("支付方式");
|
||||||
titleRow.createCell(7).setCellValue("实物金额");
|
titleRow.createCell(7).setCellValue("订单金额");
|
||||||
titleRow.createCell(8).setCellValue("商品名称");
|
titleRow.createCell(8).setCellValue("实物金额");
|
||||||
|
titleRow.createCell(9).setCellValue("商品名称");
|
||||||
//序号,默认为1
|
//序号,默认为1
|
||||||
int cell = 1;
|
int cell = 1;
|
||||||
//遍历
|
//遍历
|
||||||
@@ -226,11 +231,12 @@ public class StatisticsController {
|
|||||||
row.createCell(1).setCellValue(map.get("name").toString());
|
row.createCell(1).setCellValue(map.get("name").toString());
|
||||||
row.createCell(2).setCellValue(map.get("tel").toString());
|
row.createCell(2).setCellValue(map.get("tel").toString());
|
||||||
row.createCell(3).setCellValue(map.get("orderSn").toString());
|
row.createCell(3).setCellValue(map.get("orderSn").toString());
|
||||||
row.createCell(4).setCellValue(map.get("orderStatus").toString());
|
row.createCell(4).setCellValue(map.get("zfbOrder")==null?"":map.get("zfbOrder").toString());
|
||||||
row.createCell(5).setCellValue(map.get("payType").toString());
|
row.createCell(5).setCellValue(map.get("orderStatus").toString());
|
||||||
row.createCell(6).setCellValue(map.get("orderPrice").toString());
|
row.createCell(6).setCellValue(map.get("payType").toString());
|
||||||
row.createCell(7).setCellValue(map.get("price").toString());
|
row.createCell(7).setCellValue(map.get("orderPrice").toString());
|
||||||
row.createCell(8).setCellValue(map.get("productName").toString());
|
row.createCell(8).setCellValue(map.get("price").toString());
|
||||||
|
row.createCell(9).setCellValue(map.get("productName").toString());
|
||||||
//序号自增
|
//序号自增
|
||||||
cell++;
|
cell++;
|
||||||
}
|
}
|
||||||
@@ -279,18 +285,19 @@ public class StatisticsController {
|
|||||||
titleRow.createCell(4).setCellValue("结束时间");
|
titleRow.createCell(4).setCellValue("结束时间");
|
||||||
titleRow.createCell(5).setCellValue("支付时间");
|
titleRow.createCell(5).setCellValue("支付时间");
|
||||||
titleRow.createCell(6).setCellValue("订单号");
|
titleRow.createCell(6).setCellValue("订单号");
|
||||||
titleRow.createCell(7).setCellValue("支付方式");
|
titleRow.createCell(7).setCellValue("支付宝号");
|
||||||
titleRow.createCell(8).setCellValue("备注");
|
titleRow.createCell(8).setCellValue("支付方式");
|
||||||
titleRow.createCell(9).setCellValue("缴费金额");
|
titleRow.createCell(9).setCellValue("备注");
|
||||||
titleRow.createCell(10).setCellValue("摊销计算金额");
|
titleRow.createCell(10).setCellValue("缴费金额");
|
||||||
titleRow.createCell(11).setCellValue("总天数");
|
titleRow.createCell(11).setCellValue("摊销计算金额");
|
||||||
titleRow.createCell(12).setCellValue("每日摊销");
|
titleRow.createCell(12).setCellValue("总天数");
|
||||||
titleRow.createCell(13).setCellValue("已摊销天数");
|
titleRow.createCell(13).setCellValue("每日摊销");
|
||||||
titleRow.createCell(14).setCellValue("当月摊销天数");
|
titleRow.createCell(14).setCellValue("已摊销天数");
|
||||||
titleRow.createCell(15).setCellValue("未摊销天数");
|
titleRow.createCell(15).setCellValue("当月摊销天数");
|
||||||
titleRow.createCell(16).setCellValue("已摊销金额");
|
titleRow.createCell(16).setCellValue("未摊销天数");
|
||||||
titleRow.createCell(17).setCellValue("当月摊销金额");
|
titleRow.createCell(17).setCellValue("已摊销金额");
|
||||||
titleRow.createCell(18).setCellValue("剩余摊销金额");
|
titleRow.createCell(18).setCellValue("当月摊销金额");
|
||||||
|
titleRow.createCell(19).setCellValue("剩余摊销金额");
|
||||||
//序号,默认为1
|
//序号,默认为1
|
||||||
int cell = 1;
|
int cell = 1;
|
||||||
//遍历
|
//遍历
|
||||||
@@ -303,18 +310,19 @@ public class StatisticsController {
|
|||||||
row.createCell(4).setCellValue(map.get("endTime").toString());
|
row.createCell(4).setCellValue(map.get("endTime").toString());
|
||||||
row.createCell(5).setCellValue(map.get("payTime").toString());
|
row.createCell(5).setCellValue(map.get("payTime").toString());
|
||||||
row.createCell(6).setCellValue(map.get("orderSn").toString());
|
row.createCell(6).setCellValue(map.get("orderSn").toString());
|
||||||
row.createCell(7).setCellValue(map.get("payType").toString());
|
row.createCell(7).setCellValue(map.get("zfbOrder")==null?"":map.get("zfbOrder").toString());
|
||||||
row.createCell(8).setCellValue(map.get("remark").toString());
|
row.createCell(8).setCellValue(map.get("payType").toString());
|
||||||
row.createCell(9).setCellValue(map.get("price").toString());
|
row.createCell(9).setCellValue(map.get("remark").toString());
|
||||||
row.createCell(10).setCellValue(map.get("fee").toString());
|
row.createCell(10).setCellValue(map.get("price").toString());
|
||||||
row.createCell(11).setCellValue(map.get("totalDays").toString());
|
row.createCell(11).setCellValue(map.get("fee").toString());
|
||||||
row.createCell(12).setCellValue(map.get("dayAmount").toString());
|
row.createCell(12).setCellValue(map.get("totalDays").toString());
|
||||||
row.createCell(13).setCellValue(map.get("alreadyDays").toString());
|
row.createCell(13).setCellValue(map.get("dayAmount").toString());
|
||||||
row.createCell(14).setCellValue(map.get("currentDays").toString());
|
row.createCell(14).setCellValue(map.get("alreadyDays").toString());
|
||||||
row.createCell(15).setCellValue(map.get("notyetDays").toString());
|
row.createCell(15).setCellValue(map.get("currentDays").toString());
|
||||||
row.createCell(16).setCellValue(map.get("alreadyTanxiao").toString());
|
row.createCell(16).setCellValue(map.get("notyetDays").toString());
|
||||||
row.createCell(17).setCellValue(map.get("currentTanxiao").toString());
|
row.createCell(17).setCellValue(map.get("alreadyTanxiao").toString());
|
||||||
row.createCell(18).setCellValue(map.get("notyetTanxiao").toString());
|
row.createCell(18).setCellValue(map.get("currentTanxiao").toString());
|
||||||
|
row.createCell(19).setCellValue(map.get("notyetTanxiao").toString());
|
||||||
//序号自增
|
//序号自增
|
||||||
cell++;
|
cell++;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,8 @@
|
|||||||
<!-- </resultMap>-->
|
<!-- </resultMap>-->
|
||||||
<select id="getPhysicalBuyOrderTotal" resultType="map">
|
<select id="getPhysicalBuyOrderTotal" resultType="map">
|
||||||
select payType,count(1) count,SUM(price) totalPrice from (
|
select payType,count(1) count,SUM(price) totalPrice from (
|
||||||
|
select q.*,pzo.trade_no zfbOrder
|
||||||
|
from (
|
||||||
select t.createTime,t.name,t.tel,t.orderSn,t.orderStatus,t.payType,t.orderPrice,
|
select t.createTime,t.name,t.tel,t.orderSn,t.orderStatus,t.payType,t.orderPrice,
|
||||||
t.orderPrice-(select IF(SUM(sp2.price) is NULL,0,SUM(sp2.price)) from shop_product sp2 where sp2.goods_type = '05' and sp2.product_id in (GROUP_CONCAT(sp.product_id SEPARATOR ','))) price,
|
t.orderPrice-(select IF(SUM(sp2.price) is NULL,0,SUM(sp2.price)) from shop_product sp2 where sp2.goods_type = '05' and sp2.product_id in (GROUP_CONCAT(sp.product_id SEPARATOR ','))) price,
|
||||||
GROUP_CONCAT(sp.product_name SEPARATOR ', ') productName
|
GROUP_CONCAT(sp.product_name SEPARATOR ', ') productName
|
||||||
@@ -71,11 +73,15 @@ and DATE_FORMAT(bo.create_time,'%Y-%m') = SUBSTR(#{date},1,7)
|
|||||||
left join buy_order_product bop on bop.order_id = t.order_id
|
left join buy_order_product bop on bop.order_id = t.order_id
|
||||||
left join shop_product sp on sp.product_id = bop.product_id
|
left join shop_product sp on sp.product_id = bop.product_id
|
||||||
group by t.orderSn
|
group by t.orderSn
|
||||||
|
) q
|
||||||
|
left join pay_zfb_order pzo on pzo.relevanceOid = q.orderSn
|
||||||
) s
|
) s
|
||||||
group by payType
|
group by payType
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="exportPhysicalBuyOrderInfo" resultType="map">
|
<select id="exportPhysicalBuyOrderInfo" resultType="map">
|
||||||
|
select q.*,pzo.trade_no zfbOrder
|
||||||
|
from (
|
||||||
select t.createTime,t.name,t.tel,t.orderSn,t.orderStatus,t.payType,t.orderPrice,
|
select t.createTime,t.name,t.tel,t.orderSn,t.orderStatus,t.payType,t.orderPrice,
|
||||||
t.orderPrice-(select IF(SUM(sp2.price) is NULL,0,SUM(sp2.price)) from shop_product sp2 where sp2.goods_type = '05' and sp2.product_id in (GROUP_CONCAT(sp.product_id SEPARATOR ','))) price,
|
t.orderPrice-(select IF(SUM(sp2.price) is NULL,0,SUM(sp2.price)) from shop_product sp2 where sp2.goods_type = '05' and sp2.product_id in (GROUP_CONCAT(sp.product_id SEPARATOR ','))) price,
|
||||||
GROUP_CONCAT(sp.product_name SEPARATOR ', ') productName
|
GROUP_CONCAT(sp.product_name SEPARATOR ', ') productName
|
||||||
@@ -95,6 +101,8 @@ and DATE_FORMAT(bo.create_time,'%Y-%m') = SUBSTR(#{date},1,7)
|
|||||||
left join buy_order_product bop on bop.order_id = t.order_id
|
left join buy_order_product bop on bop.order_id = t.order_id
|
||||||
left join shop_product sp on sp.product_id = bop.product_id
|
left join shop_product sp on sp.product_id = bop.product_id
|
||||||
group by t.orderSn
|
group by t.orderSn
|
||||||
|
) q
|
||||||
|
left join pay_zfb_order pzo on pzo.relevanceOid = q.orderSn
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,8 @@
|
|||||||
</select>
|
</select>
|
||||||
<select id="getTransactionDetailsTotal" resultType="map">
|
<select id="getTransactionDetailsTotal" resultType="map">
|
||||||
select type,payMethod,goodsType,SUM(changeAmount) amount
|
select type,payMethod,goodsType,SUM(changeAmount) amount
|
||||||
|
from (
|
||||||
|
select q.*,pzo.trade_no zfbOrder
|
||||||
from (
|
from (
|
||||||
select t.*,
|
select t.*,
|
||||||
IF(IF(GROUP_CONCAT(sp.product_name SEPARATOR ',') is NULL,IF(bo.order_type='vip',vbc.title,bo.remark),GROUP_CONCAT(sp.product_name SEPARATOR ',')) is NULL,'',IF((GROUP_CONCAT(sp.goods_type SEPARATOR ',') like '%,05%') or (GROUP_CONCAT(sp.goods_type SEPARATOR ',') like '05,'),'实物、课程',IF(GROUP_CONCAT(sp.goods_type SEPARATOR ',')='05','课程',IF(bo.order_type='relearn','课程',IF(bo.order_type='trainingClass','培训班',IF(bo.order_type='vip','VIP','实物')))))) goodsType,
|
IF(IF(GROUP_CONCAT(sp.product_name SEPARATOR ',') is NULL,IF(bo.order_type='vip',vbc.title,bo.remark),GROUP_CONCAT(sp.product_name SEPARATOR ',')) is NULL,'',IF((GROUP_CONCAT(sp.goods_type SEPARATOR ',') like '%,05%') or (GROUP_CONCAT(sp.goods_type SEPARATOR ',') like '05,'),'实物、课程',IF(GROUP_CONCAT(sp.goods_type SEPARATOR ',')='05','课程',IF(bo.order_type='relearn','课程',IF(bo.order_type='trainingClass','培训班',IF(bo.order_type='vip','VIP','实物')))))) goodsType,
|
||||||
@@ -45,10 +47,14 @@
|
|||||||
left join vip_buy_config vbc on vbc.id = bo.vip_buy_config_id
|
left join vip_buy_config vbc on vbc.id = bo.vip_buy_config_id
|
||||||
group by t.id
|
group by t.id
|
||||||
order by t.createTime
|
order by t.createTime
|
||||||
|
) q
|
||||||
|
left join pay_zfb_order pzo on pzo.relevanceOid = q.payNo
|
||||||
) s
|
) s
|
||||||
group by type,payMethod,goodsType
|
group by type,payMethod,goodsType
|
||||||
</select>
|
</select>
|
||||||
<select id="getTransactionDetailsInfo" resultType="map">
|
<select id="getTransactionDetailsInfo" resultType="map">
|
||||||
|
select q.*,pzo.trade_no zfbOrder
|
||||||
|
from (
|
||||||
select t.*,
|
select t.*,
|
||||||
IF(IF(GROUP_CONCAT(sp.product_name SEPARATOR ',') is NULL,IF(bo.order_type='vip',vbc.title,bo.remark),GROUP_CONCAT(sp.product_name SEPARATOR ',')) is NULL,'',IF((GROUP_CONCAT(sp.goods_type SEPARATOR ',') like '%,05%') or (GROUP_CONCAT(sp.goods_type SEPARATOR ',') like '05,'),'实物、课程',IF(GROUP_CONCAT(sp.goods_type SEPARATOR ',')='05','课程',IF(bo.order_type='relearn','课程',IF(bo.order_type='trainingClass','培训班',IF(bo.order_type='vip','VIP','实物')))))) goodsType,
|
IF(IF(GROUP_CONCAT(sp.product_name SEPARATOR ',') is NULL,IF(bo.order_type='vip',vbc.title,bo.remark),GROUP_CONCAT(sp.product_name SEPARATOR ',')) is NULL,'',IF((GROUP_CONCAT(sp.goods_type SEPARATOR ',') like '%,05%') or (GROUP_CONCAT(sp.goods_type SEPARATOR ',') like '05,'),'实物、课程',IF(GROUP_CONCAT(sp.goods_type SEPARATOR ',')='05','课程',IF(bo.order_type='relearn','课程',IF(bo.order_type='trainingClass','培训班',IF(bo.order_type='vip','VIP','实物')))))) goodsType,
|
||||||
IF(IF(GROUP_CONCAT(sp.product_name SEPARATOR ',') is NULL,IF(bo.order_type='vip',vbc.title,bo.remark),GROUP_CONCAT(sp.product_name SEPARATOR ',')) is NULL,'',IF(GROUP_CONCAT(sp.product_name SEPARATOR ',') is NULL,IF(bo.order_type='vip',vbc.title,bo.remark),GROUP_CONCAT(sp.product_name SEPARATOR ','))) productName
|
IF(IF(GROUP_CONCAT(sp.product_name SEPARATOR ',') is NULL,IF(bo.order_type='vip',vbc.title,bo.remark),GROUP_CONCAT(sp.product_name SEPARATOR ',')) is NULL,'',IF(GROUP_CONCAT(sp.product_name SEPARATOR ',') is NULL,IF(bo.order_type='vip',vbc.title,bo.remark),GROUP_CONCAT(sp.product_name SEPARATOR ','))) productName
|
||||||
@@ -67,6 +73,8 @@
|
|||||||
left join vip_buy_config vbc on vbc.id = bo.vip_buy_config_id
|
left join vip_buy_config vbc on vbc.id = bo.vip_buy_config_id
|
||||||
group by t.id
|
group by t.id
|
||||||
order by t.createTime
|
order by t.createTime
|
||||||
|
) q
|
||||||
|
left join pay_zfb_order pzo on pzo.relevanceOid = q.payNo
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
<select id="getUserCourseBuyInfo" resultType="map">
|
<select id="getUserCourseBuyInfo" resultType="map">
|
||||||
select w.name,w.tel,w.ctitle,w.cctitle,if(w.startTime is null,'',w.startTime) startTime,if(w.endTime is null,'',w.endTime) endTime,w.totalDays
|
select w.name,w.tel,w.ctitle,w.cctitle,if(w.startTime is null,'',w.startTime) startTime,if(w.endTime is null,'',w.endTime) endTime,w.totalDays
|
||||||
,w.type,w.payType,w.payTime,w.orderSn,w.days,w.fee,w.remark,w.dayAmount,w.alreadyDay,w.currentDay
|
,w.type,w.payType,w.payTime,w.orderSn,w.zfbOrder,w.days,w.fee,w.remark,w.dayAmount,w.alreadyDay,w.currentDay
|
||||||
,ROUND(alreadyDay*dayAmount,2) alreadyTanxiao
|
,ROUND(alreadyDay*dayAmount,2) alreadyTanxiao
|
||||||
,ROUND(if(alreadyDay+currentDay=totalDays,fee-ROUND(alreadyDay*dayAmount,2),currentDay*dayAmount),2) currentTanxiao
|
,ROUND(if(alreadyDay+currentDay=totalDays,fee-ROUND(alreadyDay*dayAmount,2),currentDay*dayAmount),2) currentTanxiao
|
||||||
,ROUND(fee-(alreadyDay*dayAmount)-ROUND(if(alreadyDay+currentDay=totalDays,fee-ROUND(alreadyDay*dayAmount,2),currentDay*dayAmount),2),2) surplusTanxiao
|
,ROUND(fee-(alreadyDay*dayAmount)-ROUND(if(alreadyDay+currentDay=totalDays,fee-ROUND(alreadyDay*dayAmount,2),currentDay*dayAmount),2),2) surplusTanxiao
|
||||||
@@ -23,13 +23,14 @@
|
|||||||
from (
|
from (
|
||||||
select u.name,if(u.tel is null,if(u.email is null,'',u.email),u.tel) tel,c.title ctitle,cc.title cctitle,
|
select u.name,if(u.tel is null,if(u.email is null,'',u.email),u.tel) tel,c.title ctitle,cc.title cctitle,
|
||||||
ucb.days totalDays,ucb.start_time startTime,ucb.end_time endTime,
|
ucb.days totalDays,ucb.start_time startTime,ucb.end_time endTime,
|
||||||
ucbl.type,ucbl.pay_type payType,ucbl.pay_time payTime,ucbl.order_sn orderSn,
|
ucbl.type,ucbl.pay_type payType,ucbl.pay_time payTime,ucbl.order_sn orderSn,pzo.trade_no zfbOrder,
|
||||||
ucbl.begin_day beginDay,ucbl.days days,ucbl.fee,ucbl.remark
|
ucbl.begin_day beginDay,ucbl.days days,ucbl.fee,ucbl.remark
|
||||||
from user_course_buy_log ucbl
|
from user_course_buy_log ucbl
|
||||||
left join user_course_buy ucb on ucb.id = ucbl.user_course_buy_id
|
left join user_course_buy ucb on ucb.id = ucbl.user_course_buy_id
|
||||||
left join user u on u.id = ucb.user_id
|
left join user u on u.id = ucb.user_id
|
||||||
left join course c on c.id = ucb.course_id
|
left join course c on c.id = ucb.course_id
|
||||||
left join course_catalogue cc on cc.id = ucb.catalogue_id
|
left join course_catalogue cc on cc.id = ucb.catalogue_id
|
||||||
|
left join pay_zfb_order pzo on pzo.relevanceOid = ucbl.order_sn
|
||||||
where ucbl.del_flag = 0 and DATE_FORMAT(ucbl.pay_time,'%Y-%m-%d') <= #{date}
|
where ucbl.del_flag = 0 and DATE_FORMAT(ucbl.pay_time,'%Y-%m-%d') <= #{date}
|
||||||
order by ucb.id
|
order by ucb.id
|
||||||
) t) s) q) w
|
) t) s) q) w
|
||||||
@@ -39,7 +40,7 @@
|
|||||||
select ROUND(SUM(fee),2) fee,ROUND(SUM(alreadyTanxiao),2) alreadyTanxiao,ROUND(SUM(currentTanxiao),2) currentTanxiao,ROUND(SUM(surplusTanxiao),2) surplusTanxiao
|
select ROUND(SUM(fee),2) fee,ROUND(SUM(alreadyTanxiao),2) alreadyTanxiao,ROUND(SUM(currentTanxiao),2) currentTanxiao,ROUND(SUM(surplusTanxiao),2) surplusTanxiao
|
||||||
from (
|
from (
|
||||||
select w.name,w.tel,w.ctitle,w.cctitle,if(w.startTime is null,'',w.startTime) startTime,if(w.endTime is null,'',w.endTime) endTime,w.totalDays
|
select w.name,w.tel,w.ctitle,w.cctitle,if(w.startTime is null,'',w.startTime) startTime,if(w.endTime is null,'',w.endTime) endTime,w.totalDays
|
||||||
,w.type,w.payType,w.payTime,w.orderSn,w.days,w.fee,w.remark,w.dayAmount,w.alreadyDay,w.currentDay
|
,w.type,w.payType,w.payTime,w.orderSn,w.zfbOrder,w.days,w.fee,w.remark,w.dayAmount,w.alreadyDay,w.currentDay
|
||||||
,ROUND(alreadyDay*dayAmount,2) alreadyTanxiao
|
,ROUND(alreadyDay*dayAmount,2) alreadyTanxiao
|
||||||
,ROUND(if(alreadyDay+currentDay=totalDays,fee-ROUND(alreadyDay*dayAmount,2),currentDay*dayAmount),2) currentTanxiao
|
,ROUND(if(alreadyDay+currentDay=totalDays,fee-ROUND(alreadyDay*dayAmount,2),currentDay*dayAmount),2) currentTanxiao
|
||||||
,ROUND(fee-(alreadyDay*dayAmount)-ROUND(if(alreadyDay+currentDay=totalDays,fee-ROUND(alreadyDay*dayAmount,2),currentDay*dayAmount),2),2) surplusTanxiao
|
,ROUND(fee-(alreadyDay*dayAmount)-ROUND(if(alreadyDay+currentDay=totalDays,fee-ROUND(alreadyDay*dayAmount,2),currentDay*dayAmount),2),2) surplusTanxiao
|
||||||
@@ -57,13 +58,14 @@
|
|||||||
from (
|
from (
|
||||||
select u.name,if(u.tel is null,if(u.email is null,'',u.email),u.tel) tel,c.title ctitle,cc.title cctitle,
|
select u.name,if(u.tel is null,if(u.email is null,'',u.email),u.tel) tel,c.title ctitle,cc.title cctitle,
|
||||||
ucb.days totalDays,ucb.start_time startTime,ucb.end_time endTime,
|
ucb.days totalDays,ucb.start_time startTime,ucb.end_time endTime,
|
||||||
ucbl.type,ucbl.pay_type payType,ucbl.pay_time payTime,ucbl.order_sn orderSn,
|
ucbl.type,ucbl.pay_type payType,ucbl.pay_time payTime,ucbl.order_sn orderSn,pzo.trade_no zfbOrder,
|
||||||
ucbl.begin_day beginDay,ucbl.days days,ucbl.fee,ucbl.remark
|
ucbl.begin_day beginDay,ucbl.days days,ucbl.fee,ucbl.remark
|
||||||
from user_course_buy_log ucbl
|
from user_course_buy_log ucbl
|
||||||
left join user_course_buy ucb on ucb.id = ucbl.user_course_buy_id
|
left join user_course_buy ucb on ucb.id = ucbl.user_course_buy_id
|
||||||
left join user u on u.id = ucb.user_id
|
left join user u on u.id = ucb.user_id
|
||||||
left join course c on c.id = ucb.course_id
|
left join course c on c.id = ucb.course_id
|
||||||
left join course_catalogue cc on cc.id = ucb.catalogue_id
|
left join course_catalogue cc on cc.id = ucb.catalogue_id
|
||||||
|
left join pay_zfb_order pzo on pzo.relevanceOid = ucbl.order_sn
|
||||||
where ucbl.del_flag = 0 and DATE_FORMAT(ucbl.pay_time,'%Y-%m-%d') <= #{date}
|
where ucbl.del_flag = 0 and DATE_FORMAT(ucbl.pay_time,'%Y-%m-%d') <= #{date}
|
||||||
order by ucb.id
|
order by ucb.id
|
||||||
) t) s) q) w
|
) t) s) q) w
|
||||||
|
|||||||
@@ -10,13 +10,14 @@
|
|||||||
fee-IF(totalDays=alreadyDays,fee,dayAmount*alreadyDays)-(dayAmount*currentDays) notyetTanxiao
|
fee-IF(totalDays=alreadyDays,fee,dayAmount*alreadyDays)-(dayAmount*currentDays) notyetTanxiao
|
||||||
from (
|
from (
|
||||||
select u.name,if(u.tel is null,if(u.email is null,'',u.email),u.tel) tel,IF(uv.type=4,'中医学',IF(uv.type=5,'针灸学',IF(uv.type=6,'肿瘤学',IF(uv.type=7,'国学',IF(uv.type=8,'心理学','中西汇通学'))))) type,
|
select u.name,if(u.tel is null,if(u.email is null,'',u.email),u.tel) tel,IF(uv.type=4,'中医学',IF(uv.type=5,'针灸学',IF(uv.type=6,'肿瘤学',IF(uv.type=7,'国学',IF(uv.type=8,'心理学','中西汇通学'))))) type,
|
||||||
uvl.start_time startTime,uvl.end_time endTime,if(uvl.pay_time is null,'',uvl.pay_time) payTime,uvl.order_sn orderSn,uvl.pay_type payType,uvl.remark,uvl.price,uvl.fee,DATEDIFF(uvl.end_time,uvl.start_time)+1 totalDays,ROUND(uvl.fee/(DATEDIFF(uvl.end_time,uvl.start_time)+1),2) dayAmount,
|
uvl.start_time startTime,uvl.end_time endTime,if(uvl.pay_time is null,'',uvl.pay_time) payTime,uvl.order_sn orderSn,pzo.trade_no zfbOrder,uvl.pay_type payType,uvl.remark,uvl.price,uvl.fee,DATEDIFF(uvl.end_time,uvl.start_time)+1 totalDays,ROUND(uvl.fee/(DATEDIFF(uvl.end_time,uvl.start_time)+1),2) dayAmount,
|
||||||
IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(concat(SUBSTR(#{date},1,7),'-01'),uvl.start_time),0))) alreadyDays,
|
IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(concat(SUBSTR(#{date},1,7),'-01'),uvl.start_time),0))) alreadyDays,
|
||||||
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') > SUBSTR(#{date},1,7),if(DATE_FORMAT(uvl.start_time, '%Y-%m') = SUBSTR(#{date},1,7),DATEDIFF(#{date},uvl.start_time)+1,DAY(#{date})),DATEDIFF(uvl.end_time,concat(SUBSTR(#{date},1,7),'-01'))+1))) currentDays,
|
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') > SUBSTR(#{date},1,7),if(DATE_FORMAT(uvl.start_time, '%Y-%m') = SUBSTR(#{date},1,7),DATEDIFF(#{date},uvl.start_time)+1,DAY(#{date})),DATEDIFF(uvl.end_time,concat(SUBSTR(#{date},1,7),'-01'))+1))) currentDays,
|
||||||
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,(IF(DATE_FORMAT(uvl.end_time, '%Y-%m') <= SUBSTR(#{date},1,7),0,DATEDIFF(uvl.end_time,#{date})))) notyetDays
|
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,(IF(DATE_FORMAT(uvl.end_time, '%Y-%m') <= SUBSTR(#{date},1,7),0,DATEDIFF(uvl.end_time,#{date})))) notyetDays
|
||||||
from user_vip_log uvl
|
from user_vip_log uvl
|
||||||
left join user_vip uv on uv.id = uvl.user_vip_id
|
left join user_vip uv on uv.id = uvl.user_vip_id
|
||||||
left join user u on u.id = uvl.user_id
|
left join user u on u.id = uvl.user_id
|
||||||
|
left join pay_zfb_order pzo on pzo.relevanceOid = uvl.order_sn
|
||||||
where u.del_flag = 0 and uvl.del_flag = 0 and uv.del_flag = 0
|
where u.del_flag = 0 and uvl.del_flag = 0 and uv.del_flag = 0
|
||||||
and DATE_FORMAT(IF(uvl.pay_time is NULL,uvl.start_time,uvl.pay_time), '%Y-%m') <= SUBSTR(#{date},1,7)
|
and DATE_FORMAT(IF(uvl.pay_time is NULL,uvl.start_time,uvl.pay_time), '%Y-%m') <= SUBSTR(#{date},1,7)
|
||||||
and u.id not in (select id from user where tel in ('18812616272','13110039505','18526084267','12222222222','13333333333','14444444444','15555555555','16666666666','17777777777','18888888888','1774455','15533','165965','164964','54321','111','13662001490','15505153873','18834844847','17602219785','19999999999','12299','166933','16855','17602634511','16161616161','17171717171','112112112','21212121211','222222','666666','123123','789789','96','25252525','3434343434','123789','124789','789789','163963','5656','19966','1664455','15151515151','256366','986986','18834844846','18834844849','15611027864','18047689535','18834844848','456456456'))
|
and u.id not in (select id from user where tel in ('18812616272','13110039505','18526084267','12222222222','13333333333','14444444444','15555555555','16666666666','17777777777','18888888888','1774455','15533','165965','164964','54321','111','13662001490','15505153873','18834844847','17602219785','19999999999','12299','166933','16855','17602634511','16161616161','17171717171','112112112','21212121211','222222','666666','123123','789789','96','25252525','3434343434','123789','124789','789789','163963','5656','19966','1664455','15151515151','256366','986986','18834844846','18834844849','15611027864','18047689535','18834844848','456456456'))
|
||||||
@@ -34,13 +35,14 @@
|
|||||||
fee-IF(totalDays=alreadyDays,fee,dayAmount*alreadyDays)-(dayAmount*currentDays) notyetTanxiao
|
fee-IF(totalDays=alreadyDays,fee,dayAmount*alreadyDays)-(dayAmount*currentDays) notyetTanxiao
|
||||||
from (
|
from (
|
||||||
select u.name,if(u.tel is null,if(u.email is null,'',u.email),u.tel) tel,IF(uv.type=4,'中医学',IF(uv.type=5,'针灸学',IF(uv.type=6,'肿瘤学',IF(uv.type=7,'国学',IF(uv.type=8,'心理学','中西汇通学'))))) type,
|
select u.name,if(u.tel is null,if(u.email is null,'',u.email),u.tel) tel,IF(uv.type=4,'中医学',IF(uv.type=5,'针灸学',IF(uv.type=6,'肿瘤学',IF(uv.type=7,'国学',IF(uv.type=8,'心理学','中西汇通学'))))) type,
|
||||||
uvl.start_time startTime,uvl.end_time endTime,if(uvl.pay_time is null,'',uvl.pay_time) payTime,uvl.order_sn orderSn,uvl.pay_type payType,uvl.remark,uvl.price,uvl.fee,DATEDIFF(uvl.end_time,uvl.start_time)+1 totalDays,ROUND(uvl.fee/(DATEDIFF(uvl.end_time,uvl.start_time)+1),2) dayAmount,
|
uvl.start_time startTime,uvl.end_time endTime,if(uvl.pay_time is null,'',uvl.pay_time) payTime,uvl.order_sn orderSn,pzo.trade_no zfbOrder,uvl.pay_type payType,uvl.remark,uvl.price,uvl.fee,DATEDIFF(uvl.end_time,uvl.start_time)+1 totalDays,ROUND(uvl.fee/(DATEDIFF(uvl.end_time,uvl.start_time)+1),2) dayAmount,
|
||||||
IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(concat(SUBSTR(#{date},1,7),'-01'),uvl.start_time),0))) alreadyDays,
|
IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.start_time, '%Y-%m') < SUBSTR(#{date},1,7),DATEDIFF(concat(SUBSTR(#{date},1,7),'-01'),uvl.start_time),0))) alreadyDays,
|
||||||
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') > SUBSTR(#{date},1,7),if(DATE_FORMAT(uvl.start_time, '%Y-%m') = SUBSTR(#{date},1,7),DATEDIFF(#{date},uvl.start_time)+1,DAY(#{date})),DATEDIFF(uvl.end_time,concat(SUBSTR(#{date},1,7),'-01'))+1))) currentDays,
|
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') < SUBSTR(#{date},1,7),0,IF(DATE_FORMAT(uvl.end_time, '%Y-%m') > SUBSTR(#{date},1,7),if(DATE_FORMAT(uvl.start_time, '%Y-%m') = SUBSTR(#{date},1,7),DATEDIFF(#{date},uvl.start_time)+1,DAY(#{date})),DATEDIFF(uvl.end_time,concat(SUBSTR(#{date},1,7),'-01'))+1))) currentDays,
|
||||||
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,(IF(DATE_FORMAT(uvl.end_time, '%Y-%m') <= SUBSTR(#{date},1,7),0,DATEDIFF(uvl.end_time,#{date})))) notyetDays
|
IF(DATE_FORMAT(uvl.start_time, '%Y-%m') > SUBSTR(#{date},1,7),DATEDIFF(uvl.end_time,uvl.start_time)+1,(IF(DATE_FORMAT(uvl.end_time, '%Y-%m') <= SUBSTR(#{date},1,7),0,DATEDIFF(uvl.end_time,#{date})))) notyetDays
|
||||||
from user_vip_log uvl
|
from user_vip_log uvl
|
||||||
left join user_vip uv on uv.id = uvl.user_vip_id
|
left join user_vip uv on uv.id = uvl.user_vip_id
|
||||||
left join user u on u.id = uvl.user_id
|
left join user u on u.id = uvl.user_id
|
||||||
|
left join pay_zfb_order pzo on pzo.relevanceOid = uvl.order_sn
|
||||||
where u.del_flag = 0 and uvl.del_flag = 0 and uv.del_flag = 0 and DATE_FORMAT(IF(uvl.pay_time is NULL,uvl.start_time,uvl.pay_time), '%Y-%m') <= SUBSTR(#{date},1,7) and u.id not in (select id from user where tel in ('18812616272','13110039505','18526084267','12222222222','13333333333','14444444444','15555555555','16666666666','17777777777','18888888888','1774455','15533','165965','164964','54321','111','13662001490','15505153873','18834844847','17602219785','19999999999','12299','166933','16855','17602634511','16161616161','17171717171','112112112','21212121211','222222','666666','123123','789789','96','25252525','3434343434','123789','124789','789789','163963','5656','19966','1664455','15151515151','256366','986986','18834844846','18834844849','15611027864','18047689535','18834844848','456456456'))
|
where u.del_flag = 0 and uvl.del_flag = 0 and uv.del_flag = 0 and DATE_FORMAT(IF(uvl.pay_time is NULL,uvl.start_time,uvl.pay_time), '%Y-%m') <= SUBSTR(#{date},1,7) and u.id not in (select id from user where tel in ('18812616272','13110039505','18526084267','12222222222','13333333333','14444444444','15555555555','16666666666','17777777777','18888888888','1774455','15533','165965','164964','54321','111','13662001490','15505153873','18834844847','17602219785','19999999999','12299','166933','16855','17602634511','16161616161','17171717171','112112112','21212121211','222222','666666','123123','789789','96','25252525','3434343434','123789','124789','789789','163963','5656','19966','1664455','15151515151','256366','986986','18834844846','18834844849','15611027864','18047689535','18834844848','456456456'))
|
||||||
order by uvl.end_time asc
|
order by uvl.end_time asc
|
||||||
) t order by currentDays desc
|
) t order by currentDays desc
|
||||||
|
|||||||
Reference in New Issue
Block a user