This commit is contained in:
王思川 2022-05-25 17:12:15 +08:00
parent 9f6564f9f7
commit 5d3031ed44
2 changed files with 33 additions and 20 deletions

View File

@ -1,38 +1,51 @@
import xlrd
from Modules.Company.CompanyObject import BasicBusinessInfo
from Modules.Company.CompanyUtils import CommonUtils, ExcelSheetParser
from Modules.Company.CompanyUtils import CommonUtils, ExcelSheetParser, ExcelParserUtil
from Utils.ObjUtil import SpecObject
class BasicBusinessInfoImpl(BasicBusinessInfo):
class BasicBusinessInfoImpl(object):
def parse_excel_and_create_company(self, file):
""""""
work_book = xlrd.open_workbook(file_contents=file.read())
basic_business_info = BasicBusinessInfo()
for sheet in work_book.sheets():
if sheet.name == '企业信息':
data = ExcelSheetParser(sheet=sheet).parse_sheet1()
# 特殊处理
data['参保人数'] = int(data['参保人数'])
basic_business_info = SpecObject.dict_to_set(instance=BasicBusinessInfo, data=data)
self.dict_to_set(instance=BasicBusinessInfo, data=data)
elif sheet.name == '高管股东信息':
executives, shareholders = ExcelSheetParser(sheet=sheet).parse_sheet2()
basic_business_info.shareholder_information = list()
basic_business_info.executive_information = list()
for item in executives:
# 特殊处理
item['出生日期'] = ExcelParserUtil.parse_date(item['出生日期'])
executive = SpecObject.dict_to_set(
instance=BasicBusinessInfo.ExecutiveInformation,
data=item
)
basic_business_info.executive_information.append(executive)
for item in shareholders:
shareholder = SpecObject.dict_to_set(
instance=BasicBusinessInfo.ShareholderInformation,
data=item
)
basic_business_info.shareholder_information.append(shareholder)
pass
# elif sheet.name == '高管股东信息':
# data1, data2 = parse_gua_sheet2(sheet)
# for i in data1:
# i['企业名称'] = company
# if cid:
# i['cid'] = cid
# col_2.update_one({"高管姓名": i['姓名'], "企业名称": i['企业名称']}, {"$set": i}, upsert=True)
# for i in data2:
# i['企业名称'] = company
# if cid:
# i['cid'] = cid
# col_3.update_one({"股东名称": i['股东名称'], "企业名称": i['企业名称']}, {"$set": i}, upsert=True)
#
# elif sheet.name == '经营情况':
# data = parse_gua_sheet3(sheet)
# for i in data:

View File

@ -24,7 +24,7 @@ class BasicBusinessInfo(SpecObject):
name = ValidateAttr(field="name", type=str)
position = ValidateAttr(field="position", type=str)
education = ValidateAttr(field="education", type=str)
birth_data = ValidateAttr(field="birth_data", func=Validate.date_format)
birth_data = ValidateAttr(field="birth_data", type=str)
political_status = ValidateAttr(field="political_status", type=str)
industry_experience = ValidateAttr(field="industry_experience", type=[str, float, int])
@ -58,8 +58,8 @@ class BasicBusinessInfo(SpecObject):
company_positioning = ValidateAttr(field="company_positioning", type=str)
legal_representative = ValidateAttr(field="legal_representative", type=str)
the_actual_controller = ValidateAttr(field="the_actual_controller", type=str)
shareholder_information = ValidateAttr(field="shareholder_information", type=ShareholderInformation)
executive_information = ValidateAttr(field="executive_information", type=ExecutiveInformation)
shareholder_information = ValidateAttr(field="shareholder_information", instance_list=ShareholderInformation)
executive_information = ValidateAttr(field="executive_information", instance_list=ExecutiveInformation)
fields_map = {
"cid": "企业ID",