a7933381 by 周伟奇

fix bug

1 parent 63e0b4a3
......@@ -1394,49 +1394,50 @@ SE_HMH_FIELD = ['借款人/承租人姓名', '借款人/承租人证件号', '
SE_BANK_FIELD = ['accountNo', 'bankName']
SE_DDA_FIELD = ['applicationId(1)', 'applicationId(2)', 'bankName', 'companyName', 'customerName', 'idNum', 'accountHolderName', 'accountNo']
SE_AFC_CON_MAP = {
'合同编号-每页': (None, '合同编号', None),
'所购车辆价格-小写-重要条款': (1, '所购车辆价格', None),
'车架号-重要条款': (1, '车架号', None),
'贷款本金金额-重要条款': (1, '贷款本金金额', '小写'),
'贷款期限-重要条款': (1, '贷款期限', None),
'车辆贷款本金金额-重要条款': (1, '车辆贷款本金金额', None),
'附加产品融资贷款本金总额-重要条款': (1, '附加产品融资贷款本金总金额', None),
'所购车辆价格': (2, '所购车辆价格', None),
'车架号': (2, '车架号', None),
'经销商': (2, '经销商', None),
'贷款本金金额': (2, '贷款本金金额', '小写'),
'车辆贷款本金金额': (2, '车辆贷款本金金额', None),
'附加产品融资贷款本金总额': (2, '附加产品融资贷款本金总额', None),
'贷款期限': (2, '贷款期限', None),
'还款账号': (2, '还款账号', '账号'),
'户名': (2, '还款账号', '户名'),
'开户行': (2, '还款账号', '开户行'),
'借款人签字及时间': (1, '借款人签字及时间', None),
'借款人姓名': (2, '借款人及抵押人', 'name'),
'借款人证件号': (2, '借款人及抵押人', 'id'),
'共借人姓名': (2, '共同借款人及共同抵押人', 'name'),
'共借人证件号': (2, '共同借款人及共同抵押人', 'id'),
'保证人姓名1': (2, '保证人1', 'name'),
'保证人证件号1': (2, '保证人1', 'id'),
'保证人姓名2': (2, '保证人2', 'name'),
'保证人证件号2': (2, '保证人2', 'id'),
'主借人签字': (8, '主借人签字', '签字'),
'主借人日期': (8, '主借人签字', '日期'),
'共借人签字': (8, '共借人签字', '签字'),
'共借人日期': (8, '共借人签字', '日期'),
'保证人签字1': (8, '保证人1签字', '签字'),
'保证人日期1': (8, '保证人1签字', '日期'),
'保证人签字2': (8, '保证人2签字', '签字'),
'保证人日期2': (8, '保证人2签字', '日期'),
'见证人签字': (8, '见证人签字', '签字'),
'见证人日期': (8, '见证人签字', '日期'),
'还款计划表': (3, '还款计划表', None),
ASP_KEY = 'is_asp'
SE_AFC_CON_MAP = {
'合同编号-每页': (None, None, '合同编号', None),
'所购车辆价格-小写-重要条款': (1, 1, '所购车辆价格', None),
'车架号-重要条款': (1, 1, '车架号', None),
'贷款本金金额-重要条款': (1, 1, '贷款本金金额', '小写'),
'贷款期限-重要条款': (1, 1, '贷款期限', None),
'车辆贷款本金金额-重要条款': (1, 1, '车辆贷款本金金额', None),
'附加产品融资贷款本金总额-重要条款': (1, 1, '附加产品融资贷款本金总金额', None),
'所购车辆价格': (2, 2, '所购车辆价格', None),
'车架号': (2, 2, '车架号', None),
'经销商': (2, 2, '经销商', None),
'贷款本金金额': (2, 2, '贷款本金金额', '小写'),
'车辆贷款本金金额': (2, 2, '车辆贷款本金金额', None),
'附加产品融资贷款本金总额': (2, 2, '附加产品融资贷款本金总额', None),
'贷款期限': (2, 2, '贷款期限', None),
'还款账号': (2, 2, '还款账户', '账号'),
'户名': (2, 2, '还款账户', '户名'),
'开户行': (2, 2, '还款账户', '开户行'),
'借款人签字及时间': (1, 1, '借款人签字及时间', None),
'借款人姓名': (2, 2, '借款人及抵押人', 'name'),
'借款人证件号': (2, 2, '借款人及抵押人', 'id'),
'共借人姓名': (2, 2, '共同借款人及共同抵押人', 'name'),
'共借人证件号': (2, 2, '共同借款人及共同抵押人', 'id'),
'保证人姓名1': (2, 2, '保证人1', 'name'),
'保证人证件号1': (2, 2, '保证人1', 'id'),
'保证人姓名2': (2, 2, '保证人2', 'name'),
'保证人证件号2': (2, 2, '保证人2', 'id'),
'主借人签字': (7, 8, '主借人签字', '签字'),
'主借人日期': (7, 8, '主借人签字', '日期'),
'共借人签字': (7, 8, '共借人签字', '签字'),
'共借人日期': (7, 8, '共借人签字', '日期'),
'保证人签字1': (7, 8, '保证人1签字', '签字'),
'保证人日期1': (7, 8, '保证人1签字', '日期'),
'保证人签字2': (7, 8, '保证人2签字', '签字'),
'保证人日期2': (7, 8, '保证人2签字', '日期'),
'见证人签字': (7, 8, '见证人签字', '签字'),
'见证人日期': (7, 8, '见证人签字', '日期'),
'还款计划表': (3, 3, '还款计划表', None),
}
SE_AFC_CON_FIELD = ['合同编号-每页', '所购车辆价格-小写-重要条款', '车架号-重要条款', '贷款本金金额-重要条款', '贷款期限-重要条款',
......
......@@ -282,6 +282,7 @@ class Command(BaseCommand, LoggerMixin):
elif isinstance(sub_value[text_key], str):
page_compare_dict[key][sub_key] = sub_value[text_key]
contract_result_compare.setdefault(classify, dict())[consts.ASP_KEY] = contract_dict.get(consts.ASP_KEY, False)
contract_result_compare.setdefault(classify, dict())[page_num_only] = page_compare_dict
......@@ -858,9 +859,12 @@ class Command(BaseCommand, LoggerMixin):
for classify, page_info_dict in contract_result_compare.items():
res = {}
if classify == consts.CONTRACT_CLASSIFY:
for key, (pno, key1, key2) in consts.SE_AFC_CON_MAP.items():
is_asp = page_info_dict.get(consts.ASP_KEY, False)
for key, (pno_not_asp, pno_asp, key1, key2) in consts.SE_AFC_CON_MAP.items():
pno = pno_asp if is_asp else pno_not_asp
if pno is None:
for i in range(1, 9):
end_idx = 9 if is_asp else 8
for i in range(1, end_idx):
res.setdefault(key, list()).append(page_info_dict.get(str(i), {}).get(key1, ''))
elif key2 is None:
res[key] = page_info_dict.get(str(pno), {}).get(key1, '')
......@@ -1144,6 +1148,7 @@ class Command(BaseCommand, LoggerMixin):
if isinstance(page_num, str) and page_num.startswith('page_'):
page_res[page_num] = {
'classify': int(classify_1_str),
"is_asp": ocr_result.get('is_asp', False),
'page_num': page_num,
'page_info': page_info
}
......
......@@ -1121,15 +1121,19 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list):
(consts.SE_AFC_CON_FIELD[17], schedule_list_str),
]
# asp_list = []
# for asp_info in cms_info.get('associatedServices', []):
# asp_list.append(
# (
# asp_info.get('associatedServices', ''),
# asp_info.get('price', 0.0),
# asp_info.get('financed', 0.0)
# )
# )
asp_list = []
for asp_info in cms_info.get('associatedServices', []):
asp_list.append(
(
asp_info.get('associatedServices', ''),
asp_info.get('price', 0.0),
asp_info.get('financed', 0.0)
)
)
if len(asp_list) == 0:
afc_contract_input.pop(5)
afc_contract_input.pop(6)
# if len(asp_list) > 0:
# fin_total = 0
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!