package cn.cslg.pas.common.model.dto;

import cn.cslg.pas.domain.*;
import lombok.Data;

import java.util.List;

@Data
public class PatentDTO {
    private Integer id;
    private List<PatentLabel> label;
    private List<PatentApplicant> applicant;
    private List<PatentInventor> inventor;
    private PatentAgency agency;
    private List<PatentAgent> agent;
    private List<PatentAffair> affair;
    private List<Field> field;
    private Integer read;
    private List<String> ipcList;
    private List<String> cpcList;
    private List<String> upcList;
    private List<String> locList;
    private List<PatentImage> image;
    private List<PatentInstruction> pdf;
    private Integer simpleFamily;
    private Integer inpadocFamily;
    private Integer patSnapFamily;
    private PatentFamily family;
    private List<PatentRight> rights;
    private PatentInstructionText instruction;
    private List<String> priorityCountry;
    /**
     * 结果集（专利之星检索接口返回同族专利的接口使用）
     */
    private Object familyPatentResult;

    @Data
    public static class PatentFamily {
        private List<String> simple;
        private List<String> inpadoc;
        private List<String> patSnap;
    }

    @Data
    public static class Field {
        private Integer id;
        private Integer type;
        private String name;
        private List<String> selected;
    }

    /**
     * 专利名称(标题)
     */
    private String name;

    /**
     * 专利名称(标题)（译）
     */
    private String nameOut;

    /**
     * 专利号
     */
    private String patentNo;

    /**
     * 摘要
     */
    private String abstractStr;

    /**
     * 摘要(译)
     */
    private String abstractOut;

    /**
     * 申请号
     */
    private String applicationNo;

    /**
     * 申请日
     */
    private String applicationDate;

    /**
     * 公开号
     */
    private String publicNo;

    /**
     * 公开日
     */
    private String publicDate;

    /**
     * 首次公开日
     */
    private String firstPublicDate;

    /**
     * 公开授权号
     */
    private String publicAccreditNo;

    /**
     * 公开授权日
     */
    private String publicAccreditDate;

    /**
     * 受理局
     */
    private String bureau;

    /**
     * IPC国际分类号(主)
     */
    private String ipc;

    /**
     * CPC国际分类号(主)
     */
    private String cpc;

    /**
     * UPC国际分类号(主)
     */
    private String upc;

    /**
     * LOC国际分类号(主)
     */
    private String loc;

    /**
     * 专利状态【有权、审中、无权、PCT状态】
     */
    private String simpleStatus;
    /**
     * 专利状态【有权、审中、无权、PCT状态】
     */
    private Integer simpleStatusInt;
    /**
     * 专利类型【发明、新型、外观】
     */
    private String type;

    /**
     * 授权文档名称
     */
    private String authDocName;

    /**
     * 授权文档文件地址
     */
    private String authDocUrl;

    /**
     * 公开文档名称
     */
    private String publicDocName;

    /**
     * 公开文档文件地址
     */
    private String publicDocUrl;

    /**
     * 文献代码
     */
    private String code;

    /**
     * 说明书
     */
    private String manual;

    /**
     * 说明书(译)
     */
    private String manualOut;

    /**
     * 文献页数
     */
    private Integer docPage;

    /**
     * 发明人数量
     */
    private Integer inventorNum;

    /**
     * 主权项数量
     */
    private Integer mainRightNum;

    /**
     * 权利要求数量
     */
    private Integer rightNum;

    /**
     * 权利要求
     */
    private String rightContent;

    /**
     * 独立权力要求
     */
    private String selfRightContent;

    /**
     * 权利要求(译)
     */
    private String rightContentOut;

    /**
     * 优先权号
     */
    private String priorityNo;

    /**
     * 优先权日
     */
    private String priorityDate;

    /**
     * 简单同族数量
     */
    private Integer simpleFamilyNum;

    /**
     * INPADOC同族数量
     */
    private Integer inpadocFamilyNum;

    private Integer patSnapFamilyNum;

    /**
     * 引用专利数量
     */
    private Integer quoteNum;

    /**
     * 被引用次数
     */
    private Integer quotedNum;

    /**
     * 3年内被引用次数
     */
    private Integer quotedNum3;

    /**
     * 5年内被引用次数
     */
    private Integer quotedNum5;

    /**
     * 非专利引用文献数量
     */
    private Integer notPatentQuoteNum;

    /**
     * WO国家阶段
     */
    private String wo;

    /**
     * 代理机构ID
     */
    private String agencyId;

    /**
     * 代理人ID
     */
    private String agentId;

    /**
     * 审查员
     */
    private String examiner;

    /**
     * 助理审查员
     */
    private String aidExaminer;

    /**
     * 引用专利
     */
    private String quote;

    /**
     * 被引用专利
     */
    private String quoted;

    /**
     * 非专利引用文献
     */
    private String notPatentQuote;

    /**
     * 摘要附图
     */
    private String abstractPath;

    /**
     * 当前第一申请人
     */
    private String firstApplicant;

    /**
     * 当前第一申请人地址
     */
    private String firstApplicantAddress;

    /**
     * 申请人数量
     */
    private Integer applicantNum;

    /**
     * 第一发明人
     */
    private String firstInventor;

    /**
     * 第一发明人地址
     */
    private String firstInventorAddress;

    private Integer selfRightContentNum;

    /**
     * 简单同族
     */
    private String simpleFamilyStr;

    /**
     * INPADOC同族
     */
    private String inpadocFamilyStr;

    /**
     * EP指定国状态
     */
    private String epStatus;



}
