package safeluck.drive.evaluation.platformMessage;
|
|
import android.text.TextUtils;
|
|
import com.anyun.im_lib.util.ByteUtil;
|
|
import java.text.SimpleDateFormat;
|
|
/**
|
* 上报学员单项扣分项目
|
*/
|
public class UploadStuItem extends DriveExamProtocol {
|
private static final short BODY_LENGTH = 30;
|
|
private short reasonLength = 0;
|
private int currPos = 0;
|
|
private String ID;//身份证
|
private String BCDStr;//时间BCD[6] YYMMDDhhmmss
|
private int exam_id;// DWORD 4字节 唯一考试ID标志
|
private short fail_item_id;//扣分项目编号 1字节
|
private short score;//扣分分数 一字节
|
private String reason;//扣分原因
|
|
public String getID() {
|
return ID;
|
}
|
|
public void setID(String ID) {
|
this.ID = ID;
|
}
|
|
|
|
public int getExam_id() {
|
return exam_id;
|
}
|
|
public void setExam_id(int exam_id) {
|
this.exam_id = exam_id;
|
}
|
|
public short getFail_item_id() {
|
return fail_item_id;
|
}
|
|
public void setFail_item_id(short fail_item_id) {
|
this.fail_item_id = fail_item_id;
|
}
|
|
public short getScore() {
|
return score;
|
}
|
|
public void setScore(short score) {
|
this.score = score;
|
}
|
|
public String getReason() {
|
return reason;
|
}
|
|
public void setReason(String reason) {
|
this.reason = reason;
|
}
|
|
public String getBCDStr() {
|
return BCDStr;
|
}
|
|
/**
|
* 设置时间
|
* 形如"200217020618"字符串
|
* @param BCDStr
|
*/
|
public void setBCDStr(String BCDStr) {
|
this.BCDStr = BCDStr;
|
}
|
|
/**
|
* 构造函数
|
*
|
* @param msg_id 消息ID
|
*/
|
public UploadStuItem(short msg_id) {
|
super(msg_id);
|
}
|
|
@Override
|
protected byte[] createMessageBody() {
|
byte [] messageBody = new byte[BODY_LENGTH+reasonLength];
|
byte[] idBytes = !TextUtils.isEmpty(ID)?ID.getBytes():"".getBytes();
|
byte[] timeStampBCD = ByteUtil.str2Bcd(BCDStr);
|
byte[] examIdBytes = ByteUtil.intGetBytes(exam_id);
|
byte[] fail_item_idBytes = ByteUtil.shortGetByte(fail_item_id);
|
byte[] score_bytes = ByteUtil.shortGetByte(score);
|
byte[] reasonBytes = !TextUtils.isEmpty(reason)?reason.getBytes():"".getBytes();
|
|
reasonLength = (short) reasonBytes.length;
|
|
System.arraycopy(idBytes,0,messageBody,currPos,idBytes.length);
|
currPos += 18;
|
|
System.arraycopy(timeStampBCD,0,messageBody,currPos,timeStampBCD.length);
|
currPos += timeStampBCD.length;
|
|
System.arraycopy(examIdBytes,0,messageBody,currPos,examIdBytes.length);
|
currPos += 4;
|
|
System.arraycopy(fail_item_idBytes,0,messageBody,currPos,fail_item_idBytes.length);
|
currPos += 1;
|
|
System.arraycopy(score_bytes,0,messageBody,currPos,score_bytes.length);
|
currPos += 1;
|
|
System.arraycopy(reasonBytes,0,messageBody,currPos,reasonLength);
|
|
|
|
return messageBody;
|
}
|
|
@Override
|
protected short msgBodyLength() {
|
return (short) (BODY_LENGTH+reasonLength);
|
}
|
}
|