api-datamanager/Company/Basic/BasicImpl.py

353 lines
11 KiB
Python
Raw Normal View History

2022-08-25 17:16:59 +08:00
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