package com.xunmei.common.core.domain.edu.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlanToExecOrg;
import com.xunmei.common.core.domain.edu.domain.CoreEduTrainingPlanToRole;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class CoreEduTrainingPlanDataVo {

    @JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    private Long id;

    @ApiModelProperty(value = "计划名称")
    private String planName;

    @ApiModelProperty(value = "计划周期")
    private Integer planCycle;

    @ApiModelProperty(value = "执行次数")
    private Integer execTimes;

    @ApiModelProperty(value = "计划开始时间")
    private Date startDate;

    @ApiModelProperty(value = "计划结束时间")
    private Date endDate;

    @ApiModelProperty(value = "计划状态")
    private int planStatus;

    @ApiModelProperty(value = "是否立即生效", notes = "0:否,1:是")
    private Boolean buildTaskNow = Boolean.FALSE;

    @ApiModelProperty(value = "培训机构类型")
    private Integer execOrgType;


    @ApiModelProperty(value = "计划创建机构")
    private Long createOrgId;

    @ApiModelProperty(value = "计划创建机构名称")
    private String createOrgName;

    @ApiModelProperty(value = "计划创建机构path")
    private String createOrgPath;

    @ApiModelProperty(value = "计划所属机构")
    private Long belongOrgId;

    @ApiModelProperty(value = "计划所属机构名称")
    private String belongOrgName;

    @ApiModelProperty(value = "计划所属机构path")
    private String belongOrgPath;

    @ApiModelProperty(value = "是否是标准计划,0:否,1:是")
    private Integer standard;

    @ApiModelProperty(value = "是否已下发", notes = "0:否,1:是")
    private Integer issue;

    @ApiModelProperty(value = "下发计划id")
    private Long parentId;

    @ApiModelProperty(value = "计划执行角色")
    private List<CoreEduTrainingPlanToRole> planRoleList;

    @ApiModelProperty(value = "计划执行机构")
    private List<CoreEduTrainingPlanToExecOrg> planExecOrgList;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "附件")
    private List<String> fileList;

}
