package com.njcn.supervision.pojo.vo.survey;

import com.njcn.db.bo.BaseEntity;
import com.njcn.supervision.pojo.po.survey.SupervisionGeneralSurveyPlanDetailPO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

/**
 * 
 * Description:
 * Date: 2024/5/13  18:35【需求编号】
 *
 * @author clam
 * @version V1.0.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class SupervisionGeneralSurveyPlanVO extends BaseEntity {

    private String planNo;

    /**
     * 单位ID
     */
    @ApiModelProperty(value="单位ID")
    private String orgNo;

    @ApiModelProperty(value="单位名称")
    private String orgName;

    /**
     * 普测计划名称
     */
    @ApiModelProperty(value="普测计划名称")
    private String planName;

    /**
     * 计划生成时间
     */
    @ApiModelProperty(value="计划生成时间")
    private LocalDate planCreateTime;

    /**
     * 计划开始时间
     */
    @ApiModelProperty(value="计划开始时间")
    private LocalDate planStartTime;

    /**
     * 计划结束时间
     */
    @ApiModelProperty(value="计划结束时间")
    private LocalDate planEndTime;

    /**
     * 实际完成时间
     */
    @ApiModelProperty(value="实际完成时间")
    private LocalDate planComplateTime;

    /**
     * 计划负责人
     */
    @ApiModelProperty(value="计划负责人")
    private String leader;

    @ApiModelProperty(value="选中的电站集合")
    private List<String> subIds;

    @ApiModelProperty("发起人自选审批人 Map")
    private Map<String, List<String>> startUserSelectAssignees;


    /**
     * 计划状态(1:审批中；2：审批通过；3：审批不通过；4：已取消
     */
    @ApiModelProperty(value="计划状态(1:审批中；2：审批通过；3：审批不通过；4：已取消")
    private Integer status;

    /**
     * 详情
     */
    @ApiModelProperty(value="详情")
    private String description;

    /**
     * 文件是否上传(0:否 1:是)
     */
    @ApiModelProperty(value="文件是否上传(0:否 1:是)")
    private Integer isFileUpload;

    /**
     * 上传文件数量
     */
    @ApiModelProperty(value="上传文件数量")
    private Integer fileCount;

    /**
     * 文件路径
     */
    @ApiModelProperty(value="文件路径")
    private String filePath;

    /**
     * 流程实例的编号
     */
    @ApiModelProperty(value="流程实例的编号")
    private String processInstanceId;

    @ApiModelProperty(value="计划下变电站详情")
    private List<SupervisionGeneralSurveyPlanDetailPO> supervisionGeneralSurveyPlanDetailPOS ;

}