订单管理增加流量方显示
This commit is contained in:
parent
343a45b2ee
commit
db4b92521e
@ -74,7 +74,6 @@ public class XhpcPileOrderController extends BaseController {
|
||||
logger.info("桩启动回调接口>>>>>状态:"+status+"备注++"+"remark"+"订单号"+orderNo);
|
||||
|
||||
//解析订单编号
|
||||
//String s1 = orderNo.substring(6);
|
||||
Long userId =0L;
|
||||
Integer code =200;
|
||||
if (status == 1) {
|
||||
@ -90,7 +89,10 @@ public class XhpcPileOrderController extends BaseController {
|
||||
JSONObject json = new JSONObject(map);
|
||||
logger.info("桩启动回调接口>>>>>json:"+json.toString());
|
||||
//消息对了内容
|
||||
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
|
||||
if(xhpcChargeOrder.getSource()==0){
|
||||
webSocketService.getMessage(userId+"",json.toString());
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@ -107,7 +109,6 @@ public class XhpcPileOrderController extends BaseController {
|
||||
logger.info("桩停止回调接口>>>>>状态:"+status+"备注++"+"remark"+"订单号"+orderNo);
|
||||
|
||||
//解析订单编号
|
||||
//String s1 = orderNo.substring(6);
|
||||
Integer code = 500;
|
||||
Long userId=0L;
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
@ -194,7 +195,7 @@ public class XhpcPileOrderController extends BaseController {
|
||||
CacheRealtimeData cacheRealtimeData = redisService.getCacheObject("order:" + orderNo + ".lord");
|
||||
|
||||
XhpcChargeOrder xhpcChargeOrder = xhpcChargeOrderService.getSerialNumberMessage(orderNo);
|
||||
if(xhpcChargeOrder.getSource()==0){
|
||||
|
||||
Long userId = xhpcChargeOrder.getUserId();
|
||||
try {
|
||||
Date date = new Date();
|
||||
@ -202,19 +203,23 @@ public class XhpcPileOrderController extends BaseController {
|
||||
xhpcChargeOrder.setUpdateTime(date);
|
||||
xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder);
|
||||
Map<String, Object> map = xhpcRealTimeOrderService.addOrderTime(cacheRealtimeData, xhpcChargeOrder, orderNo, 1);
|
||||
if(xhpcChargeOrder.getSource()==0){
|
||||
JSONObject json = new JSONObject(map);
|
||||
//消息对了内容
|
||||
webSocketService.getMessage(userId+"",json.toString());
|
||||
logger.info("桩实时数据发送WebSocket成功>>>>>orderNo:" + orderNo);
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("code", 500);
|
||||
map.put("userId", xhpcChargeOrder.getUserId());
|
||||
JSONObject json = new JSONObject(map);
|
||||
if(xhpcChargeOrder.getSource()==0){
|
||||
//消息对了内容
|
||||
webSocketService.getMessage(userId+"",json.toString());
|
||||
return R.fail(500,"无实时数据");
|
||||
}
|
||||
return R.fail(500,"无实时数据");
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@ -921,28 +921,28 @@ public class XhpcHistoryOrderController extends BaseController {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String dateStr = "2017-03-01 20:33:23";
|
||||
Date date = DateUtil.parse(dateStr);
|
||||
|
||||
|
||||
String dateStr1 = "2017-03-01 22:33:23";
|
||||
Date date1 = DateUtil.parse(dateStr1);
|
||||
|
||||
System.out.println(date1.getTime()-date.getTime());
|
||||
|
||||
|
||||
DateTime startTime = DateUtil.parse("2021-10-19 17:35:19");
|
||||
DateTime endTime = DateUtil.parse("2021-10-19 17:36:02");
|
||||
|
||||
//充电时长
|
||||
Long tiem = (endTime.getTime() - startTime.getTime())/1000;
|
||||
System.out.println(">>>>"+tiem);
|
||||
|
||||
|
||||
BigDecimal decimal = new BigDecimal(72);
|
||||
BigDecimal decimal1 = new BigDecimal(3600);
|
||||
|
||||
System.out.println(decimal.divide(decimal1,2,BigDecimal.ROUND_DOWN));
|
||||
// String dateStr = "2017-03-01 20:33:23";
|
||||
// Date date = DateUtil.parse(dateStr);
|
||||
//
|
||||
//
|
||||
// String dateStr1 = "2017-03-01 22:33:23";
|
||||
// Date date1 = DateUtil.parse(dateStr1);
|
||||
//
|
||||
// System.out.println(date1.getTime()-date.getTime());
|
||||
//
|
||||
//
|
||||
// DateTime startTime = DateUtil.parse("2021-10-19 17:35:19");
|
||||
// DateTime endTime = DateUtil.parse("2021-10-19 17:36:02");
|
||||
//
|
||||
// //充电时长
|
||||
// Long tiem = (endTime.getTime() - startTime.getTime())/1000;
|
||||
// System.out.println(">>>>"+tiem);
|
||||
//
|
||||
//
|
||||
// BigDecimal decimal = new BigDecimal(72);
|
||||
// BigDecimal decimal1 = new BigDecimal(3600);
|
||||
//
|
||||
// System.out.println(decimal.divide(decimal1,2,BigDecimal.ROUND_DOWN));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -109,9 +109,9 @@ public interface XhpcRealTimeOrderMapper {
|
||||
void deleteChargeOrderCurrent(@Param("chargingOrderId")Long chargingOrderId);
|
||||
|
||||
/**
|
||||
* 获取最后一条实时数据
|
||||
* 获取一条实时数据
|
||||
*/
|
||||
XhpcRealTimeOrder getChargingOrderId(@Param("chargingOrderId")Long chargingOrderId);
|
||||
XhpcRealTimeOrder getChargingOrderId(@Param("chargingOrderId")Long chargingOrderId,@Param("type")Integer type);
|
||||
|
||||
Map<String,Object> getChargeOrderById(@Param("chargingOrderId")Long chargingOrderId);
|
||||
|
||||
|
||||
@ -149,9 +149,88 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
|
||||
if(message ==null || message.get("chargeOrderId") ==null){
|
||||
return AjaxResult.success(new HashMap<>());
|
||||
}
|
||||
|
||||
//获取开始充电时间、结束时间、计费模型、充电度数、已充金额
|
||||
XhpcChargeOrder chargeOrder = xhpcChargeOrderService.getChargingOrderId(Long.parseLong(message.get("chargeOrderId").toString()));
|
||||
|
||||
//获取该订单最后一条实时数据
|
||||
Map<String, Object> cacheMap = redisService.getCacheMap("order:" + chargeOrder.getSerialNumber());
|
||||
List<CacheRealtimeData> list = (List<CacheRealtimeData>) cacheMap.get("realtimeDataList");
|
||||
CacheRealtimeData startData =new CacheRealtimeData();
|
||||
CacheRealtimeData endData =new CacheRealtimeData();
|
||||
|
||||
if (list != null && list.size() > 0) {
|
||||
endData =list.get(list.size()-1);
|
||||
for (int i = 0; i <list.size() ; i++) {
|
||||
startData =list.get(i);
|
||||
if(startData.getSoc()>0){
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Long rateModelId = chargeOrder.getRateModelId();
|
||||
|
||||
if(endData !=null && endData.getAmountCharged() !=null){
|
||||
|
||||
message.put("soc",endData.getSoc());
|
||||
//最后一祯时间
|
||||
Date endTime = DateUtil.parse(endData.getCreateTime());
|
||||
Date startTime =DateUtil.parse(startData.getCreateTime());
|
||||
//充电时长
|
||||
Long tiem = (endTime.getTime() - startTime.getTime()) / 1000;
|
||||
if (tiem > 3600) {
|
||||
long hours = tiem / 3600;
|
||||
double mins = (double) ((tiem - (hours * 3600)) / 60);
|
||||
message.put("chargingTime",hours + "时" + new BigDecimal(mins).setScale(0) + "分");
|
||||
chargeOrder.setChargingTime(hours + "时" + new BigDecimal(mins).setScale(0) + "分");
|
||||
} else {
|
||||
double mins = (double) (tiem / 60);
|
||||
message.put("chargingTime",new BigDecimal(mins).setScale(0) + "分");
|
||||
chargeOrder.setChargingTime(new BigDecimal(mins).setScale(0) + "分");
|
||||
}
|
||||
Integer chargingDegree = endData.getChargingDegree();
|
||||
message.put("chargingDegree",chargingDegree);
|
||||
|
||||
chargeOrder.setStartTime(startTime);
|
||||
chargeOrder.setEndTime(endTime);
|
||||
chargeOrder.setStartSoc(startData.getSoc().toString());
|
||||
chargeOrder.setEndSoc(endData.getSoc().toString());
|
||||
chargeOrder.setChargingTimeNumber(tiem);
|
||||
chargeOrder.setChargingDegree(new BigDecimal(chargingDegree));
|
||||
chargeOrder.setType(0);
|
||||
chargeOrder.setAmountCharged(new BigDecimal(endData.getAmountCharged()).divide(new BigDecimal(10000),2,BigDecimal.ROUND_DOWN));
|
||||
}else{
|
||||
//当没有缓存数据时,查询数据库
|
||||
XhpcRealTimeOrder startRealTimeOrder = xhpcRealTimeOrderMapper.getChargingOrderId(chargeOrder.getChargeOrderId(), 1);
|
||||
|
||||
XhpcRealTimeOrder endRealTimeOrder = xhpcRealTimeOrderMapper.getChargingOrderId(chargeOrder.getChargeOrderId(), 2);
|
||||
|
||||
message.put("soc",endRealTimeOrder.getSoc());
|
||||
//最后一祯时间
|
||||
Date endTime = endRealTimeOrder.getCreateTime();
|
||||
Date startTime = startRealTimeOrder.getCreateTime();
|
||||
|
||||
BigDecimal chargingDegree = endRealTimeOrder.getChargingDegree();
|
||||
message.put("chargingDegree",chargingDegree);
|
||||
chargeOrder.setChargingTime(endRealTimeOrder.getChargingTime());
|
||||
message.put("chargingTime",endRealTimeOrder.getChargingTime());
|
||||
|
||||
chargeOrder.setStartTime(startTime);
|
||||
chargeOrder.setEndTime(endTime);
|
||||
chargeOrder.setStartSoc(startRealTimeOrder.getSoc());
|
||||
chargeOrder.setEndSoc(endRealTimeOrder.getSoc());
|
||||
Integer chargingTimeNumber = endRealTimeOrder.getChargingTimeNumber();
|
||||
if(chargingTimeNumber>0){
|
||||
chargeOrder.setChargingTimeNumber(Long.valueOf(chargingTimeNumber*60));
|
||||
}else{
|
||||
chargeOrder.setChargingTimeNumber(0L);
|
||||
}
|
||||
chargeOrder.setChargingDegree(chargingDegree);
|
||||
chargeOrder.setType(0);
|
||||
chargeOrder.setAmountCharged(endRealTimeOrder.getAmountCharged());
|
||||
}
|
||||
|
||||
Date startTime2 = chargeOrder.getStartTime();
|
||||
Date updateTime2 = chargeOrder.getEndTime();
|
||||
BigDecimal amountCharged = chargeOrder.getAmountCharged();
|
||||
@ -161,27 +240,38 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
|
||||
//1时间没有跨天
|
||||
DateTime parse = DateUtil.parse(DateUtil.format(startTime2, "yyyy-MM-dd"), "yyyy-MM-dd");
|
||||
DateTime parse1 = DateUtil.parse(DateUtil.format(updateTime2, "yyyy-MM-dd"), "yyyy-MM-dd");
|
||||
System.out.println(parse.toString());
|
||||
System.out.println(parse.toString());
|
||||
//每分钟多少度电
|
||||
BigDecimal decimal = new BigDecimal((updateTime2.getTime() - startTime2.getTime())).divide(new BigDecimal(60000),2,BigDecimal.ROUND_DOWN);
|
||||
BigDecimal divide = chargingDegree.divide(decimal,2,BigDecimal.ROUND_DOWN);
|
||||
long betweenDay = DateUtil.between(parse,parse1, DateUnit.DAY);
|
||||
if(betweenDay==0){
|
||||
powerPriceTotal = getBigDecimal(rateModelId, startTime2, updateTime2, chargingDegree, powerPriceTotal);
|
||||
powerPriceTotal = getBigDecimal(rateModelId,DateUtil.formatTime(startTime2), DateUtil.formatTime(updateTime2), powerPriceTotal, divide);
|
||||
}else{
|
||||
//跨天
|
||||
Date updateTime = DateUtil.endOfDay(startTime2);
|
||||
powerPriceTotal = getBigDecimal(rateModelId, startTime2, updateTime, chargingDegree, powerPriceTotal);
|
||||
powerPriceTotal = getBigDecimal(rateModelId, DateUtil.formatTime(startTime2), "23:59:59", chargingDegree, powerPriceTotal);
|
||||
//明天
|
||||
DateTime tomorrow = DateUtil.offsetDay(startTime2,1);
|
||||
Date startTime3 = DateUtil.beginOfDay(tomorrow);
|
||||
powerPriceTotal = getBigDecimal(rateModelId, startTime3, updateTime2, chargingDegree, powerPriceTotal);
|
||||
powerPriceTotal = getBigDecimal(rateModelId, DateUtil.formatTime(startTime3), DateUtil.formatTime(updateTime2), chargingDegree, powerPriceTotal);
|
||||
}
|
||||
|
||||
//算服务费和电费
|
||||
if(amountCharged.compareTo(powerPriceTotal)==1){
|
||||
BigDecimal servicePriceTotal =amountCharged.subtract(powerPriceTotal);
|
||||
message.put("powerPriceTotal",powerPriceTotal);
|
||||
message.put("servicePriceTotal",servicePriceTotal);
|
||||
}else{
|
||||
message.put("powerPriceTotal",amountCharged);
|
||||
message.put("servicePriceTotal",0);
|
||||
}
|
||||
|
||||
//修改充电订单
|
||||
xhpcChargeOrderService.updateXhpcChargeOrder(chargeOrder);
|
||||
return AjaxResult.success(message);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public AjaxResult getExamine(Long chargingOrderId, BigDecimal powerPrice, BigDecimal servicePrice) {
|
||||
|
||||
@ -468,6 +558,12 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
|
||||
}catch (Exception e){
|
||||
logger.info("<<<<<<<<<<<<<<<<发送短信失败>>>>>>>>>>>>>>>>>");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
xhpcHistoryOrderService.insert(xhpcHistoryOrder);
|
||||
|
||||
xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder);
|
||||
// 另起线程处理业务上传redis数据
|
||||
executorService.execute(new Runnable() {
|
||||
@Override
|
||||
@ -475,63 +571,9 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
|
||||
addPileEndOrder(xhpcHistoryOrder, xhpcChargeOrder, xhpcChargeOrder.getSerialNumber(),1);
|
||||
}
|
||||
});
|
||||
}
|
||||
xhpcHistoryOrderService.insert(xhpcHistoryOrder);
|
||||
|
||||
xhpcChargeOrderService.updateXhpcChargeOrder(xhpcChargeOrder);
|
||||
|
||||
// redisService.deleteObject("pushOrder:"+xhpcChargeOrder.getSerialNumber());
|
||||
}
|
||||
|
||||
|
||||
private BigDecimal getBigDecimal(Long rateModelId, Date startTime2, Date updateTime2, BigDecimal chargingDegree, BigDecimal powerPriceTotal) {
|
||||
|
||||
//算出相差时间,分
|
||||
double time = (updateTime2.getTime()-startTime2.getTime())/60000;
|
||||
BigDecimal decimal = new BigDecimal(time).setScale(2);
|
||||
//每分钟多少度
|
||||
BigDecimal degree =chargingDegree.divide(decimal,2,BigDecimal.ROUND_DOWN);
|
||||
//获取费率时间段
|
||||
String startTime = DateUtil.formatTime(startTime2);
|
||||
String endTime = DateUtil.formatTime(updateTime2);
|
||||
List<Map<String, Object>> reatTimeList = xhpcHistoryOrderService.getReatTimeList(startTime, endTime, rateModelId);
|
||||
if(reatTimeList !=null && reatTimeList.size()>0){
|
||||
int size = reatTimeList.size();
|
||||
if(size==1){
|
||||
BigDecimal powerFee = new BigDecimal(reatTimeList.get(0).get("powerFee").toString());
|
||||
powerPriceTotal = powerFee.multiply(chargingDegree).setScale(2, BigDecimal.ROUND_DOWN);
|
||||
}else{
|
||||
for (int i = 0; i <reatTimeList.size() ; i++) {
|
||||
Map<String, Object> objectMap = reatTimeList.get(i);
|
||||
BigDecimal powerFee =new BigDecimal(objectMap.get("powerFee").toString());
|
||||
String startTime1 = objectMap.get("startTime").toString();
|
||||
String endTime1 = objectMap.get("endTime").toString();
|
||||
if(i==0){
|
||||
powerPriceTotal=getRateTimeList(startTime1,endTime,degree,powerFee,powerPriceTotal);
|
||||
}else{
|
||||
if(size==2){
|
||||
powerPriceTotal=getRateTimeList(startTime1,endTime,degree,powerFee,powerPriceTotal);
|
||||
}else{
|
||||
//三个时段以上
|
||||
if(i<size-1){
|
||||
powerPriceTotal=getRateTimeList(startTime1,endTime1,degree,powerFee,powerPriceTotal);
|
||||
}else{
|
||||
powerPriceTotal=getRateTimeList(startTime1,endTime,degree,powerFee,powerPriceTotal);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return powerPriceTotal;
|
||||
}
|
||||
|
||||
private BigDecimal getRateTimeList(String startTime,String endTime,BigDecimal s,BigDecimal powerFee,BigDecimal powerPriceTotal){
|
||||
BigDecimal decimal = new BigDecimal((DateUtil.parse(endTime).getTime() - DateUtil.parse(startTime).getTime())/60000).setScale(2, BigDecimal.ROUND_DOWN);
|
||||
powerPriceTotal = powerPriceTotal.add(decimal.multiply(powerFee).multiply(s));
|
||||
return powerPriceTotal.setScale(2, BigDecimal.ROUND_DOWN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteRealTimeOrder(Long chargingOrderId) {
|
||||
xhpcRealTimeOrderMapper.deleteRealTimeOrder(chargingOrderId);
|
||||
@ -738,4 +780,24 @@ public class XhpcRealTimeOrderServiceImpl implements IXhpcRealTimeOrderService {
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
private BigDecimal getBigDecimal(Long rateModelId, String startTime, String updateTime, BigDecimal powerPriceTotal, BigDecimal divide) {
|
||||
|
||||
List<Map<String, Object>> reatTimeList = xhpcHistoryOrderService.getReatTimeList(startTime,updateTime, rateModelId);
|
||||
for (int i = 0; i <reatTimeList.size() ; i++) {
|
||||
Map<String, Object> map = reatTimeList.get(i);
|
||||
//获取费率
|
||||
if(reatTimeList.size()==1){
|
||||
BigDecimal powerFee =new BigDecimal(map.get("powerFee").toString());
|
||||
powerPriceTotal = powerPriceTotal.add(powerFee.multiply(divide).setScale(2, BigDecimal.ROUND_DOWN));
|
||||
}else if(i!=reatTimeList.size()-1){
|
||||
BigDecimal powerFee =new BigDecimal(map.get("powerFee").toString());
|
||||
powerPriceTotal = powerPriceTotal.add(powerFee.multiply(divide).setScale(2, BigDecimal.ROUND_DOWN));
|
||||
}else{
|
||||
BigDecimal powerFee =new BigDecimal(map.get("powerFee").toString());
|
||||
powerPriceTotal = powerPriceTotal.add(powerFee.multiply(divide).setScale(2, BigDecimal.ROUND_DOWN));
|
||||
}
|
||||
}
|
||||
return powerPriceTotal;
|
||||
}
|
||||
}
|
||||
|
||||
@ -601,9 +601,11 @@
|
||||
co.end_time as endTime,
|
||||
co.update_time as updateTime,
|
||||
co.source as source,
|
||||
co.Plate_num as plateNum,
|
||||
dispute_order_status as disputeOrderStatus,
|
||||
(SELECT phone FROM xhpc_app_user where app_user_id = co.user_id) as appUserPhone,
|
||||
(SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone
|
||||
(SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone,
|
||||
(SELECT name from xhpc_internet_user where internet_user_id = co.user_id and co.source =1) as internetName
|
||||
from xhpc_history_order as ho
|
||||
left join xhpc_charging_station as ct on ct.charging_station_id = ho.charging_station_id
|
||||
left join xhpc_operator as op on op.operator_id = ct.operator_id
|
||||
@ -615,11 +617,14 @@
|
||||
<if test="type !=null">
|
||||
and ho.type=#{type}
|
||||
</if>
|
||||
<if test="source !=null">
|
||||
and co.source=#{source}
|
||||
</if>
|
||||
<if test="startTime !=null and startTime !=''">
|
||||
and co.start_time >= #{startTime}
|
||||
</if>
|
||||
<if test="endTime !=null and endTime !=''">
|
||||
and co.start_time <= #{startTime}
|
||||
and co.start_time <= #{endTime}
|
||||
</if>
|
||||
<if test="transactionNumber !=null and transactionNumber !=''">
|
||||
and ho.serial_number like concat('%', #{transactionNumber}, '%')
|
||||
@ -652,11 +657,9 @@
|
||||
</if>
|
||||
</if>
|
||||
<if test="status==1">
|
||||
and co.source =0
|
||||
and co.charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{userId})
|
||||
</if>
|
||||
<if test="status==2">
|
||||
and co.source =0
|
||||
and co.charging_station_id in (select charging_station_id from xhpc_user_privilege where user_id=#{userId})
|
||||
</if>
|
||||
order by ho.create_time desc
|
||||
@ -670,13 +673,12 @@
|
||||
ra.service_fee as serviceFee
|
||||
from xhpc_rate_time as rt
|
||||
left join xhpc_rate ra on rt.rate_id =ra.rate_id
|
||||
where rt.rate_model_id=#{rateModelId}
|
||||
and (
|
||||
(rt.start_time <= #{startTime} and replace(rt.end_time, '00:00:00', '23:59:59') >= #{endTime} )
|
||||
OR
|
||||
(rt.start_time <= #{startTime} and replace(rt.end_time, '00:00:00', '23:59:59') >= #{startTime} and replace(rt.end_time, '00:00:00', '23:59:59') >= #{endTime} )
|
||||
OR
|
||||
(rt.start_time <= #{endTime} and replace(rt.end_time, '00:00:00', '23:59:59') >= #{endTime} )
|
||||
WHERE
|
||||
rt.rate_time_id >= (
|
||||
SELECT rate_time_id FROM xhpc_rate_time WHERE rate_model_id = #{rateModelId} AND start_time <= #{startTime} AND replace(end_time, '00:00:00', '23:59:59') >= #{startTime}
|
||||
)
|
||||
AND rt.rate_time_id <= (
|
||||
SELECT rate_time_id FROM xhpc_rate_time WHERE rate_model_id = #{rateModelId} AND start_time <= #{endTime} AND replace(end_time, '00:00:00', '23:59:59') >= #{endTime}
|
||||
)
|
||||
</select>
|
||||
|
||||
@ -724,6 +726,8 @@
|
||||
ed.check_order_seq as sanCheckOrderSeq,
|
||||
(SELECT phone FROM xhpc_app_user where app_user_id = co.user_id) as appUserPhone,
|
||||
(SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone,
|
||||
co.Plate_num as plateNum,
|
||||
(SELECT name from xhpc_internet_user where internet_user_id = co.user_id and co.source =1) as internetName,
|
||||
case when ho.stop_reason_evcs=40 then "APP远程停止"
|
||||
when ho.stop_reason_evcs=41 then "SOC达到100%"
|
||||
when ho.stop_reason_evcs=42 then "充电电量满足设定条件"
|
||||
|
||||
@ -392,19 +392,27 @@
|
||||
co.erro_remark as erroRemark,
|
||||
co.create_time as createTime,
|
||||
co.start_time as startTime,
|
||||
(select real_time_order_id from xhpc_real_time_order where transaction_number =co.serial_number order by real_time_order_id desc limit 1) realTimeOrderId,
|
||||
(select soc from xhpc_real_time_order where transaction_number =co.serial_number order by real_time_order_id desc limit 1) soc,
|
||||
(select charging_degree from xhpc_real_time_order where transaction_number =co.serial_number order by real_time_order_id desc limit 1) chargingDegree,
|
||||
(select charging_time from xhpc_real_time_order where transaction_number =co.serial_number order by real_time_order_id desc limit 1) chargingTime,
|
||||
(select real_time_order_id from xhpc_real_time_order where co.charge_order_id= charging_order_id order by real_time_order_id desc limit 1) realTimeOrderId,
|
||||
(select soc from xhpc_real_time_order where co.charge_order_id= charging_order_id order by real_time_order_id desc limit 1) soc,
|
||||
(select charging_degree from xhpc_real_time_order where co.charge_order_id= charging_order_id order by real_time_order_id desc limit 1) chargingDegree,
|
||||
(select charging_time from xhpc_real_time_order where co.charge_order_id= charging_order_id order by real_time_order_id desc limit 1) chargingTime,
|
||||
co.source as source,
|
||||
co.Plate_num as plateNum,
|
||||
(SELECT phone FROM xhpc_app_user where app_user_id = co.user_id) as appUserPhone,
|
||||
(SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone
|
||||
(SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone,
|
||||
(SELECT name from xhpc_internet_user where internet_user_id = co.user_id and co.source =1) as internetName
|
||||
from xhpc_charge_order co
|
||||
left join xhpc_charging_station as ct on ct.charging_station_id = co.charging_station_id
|
||||
left join xhpc_operator as op on op.operator_id = ct.operator_id
|
||||
left join xhpc_terminal as ter on ter.terminal_id = co.terminal_id
|
||||
left join xhpc_charging_pile as cp on cp.charging_pile_id = ter.charging_pile_id
|
||||
where co.status=#{status} and co.del_flag=0
|
||||
<if test="source !=null">
|
||||
and co.source =#{source}
|
||||
</if>
|
||||
<if test="status !=null">
|
||||
and co.status =#{status}
|
||||
</if>
|
||||
<if test="startTime !=null and startTime !=''">
|
||||
and co.start_time >= #{startTime}
|
||||
</if>
|
||||
@ -445,11 +453,9 @@
|
||||
</if>
|
||||
</if>
|
||||
<if test="type==1">
|
||||
and co.source =0
|
||||
and co.charging_station_id in (select charging_station_id from xhpc_charging_station where operator_id=#{userId})
|
||||
</if>
|
||||
<if test="type==2">
|
||||
and co.source =0
|
||||
and co.charging_station_id in (select charging_station_id from xhpc_user_privilege where user_id=#{userId})
|
||||
</if>
|
||||
order by co.create_time desc
|
||||
@ -479,8 +485,10 @@
|
||||
co.internet_serial_number as internetSerialNumber,
|
||||
co.erro_remark as erroRemark,
|
||||
ro.amount_charged as amountCharged,
|
||||
co.Plate_num as plateNum,
|
||||
(SELECT phone FROM xhpc_app_user where app_user_id = co.user_id) as appUserPhone,
|
||||
(SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone
|
||||
(SELECT phone from xhpc_internet_user where internet_user_id = co.user_id) as internetUserPhone,
|
||||
(SELECT name from xhpc_internet_user where internet_user_id = co.user_id and co.source=1) as internetName
|
||||
from xhpc_real_time_order ro
|
||||
Left join xhpc_charge_order co on co.serial_number = ro.transaction_number
|
||||
Left join xhpc_charging_station as ct on ct.charging_station_id = ro.charging_station_id
|
||||
@ -549,7 +557,14 @@
|
||||
</delete>
|
||||
|
||||
<select id="getChargingOrderId" resultMap="XhpcRealTimeOrderMap">
|
||||
select * from xhpc_real_time_order where charging_order_id=#{chargingOrderId} order by create_time desc limit 1
|
||||
select * from xhpc_real_time_order where charging_order_id=#{chargingOrderId}
|
||||
<if test="type ==1">
|
||||
order by create_time asc
|
||||
</if>
|
||||
<if test="type==2">
|
||||
order by create_time desc
|
||||
</if>
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
<select id="getChargeOrderById" resultType="map">
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user