package com.yuchen.saas.park.api.entity.park;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nest.springwrap.core.tenant.mp.TenantEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.sql.Time;
import java.util.Date;

/**
 * @ClassName FireInspectPlanEntity
 * @Description 消防巡查计划实体类
 * @Author 肖祥
 * @Date 2022/10/20 10:05
 * @Version 1.0。0
 **/
@Data
@TableName("pmg_bat_fire_inspect_plan")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "消防巡查计划实体类", description = "消防巡查计划实体类")
public class FireInspectPlanEntity extends TenantEntity {

    @ApiModelProperty(value = "园区id")
    private Long parkId;

    @ApiModelProperty(value = "巡查计划名称")
    private String name;

    @ApiModelProperty(value = "巡查计划区域")
    private Long areaId;

    @ApiModelProperty(value = "巡查人")
    private Long inspectUser;

    @ApiModelProperty(value = "计划开始日期")
    @DateTimeFormat(
            pattern = "yyyy-MM-dd"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd"
    )
    private Date planStartDate;

    @ApiModelProperty(value = "计划结束日期")
    @DateTimeFormat(
            pattern = "yyyy-MM-dd"
    )
    @JsonFormat(
            pattern = "yyyy-MM-dd"
    )
    private Date planEndDate;

    @ApiModelProperty(value = "巡查周期:1、每日一次2、每日多次3、每周一次4、每月一次")
    private Integer inspectCycle;

    @ApiModelProperty(value = "计划状态:1、未开始2、进行中3、已结束")
    private Integer planStatus;

    @ApiModelProperty(value = "计划间隔")
    private Integer planInterval;

    @ApiModelProperty(value = "间隔开始时间")
    @DateTimeFormat(
            pattern = "HH:mm:ss"
    )
    @JsonFormat(
            pattern = "HH:mm:ss"
    )
    private Time startTime;

    @ApiModelProperty(value = "间隔开始时间")
    @DateTimeFormat(
            pattern = "HH:mm:ss"
    )
    @JsonFormat(
            pattern = "HH:mm:ss"
    )
    private Time endTime;
}
