• 徐俊's avatar
    xujun · 63bc08e3
    徐俊 authored
    63bc08e3
ComProjectDTO.java 17.7 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402
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;
    /** 项目状态 -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=36, message = "项目类别不能大于36")
    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)
    @Length(max=200, message = "单位名称不能大于200")
    private String appUnitName;
    /** 注册单位类型 */
    @ApiModelProperty(value = "注册单位类型", position = 1)
    @Length(max=36, message = "注册单位类型不能大于36")
    private String unitType;
    /** 组织机构代码/统一社会信用代码 */
    @ApiModelProperty(value = "组织机构代码/统一社会信用代码", position = 1 )
    @Length(max=50, message = "组织机构代码/统一社会信用代码不能大于50")
    private String organizationCode;
    /** 通讯地址 */
    @ApiModelProperty(value = "通讯地址", position = 1)
    @Length(max=200, message = "通讯地址不能大于200")
    private String address;
    /** 注册所在地 */
    @ApiModelProperty(value = "注册所在地", position = 1 )
    @Length(max=50, message = "注册所在地不能大于50")
    private String registeredAddress;
    /** 邮编 */
    @ApiModelProperty(value = "邮编", position = 1 )
    @Length(max=10, message = "邮编不能大于10")
    private String postCode;
    /** 法定代表人 */
    @ApiModelProperty(value = "法定代表人", position = 1 )
    @Length(max=50, message = "法定代表人不能大于50")
    private String legalPerson;

    /** 职工总数 */
    @ApiModelProperty(value = "职工总数", position = 1 )
    private Integer workforce;
    /** 其中专科以上人员 */
    @ApiModelProperty(value = "其中专科以上人员", position = 1 )
    private Integer specializedPersonnel;
    /** 研究开发人员 */
    @ApiModelProperty(value = "研究开发人员", position = 1 )
    private Integer researchPersonnel;

    /** 开户银行 */
    @ApiModelProperty(value = "开户银行", position = 1 )
    @Length(max=100, message = "开户银行不能大于100")
    private String depositBank;
    /** 银行账号 */
    @ApiModelProperty(value = "银行账号", position = 1 )
    @Length(max=50, message = "银行账号不能大于50")
    private String bankAccount;
    /** 开户银行地址 */
    @ApiModelProperty(value = "开户银行地址", position = 1 )
    @Length(max=100, message = "开户银行地址不能大于100")
    private String depositBankAddress;
    /** 银行联行号 */
    @ApiModelProperty(value = "银行联行号", position = 1 )
    @Length(max=50, message = "银行联行号不能大于50")
    private String interbankNumber;

    /** 上年度研发经费支出总额(单位:万元) */
    @ApiModelProperty(value = "上年度研发经费支出总额(单位:万元)", position = 1 )
    private BigDecimal researchTotal;
    /** 上年度是否填报了研发活动情况 0 否 1 是 */
    @ApiModelProperty(value = "上年度是否填报了研发活动情况", position = 1 )
    private Integer isResearchActive;
    /** 上一年度填报的研发投入总数(单位:万元) */
    @ApiModelProperty(value = "上一年度填报的研发投入总数(单位:万元)", position = 1 )
    private BigDecimal researchCount;
    /** 上一年度填报的研发人员数 */
    @ApiModelProperty(value = "上一年度填报的研发人员数", position = 1 )
    private Integer researchPersonCount;

    /** 项目所属二级学院/部门名称(牵头单位) */
    @ApiModelProperty(value = "项目所属二级学院/部门名称(牵头单位)", position = 1 )
    @Length(max=100, message = "项目所属二级学院/部门名称(牵头单位)不能大于100")
    private String leadUnit;
    /** 推荐部门 */
    @ApiModelProperty(value = "推荐部门", position = 1 )
    @Length(max=100, message = "推荐部门不能大于100")
    private String recommendUnit;
    /** 项目依托的科技创新基地 */
    @ApiModelProperty(value = "项目依托的科技创新基地", position = 1 )
    @Length(max=100, message = "项目依托的科技创新基地不能大于100")
    private String technologyInnovationBase;


    /** 项目总经费(万元) */
    @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 = "项目联系人姓名", position = 16)
    @Length(max=100, message = "项目联系人姓名不能大于100")
    private String linkName;
    /** 联系人手机 */
    @ApiModelProperty(value = "联系人手机", position = 16)
    @Length(max=50, message = "联系人手机不能大于50")
    private String linkMobile;
    /** 电子邮箱 */
    @ApiModelProperty(value = "电子邮箱", position = 16)
    @Length(max=100, message = "电子邮箱不能大于100")
    private String linkEmail;

    /** 项目摘要 */
    @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 = 13 )
    @Length(max=2147483647, message = "主要研究内容和意义不能大于2147483647")
    private String projContent;
    /** 项目现有工作基础和支撑条件 */
    @ApiModelProperty(value = "项目现有工作基础和支撑条件", position = 35 )
    @Length(max=2147483647, message = "项目现有工作基础和支撑条件不能大于2147483647")
    private String memResume;
    /** 与项目相关的国内外技术发展现状(包括知识产权情况)以及本项目主要研究开发内容技术关键(创新点)、可行性评价及项目风险分析与对策 */
    @ApiModelProperty(value = "与项目相关的国内外技术发展现状(包括知识产权情况)以及本项目主要研究开发内容技术关键(创新点)、可行性评价及项目风险分析与对策", position = 30 )
    @Length(max=2147483647, message = "不能大于2147483647")
    private String researchProgress;

    /** 项目实施目标 */
    @ApiModelProperty(value = "项目实施目标", position = 28 )
    @Length(max=2147483647, message = "项目实施目标不能大于2147483647")
    private String researchContent;
    /** 主要技术指标 */
    @ApiModelProperty(value = "主要技术指标", position = 35 )
    @Length(max=2147483647, message = "主要技术指标不能大于2147483647")
    private String technologyTarget;
    /** 主要经济指标 */
    @ApiModelProperty(value = "主要经济指标", position = 35 )
    @Length(max=2147483647, message = "主要经济指标不能大于2147483647")
    private String economyTarget;
    /** 项目实施中形成的示范基地、中试线、生产线及其规模等 */
    @ApiModelProperty(value = "项目实施中形成的示范基地、中试线、生产线及其规模等", position = 35 )
    @Length(max=2147483647, message = "项目实施中形成的示范基地、中试线、生产线及其规模等不能大于2147483647")
    private String achievementTarget;
    /** 其他应考核的指标 */
    @ApiModelProperty(value = "其他应考核的指标", position = 35 )
    @Length(max=2147483647, message = "其他应考核的指标不能大于2147483647")
    private String otherTarget;

    /** 立项依据 */
    @ApiModelProperty(value = "立项依据", position = 27 )
    @Length(max=2147483647, message = "立项依据不能大于2147483647")
    private String projBasis;
    /** 研究思路、方法、技术路线、实验方案及可行性分析 */
    @ApiModelProperty(value = "研究思路、方法、技术路线、实验方案及可行性分析", position = 29 )
    @Length(max=2147483647, message = "研究思路、方法、技术路线、实验方案及可行性分析不能大于2147483647")
    private String researchPlan;
    /** 创新点/项目的特色和创新之处 */
    @ApiModelProperty(value = "创新点/项目的特色和创新之处", position = 31 )
    @Length(max=2147483647, message = "创新点/项目的特色和创新之处不能大于2147483647")
    private String mainFeatures;
    /** 预期研究成果 */
    @ApiModelProperty(value = "预期研究成果", position = 32 )
    @Length(max=2147483647, message = "预期研究成果不能大于2147483647")
    private String expectedResults;
    /** 申请者正在承担的其它研究项目 */
    @ApiModelProperty(value = "申请者正在承担的其它研究项目", position = 14 )
    @Length(max=1000, message = "申请者正在承担的其它研究项目1000")
    private String researchProjects;
    @ApiModelProperty(value = "报告正文", position = 36 )
    @Length(max=2147483647, message = "报告正文不能大于2147483647")
    private String projDoc;

    /** 备注 */
    @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;

    /** 注册单位类型 */
    @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 = 3)
    private String createdStr;

    /** 姓名 */
    @ApiModelProperty(value = "姓名", position = 41)
    private String appPersonName;
    /** 性别 */
    @ApiModelProperty(value = "性别", position = 3)
    private String sex;
    /** 出生年月 */
    @ApiModelProperty(value = "出生年月", position = 3)
    private String birthday;
    /** 证件号 */
    @ApiModelProperty(value = "证件号", position = 3)
    private String certId;
    /** 民族 */
    @ApiModelProperty(value = "民族", position = 3)
    private String nationName;
    /** 职称 */
    @ApiModelProperty(value = "职称", position = 3)
    private String titleName;
    /** 学位 */
    @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 List<ComProjectEquipmentDTO> equipments;
    /** 单位支出明细预算 */
    private List<ComProjectUnitPaymentDTO> unitPayment;
    /** 项目绩效目标表 */
    private ProjectKPIStatisticDTO projectKPI;

    /** 项目经费构成表   */
    private List<ComProjectFundCompositionDTO> fundCompositions;
    /** 项目课颖设置表 */
    private List<ComProjectSubDTO> projectSubList;
    /** 单位科研项目及资金管理制度表 */
    private List<ComProjectManagementRuleDTO> managementRuleList;
    /** 附件列表 */
    private List<ComFileDTO> fileList;

    /** 审核列表 */
    private List<ComProjectAuditNoteDTO> auditList;
    /** 项目安排及阶段目标 */
    private List<ComProjectStageGoalDTO> stageGoals;
    /** 成果形式 */
    // private List<ComProjectResultsDTO> results;
    private List<String> results;

}