import request from "@/api/request.js";

// 实体清单-制裁概况-获取实体清单基本信息
export function getEntityInfo(id) {
	return request({
		method: "GET",
		url: `/api/sanctionList/baseInfoById/${id}`
	});
}

// 实体清单-制裁概况-获取发布机构与重点人物
/**
 * @param {sanTypeId}
 * @header token
 */
export function getPublishInfo(params) {
	return request({
		method: "GET",
		url: `/api/sanctionList/getPublishedOrg`,
		params
	});
}

// 实体清单-制裁概况-获取发布机构机构动态
/**
 * @param {Object} data
 * @param {string} data.orgId
 * @header token
 */
export function getPublishOrgInfo(data) {
	return request({
		method: "POST",
		url: `/api/organization/relate/news`,
		data
	});
}

// 实体清单-制裁概况-获取实体清单更新历史
/**
 * @param {Object} data
 * @param {string} [data.typeName="实体清单"] - 类型名称
 * @param {boolean} [data.isCn=false] - 是否只看中国实体
 * @param {number[]} [data.techDomainIds] - 科技领域ID列表
 * @param {number} [data.pageNum=1] - 页码
 * @param {number} [data.pageSize=10] - 每页数量
 * @header token
 */
export function getEntityUpdateInfo(data) {
	return request({
		method: "POST",
		url: `/api/entitiesDataCount/getSanctionProcess`,
		data
	});
}

/**
 * 实体清单列表-制裁概况-获取实体清单列表
 * @param {Object} data
 * @param {string} [data.typeName="实体清单"] - 类型名称
 * @param {boolean} [data.isCn=true] - 是否只看中国实体
 * @param {string[]} [data.techDomains] - 科技领域ID列表
 * @param {number[]} [data.years] - 制裁年份列表
 * @param {string} [data.startDate] - 开始时间
 * @param {string} [data.endDate] - 结束时间
 * @param {string} [data.keyword] - 搜索字段
 * @param {number[]} [data.entityTypes] - 实体类型(2:科研院所；3：高校；4:企业)
 * @param {number} [data.pageNum=1] - 页码
 * @param {number} [data.pageSize=10] - 每页数量
 */
export function getExportControlList(data, options = {}) {
	return request({
		method: "POST",
		url: "/api/sanctionList/pageQuery",
		data,
		...options
	});
}

// 实体清单-制裁概况-50%规则涉及实体数
/**
 * @param {Object} data
 * @param {string} [data.typeName="实体清单"] - 类型名称
 * @param {boolean} [data.isCn=true] - 是否只看中国实体
 * @param {string[]} [data.techDomains] - 科技领域ID列表
 * @param {number[]} [data.years] - 制裁年份列表
 * @param {string} [data.startDate] - 开始时间
 * @param {string} [data.endDate] - 结束时间
 * @param {string} [data.keyword] - 搜索字段
 * @param {number[]} [data.entityTypes] - 实体类型(2:科研院所；3：高校；4:企业)
 * @header token
 */
export function get50PercentEntityCount(data) {
	return request({
		method: "POST",
		url: `/api/sanctionList/getRuleCount`,
		data
	});
}

// 实体清单-数据统计-总量统计
export function getTotalCount(id) {
	return request({
		method: "GET",
		url: `/api/sanctionList/statistics/total?sanTypeId=${id}`
	});
}

// 实体清单-数据统计-制裁实体数量变化情况
/**
 * @param {countType}
 * @header token
 */
export function getSanctionCountChange(params) {
	return request({
		method: "GET",
		url: `/api/sanctionList/statistics/num`,
		params
	});
}

// 实体清单-数据统计-制裁实体地域分布情况
/**
 * @param {Object} params
 * @param {string} [params.startDate] - 开始时间
 * @param {string} [params.endDate] - 结束时间
 * @header token
 */
export function getRegionCount(params) {
	return request({
		method: "GET",
		url: `/api/sanctionList/statistics/region`,
		params
	});
}

// 实体清单-数据统计-制裁实体领域分布情况
/**
 * @param {Object} params
 * @param {string} [params.startDate] - 开始时间
 * @param {string} [params.endDate] - 结束时间
 * @header token
 */
