package com.sagacloud.utils.objects;
/*
 * Author: Jxing
 * Create Time: 2017/9/23
 */

import com.alibaba.fastjson.*;

import java.util.Set;

public class CommonQueryCriteria {
    private Boolean nodata;
    private Boolean reference ;
    // 自定义信息点使用
    private boolean customInfo; // 是否显示自定义信息点.
    // end.
    // 厂商信息点, 数据平台自己给资产定义的信息点, 只有在venderInfo = true 的时候才能操作以下信息点
    // 生产厂家ID  --> DPManufacturerID
    // 设备型号ID  --> DPSpecificationID
    // 供应商ID    --> DPSupplierID
    // 保险公司ID  --> DPInsurerID
    // 维修商ID    --> DPMaintainerID
    private boolean venderInfo;

    private Long count;  // 用作方法返回
    private Boolean valid ;
    private JSONObject ctime;
    // 分页使用
    private Long skip;
    private Integer skip_count;
    private Long skip_totalCount; // 用作方法返回
    // end.
    private boolean syncInfos;  //是否同步信息点
    private boolean coverInfos; // 是否覆盖信息点
    private boolean linkInfos; // 表示是否查询资产关联的岗位信息点, true表示返回, false表示不返回, 默认true. 反之亦然. 只在查询资产或岗位时有效
    private boolean historyInfos; //  是否获取历史信息点, true是获取, false 是不获取, 默认false
    private boolean noInfo;      // 表示是否获取信息点, true是不获取, false是获取, 默认false

    // filter 参数
    private boolean isFilter;  // 是否按照信息点过滤数据
    private String filterInfoCode;  // 过滤的信息点编码
    private Object filterValue;     // 过滤的信息点值   规则是字符串模糊匹配, 其他类型直接匹配

    // returnInfos 过滤返回的信息点
    private boolean isFilterReturnInfos;
    private Set<String> returnInfos;

    // directOnly 当过滤资产的时候, 是否只返回直接在Pj|Bd下的资产
    private boolean directOnly;
    private String directOnlyId;

    private boolean skipErrorInfo;
    
    // 业务标签编码集合
    private Set<String> businessTags;
    
    public Set<String> getBusinessTags() {
		return businessTags;
	}

	public void setBusinessTags(Set<String> businessTags) {
		this.businessTags = businessTags;
	}

	public CommonQueryCriteria() {
        // 参数默认值
        this.skip = null;
        this.skip_count = null;
        skip_totalCount = null;
        nodata = false;
        count = 0L;
        valid = true;
        ctime = null;
        customInfo = false;
        reference = false;
        syncInfos = false;
        coverInfos = false;
        linkInfos = true;
        historyInfos = false;
        venderInfo = true;
        isFilter = false;
        noInfo = false;
        isFilterReturnInfos = false;
        returnInfos = null;
        directOnly = false;
        skipErrorInfo = false;
    }

    public boolean isSkipErrorInfo() {
        return skipErrorInfo;
    }

    public void setSkipErrorInfo(boolean skipErrorInfo) {
        this.skipErrorInfo = skipErrorInfo;
    }

    public String getDirectOnlyId() {
        return directOnlyId;
    }

    public void setDirectOnlyId(String directOnlyId) {
        this.directOnlyId = directOnlyId;
    }

    public boolean isDirectOnly() {
        return directOnly;
    }

    public void setDirectOnly(boolean directOnly) {
        this.directOnly = directOnly;
    }

    public boolean isFilterReturnInfos() {
        return isFilterReturnInfos;
    }

    public void setFilterReturnInfos(boolean filterReturnInfos) {
        isFilterReturnInfos = filterReturnInfos;
    }

    public Set<String> getReturnInfos() {
        return returnInfos;
    }

    public void setReturnInfos(Set<String> returnInfos) {
        this.returnInfos = returnInfos;
    }

    public boolean isNoInfo() {
        return noInfo;
    }

    public void setNoInfo(boolean noInfo) {
        this.noInfo = noInfo;
    }

    public boolean isFilter() {
        return isFilter;
    }

    public void setFilter(boolean filter) {
        isFilter = filter;
    }

    public String getFilterInfoCode() {
        return filterInfoCode;
    }

    public void setFilterInfoCode(String filterInfoCode) {
        this.filterInfoCode = filterInfoCode;
    }

    public Object getFilterValue() {
        return filterValue;
    }

    public void setFilterValue(Object filterValue) {
        this.filterValue = filterValue;
    }

    public boolean isVenderInfo() {
        return venderInfo;
    }

    public void setVenderInfo(boolean venderInfo) {
        this.venderInfo = venderInfo;
    }

    public boolean isHistoryInfos() {
        return historyInfos;
    }

    public void setHistoryInfos(boolean historyInfos) {
        this.historyInfos = historyInfos;
    }

    public boolean isLinkInfos() {
        return linkInfos;
    }

    public void setLinkInfos(boolean linkInfos) {
        this.linkInfos = linkInfos;
    }

    public boolean isSyncInfos() {
        return syncInfos;
    }

    public void setSyncInfos(boolean syncInfos) {
        this.syncInfos = syncInfos;
    }

    public boolean isCoverInfos() {
        return coverInfos;
    }

    public void setCoverInfos(boolean coverInfos) {
        this.coverInfos = coverInfos;
    }

    public Boolean getReference() {
        return reference;
    }

    public void setReference(Boolean reference) {
        this.reference = reference;
    }

    public void setSkip(Long skip) {
        this.skip = skip;
    }

    public void setSkip_count(Integer skip_count) {
        this.skip_count = skip_count;
    }

    public boolean isCustomInfo() {
        return customInfo;
    }

    public void setCustomInfo(boolean customInfo) {
        this.customInfo = customInfo;
    }

    public Long getSkip() {
        return skip;
    }

    public Integer getSkip_count() {
        return skip_count;
    }

    public void setNodata(Boolean nodata) {
        this.nodata = nodata;
    }

    public void setCount(Long count) {
        this.count = count;
    }

    public void setValid(Boolean valid) {
        this.valid = valid;
    }

    public void setCtime(JSONObject ctime) {
        this.ctime = ctime;
    }

    public Boolean getNodata() {
        return nodata;
    }

    public Long getCount() {
        return count;
    }

    public Boolean getValid() {
        return valid;
    }

    public JSONObject getCtime() {
        return ctime;
    }
    public void setSkip_totalCount(Long skip_totalCount) {
        this.skip_totalCount = skip_totalCount;
    }

    public Long getSkip_totalCount() {
        return skip_totalCount;
    }
}
