package com.dsk.common.dtos;

import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 组合查询参数
 * @author Administrator
 *
 */
@Data
public class AchievementQueryDto {

	/**
	 * 业绩所需参数
	 */
//	//中标面积
//	Double tenderArea;
//	//许可面积
//	Double licenceArea;
//	//竣工面积
//	Double completionArea;
	//招投标面积
	Double startTenderArea;
	Double endTenderArea;
	//施工许可面积
	Double startLicenceArea;
	Double endLicenceArea;
	//竣工验收面积
	Double startCheckArea;
	Double endCheckArea;
	//竣工验收备案面积
	Double startCompletionArea;
	Double endCompletionArea;
	//总面积
	Double startTotalArea;
	Double endTotalArea;
	//面积体现节点
	String areaStr;
	//项目面积同时具备、任意均可 and/or
	String areaQueryType;
	//许可金额
	Double licenceMoney;
	//中标金额
	Double startTenderMoney;
	Double endTenderMoney;
	//合同金额
	Double startContractMoney;
	Double endContractMoney;
	//施工许可金额
	Double startLicenceMoney;
	Double endLicenceMoney;
	//竣工验收实际造价
	Double startCompletionMoney;
	Double endCompletionMoney;
	//竣工备案实际造价
	Double startCheckMoney;
	Double endCheckMoney;
	//总投资
	Double startInvest;
	Double endInvest;
	//项目金额同时具备、任意均可
	String moneyQueryType;
	//金额和面积同时具备、任意均可
	String moneyAndAreaQueryType;
	//业绩时间同时具备、任意均可
	String timeQueryType;

	String eid;

	String buildCorpName;

	String personName;

	String ename;
	// 项目来源 0=本地 1=四库一平台
	Integer source;
	
	Double startMoney;
	
	Double endMoney;
	//金额体现节点
	String moneyStr;
	// 关键词(包含)
	List<KeywordDto> keywords;
	// 关键词(不包含)
	String keywordNot;
	// 关键词(不包含)查询类型 project项目名称  scale建设规模  projectOrScale项目名称或建设规模
	String keywordNotType;
	// 业绩类型
	String achievementType;

	//单项查询 关键词包含
	String singleKeywordIn;
	//单项查询 关键词不包含
	String singleKeywordOut;
	//单项查询 关键词包含体现节点
	String singleKeywordInNode;
	//单项查询 关键词不包含体现节点
	String singleKeywordOutNode;
	//是否截图体现公司和规模  yes   no
	Boolean isSingleReflect;

	//建设性质
	String nature;
	// 项目属地
	String divisionStr;
	//项目所在城市
	String cityStr;

	String province;
	Integer provinceId;
	String city;
	Integer cityId;
	String county;
	Integer countyId;

	Double startArea;
	
	Double endArea;
	//项目类别
	String projectType;
	// 工程用途
	String purposeStr;
	// 中标开始时间
	Date startTenderTime;
	// 中标结束时间
	Date endTenderTime;
	// 实际竣工开始日期
	Date startCheckDate;
	// 实际竣工结束日期
	Date endCheckDate;
	//竣工备案时间未公示
	String hasCheckDate;
	//实际开工开始日期
	Date startWorkDate;
	//实际开工结束日期
	Date endWorkDate;
	//合同日期开始
	Date startContractDate;
	//合同日期结束
	Date endContractDate;
	//施工许可开始日期
	Date startLicenceDate;
	//施工许可结束日期
	Date endLicenceDate;
	//施工图审开始日期
	Date startCensorDate;
	//施工图审结束日期
	Date endCensorDate;
	//竣工验收开始日期
	Date startCheckCheckDate;
	//竣工验收结束日期
	Date endCheckCheckDate;
	//竣工验收时间未公示
	String hasCheckCheckDate;
	// 业绩属性
	String attributeStr;
	// 业绩属性
	String attributeQueryType;
	// 项目经理
	String pmStr;
	// 项目经理同时具备、任意均可
	String pmQueryType;
	// 结构体系
	String structure;
	// 数据等级
	String dataLevel;
	//招投标数据等级
	String tenderDataLevel;
	//合同登记
	String contractDataLevel;
	//施工许可
	String licenceDataLevel;
	//竣工验收备案
	String completionDataLevel;
	//项目主体
	String projectDataLevel;
	//施工图审
	String censorDataLevel;
	//竣工验收
	String checkDataLevel;
	// 数据等级查询节点
	String dataLevelStr;
	// 数据等级查询方式  同时具备  任意均可
	String dataLevelQueryType;
	// 资金来源
	String fundSource;
	
	Double startLength;
	
	Double endLength;
	//施工许可
	Double startLicenceLength;
	Double endLicenceLength;
	//竣工验收
	Double startCheckCompletionLength;
	Double endCheckCompletionLength;
	//竣工验收备案
	Double startCompletionLength;
	Double endCompletionLength;
	//长度体现节点
	String lengthNode;
	//长度筛选类型 or/and
	String lengthType;

	Double startSpan;
	
	Double endSpan;
	//施工许可
	Double startLicenceSpan;
	Double endLicenceSpan;
	//竣工验收
	Double startCheckCompletionSpan;
	Double endCheckCompletionSpan;
	//竣工验收备案
	Double startCompletionSpan;
	Double endCompletionSpan;
	//跨度体现节点
	String spanNode;
	//跨度筛选类型 or/and
	String spanType;

	Integer achievementCount;

	String type;

	String tenderWay;

	String md5Company;
	// 企业业绩关键词
	String keyword;
	// 企业项目详情的中标开始时间  时间戳
	Long startTenderDetailTime;
	// 企业项目详情的中标结束时间  时间戳
	Long endTenderDetailTime;

	List<SkyProjectIndexDto> indexDtos;

	//指标筛选类型 or/and
	String indexQueryType;
	//指标体现节点
	String indexPoint;
}
