lisai17@sina.com 2020-09-18 17:42:20 +08:00
parent 386140b7aa
commit 3a2651834d
1 changed files with 155 additions and 29 deletions

View File

@ -11,6 +11,113 @@ import java.util.Date;
public class OverallService {
public static OverallService me = new OverallService();
/*
/overall/stat?token=
{
"code": 200,
"data": {
"ordercluster": {
"before_month_total_weight": 446.00, // 前月配额重量
"before_day_total_weight": 693.00, // 前日配额重量
"month_total_weight": 7930.00, // 当月配额重量
"day_total_weight": 160.00, // 当日配额重量
"total_weight": 8376.00 // 总配额重量
},
"ordercluster_truck": [
{
"month_cnt": 49, // 当月分配车次
"day_cnt": 0, // 当日分配车次
"cnt": 53, // 总分配车次
"before_month_cnt": 4, // 前月分配车次
"before_day_cnt": 0 // 前日分配撤职
}
],
"by_supermarket": [
{
"supermarket_id": 1,
"supermarket_name": "竹瓦",
"supermarket_name2": "竹瓦",
"total_price": 43826.40, // 超市总销售额
"weight": 486.96, // 超市总销售重量
"truck_cnt": 18, // 超市总运输车次
"month_total_price": 43826.40, // 当月超市总销售额
"month_weight": 486.96, // 当月超市销售重量
"month_truck_cnt": 18, // 当月超市运输车次
"day_total_price": 0.00, // 当日超市销售总额
"day_weight": 0.00, // 当日超市销售重量
"day_truck_cnt": 0 // 当日超市运输车次
"before_month_total_price": 0.00, // 前月超市总销售额
"before_month_weight": 0.00, // 前月超市总销售重量
"before_month_truck_cnt": 0, // 前月超市运输车次
"before_day_total_price": 1796.40, // 前日超市销售总额
"before_day_weight": 19.96, // 前日超市销售重量
"before_day_truck_cnt": 2, // 前日超市运输车次
},
],
"by_customer": [
{
"total_price": 41310.00,
"month_total_price": 41310.00,
"before_day_truck_cnt": 0,
"month_truck_cnt": 14,
"truck_cnt": 14,
"day_total_price": 0.00,
"weight": 459.00,
"before_day_total_price": 0.00,
"month_weight": 459.00,
"before_month_total_price": 0.00,
"before_month_weight": 0.00,
"day_weight": 0.00,
"before_month_truck_cnt": 0,
"customer_name": "零散客户",
"before_day_weight": 0.00,
"day_truck_cnt": 0
},
{
"total_price": 3330.00,
"month_total_price": 3330.00,
"before_day_truck_cnt": 0,
"month_truck_cnt": 1,
"truck_cnt": 1,
"day_total_price": 0.00,
"weight": 37.00,
"before_day_total_price": 0.00,
"month_weight": 37.00,
"before_month_total_price": 0.00,
"before_month_weight": 0.00,
"day_weight": 0.00,
"before_month_truck_cnt": 0,
"customer_name": "中铁十六局集团有限公司黄黄高铁项目部(一标)",
"customer_id": 8,
"before_day_weight": 0.00,
"day_truck_cnt": 0
},
{
"total_price": 3690.00,
"month_total_price": 3690.00,
"before_day_truck_cnt": 0,
"month_truck_cnt": 3,
"truck_cnt": 3,
"day_total_price": 0.00,
"weight": 41.00,
"before_day_total_price": 0.00,
"month_weight": 41.00,
"before_month_total_price": 0.00,
"before_month_weight": 0.00,
"day_weight": 0.00,
"before_month_truck_cnt": 0,
"customer_name": "湖北碁润商砼有限公司",
"customer_id": 12,
"before_day_weight": 0.00,
"day_truck_cnt": 0
}
]
}
}
*/
public Record stat(){
long st = System.currentTimeMillis();
Record out = new Record();
@ -49,13 +156,32 @@ public class OverallService {
" left join ordercluster c on c.id = t.ordercluster_id\n" +
" where c.state < ?", OrderStateEnum.INVALID.getStateid()));
out.set("by_supermarket", Db.find("\n" +
out.set("by_supermarket", Db.find(" select \n" +
" s.id supermarket_id,\n" +
" s.name supermarket_name,\n" +
" s.name2 supermarket_name2,\n" +
" ifnull(a.total_price, 0) total_price,\n" +
" ifnull(a.month_total_price, 0) month_total_price,\n" +
" ifnull(a.before_day_truck_cnt, 0) before_day_truck_cnt,\n" +
" ifnull(a.month_truck_cnt, 0) month_truck_cnt,\n" +
" ifnull(a.truck_cnt, 0) truck_cnt,\n" +
" ifnull(a.day_total_price, 0) day_total_price,\n" +
" ifnull(a.weight, 0) weight,\n" +
" ifnull(a.before_day_total_price, 0) before_day_total_price,\n" +
" ifnull(a.month_weight, 0) month_weight,\n" +
" ifnull(a.before_month_total_price, 0) before_month_total_price,\n" +
" ifnull(a.before_month_weight, 0) before_month_weight,\n" +
" ifnull(a.day_weight, 0) day_weight,\n" +
" ifnull(a.before_month_truck_cnt, 0) before_month_truck_cnt,\n" +
" ifnull(a.before_day_weight, 0) before_day_weight,\n" +
" ifnull(a.day_truck_cnt, 0) day_truck_cnt" +
" from supermarket s\n" +
" left join (\n" +
" select\n" +
" t.supermarket_id,\n" +
" sum(t.weight) weight,\n" +
" sum(t.total_price) total_price,\n" +
" count(*) truck_cnt,\n" +
" count(distinct t.truck_license) truck_cnt_only,\n" +
" \n" +
" ifnull(sum(case when t.create_time like '" + nowmonttm +"%' then t.weight end), 0) month_weight,\n" +
" ifnull(sum(case when t.create_time like '" + nowdaytm + "%' then t.weight end), 0) day_weight,\n" +
@ -76,7 +202,8 @@ public class OverallService {
" count(case when t.create_time like '" + predaytm + "%' then t.sn end) before_day_truck_cnt\n" +
" from order_temp t\n" +
" where t.state = ?\n" +
" group by t.supermarket_id", OrderStateEnum.RECEIVED.getStateid()));
" group by t.supermarket_id\n" +
" ) a on a.supermarket_id = s.id;", OrderStateEnum.RECEIVED.getStateid()));
out.set("by_customer", Db.find("\n" +
"select\n" +
@ -85,7 +212,6 @@ public class OverallService {
" sum(t.weight) weight,\n" +
" sum(t.total_price) total_price,\n" +
" count(*) truck_cnt,\n" +
" count(distinct t.truck_license) truck_cnt_only,\n" +
" \n" +
" ifnull(sum(case when t.create_time like '" + nowmonttm +"%' then t.weight end), 0) month_weight,\n" +
" ifnull(sum(case when t.create_time like '" + nowdaytm + "%' then t.weight end), 0) day_weight,\n" +