| package com.zy.acs.common.domain.protocol; | 
|   | 
| import com.zy.acs.framework.common.RadixTools; | 
| import com.zy.acs.common.utils.Utils; | 
| import lombok.Data; | 
|   | 
| import java.io.Serializable; | 
|   | 
| @Data | 
| public class AGV_04_UP implements IMessageBody, Serializable { | 
|   | 
|     private static final long serialVersionUID = -3819292912811534508L; | 
|   | 
|     @Override | 
|     public byte[] writeToBytes() { | 
|   | 
|         return Utils.merge( | 
|                 Utils.reverse(RadixTools.shortToByte((short) this.faultId)) | 
|                 , Utils.reverse(RadixTools.hexStringToBytes(this.hexFaultId)) | 
|                 , (byte) this.faultStatus | 
|                 , (byte) this.faultLevel | 
|                 , Utils.reverse(RadixTools.intToBytes(this.data1)) | 
|                 , Utils.reverse(RadixTools.intToBytes(this.data2)) | 
|                 , Utils.reverse(RadixTools.intToBytes(this.flag)) | 
|         ); | 
|     } | 
|   | 
|     @Override | 
|     public void readFromBytes(byte[] messageBodyBytes) { | 
|         //故障ID | 
|         this.faultId = RadixTools.byteToShort(Utils.sliceWithReverse(messageBodyBytes, 0, 2)); | 
|         this.hexFaultId = RadixTools.bytesToHexStr(Utils.sliceWithReverse(messageBodyBytes, 0, 2)); | 
|         //故障状态 | 
|         this.faultStatus = Utils.slice(messageBodyBytes, 2, 1)[0]; | 
|         //故障等级 | 
|         this.faultLevel = Utils.slice(messageBodyBytes, 3, 1)[0]; | 
|         //故障数据1 | 
|         this.data1 = RadixTools.bytesToInt(Utils.sliceWithReverse(messageBodyBytes, 4, 4)); | 
|         //故障数据2 | 
|         this.data2 = RadixTools.bytesToInt(Utils.sliceWithReverse(messageBodyBytes, 8, 4)); | 
|         //故障标志位 | 
|         this.flag = RadixTools.bytesToInt(Utils.sliceWithReverse(messageBodyBytes, 12, 4)); | 
|     } | 
|   | 
|     //故障ID | 
|     private int faultId; | 
|   | 
|     //故障ID Hex版 | 
|     private String hexFaultId; | 
|   | 
|     //故障状态 | 
|     private int faultStatus; | 
|   | 
|     //故障等级 | 
|     private int faultLevel; | 
|   | 
|     //故障数据1 | 
|     private int data1; | 
|   | 
|     //故障数据2 | 
|     private int data2; | 
|   | 
|     //故障标志位 | 
|     private int flag; | 
|   | 
| } |