export function getTechDomainCount(params) {
	return request({
		method: "GET",
		url: `/api/sanctionList/statistics/domain`,
		params
	});
}

// 实体清单-数据统计-制裁实体类型分布情况
/**
 * @param {Object} params
 * @param {string} [params.startDate] - 开始时间
 * @param {string} [params.endDate] - 结束时间
 * @header token
 */
export function getEntityTypeCount(params) {
	return request({
		method: "GET",
		url: `/api/sanctionList/statistics/entityType`,
		params
	});
}

// 实体清单-深度挖掘-选择制裁
/**
 * @param {Object} data
 * @param {string} [data.startDate] - 开始时间
 * @param {string} [data.endDate] - 结束时间
 * @param {string} [data.typeName="实体清单"] - 类型名称
 * @param {number} [data.pageNum=1] - 页码
 * @param {number} [data.pageSize=10] - 每页数量
 * @header token
 */
export function getDeepMiningSelect(data) {
	return request({
		method: "POST",
		url: `/api/entitiesDataCount/getSanctionProcess`,
		data
	});
}

// 实体清单-深度挖掘-产业链列表信息
/**
 * @param {Object} params
 * @header token
 */
export function getDeepMiningIndustry(params) {
	return request({
		method: "GET",
		url: `/api/chain/getChainInfo`,
		params
	});
}

// 实体清单-深度挖掘-产业链鱼骨图信息
/**
 * @param {Object} params
 * @param {number} params.chainId - 产业链ID
 * @param {string} [params.date] - 日期
 * @header token
 */
export function getDeepMiningIndustryFishbone(params) {
	return request({
		method: "GET",
		url: `/api/chain/getChainFishbone`,
		params
	});
}

// 实体清单-深度挖掘-产业链中国企业实体信息查询
/**
 * @param {Object} params
 * @param {number} params.chainId - 产业链ID
 * @param {string} [params.date] - 日期
 * @header token
 */
export function getDeepMiningIndustryEntity(params) {
	return request({
		method: "GET",
		url: `/api/chain/getChainEntityStat`,
		params
	});
}

// 单次制裁-制裁概况-基本信息
/**
 * @param {Object} params
 * @param {string} params.sanRecordId - 制裁记录ID
 * @header token
 */
export function getSingleSanctionOverview(params) {
	return request({
		method: "GET",
		url: `/api/sanctionList/record/getDetail`,
		params
	});
}

// 单次制裁-制裁概况-制裁实体国家分布
/**
 * @param {Object} params
 * @param {string} params.sanRecordId - 制裁记录ID
 * @header token
 */
export function getSingleSanctionEntityCountry(params) {
	return request({
		method: "GET",
		url: `/api/sanctionList/statistics/countryRegion`,
		params
	});
}

// 单次制裁-制裁概况-制裁背景
/**
 * @param {Object} data
 * @param {string} data.sanRecordId - 制裁记录ID
 * @param {number} [data.pageNum=1] - 页码
 * @param {number} [data.pageSize=3] - 每页数量
 * @header token
 */
export function getSingleSanctionBackground(data) {
	return request({
		method: "POST",
		url: `/api/sanctionList/record/background`,
		data
	});
}

// 单次制裁-制裁概况-制裁清单
/**
 * @param {Object} data
 * @param {Integer} data.sanRecordId - 制裁记录ID
 * @param {Boolean} [data.isOnlyCn=true] - 是否仅查询中国数据
 * @param {String} [data.domainId] - 科技领域ID
 * @param {String} [data.searchText] - 搜索文本
 * @param {String} [data.searchType] - 搜索类型
 * @header token
 */
export function getSingleSanctionOverviewList(data) {
	return request({
		method: "POST",
		url: `/api/sanctionList/record/sanList`,
		data
	});
}

// 单次制裁-数据统计-总量统计
/**
 * @param {Object} params
 * @param {string} params.sanRecordId - 制裁记录ID
 * @header token
 */
export function getSingleSanctionTotalCount(sanTypeId, recordId) {
	return request({
		method: "GET",
		url: `/api/sanctionList/statistics/total?sanTypeId=${sanTypeId}&sanRecordId=${recordId}`,
	});
}

