package com.ruoyi.domain; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.StandardJsonTypeHandler; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; import java.util.List; /** * 任务表 */ @ApiModel @TableName(value ="t_task", autoResultMap = true) @Accessors(chain = true) @Data public class Task { @TableField(exist = false) public static final String RUN_STATUS_RUNNABLE = "RUNNABLE"; @TableField(exist = false) public static final String RUN_STATUS_STATUS_RUNNING = "RUNNING"; @TableField(exist = false) public static final String TASK_STATUS_NEW = "NEW"; @TableField(exist = false) public static final String TASK_STATUS_PENDING = "PENDING"; @TableField(exist = false) public static final String TASK_STATUS_FINISH = "FINISH"; @TableField(exist = false) public static final String TASK_STATUS_TEMPORARILY = "TEMPORARILY"; /** * 汽车信息安全一般要求 */ @TableField(exist = false) public static final String SUB_TASK_GRFIS = "grfis"; /** * 汽车信息安全技术要求 */ @TableField(exist = false) public static final String SUB_TASK_TRFIS = "trfis"; /** * 汽车信息安全管理体系要求 */ @TableField(exist = false) public static final String SUB_TASK_SRAIF = "sraif"; @ApiModelProperty("主键") @TableId(type = IdType.ASSIGN_ID) @JsonFormat(shape = JsonFormat.Shape.STRING) private Long id; @ApiModelProperty("体系审查任务id") @JsonFormat(shape = JsonFormat.Shape.STRING) @TableField(insertStrategy = FieldStrategy.IGNORED,updateStrategy = FieldStrategy.IGNORED,whereStrategy = FieldStrategy.IGNORED) private Long systemReviewTaskId; @ApiModelProperty("车辆检查任务id") @JsonFormat(shape = JsonFormat.Shape.STRING) @TableField(insertStrategy = FieldStrategy.IGNORED,updateStrategy = FieldStrategy.IGNORED,whereStrategy = FieldStrategy.IGNORED) private Long carReviewTaskId; @ApiModelProperty("车型检验任务id") @JsonFormat(shape = JsonFormat.Shape.STRING) @TableField(insertStrategy = FieldStrategy.IGNORED,updateStrategy = FieldStrategy.IGNORED,whereStrategy = FieldStrategy.IGNORED) private Long modelTestTaskId; @ApiModelProperty("任务状态NEW(新建的)、PENDING(运行中的)、FINISH(已结束的)、TEMPORARILY(暂存)") private String taskStatus; @ApiModelProperty("任务运行状态[RUNNABLE(可运行的)、RUNNING(运行中的)]") private String runStatus; @ApiModelProperty("任务编号") private String taskNo; @ApiModelProperty("任务名称") private String taskName; @ApiModelProperty("保密等级") private String confidentialityLevel; @ApiModelProperty("产品名称") private String productName; @ApiModelProperty(" 车辆型号(产品型号)") private String productModel; @ApiModelProperty("委托单位") private String entrustedUnit; @ApiModelProperty("委托单位地址") private String entrustedUnitAddress; @ApiModelProperty("委托单位电话") private String entrustedUnitPhone; @ApiModelProperty("委托单位邮政编码") private String entrustedUnitCode; @ApiModelProperty("整车样品信息") private String vehicleSampleInformation; @ApiModelProperty("零件样品信息") private String partSampleInformation; @ApiModelProperty("任务发起人id") private Long taskInitiatorId; @ApiModelProperty("任务发起人姓名") private String taskInitiator; @ApiModelProperty("任务发起人部门") private String taskInitiatorDept; @ApiModelProperty("任务开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date taskBeginTime; @ApiModelProperty("任务结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date taskEndTime; @JsonFormat(shape = JsonFormat.Shape.STRING) @ApiModelProperty("审核组长id") private Long leaderId; @ApiModelProperty("审核组长姓名") private String leader; @ApiModelProperty("创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm") private Date createTime; @JsonFormat(shape = JsonFormat.Shape.STRING) @ApiModelProperty("关联标准表id(检验依据)") private Long standardId; @ApiModelProperty("标准名称") private String name; @ApiModelProperty("标准号") private String standardNo; @ApiModelProperty("文件路径") private String file; @ApiModelProperty("选择的项目") private String taskList; @ApiModelProperty("整车信息安全检验报告模板") private String retentionUrl; @ApiModelProperty("企业留档文件存储地址") private String vehicleInformationUrl; @ApiModelProperty("车型试验原始记录模板") private String modelTestUrl; @ApiModelProperty("指向待执行节点的指针[0、1、2]") private int pointer; @ApiModelProperty("子任务指针最大值") private int maxPointer; @ApiModelProperty("检验项目名称") @TableField(exist = false) private String inspectionItemName; /** * 返回当前节点的下一个节点 */ public String getNextNode() { String[] split = taskList.split(","); if(pointer < split.length) { return split[pointer]; } return null; } public void setSystemReviewTaskIdNull(){ this.systemReviewTaskId = null; } public void setCarReviewTaskIdNull() { this.carReviewTaskId = null; } public void setModelTestTaskIdNull() { this.modelTestTaskId = null; } }