/*
 * Author: Zev
 * 生成entity
 */
package com.tofly.pojo.plan;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.tofly.pojo.comm.vo.AuditVo;
import com.tofly.pojo.plan.vo.PlanVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;


/**
 * 巡检月度计划记录信息表：TF_YWPN_PLANMOUTH_W
 *
 * @author admin
 * @date Thu Mar 18 00:00:00 CST 2021
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "TF_YWPN_PLANMOUTH_W", resultMap = "planmouthMap")
@KeySequence("TF_YWPN_PLANMOUTH_W")
@ApiModel
public class Planmouth extends Model<Planmouth> {
    private static final long serialVersionUID = 1L;

    /**
     * $column.comments
     */
    @TableId(value = "ID", type = IdType.INPUT)
    @ApiModelProperty(value = "$column.comments")
    private Long id;
    /**
     * 年份
     */
    @ApiModelProperty(value = "年份")
    private String year;
    /**
     * 月份
     */
    @ApiModelProperty(value = "月份")
    private String mouth;
    /**
     * 上报状态；0：未提交；1：已提交
     */
    @ApiModelProperty(value = "上报状态；0：未提交；1：已提交")
    private String issubmit;
    @TableField(exist = false)
    private String issubmitName;
    /**
     * 上报时间
     */
    @ApiModelProperty(value = "上报时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date submitTime;
    /**
     * 上报人
     */
    @ApiModelProperty(value = "上报人")
    private Long submitUser;

    @TableField(exist = false)
    private String submitUserName;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value = "CREATE_TIME", fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @TableField(value = "CREATE_USER", fill = FieldFill.INSERT)
    private Long createUser;
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    private String createUserName;

    @ApiModelProperty(value = "计划状态(0待审核,1审批拒绝2审批通过)")
    private String planState;
    @TableField(exist = false)
    private String planStateName;
    @ApiModelProperty(value = "月计划详情内容")
    private String planContent;
    @ApiModelProperty(value = "是否为养护 0否 1是")
    private String maintenanceFlag;
    @TableField(exist = false)
    private String maintenanceFlagName;

    @ApiModelProperty(value = "月计划巡检计划")
    @TableField(exist = false)
    private List<Plan> planVoList;

    @ApiModelProperty(value = "计划数")
    @TableField(exist = false)
    private Integer planNum;

    @ApiModelProperty(value = "已执行计划数")
    @TableField(exist = false)
    private Integer executePlanNum;

    @ApiModelProperty(value = "未执行计划数")
    @TableField(exist = false)
    private Integer executeNotPlanNum;

    @ApiModelProperty(value = "审批链")
    @TableField(exist = false)
    private List<AuditVo> auditVoList;

}
