package cn.iocoder.yudao.module.archive.dal.dataobject.borrow; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.*; import java.time.LocalDate; import java.time.LocalDateTime; /** * 档案-借阅单 DO(借阅登记 + 归还登记合一) * * @author 超级管理员 */ @TableName("archive_borrow") @KeySequence("archive_borrow_seq") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class ArchiveBorrowDO extends BaseDO { @TableId private Long id; /** 借阅单号 JY+yyyyMMdd+6位流水 */ private String no; /** 档案 ID */ private Long documentId; /** 档案编号(快照) */ private String documentNo; /** 档案标题(快照) */ private String documentTitle; /** 借阅人用户 ID */ private Long borrowerUserId; /** 借阅人姓名 */ private String borrowerName; /** 借阅人部门 */ private String borrowerDept; /** 借阅人联系电话 */ private String borrowerPhone; /** 借阅日期 */ private LocalDate borrowDate; /** 借阅目的 */ private String borrowPurpose; /** 归还期限(逾期实时计算基准) */ private LocalDate returnDeadline; /** 状态:0-草稿 15-审批中 20-借出中 30-已归还 35-已驳回 */ private Integer status; /** BPM 流程实例 ID */ private String processInstanceId; /** 审批通过(实际借出)时间 */ private LocalDateTime approveTime; /** 实际归还时间 */ private LocalDateTime returnTime; /** 归还确认人用户 ID */ private Long returnConfirmUserId; /** 归还备注 */ private String returnRemark; /** 驳回原因(BPM 回写) */ private String rejectReason; /** 驳回时间 */ private LocalDateTime rejectTime; /** 备注 */ private String remark; }