package com.zy.acs.common.domain.protocol; import com.zy.acs.common.constant.CommonConstant; import com.zy.acs.common.utils.Utils; import com.zy.acs.framework.common.RadixTools; import lombok.Data; import java.io.Serializable; /** * 取放货请求包 */ @Data public class AGV_06_UP implements IMessageBody, Serializable { private static final long serialVersionUID = -3819292912811534508L; @Override public byte[] writeToBytes() { return new byte[0]; } @Override public void readFromBytes(byte[] bytes) { // 流水号 this.serialNo = new String(Utils.sliceWithReverse(bytes, 0, 16)); // 地面码ID this.qrCode = Utils.zeroFill(String.valueOf(RadixTools.bytesToInt(Utils.sliceWithReverse(bytes, 16, 4))), CommonConstant.QR_CODE_LEN); // 动作码 this.actionCode = Utils.slice(bytes, 20, 1)[0]; // 属性值 this.val = Utils.slice(bytes, 21, 1)[0]; // 动作参数 byte[] actionBodyBytes = Utils.sliceWithReverse(bytes, 22, 2); this.actionBody = RadixTools.byteToShort(actionBodyBytes); //预留字段 this.reservedField = RadixTools.bytesToInt(Utils.sliceWithReverse(bytes, 24, 4)); } // 流水号 - 16 private String serialNo; //地面码ID private String qrCode; //动作码 private int actionCode; //属性值 private int val; //动作参数 private int actionBody; //预留字段 private int reservedField; }