package api.common.pojo.param.project;

import api.common.pojo.common.PageVO;
import lombok.*;

import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = false)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SimulationManualProjectParam extends PageVO {

    private String id;  //id
    private Integer projectDate;    //项目日期
    private Integer projectNum; //项目序号
    private String projectId;   //项目id
    private String cron;    //周期表达式
    private String projectName;//项目名称
    private String projectDescribe; //项目描述
    private String algorithm;   //算法
    private String algorithmName;   //算法名称
    private String vehicle; //车辆
    private String scene;   //场景
    private String operationCycle;  //运行周期
    private String parallelism; //并行度
    private String ruleView;    //规则查看
    private String isChoiceGpu; //是否选择gpu(0:是，1：否)
    private String createStartDate; //创建开始日期yyyy-MM-dd
    private String createEndDate;   //创建结束日期yyyy-MM-dd
    private String nowRunState;//当前运行状态
    private String evaluationLevel; //评测等级
    private Date startTime;  //开始时间
    private Date finishTime;     //完成时间
    private Long maxSimulationTime;  //最大仿真时间
    private String isDeleted;
    private Date createTimeStart;
    private Date createTimeEnd;
    private Date finishTimeStart;
    private Date finishTimeEnd;
    private String finishDateStart;
    private String finishDateEnd;
    private String ids;
    private String finishTimeFmt;   //条件参数
    private String dropDownType;    //下拉类型1、算法2、车辆、3、场景
    private String taskId;  //任务id
    private String algorithmType;   //算法类型
    private String algorithmSource; //算法来源1、文件上传，2、仓库地址
    private String runResultFilePath;    //仿真结果地址
    private Boolean isCreateLocalPdfFile;   //是否生成本地pdf文件
    private String LocalPdfFilePath;    //本地pdf文件路径
    private Boolean isPagePdf;  //是否打包报告pdf
    private String createUserId;    //创建人
    private String packageId;    //场景包id
    private String automaticRunState;    //自动运行状态
    private String parentId;    //父级项目id
    private String projectType; //项目类型 1.手动；2.自动

    // 复杂度规则
    private String complexityEvaluationRuleId;
    // 危险度
    private String riskEvaluationRuleId;
    // 暴露率
    private String exposureRateEvaluationRuleId;
    // 覆盖率
    private String coverageRateEvaluationRuleId;

    //算法数组（公私有）
    private String[] algorithmArrayS;
    //车辆模型数组（公私有）
    private String[] vehicleArrayS;
    //场景测试包数组（公私有）
    private String[] sceneArrayS;
}
