2022-06-09 17:04:44 +08:00
|
|
|
from DBHelper.MongoHelperInstance import DB_GUA
|
2022-06-10 17:01:47 +08:00
|
|
|
from Modules.Common.CommonUtils import CommonUtils
|
|
|
|
from Modules.Company.CompanyObject import GuaranteeInfo
|
2022-06-09 17:04:44 +08:00
|
|
|
from Utils.CommonUtil import trans_fields_name, sub_dict, get_attr
|
|
|
|
|
|
|
|
|
|
|
|
class CompanyManageImpl(object):
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def search(**kwargs):
|
|
|
|
|
|
|
|
total = DB_GUA.find_all_data_with_count(
|
|
|
|
"企业数据",
|
|
|
|
"公司概览",
|
|
|
|
{"企业名称": {"$regex": kwargs["company_name"]}}
|
|
|
|
)
|
|
|
|
|
|
|
|
items = DB_GUA.find_data_by_page_with_sort(
|
|
|
|
"企业数据",
|
|
|
|
"公司概览",
|
|
|
|
{"企业名称": {"$regex": kwargs["company_name"]}},
|
2022-06-10 10:12:53 +08:00
|
|
|
["企业ID", "企业名称", "所在省份", "所在城市", "信用评级", "评级日期", "公司标签"],
|
2022-06-09 17:04:44 +08:00
|
|
|
{"更新时间": -1},
|
|
|
|
kwargs["page_size"],
|
|
|
|
kwargs["page_no"]
|
|
|
|
)
|
|
|
|
|
|
|
|
trans_items = list()
|
|
|
|
|
|
|
|
for item in items:
|
|
|
|
trans_item = trans_fields_name(
|
|
|
|
item,
|
2022-06-10 10:12:53 +08:00
|
|
|
["企业ID", "所在省份", "所在城市", "信用评级", "评级日期", "公司标签"],
|
|
|
|
["cid", "省份", "地级市", "级别", "日期", "标签"]
|
2022-06-09 17:04:44 +08:00
|
|
|
)
|
|
|
|
trans_items.append(trans_item)
|
|
|
|
|
|
|
|
result = {
|
|
|
|
"total": total,
|
|
|
|
"records": trans_items
|
|
|
|
}
|
|
|
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def basic_data(**kwargs):
|
|
|
|
|
|
|
|
item = DB_GUA.find_single_data(
|
|
|
|
"企业数据",
|
|
|
|
"工商信息",
|
|
|
|
{"企业ID": kwargs["cid"]},
|
|
|
|
[
|
|
|
|
"企业名称", "企业简称", "企业类型", "担保类型", "统一社会信用代码",
|
|
|
|
"组织代码", "成立时间", "注册资本(万元)", "实缴资本(万元)", "经营范围",
|
|
|
|
"所在省份", "所在城市", "注册地址", "通信地址", "电子邮箱",
|
|
|
|
"联系电话", "参保人数", "公司定位", "法定代表人", "实际控制人",
|
|
|
|
"高管信息", "股东信息"
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
|
|
|
if not item:
|
|
|
|
result = {}
|
|
|
|
else:
|
2022-06-10 10:12:53 +08:00
|
|
|
result = dict()
|
|
|
|
|
|
|
|
business_info = sub_dict(
|
2022-06-09 17:04:44 +08:00
|
|
|
item,
|
|
|
|
[
|
|
|
|
"企业名称", "企业简称", "企业类型", "担保类型", "统一社会信用代码",
|
|
|
|
"组织代码", "成立时间", "注册资本(万元)", "实缴资本(万元)", "经营范围",
|
|
|
|
"所在省份", "所在城市", "注册地址", "通信地址", "电子邮箱",
|
|
|
|
"联系电话", "参保人数", "公司定位", "法定代表人", "实际控制人"
|
|
|
|
]
|
|
|
|
)
|
2022-06-10 10:12:53 +08:00
|
|
|
|
|
|
|
result["工商信息"] = business_info
|
2022-06-09 17:04:44 +08:00
|
|
|
result["高管信息"] = get_attr(item, ["高管信息"], default=[])
|
|
|
|
result["股东信息"] = get_attr(item, ["股东信息"], default=[])
|
|
|
|
|
|
|
|
return result
|
2022-06-10 10:48:59 +08:00
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def financial_data(**kwargs):
|
|
|
|
|
|
|
|
items = DB_GUA.find_all_data(
|
|
|
|
"企业数据",
|
|
|
|
"财务数据",
|
|
|
|
{"企业ID": kwargs["cid"]},
|
|
|
|
[
|
|
|
|
"报告期", "资产负债表", "利润表", "补充数据表"
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
|
|
|
if not items:
|
|
|
|
result = {}
|
|
|
|
else:
|
|
|
|
|
|
|
|
balance_sheets = list()
|
|
|
|
profit_statements = list()
|
|
|
|
appendix_sheets = list()
|
|
|
|
|
|
|
|
for item in items:
|
|
|
|
|
|
|
|
balance_sheet = item["资产负债表"]
|
|
|
|
profit_statement = item["利润表"]
|
|
|
|
appendix_sheet = item["补充数据表"]
|
|
|
|
|
|
|
|
balance_sheet["报告期"] = item["报告期"]
|
|
|
|
profit_statement["报告期"] = item["报告期"]
|
|
|
|
appendix_sheet["报告期"] = item["报告期"]
|
|
|
|
|
|
|
|
balance_sheets.append(balance_sheet)
|
|
|
|
profit_statements.append(profit_statement)
|
|
|
|
appendix_sheets.append(appendix_sheet)
|
|
|
|
|
|
|
|
result = {
|
|
|
|
"资产负债表": balance_sheets,
|
|
|
|
"利润表": profit_statements,
|
|
|
|
"补充数据表": appendix_sheets,
|
|
|
|
}
|
|
|
|
|
|
|
|
return result
|
|
|
|
|
2022-06-10 14:11:53 +08:00
|
|
|
@staticmethod
|
|
|
|
def guarantee_info(**kwargs):
|
2022-06-10 10:48:59 +08:00
|
|
|
|
2022-06-10 14:11:53 +08:00
|
|
|
items = DB_GUA.find_all_data(
|
|
|
|
"企业数据",
|
|
|
|
"担保数据",
|
|
|
|
{"企业ID": kwargs["cid"]},
|
|
|
|
[
|
|
|
|
"担保ID", "项目名称", "被担保人", "担保类型", "担保方式", "担保余额(万元)",
|
|
|
|
"解除金额(万元)", "责任担保余额(万元)", "担保开始日期", "担保结束日期",
|
|
|
|
"行业", "省份", "地级市", "备注"
|
|
|
|
]
|
|
|
|
)
|
2022-06-10 10:48:59 +08:00
|
|
|
|
2022-06-10 14:11:53 +08:00
|
|
|
if not items:
|
|
|
|
result = []
|
|
|
|
else:
|
|
|
|
result = items
|
2022-06-10 10:48:59 +08:00
|
|
|
|
2022-06-10 14:11:53 +08:00
|
|
|
return result
|
2022-06-10 17:01:47 +08:00
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def get_repay(**kwargs):
|
|
|
|
|
|
|
|
items = DB_GUA.find_all_data(
|
|
|
|
"企业数据",
|
|
|
|
"代偿信息",
|
|
|
|
{"担保ID": kwargs["gid"]},
|
|
|
|
[
|
|
|
|
"项目名称", "代偿金额(万元)", "代偿回收金额(万元)", "代偿日期"
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
|
|
|
if not items:
|
|
|
|
result = []
|
|
|
|
else:
|
|
|
|
result = items
|
|
|
|
|
|
|
|
return result
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def edit_repay(**kwargs):
|
|
|
|
|
|
|
|
def make_new_gid():
|
|
|
|
|
|
|
|
new_gid = CommonUtils.random_code(8)
|
|
|
|
case = DB_GUA.find_single_column(
|
|
|
|
"企业数据",
|
|
|
|
"代偿信息",
|
|
|
|
{"担保ID": new_gid},
|
|
|
|
"企业ID"
|
|
|
|
) is not None
|
|
|
|
while case:
|
|
|
|
new_gid = CommonUtils.random_code(8)
|
|
|
|
return new_gid
|
|
|
|
|
|
|
|
compensation = GuaranteeInfo.CompensationInfo()
|
|
|
|
compensation.compensation_id = make_new_gid()
|
|
|
|
compensation.project_name = kwargs["project_name"]
|
|
|
|
compensation.compensation_amount = kwargs["repay_amount"]
|
|
|
|
compensation.compensation_recovery_amount = kwargs["repay_recycle_amount"]
|
|
|
|
compensation.compensation_date = kwargs["repay_date"]
|
|
|
|
|
|
|
|
DB_GUA.upsert_single_data(
|
|
|
|
"企业数据",
|
|
|
|
"代偿信息",
|
|
|
|
{"担保ID": compensation.compensation_id},
|
|
|
|
compensation.fields_toggle()
|
|
|
|
)
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def business_info(**kwargs):
|
|
|
|
|
|
|
|
items = DB_GUA.find_data_with_aggregate(
|
|
|
|
"企业数据",
|
|
|
|
"区域分布",
|
|
|
|
[
|
|
|
|
{'$match': {"_id.cid": kwargs['cid']}},
|
|
|
|
{"$project": {"_id.cid": 1, "_id.区域": 1, "年末在保余额": 1}}
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
|
|
|
items
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
impl = CompanyManageImpl()
|
|
|
|
impl.business_info(cid="hjQVVZFw", year="2022")
|