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

import cn.cslg.pas.common.model.dto.UploadFileDTO;
import cn.cslg.pas.domain.*;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.poi.ss.usermodel.PictureData;

import java.util.List;

/**
 * @author 沈永艺
 * @date 2022/7/1
 * @description 用于批量导入数据的工具类
 */
@Data
public class UploadParamsVO {
    /**
     * 专利
     */
    private Patent patent;
    /**
     * 法律状态
     */
    private String patentSimpleStatus;

    /**
     * 权利要求
     */
    private PatentRight patentRight;
    /**
     * 独立权要
     */
    private String selfContent;
    /**
     * 说明书（文本）
     */
    private PatentInstructionText patentInstructionText;

    /**
     * 代理人
     */
    private List<PatentAgent> patentAgentList;

    /**
     * 质押质权人
     */
    private List<PatentPledge> patentPledgeList;

    /**
     * 许可人
     */
    private List<PatentLicensor> patentLicensorList;

    /**
     * 简单同族
     */
    private List<String> simpleFamily;
    private List<String> patSnapFamily;
    private List<String> inpadocFamily;

    /**
     * 发明人
     */
    private List<PatentInventor> patentInventorList;
    private String firstName;
    private String firstAddress;

    /**
     * 申请人
     */
    private List<PatentApplicant> patentApplicantList;
    //权利人
    private List<String> patentApplicantCurrentName;
    private List<String> patentApplicantStandardCurrentName;
    //申请人
    private List<String> patentApplicantOriginalName;
    private List<String> patentApplicantStandardOriginalName;
    //权利人地址
    private List<String> patentApplicantCurrentAddress;
    private List<String> patentApplicantCurrentCountry;
    private String patentApplicantCurrentFirstAddress;
    //申请人地址
    private List<String> patentApplicantOriginalAddress;
    private List<String> patentApplicantOriginalCountry;

    /**
     * 标签
     */
    private List<PatentLabel> patentLabelList;

    /**
     * 分类号关联
     */
    private String mainUpc;
    private String mainIpc;
    private List<String> cpcList;
    private List<String> locList;
    private List<String> upcList;
    private List<String> ipcList;

    /**
     * 事务信息
     */
    private PatentAffair patentAffair;
    private String simpleStatus;

    /**
     * 自定义字段
     */
    private List<Field> customerFieldList;

    @Data
    @Accessors(chain = true)
    public static class Field {
        private String key;
        private List<String> fieldList;
    }

    /**
     * 专利摘要附图
     */
    private PictureData pictureData;

    /**
     * 文件（说明书pdf/摘要附图）
     */
    private UploadFileDTO fileDTO;


}
