package cn.iocoder.yudao.module.archive.controller.admin.document.vo; import cn.idev.excel.annotation.ExcelIgnoreUnannotated; import cn.idev.excel.annotation.ExcelProperty; import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; import cn.iocoder.yudao.module.archive.enums.DictTypeConstants; import cn.iocoder.yudao.module.system.api.storage.dto.StorageBlobRespDTO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; @Schema(description = "管理后台 - 档案 Response VO") @Data @ExcelIgnoreUnannotated public class ArchiveDocumentRespVO { @Schema(description = "编号", example = "1") private Long id; @Schema(description = "档案编号", example = "DA20260929000001") @ExcelProperty("档案编号") private String no; @Schema(description = "档案标题", example = "2026年度学会工作总结") @ExcelProperty("档案标题") private String title; @Schema(description = "档案分类 ID", example = "1") private Long categoryId; @Schema(description = "档案分类名称", example = "文书档案") @ExcelProperty("档案分类") private String categoryName; @Schema(description = "密级:1-公开 2-内部 3-保密", example = "2") @ExcelProperty(value = "密级", converter = DictConvert.class) @DictFormat(DictTypeConstants.SECRET_LEVEL) private Integer secretLevel; @Schema(description = "载体:1-电子 2-实体 3-电子+实体", example = "3") @ExcelProperty(value = "载体", converter = DictConvert.class) @DictFormat(DictTypeConstants.CARRIER_TYPE) private Integer carrierType; @Schema(description = "实体-书架号", example = "A") @ExcelProperty("书架号") private String shelfNo; @Schema(description = "实体-层号", example = "2") @ExcelProperty("层号") private String layerNo; @Schema(description = "实体-列号", example = "3") @ExcelProperty("列号") private String columnNo; @Schema(description = "实体-册号/档案盒号", example = "B-03") @ExcelProperty("册号/档案盒号") private String boxNo; @Schema(description = "实体存放位置描述", example = "3号库房A架2层") @ExcelProperty("存放位置") private String storePlace; @Schema(description = "来源类型:1-手工 2-课题 3-会员 4-财务", example = "1") @ExcelProperty(value = "来源类型", converter = DictConvert.class) @DictFormat(DictTypeConstants.SOURCE_TYPE) private Integer sourceType; @Schema(description = "来源单号", example = "LX20260929000001") @ExcelProperty("来源单号") private String sourceNo; @Schema(description = "来源单据 ID", example = "1024") private Long sourceId; @Schema(description = "来源单据标题(冗余快照)", example = "XX技术研究课题") @ExcelProperty("来源单据标题") private String sourceTitle; @Schema(description = "归档日期", example = "2026-09-29") @ExcelProperty("归档日期") private LocalDate archiveDate; @Schema(description = "归档人用户 ID", example = "1") private Long archivistUserId; @Schema(description = "归档人姓名", example = "管理员") @ExcelProperty("归档人") private String archivistName; @Schema(description = "档案状态:10-在库 20-借出中", example = "10") @ExcelProperty(value = "档案状态", converter = DictConvert.class) @DictFormat(DictTypeConstants.DOCUMENT_STATUS) private Integer status; @Schema(description = "摘要") @ExcelProperty("摘要") private String summary; @Schema(description = "关键词,英文逗号分隔", example = "工作总结,年度计划") @ExcelProperty("关键词") private String tags; @Schema(description = "备注") private String remark; @Schema(description = "创建时间") private LocalDateTime createTime; @Schema(description = "附件列表") private List attachmentList; @Schema(description = "是否有附件") private Boolean hasAttachment; }