// 单次制裁-数据统计-制裁实体领域分布情况
/**
 * @param {Object} params
 * @param {string} params.sanRecordId - 制裁记录ID
 * @param {string} [params.startDate] - 开始时间
 * @param {string} [params.endDate] - 结束时间
 * @header token
 */
export function getSingleSanctionDomainCount(params) {
	return request({
		method: "GET",
		url: `/api/sanctionList/statistics/domain`,
		params
	});
}

// 单次制裁-数据统计-制裁实体类型分布情况
/**
 * @param {Object} params
 * @param {string} params.sanRecordId - 制裁记录ID
 * @param {string} [params.startDate] - 开始时间
 * @param {string} [params.endDate] - 结束时间
 * @header token
 */
export function getSingleSanctionEntityTypeCount(params) {
	return request({
		method: "GET",
		url: `/api/sanctionList/statistics/entityType`,
		params
	});
}

// 单次制裁-数据统计-制裁实体国家分布
/**
 * @param {Object} params
 * @param {string} params.sanRecordId - 制裁记录ID
 * @header token
 */
export function getSingleSanctionEntityCountryCount(params) {
	return request({
		method: "GET",
		url: `/api/sanctionList/statistics/countryRegion`,
		params
	});
}

// 单次制裁-数据统计-制裁实体地域分布情况
/**
 * @param {Object} params
 * @param {string} params.sanRecordId - 制裁记录ID
 * @param {string} [params.startDate] - 开始时间
 * @param {string} [params.endDate] - 结束时间
 * @header token
 */
export function getSingleSanctionEntityRegionCount(params) {
	return request({
		method: "GET",
		url: `/api/sanctionList/statistics/region`,
		params
	});
}

// 单次制裁-深度挖掘-本次制裁实体清单列表
/**
 * @param {Object} params
 * @param {Integer} data.sanRecordId - 制裁记录ID
 * @param {Boolean} [data.isOnlyCn=true] - 是否仅查询中国数据
 * @param {String} [data.domainId] - 科技领域ID
 * @param {String} [data.searchText] - 搜索文本
 * @header token
 */
export function getSingleSanctionEntityList(data) {
	return request({
		method: "POST",
		url: `/api/sanctionList/record/sanListByType`,
		data
	});
}

// 单次制裁-深度挖掘-制裁实体供应链信息
/**
 * @param {Object} params
 * @param {Integer} params.orgId - 组织ID
 * @header token
 */
export function getSingleSanctionEntitySupplyChain(params) {
	return request({
		method: "GET",
		url: `/api/organization/supplyChain`,
		params
	});
}

// 单次制裁-深度挖掘-制裁实体信息
export function getSingleSanctionEntityInfo(id) {
	return request({
		method: "GET",
		url: `/api/organization/sanInfo?orgId=${id}`,
	});
}

// 单次制裁-深度挖掘-制裁实体股权信息
/**
 * @param {Object} params
 * @param {Integer} params.orgId - 组织ID
 * @param {Boolean} params.rule - 是否遵循规则
 * @header token
 */
export function getSingleSanctionEntityEquity(params) {
	return request({
		method: "GET",
		url: `/api/organization/shareholding`,
		params
	});
}

// 单次制裁-影响分析-企业规模-营收
/**
 * @param {Object} params
 * @param {Integer} params.id - 机构ID
 * @header token
 */
export function getSingleSanctionEntityRevenue(params) {
	return request({
		method: "GET",
		url: `/api/organization/scale/revenue`,
		params
	});
}

// 单次制裁-影响分析-企业规模-净利润
/**
 * @param {Object} params
 * @param {Integer} params.id - 机构ID
 * @header token
 */
export function getSingleSanctionEntityNetProfit(params) {
	return request({
		method: "GET",
		url: `/api/organization/scale/netProfit`,
		params
	});
}

// 单次制裁-影响分析-企业规模-人员
/**
 * @param {Object} params
 * @param {Integer} params.id - 机构ID
 * @header token
 */
export function getSingleSanctionEntityPersonnel(params) {
	return request({
		method: "GET",
		url: `/api/organization/scale/personnel`,
		params
	});
}

// 单次制裁-影响分析-企业市值变化
/**
 * @param {Object} params
 * @param {Integer} params.id - 机构ID
 * @header token
 */
