liuf 1 год назад
Родитель
Сommit
10e178082e

+ 11 - 1
src/main/java/com/tmzn/devicelinkykc/message/DeviceMsgHandle.java

@@ -213,9 +213,9 @@ public class DeviceMsgHandle {
                 return;
                 return;
             }
             }
 
 
+            logger.info("{}-{}触发无功率自停{}", imei, portId, lastPower0Times);
             //连续3次功率0 就要停止充电
             //连续3次功率0 就要停止充电
             RpcResult rpcResult = deviceControlerService.stopCharge(imei, imei, (int) portId);
             RpcResult rpcResult = deviceControlerService.stopCharge(imei, imei, (int) portId);
-            logger.info("{}-{}触发无功率自停{}", imei, portId, lastPower0Times);
         } catch (Exception e) {
         } catch (Exception e) {
             logger.error("无功率检测异常{}", e.getMessage());
             logger.error("无功率检测异常{}", e.getMessage());
             e.printStackTrace();
             e.printStackTrace();
@@ -359,6 +359,8 @@ public class DeviceMsgHandle {
         dataParam.setDeviceId(imei);
         dataParam.setDeviceId(imei);
         dataParam.setCcid(imei);
         dataParam.setCcid(imei);
         deviceControlerService.sendPortDetailCmd(dataParam);
         deviceControlerService.sendPortDetailCmd(dataParam);
+
+        logger.info(imei+ ":急停停充>>>上报交易记录>>>");
         deviceControlerService.stopCharge(imei, imei, port);
         deviceControlerService.stopCharge(imei, imei, port);
         //查询计费模板
         //查询计费模板
         QueryWrapper<BillingModel> billingModelQueryWrapper = new QueryWrapper<>();
         QueryWrapper<BillingModel> billingModelQueryWrapper = new QueryWrapper<>();
@@ -410,6 +412,13 @@ public class DeviceMsgHandle {
         byte[] bytes = statusServiceOne.getTransOrder();
         byte[] bytes = statusServiceOne.getTransOrder();
         logger.info(statusServiceOne.getPileCode() + ":设备开启充电流水号:" + DataConversion.bytesToHexString(bytes));
         logger.info(statusServiceOne.getPileCode() + ":设备开启充电流水号:" + DataConversion.bytesToHexString(bytes));
         DeviceConnectionMsg deviceConnection = socketHandle.getDeviceConnection(statusServiceOne.getPileCode());
         DeviceConnectionMsg deviceConnection = socketHandle.getDeviceConnection(statusServiceOne.getPileCode());
+
+        if(orderStatusService==null){
+            logger.info("没有充电记录 其他方式启动{}", imei);
+            deviceControlerService.sendImeiDetail(imei);
+            return;
+        }
+
         int reson = 0x00;
         int reson = 0x00;
         if (result == 0x01) {
         if (result == 0x01) {
             //启充成功上报充电开启成功
             //启充成功上报充电开启成功
@@ -538,6 +547,7 @@ public class DeviceMsgHandle {
             } else {
             } else {
                 if(statusServiceOne.getReasonStopCharging()==0){
                 if(statusServiceOne.getReasonStopCharging()==0){
                     logger.info(statusServiceOne.getPileCode() + ":充满主动>>>>>>停充>>>>");
                     logger.info(statusServiceOne.getPileCode() + ":充满主动>>>>>>停充>>>>");
+                    statusServiceOne.setReasonStopCharging(TransConstant.MANUAL_STOP);
                 }else{
                 }else{
                     //不处理急停
                     //不处理急停
                     if (reson == 0x01) {
                     if (reson == 0x01) {

+ 13 - 5
src/main/java/com/tmzn/devicelinkykc/message/YkcMsgHandle.java

@@ -427,6 +427,18 @@ public class YkcMsgHandle {
         } catch (InterruptedException e) {
         } catch (InterruptedException e) {
             e.printStackTrace();
             e.printStackTrace();
         }
         }
+
+        try{
+            //先发送一次获取103
+            //获取端口状态
+            DeviceParam deviceParam = new DeviceParam();
+            deviceParam.setDeviceId(deviceStatus.getDeviceImei());
+            deviceParam.setCcid(deviceStatus.getDeviceImei());
+            deviceControlerService.sendPortDetailCmd(deviceParam);
+        }catch (Exception e){
+
+        }
+
         RpcResult rpcResult = deviceControlerService.stopCharge(deviceStatus.getDeviceImei(), deviceStatus.getDeviceImei(), (int) guns[0]);
         RpcResult rpcResult = deviceControlerService.stopCharge(deviceStatus.getDeviceImei(), deviceStatus.getDeviceImei(), (int) guns[0]);
 
 
         if (rpcResult.isOk()) {
         if (rpcResult.isOk()) {
@@ -446,11 +458,7 @@ public class YkcMsgHandle {
         } else {
         } else {
             logger.info("stop charging  device:" + deviceStatus.getDeviceSn() + ";port:" + guns[0] + "stop charnging fail");
             logger.info("stop charging  device:" + deviceStatus.getDeviceSn() + ";port:" + guns[0] + "stop charnging fail");
         }
         }
-        //获取端口状态
-        DeviceParam deviceParam = new DeviceParam();
-        deviceParam.setDeviceId(deviceStatus.getDeviceImei());
-        deviceParam.setCcid(deviceStatus.getDeviceImei());
-        deviceControlerService.sendPortDetailCmd(deviceParam);
+
     }
     }
 
 
     /***
     /***

+ 1 - 1
src/main/java/com/tmzn/devicelinkykc/service/DeviceControlerService.java

@@ -90,7 +90,7 @@ public class DeviceControlerService {
         dataParam.setDeviceId(deviceId);
         dataParam.setDeviceId(deviceId);
         dataParam.setType(OperEnum.EndCharge.getType());
         dataParam.setType(OperEnum.EndCharge.getType());
         RpcResult rpcResult = msgService.sendMsg(dataParam);
         RpcResult rpcResult = msgService.sendMsg(dataParam);
-        log.info("发送停止充电的消息,{}",deviceId);
+        log.info("发送停止充电的消息,{}--{}",deviceId,port);
         return rpcResult;
         return rpcResult;
     }
     }
 
 

+ 4 - 1
src/main/java/com/tmzn/devicelinkykc/taskQueue/runner/DeviceOnlineRunner.java

@@ -99,6 +99,7 @@ public class DeviceOnlineRunner {
                         }
                         }
                         deviceStatus.setOnlineStatus(DeviceOnlineStatus.OFFLINE);
                         deviceStatus.setOnlineStatus(DeviceOnlineStatus.OFFLINE);
                         deviceStatusService.updateById(deviceStatus);
                         deviceStatusService.updateById(deviceStatus);
+                        try103(deviceStatus);
                         return;
                         return;
                     }
                     }
 
 
@@ -112,6 +113,7 @@ public class DeviceOnlineRunner {
                     }else{
                     }else{
                         DeviceConnectionMsg deviceConnection = socketHandle.getDeviceConnection(deviceStatus.getPileCode());
                         DeviceConnectionMsg deviceConnection = socketHandle.getDeviceConnection(deviceStatus.getPileCode());
                         if (!deviceConnection.getSocket().isConnected()) {
                         if (!deviceConnection.getSocket().isConnected()) {
+                            logger.info("链接已失效重新登录{}",device.getPileCode());
                             socketHandle.removeDeviceConnection(deviceStatus.getPileCode());
                             socketHandle.removeDeviceConnection(deviceStatus.getPileCode());
                             needLogin = true;
                             needLogin = true;
                         }
                         }
@@ -125,12 +127,13 @@ public class DeviceOnlineRunner {
                         Thread.sleep(300);
                         Thread.sleep(300);
                         loginFrame.loginMsgSend(socketHandle.getDeviceConnection(device.getPileCode()), device);
                         loginFrame.loginMsgSend(socketHandle.getDeviceConnection(device.getPileCode()), device);
                     }catch (Exception e){
                     }catch (Exception e){
+                        log.info("{}发送登录消息失败"+e.getMessage(),device.getPileCode());
 
 
                     }
                     }
 //                    deviceControlerService.sendImeiDetail(device.getDeviceImei());
 //                    deviceControlerService.sendImeiDetail(device.getDeviceImei());
                     try103(deviceStatus);
                     try103(deviceStatus);
                 }catch (Exception e){
                 }catch (Exception e){
-
+                    log.info("{}检测异常"+e.getMessage(),deviceStatus.getPileCode());
                 }
                 }
 
 
             });
             });

+ 10 - 4
src/main/java/com/tmzn/devicelinkykc/taskQueue/runner/MsgCharngingRunner.java

@@ -140,7 +140,8 @@ public class MsgCharngingRunner {
                     dealMap.put(k, true);
                     dealMap.put(k, true);
                 }
                 }
             } catch (Exception e) {
             } catch (Exception e) {
-                log.info("{}上报充电中异常", item.getPileCode());
+                log.info("{}上报充电中异常", item.getPileCode()+e.getMessage());
+                e.printStackTrace();
             }
             }
         });
         });
 
 
@@ -218,10 +219,15 @@ public class MsgCharngingRunner {
 
 
         if(port==1){
         if(port==1){
              voltage = statusJSON.getInteger("voltage");
              voltage = statusJSON.getInteger("voltage");
-             power = statusJSON.getInteger("power");
         }else{
         }else{
             voltage = statusJSON.getInteger("voltage_1");
             voltage = statusJSON.getInteger("voltage_1");
-            power = statusJSON.getInteger("power_1");
+        }
+        power = statusJSON.getInteger("power");
+        if(power==null){
+            power = 0;
+        }
+        if(voltage==null){
+            voltage = 0;
         }
         }
 
 
         //计算实时数据
         //计算实时数据
@@ -254,7 +260,7 @@ public class MsgCharngingRunner {
         //????????????????????????????
         //????????????????????????????
         if (money.compareTo(orderStatus.getStartMoney()) > 0) {
         if (money.compareTo(orderStatus.getStartMoney()) > 0) {
             //余额没有了,停充
             //余额没有了,停充
-            log.info("{},{},{}实时状态校验时余额不足>>>>>>停充>>>>",orderStatus.getPileCode(),orderStatus.getGunsCode(),orderStatus.getId());
+            log.info("{},{},{}实时状态校验时余额不足>>>>>>停充>>>>",orderStatus.getPileCode(),orderStatus.getGunsCode(),orderStatus.getTransOrder());
             orderStatus.setReasonStopCharging(TransConstant.INSUFFICIENT_BALANCE_EXCEPTION_STOP);
             orderStatus.setReasonStopCharging(TransConstant.INSUFFICIENT_BALANCE_EXCEPTION_STOP);
             stopOneOrder(orderStatus);
             stopOneOrder(orderStatus);
             return;
             return;