from Company.CompanyUtils import CompanyUtils from DBHelper.MongoHelperInstance import DB_TYC, DB_TEST from Utils.CommonUtil import CommonUtils class BasicImpl(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 view_basic_information(**kwargs): """查看工商信息""" cid = kwargs['cid'] record = DB_TEST.find_single_data( "WR_DataBase_v2_test", "C3.1_工商信息", {"企业ID": cid}, [] ) return record 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 shareholders_information(self, **kwargs): """股东信息""" name = kwargs['name'] cid = self.get_cid(name=name) records = DB_TYC.find_single_column( '公司背景', '企业股东', {'企业名称': name}, '企业股东' ) records = records['result'] data = dict() list_data = list() if records: for record in records: dict_data = dict() dict_data['股东ID'] = record['id'] dict_data['股东名称'] = record['name'] dict_data['股东类型'] = '公司' if record['type'] == 1 else '人' if record['type'] == 2 else '其他' dict_data['股东性质'] = None dict_data['持股比例'] = record['capital'][0]['percent'] dict_data['认缴出资额'] = record['capital'][0]['amomon'] dict_data['认缴出资日期'] = record['capital'][0]['time'] list_data.append(dict_data) data['企业ID'] = cid data['股东列表'] = list_data data['更新时间'] = CommonUtils.get_current_time() DB_TEST.upsert_single_data( "WR_DataBase_v2_test", "C3.2_股东信息", {"企业名称": name, '企业ID': cid}, data ) return '导入成功' @staticmethod def view_shareholders(**kwargs): """查看工股东信息""" cid = kwargs['cid'] record = DB_TEST.find_single_data( "WR_DataBase_v2_test", "C3.2_股东信息", {"企业ID": cid}, [] ) return record def executive_information(self, **kwargs): """高管信息""" name = kwargs['name'] cid = self.get_cid(name=name) records = DB_TYC.find_single_column( '公司背景', '主要人员', {'企业名称': name}, '主要人员' ) records = records['result'] data = dict() list_data = list() if records: for record in records: dict_data = dict() dict_data['人物ID'] = record['id'] dict_data['姓名'] = record['name'] dict_data['职务'] = record['typeJoin'] list_data.append(dict_data) data['企业ID'] = cid data['高管列表'] = list_data data['更新时间'] = CommonUtils.get_current_time() DB_TEST.upsert_single_data( "WR_DataBase_v2_test", "C3.3_高管信息", {"企业名称": name, '企业ID': cid}, data ) return '导入成功' @staticmethod def view_executive(**kwargs): """查看高管信息""" cid = kwargs['cid'] record = DB_TEST.find_single_data( "WR_DataBase_v2_test", "C3.3_高管信息", {"企业ID": cid}, [] ) return record def outbound_investment(self, **kwargs): """对外投资""" name = kwargs['name'] cid = self.get_cid(name=name) records = DB_TYC.find_single_column( '公司背景', '对外投资', {'企业名称': name}, '对外投资' ) records = records['result'] data = dict() list_data = list() if records: for record in records: dict_data = dict() dict_data['企业ID'] = record['id'] dict_data['企业名称'] = record['name'] dict_data['法定代表人'] = record['legalPersonName'] dict_data['成立日期'] = CommonUtils.time_stamp(record['estiblishTime']) dict_data['企业状态'] = record['regStatus'] dict_data['投资金额'] = record['amount'] dict_data['投资比例'] = record['percent'] dict_data['控股情况'] = None dict_data['所属行业'] = record['category'] dict_data['所属省份'] = CommonUtils.province_conversion(record['base']) dict_data['所属地市'] = None list_data.append(dict_data) data['企业ID'] = cid data['投资列表'] = list_data data['更新时间'] = CommonUtils.get_current_time() DB_TEST.upsert_single_data( "WR_DataBase_v2_test", "C3.4_对外投资", {"企业名称": name, '企业ID': cid}, data ) return '导入成功' @staticmethod def view_outbound_investment(**kwargs): """查看对外投资""" cid = kwargs['cid'] record = DB_TEST.find_single_data( "WR_DataBase_v2_test", "C3.4_对外投资", {"企业ID": cid}, [] ) return record def branch_offices(self, **kwargs): """分支机构""" name = kwargs['name'] cid = self.get_cid(name=name) records = DB_TYC.find_single_column( '公司背景', '分支机构', {'企业名称': name}, '分支机构' ) records = records['result'] data = dict() list_data = list() if records: for record in records: dict_data = dict() dict_data['企业ID'] = record['id'] dict_data['企业名称'] = record['name'] dict_data['负责人'] = record['legalPersonName'] dict_data['成立日期'] = CommonUtils.time_stamp(record['estiblishTime']) dict_data['企业状态'] = record['regStatus'] dict_data['所属省份'] = CommonUtils.province_conversion(record['base']) dict_data['所属地市'] = None list_data.append(dict_data) data['企业ID'] = cid data['分支列表'] = list_data data['更新时间'] = CommonUtils.get_current_time() DB_TEST.upsert_single_data( "WR_DataBase_v2_test", "C3.5_分支机构", {"企业名称": name, '企业ID': cid}, data ) return '导入成功' @staticmethod def view_branch_offices(**kwargs): """查看分支机构""" cid = kwargs['cid'] record = DB_TEST.find_single_data( "WR_DataBase_v2_test", "C3.5_分支机构", {"企业ID": cid}, [] ) return record def change_record(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['changeTime'] dict_data['变更项目'] = record['changeItem'] dict_data['变更前'] = record['contentBefore'] dict_data['变更后'] = record['contentAfter'] dict_data['更新时间'] = CommonUtils.get_current_time() DB_TEST.insert_single_data( "WR_DataBase_v2_test", "C3.6_工商变更", dict_data ) return '导入成功' @staticmethod def view_change_record(**kwargs): """查看工商变更""" cid = kwargs['cid'] page_no = int(kwargs['page_no']) page_size = int(kwargs['page_size']) page_size = 10 if page_size > 10 else page_size total = DB_TEST.find_all_data_with_count( 'WR_DataBase_v2_test', 'C3.6_工商变更', {"企业ID": cid} ) record = DB_TEST.find_data_by_page_with_sort( "WR_DataBase_v2_test", "C3.6_工商变更", {"企业ID": cid}, [], {'_id': 1}, page_size, page_no ) result = { "total": total, "records": record } return result