export function getSingleSanctionEntityMarketValue(params) {
	return request({
		method: "GET",
		url: `/api/organization/marketValue`,
		params
	});
}

// 单次制裁-影响分析-企业研发投入
/**
 * @param {Object} params
 * @param {Integer} params.id - 机构ID
 * @header token
 */
export function getSingleSanctionEntityRDInvestment(params) {
	return request({
		method: "GET",
		url: `/api/organization/rdInvestment`,
		params
	});
}

// 单次制裁-影响分析-企业市场占比
/**
 * @param {Object} params
 * @param {Integer} params.id - 机构ID
 * @header token
 */
export function getSingleSanctionEntityMarketShare(params) {
	return request({
		method: "GET",
		url: `/api/organization/marketShare`,
		params
	});
}

// 单次制裁-影响分析-科研仪器对美依赖情况
/**
 * @param {Object} params
 * @param {Integer} params.id - 机构ID
 * @header token
 */
export function getSingleSanctionEntityRDInstrumentDependency(params) {
	return request({
		method: "GET",
		url: `/api/organization/instrument/getDependencyUS`,
		params
	});
}

// 单次制裁-影响分析-科研仪器进口国分布
/**
 * @param {Object} params
 * @param {Integer} params.id - 机构ID
 * @header token
 */
export function getSingleSanctionEntityRDInstrumentImportCountry(params) {
	return request({
		method: "GET",
		url: `/api/organization/instrument/getOriginCount`,
		params
	});
}

// 单次制裁-影响分析-新增国际合作项目
/**
 * @param {Object} params
 * @param {Integer} params.id - 机构ID
 * @param {String} params.domainId - 科技领域ID
 * @header token
 */
export function getSingleSanctionEntityInternationalCooperation(params) {
	return request({
		method: "GET",
		url: `/api/organization/project/icCount`,
		params
	});
}

// 单次制裁-影响分析-新增国际合作论文
/**
 * @param {Object} params
 * @param {Integer} params.id - 机构ID
 * @param {String} params.domainId - 科技领域ID
 * @header token
 */
export function getSingleSanctionEntityInternationalPaper(params) {
	return request({
		method: "GET",
		url: `/api/organization/paper/icCount`,
		params
	});
}

// 商业管制清单-CCL清单简介-基本信息
export function getCCLInfo(sanTypeId = 13) {
	return request({
		method: "GET",
		url: `/api/sanctionList/baseInfoById/${sanTypeId}`
	});
}

// 商业管制清单-CCL清单简介-出口管制分类编码
export function getECCN() {
	return request({
		method: "GET",
		url: `/api/ccl/eccn`
	});
}

// 商业管制清单-CCL清单简介-出口管制分类编码信息列表
/**
 * @param {Object} params
 * @param {Integer} params.id - 上一接口查询的EccnCategoryID
 * @header token
 */
export function getECCNList(params) {
	return request({
		method: "GET",
		url: `/api/ccl/eccn/rank`,
		params
	});
}

// 商业管制清单-CCL清单列表-类别字典
export function getECCNCategory() {
	return request({
		method: "GET",
		url: `/api/commonDict/ccl/eccnCategory`
	});
}

// 商业管制清单-CCL清单列表-科技领域字典
export function getAreaType() {
	return request({
		method: "GET",
		url: `/api/commonDict/areaType`
	});
}

// 商业管制清单-CCL清单列表-管控原因字典
export function getControlReason() {
	return request({
		method: "GET",
		url: `/api/commonDict/ccl/controlReason`
	});
}

// 商业管制清单-CCL清单简介-CCL清单查询
/**
 * @param {Object} params
 * @param {String} params.categoryCode - 类别Id
 * @param {List<Integer>} params.techDomainIds - 科技领域I
 * @param {String} params.keyword - 搜索物项或ECCN编码
 * @param {List<Integer>} params.controlIds - 类别ID
 * @param {Boolean} params.isLatest - 查看最近更新内容
 * @header token
 */
export function getCclQuery(data) {
	return request({
		method: "POST",
		url: `/api/ccl/query`,
		data
	});
}

// 商业管制清单-CCL清单列表-清单版本
export function getCCLVersionList() {
	return request({
		method: "GET",
		url: `/api/ccl/version/dateList`
	});
}
