package org.springblade.mdm.machinefile.entity;
|
|
import com.baomidou.mybatisplus.annotation.TableName;
|
import lombok.Getter;
|
import lombok.Setter;
|
import org.apache.commons.io.FileUtils;
|
import org.springblade.core.mp.base.BizEntity;
|
|
import java.util.Date;
|
|
/**
|
* 机床文件
|
*/
|
@Setter
|
@Getter
|
@TableName("mdm_machine_file")
|
public class MachineFile extends BizEntity {
|
/**
|
* 正常状态,刚接收
|
*/
|
public static final int STATUS_NORMAL = 1;
|
/**
|
* 用户接收了
|
*/
|
public static final int STATUS_ACCEPTED = 2;
|
/**
|
* 用户拒绝接收
|
*/
|
public static final int STATUS_REJECTED = 3;
|
/**
|
* 文件被清除(被定时任务标记)
|
*/
|
public static final int STATUS_REMOVED = 4;
|
|
/**
|
* 程序状态,试切
|
*/
|
public static final int PROGRAM_STATUS_TRY = 1;
|
/**
|
* 程序状态,固化
|
*/
|
public static final int PROGRAM_STATUS_CURED = 2;
|
/**
|
* 程序状态,偏离
|
*/
|
public static final int PROGRAM_STATUS_DIVIASTION = 3;
|
/**
|
* 程序状态,未知
|
*/
|
public static final int PROGRAM_STATUS_UNKNOWN = 4;
|
/**
|
* 节点类型: REC目录
|
*/
|
public static final String DIR_TYPE_REC = "REC";
|
/**
|
* send目录
|
*/
|
public static final String DIR_TYPE_SEND = "SEND";
|
|
/**
|
* temp目录
|
*/
|
public static final String DIR_TYPE_TEMP = "TEMP";
|
/**
|
* 文件异常类型:正常
|
*/
|
public static final int EXCEPTION_OK = 0;
|
/**
|
* 文件异常类型:非文本文件
|
*/
|
public static final int EXCEPTION_NOT_TEXT = 1;
|
/**
|
* 文件异常类型:文件名格式不合法
|
*/
|
public static final int EXCEPTION_BAD_FILENAME = 2;
|
/**
|
* 文件异常类型:文件确失(段数不够)
|
*/
|
public static final int EXCEPTION_LOST_FILES = 3;
|
|
/**
|
* 文件异常类型:文件段数与下发记录不匹配(车床/现场编制除外)
|
*/
|
public static final int EXCEPTION_NOT_MATCH_SEND_SEG_COUNT = 4;
|
|
/**
|
* 不匹配下发记录(试切下发 、 现场编程下发)
|
*/
|
public static final int EXCEPTION_NOT_MATCH_RECORD = 5;
|
|
/**
|
* 不匹配下发记录临时更改单部分
|
*/
|
public static final int EXCEPTION_NOT_MATCH_SEND_LG = 6;
|
/**
|
* 文件名
|
*/
|
private String name;
|
|
|
/**
|
* 节点类型:字典
|
*/
|
//private String nodeType;
|
|
/**
|
* 所属机床
|
*/
|
private String machineCode;
|
/**
|
* 目录类型 SEND/REC/TEMP
|
*/
|
private String dirType;
|
|
/**
|
* 文件创建时间
|
*/
|
private Date fileCreateTime;
|
|
private Date fileModifyTime;
|
|
/**
|
* 文件md5
|
*/
|
private String md5;
|
/**
|
* 文件字节数
|
*/
|
private Long fileSize;
|
|
/**
|
* 确认时间,接受或者拒绝的时间
|
*/
|
private Date determineTime;
|
/**
|
* 程序状态(1试切;2固化;3偏离;4未知)
|
*/
|
private Integer programStatus;
|
|
/**
|
* REC目录文件异常类型(0/null:正常; 1非文本格式;2:文件名格式不合法;3:文件确失(段数不够);4:文件段数与下发记录不匹配(车床/现场编制除外)
|
*/
|
private Integer exceptionType;
|
|
|
/**
|
* 生成文件大小的显示文本
|
* @return 显示文本
|
*/
|
public String getFileSizeDisplay(){
|
return FileUtils.byteCountToDisplaySize(fileSize);
|
}
|
|
/**
|
* 标记文件已经删除
|
*/
|
public void markFileDeleted() {
|
this.setStatus(STATUS_REMOVED);
|
}
|
|
/**
|
* 接收文件
|
*/
|
public void accept() {
|
setStatus(STATUS_ACCEPTED);
|
this.determineTime = new Date();
|
}
|
|
public void reject() {
|
setStatus(STATUS_REJECTED);
|
this.determineTime = new Date();
|
}
|
|
/**
|
* 异常详细描述
|
* @return 描述文本
|
*/
|
public String getExceptionMsg(){
|
if(exceptionType == null){
|
return "正常";
|
}
|
return switch (exceptionType) {
|
case EXCEPTION_NOT_TEXT -> "非文本";
|
case EXCEPTION_BAD_FILENAME -> "文件名格式错误";
|
case EXCEPTION_LOST_FILES -> "文件确失";
|
case EXCEPTION_NOT_MATCH_SEND_SEG_COUNT -> "段数与下发记录不匹配";
|
case EXCEPTION_NOT_MATCH_RECORD -> "无记录匹配";//试切下发,现场编程都不匹配
|
case EXCEPTION_NOT_MATCH_SEND_LG -> "临时更改单不匹配";
|
default -> "正常";
|
};
|
}
|
}
|