/**
 * Copyright 2019 DH
 * All right reserved.
 * 项目名称: 大恒泰山系统
 * 创建日期:2022/8/23
 */
package org.springblade.modules.business.equipment.inspection.plan.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.NullSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/***
 * Date:2022/8/23
 * Title:文件所属模块（必须填写）
 * Description：对本文件的详细描述，原则上不能少于30字
 * @author dylan
 * @version 1.0
 * Remark：认为有必要的其他信息
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("equipment_inspection_plan")
public class EquipmentInspectionPlanEntity extends BaseEntity {
	private static final long serialVersionUID = 1L;

	/**
	 * 批处理ID，防止重复上传
	 */
	@ApiModelProperty(value = "批处理ID")
	private String batchId;

	/**
	 * 租户ID
	 */
	@ApiModelProperty("租户ID")
	private String tenantId;

	/**
	 * 巡检年度索引ID
	 */
	@ApiModelProperty("巡检年度索引ID")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Long inspectionId;

	/**
	 * 计划标题
	 */
	@ApiModelProperty("计划标题")
	private String planTitle;

	/**
	 * 计划内容
	 */
	@ApiModelProperty("计划内容")
	private String planDesc;

	/**
	 * 巡检计划状态：1 有效  0 无效
	 */
	@ApiModelProperty("巡检计划状态")
	private Integer planStatus;

	/**
	 * 计划执行周期 1 仅一次 1 周期性
	 */
	@ApiModelProperty("计划执行周期")
	private Integer planScheduledType;

	/**
	 * 时间周期类型 1 按天 2 按周 2 按月
	 */
	@ApiModelProperty("时间周期类型")
	private Integer timeType;

	/**
	 * 机构ID
	 */
	@ApiModelProperty("机构ID")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Long orgId;

	/**
	 * 项目ID
	 */
	@ApiModelProperty("项目ID")
	@JsonSerialize(nullsUsing = NullSerializer.class)
	private Long projectId;

	/**
	 * 巡检完成时间
	 */
	@ApiModelProperty("巡检完成时间")
	@DateTimeFormat(
			pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
			pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date inspectionCompleteTime;

	/**
	 * 巡检开始时间
	 */
	@ApiModelProperty("巡检开始时间")
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date inspectionStartTime;

	/**
	 * 巡检结束时间
	 */
	@ApiModelProperty("巡检结束时间")
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date inspectionEndTime;

	/**
	 * 巡检开始时间
	 */
	@ApiModelProperty("巡检开始时间")
	@DateTimeFormat(
			pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
			pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date beforeRainSeasonStartTime;

	/**
	 * 巡检结束时间
	 */
	@ApiModelProperty("巡检结束时间")
	@DateTimeFormat(
			pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
			pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date beforeRainSeasonEndTime;


	/**
	 * 第1次汛中巡检开始时间
	 */
	@ApiModelProperty("第1次汛中巡检开始时间")
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date rainSeasonFirstStartTime;

	/**
	 * 第1次汛中巡检结束时间
	 */
	@ApiModelProperty("第1次汛中巡检结束时间")
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date rainSeasonFirstEndTime;


	/**
	 * 第2次汛中巡检开始时间
	 */
	@ApiModelProperty("第2次汛中巡检开始时间")
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date rainSeasonSecondStartTime;

	/**
	 * 第2次汛中巡检结束时间
	 */
	@ApiModelProperty("第2次汛中巡检结束时间")
	@DateTimeFormat(
		pattern = "yyyy-MM-dd"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd",timezone = "GMT+8"
	)
	private Date rainSeasonSecondEndTime;

}
