2020-09-18 17:10:33 +08:00
|
|
|
package com.cowr.ssjygl.overall;
|
|
|
|
|
|
|
|
|
|
import com.cowr.common.enums.OrderStateEnum;
|
|
|
|
|
import com.cowr.common.utils.DateTimeUtil;
|
|
|
|
|
import com.jfinal.plugin.activerecord.Db;
|
|
|
|
|
import com.jfinal.plugin.activerecord.Record;
|
|
|
|
|
|
2020-09-18 18:04:07 +08:00
|
|
|
import java.util.ArrayList;
|
2020-09-18 17:10:33 +08:00
|
|
|
import java.util.Calendar;
|
|
|
|
|
import java.util.Date;
|
2020-09-18 18:04:07 +08:00
|
|
|
import java.util.List;
|
2020-09-18 17:10:33 +08:00
|
|
|
|
|
|
|
|
public class OverallService {
|
|
|
|
|
public static OverallService me = new OverallService();
|
|
|
|
|
|
2020-09-18 17:42:20 +08:00
|
|
|
/*
|
|
|
|
|
/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, // 当日配额重量
|
2020-09-24 19:57:38 +08:00
|
|
|
"total_weight": 8376.00, // 总配额重量
|
|
|
|
|
|
|
|
|
|
"month_truck_cnt": 49, // 当月分配车次
|
|
|
|
|
"day_truck_cnt": 0, // 当日分配车次
|
|
|
|
|
"truck_cnt": 53, // 总分配车次
|
|
|
|
|
"before_month_truck_cnt": 4, // 前月分配车次
|
|
|
|
|
"before_daytruck__cnt": 0 // 前日分配撤职
|
2020-09-18 17:42:20 +08:00
|
|
|
],
|
|
|
|
|
"by_supermarket": [
|
|
|
|
|
{
|
|
|
|
|
"supermarket_id": 1,
|
|
|
|
|
"supermarket_name": "竹瓦",
|
|
|
|
|
"supermarket_name2": "竹瓦",
|
|
|
|
|
|
2020-10-11 22:50:32 +08:00
|
|
|
"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, // 前日砂站运输车次
|
|
|
|
|
|
|
|
|
|
"day_quota_total_price": 253.00, // 当日砂站配额重量
|
2020-09-18 17:42:20 +08:00
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
"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
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-09-24 19:57:38 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
select count(t.sn) cnt, sum(t.weight) weight, sum(t.total_price) total_price, date_format(t.create_time, '%Y-%m-%d') date from order_temp t
|
|
|
|
|
where t.state = 5
|
|
|
|
|
group by date
|
|
|
|
|
|
2020-09-18 17:42:20 +08:00
|
|
|
*/
|
2020-10-11 22:50:32 +08:00
|
|
|
public Record stat(Integer supermarket_id) {
|
|
|
|
|
long st = System.currentTimeMillis();
|
2020-09-18 17:10:33 +08:00
|
|
|
Record out = new Record();
|
|
|
|
|
|
2020-10-11 22:50:32 +08:00
|
|
|
Date now = new Date();
|
2020-09-18 18:04:07 +08:00
|
|
|
List<Object> params1 = new ArrayList<>();
|
|
|
|
|
List<Object> params2 = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
params1.add(OrderStateEnum.INVALID.getStateid());
|
|
|
|
|
params2.add(OrderStateEnum.RECEIVED.getStateid());
|
|
|
|
|
|
2020-09-18 17:10:33 +08:00
|
|
|
|
|
|
|
|
Calendar c = Calendar.getInstance();
|
|
|
|
|
c.setTime(now);
|
|
|
|
|
c.add(Calendar.DAY_OF_MONTH, -1);
|
|
|
|
|
|
|
|
|
|
String nowmonttm = DateTimeUtil.sd.get().format(now); // 当月
|
2020-10-11 22:50:32 +08:00
|
|
|
String nowdaytm = DateTimeUtil.sdf.get().format(now); // 当日
|
|
|
|
|
String predaytm = DateTimeUtil.sdf.get().format(c.getTime()); // 前一日
|
2020-09-18 17:10:33 +08:00
|
|
|
|
|
|
|
|
c.add(Calendar.DAY_OF_MONTH, 1);
|
|
|
|
|
c.add(Calendar.MONTH, -1);
|
|
|
|
|
|
|
|
|
|
String premonthtm = DateTimeUtil.sd.get().format(c.getTime()); // 前一月
|
|
|
|
|
|
2020-09-18 18:04:07 +08:00
|
|
|
String sql_ordercluster = "select \n" +
|
2020-10-14 15:26:30 +08:00
|
|
|
" ifnull(sum(t.weight), 0) total_weight, \n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + nowmonttm + "%' then t.weight end ), 0) month_total_weight, \n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + nowdaytm + "%' then t.weight end ), 0) day_total_weight, \n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + premonthtm + "%' then t.weight end ), 0) before_month_total_weight, \n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + predaytm + "%' then t.weight end) , 0) before_day_total_weight,\n" +
|
|
|
|
|
" \n" +
|
|
|
|
|
" ifnull(sum(t.total_price), 0) total_price, \n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + nowmonttm + "%' then t.total_price end ), 0) month_total_price, \n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + nowdaytm + "%' then t.total_price end ), 0) day_total_price, \n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + premonthtm + "%' then t.total_price end ), 0) before_month_total_price, \n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + predaytm + "%' then t.total_price end) , 0) before_day_total_price \n" +
|
|
|
|
|
" from order_temp t\n" +
|
2020-10-14 15:29:53 +08:00
|
|
|
" where t.state = ?";
|
2020-09-18 17:10:33 +08:00
|
|
|
|
2020-09-18 18:04:07 +08:00
|
|
|
String sql_ordercluster_truck = "select\n" +
|
2020-09-24 19:57:38 +08:00
|
|
|
" count(t.id) truck_cnt,\n" +
|
2020-10-11 22:50:32 +08:00
|
|
|
" sum(case when t.change_time like '" + nowmonttm + "%' then 1 else 0 end) month_truck_cnt,\n" +
|
2020-09-24 19:57:38 +08:00
|
|
|
" sum(case when t.change_time like '" + nowdaytm + "%' then 1 else 0 end) day_truck_cnt,\n" +
|
|
|
|
|
" sum(case when t.change_time like '" + premonthtm + "%' then 1 else 0 end) before_month_truck_cnt,\n" +
|
|
|
|
|
" sum(case when t.change_time like '" + predaytm + "%' then 1 else 0 end) before_day_truck_cnt\n" +
|
2020-09-18 17:10:33 +08:00
|
|
|
" from ordercluster_truck t\n" +
|
|
|
|
|
" left join ordercluster c on c.id = t.ordercluster_id\n" +
|
2020-09-18 18:04:07 +08:00
|
|
|
" where c.state < ?";
|
|
|
|
|
|
|
|
|
|
String sql_by_customer = "\n" +
|
|
|
|
|
" select\n" +
|
|
|
|
|
" t.customer_id,\n" +
|
|
|
|
|
" ifnull(max(case when t.customer_id is null then null else t.customer_name end), '零散客户') customer_name,\n" +
|
|
|
|
|
" sum(t.weight) weight,\n" +
|
|
|
|
|
" sum(t.total_price) total_price,\n" +
|
|
|
|
|
" count(*) truck_cnt,\n" +
|
|
|
|
|
" \n" +
|
2020-10-11 22:50:32 +08:00
|
|
|
" ifnull(sum(case when t.create_time like '" + nowmonttm + "%' then t.weight end), 0) month_weight,\n" +
|
2020-09-18 18:04:07 +08:00
|
|
|
" ifnull(sum(case when t.create_time like '" + nowdaytm + "%' then t.weight end), 0) day_weight,\n" +
|
|
|
|
|
" \n" +
|
2020-10-11 22:50:32 +08:00
|
|
|
" ifnull(sum(case when t.create_time like '" + nowmonttm + "%' then t.total_price end), 0) month_total_price,\n" +
|
2020-09-18 18:04:07 +08:00
|
|
|
" ifnull(sum(case when t.create_time like '" + nowdaytm + "%' then t.total_price end), 0) day_total_price,\n" +
|
|
|
|
|
" \n" +
|
2020-10-11 22:50:32 +08:00
|
|
|
" count(case when t.create_time like '" + nowmonttm + "%' then t.sn end) month_truck_cnt,\n" +
|
2020-09-18 18:04:07 +08:00
|
|
|
" count(case when t.create_time like '" + nowdaytm + "%' then t.sn end) day_truck_cnt,\n" +
|
|
|
|
|
" \n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + premonthtm + "%' then t.weight end), 0) before_month_weight,\n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + predaytm + "%' then t.weight end), 0) before_day_weight,\n" +
|
|
|
|
|
" \n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + premonthtm + "%' then t.total_price end), 0) before_month_total_price,\n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + predaytm + "%' then t.total_price end), 0) before_day_total_price,\n" +
|
|
|
|
|
" \n" +
|
|
|
|
|
" count(case when t.create_time like '" + premonthtm + "%' then t.sn end) before_month_truck_cnt,\n" +
|
|
|
|
|
" 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";
|
|
|
|
|
|
2020-09-18 17:10:33 +08:00
|
|
|
|
2020-09-18 18:04:07 +08:00
|
|
|
String sql_by_supermarket = " select \n" +
|
2020-09-18 17:42:20 +08:00
|
|
|
" 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" +
|
|
|
|
|
" \n" +
|
2020-10-11 22:50:32 +08:00
|
|
|
" ifnull(sum(case when t.create_time like '" + nowmonttm + "%' then t.weight end), 0) month_weight,\n" +
|
2020-09-18 17:42:20 +08:00
|
|
|
" ifnull(sum(case when t.create_time like '" + nowdaytm + "%' then t.weight end), 0) day_weight,\n" +
|
|
|
|
|
" \n" +
|
2020-10-11 22:50:32 +08:00
|
|
|
" ifnull(sum(case when t.create_time like '" + nowmonttm + "%' then t.total_price end), 0) month_total_price,\n" +
|
2020-09-18 17:42:20 +08:00
|
|
|
" ifnull(sum(case when t.create_time like '" + nowdaytm + "%' then t.total_price end), 0) day_total_price,\n" +
|
|
|
|
|
" \n" +
|
2020-10-11 22:50:32 +08:00
|
|
|
" count(case when t.create_time like '" + nowmonttm + "%' then t.sn end) month_truck_cnt,\n" +
|
2020-09-18 17:42:20 +08:00
|
|
|
" count(case when t.create_time like '" + nowdaytm + "%' then t.sn end) day_truck_cnt,\n" +
|
|
|
|
|
" \n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + premonthtm + "%' then t.weight end), 0) before_month_weight,\n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + predaytm + "%' then t.weight end), 0) before_day_weight,\n" +
|
|
|
|
|
" \n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + premonthtm + "%' then t.total_price end), 0) before_month_total_price,\n" +
|
|
|
|
|
" ifnull(sum(case when t.create_time like '" + predaytm + "%' then t.total_price end), 0) before_day_total_price,\n" +
|
|
|
|
|
" \n" +
|
|
|
|
|
" count(case when t.create_time like '" + premonthtm + "%' then t.sn end) before_month_truck_cnt,\n" +
|
|
|
|
|
" count(case when t.create_time like '" + predaytm + "%' then t.sn end) before_day_truck_cnt\n" +
|
|
|
|
|
" from order_temp t\n" +
|
2020-09-18 18:04:07 +08:00
|
|
|
" where t.state = ?\n";
|
2020-09-18 17:10:33 +08:00
|
|
|
|
2020-10-11 22:50:32 +08:00
|
|
|
|
|
|
|
|
List<Record> by_supermarket_list;
|
|
|
|
|
|
|
|
|
|
if (supermarket_id != null) {
|
2020-09-18 18:04:07 +08:00
|
|
|
sql_ordercluster += " and t.supermarket_id = ? ";
|
|
|
|
|
sql_ordercluster_truck += " and c.supermarket_id = ? ";
|
|
|
|
|
sql_by_customer += " and t.supermarket_id = ? ";
|
|
|
|
|
|
|
|
|
|
params1.add(supermarket_id);
|
|
|
|
|
params2.add(supermarket_id);
|
|
|
|
|
|
2020-10-11 22:50:32 +08:00
|
|
|
by_supermarket_list = Db.find(sql_by_supermarket +
|
2020-09-18 18:04:07 +08:00
|
|
|
" and t.supermarket_id = ? " +
|
|
|
|
|
" group by t.supermarket_id\n" +
|
|
|
|
|
" ) a on a.supermarket_id = s.id \n" +
|
2020-10-11 22:50:32 +08:00
|
|
|
" where s.id = ? ", OrderStateEnum.RECEIVED.getStateid(), supermarket_id, supermarket_id);
|
|
|
|
|
} else {
|
|
|
|
|
by_supermarket_list = Db.find(sql_by_supermarket +
|
2020-09-18 18:04:07 +08:00
|
|
|
" group by t.supermarket_id\n" +
|
2020-10-11 22:50:32 +08:00
|
|
|
" ) a on a.supermarket_id = s.id", OrderStateEnum.RECEIVED.getStateid());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<Record> suppeie = Db.find("select t.supermarket_id, sum(t.total_weight) total_weight from ordercluster t\n" +
|
|
|
|
|
"where t.cutoff_time like ? \n" +
|
|
|
|
|
"and t.state < ? \n" +
|
|
|
|
|
"group by t.supermarket_id", nowdaytm + "%", OrderStateEnum.RECEIVED.getStateid());
|
|
|
|
|
|
|
|
|
|
for(Record record : by_supermarket_list){
|
|
|
|
|
for(Record r : suppeie){
|
|
|
|
|
if(r.getInt("supermarket_id") != null && r.getInt("supermarket_id").equals(record.getInt("supermarket_id"))){
|
|
|
|
|
record.set("day_quota_total_price", r.get("total_weight"));
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-09-18 18:04:07 +08:00
|
|
|
}
|
|
|
|
|
|
2020-10-14 15:35:21 +08:00
|
|
|
Record ocout = Db.findFirst(sql_ordercluster, params2.toArray());
|
2020-10-11 22:50:32 +08:00
|
|
|
Record oct = Db.findFirst(sql_ordercluster_truck, params1.toArray());
|
2020-09-24 19:57:38 +08:00
|
|
|
|
|
|
|
|
ocout.setColumns(oct);
|
|
|
|
|
|
|
|
|
|
out.set("ordercluster", ocout);
|
2020-09-18 18:04:07 +08:00
|
|
|
out.set("by_customer", Db.find(sql_by_customer + " group by t.customer_id", params2.toArray()));
|
2020-10-11 22:50:32 +08:00
|
|
|
out.set("by_supermarket", by_supermarket_list);
|
2020-09-18 17:10:33 +08:00
|
|
|
|
|
|
|
|
return out;
|
|
|
|
|
}
|
2020-10-11 22:50:32 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 近 31 日总销售列表
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List<Record> lastStat() {
|
|
|
|
|
Date now = new Date();
|
|
|
|
|
|
|
|
|
|
Calendar c = Calendar.getInstance();
|
|
|
|
|
c.setTime(now);
|
|
|
|
|
c.add(Calendar.DAY_OF_MONTH, -31);
|
|
|
|
|
c.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
|
|
c.set(Calendar.MINUTE, 0);
|
|
|
|
|
c.set(Calendar.SECOND, 0);
|
|
|
|
|
c.set(Calendar.MILLISECOND, 0);
|
|
|
|
|
|
|
|
|
|
return Db.find("\n" +
|
|
|
|
|
"select count(t.sn) cnt, sum(t.weight) weight, sum(t.total_price) total_price, date_format(t.create_time, '%Y-%m-%d') date from order_temp t\n" +
|
|
|
|
|
"where t.state = ?\n" +
|
|
|
|
|
"and t.create_time >= ?\n" +
|
|
|
|
|
"group by date",
|
|
|
|
|
OrderStateEnum.RECEIVED.getStateid(),
|
|
|
|
|
DateTimeUtil.sdfhms.get().format(c.getTime()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 近 31 日砂站总销售列表
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List<Record> lastSupermarketStat(int supermarket_id) {
|
|
|
|
|
Date now = new Date();
|
|
|
|
|
|
|
|
|
|
Calendar c = Calendar.getInstance();
|
|
|
|
|
c.setTime(now);
|
|
|
|
|
c.add(Calendar.DAY_OF_MONTH, -31);
|
|
|
|
|
c.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
|
|
c.set(Calendar.MINUTE, 0);
|
|
|
|
|
c.set(Calendar.SECOND, 0);
|
|
|
|
|
c.set(Calendar.MILLISECOND, 0);
|
|
|
|
|
|
|
|
|
|
return Db.find("\n" +
|
|
|
|
|
"select count(t.sn) cnt, sum(t.weight) weight, sum(t.total_price) total_price, date_format(t.create_time, '%Y-%m-%d') date from order_temp t\n" +
|
|
|
|
|
"where t.state = ?\n" +
|
|
|
|
|
"and t.supermarket_id = ?\n" +
|
|
|
|
|
"and t.create_time >= ?\n" +
|
|
|
|
|
"group by date",
|
|
|
|
|
OrderStateEnum.RECEIVED.getStateid(),
|
|
|
|
|
supermarket_id,
|
|
|
|
|
DateTimeUtil.sdfhms.get().format(c.getTime()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 近 31 日客户总销售列表
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List<Record> lastCustomerStat(int customer_id) {
|
|
|
|
|
Date now = new Date();
|
|
|
|
|
|
|
|
|
|
Calendar c = Calendar.getInstance();
|
|
|
|
|
c.setTime(now);
|
|
|
|
|
c.add(Calendar.DAY_OF_MONTH, -31);
|
|
|
|
|
c.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
|
|
c.set(Calendar.MINUTE, 0);
|
|
|
|
|
c.set(Calendar.SECOND, 0);
|
|
|
|
|
c.set(Calendar.MILLISECOND, 0);
|
|
|
|
|
|
|
|
|
|
return Db.find("\n" +
|
|
|
|
|
"select count(t.sn) cnt, sum(t.weight) weight, sum(t.total_price) total_price, date_format(t.create_time, '%Y-%m-%d') date from order_temp t\n" +
|
|
|
|
|
"where t.state = ?\n" +
|
|
|
|
|
"and t.customer_id = ?\n" +
|
|
|
|
|
"and t.create_time >= ?\n" +
|
|
|
|
|
"group by date",
|
|
|
|
|
OrderStateEnum.RECEIVED.getStateid(),
|
|
|
|
|
customer_id,
|
|
|
|
|
DateTimeUtil.sdfhms.get().format(c.getTime()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 近 31 日散户总销售列表
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List<Record> lastTempStat() {
|
|
|
|
|
Date now = new Date();
|
|
|
|
|
|
|
|
|
|
Calendar c = Calendar.getInstance();
|
|
|
|
|
c.setTime(now);
|
|
|
|
|
c.add(Calendar.DAY_OF_MONTH, -31);
|
|
|
|
|
c.set(Calendar.HOUR_OF_DAY, 0);
|
|
|
|
|
c.set(Calendar.MINUTE, 0);
|
|
|
|
|
c.set(Calendar.SECOND, 0);
|
|
|
|
|
c.set(Calendar.MILLISECOND, 0);
|
|
|
|
|
|
|
|
|
|
return Db.find("\n" +
|
|
|
|
|
"select count(t.sn) cnt, sum(t.weight) weight, sum(t.total_price) total_price, date_format(t.create_time, '%Y-%m-%d') date from order_temp t\n" +
|
|
|
|
|
"where t.state = ?\n" +
|
|
|
|
|
"and t.customer_id is null \n" +
|
|
|
|
|
"and t.create_time >= ?\n" +
|
|
|
|
|
"group by date",
|
|
|
|
|
OrderStateEnum.RECEIVED.getStateid(),
|
|
|
|
|
DateTimeUtil.sdfhms.get().format(c.getTime()));
|
|
|
|
|
}
|
2020-09-18 17:10:33 +08:00
|
|
|
}
|