from datetime import datetime import json from context.common import tianyancha_api from utils.rate_utils import bj_finance_cal_interface # 筛选被告 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 filter_bg2(data: [], company_name): new_data = [] for item in data: defendants = sum([1 if i in company_name else 0 for i in item['defendants']]) plaintiffs = sum([1 if i in company_name else 0 for i in item['plaintiffs']]) if defendants > plaintiffs: new_data.append(item) return new_data def load_api_data(company_name, wj_data: {} = {}) -> dict: 司法风险, _ = 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("双随机抽查", {"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}) # 劳动仲裁案由 = ["确认劳动关系争议", "劳动合同争议", "社会保险争议", "劳动报酬争议", "福利待遇争议", "劳动保护争议"] 劳动仲裁案由 = ["劳动争议", "劳动合同纠纷", "确认劳动关系纠纷", "集体合同纠纷", "劳务派遣合同纠纷", "非全日制用工纠纷", "追索劳动报酬纠纷", "经济补偿金纠纷", "竞业限制纠纷", "社会保险纠纷", "养老保险待遇纠纷", "工伤保险待遇纠纷", "医疗保险待遇纠纷", "生育保险待遇纠纷", "失业保险待遇纠纷", "福利待遇纠纷"] 合同纠纷案由 = ["合同纠纷", "缔约过失责任纠纷", "预约合同纠纷", "确认合同效力纠纷", "确认合同有效纠纷", "确认合同无效纠纷", "债权人代位权纠纷", "债权人撤销权纠纷", "债权转让合同纠纷", "债务转移合同纠纷", "债权债务概括转移合同纠纷", "债务加入纠纷", "悬赏广告纠纷", "买卖合同纠纷", "分期付款买卖合同纠纷", "凭样品买卖合同纠纷", "试用买卖合同纠纷", "所有权保留买卖合同纠纷", "招标投标买卖合同纠纷", "互易纠纷", "国际货物买卖合同纠纷", "信息网络买卖合同纠纷", "拍卖合同纠纷", "建设用地使用权合同纠纷", "建设用地使用权出让合同纠纷", "建设用地使用权转让合同纠纷", "临时用地合同纠纷", "探矿权转让合同纠纷", "采矿权转让合同纠纷", "房地产开发经营合同纠纷", "委托代建合同纠纷", "合资、合作开发房地产合同纠纷", "项目转让合同纠纷", "房屋买卖合同纠纷", "商品房预约合同纠纷", "商品房预售合同纠纷", "商品房销售合同纠纷", "商品房委托代理销售合同纠纷", "经济适用房转让合同纠纷", "农村房屋买卖合同纠纷", "民事主体间房屋拆迁补偿合同纠纷", "供用电合同纠纷", "供用水合同纠纷", "供用气合同纠纷", "供用热力合同纠纷", "排污权交易纠纷", "用能权交易纠纷", "用水权交易纠纷", "碳排放权交易纠纷", "碳汇交易纠纷", "赠与合同纠纷", "公益事业捐赠合同纠纷", "附义务赠与合同纠纷", "借款合同纠纷", "金融借款合同纠纷", "同业拆借纠纷", "民间借贷纠纷", "小额借款合同纠纷", "金融不良债权转让合同纠纷", "金融不良债权追偿纠纷", "保证合同纠纷", "抵押合同纠纷", "质押合同纠纷", "定金合同纠纷", "进出口押汇纠纷", "储蓄存款合同纠纷", "银行卡纠纷", "借记卡纠纷", "信用卡纠纷", "租赁合同纠纷", "土地租赁合同纠纷", "房屋租赁合同纠纷", "车辆租赁合同纠纷", "建筑设备租赁合同纠纷", "融资租赁合同纠纷", "保理合同纠纷", "承揽合同纠纷", "加工合同纠纷", "定作合同纠纷", "修理合同纠纷", "复制合同纠纷", "测试合同纠纷", "检验合同纠纷", "铁路机车、车辆建造合同纠纷", "建设工程合同纠纷", "建设工程勘察合同纠纷", "建设工程设计合同纠纷", "建设工程施工合同纠纷", "建设工程价款优先受偿权纠纷", "建设工程分包合同纠纷", "建设工程监理合同纠纷", "装饰装修合同纠纷", "铁路修建合同纠纷", "农村建房施工合同纠纷", "运输合同纠纷", "公路旅客运输合同纠纷", "公路货物运输合同纠纷", "水路旅客运输合同纠纷", "水路货物运输合同纠纷", "航空旅客运输合同纠纷", "航空货物运输合同纠纷", "出租汽车运输合同纠纷", "管道运输合同纠纷", "城市公交运输合同纠纷", "联合运输合同纠纷", "多式联运合同纠纷", "铁路货物运输合同纠纷", "铁路旅客运输合同纠纷", "铁路行李运输合同纠纷", "铁路包裹运输合同纠纷", "国际铁路联运合同纠纷", "保管合同纠纷", "仓储合同纠纷", "委托合同纠纷", "进出口代理合同纠纷", "货运代理合同纠纷", "民用航空运输销售代理合同纠纷", "诉讼、仲裁、人民调解代理合同纠纷", "销售代理合同纠纷", "委托理财合同纠纷", "金融委托理财合同纠纷", "民间委托理财合同纠纷", "物业服务合同纠纷", "行纪合同纠纷", "中介合同纠纷", "补偿贸易纠纷", "借用合同纠纷", "典当纠纷", "合伙合同纠纷", "种植、养殖回收合同纠纷", "彩票、奖券纠纷", "中外合作勘探开发自然资源合同纠纷", "农业承包合同纠纷", "林业承包合同纠纷", "渔业承包合同纠纷", "牧业承包合同纠纷", "土地承包经营权合同纠纷", "土地承包经营权转让合同纠纷", "土地承包经营权互换合同纠纷", "土地经营权入股合同纠纷", "土地经营权抵押合同纠纷", "土地经营权出租合同纠纷", "居住权合同纠纷", "服务合同纠纷", "电信服务合同纠纷", "邮政服务合同纠纷", "快递服务合同纠纷", "医疗服务合同纠纷", "法律服务合同纠纷", "旅游合同纠纷", "房地产咨询合同纠纷", "房地产价格评估合同纠纷", "旅店服务合同纠纷", "财会服务合同纠纷", "餐饮服务合同纠纷", "娱乐服务合同纠纷", "有线电视服务合同纠纷", "网络服务合同纠纷", "教育培训合同纠纷", "家政服务合同纠纷", "庆典服务合同纠纷", "殡葬服务合同纠纷", "农业技术服务合同纠纷", "农机作业服务合同纠纷", "保安服务合同纠纷", "银行结算合同纠纷", "演出合同纠纷", "劳务合同纠纷", "离退休人员返聘合同纠纷", "广告合同纠纷", "展览合同纠纷", "追偿权纠纷","居间合同纠纷", "农村土地承包合同纠纷", "合伙协议纠纷", "房屋拆迁安置补偿合同纠纷"] bj = {} bj['劳动仲裁'] = len( [item["caseReason"] for item in filter_bg(司法风险['ktAnnouncementList'], company_name) if item["caseReason"] in 劳动仲裁案由]) if 司法风险 else 0 bj['开庭公告(案由为劳动争议)'] = len( [item["caseReason"] for item in filter_bg(司法风险['ktAnnouncementList'], company_name) if item['caseReason'] in 劳动仲裁案由]) if 司法风险 else 0 bj['资质证书数量'] = 资质证书数量 bj['历史经营异常'] = '是' if 历史经营异常数量 else '否' 自身合同违约次数 = len( [item["casereason"] for item in filter_bg2(司法风险['lawSuitList'],company_name) if item["casereason"] in 合同纠纷案由]) if 司法风险 else 0 bj['自身合同违约次数'] = '0' if (自身合同违约次数 or 0) == 0 else '1及以上' bj['开庭公告(案由为合同纠纷)'] = len( [item["caseReason"] for item in 司法风险['ktAnnouncementList'] if item["caseReason"] and item["caseReason"] in 合同纠纷案由]) if 司法风险 else 0 双随机抽查结果 = '合格' for item in 双随机抽查详情: for child in item: if child['checkResult'] != '未发现问题': 双随机抽查结果 = '批评和处罚' break bj['双随机抽查结果'] = 双随机抽查结果 bj['股权质押比例'] = float(质押比例['proportion']['pledgeRatio'][0:-1]) if 质押比例 else 0 bj['破产重整'] = '是' if 破产重整数量 else '否' bj['司法拍卖'] = '是' if 司法拍卖数量 else '否' cap_list = [] if wj_data and '问卷数据' in wj_data: for item in wj_data['问卷数据']['为公司提供数据安全的供应商名称'].split('、'): data, _ = tianyancha_api.get('企业基本信息', {'keyword': item}) if data: cap_list.append(float(data['actualCapital'].replace('万人民币', ''))) bj['供应商实收资本'] = sum(cap_list) / len(cap_list) if cap_list else 0 bj['专利信息'] = "1及以上" if 企业专利信息数量 >= 1 else '0' bj['知产出质'] = '是' if 知识产权出质 else '否' bj['纳税信用等级'] = 税务评级[0]['grade'] if 税务评级 else "M" 海关信用等级 = 进出口信用['baseInfo']['creditRating'] if 进出口信用 else "一般信用企业" 海关信用等级值 = "" if "企业" in 海关信用等级: 海关信用等级值 = "一般信用企业" if "失信" in 海关信用等级: 海关信用等级值 = "失信企业" elif "认证" in 海关信用等级: 海关信用等级值 = "认证企业" bj['海关信用等级'] = 海关信用等级值 bj['税收违法'] = '是' if 税收违法数量 else '否' bj['欠税公告'] = '是' if 欠税公告数量 else '否' bj['行政许可数量'] = 行政许可数量 bj['行政处罚数量'] = '是' if 行政处罚数量 else '否' bj['行政处罚数量'] = 行政处罚数量 bj[ '经营异常(公示信息隐瞒真实情况/弄虚作假、登记的住所/经营场所无法联系企业、未在规定期限公示年度报告、未按规定公示企业信息、未在登记所从事经营活动、商事主体名称不适宜、其他原因)'] = '是' if 经营异常数量 else '否' bj['严重违法'] = '是' if 严重违法数量 else '否' bj['立案信息'] = '是' if 司法风险 and 司法风险['courtRegisterList'] else '否' bj['终本案件'] = '是' if 终本案件数量 else '否' bj['被执行人'] = '是' if 被执行人数量 else '否' # bj['被执行人'] = '是' if 司法风险 and 司法风险['zhixingList'] else '否' # bj['失信被执行人'] = '是' if 失信被执行人数量 else '否' bj['失信被执行人'] = '是' if 司法风险 and 司法风险['zhixingList'] else '否' bj['限制高消费'] = '是' if 限制消费令数量 else '否' bj['成立年限'] = datetime.now().year - datetime.fromtimestamp( 企业基本信息['estiblishTime'] / 1000).year if 企业基本信息 else 0 bj['食品安全'] = '是' bj['假冒化妆品'] = '否' bj['非正常户'] = '否' bj['环保处罚'] = '否' bj['股权冻结'] = '否' bj['限制出境'] = '否' return bj excel_data = { "问卷数据": { "公司全称": "成都普瑞眼科医院股份有限公司", "统一社会信用代码": "91510106785430077J", "2020~2022年公司股东变更次数": 2, "是否设立董事会": "是", "董事会人数": 8, "独立董事人数": 2, "董事会会议次数": 10, "董事会出席率": 100, "是否设立监事会": "是", "风险管理部门员工人数":10, "监事会人数": 3, "非职工监事委派单位": "内部选举", "是否设立党委会": "否", "公司战略符合哪些": "绿色、双碳、人才、创新、乡村振兴、国家安全、金融安全、就业优先", "是否将风险管理纳入公司战略": "是", "是否设立风险管理部门": "是", "公司风险管理体系覆盖哪些部门": "市场、后勤、人力、财务、合规", "2022年末数字化或智能化的风险控制方式覆盖比例": 50, "2022年公司数据安全投入金额": 152, "为公司提供数据安全的供应商名称": "华为技术有限公司、华为云计算技术有限公司", "2022年产品研发投入金额": 200.5, "2022年末公司产品系列": 2, "2022年末公司产品种类": 5, "2022年末公司产品数量": 100, "2022年公司新产品数量": 15, "公司是否曾被纳入黑名单": "否", "近三年公司信用修复次数": 0, "公司获得的国家级荣誉数量": 5, "公司获得的省级荣誉数量": 10, "公司注册商标数量": 20, "知名商标或品牌数量(例如驰名商标)": 2, "国家级商标或品牌数量": 5, "省级商标或品牌数量": 10, "2022年公司缴纳的社会保险": 102.58, "公司缴纳的社会保险种类": "五险一金", "2022年公司员工因公死亡数量": 2, "2022年公司员工工伤数量": 5, "2022年公司提供服务次数": 102584, "2022年公司被客户投诉次数": 265, "2020~2022年公司信贷、债券、非标融资违约次数": 0, "2020~2022年公司信贷、债券、非标融资违约金额": 0, "2022年公司因关联方违约代偿的金额": 15, "2022年公司应为关联方代偿金额(为关联方提供担保,且该关联方发生违约的金额)": 120, "2020年公司股东或关联方给予公司的资金支持金额": 200, "2021年公司股东或关联方给予公司的资金支持金额": 200, "2022年公司股东或关联方给予公司的资金支持金额": 200, "2020年公司关联交易金额": 159.28, "2021年公司关联交易金额": 195.88, "2022年公司关联交易金额": 205.68, "公司是否参与行业标准和规范制定": "是", "牵头制定的行业标准名称": "《标准1》《标准2》《标准3》", "牵头制定的规范名称": "《规范1》《规范2》", "参与制定的行业标准名称": "《标准1》", "参与制定的规范名称": "《规范2》" }, "财报数据": { "2021年末": { "数据是否经过审计": "是", "财务数据": "2021年末", "资产负债表": None, "总资产": 6478468.9, "净资产": 1772251.9, "流动资产": 5231207.8, "流动负债": 1293325.2, "总负债": 1546735.1, "存货": 3858229.4, "预付账款": 36937.9, "应收票据": 0, "应收账款": 4691.4, "利润表": None, "营业收入": 58448.8, "主营业务成本": 60885.4, "利润总额": 30918.8, "净利润": 25281.9, "计入财务费用的利息支出": 5704.1, "现金流量表": None, "经营性净现金流": -476663.2 }, "2022年末": { "数据是否经过审计": "是", "财务数据": "2022年末", "资产负债表": None, "总资产": 7437834.9, "净资产": 2269957.7, "流动资产": 5753381.9, "流动负债": 1546735.1, "总负债": 1546735.1, "存货": 4458149.5, "预付账款": 14129.6, "应收票据": 0, "应收账款": 7474.9, "利润表": None, "营业收入": 214701.3, "主营业务成本": 162917.8, "利润总额": 84587.2, "净利润": 69785.4, "计入财务费用的利息支出": 18922.5, "现金流量表": None, "经营性净现金流": -178170.9 } } } def excel_data_to_model_data_bj(excel_data: dict): bj = {} wj = excel_data['问卷数据'] cb = excel_data['财报数据'] bj[ '公司战略(绿色、双碳、科教、人才、创新驱动、乡村振兴、新型城镇化、可持续发展、应对人口老龄化、就业优先、国家安全、金融安全)'] = \ wj['公司战略符合哪些'].count('、') if wj['公司战略符合哪些'] else 0 bj['近三年股东变更次数'] = '3次以上' if wj['2020~2022年公司股东变更次数'] and wj['2020~2022年公司股东变更次数'] >= 3 else '小于3' bj['董事会人数'] = wj['董事会人数'] or 0 bj['独立董事人数'] = wj['独立董事人数'] or 0 bj['独立董事占比'] = (bj['独立董事人数'] / bj['董事会人数'] if bj['董事会人数'] else 0) * 100 bj['董事会会议次数'] = wj['董事会会议次数'] or 0 bj['董事会出席率(平均数)'] = (wj['董事会出席率'] or 0) bj['监事会人数'] = wj['监事会人数'] or 0 bj['知名商标或品牌数量'] = wj['知名商标或品牌数量(例如驰名商标)'] or 0 bj['产品系列数量'] = wj['2022年末公司产品系列'] or 0 bj['产品种类数量'] = wj['2022年末公司产品种类'] or 0 bj['牵头行业标准和规范制定数量'] = (wj['牵头制定的行业标准名称'] or '').count('《') + ( wj['牵头制定的规范名称'] or '').count('《') bj['参与行业标准和规范制定数量'] = (wj['参与制定的行业标准名称'] or '').count('《') + ( wj['参与制定的规范名称'] or '').count('《') bj['研发投入占营业收入的比重'] = wj['2022年产品研发投入金额'] / cb['2022年末']['营业收入'] * 100 if wj['2022年产品研发投入金额'] is not None and cb['2022年末']['营业收入'] is not None else 0 bj['新产品数量'] = wj['2022年公司新产品数量'] or 0 bj['风险管理部门员工人数'] = wj['风险管理部门员工人数'] bj['风险管理覆盖部门(市场、作业、行政、人力、财务、合规、技术研发、其他)'] = len( (wj["公司风险管理体系覆盖哪些部门"] or '').split('、')) fiance_data = fiance_index_cal_bj(excel_data) bj['营业收入'] = cb['2022年末']['营业收入'] bj['总资产'] = cb['2022年末']['总资产'] bj['毛利率'] = fiance_data["毛利率"] bj['总资产报酬率'] = fiance_data["总资产报酬率"] bj['净资产收益率'] = fiance_data["净资产收益率"] bj['流动比率'] = fiance_data["总资产报酬率"] bj['速动比率'] = fiance_data["速动比率"] bj['应收账款周转率'] = fiance_data["应收账款周转率"] bj['总资产周转率'] = fiance_data["总资产周转率"] bj['资产负债率'] = fiance_data["资产负债率"] bj['经营性净现金流/流动负债'] = fiance_data["经营性净现金流/流动负债"] # bj['劳动仲裁'] = # bj['开庭公告(案由为劳动争议)'] = bj['社会保险'] = wj['公司缴纳的社会保险种类'] bj['死亡数量'] = '0' if (wj['2022年公司员工因公死亡数量'] or 0) == 0 else '1及以上' bj['工伤数量'] = '0' if (wj['2022年公司员工工伤数量'] or 0) == 0 else '1及以上' # bj['工伤数量'] = wj['2022年公司员工工伤数量'] or 0 # bj['资质证书数量'] = # bj['历史经营异常'] = # bj['自身合同违约次数'] = # bj['开庭公告(案由为合同纠纷)'] = # bj['双随机抽查结果'] = # bj['食品安全'] = # bj['假冒化妆品'] = bj['投诉率'] = wj["2022年公司被客户投诉次数"] / wj['2022年公司提供服务次数'] * 100 # bj['股权质押比例'] = # bj['自身违约次数'] = wj['2020~2022年公司信贷、债券、非标融资违约次数'] bj['自身违约次数'] = '0' if (wj['2020~2022年公司信贷、债券、非标融资违约次数'] or 0) == 0 else '1及以上' bj['自身违约金额'] = '0' if wj['2020~2022年公司信贷、债券、非标融资违约金额'] == 0 else '不为0' # bj['破产重整'] = # bj['司法拍卖'] =s bj['担保代偿比例'] = wj['2022年公司因关联方违约代偿的金额'] / wj[ '2022年公司应为关联方代偿金额(为关联方提供担保,且该关联方发生违约的金额)'] * 100 if wj['2022年公司因关联方违约代偿的金额'] and wj[ '2022年公司应为关联方代偿金额(为关联方提供担保,且该关联方发生违约的金额)'] else 0 bj['数据安全投入占比'] = (wj['2022年公司数据安全投入金额'] / cb['2022年末']['主营业务成本']) * 100 if wj['2022年公司数据安全投入金额'] and cb['2022年末']['主营业务成本'] else 0 # bj['供应商实收资本'] = # bj['专利信息'] = # bj['知产出质'] = # bj['纳税信用等级'] = # bj['海关信用等级'] = # bj['税收违法'] = # bj['欠税公告'] = # bj['行政许可数量'] = # bj['行政处罚数量'] = # bj['非正常户'] = # bj['经营异常(公示信息隐瞒真实情况/弄虚作假、登记的住所/经营场所无法联系企业、未在规定期限公示年度报告、未按规定公示企业信息、未在登记所从事经营活动、商事主体名称不适宜、其他原因)'] = # bj['严重违法'] bj['黑名单'] = wj['公司是否曾被纳入黑名单'] # bj['环保处罚'] bj['近三年信用修复次数'] = '0且未被纳入黑名单' if not wj['近三年公司信用修复次数'] else str( wj['近三年公司信用修复次数']) # bj['立案信息'] # bj['终本案件'] # bj['失信被执行人'] # bj['被执行人'] # bj['限制高消费'] # bj['股权冻结'] # bj['限制出境'] bj['国家级和省级荣誉数量'] = wj["公司获得的国家级荣誉数量"] + wj["公司获得的省级荣誉数量"] bj["是否提供征信报告"] = "是" bj["财务数据是否经过审计"] = cb['2022年末']["数据是否经过审计"] if cb['2022年末']["数据是否经过审计"] else "是" bj["企业提供的数据数量/应提供数据数量小于90%或是财务数据填报缺少"] = "否" bj["关联交易/营业收入"] = wj["2022年公司关联交易金额"] / cb['2022年末']['营业收入'] bj["公司股东或关联方给予的资金支持金额/流动负债"] = wj["2022年公司股东或关联方给予公司的资金支持金额"] / \ cb["2022年末"]["流动负债"] return bj def cal_tiaozhengxiang(bj_data: {}): scope_dic = {} num = bj_data["国家级和省级荣誉数量"] scope = 0 if num == 2: scope = 3 if num == 3: scope = 4 if num > 3: scope = 5 scope_dic['国家级和省级荣誉数量'] = {'value': num, 'scope': scope} scope_dic['是否提供征信报告'] = {'value': bj_data['是否提供征信报告'], 'scope': 0 if bj_data['是否提供征信报告'] == '是' else -2} scope_dic['财务数据是否经过审计'] = {'value': bj_data['财务数据是否经过审计'], 'scope': 0 if bj_data['财务数据是否经过审计'] == '是' else -1} scope_dic['企业提供的数据数量/应提供数据数量小于90%或是财务数据填报缺少'] = { 'value': bj_data['企业提供的数据数量/应提供数据数量小于90%或是财务数据填报缺少'], 'scope': 0 if bj_data['企业提供的数据数量/应提供数据数量小于90%或是财务数据填报缺少'] == '是' else -2} scope2 = 0 if bj_data['关联交易/营业收入'] >= 0.5: scope2 = 2 elif bj_data['关联交易/营业收入'] >= 0.3: scope2 = 1 scope_dic['关联交易/营业收入'] = {'value': bj_data['关联交易/营业收入'], 'scope': scope2} scope3 = 0 if bj_data['公司股东或关联方给予的资金支持金额/流动负债'] >= 0.7: scope3 = 3 elif bj_data['公司股东或关联方给予的资金支持金额/流动负债'] >= 0.5: scope3 = 2 elif bj_data['公司股东或关联方给予的资金支持金额/流动负债'] >= 0.3: scope3 = 1 scope_dic['公司股东或关联方给予的资金支持金额/流动负债'] = {'value': bj_data['关联交易/营业收入'], 'scope': scope3} return scope_dic def fiance_index_cal_bj(excel_data: {}): cb = excel_data['财报数据'] cal_data = { '净利润': cb['2022年末']['净利润'], '利润总额': cb['2022年末']['利润总额'], '存货': cb['2022年末']['存货'], '期初净资产余额': cb['2021年末']['净资产'], '期初应收票据及应收账款净额': cb['2021年末']['应收票据'] + cb['2021年末']['应收账款'], '期末净资产余额': cb['2022年末']['净资产'], '期末应收票据及应收账款净额': cb['2022年末']['应收票据'] + cb['2022年末']['应收账款'], '期末资产总额': cb['2022年末']['总资产'], '流动负债': cb['2022年末']['流动负债'], '流动资产': cb['2022年末']['流动资产'], '经营性现金净流': cb['2022年末']['经营性净现金流'], '营业成本': cb['2022年末']['主营业务成本'], '营业收入': cb['2022年末']['营业收入'], '计入财务费用的利息支出': cb['2022年末']['计入财务费用的利息支出'], '负债总额': cb['2022年末']['总负债'], '资产总额': cb['2022年末']['总资产'], '期初资产总额': cb['2022年末']['总资产'], '预付账款': cb['2022年末']['预付账款'] } res = bj_finance_cal_interface(cal_data) data = {k: v for k, v in res['content'].items() if v is not None} return data