package com.ruoyi.approve.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.time.LocalDateTime; /** * 车辆借出记录表 */ @Data @TableName("vehicle_borrow_record") @Schema(name = "VehicleBorrowRecord", description = "车辆借出记录表") public class VehicleBorrowRecord implements Serializable { private static final long serialVersionUID = 1L; @Schema(description = "主键ID") @TableId(value = "id", type = IdType.AUTO) private Long id; @Schema(description = "借出单号") private String borrowNo; @Schema(description = "车辆ID") private Long vehicleId; @Schema(description = "车牌号") private String vehiclePlateNumber; @Schema(description = "申请人ID") private Long applicantId; @Schema(description = "申请人姓名") private String applicantName; @Schema(description = "申请部门ID") private Long applicantDeptId; @Schema(description = "申请部门名称") private String applicantDeptName; @Schema(description = "借出原因") private String borrowReason; @Schema(description = "借出开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime borrowStartTime; @Schema(description = "计划归还时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime plannedReturnTime; @Schema(description = "实际归还时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime actualReturnTime; @Schema(description = "借出状态 DRAFT-草稿 IN_APPROVAL-审批中 BORROWING-借出中 RETURNED-已归还 REJECTED-已驳回") private String borrowStatus; @Schema(description = "借出审批实例ID") private Long approvalInstanceId; @Schema(description = "借出审批通过时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime approvedTime; @Schema(description = "归还时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime returnedTime; @Schema(description = "延期审批实例ID") private Long extendApprovalInstanceId; @Schema(description = "延期状态 NONE-未申请 PENDING-审批中 APPROVED-已通过 REJECTED-已驳回") private String extendStatus; @Schema(description = "延期目标归还时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime extendTargetReturnTime; @Schema(description = "延期原因") private String extendReason; @Schema(description = "延期审批通过时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime extendApprovedTime; @Schema(description = "逻辑删除: 0未删除 1已删除") private Integer deleted; @Schema(description = "创建人") @TableField(fill = FieldFill.INSERT) private Long createUser; @Schema(description = "创建时间") @TableField(fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; @Schema(description = "更新人") @TableField(fill = FieldFill.INSERT_UPDATE) private Long updateUser; @Schema(description = "更新时间") @TableField(fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; @Schema(description = "部门ID") @TableField(fill = FieldFill.INSERT) private Long deptId; }