package com.vincent.rsf.server.system.entity; import java.text.SimpleDateFormat; import java.util.Date; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.text.SimpleDateFormat; import java.util.Date; import java.text.SimpleDateFormat; import java.util.Date; import java.text.SimpleDateFormat; import java.util.Date; import java.text.SimpleDateFormat; import java.util.Date; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.SpringUtils; import com.vincent.rsf.server.system.service.UserService; import com.vincent.rsf.server.system.entity.User; import java.io.Serializable; import java.util.Date; @Data @TableName("mission_flow_instance") public class FlowInstance implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value= "") @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 流程实例编号 */ @ApiModelProperty(value= "流程实例编号") private String flowInstanceNo; /** * 关联task_instance.id */ @ApiModelProperty(value= "关联task_instance.id") private Long taskId; /** * 任务编号 */ @ApiModelProperty(value= "任务编号") private String taskNo; /** * 关联task_instance_node.id */ @ApiModelProperty(value= "关联task_instance_node.id") private Long nodeInstanceId; /** * 节点编码 */ @ApiModelProperty(value= "节点编码") private String nodeCode; /** * 使用的流程模板ID */ @ApiModelProperty(value= "使用的流程模板ID") private Long flowTemplateId; /** * 流程模板编码 */ @ApiModelProperty(value= "流程模板编码") private String flowTemplateCode; /** * 模板版本 */ @ApiModelProperty(value= "模板版本") private Integer templateVersion; /** * 状态:0-未开始 1-执行中 2-成功 3-失败 4-取消 5-超时 */ @ApiModelProperty(value= "状态:0-未开始 1-执行中 2-成功 3-失败 4-取消 5-超时") private Short status; /** * 当前步骤编码 */ @ApiModelProperty(value= "当前步骤编码") private String currentStepCode; /** * 当前步骤顺序 */ @ApiModelProperty(value= "当前步骤顺序") private Integer currentStepOrder; /** * 执行入参 */ @ApiModelProperty(value= "执行入参") private String executeParams; /** * 执行结果 */ @ApiModelProperty(value= "执行结果") private String executeResult; /** * 错误码 */ @ApiModelProperty(value= "错误码") private String errorCode; /** * 错误信息 */ @ApiModelProperty(value= "错误信息") private String errorMessage; /** * 开始时间 */ @ApiModelProperty(value= "开始时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date startTime; /** * 结束时间 */ @ApiModelProperty(value= "结束时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date endTime; /** * 超时时间 */ @ApiModelProperty(value= "超时时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date timeoutAt; /** * 执行耗时(秒) */ @ApiModelProperty(value= "执行耗时(秒)") private Integer durationSeconds; /** * 已重试次数 */ @ApiModelProperty(value= "已重试次数") private Integer retryTimes; /** * 最后重试时间 */ @ApiModelProperty(value= "最后重试时间") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date lastRetryTime; /** * 流程上下文数据 */ @ApiModelProperty(value= "流程上下文数据") private String contextData; @ApiModelProperty(value= "") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date createTime; @ApiModelProperty(value= "") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date updateTime; public FlowInstance() {} public FlowInstance(String flowInstanceNo,Long taskId,String taskNo,Long nodeInstanceId,String nodeCode,Long flowTemplateId,String flowTemplateCode,Integer templateVersion,Short status,String currentStepCode,Integer currentStepOrder,String executeParams,String executeResult,String errorCode,String errorMessage,Date startTime,Date endTime,Date timeoutAt,Integer durationSeconds,Integer retryTimes,Date lastRetryTime,String contextData,Date createTime,Date updateTime) { this.flowInstanceNo = flowInstanceNo; this.taskId = taskId; this.taskNo = taskNo; this.nodeInstanceId = nodeInstanceId; this.nodeCode = nodeCode; this.flowTemplateId = flowTemplateId; this.flowTemplateCode = flowTemplateCode; this.templateVersion = templateVersion; this.status = status; this.currentStepCode = currentStepCode; this.currentStepOrder = currentStepOrder; this.executeParams = executeParams; this.executeResult = executeResult; this.errorCode = errorCode; this.errorMessage = errorMessage; this.startTime = startTime; this.endTime = endTime; this.timeoutAt = timeoutAt; this.durationSeconds = durationSeconds; this.retryTimes = retryTimes; this.lastRetryTime = lastRetryTime; this.contextData = contextData; this.createTime = createTime; this.updateTime = updateTime; } // FlowInstance flowInstance = new FlowInstance( // null, // 流程实例编号[非空] // null, // 关联task_instance.id[非空] // null, // 任务编号[非空] // null, // 关联task_instance_node.id[非空] // null, // 节点编码[非空] // null, // 使用的流程模板ID[非空] // null, // 流程模板编码[非空] // null, // 模板版本[非空] // null, // 状态:0-未开始 1-执行中 2-成功 3-失败 4-取消 5-超时[非空] // null, // 当前步骤编码 // null, // 当前步骤顺序 // null, // 执行入参 // null, // 执行结果 // null, // 错误码 // null, // 错误信息 // null, // 开始时间 // null, // 结束时间 // null, // 超时时间 // null, // 执行耗时(秒) // null, // 已重试次数[非空] // null, // 最后重试时间 // null, // 流程上下文数据 // null, // // null // // ); public String getStartTime$(){ if (Cools.isEmpty(this.startTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.startTime); } public String getEndTime$(){ if (Cools.isEmpty(this.endTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.endTime); } public String getTimeoutAt$(){ if (Cools.isEmpty(this.timeoutAt)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.timeoutAt); } public String getLastRetryTime$(){ if (Cools.isEmpty(this.lastRetryTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.lastRetryTime); } public String getCreateTime$(){ if (Cools.isEmpty(this.createTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime); } public String getUpdateTime$(){ if (Cools.isEmpty(this.updateTime)){ return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } public Boolean getStatusBool(){ if (null == this.status){ return null; } switch (this.status){ case 1: return true; case 0: return false; default: return null; } } }