diff --git a/Modules/Company/CompanyManageImpl.py b/Modules/Company/CompanyManageImpl.py index 0ce6cd4..ec0483a 100644 --- a/Modules/Company/CompanyManageImpl.py +++ b/Modules/Company/CompanyManageImpl.py @@ -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, diff --git a/Modules/Company/CompanyRoutes.py b/Modules/Company/CompanyRoutes.py index fbd9ade..7756791 100644 --- a/Modules/Company/CompanyRoutes.py +++ b/Modules/Company/CompanyRoutes.py @@ -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