| package com.dy.common.softUpgrade.state; | 
|   | 
| import com.alibaba.fastjson2.annotation.JSONField; | 
| import com.dy.common.mw.protocol.Command; | 
| import com.dy.common.util.Callback; | 
| import lombok.Data; | 
|   | 
| /** | 
|  * @Author: liurunyu | 
|  * @Date: 2024/11/11 17:33 | 
|  * @Description | 
|  */ | 
| @Data | 
| public class UpgradeRtu { | 
|   | 
|     @JSONField(serialize = false) | 
|     public static final int STATE_OPEN = -2 ;//-1-阀开(泵开)不能升级 | 
|     @JSONField(serialize = false) | 
|     public static final int STATE_OFFLINE = -1 ;//-1-离线 | 
|     @JSONField(serialize = false) | 
|     public static final int STATE_UNSTART = 0 ;//0-未开始 | 
|     @JSONField(serialize = false) | 
|     public static final int STATE_RUNNING = 1 ;//1-升级中 | 
|     @JSONField(serialize = false) | 
|     public static final int STATE_SUCCESS = 2 ;//2-升级成功 | 
|     @JSONField(serialize = false) | 
|     public static final int STATE_FAILONE = 3 ;//3-升级失败(一包死) | 
|     @JSONField(serialize = false) | 
|     public static final int STATE_FAIL = 4 ;//4-升级失败(多包死) | 
|     @JSONField(serialize = false) | 
|     public static final int STATE_FAILOFFLINE = 5 ;//4-升级失败(离线) | 
|     @JSONField(serialize = false) | 
|     public static final int STATE_FAILOPEN = 6 ;//4-升级失败(阀开) | 
|     @JSONField(serialize = false) | 
|     public static final int RAMADDRADD = 0x200 ;//程序存储内存在址增量 | 
|   | 
|     public String rtuAddr ; | 
|     public int state ;// -1-离线,0-未开始,1-升级中,2-升级成功,3-升级失败(1包死),4-升级失败(非1包死),5-升级失败(离线),6-升级失败(阀开) | 
|     public int totalPackage ;// 总包数 | 
|     public int currentPackage ;// 当前下发升级包数 | 
|     public int currentRamAddr ;// 当前下发升级包RTU存储地址 | 
|     public String lastDownDt ;// 最后下发升级数据包时间(yyyy-mm-dd HH:HH:SS) | 
|     public Long lastDownDtAt ;// 最后下发升级数据包时刻 | 
|     public int reTryTimes ;//升级不成功,重试次数 | 
|     public boolean isOver ;//是否升级过程结束,1:结束,0:未结束 | 
|   | 
|     public String toString(){ | 
|         StringBuilder sb = new StringBuilder(); | 
|         sb.append("RTU(" + rtuAddr + ")升级状态:") ; | 
|         sb.append("  \n当  前  状  态:" + getStateName(state)) ; | 
|         sb.append("  \n需下发数据包总数:" + totalPackage) ; | 
|         sb.append("  \n当前下发升级包数:" + currentPackage) ; | 
|         sb.append("  \n当前下发存储地址:" + currentRamAddr) ; | 
|         sb.append("  \n当前下发数据时间:" + lastDownDt) ; | 
|         sb.append("  \n升级失败重试次数:" + reTryTimes) ; | 
|         sb.append("  \n升级过程是否结束:" + (isOver?"是":"否")) ; | 
|         return sb.toString() ; | 
|     } | 
|   | 
|     public static String getStateName(int state){ | 
|         switch (state) { | 
|             case STATE_OPEN: | 
|                 return "阀开"; | 
|             case STATE_OFFLINE: | 
|                 return "离线"; | 
|             case STATE_UNSTART: | 
|                 return "未开始"; | 
|             case STATE_RUNNING: | 
|                 return "升级中"; | 
|             case STATE_SUCCESS: | 
|                 return "升级成功"; | 
|             case STATE_FAILONE: | 
|                 return "一包死"; | 
|             case STATE_FAIL: | 
|                 return "多包死"; | 
|             case STATE_FAILOFFLINE: | 
|                 return "离线失败"; | 
|             case STATE_FAILOPEN: | 
|                 return "阀开失败"; | 
|             default: | 
|                 return "未知"; | 
|         } | 
|     } | 
|   | 
|     /** | 
|      * 触发升级 | 
|      * @param code | 
|      * @param softData | 
|      * @param callbackCom | 
|      */ | 
|     public void trigger(String code, | 
|                         String protocolName, | 
|                         Short protocolVersion, | 
|                         byte[][] softData, | 
|                         Callback callbackCom){ | 
|         return ; | 
|     } | 
|   | 
|     public Command createCommand1601(String protocolName, | 
|                                      Short protocolVersion){ | 
|         return null ; | 
|     } | 
|   | 
|     public Command createCommand1602(String protocolName, | 
|                                      Short protocolVersion, | 
|                                      int currentPackage, | 
|                                      Integer ramAddr, | 
|                                      byte[][] softData){ | 
|         return null ; | 
|     } | 
|   | 
|     public Command createCommand1603(String protocolName, | 
|                                      Short protocolVersion){ | 
|         return null ; | 
|     } | 
|   | 
|     public Command createCommand1600(String protocolName, | 
|                                      Short protocolVersion){ | 
|         return null ; | 
|     } | 
| } |