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

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

// 实体清单-制裁概况-获取发布机构与重点人物
/**
 * @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() {
    return request({
        method: 'GET',
        url: `/api/sanctionList/statistics/el/total`
    })
}

// 实体清单-数据统计-制裁实体数量变化情况
/**
 * @param {countType} 
 * @header token
 */
export function getSanctionCountChange(params) {
    return request({
        method: 'GET',
        url: `/api/sanctionList/statistics/el/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/el/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/el/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/el/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/el/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(params) {
    return request({
        method: 'GET',
        url: `/api/sanctionList/statistics/el/total`,
        params,
    })
}

// 单次制裁-数据统计-制裁实体领域分布情况
/**
 * @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/el/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/el/entityType`,
        params,
    })
}


// 单次制裁-数据统计-制裁实体国家分布
/**
 * @param {Object} params
 * @param {string} params.sanRecordId - 制裁记录ID
 * @header token
 */
export function getSingleSanctionEntityCountryCount(params) {
    return request({
        method: 'GET',
        url: `/api/sanctionList/statistics/el/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/el/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/sanctionList/record/supplyChain`,
        params,
    })
}

// 单次制裁-深度挖掘-制裁实体股权信息
/**
 * @param {Object} params
 * @param {Integer} params.orgId - 组织ID
 * @param {Boolean} params.rule - 是否遵循规则
 * @header token
 */
export function getSingleSanctionEntityEquity(params) {
    return request({
        method: 'GET',
        url: `/api/sanctionList/record/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() {
  return request({
    method: 'GET',
    url: `/api/sanctionList/baseInfo/ccl`
  })
}

// 商业管制清单-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,
  })
}