Merge branch 'ps_03' into 'main'

update 但保信息(新增/编辑)

See merge request root/guarantee-admin-api-v0.2!8
This commit is contained in:
FECR-IBD 2022-06-22 03:06:39 +00:00
commit faceade0ed
2 changed files with 48 additions and 5 deletions

View File

@ -1,8 +1,10 @@
from DBHelper.MongoHelperInstance import DB_GUA
from Modules.Common.CommonUtils import CommonUtils
from Modules.Company.CompanyObject import GuaranteeInfo
from Modules.Company.CompanyUtils import CompanyUtils
from Utils.CommonUtil import trans_fields_name, sub_dict, get_attr, make_multistage_update_body
from Utils.ErrorUtil import APIReturnError
from Utils.ObjUtil import SpecObject
class CompanyManageImpl(object):
@ -101,7 +103,6 @@ class CompanyManageImpl(object):
appendix_sheets = list()
for item in items:
balance_sheet = item["资产负债表"]
profit_statement = item["利润表"]
appendix_sheet = item["补充数据表"]
@ -164,6 +165,42 @@ class CompanyManageImpl(object):
return result
@staticmethod
def new_guarantee_info(**kwargs):
data = kwargs['data']
cid = data['企业ID']
gid = CompanyUtils.make_new_cid()
data['担保ID'] = gid
new_data = SpecObject.set_specify_instance(
instance=GuaranteeInfo,
data=data
)
DB_GUA.upsert_single_data(
'企业数据',
'担保数据',
{'企业ID': cid, '担保ID': gid},
new_data.fields_toggle()
)
return '新增成功'
@staticmethod
def edit_guarantee_info(**kwargs):
data = kwargs['data']
cid = data['企业ID']
gid = data['担保ID']
edit_data = SpecObject.set_specify_instance(
instance=GuaranteeInfo,
data=data
)
DB_GUA.update_single_data(
'企业数据',
'担保数据',
{'企业ID': cid, '担保ID': gid},
edit_data.fields_toggle()
)
return '修改成功'
@staticmethod
def get_repay(**kwargs):
@ -187,7 +224,6 @@ class CompanyManageImpl(object):
def edit_repay(**kwargs):
def make_new_gid():
new_gid = CommonUtils.random_code(8)
case = DB_GUA.find_single_column(
"企业数据",
@ -353,7 +389,8 @@ class CompanyManageImpl(object):
"企业数据",
"担保数据-担保金额分布",
{"企业ID": cid},
["企业ID", "报告期", "100万以下含100万", "500万以下含500万", "500-1000万含1000万", "1000-3000万含3000万", "3000-5000万含5000万"
["企业ID", "报告期", "100万以下含100万", "500万以下含500万", "500-1000万含1000万", "1000-3000万含3000万",
"3000-5000万含5000万"
"3000-5000万含5000万", "5000-8000万含8000万", "8000-10000万含10000万", "10000万以上", "合计"],
{"报告期": -1},
page_size,

View File

@ -177,14 +177,20 @@ def guarantee_info_route(**kwargs):
return {"info": "担保信息", "result": result}, 200
if request.method == "POST":
RouteParamsCheck(
request.json,
[
"项目名称", "被担保人", "担保类型", "担保方式", "担保余额(万元)", "解除金额(万元)",
"企业ID", "项目名称", "被担保人", "担保类型", "担保方式", "担保余额(万元)", "解除金额(万元)",
"责任担保余额(万元)", "担保开始日期", "担保结束日期", "省份", "地级市", "行业"
]
).required()
impl = CompanyManageImpl()
data = request.json
if 'new' in request.args.keys():
result = impl.new_guarantee_info(data=data)
else:
result = impl.edit_guarantee_info(data=data)
return {"info": "担保信息", "result": result}, 200
except APIReturnError as e:
return {"info": e.__str__()}, e.status_code