wd-smebiz/mods/smebiz_rate/company_rate/rate_utils/utils.py

91 lines
5.0 KiB
Python

from datetime import datetime
from context.common import tianyancha_api
from mods.smebiz_rate.company_rate.rate_utils.config import 合同纠纷案由, 劳动仲裁案由
def filter_bg(data: [], company_name):
new_data = []
for item in data:
add = False
for i in item['defendant']:
if company_name in i['name']:
add = True
if add:
new_data.append(item)
return new_data
def load_api_data(company_name):
司法风险, _ = tianyancha_api.get("司法风险", {"keyword": company_name})
# 资质证书, 资质证书数量 = tianyancha_api.get("资质证书", {"keyword": company_name})
# 历史经营异常数量 = tianyancha_api.get_total("历史经营异常", {"keyword": company_name})
双随机抽查, 双随机抽查数量 = tianyancha_api.get("双随机抽查", {"keyword": company_name})
双随机抽查详情 = [tianyancha_api.get("双随机抽查详情", {"businessId": item['taskList'][0]['businessId']})[0] for
item in 双随机抽查]
质押比例, _ = tianyancha_api.get("质押比例", {"keyword": company_name})
# 破产重整数量 = tianyancha_api.get_total("破产重整", {"keyword": company_name})
# 司法拍卖数量 = tianyancha_api.get_total("司法拍卖", {"keyword": company_name})
企业基本信息, _ = tianyancha_api.get("企业基本信息", {"keyword": company_name})
# 企业专利信息数量 = tianyancha_api.get_total("企业专利信息", {"keyword": company_name})
# 知识产权出质, _ = tianyancha_api.get("知识产权出质", {"keyword": company_name})
税务评级, _ = tianyancha_api.get("税务评级", {"keyword": company_name})
进出口信用, _ = tianyancha_api.get("进出口信用", {"keyword": company_name})
税收违法数量 = tianyancha_api.get_total("税收违法", {"keyword": company_name})
欠税公告数量 = tianyancha_api.get_total("欠税公告", {"keyword": company_name})
# 行政许可数量 = tianyancha_api.get_total("行政许可", {"keyword": company_name})
行政处罚数量 = tianyancha_api.get_total("行政处罚", {"keyword": company_name})
经营异常数量 = tianyancha_api.get_total("经营异常", {"keyword": company_name})
严重违法数量 = tianyancha_api.get_total("严重违法", {"keyword": company_name})
# 终本案件数量 = tianyancha_api.get_total("终本案件", {"keyword": company_name})
失信被执行人数量 = tianyancha_api.get_total("失信被执行人", {"keyword": company_name})
被执行人数量 = tianyancha_api.get_total("被执行人", {"keyword": company_name})
限制消费令数量 = tianyancha_api.get_total("限制消费令", {"keyword": company_name})
股权变更, _ = tianyancha_api.get("股权变更", {"keyword": company_name})
新闻舆情, _ = tianyancha_api.get("新闻舆情", {"name": company_name}, page=1)
成立年限 = datetime.now().year - datetime.fromtimestamp(
企业基本信息['estiblishTime'] / 1000).year if 企业基本信息 else 0
公司类型 = 企业基本信息['companyOrgType']
开庭公告_劳动争议 = len(
[item["caseReason"] for item in filter_bg(司法风险['ktAnnouncementList'], company_name) if
item['caseReason'] in 劳动仲裁案由]) if 司法风险 else 0
开庭公告_被告_合同纠纷 = len(
[item["caseReason"] for item in 司法风险['ktAnnouncementList'] if
item["caseReason"] and item["caseReason"] in 合同纠纷案由]) if 司法风险 else 0
纳税信用等级 = 税务评级[0]['grade'] if 税务评级 else "M"
双随机抽查结果 = '合格'
for item in 双随机抽查详情:
for child in item:
if child['checkResult'] != '未发现问题':
双随机抽查结果 = '批评和处罚'
break
now = datetime.now()
近三年股东变更次数 = len([item for item in 股权变更 if
datetime.fromtimestamp(item['change_time'] / 1000) > now.replace(year=now.year - 3)])
最近10条企业舆情负面占比 = len([item for item in 新闻舆情 if item['emotion'] == -1]) / 10 * 100
data = {
"成立年限": 成立年限,
"公司类型": 公司类型,
# "股东性质": None,
"近三年股东变更次数": 近三年股东变更次数,
"最近10条企业舆情负面占比": 最近10条企业舆情负面占比,
"开庭公告(被告-合同纠纷、劳动争议)": 开庭公告_劳动争议 + 开庭公告_被告_合同纠纷,
"纳税信用等级": 纳税信用等级,
"双随机抽查结果": 双随机抽查结果,
"经营异常": 经营异常数量,
"欠税公告": 欠税公告数量,
"行政处罚": 行政处罚数量,
"被执行人": 被执行人数量,
"失信被执行人": 失信被执行人数量,
"税收违法": 税收违法数量,
"严重违法": 严重违法数量
}
return data