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

import lombok.Data;

import java.util.List;

@Data
public class PatentVO extends BaseVO {
    private Integer patentId;
    private Boolean selectId;
    private Integer projectId;
    private String read;
    private String folder;
    private String name;
    private String nameSql;
    private String abstractStr;
    private String abstractStrSql;
    private String publicNo;
    private String publicNoSql;
    private String applicationNo;
    private String applicationNoSql;
    private String rightContent;
    private String rightContentSql;
    private List<Field> field;
    private List<Field> selfField;
    private List<Integer> selected;
    private Integer startNumber;
    private Integer endNumber;
    private Boolean queryApplicantCurrent;
    private List<String> whereApplicantCurrent;
    private Boolean queryApplicantCurrentMerge;
    private List<String> whereApplicantCurrentMerge;
    private Boolean queryApplicantCurrentStandard;
    private List<String> whereApplicantCurrentStandard;
    private Boolean queryApplicantOriginal;
    private List<String> whereApplicantOriginal;
    private Boolean queryApplicantOriginalMerge;
    private List<String> whereApplicantOriginalMerge;
    private Boolean queryApplicantOriginalStandard;
    private List<String> whereApplicantOriginalStandard;
    private Boolean queryApplicantAddress;
    private Boolean queryClassNumberIpc;
    private Integer queryClassNumberIpcMethod;
    private List<String> whereClassNumberIpc;
    private Boolean queryClassNumberCpc;
    private Integer queryClassNumberCpcMethod;
    private List<String> whereClassNumberCpc;
    private Boolean queryClassNumberUpc;
    private Integer queryClassNumberUpcMethod;
    private List<String> whereClassNumberUpc;
    private Boolean queryClassNumberLoc;
    private Integer queryClassNumberLocMethod;
    private List<String> whereClassNumberLoc;
    private Boolean queryLabel;
    private List<String> whereLabel;
    private Boolean queryInventor;
    private Boolean queryInventorMerge;
    private List<String> whereInventor;
    private List<String> whereInventorMerge;
    private Boolean queryAffair;
    private String whereAffair;
    private Boolean queryFieldMultiple;
    private List<String> whereFieldMultiple;
    private Boolean whereFieldMultipleNull;
    private Boolean queryFieldText;
    private List<String> whereFieldText;
    private Boolean whereFieldTextNull;
    private List<String> customIds;
    private Boolean queryTreeType0;
    private Boolean queryTreeType1;
    private List<String> whereTreeType0;
    private List<String> whereTreeType1;
    private Boolean queryBureau;
    private List<String> whereBureau;
    private Boolean queryType;
    private List<String> whereType;
    private Boolean queryStatus;
    private List<String> whereStatus;
    private Boolean queryAppDate;
    private List<String> whereAppDate;
    private Boolean queryPublicDate;
    private List<String> wherePublicDate;
    private Boolean queryCountry;
    private List<String> whereCountry;
    private Boolean queryApplicantProvince;
    private List<String> whereApplicantProvince;
    private Sort sort;
    private Integer family;
    private Boolean querySimpleFamily;
    private Boolean queryInpadocFamily;
    private Boolean queryPatSnapFamily;
    private List<Integer> importTaskId;
    private List<String> patentNos;
    private String patentNo;
    private List<String> notInPatentNos;
    private Integer sizeCount;
    private List<Integer> cids;

    @Data
    public static class Sort {
        private String order;
        private String prop;
    }

    @Data
    public static class Field {
        private List<String> value;
        private String key;
        private String type;
        private Integer classId;
        private  Boolean isNull;
        private List<String>  notInIds ;
    }

    @Data
    public static class Tree {
        private String key;
        private List<String> node;

    }
}
