5.9
package com.example.baoli.entity;
import jakarta.persistence.*;
import java.time.LocalDateTime;
@Entity
@Table(name = "approval_records")
public class ApprovalRecord {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "application_id")
private String applicationId; // 申请单号
@Column(name = "applicant")
private String applicant; // 申请人
@Column(name = "department")
private String department; // 申请部门
@Column(name = "station")
private String station; // 需求车站
@Column(name = "work_area")
private String workArea; // 所属工区
@Column(name = "spare_part_name")
private String sparePartName; // 备件名称
@Column(name = "spare_part_model")
private String sparePartModel; // 备件型号
@Column(name = "quantity")
private Integer quantity; // 申请数量
@Column(name = "application_type")
private String applicationType; // 领用类型:维修申领、维修借用
@Column(name = "fault_equipment")
private String faultEquipment; // 故障设备
@Column(name = "fault_description")
private String faultDescription; // 故障描述
@Column(name = "urgency_level")
private String urgencyLevel; // 紧急程度:紧急、一般、不紧急
@Column(name = "expected_return_date")
private LocalDateTime expectedReturnDate; // 预计归还时间(借用类型)
@Column(name = "application_reason")
private String applicationReason; // 申请原因
@Column(name = "status")
private String status; // 状态:待审核、已通过、已驳回、已超时
@Column(name = "approver")
private String approver; // 审核人
@Column(name = "approval_date")
private LocalDateTime approvalDate; // 审核时间
@Column(name = "approval_comments")
private String approvalComments; // 审核意见
@Column(name = "application_date")
private LocalDateTime applicationDate; // 申请时间
@Column(name = "timeout_reminder_sent")
private Boolean timeoutReminderSent = false; // 是否已发送超时提醒
@Column(name = "created_at")
private LocalDateTime createdAt;
@Column(name = "updated_at")
private LocalDateTime updatedAt;
// 构造函数
public ApprovalRecord() {
this.createdAt = LocalDateTime.now();
this.updatedAt = LocalDateTime.now();
this.applicationDate = LocalDateTime.now();
}
// Getters and Setters
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getApplicationId() { return applicationId; }
public void setApplicationId(String applicationId) { this.applicationId = applicationId; }
public String getApplicant() { return applicant; }
public void setApplicant(String applicant) { this.applicant = applicant; }
public String getDepartment() { return department; }
public void setDepartment(String department) { this.department = department; }
public String getStation() { return station; }
public void setStation(String station) { this.station = station; }
public String getWorkArea() { return workArea; }
public void setWorkArea(String workArea) { this.workArea = workArea; }
public String getSparePartName() { return sparePartName; }
public void setSparePartName(String sparePartName) { this.sparePartName = sparePartName; }
public String getSparePartModel() { return sparePartModel; }
public void setSparePartModel(String sparePartModel) { this.sparePartModel = sparePartModel; }
public Integer getQuantity() { return quantity; }
public void setQuantity(Integer quantity) { this.quantity = quantity; }
public String getApplicationType() { return applicationType; }
public void setApplicationType(String applicationType) { this.applicationType = applicationType; }
public String getFaultEquipment() { return faultEquipment; }
public void setFaultEquipment(String faultEquipment) { this.faultEquipment = faultEquipment; }
public String getFaultDescription() { return faultDescription; }
public void setFaultDescription(String faultDescription) { this.faultDescription = faultDescription; }
public String getUrgencyLevel() { return urgencyLevel; }
public void setUrgencyLevel(String urgencyLevel) { this.urgencyLevel = urgencyLevel; }
public LocalDateTime getExpectedReturnDate() { return expectedReturnDate; }
public void setExpectedReturnDate(LocalDateTime expectedReturnDate) { this.expectedReturnDate = expectedReturnDate; }
public String getApplicationReason() { return applicationReason; }
public void setApplicationReason(String applicationReason) { this.applicationReason = applicationReason; }
public String getStatus() { return status; }
public void setStatus(String status) { this.status = status; }
public String getApprover() { return approver; }
public void setApprover(String approver) { this.approver = approver; }
public LocalDateTime getApprovalDate() { return approvalDate; }
public void setApprovalDate(LocalDateTime approvalDate) { this.approvalDate = approvalDate; }
public String getApprovalComments() { return approvalComments; }
public void setApprovalComments(String approvalComments) { this.approvalComments = approvalComments; }
public LocalDateTime getApplicationDate() { return applicationDate; }
public void setApplicationDate(LocalDateTime applicationDate) { this.applicationDate = applicationDate; }
public Boolean getTimeoutReminderSent() { return timeoutReminderSent; }
public void setTimeoutReminderSent(Boolean timeoutReminderSent) { this.timeoutReminderSent = timeoutReminderSent; }
public LocalDateTime getCreatedAt() { return createdAt; }
public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; }
public LocalDateTime getUpdatedAt() { return updatedAt; }
public void setUpdatedAt(LocalDateTime updatedAt) { this.updatedAt = updatedAt; }
@PreUpdate
public void preUpdate() {
this.updatedAt = LocalDateTime.now();
}
}
浙公网安备 33010602011771号