package com.usky.fire.service.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

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

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

    private static final long serialVersionUID=1L;

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

    /**
     * 计划主表id
     */
    private Integer planId;

    /**
     * 巡检日期
     */
    private LocalDate inspectionDate;

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

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

    /**
     * 开始时间
     */
    private String startTime;

    /**
     * 结束时间
     */
    private String endTime;

    /**
     * 巡检人员ID
     */
    private Integer personnelId;

    /**
     * 巡检区域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 Integer completion;

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

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

    /**
     * 备用字段
     */
    private String alternateField;

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

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

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

    /**
     * 计划状态（1执行中、2巡检结束合格、3巡检结束不合格 ）
     */
    private Integer planStatus;

    /**
     * 已巡检地点数量
     */
    private Integer patrolledSiteCount;

    /**
     * 漏检地点数量
     */
    private Integer undetectedSiteCount;

    /**
     * 计划类型描述
     */
    private String planTypeDescribe;

    /**
     * 点位ID
     */
    private Integer siteId;

}
