From 28626707a339761d4cdf2311bec1b0fc9d1fad96 Mon Sep 17 00:00:00 2001 From: P3ngSaM <61768364+P3ngSaM@users.noreply.github.com> Date: Wed, 22 Jun 2022 10:19:49 +0800 Subject: [PATCH 1/2] =?UTF-8?q?update=20=E4=BD=86=E4=BF=9D=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=88=E6=96=B0=E5=A2=9E/=E7=BC=96=E8=BE=91?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Modules/Company/CompanyManageImpl.py | 34 +++++++++++++++++++++++++--- Modules/Company/CompanyRoutes.py | 7 ++++-- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/Modules/Company/CompanyManageImpl.py b/Modules/Company/CompanyManageImpl.py index 0c089c8..94bdbd4 100644 --- a/Modules/Company/CompanyManageImpl.py +++ b/Modules/Company/CompanyManageImpl.py @@ -1,6 +1,7 @@ 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 @@ -101,7 +102,6 @@ class CompanyManageImpl(object): appendix_sheets = list() for item in items: - balance_sheet = item["资产负债表"] profit_statement = item["利润表"] appendix_sheet = item["补充数据表"] @@ -164,6 +164,34 @@ class CompanyManageImpl(object): return result + @staticmethod + def new_guarantee_info(**kwargs): + data = kwargs['data'] + cid = data['企业ID'] + del data['企业ID'] + if '担保ID' in data.keys(): + # 存在担保ID则为修改 + gid = data['担保ID'] + DB_GUA.update_single_data( + '企业数据', + '担保数据', + {'企业ID': cid, '担保ID': gid}, + data + ) + result = '修改成功' + else: + # 不存在就是新增 + gid = CompanyUtils.make_new_cid() + DB_GUA.upsert_single_data( + '企业数据', + '担保数据', + {'企业ID': cid, '担保ID': gid}, + data + ) + result = '新增成功' + + return result + @staticmethod def get_repay(**kwargs): @@ -187,7 +215,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 +380,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, diff --git a/Modules/Company/CompanyRoutes.py b/Modules/Company/CompanyRoutes.py index fbd9ade..d62d9ca 100644 --- a/Modules/Company/CompanyRoutes.py +++ b/Modules/Company/CompanyRoutes.py @@ -177,14 +177,17 @@ def guarantee_info_route(**kwargs): return {"info": "担保信息", "result": result}, 200 if request.method == "POST": - RouteParamsCheck( request.json, [ - "项目名称", "被担保人", "担保类型", "担保方式", "担保余额(万元)", "解除金额(万元)", + "企业ID", "项目名称", "被担保人", "担保类型", "担保方式", "担保余额(万元)", "解除金额(万元)", "责任担保余额(万元)", "担保开始日期", "担保结束日期", "省份", "地级市", "行业" ] ).required() + impl = CompanyManageImpl() + data = request.json + result = impl.new_guarantee_info(data=data) + return {"info": "担保信息", "result": result}, 200 except APIReturnError as e: return {"info": e.__str__()}, e.status_code From 961e4678209fbb29a9a72a3c192d24e92db00a6e Mon Sep 17 00:00:00 2001 From: P3ngSaM <61768364+P3ngSaM@users.noreply.github.com> Date: Wed, 22 Jun 2022 11:04:58 +0800 Subject: [PATCH 2/2] =?UTF-8?q?update=20=E4=BD=86=E4=BF=9D=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=88=E6=96=B0=E5=A2=9E/=E7=BC=96=E8=BE=91?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Modules/Company/CompanyManageImpl.py | 53 ++++++++++++++++------------ Modules/Company/CompanyRoutes.py | 5 ++- 2 files changed, 35 insertions(+), 23 deletions(-) diff --git a/Modules/Company/CompanyManageImpl.py b/Modules/Company/CompanyManageImpl.py index 94bdbd4..9fd1eed 100644 --- a/Modules/Company/CompanyManageImpl.py +++ b/Modules/Company/CompanyManageImpl.py @@ -4,6 +4,7 @@ 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): @@ -168,29 +169,37 @@ class CompanyManageImpl(object): def new_guarantee_info(**kwargs): data = kwargs['data'] cid = data['企业ID'] - del data['企业ID'] - if '担保ID' in data.keys(): - # 存在担保ID则为修改 - gid = data['担保ID'] - DB_GUA.update_single_data( - '企业数据', - '担保数据', - {'企业ID': cid, '担保ID': gid}, - data - ) - result = '修改成功' - else: - # 不存在就是新增 - gid = CompanyUtils.make_new_cid() - DB_GUA.upsert_single_data( - '企业数据', - '担保数据', - {'企业ID': cid, '担保ID': gid}, - data - ) - result = '新增成功' + 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 '修改成功' - return result @staticmethod def get_repay(**kwargs): diff --git a/Modules/Company/CompanyRoutes.py b/Modules/Company/CompanyRoutes.py index d62d9ca..7756791 100644 --- a/Modules/Company/CompanyRoutes.py +++ b/Modules/Company/CompanyRoutes.py @@ -186,7 +186,10 @@ def guarantee_info_route(**kwargs): ).required() impl = CompanyManageImpl() data = request.json - result = impl.new_guarantee_info(data=data) + 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: