/*
 * Author: wangjian
 * 生成entity
 */
package com.tofly.pojo.car;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tofly.pojo.comm.File;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

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


/**
 * 用车申请
 *
 * @author JF
 * @date Mon Apr 01 00:00:00 CST 2024
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value="TF_CAR_APPLY",resultMap = "tfCarApplyMap")
@ApiModel
public class TfCarApply extends Model<TfCarApply> {
    private static final long serialVersionUID = 1L;

        /**
     * 主键ID
     */
        @TableId(value = "ID",type= IdType.ASSIGN_ID)
            @ApiModelProperty(value = "主键ID")
                private Long id;
                /**
     * 车牌号
     */
            @ApiModelProperty(value = "车牌号")
                private String carNumber;
                /**
     * 开始里程
     */
            @ApiModelProperty(value = "开始里程")
                private String startMileage;
                /**
     * 结束里程
     */
            @ApiModelProperty(value = "结束里程")
                private String endMileage;
                /**
     * 用车时间
     */
            @ApiModelProperty(value = "用车时间")
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
                private Date startTime;
                /**
     * 还车时间
     */
            @ApiModelProperty(value = "还车时间")
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
                private Date endTime;
                /**
     * 审核人
     */
            @ApiModelProperty(value = "审核人")
                private Long auditUser;
            @TableField(exist = false)
            @ApiModelProperty(hidden = true)
            private String auditUserName;
    /**
     * 审核部门
     */
    @ApiModelProperty(value = "审核部门")
    private Long auditDept;
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    private String auditDeptName;
                /**
     * 审核时间
     */
            @ApiModelProperty(value = "审核时间")
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
                private Date auditTime;
                /**
     * 审核意见
     */
            @ApiModelProperty(value = "审核意见")
                private String auditView;
                /**
     * 审核状态
     */
            @ApiModelProperty(value = "审核状态")
                private String auditStatus;
                /**
     * 申请人
     */
            @ApiModelProperty(value = "申请人")
                private Long applyUser;
            @TableField(exist = false)
            @ApiModelProperty(hidden = true)
            private String applyUserName;
    /**
     * 申请部门
     */
            @ApiModelProperty(value = "申请部门")
            private Long applyDept;
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    private String applyDeptName;
                /**
     * 申请时间
     */
            @ApiModelProperty(value = "申请时间")
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
                private Date applyTime;
    /**
     * 附件
     */
    @ApiModelProperty(value = "附件")
    private String annex;
    @TableField(exist = false)
    @ApiModelProperty(value = "附件列表")
    private List<File> annexList;
                /**
     * 备注
     */
            @ApiModelProperty(value = "备注")
                private String remark;
                /**
     * 创建人
     */
            @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 = "用车状态")
    @TableField(exist = false)
    private String status;
}
