From b91258dde33392caed8c31f6933efd9b9415dac0 Mon Sep 17 00:00:00 2001 From: yuyang Date: Tue, 26 Apr 2022 14:29:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=BB=9F=E8=AE=A1=E4=B8=BAnu?= =?UTF-8?q?ll=E6=97=B6=EF=BC=8C=E9=BB=98=E8=AE=A4=E4=B8=BA0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../XhpcChargingStationServiceImpl.java | 18 +- .../mapper/XhpcChargingStationMapper.xml | 2 +- .../resources/mapper/XhpcTerminalMapper.xml | 4 +- .../order/api/XhpcPileOrderController.java | 5 +- .../impl/XhpcChargeOrderServiceImpl.java | 4 +- .../impl/XhpcHistoryOrderServiceImpl.java | 62 +++- .../impl/XhpcRealTimeOrderServiceImpl.java | 42 +-- .../resources/mapper/XhpcStatisticsMapper.xml | 294 +++++++++--------- 8 files changed, 235 insertions(+), 196 deletions(-) diff --git a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingStationServiceImpl.java b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingStationServiceImpl.java index 73a1f975..16ec7d7c 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingStationServiceImpl.java +++ b/xhpc-modules/xhpc-charging-station/src/main/java/com/xhpc/charging/station/service/XhpcChargingStationServiceImpl.java @@ -186,6 +186,11 @@ public class XhpcChargingStationServiceImpl extends BaseService implements IXhpc //获取该时段电费 //HH:mm:ss String tiem = DateUtil.formatTime(new Date()); + if(map.get("imgId") !=null){ + String[] imgIds = map.get("imgId").toString().split(","); + map.put("url",imgIds[0]); + } + Map xhpcRateTime = xhpcRateTimeService.getXhpcRateTime(tiem, chargingStationId); if (xhpcRateTime != null) { map.putAll(xhpcRateTime); @@ -698,11 +703,18 @@ public class XhpcChargingStationServiceImpl extends BaseService implements IXhpc } //图片信息 - List imgList = new ArrayList<>(); if (map !=null &&map.get("imgId") != null && map.get("imgId").toString() != "") { String[] split = map.get("imgId").toString().split(","); - imgList = Arrays.asList(split); - map.put("imgIdList", imgList); + List> mapList =new ArrayList<>(); + for (int j = 0; j > mapList1 =new ArrayList<>(); + Map map1 =new AjaxResult(); + map1.put("imgId",j+1); + map1.put("url",split[j]); + mapList1.add(map1); + mapList.addAll(mapList1); + } + map.put("imgIdList", mapList); } else { map.put("imgIdList", new ArrayList<>()); } diff --git a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcChargingStationMapper.xml b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcChargingStationMapper.xml index f135c45d..086f60dd 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcChargingStationMapper.xml +++ b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcChargingStationMapper.xml @@ -70,7 +70,7 @@ cs.name as name, ope.name as operatorName, cs.address as address, - (select url from xhpc_img where img_id = cs.img_id and del_flag =0 limit 1) as url, + cs.img_id as imgId, cs.client_visible as clientVisible, cs.status as status from xhpc_charging_station as cs diff --git a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcTerminalMapper.xml b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcTerminalMapper.xml index 57372119..0849007e 100644 --- a/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcTerminalMapper.xml +++ b/xhpc-modules/xhpc-charging-station/src/main/resources/mapper/XhpcTerminalMapper.xml @@ -187,7 +187,7 @@ rate_model_id, - number + number, operator_id_evcs, @@ -243,7 +243,7 @@ #{rateModelId}, - #{number} + #{number}, #{operatorIdEvcs}, diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java index b48eb740..175253aa 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/api/XhpcPileOrderController.java @@ -443,9 +443,8 @@ public class XhpcPileOrderController extends BaseController { XhpcHistoryOrder xhpcHistoryOrder = new XhpcHistoryOrder(); //停止原因 try{ - if(cacheMap.get("stopReason") !=null){ - String stopReason1 = cacheMap.get("stopReason").toString(); - xhpcChargeOrder.setType(stopReason1); + if(cacheOrderData.getStopReason() !=null && !"".equals(cacheOrderData.getStopReason())){ + xhpcChargeOrder.setType(cacheOrderData.getStopReason()); } }catch (Exception e){} //历史订单 diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargeOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargeOrderServiceImpl.java index efdec9d5..19c31d54 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargeOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcChargeOrderServiceImpl.java @@ -283,7 +283,7 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar xhpcChargeOrder.setChargingMode("支付宝"); } xhpcChargeOrder.setCreateTime(Calendar.getInstance().getTime()); - xhpcChargeOrder.setType("平台停止"); + xhpcChargeOrder.setType("91"); xhpcChargeOrderMapper.addXhpcChargeOrder(xhpcChargeOrder); executorService.execute(new Runnable() { @@ -771,7 +771,7 @@ public class XhpcChargeOrderServiceImpl extends BaseService implements IXhpcChar xhpcChargeOrder.setChargingMode("刷卡"); xhpcChargeOrder.setCreateTime(Calendar.getInstance().getTime()); - xhpcChargeOrder.setType("平台停止"); + xhpcChargeOrder.setType("91"); xhpcChargeOrderMapper.addXhpcChargeOrder(xhpcChargeOrder); //插一帧实时数据 diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java index d9e779bf..fc3324dd 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcHistoryOrderServiceImpl.java @@ -7,7 +7,6 @@ import cn.hutool.core.io.IoUtil; import cn.hutool.poi.excel.BigExcelWriter; import cn.hutool.poi.excel.ExcelUtil; import com.xhpc.common.api.RefundOrderService; -import com.xhpc.common.api.SmsService; import com.xhpc.common.api.UserTypeService; import com.xhpc.common.core.domain.R; import com.xhpc.common.core.utils.SecurityUtils; @@ -16,7 +15,6 @@ import com.xhpc.common.core.web.service.BaseService; import com.xhpc.common.data.redis.CacheRealtimeData; import com.xhpc.common.redis.service.RedisService; import com.xhpc.common.security.service.TokenService; -import com.xhpc.common.util.EvcsUtil; import com.xhpc.common.util.UserTypeUtil; import com.xhpc.order.domain.XhpcChargeOrder; import com.xhpc.order.domain.XhpcHistoryOrder; @@ -32,7 +30,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; - import javax.annotation.Resource; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; @@ -40,7 +37,6 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.BigDecimal; import java.util.*; -import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** @@ -55,28 +51,29 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis @Autowired private IXhpcChargeOrderService xhpcChargeOrderService; - @Autowired - private XhpcRealTimeOrderMapper xhpcRealTimeOrderMapper; - - @Autowired - private SmsService smsService; - - private final ExecutorService executorService = Executors.newFixedThreadPool(20); - - private static final Logger logger = LoggerFactory.getLogger(XhpcHistoryOrderServiceImpl.class); - @Autowired private RedisService redisService; - @Autowired private IXhpcRealTimeOrderService xhpcRealTimeOrderService; @Autowired - private RefundOrderService refundOrderService; - @Autowired private TokenService tokenService; @Autowired private UserTypeService userTypeService; + private static final Logger logger = LoggerFactory.getLogger(XhpcHistoryOrderServiceImpl.class); + private static Map SM = new HashMap<>(); + static { + SM.put("40", "APP 远程停止"); + SM.put("41", "SOC 达到 100%"); + SM.put("42", "充电电量满足设定条件"); + SM.put("43", "充电金额满足设定条件"); + SM.put("44", "充电时间满足设定条件"); + SM.put("45", "手动停止充电"); + SM.put("72", "急停按钮停止充电(0X72)"); + } + + + @Override public List> list(HttpServletRequest request) { List> list =new ArrayList<>(); @@ -116,6 +113,9 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis Map map = xhpcHistoryOrderMapper.gethistotyOrderMessage(loginUser.getUserid(), historyOrderId, loginUser.getUserType(), chargingOrderId, loginUser.getTenantId()); if(map !=null){ + if(map.get("typeName") !=null){ + map.put("typeName",translate(map.get("typeName").toString())); + } return AjaxResult.success(map); } //查询最后一帧数据 @@ -201,6 +201,11 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis System.out.println(">>>>>>跨天后>>>>>>>"+powerPriceTotal); } stringObjectMap.put("actPowerPrice",powerPriceTotal); + + if(stringObjectMap.get("typeName") !=null){ + map.put("typeName",translate(map.get("typeName").toString())); + } + } return AjaxResult.success(stringObjectMap); } @@ -372,6 +377,9 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis try { Map byId = xhpcHistoryOrderMapper.getById(historyOrderId); if (byId != null) { + if(byId.get("stopReasonRvcsName") !=null){ + byId.put("stopReasonRvcsName",translate(byId.get("stopReasonRvcsName").toString())); + } byId.putAll(getRateTime(byId.get("serialNumber").toString(), byId.get("totalPrice").toString())); } return AjaxResult.success(byId); @@ -636,5 +644,25 @@ public class XhpcHistoryOrderServiceImpl extends BaseService implements IXhpcHis return bigDecimal; } + private String translate(String stopReason) { + String sr = SM.get(stopReason); + if (sr == null) { + final Integer stopReasonInt = Integer.valueOf(stopReason, 16); + if (stopReasonInt <= 0x49) { +// if (stopReasonInt >= 0x40 && stopReasonInt <= 0x49) { // todo wi lh 0x40? + sr = "充电完成(0X".concat(stopReason).concat(")"); + } else if (stopReasonInt <= 0x69) { + sr = "充电启动失败(0X".concat(stopReason).concat(")"); + } else if (stopReasonInt < 0x90) { + sr = "充电异常中止(0X".concat(stopReason).concat(")"); + } else if (stopReasonInt == 0x90) { + sr = "未知原因中止(0X".concat(stopReason).concat(")"); + } else { + sr = "未知原因中止(UC_0X".concat(stopReason).concat(")"); + } + } + return sr; +// } + } } diff --git a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java index 93381225..b024d00d 100644 --- a/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java +++ b/xhpc-modules/xhpc-order/src/main/java/com/xhpc/order/service/impl/XhpcRealTimeOrderServiceImpl.java @@ -347,7 +347,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe xhpcChargeOrder.setStatus(3); xhpcChargeOrder.setAmountCharged(money); xhpcChargeOrder.setStopReasonEvcs(45); - xhpcChargeOrder.setType("平台停止充电"); + xhpcChargeOrder.setType("91"); Long userId = xhpcChargeOrder.getUserId(); Integer source = xhpcChargeOrder.getSource(); String tenantId = xhpcChargeOrder.getTenantId(); @@ -412,7 +412,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe */ @Override public R addSettlement(BigDecimal powerPrice, BigDecimal servicePrice, BigDecimal money, BigDecimal surplusPowerPrice, BigDecimal surplusServicePrice, XhpcChargeOrder xhpcChargeOrder, Long userId, Map userMessage, Integer type, String vinNormal, XhpcHistoryOrder xhpcHistoryOrder) { - + logger.info("<<<<<<<<<<<<<<<进入结算>>>>>>>>>>>>>>>>>"+xhpcChargeOrder.getSerialNumber()); try{ xhpcHistoryOrder.setPowerPriceTotal(powerPrice); xhpcHistoryOrder.setServicePriceTotal(servicePrice); @@ -1199,24 +1199,24 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe public void run() { try{ logger.info("<<<<<<<<<<<<<<<<进行入短信发送>>>>>>>>>>>>>>>>>"); - if(!UserTypeUtil.INTERNET_TYPE.equals(source)){ - if(userMessage !=null && userMessage.get("phone") != null){ - if("1".equals(xhpcChargingPile.get("type").toString())){ - HashMap paramMap = new HashMap<>(); - paramMap.put("elec", xhpcChargeOrder.getEndSoc()); - paramMap.put("sumMoney", balance.toString()); - paramMap.put("phone", userMessage.get("phone").toString()); - paramMap.put("content", "【小华停止充电】尊敬的用户,你的爱车已停止充电,电量为:" + xhpcChargeOrder.getEndSoc() + "%,总费用为:" + balance + "元,充电费用明细,请查询小华充电小程序,谢谢。"); - smsService.sendNotice(paramMap); - }else { - HashMap paramMap = new HashMap<>(); - paramMap.put("sumMoney", balance.toString()); - paramMap.put("phone", userMessage.get("phone").toString()); - paramMap.put("content", "【小华停止充电】尊敬的用户,你的爱车已停止充电,总费用为:" + balance.toString() + "元,充电费用明细,请查询小华充电小程序,谢谢。"); - smsService.sendNotice(paramMap); - } - } - } +// if(!UserTypeUtil.INTERNET_TYPE.equals(source)){ +// if(userMessage !=null && userMessage.get("phone") != null){ +// if("1".equals(xhpcChargingPile.get("type").toString())){ +// HashMap paramMap = new HashMap<>(); +// paramMap.put("elec", xhpcChargeOrder.getEndSoc()); +// paramMap.put("sumMoney", balance.toString()); +// paramMap.put("phone", userMessage.get("phone").toString()); +// paramMap.put("content", "【小华停止充电】尊敬的用户,你的爱车已停止充电,电量为:" + xhpcChargeOrder.getEndSoc() + "%,总费用为:" + balance + "元,充电费用明细,请查询小华充电小程序,谢谢。"); +// smsService.sendNotice(paramMap); +// }else { +// HashMap paramMap = new HashMap<>(); +// paramMap.put("sumMoney", balance.toString()); +// paramMap.put("phone", userMessage.get("phone").toString()); +// paramMap.put("content", "【小华停止充电】尊敬的用户,你的爱车已停止充电,总费用为:" + balance.toString() + "元,充电费用明细,请查询小华充电小程序,谢谢。"); +// smsService.sendNotice(paramMap); +// } +// } +// } }catch (Exception e){ logger.info("<<<<<<<<<<<<<<<<发送短信失败>>>>>>>>>>>>>>>>>"); } @@ -1512,7 +1512,7 @@ public class XhpcRealTimeOrderServiceImpl extends BaseService implements IXhpcRe xhpcHistoryOrder.setEndTime(xhpcChargeOrder.getStartTime()); } - xhpcHistoryOrder.setStopReasonEvcs("平台停止"); + xhpcHistoryOrder.setStopReasonEvcs("91"); if(UserTypeUtil.COMMUNIT_TYPE.equals(xhpcChargeOrder.getSource()) || UserTypeUtil.CUSTOMERS_TYPE.equals(xhpcChargeOrder.getSource())){ xhpcHistoryOrder.setChargeModelEvcs(2); }else{ diff --git a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcStatisticsMapper.xml b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcStatisticsMapper.xml index 36fefe23..20dc0d48 100644 --- a/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcStatisticsMapper.xml +++ b/xhpc-modules/xhpc-order/src/main/resources/mapper/XhpcStatisticsMapper.xml @@ -38,24 +38,24 @@ select - format(sum(charging_degree), 2) chargingDegree, - format(sum(charging_time), 2) chargingTime, - format(sum(charging_number), 2) chargingNumber, - format(sum(power_price), 2) powerPrice, - format(sum(service_price), 2) servicePrice, - format(sum(total_price), 2) totalPrice, - format(sum(act_price), 2) actPrice, - format(sum(act_power_price), 2) actPowerPrice, - format(sum(act_service_price), 2) actServicePrice, - format(sum(promotion_discount), 2) promotionDiscount, - format(sum(internet_commission), 2) internetCommission, - format(sum(internet_svc_commission), 2) internetSvcCommission, - format(sum(internet_degree_commission), 2) internetDegreeCommission, - format(sum(platform_commission), 2) platformCommission, - format(sum(platform_svc_commisssion), 2) platformSvcCommisssion, - format(sum(operation_commission), 2) operationCommission, - format(sum(operation_svc_commission), 2) operationSvcCommission, - format(sum(act_power_price + act_service_price), 2) actTotalPrice, + format(ifnull(sum(charging_degree),0), 2) chargingDegree, + format(ifnull(sum(charging_time),0), 2) chargingTime, + format(ifnull(sum(charging_number),0), 2) chargingNumber, + format(ifnull(sum(power_price),0), 2) powerPrice, + format(ifnull(sum(service_price),0), 2) servicePrice, + format(ifnull(sum(total_price),0), 2) totalPrice, + format(ifnull(sum(act_price),0), 2) actPrice, + format(ifnull(sum(act_power_price),0), 2) actPowerPrice, + format(ifnull(sum(act_service_price),0), 2) actServicePrice, + format(ifnull(sum(promotion_discount),0), 2) promotionDiscount, + format(ifnull(sum(internet_commission),0), 2) internetCommission, + format(ifnull(sum(internet_svc_commission),0), 2) internetSvcCommission, + format(ifnull(sum(internet_degree_commission),0), 2) internetDegreeCommission, + format(ifnull(sum(platform_commission),0), 2) platformCommission, + format(ifnull(sum(platform_svc_commisssion),0), 2) platformSvcCommisssion, + format(ifnull(sum(operation_commission),0), 2) operationCommission, + format(ifnull(sum(operation_svc_commission),0), 2) operationSvcCommission, + format(ifnull(sum(act_power_price + act_service_price),0), 2) actTotalPrice, DATE_FORMAT(create_time,'%Y-%m-%d') createTime from xhpc_statistics_station where del_flag=0 and type=1 and total_price >=0 @@ -159,24 +159,24 @@ select - format(sum(ss.charging_degree), 2) chargingDegree, - format(sum(ss.charging_time), 2) chargingTime, - format(sum(ss.charging_number), 2) chargingNumber, - format(sum(ss.power_price), 2) powerPrice, - format(sum(ss.service_price), 2) servicePrice, - format(sum(ss.total_price), 2) totalPrice, - format(sum(ss.act_price), 2) actPrice, - format(sum(ss.act_power_price), 2) actPowerPrice, - format(sum(ss.act_service_price), 2) actServicePrice, - format(sum(ss.act_service_price + ss.act_power_price), 2) actTotalPrice, - format(sum(ss.promotion_discount), 2) promotionDiscount, - format(sum(ss.internet_commission), 2) internetCommission, - format(sum(ss.internet_svc_commission), 2) internetSvcCommission, - format(sum(ss.internet_degree_commission), 2) internetDegreeCommission, - format(sum(ss.platform_commission), 2) platformCommission, - format(sum(ss.platform_svc_commisssion), 2) platformSvcCommisssion, - format(sum(ss.operation_commission), 2) operationCommission, - format(sum(ss.operation_svc_commission), 2) operationSvcCommission, + format(ifnull(sum(ss.charging_degree),0), 2) chargingDegree, + format(ifnull(sum(ss.charging_time),0), 2) chargingTime, + format(ifnull(sum(ss.charging_number),0), 2) chargingNumber, + format(ifnull(sum(ss.power_price),0), 2) powerPrice, + format(ifnull(sum(ss.service_price),0), 2) servicePrice, + format(ifnull(sum(ss.total_price),0), 2) totalPrice, + format(ifnull(sum(ss.act_price),0), 2) actPrice, + format(ifnull(sum(ss.act_power_price),0), 2) actPowerPrice, + format(ifnull(sum(ss.act_service_price),0), 2) actServicePrice, + format(ifnull(sum(ss.act_service_price + ss.act_power_price),0), 2) actTotalPrice, + format(ifnull(sum(ss.promotion_discount),0), 2) promotionDiscount, + format(ifnull(sum(ss.internet_commission),0), 2) internetCommission, + format(ifnull(sum(ss.internet_svc_commission),0), 2) internetSvcCommission, + format(ifnull(sum(ss.internet_degree_commission),0), 2) internetDegreeCommission, + format(ifnull(sum(ss.platform_commission),0), 2) platformCommission, + format(ifnull(sum(ss.platform_svc_commisssion),0), 2) platformSvcCommisssion, + format(ifnull(sum(ss.operation_commission),0), 2) operationCommission, + format(ifnull(sum(ss.operation_svc_commission),0), 2) operationSvcCommission, op.name operatorName, DATE_FORMAT(ss.create_time,'%Y-%m-%d') createTime from xhpc_statistics_station as ss @@ -265,23 +265,23 @@ select - format(sum(ss.charging_degree), 2) chargingDegree, - format(sum(ss.charging_time), 2) chargingTime, - format(sum(ss.charging_number), 2) chargingNumber, - format(sum(ss.power_price), 2) powerPrice, - format(sum(ss.service_price), 2) servicePrice, - format(sum(ss.total_price), 2) totalPrice, - format(sum(ss.act_price), 2) actPrice, - format(sum(ss.act_power_price), 2) actPowerPrice, - format(sum(ss.act_service_price), 2) actServicePrice, - format(sum(ss.act_service_price + ss.act_power_price), 2) actTotalPrice, - format(sum(ss.promotion_discount), 2) promotionDiscount, - format(sum(ss.internet_commission), 2) internetCommission, - format(sum(ss.internet_svc_commission), 2) internetSvcCommission, - format(sum(ss.internet_degree_commission), 2) internetDegreeCommission, - format(sum(ss.platform_commission), 2) platformCommission, - format(sum(ss.platform_svc_commisssion), 2) platformSvcCommisssion, - format(sum(ss.operation_commission), 2) operationCommission, - format(sum(ss.operation_svc_commission), 2) operationSvcCommission, + format(ifnull(sum(ss.charging_degree),0), 2) chargingDegree, + format(ifnull(sum(ss.charging_time),0), 2) chargingTime, + format(ifnull(sum(ss.charging_number),0), 2) chargingNumber, + format(ifnull(sum(ss.power_price),0), 2) powerPrice, + format(ifnull(sum(ss.service_price),0), 2) servicePrice, + format(ifnull(sum(ss.total_price),0), 2) totalPrice, + format(ifnull(sum(ss.act_price),0), 2) actPrice, + format(ifnull(sum(ss.act_power_price),0), 2) actPowerPrice, + format(ifnull(sum(ss.act_service_price),0), 2) actServicePrice, + format(ifnull(sum(ss.act_service_price + ss.act_power_price),0), 2) actTotalPrice, + format(ifnull(sum(ss.promotion_discount),0), 2) promotionDiscount, + format(ifnull(sum(ss.internet_commission),0), 2) internetCommission, + format(ifnull(sum(ss.internet_svc_commission),0), 2) internetSvcCommission, + format(ifnull(sum(ss.internet_degree_commission),0), 2) internetDegreeCommission, + format(ifnull(sum(ss.platform_commission),0), 2) platformCommission, + format(ifnull(sum(ss.platform_svc_commisssion),0), 2) platformSvcCommisssion, + format(ifnull(sum(ss.operation_commission),0), 2) operationCommission, + format(ifnull(sum(ss.operation_svc_commission),0), 2) operationSvcCommission, cs.name chargingStationName, te.name terminalName, DATE_FORMAT(ss.create_time,'%Y-%m-%d') createTime @@ -451,24 +451,24 @@ select - format(sum(ss.charging_degree), 2) chargingDegree, - format(sum(ss.charging_time), 2) chargingTime, - format(sum(ss.charging_number), 2) chargingNumber, - format(sum(ss.power_price), 2) powerPrice, - format(sum(ss.service_price), 2) servicePrice, - format(sum(ss.total_price), 2) totalPrice, - format(sum(ss.act_price), 2) actPrice, - format(sum(ss.act_power_price), 2) actPowerPrice, - format(sum(ss.act_service_price), 2) actServicePrice, - format(sum(ss.act_service_price + ss.act_power_price), 2) actTotalPrice, - format(sum(ss.promotion_discount), 2) promotionDiscount, - format(sum(ss.internet_commission), 2) internetCommission, - format(sum(ss.internet_svc_commission), 2) internetSvcCommission, - format(sum(ss.internet_degree_commission), 2) internetDegreeCommission, - format(sum(ss.platform_commission), 2) platformCommission, - format(sum(ss.platform_svc_commisssion), 2) platformSvcCommisssion, - format(sum(ss.operation_commission), 2) operationCommission, - format(sum(ss.operation_svc_commission), 2) operationSvcCommission, + format(ifnull(sum(ss.charging_degree),0), 2) chargingDegree, + format(ifnull(sum(ss.charging_time),0), 2) chargingTime, + format(ifnull(sum(ss.charging_number),0), 2) chargingNumber, + format(ifnull(sum(ss.power_price),0), 2) powerPrice, + format(ifnull(sum(ss.service_price),0), 2) servicePrice, + format(ifnull(sum(ss.total_price),0), 2) totalPrice, + format(ifnull(sum(ss.act_price),0), 2) actPrice, + format(ifnull(sum(ss.act_power_price),0), 2) actPowerPrice, + format(ifnull(sum(ss.act_service_price),0), 2) actServicePrice, + format(ifnull(sum(ss.act_service_price + ss.act_power_price),0), 2) actTotalPrice, + format(ifnull(sum(ss.promotion_discount),0), 2) promotionDiscount, + format(ifnull(sum(ss.internet_commission),0), 2) internetCommission, + format(ifnull(sum(ss.internet_svc_commission),0), 2) internetSvcCommission, + format(ifnull(sum(ss.internet_degree_commission),0), 2) internetDegreeCommission, + format(ifnull(sum(ss.platform_commission),0), 2) platformCommission, + format(ifnull(sum(ss.platform_svc_commisssion),0), 2) platformSvcCommisssion, + format(ifnull(sum(ss.operation_commission),0), 2) operationCommission, + format(ifnull(sum(ss.operation_svc_commission),0), 2) operationSvcCommission, IF(iu.name IS NULL,ss.charging_mode, iu.name) as internetUserName, DATE_FORMAT(ss.create_time,'%Y-%m-%d') createTime from xhpc_statistics_station as ss @@ -1134,10 +1134,10 @@