| zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/AGV_06_DOWN.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/AGV_06_UP.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/AGV_06_DOWN.java
New file @@ -0,0 +1,48 @@ package com.zy.acs.common.domain.protocol; import com.zy.acs.common.utils.Utils; import lombok.Data; import java.io.Serializable; /** * 取放货应答包 * Created by vincent on 2023/3/15 */ @Data public class AGV_06_DOWN implements IMessageBody, Serializable { private static final long serialVersionUID = 5769100530170067014L; @Override public byte[] writeToBytes() { // 流水号 String serialNo = Utils.zeroFill(this.serialNo, 16); byte[] serialNoBytes = Utils.reverse(serialNo.getBytes()); // 动作码 byte actionCodeByte = (byte) this.actionCode; // 应答结果 byte resultByte = (byte) this.result; // 预留字段 byte[] tempBytes = Utils.reverse(this.temp); return Utils.merge(serialNoBytes, actionCodeByte, resultByte, tempBytes); } @Override public void readFromBytes(byte[] bytes) { } // 流水号 - 16 private String serialNo; // 动作码 private int actionCode; // 应答结果 (1:允许,0:不允许) private int result; // 预留字段 private byte[] temp = new byte[4]; } zy-acs-common/src/main/java/com/zy/acs/common/domain/protocol/AGV_06_UP.java
New file @@ -0,0 +1,58 @@ 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; }