package cn.iocoder.yudao.module.archive.controller.admin.borrow.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.time.LocalDate; import java.time.LocalDateTime; @Schema(description = "管理后台 - 档案借阅单 Response VO") @Data public class ArchiveBorrowRespVO { @Schema(description = "编号", example = "1") private Long id; @Schema(description = "借阅单号", example = "JY20260929000001") private String no; @Schema(description = "档案 ID", example = "1") private Long documentId; @Schema(description = "档案编号(快照)", example = "DA20260929000001") private String documentNo; @Schema(description = "档案标题(快照)", example = "2026年度学会工作总结") private String documentTitle; @Schema(description = "借阅人用户 ID", example = "1") private Long borrowerUserId; @Schema(description = "借阅人姓名", example = "张三") private String borrowerName; @Schema(description = "借阅人部门", example = "秘书处") private String borrowerDept; @Schema(description = "借阅人联系电话", example = "13800138000") private String borrowerPhone; @Schema(description = "借阅日期", example = "2026-09-29") private LocalDate borrowDate; @Schema(description = "借阅目的", example = "撰写年度总结引用历史数据") private String borrowPurpose; @Schema(description = "归还期限", example = "2026-10-15") private LocalDate returnDeadline; @Schema(description = "状态:0-草稿 15-审批中 20-借出中 30-已归还 35-已驳回", example = "20") private Integer status; @Schema(description = "流程实例编号", example = "a1b2c3d4") private String processInstanceId; @Schema(description = "审批通过(实际借出)时间") private LocalDateTime approveTime; @Schema(description = "实际归还时间") private LocalDateTime returnTime; @Schema(description = "归还确认人用户 ID", example = "1") private Long returnConfirmUserId; @Schema(description = "归还确认人姓名", example = "管理员") private String returnConfirmUserName; @Schema(description = "归还备注") private String returnRemark; @Schema(description = "驳回原因") private String rejectReason; @Schema(description = "驳回时间") private LocalDateTime rejectTime; @Schema(description = "备注") private String remark; @Schema(description = "是否逾期(借出中 且 归还期限已过,实时计算)", example = "false") private Boolean overdue; @Schema(description = "逾期天数(未逾期为 0)", example = "0") private Long overdueDays; @Schema(description = "创建时间") private LocalDateTime createTime; }