package cn.iocoder.yudao.module.research.controller.admin.application.vo; import cn.iocoder.yudao.module.system.api.storage.dto.StorageBlobRespDTO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; @Schema(description = "管理后台 - 课题申报书 Response VO") @Data public class ResearchApplicationRespVO { @Schema(description = "编号", example = "1") private Long id; @Schema(description = "申报编号", example = "SB20260928000001") private String no; @Schema(description = "所属课题指南 ID", example = "1") private Long guidelineId; @Schema(description = "所属课题指南名称") private String guidelineTitle; @Schema(description = "课题名称", example = "智能制造产线数字孪生关键技术研究") private String title; @Schema(description = "课题类别:1-重点课题 2-一般课题", example = "1") private Integer category; @Schema(description = "申报会员 ID", example = "1") private Long memberId; @Schema(description = "申报人姓名/单位名称", example = "张三") private String applicantName; @Schema(description = "申报登录用户 ID") private Long applicantUserId; @Schema(description = "工作单位", example = "XX大学") private String workUnit; @Schema(description = "职称", example = "教授") private String jobTitle; @Schema(description = "联系电话", example = "13800138000") private String contactPhone; @Schema(description = "联系邮箱", example = "zhangsan@example.com") private String contactEmail; @Schema(description = "课题组成员") private String teamMembers; @Schema(description = "申请经费(元)", example = "100000.00") private BigDecimal budgetAmount; @Schema(description = "申报书正文") private String planContent; @Schema(description = "状态:0-草稿 15-审批中 20-已立项 35-已驳回", example = "0") private Integer status; @Schema(description = "BPM 流程实例 ID", example = "1001") private String processInstanceId; @Schema(description = "专家评审加权均分", example = "86.50") private BigDecimal reviewAvgScore; @Schema(description = "评审结论:0-未通过 1-推荐立项", example = "1") private Integer reviewPass; @Schema(description = "立项编号", example = "LX20260928000001") private String researchNo; @Schema(description = "立项时间") private LocalDateTime approveTime; @Schema(description = "立项通知公告 ID") private Long noticeId; @Schema(description = "归档生成的档案 ID(非空表示已归档)", example = "1024") private Long archiveDocumentId; @Schema(description = "是否已归档(archiveDocumentId 非空即为 true)", example = "false") private Boolean archived; @Schema(description = "备注") private String remark; @Schema(description = "创建者") private String creator; @Schema(description = "创建者名称") private String creatorName; @Schema(description = "创建时间") private LocalDateTime createTime; @Schema(description = "附件列表") private List attachmentList; @Schema(description = "是否有附件") private Boolean hasAttachment; }