package com.usky.fire.service.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.usky.fire.domain.PatrolInspectionPlanSchedule;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author JCB
 * @since 2022-07-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class PatrolInspectionPlanVo implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * 巡检计划主信息表主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 计划名称
     */
    private String planName;

    /**
     * 开始日期
     */
    private LocalDate startDate;

    /**
     * 结束日期
     */
    private LocalDate endDate;

    /**
     * 巡检区域ID
     */
    private Integer areaId;

    /**
     * 计划类型（1 普通计划，2 按次计划）
     */
    private Integer planType;

    /**
     * 巡检周期（1 日，2 周，3 月，4 年）
     */
    private Integer planCycle;

    /**
     * 计划次数
     */
    private Integer planFrequency;

    /**
     * 每圈用时（分钟）
     */
    private Integer lapTime;

    /**
     * 两圈间隔时间（分钟）
     */
    private Integer intervalTime;

    /**
     * 计划描述
     */
    private String planDescribe;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 创建人
     */
    private String creator;

    /**
     * 使能标识（0 不生效，1 生效）
     */
    private Integer enable;

    /**
     * 租户ID
     */
    private Integer tenantId;

    /**
     * 单位ID
     */
    private Integer companyId;

    /**
     * 休息日：星期一、星期二、星期三、星期四、星期五、星期六、星期日
     */
    private String restDay;

    /**
     * 周数
     */
    private Integer weekCount;

    /**
     * 选中的地点ID
     */
    private Integer[] siteArray;

    /**
     * 巡检日程
     */
    private List<PatrolInspectionPlanSchedule> planScheduleList;

    /**
     * 路线表主键id
     */
    private Integer routeId;


}
