2022-08-31 14:58:06 +08:00
|
|
|
from Company.Basic.Branch.BranchObj import BranchList
|
|
|
|
from Company.Basic.Business.BusinessImpl import BusinessImpl
|
|
|
|
from Company.Basic.Shareholder.ShareholderObj import ShareholderList
|
|
|
|
from DBHelper.MongoHelperInstance import DB_TYC, DB_TEST
|
|
|
|
from Utils.CommonUtil import CommonUtils
|
|
|
|
|
|
|
|
|
|
|
|
class BranchImpl(object):
|
|
|
|
"""分支机构"""
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def auto_update(**kwargs):
|
|
|
|
"""新增/更新(自动)"""
|
|
|
|
condition = kwargs['condition']
|
|
|
|
|
|
|
|
def save_data(**args):
|
|
|
|
"""查询保存数据"""
|
|
|
|
|
|
|
|
def search_cid(name):
|
|
|
|
"""根据股东名称查询cid"""
|
|
|
|
cid_record = DB_TEST.find_single_column(
|
|
|
|
'WR_DataBase_v2_test',
|
|
|
|
'C3.1_工商信息',
|
|
|
|
{'企业名称': name},
|
|
|
|
'企业名称'
|
|
|
|
)
|
|
|
|
if cid_record:
|
|
|
|
return cid_record
|
|
|
|
else:
|
|
|
|
return None
|
|
|
|
|
|
|
|
company_name = args['cname']
|
|
|
|
company_id = args['cid']
|
|
|
|
records = DB_TYC.find_single_column(
|
|
|
|
'公司背景',
|
|
|
|
'分支机构',
|
|
|
|
{'企业名称': company_name},
|
|
|
|
'分支机构'
|
|
|
|
)
|
|
|
|
if records:
|
|
|
|
records = records['result']
|
|
|
|
data = dict()
|
|
|
|
list_data = list()
|
|
|
|
for record in records:
|
|
|
|
dict_data = dict()
|
|
|
|
dict_data['企业ID'] = search_cid(record['name'])
|
|
|
|
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'] = company_id
|
|
|
|
data['分支列表'] = list_data
|
|
|
|
data['更新时间'] = CommonUtils.get_current_time()
|
|
|
|
return data
|
|
|
|
else:
|
|
|
|
return False
|
|
|
|
|
|
|
|
if len(condition['cid']):
|
|
|
|
cid = condition['cid']
|
|
|
|
cname = DB_TEST.find_single_column(
|
|
|
|
'WR_DataBase_v2_test',
|
|
|
|
'C3.1_工商信息',
|
|
|
|
{'企业ID': cid},
|
|
|
|
'企业名称'
|
|
|
|
)
|
|
|
|
update = save_data(cname=cname, cid=cid)
|
|
|
|
if update:
|
|
|
|
DB_TEST.update_single_data(
|
|
|
|
"WR_DataBase_v2_test",
|
|
|
|
"C3.5_分支机构",
|
|
|
|
{"企业ID": cid},
|
|
|
|
update
|
|
|
|
)
|
|
|
|
return 'success'
|
|
|
|
else:
|
|
|
|
return 'update failed'
|
|
|
|
elif len(condition['cname']):
|
|
|
|
cname = condition['cname']
|
|
|
|
cid = DB_TEST.find_single_column(
|
|
|
|
'WR_DataBase_v2_test',
|
|
|
|
'C3.1_工商信息',
|
|
|
|
{'企业名称': cname},
|
|
|
|
'企业ID'
|
|
|
|
)
|
|
|
|
if not cid:
|
|
|
|
cid = BusinessImpl.auto_update(condition={"cname": cname, "cid": ""})
|
|
|
|
insert = save_data(cname=cname, cid=cid)
|
|
|
|
if insert:
|
|
|
|
DB_TEST.upsert_single_data(
|
|
|
|
"WR_DataBase_v2_test",
|
|
|
|
"C3.5_分支机构",
|
|
|
|
{"企业名称": cname},
|
|
|
|
insert
|
|
|
|
)
|
|
|
|
return 'success'
|
|
|
|
else:
|
|
|
|
return 'new failed'
|
|
|
|
else:
|
|
|
|
return 'parameter exception'
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def delete(**kwargs):
|
|
|
|
"""删除"""
|
|
|
|
param = kwargs['param']
|
|
|
|
cid = param['cid']
|
|
|
|
cname = param['company']
|
|
|
|
|
|
|
|
res = DB_TEST.delete_single_data_in_array(
|
|
|
|
"WR_DataBase_v2_test",
|
|
|
|
"C3.5_分支机构",
|
|
|
|
{"企业ID": cid},
|
|
|
|
{"分支列表": {"企业名称": cname}}
|
|
|
|
)
|
|
|
|
|
|
|
|
if res:
|
|
|
|
result = {
|
|
|
|
"info": "success",
|
|
|
|
}
|
|
|
|
else:
|
|
|
|
result = {
|
|
|
|
"info": "no result"
|
|
|
|
}
|
|
|
|
return result
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def edit(**kwargs):
|
|
|
|
"""编辑"""
|
|
|
|
param = kwargs['param']
|
|
|
|
cid = param['cid']
|
|
|
|
body = param['body']
|
|
|
|
name = param['cname']
|
|
|
|
try:
|
|
|
|
branch = BranchList()
|
|
|
|
branch.cname = body['企业名称']
|
|
|
|
branch.leader = body['负责人']
|
|
|
|
branch.establishment_date = body['成立日期']
|
|
|
|
branch.status = body['企业状态']
|
|
|
|
branch.province = body['所属省份']
|
|
|
|
branch.city = body['所属地市']
|
|
|
|
update_data = branch.fields_toggle()
|
|
|
|
DB_TEST.update_single_data_in_array(
|
|
|
|
"WR_DataBase_v2_test",
|
|
|
|
"C3.5_分支机构",
|
|
|
|
{"企业ID": cid},
|
|
|
|
{"分支列表": {"企业名称": name}},
|
|
|
|
update_data
|
|
|
|
)
|
|
|
|
time_update = {"更新时间": CommonUtils.get_current_time()}
|
|
|
|
DB_TEST.update_single_data(
|
|
|
|
"WR_DataBase_v2_test",
|
|
|
|
"C3.5_分支机构",
|
|
|
|
{"企业ID": cid},
|
|
|
|
time_update
|
|
|
|
)
|
|
|
|
return 'success'
|
|
|
|
except Exception:
|
|
|
|
return 'edit failed'
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def view(**kwargs):
|
|
|
|
"""查看"""
|
|
|
|
query = kwargs['query']
|
|
|
|
cid = query['cid']
|
|
|
|
page_size = int(query['page_size'])
|
|
|
|
page_num = page_size * (int(query['page_num']) - 1)
|
|
|
|
|
2022-09-01 16:28:59 +08:00
|
|
|
res = DB_TEST.find_single_data(
|
2022-08-31 14:58:06 +08:00
|
|
|
'WR_DataBase_v2_test',
|
|
|
|
'C3.5_分支机构',
|
|
|
|
{"企业ID": cid},
|
2022-09-01 16:28:59 +08:00
|
|
|
['分支列表', '更新时间']
|
2022-08-31 14:58:06 +08:00
|
|
|
)
|
2022-09-01 16:28:59 +08:00
|
|
|
total = len(res['分支列表'])
|
|
|
|
update_time = res['更新时间']
|
2022-08-31 14:58:06 +08:00
|
|
|
|
|
|
|
record = DB_TEST.find_data_with_aggregate(
|
|
|
|
"WR_DataBase_v2_test",
|
|
|
|
"C3.5_分支机构",
|
|
|
|
[
|
|
|
|
{"$match": {"企业ID": cid}},
|
|
|
|
{"$project": {'_id': 0, '分支列表': {"$slice": ["${}".format('分支列表'), page_num, page_size]}}}
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
|
|
|
if record:
|
|
|
|
result = {
|
|
|
|
"info": "success",
|
2022-09-01 16:28:59 +08:00
|
|
|
"result": {
|
|
|
|
"total": total,
|
|
|
|
"update_time": update_time,
|
|
|
|
"records": record[0]['分支列表']
|
|
|
|
}
|
2022-08-31 14:58:06 +08:00
|
|
|
}
|
|
|
|
else:
|
|
|
|
result = {
|
|
|
|
"info": "no result"
|
|
|
|
}
|
|
|
|
return result
|