首页充电数据、创建订单量
This commit is contained in:
parent
ae4fee772d
commit
2ce68c04b9
@ -377,4 +377,26 @@ public class XhpcStatisticsController extends BaseController {
|
||||
{
|
||||
return AjaxResult.success(xhpcStatisticsService.getTodayTerminal(operatorId,chargingStationId,chargingPileId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 充电数据
|
||||
* @param type 1 近30天 2上个月 3本月 4.近12月
|
||||
*/
|
||||
@GetMapping("/getDateOrder")
|
||||
public AjaxResult getDateOrder(Long operatorId,Long chargingStationId,Long chargingPileId,Integer type,String startTime,String endTime)
|
||||
{
|
||||
return AjaxResult.success(xhpcStatisticsService.getDateOrder(1,operatorId,chargingStationId,chargingPileId,type,startTime,endTime));
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建订单量
|
||||
* @param type 1 近30天 2上个月 3本月 4.近12月
|
||||
*/
|
||||
@GetMapping("/getDateOrderCount")
|
||||
public AjaxResult getDateOrderCount(Long operatorId,Long chargingStationId,Long chargingPileId,Integer type,String startTime,String endTime)
|
||||
{
|
||||
return AjaxResult.success(xhpcStatisticsService.getDateOrder(2,operatorId,chargingStationId,chargingPileId,type,startTime,endTime));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -199,4 +199,15 @@ public interface XhpcStatisticsServiceMapper {
|
||||
List<String> getTerminal(@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("operatorId")Long operatorId,@Param("chargingStationId")Long chargingStationId,@Param("chargingPileId")Long chargingPileId,@Param("tenantId")String tenantId);
|
||||
|
||||
|
||||
|
||||
List<Map<String, Object>> getDateOrder(@Param("type") Integer type,@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("operatorId")Long operatorId,@Param("chargingStationId")Long chargingStationId,@Param("chargingPileId")Long chargingPileId,@Param("tenantId")String tenantId,@Param("beginOfDay")String beginOfDay,@Param("endOfDay")String endOfDay);
|
||||
|
||||
|
||||
int getDateOrderNUmber(@Param("type") Integer type,@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("operatorId")Long operatorId,@Param("chargingStationId")Long chargingStationId,@Param("chargingPileId")Long chargingPileId,@Param("tenantId")String tenantId,@Param("beginOfDay")String beginOfDay,@Param("endOfDay")String endOfDay);
|
||||
|
||||
List<Map<String, Object>> getDateOrderCount(@Param("type") Integer type,@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("operatorId")Long operatorId,@Param("chargingStationId")Long chargingStationId,@Param("chargingPileId")Long chargingPileId,@Param("tenantId")String tenantId,@Param("beginOfDay")String beginOfDay,@Param("endOfDay")String endOfDay);
|
||||
|
||||
int getDateOrderCountNUmber(@Param("type") Integer type,@Param("status") Integer status,@Param("logOperatorId")Long logOperatorId,@Param("operatorId")Long operatorId,@Param("chargingStationId")Long chargingStationId,@Param("chargingPileId")Long chargingPileId,@Param("tenantId")String tenantId,@Param("beginOfDay")String beginOfDay,@Param("endOfDay")String endOfDay);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -284,4 +284,12 @@ public interface IXhpcStatisticsService {
|
||||
* 今日电枪实时状态
|
||||
*/
|
||||
Map<String, Object> getTodayTerminal(Long operatorId,Long chargingStationId,Long chargingPileId);
|
||||
|
||||
/**
|
||||
* 今日电枪实时状态
|
||||
*
|
||||
* @param state 1 充电数据 2.创建订单量
|
||||
*/
|
||||
Map<String, Object> getDateOrder(Integer state,Long operatorId,Long chargingStationId,Long chargingPileId,Integer type,String startTime,String endTime);
|
||||
|
||||
}
|
||||
|
||||
@ -30,6 +30,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
@ -1065,6 +1066,131 @@ public class XhpcStatisticsServiceImpl extends BaseService implements IXhpcStati
|
||||
return map;
|
||||
}
|
||||
|
||||
/**
|
||||
* 今日电枪实时状态
|
||||
*
|
||||
* @param operatorId
|
||||
* @param chargingStationId
|
||||
* @param chargingPileId
|
||||
* @param type
|
||||
* @param startTime
|
||||
* @param endTime
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Object> getDateOrder(Integer state,Long operatorId, Long chargingStationId, Long chargingPileId, Integer type, String startTime, String endTime) {
|
||||
//1 近30天 2上个月 3本月 4.近12月
|
||||
LoginUser loginUser = tokenService.getLoginUser();
|
||||
String tenantId = loginUser.getTenantId();
|
||||
Long logUserId = SecurityUtils.getUserId();
|
||||
SysUser sysUser = loginUser.getSysUser();
|
||||
//今日订单量
|
||||
//今天时间,格式 yyyy-mm-dd
|
||||
Date date = new Date();
|
||||
Date beginOfDay = DateUtil.beginOfDay(date);
|
||||
Date endOfDay = DateUtil.endOfDay(date);
|
||||
String conditionBeginOfDay = null;
|
||||
String conditionEndOfDay = null;
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
if(type==null || type ==1){
|
||||
conditionBeginOfDay = DateUtil.formatDateTime(DateUtil.offsetDay(beginOfDay, -30));
|
||||
conditionEndOfDay = DateUtil.formatDateTime(endOfDay);
|
||||
}else if(type ==2){
|
||||
//获取前月的第一天
|
||||
Calendar cal_1=Calendar.getInstance();//获取当前日期
|
||||
cal_1.add(Calendar.MONTH, -1);
|
||||
cal_1.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
|
||||
conditionBeginOfDay = format.format(cal_1.getTime());
|
||||
//获取前月的最后一天
|
||||
Calendar cale = Calendar.getInstance();
|
||||
cale.set(Calendar.DAY_OF_MONTH,0);//设置为1号,当前日期既为本月第一天
|
||||
conditionEndOfDay = format.format(cale.getTime());
|
||||
}else if(type ==3){
|
||||
//获取当前月第一天:
|
||||
Calendar c = Calendar.getInstance();
|
||||
c.add(Calendar.MONTH, 0);
|
||||
c.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
|
||||
conditionBeginOfDay = format.format(c.getTime());
|
||||
//获取当前月最后一天
|
||||
Calendar ca = Calendar.getInstance();
|
||||
ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
|
||||
conditionEndOfDay = format.format(ca.getTime());
|
||||
}else{
|
||||
Calendar cal_1=Calendar.getInstance();//获取当前日期
|
||||
cal_1.add(Calendar.MONTH, -12);
|
||||
cal_1.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
|
||||
conditionBeginOfDay = format.format(cal_1.getTime());
|
||||
conditionEndOfDay = DateUtil.formatDateTime(endOfDay);
|
||||
}
|
||||
if(state==1){
|
||||
if(tenantId !=null && !"".equals(tenantId)){
|
||||
if(sysUser.getUserId() !=UserTypeUtil.USER_ID){
|
||||
Long logOperatorId = sysUser.getOperatorId();
|
||||
if ("01".equals(sysUser.getUserType())) {
|
||||
//运营商看自己的场站
|
||||
return extracted(1,type,logOperatorId,operatorId,chargingStationId,chargingPileId,tenantId,conditionBeginOfDay,conditionEndOfDay) ;
|
||||
}else{
|
||||
//查询赋值的场站
|
||||
return extracted(2,type,logUserId,operatorId,chargingStationId,chargingPileId,tenantId,conditionBeginOfDay,conditionEndOfDay) ;
|
||||
}
|
||||
}else{
|
||||
//全部桩
|
||||
return extracted(0,type,null,operatorId,chargingStationId,chargingPileId,tenantId,conditionBeginOfDay,conditionEndOfDay) ;
|
||||
}
|
||||
}
|
||||
return new HashMap<>();
|
||||
}
|
||||
|
||||
if(tenantId !=null && !"".equals(tenantId)){
|
||||
if(sysUser.getUserId() !=UserTypeUtil.USER_ID){
|
||||
Long logOperatorId = sysUser.getOperatorId();
|
||||
if ("01".equals(sysUser.getUserType())) {
|
||||
//运营商看自己的场站
|
||||
return averageOrder(1,type,logOperatorId,operatorId,chargingStationId,chargingPileId,tenantId,conditionBeginOfDay,conditionEndOfDay) ;
|
||||
}else{
|
||||
//查询赋值的场站
|
||||
return averageOrder(2,type,logUserId,operatorId,chargingStationId,chargingPileId,tenantId,conditionBeginOfDay,conditionEndOfDay) ;
|
||||
}
|
||||
}else{
|
||||
//全部桩
|
||||
return averageOrder(0,type,null,operatorId,chargingStationId,chargingPileId,tenantId,conditionBeginOfDay,conditionEndOfDay) ;
|
||||
}
|
||||
}
|
||||
return new HashMap<>();
|
||||
}
|
||||
|
||||
private Map<String, Object> averageOrder(Integer status,Integer type,Long logOperatorId,Long operatorId, Long chargingStationId, Long chargingPileId, String tenantId,String conditionBeginOfDay,String conditionEndOfDay) {
|
||||
List<Map<String, Object>> dateOrder = xhpcStatisticsServiceMapper.getDateOrderCount(type,status,logOperatorId,operatorId,chargingStationId,chargingPileId,tenantId,conditionBeginOfDay,conditionEndOfDay);
|
||||
int dateOrderNUmber = xhpcStatisticsServiceMapper.getDateOrderCountNUmber(type, status, logOperatorId, operatorId, chargingStationId, chargingPileId, tenantId, conditionBeginOfDay, conditionEndOfDay);
|
||||
Map<String ,Object> map =new HashMap<>();
|
||||
if(dateOrder !=null && dateOrder.size()>0 ){
|
||||
BigDecimal divide = new BigDecimal(dateOrderNUmber).divide(BigDecimal.valueOf(dateOrder.size()), 2, BigDecimal.ROUND_HALF_UP);
|
||||
map.put("averageOrder",divide);
|
||||
map.put("list",dateOrder);
|
||||
}else{
|
||||
map.put("averageOrder",0);
|
||||
map.put("list",new ArrayList<>());
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
private Map<String, Object> extracted(Integer status,Integer type,Long logOperatorId,Long operatorId, Long chargingStationId, Long chargingPileId, String tenantId,String conditionBeginOfDay,String conditionEndOfDay) {
|
||||
List<Map<String, Object>> dateOrder = xhpcStatisticsServiceMapper.getDateOrder(type,status,logOperatorId,operatorId,chargingStationId,chargingPileId,tenantId,conditionBeginOfDay,conditionEndOfDay);
|
||||
int dateOrderNUmber = xhpcStatisticsServiceMapper.getDateOrderNUmber(type, status, logOperatorId, operatorId, chargingStationId, chargingPileId, tenantId, conditionBeginOfDay, conditionEndOfDay);
|
||||
Map<String ,Object> map =new HashMap<>();
|
||||
if(dateOrder !=null && dateOrder.size()>0 ){
|
||||
BigDecimal divide = new BigDecimal(dateOrderNUmber).divide(BigDecimal.valueOf(dateOrder.size()), 2, BigDecimal.ROUND_HALF_UP);
|
||||
map.put("averagePower",divide);
|
||||
map.put("list",dateOrder);
|
||||
}else{
|
||||
map.put("averagePower",0);
|
||||
map.put("list",new ArrayList<>());
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void extracted(Integer status,Long logOperatorId,Long operatorId, Long chargingStationId, Long chargingPileId, String tenantId, Map<String, Object> map) {
|
||||
List<String> terminal = xhpcStatisticsServiceMapper.getTerminal(status, logOperatorId, operatorId, chargingStationId, chargingPileId, tenantId);
|
||||
|
||||
@ -1234,35 +1360,25 @@ public class XhpcStatisticsServiceImpl extends BaseService implements IXhpcStati
|
||||
return c;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static void main(String[] args) {
|
||||
DateTime date = DateUtil.date();
|
||||
DateTime dateTime = DateUtil.lastWeek();
|
||||
|
||||
System.out.println("dateTime:"+dateTime);
|
||||
|
||||
|
||||
String week = "";
|
||||
//一天的开始,结果:2017-03-01 00:00:00
|
||||
Date beginOfDay = DateUtil.beginOfDay(date);
|
||||
Date endOfDay = DateUtil.endOfDay(date);
|
||||
System.out.println("week00:"+beginOfDay);
|
||||
System.out.println("week00:"+beginOfDay);
|
||||
week = DateUtil.formatDateTime(DateUtil.offsetDay(beginOfDay, -9));
|
||||
System.out.println("week11:"+week);
|
||||
week = DateUtil.formatDateTime(DateUtil.offsetDay(endOfDay, -3));
|
||||
System.out.println("week22:"+week);
|
||||
week = DateUtil.formatDateTime(DateUtil.offsetDay(beginOfDay, -2));
|
||||
System.out.println("week33:"+week);
|
||||
week = DateUtil.formatDateTime(DateUtil.offsetDay(endOfDay, 4));
|
||||
System.out.println("week44:"+week);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
String firstDay;
|
||||
String lastDay;
|
||||
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Calendar cal_1=Calendar.getInstance();//获取当前日期
|
||||
cal_1.add(Calendar.MONTH, -12);
|
||||
cal_1.set(Calendar.DAY_OF_MONTH,1);//设置为1号,当前日期既为本月第一天
|
||||
firstDay = format.format(cal_1.getTime());
|
||||
System.out.println("-----1------firstDay:"+firstDay);
|
||||
//获取前月的最后一天
|
||||
Calendar cale = Calendar.getInstance();
|
||||
cale.set(Calendar.DAY_OF_MONTH,0);//设置为1号,当前日期既为本月第一天
|
||||
lastDay = format.format(cale.getTime());
|
||||
System.out.println("-----2------lastDay:"+lastDay);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1064,4 +1064,125 @@
|
||||
and charging_station_id in (select charging_station_id from xhpc_user_privilege where user_id=#{logOperatorId})
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getDateOrder" resultType="map">
|
||||
select
|
||||
sum(total_power) totalPower,
|
||||
sum(total_price) totalPrice,
|
||||
sum(power_price_total) powerPriceTotal,
|
||||
sum(service_price_total) servicePriceTotal,
|
||||
<if test="type!=null and type ==4">
|
||||
date_format(end_time, '%Y-%m') time
|
||||
</if>
|
||||
<if test="type !=4">
|
||||
DATE_FORMAT(end_time, '%Y-%m-%d') time
|
||||
</if>
|
||||
from xhpc_history_order
|
||||
where end_time >=#{beginOfDay} and end_time <= #{endOfDay}
|
||||
<if test="operatorId !=null and ''!=operatorId">
|
||||
and charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{operatorId})
|
||||
</if>
|
||||
<if test="tenantId !=null and tenantId !=''">
|
||||
and tenant_id = #{tenantId}
|
||||
</if>
|
||||
<if test="chargingStationId !=null">
|
||||
and charging_station_id=#{chargingStationId}
|
||||
</if>
|
||||
<if test="chargingPileId !=null">
|
||||
and charging_pile_id=#{chargingPileId}
|
||||
</if>
|
||||
<if test="status==1">
|
||||
and charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{logOperatorId})
|
||||
</if>
|
||||
<if test="status==2">
|
||||
and charging_station_id in (select charging_station_id from xhpc_user_privilege where user_id=#{logOperatorId})
|
||||
</if>
|
||||
GROUP BY time
|
||||
order by end_time
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getDateOrderNUmber" resultType="int">
|
||||
select
|
||||
sum(total_power) totalPower
|
||||
from xhpc_history_order
|
||||
where end_time >=#{beginOfDay} and end_time <= #{endOfDay}
|
||||
<if test="operatorId !=null and ''!=operatorId">
|
||||
and charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{operatorId})
|
||||
</if>
|
||||
<if test="tenantId !=null and tenantId !=''">
|
||||
and tenant_id = #{tenantId}
|
||||
</if>
|
||||
<if test="chargingStationId !=null">
|
||||
and charging_station_id=#{chargingStationId}
|
||||
</if>
|
||||
<if test="chargingPileId !=null">
|
||||
and charging_pile_id=#{chargingPileId}
|
||||
</if>
|
||||
<if test="status==1">
|
||||
and charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{logOperatorId})
|
||||
</if>
|
||||
<if test="status==2">
|
||||
and charging_station_id in (select charging_station_id from xhpc_user_privilege where user_id=#{logOperatorId})
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getDateOrderCount" resultType="map">
|
||||
select
|
||||
count(history_order_id) number,
|
||||
<if test="type!=null and type ==4">
|
||||
date_format(end_time, '%Y-%m') time
|
||||
</if>
|
||||
<if test="type !=4">
|
||||
DATE_FORMAT(end_time, '%Y-%m-%d') time
|
||||
</if>
|
||||
from xhpc_history_order
|
||||
where end_time >=#{beginOfDay} and end_time <= #{endOfDay}
|
||||
<if test="operatorId !=null and ''!=operatorId">
|
||||
and charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{operatorId})
|
||||
</if>
|
||||
<if test="tenantId !=null and tenantId !=''">
|
||||
and tenant_id = #{tenantId}
|
||||
</if>
|
||||
<if test="chargingStationId !=null">
|
||||
and charging_station_id=#{chargingStationId}
|
||||
</if>
|
||||
<if test="chargingPileId !=null">
|
||||
and charging_pile_id=#{chargingPileId}
|
||||
</if>
|
||||
<if test="status==1">
|
||||
and charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{logOperatorId})
|
||||
</if>
|
||||
<if test="status==2">
|
||||
and charging_station_id in (select charging_station_id from xhpc_user_privilege where user_id=#{logOperatorId})
|
||||
</if>
|
||||
GROUP BY time
|
||||
order by end_time
|
||||
</select>
|
||||
|
||||
<select id="getDateOrderCountNUmber" resultType="int">
|
||||
select
|
||||
count(history_order_id) number
|
||||
from xhpc_history_order
|
||||
where end_time >=#{beginOfDay} and end_time <= #{endOfDay}
|
||||
<if test="operatorId !=null and ''!=operatorId">
|
||||
and charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{operatorId})
|
||||
</if>
|
||||
<if test="tenantId !=null and tenantId !=''">
|
||||
and tenant_id = #{tenantId}
|
||||
</if>
|
||||
<if test="chargingStationId !=null">
|
||||
and charging_station_id=#{chargingStationId}
|
||||
</if>
|
||||
<if test="chargingPileId !=null">
|
||||
and charging_pile_id=#{chargingPileId}
|
||||
</if>
|
||||
<if test="status==1">
|
||||
and charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{logOperatorId})
|
||||
</if>
|
||||
<if test="status==2">
|
||||
and charging_station_id in (select charging_station_id from xhpc_user_privilege where user_id=#{logOperatorId})
|
||||
</if>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user