package com.yiboshi.science.param.dto; import com.fasterxml.jackson.annotation.JsonFormat; import com.yiboshi.science.base.BaseDTO; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import org.hibernate.validator.constraints.Length; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * 项目表DTO * * @author lkl * @version 2021-08-26 */ @Data @EqualsAndHashCode(callSuper=true) @ApiModel(description = "项目表DTO") public class ComProjectDTO extends BaseDTO { /** 项目名称 */ @ApiModelProperty(value = "项目名称", position = 1 ) @Length(max=150, message = "项目名称不能大于50") private String projName; /** 项目名称(英文) */ @ApiModelProperty(value = "项目名称(英文)", position = 1 ) @Length(max=500, message = "项目名称(英文)不能大于500") private String englishName; /** 项目编号 */ @ApiModelProperty(value = "项目编号", position = 2 ) @Length(max=100, message = "项目编号不能大于100") private String projNo; /** 申请编号 */ @ApiModelProperty(value = "申请编号", position = 4 ) @Length(max=200, message = "申请编号不能大于200") private String appNo; /** 版本号 */ @ApiModelProperty(value = "版本号", position = 5 ) @Length(max=20, message = "版本号不能大于20") private String versionNo; /** 申报单位Id */ @ApiModelProperty(value = "申报单位Id", position = 8 ) @Length(max=36, message = "申报单位Id不能大于36") private String appUnitId; /** 申报人Id */ @ApiModelProperty(value = "申报人Id", position = 9 ) @Length(max=36, message = "申报人Id不能大于36") private String appPersonId; /** 申报年度 */ @ApiModelProperty(value = "申报年度", position = 6 ) private Integer reportYear; /** 申报批次 */ @ApiModelProperty(value = "申报批次", position = 7 ) private Integer batch; /** 主管处室 */ @ApiModelProperty(value = "主管处室", position = 1) private String managerDept; /** 项目状态 -10 起草,10 待提交, 20 已提交至依托单位,25 依托单位审核通过,请打印申请书,30 返回修改,40 未批准立项,50 批准立项 */ @ApiModelProperty(value = "项目状态 -10 起草,10 待提交, 20 已提交至依托单位,25 依托单位审核通过,请打印申请书,30 返回修改,40 未批准立项,50 批准立项", position = 7 ) private Integer projState; /** 项目类型 1 科研项目 2重点学科项目 */ @ApiModelProperty(value = "项目名称", position = 1 ) private Integer projType; /** 项目类别 */ @ApiModelProperty(value = "项目类别", position = 3 ) @Length(max=100, message = "项目类别不能大于100") private String projClass; /** 项目开始时间 */ @ApiModelProperty(value = "项目开始时间", position = 10 ) @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") private Date startDate; /** 项目结束时间 */ @ApiModelProperty(value = "项目结束时间", position = 11 ) @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") private Date endDate; /** 学科Id */ @ApiModelProperty(value = "学科Id", position = 16 ) @Length(max=36, message = "学科Id不能大于36") private String knowledgeId; /** 专家/专家组是否评审完成 0否 1是 */ @ApiModelProperty(value = "是否评审完成", position = 6 ) private Integer completed; /** 分配状态 0未分配 1已分配 */ @ApiModelProperty(value = "分配状态", position = 6 ) private Integer assignState; /** 总分 */ @ApiModelProperty(value = "总分", position = 4) private BigDecimal totalScore; /** 平均分 */ @ApiModelProperty(value = "平均分", position = 4) private BigDecimal averageScore; /** 项目Id */ @ApiModelProperty(value="项目Id") @Length(max=36, message = "Id不能大于36") private String projId; /** 每年工作时间(月) */ @ApiModelProperty(value = "每年工作时间(月)", position = 1 ) private Integer jobTime; /** 主要研究领域 */ @ApiModelProperty(value = "主要研究领域", position = 19 ) @Length(max=200, message = "主要研究领域不能大于200") private String mainResearchAreas; /** 单位联系人姓名 */ @ApiModelProperty(value = "单位联系人姓名", position = 16) @Length(max=100, message = "单位联系人姓名不能大于100") private String unitLinkName; /** 单位联系人手机 */ @ApiModelProperty(value = "单位联系人手机", position = 16) @Length(max=50, message = "单位联系人手机不能大于50") private String unitLinkMobile; /** 单位电子邮箱 */ @ApiModelProperty(value = "单位电子邮箱", position = 16) @Length(max=100, message = "单位电子邮箱不能大于100") private String unitLinkEmail; /** 单位传真 */ @ApiModelProperty(value = "单位传真", position = 16) @Length(max=100, message = "单位传真不能大于100") private String unitLinkFax; /** 选题范围 */ @ApiModelProperty(value = "选题范围", position = 1 ) @Length(max=200, message = "主要研究领域不能大于200") private String subjectScope; /** 项目摘要 */ @ApiModelProperty(value = "项目摘要", position = 13 ) @Length(max=600, message = "项目摘要不能大于600") private String projAbstract; /** 关键词 */ @ApiModelProperty(value = "关键词", position = 26 ) @Length(max=200, message = "关键词不能大于200") private String projKeywords; /** 项目总经费(万元) */ @ApiModelProperty(value = "项目总经费(万元)", position = 39) private BigDecimal totalFunding; /** 申请科技经费(万元) */ @ApiModelProperty(value = "申请科技经费(万元)", position = 40) private BigDecimal govFunding; /** 单位配套 */ @ApiModelProperty(value = "单位配套", position = 41) private BigDecimal unitFunding; /** 自筹 */ @ApiModelProperty(value = "自筹", position = 42) private BigDecimal selfFunding; /** 其他 */ @ApiModelProperty(value = "其他", position = 43) private BigDecimal otherFunding; @ApiModelProperty(value = "项目属性Id", position = 36) @Length(max=36, message = "项目属性Id不能大于36") private String projAttribute; /** 年度总目标 */ @ApiModelProperty(value = "年度总目标", position = 14 ) @Length(max=1000, message = "年度总目标1000") private String yearTarget; /** 第一年目标 */ @ApiModelProperty(value = "第一年目标", position = 14 ) @Length(max=500, message = "第一年目标500") private String year1Goal; /** 第二年目标 */ @ApiModelProperty(value = "第二年目标", position = 14 ) @Length(max=500, message = "第二年目标500") private String year2Goal; /** 第三年目标 */ @ApiModelProperty(value = "第三年目标", position = 14 ) @Length(max=500, message = "第三年目标500") private String year3Goal; /** 备注 */ @ApiModelProperty(value = "备注", position = 38 ) @Length(max=65535, message = "备注不能大于65535") private String remark; /** 项目组成员_总人数 */ @ApiModelProperty(value = "项目组成员_总人数", position = 17 ) private Integer memCount; /** 项目组成员_高职 */ @ApiModelProperty(value = "项目组成员_高职", position = 18 ) private Integer memHighCount; /** 项目组成员_中职 */ @ApiModelProperty(value = "项目组成员_中职", position = 19 ) private Integer memMiddleCount; /** 项目组成员_初职 */ @ApiModelProperty(value = "项目组成员_初职", position = 20 ) private Integer memLowCount; /** 项目组成员_其他 */ @ApiModelProperty(value = "项目组成员_其他", position = 21 ) private Integer memOtherCount; /** 项目组成员_博士后 */ @ApiModelProperty(value = "项目组成员_博士研究生", position = 22 ) private Integer memBshCount; /** 项目组成员_博士生 */ @ApiModelProperty(value = "项目组成员_博士研究生", position = 22 ) private Integer memBsCount; /** 项目组成员_硕士生 */ @ApiModelProperty(value = "项目组成员_硕士研究生", position = 23 ) private Integer memSsCount; /** 项目组成员_硕士生 */ @ApiModelProperty(value = "项目组成员_学士", position = 24) private Integer memXsCount; /** 项目组成员_参加单位数 */ @ApiModelProperty(value = "项目组成员_参加单位数", position = 25) private Integer workCount; /** 附件Id */ @ApiModelProperty(value = "附件Id", position = 4 ) private String fileId; /** 附件Id */ @ApiModelProperty(value = "附件Id", position = 1 ) @Length(max=36, message = "附件Id不能大于36") private String downloadId; /** 附件名 */ @ApiModelProperty(value = "附件名", position = 6) private String fileName; /** URL */ @ApiModelProperty(value = "URL", position = 7) private String downloadUrl; /** 单位 */ @ApiModelProperty(value = "单位", position = 41) private String appUnitName; /** 注册单位类型 */ @ApiModelProperty(value = "注册单位类型", position = 12) @Length(max=100, message = "注册单位类型不能大于100") private String unitTypeName; /** 项目状态 */ @ApiModelProperty(value = "项目状态", position = 41) private String projStateName; /** 项目类别 */ @ApiModelProperty(value = "项目类别", position = 3) private String projClassName; /** 学科 */ @ApiModelProperty(value = "学科", position = 16) private String knowledgeName; /** 开始 */ @ApiModelProperty(value = "开始", position = 3) private String startDateStr; /** 结束 */ @ApiModelProperty(value = "结束", position = 3) private String endDateStr; /** 姓名 */ @ApiModelProperty(value = "姓名", position = 41) private String appPersonName; /** 性别 */ @ApiModelProperty(value = "性别", position = 3) private String sex; /** 出生年月 */ @ApiModelProperty(value = "出生年月", position = 3) private Date birthday; /** 证件号 */ @ApiModelProperty(value = "证件号", position = 3) private String certId; /** 邮箱 */ @ApiModelProperty(value = "邮箱", position = 15) private String email; /** 电话号码 */ @ApiModelProperty(value = "电话号码", position = 16) private String mobile; /** 地址 */ @ApiModelProperty(value = "地址", position = 3) private String address; /** 民族 */ @ApiModelProperty(value = "民族", position = 3) private String nationName; /** 职称 */ @ApiModelProperty(value = "职称", position = 3) private String titleName; /** 职务 */ @ApiModelProperty(value = "职务", position = 12) private String dutyName; /** 学位 */ @ApiModelProperty(value = "学位", position = 8) private String degreeName; /** 学历 */ @ApiModelProperty(value = "学历", position = 8) private String educationName; /** 工作单位 */ @ApiModelProperty(value = "工作单位", position = 8) private String jobUnit; /** 专业 */ @ApiModelProperty(value = "专业", position = 8) private String specName; /** 合作单位 */ private List<ComProjectCooperativeUnitsDTO> cooperativeUnits; /** 项目组成员 */ private List<ComProjectMembersDTO> members; /** 经费表 */ private List<ComProjectBudgetDTO> budget; /** 年度用款计划 */ private List<ComProjectFundPlanDTO> fundPlan; /** 项目绩效目标表 */ private ProjectKPIStatisticDTO projectKPI; /** 附件列表 */ private List<ComFileDTO> fileList; /** 审核列表 */ private List<ComProjectAuditNoteDTO> auditList; }