from DBHelper.MongoHelperInstance import DB_TYC, DB_TEST from Company.CompanyUtils import CompanyUtils from Utils.CommonUtil import CommonUtils class SupervisionImpl(object): """监管风险""" @staticmethod def basic_information(**kwargs): """工商信息""" name = kwargs['name'] cid = CompanyUtils.make_new_cid() record = DB_TYC.find_single_data( '公司背景', '基本信息', {'企业名称': name}, ['基本信息'] ) record = record['基本信息'] data = dict() data['企业ID'] = cid data['企业名称'] = name data['企业类型'] = record['companyOrgType'] data['经营状态'] = record['regStatus'] data['法定代表人'] = record['legalPersonName'] data['注册资本'] = record['regCapital'] data['实缴资本'] = record['actualCapital'] data['经营范围'] = record['businessScope'] data['社会统一信用代码'] = record['creditCode'] data['成立日期'] = CommonUtils.time_stamp(record['estiblishTime']) data['注册地址'] = record['regLocation'] data['登记机关'] = record['regInstitute'] data['核准日期'] = CommonUtils.time_stamp(record['approvedTime']) data['更新时间'] = CommonUtils.get_current_time() DB_TEST.upsert_single_data( "WR_DataBase_v2_test", "C3.1_工商信息", {"企业名称": name}, data ) return '导入成功' @staticmethod def common_view_method(**kwargs): """查看接口(通用)""" search = kwargs['search'] cid = search['cid'] sheet = kwargs['sheet'] page_no = int(search['page_no']) page_size = int(search['page_size']) page_size = 10 if page_size > 10 else page_size total = DB_TEST.find_all_data_with_count( 'WR_DataBase_v2_test', sheet, {"企业ID": cid} ) record = DB_TEST.find_data_by_page_with_sort( "WR_DataBase_v2_test", sheet, {"企业ID": cid}, [], {'_id': 1}, page_size, page_no ) result = { "total": total, "records": record } return result def get_cid(self, **kwargs): """查询工商信息中的企业ID""" name = kwargs['name'] cid = DB_TEST.find_single_column( "WR_DataBase_v2_test", "C3.1_工商信息", {"企业名称": name}, '企业ID' ) if not cid: self.basic_information(name=name) cid = DB_TEST.find_single_column( "WR_DataBase_v2_test", "C3.1_工商信息", {"企业名称": name}, '企业ID' ) return cid def abnormal_operation(self, **kwargs): """经营异常""" name = kwargs['name'] cid = self.get_cid(name=name) records = DB_TYC.find_single_column( '经营风险', '经营异常', {'企业名称': name}, '经营异常' ) records = records['result'] if records: for record in records: dict_data = dict() dict_data['企业ID'] = cid dict_data['日期'] = record['putDate'] dict_data['机关'] = record['putDepartment'] dict_data['列入经营异常名录原因'] = record['putReason'] dict_data['更新时间'] = CommonUtils.get_current_time() DB_TEST.insert_single_data( "WR_DataBase_v2_test", "C11.1_经营异常", dict_data ) return '导入成功' def administrative_penalties(self, **kwargs): """行政处罚""" name = kwargs['name'] cid = self.get_cid(name=name) records = DB_TYC.find_single_column( '经营风险', '行政处罚', {'企业名称': name}, '行政处罚' ) records = records['result'] if records: for record in records: dict_data = dict() dict_data['企业ID'] = cid dict_data['处罚日期'] = record['decisionDate'] dict_data['处罚类型'] = record['type'] dict_data['决定书文号'] = record['punishNumber'] dict_data['处罚事由'] = record['reason'] dict_data['处罚结果'] = record['content'] dict_data['处罚金额(元)'] = record['content'] dict_data['处罚单位'] = record['departmentName'] dict_data['数据来源'] = record['source'] dict_data['更新时间'] = CommonUtils.get_current_time() DB_TEST.insert_single_data( "WR_DataBase_v2_test", "C11.2_行政处罚", dict_data ) return '导入成功' def serious_violation(self, **kwargs): """严重违法""" name = kwargs['name'] cid = self.get_cid(name=name) records = DB_TYC.find_single_column( '经营风险', '严重违法', {'企业名称': name}, '严重违法' ) records = records['result'] if records: for record in records: dict_data = dict() dict_data['企业ID'] = cid dict_data['列入日期'] = record['putDate'] dict_data['列入决定机关'] = record['putDepartment'] dict_data['列入原因'] = record['putReason'] dict_data['更新时间'] = CommonUtils.get_current_time() DB_TEST.insert_single_data( "WR_DataBase_v2_test", "C11.3_严重违法", dict_data ) return '导入成功' def tax_violation(self, **kwargs): """税收违法""" name = kwargs['name'] cid = self.get_cid(name=name) records = DB_TYC.find_single_column( '经营风险', '税收违法', {'企业名称': name}, '税收违法' ) records = records['result'] if records: for record in records: dict_data = dict() dict_data['企业ID'] = cid dict_data['发布日期'] = record['publish_time'] dict_data['税务机关'] = record['department'] dict_data['案件性质'] = record['case_type'] dict_data['违法事实'] = None dict_data['处罚情况'] = None dict_data['更新时间'] = CommonUtils.get_current_time() DB_TEST.insert_single_data( "WR_DataBase_v2_test", "C11.4_税收违法", dict_data ) return '导入成功' def tax_arrears_announcement(self, **kwargs): """欠税公告""" name = kwargs['name'] cid = self.get_cid(name=name) records = DB_TYC.find_single_column( '经营风险', '欠税公告', {'企业名称': name}, '欠税公告' ) records = records['result'] if records: for record in records: dict_data = dict() dict_data['企业ID'] = cid dict_data['欠税税种'] = record['taxCategory'] dict_data['欠税余额'] = record['ownTaxBalance'] dict_data['发布单位'] = record['department'] dict_data['发布日期'] = record['publishDate'] dict_data['更新时间'] = CommonUtils.get_current_time() DB_TEST.insert_single_data( "WR_DataBase_v2_test", "C11.6_欠税公告", dict_data ) return '导入成功'