Files
ERP/oa-backend/src/main/java/com/kaidi/oa/domain/IpSciCredArchive.java
T

144 lines
4.9 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package com.kaidi.oa.domain;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import java.time.Instant;
/**
* 知识产权部·科研信誉加分文件专项归档。
*
* 需求功能13「资料归档中心」专属 IP 分层目录:
* 归档类型覆盖「知识产权证书/授权文件、科技项目验收报告、奖励荣誉、科研人员证明、
* 高企/专精特新申报资料、标准/工法、软著/商标、论文成果」等;
* 支持申报类型标签(declType)、文件等级(creditLevel)、来源关联(patentId/projectId)
* 提供按申报要求快速筛选与打包(pack)端点。
*
* 列名均规避 SQLite 保留字(如用 ip_type 而非 type)。
*/
@Entity
@Table(name = "ip_sci_cred_archive")
public class IpSciCredArchive {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/** 文件编号(归档时自动生成,如 IP-2026-0001)。 */
@Column(name = "archive_no", unique = true)
private String archiveNo;
/** 文件名称。 */
private String title;
/**
* IP 专属归档类型(分层目录):
* 知识产权证书 / 科技项目验收报告 / 奖励荣誉 / 科研人员证明 /
* 高企申报材料 / 专精特新申报材料 / 技术标准/工法 / 软著/商标 /
* 论文成果 / 代理委托文件 / 其他.
*/
@Column(name = "ip_type")
private String ipType;
/**
* 科研信誉加分等级(用于高企/专精特新申报):
* A类 / B类 / C类 / 普通。
*/
private String creditLevel;
/**
* 适用申报类型(可多选,逗号分隔):
* 高新技术企业 / 专精特新 / 科技型中小企业 / 省重点研发计划 / 首台套 / 工程技术中心。
*/
@Column(name = "decl_type")
private String declType;
/** 关联专利/知识产权 idPatent 实体)。 */
private Long patentId;
/** 关联研发项目 idRdProject 实体)。 */
private Long projectId;
/** 文件路径/URL。 */
private String fileUrl;
/** 上传人。 */
private String uploader;
/** 归档日期(YYYY-MM-DD)。 */
private String archiveDate;
/** 有效期截止日(YYYY-MM-DD),为空表示长期有效。 */
private String validUntil;
/** 文件备注/摘要。 */
@Column(columnDefinition = "TEXT")
private String remark;
/** 状态:待审核 / 已归档 / 已失效。 */
@Column(name = "arch_status")
private String archStatus;
/** 是否已打包进某次申报包(标志位)。 */
private Boolean packed = Boolean.FALSE;
private Instant createdAt;
private Instant updatedAt;
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getArchiveNo() { return archiveNo; }
public void setArchiveNo(String archiveNo) { this.archiveNo = archiveNo; }
public String getTitle() { return title; }
public void setTitle(String title) { this.title = title; }
public String getIpType() { return ipType; }
public void setIpType(String ipType) { this.ipType = ipType; }
public String getCreditLevel() { return creditLevel; }
public void setCreditLevel(String creditLevel) { this.creditLevel = creditLevel; }
public String getDeclType() { return declType; }
public void setDeclType(String declType) { this.declType = declType; }
public Long getPatentId() { return patentId; }
public void setPatentId(Long patentId) { this.patentId = patentId; }
public Long getProjectId() { return projectId; }
public void setProjectId(Long projectId) { this.projectId = projectId; }
public String getFileUrl() { return fileUrl; }
public void setFileUrl(String fileUrl) { this.fileUrl = fileUrl; }
public String getUploader() { return uploader; }
public void setUploader(String uploader) { this.uploader = uploader; }
public String getArchiveDate() { return archiveDate; }
public void setArchiveDate(String archiveDate) { this.archiveDate = archiveDate; }
public String getValidUntil() { return validUntil; }
public void setValidUntil(String validUntil) { this.validUntil = validUntil; }
public String getRemark() { return remark; }
public void setRemark(String remark) { this.remark = remark; }
public String getArchStatus() { return archStatus; }
public void setArchStatus(String archStatus) { this.archStatus = archStatus; }
public Boolean getPacked() { return packed; }
public void setPacked(Boolean packed) { this.packed = packed; }
public Instant getCreatedAt() { return createdAt; }
public void setCreatedAt(Instant createdAt) { this.createdAt = createdAt; }
public Instant getUpdatedAt() { return updatedAt; }
public void setUpdatedAt(Instant updatedAt) { this.updatedAt = updatedAt; }
}