package com.ruoyi.database.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class PublicBusinessTrip {


    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("申请单位")
    private Long deptId;

    @ApiModelProperty("申请单位名称")
    private String deptName;  // 修正类型为String

    @ApiModelProperty("申请人姓名")
    private String applicantName;

    @ApiModelProperty("联系方式")
    private String contactWay;

    @ApiModelProperty("申请日期")
    @JsonFormat(pattern = "yyyy年MM月dd日")
    private LocalDateTime applicationDate;

    @ApiModelProperty("出差开始时间")
    @JsonFormat(pattern = "yyyy年MM月dd日 HH:mm")
    private LocalDateTime startDateTime;

    @ApiModelProperty("出差结束时间")
    @JsonFormat(pattern = "yyyy年MM月dd日 HH:mm")
    private LocalDateTime endDateTime;

    @ApiModelProperty("目的地")
    private String destination;

    @ApiModelProperty("事由")
    private String taskReason;

    @ApiModelProperty("路线规划")
    private String routePlan;

    @ApiModelProperty("携带物品")
    private String carriedItems;

    @ApiModelProperty("涉密文件密级")
    private String classifiedFiles;

    @ApiModelProperty("份数")
    private Integer number;

    @ApiModelProperty("文件编号")
    private String fileCode;

    @ApiModelProperty("随行人员")
    private String accompanyingPersonnel;

    @ApiModelProperty("交通费用")
    private Double transportationCost;

    @ApiModelProperty("住宿费用")
    private Double accommodationCost;

    @ApiModelProperty("伙食补助")
    private Double mealSubsidy;

    @ApiModelProperty("审批状态 0-未审批 1-部门审批通过 2-部门审批不通过 3-警务保障部门审批通过 4-警务保障部门审批不通过 5-局领导审批通过 6-局领导审批不通过")
    private Integer state;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

    @ApiModelProperty("创建人")
    private String createBy;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("修改时间")
    private LocalDateTime updateTime;

    @ApiModelProperty("修改人")
    private String updateBy;

    @TableField(exist = false)
    private String fTime;
    @TableField(exist = false)
    private String eTime;
}