package com.example.agvcontroller.action;
|
|
import com.example.agvcontroller.protocol.IMessageBody;
|
import com.example.agvcontroller.protocol.Utils;
|
import com.example.agvcontroller.socket.RadixTools;
|
|
import java.io.Serializable;
|
|
/**
|
* 动作完成数据包
|
*
|
* Created by vincent on 2023/3/21
|
*/
|
public class AGV_11_UP implements IMessageBody, Serializable {
|
|
private static final long serialVersionUID = 8403019742104020004L;
|
|
@Override
|
public byte[] writeToBytes() {
|
return new byte[0];
|
}
|
|
@Override
|
public void readFromBytes(byte[] bytes) {
|
// try {
|
this.serialNo = new String(Utils.sliceWithReverse(bytes, 0, 16));
|
// } catch (UnsupportedEncodingException e) {
|
// e.printStackTrace();
|
// }
|
this.completeCode = Utils.slice(bytes, 16, 1)[0];
|
this.completeType = AgvCompleteType.query(this.completeCode);
|
this.qrCode = Utils.zeroFill(String.valueOf(RadixTools.bytesToInt(Utils.sliceWithReverse(bytes, 17, 4))), CommonConstant.QR_CODE_LEN);
|
this.direction = RadixTools.byteToShort(Utils.sliceWithReverse(bytes, 21,2));
|
// this.locCode = new String(Utils.sliceWithReverse(bytes, 23, 16)).replaceAll("\\u0000", "");
|
// this.boxCode = new String(Utils.sliceWithReverse(bytes, 39, 16)).replaceAll("\\u0000", "");
|
this.locCode = Utils.zeroFill(String.valueOf(RadixTools.bytesToInt(Utils.sliceWithReverse(bytes, 23, 4))), CommonConstant.QR_CODE_LEN);
|
this.boxCode = Utils.zeroFill(String.valueOf(RadixTools.bytesToInt(Utils.sliceWithReverse(bytes, 39, 4))), CommonConstant.QR_CODE_LEN);
|
}
|
|
private String serialNo;
|
|
// 完成动作码
|
private int completeCode;
|
|
private AgvCompleteType completeType;
|
|
// 地面码 - 8位
|
private String qrCode;
|
|
// 车头朝向
|
private short direction;
|
|
// 货位二维码
|
private String locCode;
|
|
public String getSerialNo() {
|
return serialNo;
|
}
|
|
public void setSerialNo(String serialNo) {
|
this.serialNo = serialNo;
|
}
|
|
public int getCompleteCode() {
|
return completeCode;
|
}
|
|
public void setCompleteCode(int completeCode) {
|
this.completeCode = completeCode;
|
}
|
|
public AgvCompleteType getCompleteType() {
|
return completeType;
|
}
|
|
public void setCompleteType(AgvCompleteType completeType) {
|
this.completeType = completeType;
|
}
|
|
public String getQrCode() {
|
return qrCode;
|
}
|
|
public void setQrCode(String qrCode) {
|
this.qrCode = qrCode;
|
}
|
|
public short getDirection() {
|
return direction;
|
}
|
|
public void setDirection(short direction) {
|
this.direction = direction;
|
}
|
|
public String getLocCode() {
|
return locCode;
|
}
|
|
public void setLocCode(String locCode) {
|
this.locCode = locCode;
|
}
|
|
public String getBoxCode() {
|
return boxCode;
|
}
|
|
public void setBoxCode(String boxCode) {
|
this.boxCode = boxCode;
|
}
|
|
// 料箱二维码
|
private String boxCode;
|
|
}
|