c64686f8 by 周伟奇

add qrs compare

1 parent 573f28d7
...@@ -1258,6 +1258,7 @@ COMPARE_FIELDS = ( ...@@ -1258,6 +1258,7 @@ COMPARE_FIELDS = (
1258 HMH_OCR_FIELD, 1258 HMH_OCR_FIELD,
1259 JYPZ_OCR_FIELD, 1259 JYPZ_OCR_FIELD,
1260 HT_FIELD, 1260 HT_FIELD,
1261 QRS_FIELD,
1261 BD_FIELD, 1262 BD_FIELD,
1262 BS_FIELD, 1263 BS_FIELD,
1263 HIL_CONTRACT_1_FIELD, 1264 HIL_CONTRACT_1_FIELD,
...@@ -1271,6 +1272,7 @@ PRE_COMPARE_FIELDS = ( ...@@ -1271,6 +1272,7 @@ PRE_COMPARE_FIELDS = (
1271 BC_OCR_FIELD, 1272 BC_OCR_FIELD,
1272 HMH_OCR_FIELD, 1273 HMH_OCR_FIELD,
1273 HT_FIELD, 1274 HT_FIELD,
1275 QRS_FIELD,
1274 BD_FIELD, 1276 BD_FIELD,
1275 HIL_CONTRACT_1_FIELD, 1277 HIL_CONTRACT_1_FIELD,
1276 HIL_CONTRACT_2_FIELD, 1278 HIL_CONTRACT_2_FIELD,
...@@ -1605,6 +1607,7 @@ SE_HIL_CON_MAP = { ...@@ -1605,6 +1607,7 @@ SE_HIL_CON_MAP = {
1605 HIL_CONTRACT_3_CLASSIFY: SE_HIL_CON_3_MAP, 1607 HIL_CONTRACT_3_CLASSIFY: SE_HIL_CON_3_MAP,
1606 } 1608 }
1607 1609
1610 SE_AFC_CON_QRS_FIELD = ['合同编号']
1608 SE_AFC_CON_FIELD = ['合同编号-每页', '所购车辆价格-小写-重要条款', '车架号-重要条款', '贷款本金金额-重要条款', '贷款期限-重要条款', 1611 SE_AFC_CON_FIELD = ['合同编号-每页', '所购车辆价格-小写-重要条款', '车架号-重要条款', '贷款本金金额-重要条款', '贷款期限-重要条款',
1609 '车辆贷款本金金额-重要条款', '附加产品融资贷款本金总额-重要条款', '所购车辆价格', '车架号', '经销商', 1612 '车辆贷款本金金额-重要条款', '附加产品融资贷款本金总额-重要条款', '所购车辆价格', '车架号', '经销商',
1610 '贷款本金金额', '车辆贷款本金金额', '附加产品融资贷款本金总额', '贷款期限', '还款账号', '户名', '开户行', 1613 '贷款本金金额', '车辆贷款本金金额', '附加产品融资贷款本金总额', '贷款期限', '还款账号', '户名', '开户行',
...@@ -1700,6 +1703,7 @@ DDA_EN = 'DDA' ...@@ -1700,6 +1703,7 @@ DDA_EN = 'DDA'
1700 HMH_EN = 'Mortgage Waiver Letter' 1703 HMH_EN = 'Mortgage Waiver Letter'
1701 JYPZ_EN = 'Used Car Document' 1704 JYPZ_EN = 'Used Car Document'
1702 AFC_CONTRACT_EN = 'AFC Contract' 1705 AFC_CONTRACT_EN = 'AFC Contract'
1706 AFC_CONTRACT_QRS_EN = '送达地址确认书'
1703 BD_EN = 'Insurance' 1707 BD_EN = 'Insurance'
1704 BS_EN = 'Bank Statement' 1708 BS_EN = 'Bank Statement'
1705 HIL_CONTRACT_1_EN = '售后回租合同' 1709 HIL_CONTRACT_1_EN = '售后回租合同'
...@@ -1989,6 +1993,10 @@ HIL_CONTRACT_3_COMPARE_LOGIC = { ...@@ -1989,6 +1993,10 @@ HIL_CONTRACT_3_COMPARE_LOGIC = {
1989 '承租人签字': ('承租人签字', 'se_contain_compare', {}, '车辆处置协议承租人签字与系统承租人姓名不一致'), 1993 '承租人签字': ('承租人签字', 'se_contain_compare', {}, '车辆处置协议承租人签字与系统承租人姓名不一致'),
1990 } 1994 }
1991 1995
1996 HT_QRS_COMPARE_LOGIC = {
1997 '合同编号': ('合同编号', 'se_qrs_compare', {}, '请确认是否提供合格的送达地址确认书'),
1998 }
1999
1992 HT_COMPARE_LOGIC = { 2000 HT_COMPARE_LOGIC = {
1993 '合同编号-每页': ('合同编号-每页', 'se_list_compare', {}, '合同编号与系统不一致'), 2001 '合同编号-每页': ('合同编号-每页', 'se_list_compare', {}, '合同编号与系统不一致'),
1994 # '合同编号-每页(no-asp)': ('合同编号-每页', 'se_list_compare', {'pop_last': True}, '合同编号与系统不一致'), 2002 # '合同编号-每页(no-asp)': ('合同编号-每页', 'se_list_compare', {'pop_last': True}, '合同编号与系统不一致'),
...@@ -2065,6 +2073,7 @@ SE_COMPARE_FIELD = { ...@@ -2065,6 +2073,7 @@ SE_COMPARE_FIELD = {
2065 HMH_EN: (HMH_OCR_FIELD, HMH_COMPARE_LOGIC, False), 2073 HMH_EN: (HMH_OCR_FIELD, HMH_COMPARE_LOGIC, False),
2066 JYPZ_EN: (JYPZ_OCR_FIELD, JYPZ_COMPARE_LOGIC, False), 2074 JYPZ_EN: (JYPZ_OCR_FIELD, JYPZ_COMPARE_LOGIC, False),
2067 AFC_CONTRACT_EN: (HT_FIELD, HT_COMPARE_LOGIC, False), 2075 AFC_CONTRACT_EN: (HT_FIELD, HT_COMPARE_LOGIC, False),
2076 AFC_CONTRACT_QRS_EN: (QRS_FIELD, HT_QRS_COMPARE_LOGIC, False),
2068 BD_EN: (BD_FIELD, BD_COMPARE_LOGIC, False), 2077 BD_EN: (BD_FIELD, BD_COMPARE_LOGIC, False),
2069 BS_EN: (BS_FIELD, BS_COMPARE_LOGIC, False), 2078 BS_EN: (BS_FIELD, BS_COMPARE_LOGIC, False),
2070 HIL_CONTRACT_1_EN: (HIL_CONTRACT_1_FIELD, HIL_CONTRACT_1_COMPARE_LOGIC, False), 2079 HIL_CONTRACT_1_EN: (HIL_CONTRACT_1_FIELD, HIL_CONTRACT_1_COMPARE_LOGIC, False),
...@@ -2074,7 +2083,7 @@ SE_COMPARE_FIELD = { ...@@ -2074,7 +2083,7 @@ SE_COMPARE_FIELD = {
2074 2083
2075 SE_COMPARE_FIELD_AUTO = { 2084 SE_COMPARE_FIELD_AUTO = {
2076 BS_EN: (BS_FIELD, BS_COMPARE_LOGIC_AUTO, False), 2085 BS_EN: (BS_FIELD, BS_COMPARE_LOGIC_AUTO, False),
2077 ID_EN: (IC_OCR_FIELD, ID_COMPARE_LOGIC, True), 2086 ID_EN: (IC_OCR_FIELD, ID_COMPARE_LOGIC_AUTO, True),
2078 } 2087 }
2079 2088
2080 2089
......
...@@ -914,8 +914,10 @@ def get_se_cms_compare_info_auto(last_obj, application_entity, auto=True, ignore ...@@ -914,8 +914,10 @@ def get_se_cms_compare_info_auto(last_obj, application_entity, auto=True, ignore
914 # is_cdfl = True # 车贷分离 914 # is_cdfl = True # 车贷分离
915 is_cdfl_bo = False # 车贷分离,主借 915 is_cdfl_bo = False # 车贷分离,主借
916 is_cdfl_co = False # 车贷分离,共借 916 is_cdfl_co = False # 车贷分离,共借
917 role_count = 0
917 # province = cms_info.get('province', '') 918 # province = cms_info.get('province', '')
918 for individual_info in cms_info.get('applicantInformation', []): 919 for individual_info in cms_info.get('applicantInformation', []):
920 role_count += 1
919 all_id_num = [] 921 all_id_num = []
920 922
921 license_dict = {} 923 license_dict = {}
...@@ -1440,6 +1442,10 @@ def get_se_cms_compare_info_auto(last_obj, application_entity, auto=True, ignore ...@@ -1440,6 +1442,10 @@ def get_se_cms_compare_info_auto(last_obj, application_entity, auto=True, ignore
1440 afc_contract_input.append((consts.SE_AFC_CON_FIELD[19], empty_str)) 1442 afc_contract_input.append((consts.SE_AFC_CON_FIELD[19], empty_str))
1441 1443
1442 contract_info[consts.AFC_CONTRACT_EN] = afc_contract_input 1444 contract_info[consts.AFC_CONTRACT_EN] = afc_contract_input
1445
1446 afc_contract_qrs_input = [(consts.SE_AFC_CON_QRS_FIELD[0], '{0}{1}{2}'.format(role_count, consts.SPLIT_STR, full_no))]
1447 contract_info[consts.AFC_CONTRACT_QRS_EN] = afc_contract_qrs_input
1448
1443 compare_info['contract'] = contract_info 1449 compare_info['contract'] = contract_info
1444 return compare_info, cms_info.get('autoApprovedDetails', {}).get('aaType', ''), is_gsyh 1450 return compare_info, cms_info.get('autoApprovedDetails', {}).get('aaType', ''), is_gsyh
1445 1451
...@@ -1460,8 +1466,10 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list, auto=Fals ...@@ -1460,8 +1466,10 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list, auto=Fals
1460 # 个人信息证件------------------------------------------------------------------------------------------------------ 1466 # 个人信息证件------------------------------------------------------------------------------------------------------
1461 is_cdfl_bo = False # 车贷分离,主借 1467 is_cdfl_bo = False # 车贷分离,主借
1462 is_cdfl_co = False # 车贷分离,共借 1468 is_cdfl_co = False # 车贷分离,共借
1469 role_count = 0
1463 # province = cms_info.get('province', '') 1470 # province = cms_info.get('province', '')
1464 for individual_info in cms_info.get('applicantInformation', []): 1471 for individual_info in cms_info.get('applicantInformation', []):
1472 role_count += 1
1465 all_id_num = [] 1473 all_id_num = []
1466 1474
1467 license_dict = {} 1475 license_dict = {}
...@@ -1983,6 +1991,9 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list, auto=Fals ...@@ -1983,6 +1991,9 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list, auto=Fals
1983 afc_contract_input.append((consts.SE_AFC_CON_FIELD[19], empty_str)) 1991 afc_contract_input.append((consts.SE_AFC_CON_FIELD[19], empty_str))
1984 1992
1985 contract_info[consts.AFC_CONTRACT_EN] = afc_contract_input 1993 contract_info[consts.AFC_CONTRACT_EN] = afc_contract_input
1994
1995 afc_contract_qrs_input = [(consts.SE_AFC_CON_QRS_FIELD[0], '{0}{1}{2}'.format(role_count, consts.SPLIT_STR, full_no))]
1996 contract_info[consts.AFC_CONTRACT_QRS_EN] = afc_contract_qrs_input
1986 compare_info['contract'] = contract_info 1997 compare_info['contract'] = contract_info
1987 return compare_info, cms_info.get('applicationVersion', 1), is_gsyh 1998 return compare_info, cms_info.get('applicationVersion', 1), is_gsyh
1988 1999
...@@ -2718,6 +2729,46 @@ def se_contract_compare(license_en, ocr_res_dict, strip_list, is_gsyh): ...@@ -2718,6 +2729,46 @@ def se_contract_compare(license_en, ocr_res_dict, strip_list, is_gsyh):
2718 return result_field_list, field_img_path_dict 2729 return result_field_list, field_img_path_dict
2719 2730
2720 2731
2732 def se_contract_qrs_compare(license_en, ocr_res_dict, strip_list):
2733 ocr_field, compare_logic, _ = consts.SE_COMPARE_FIELD[license_en]
2734 ocr_res_str = ocr_res_dict.get(ocr_field)
2735
2736 result_field_list = []
2737 field_img_path_dict = dict()
2738
2739 if ocr_res_str is not None:
2740 ocr_res_list = json.loads(ocr_res_str)
2741
2742 contract_num_list = []
2743 for qrs_res in ocr_res_list:
2744 contract_num_list.append(qrs_res.get('合同编号', ''))
2745
2746 ocr_res = {
2747 '合同编号': contract_num_list
2748 }
2749
2750 for name, value in strip_list:
2751
2752 ocr_str_or_list = ocr_res.get(compare_logic[name][0])
2753
2754 if isinstance(ocr_str_or_list, list):
2755 ocr_str = json.dumps(ocr_str_or_list, ensure_ascii=False)
2756 else:
2757 ocr_str_or_list = ocr_str_or_list.strip()
2758 ocr_str = ocr_str_or_list
2759 result = getattr(cp, compare_logic[name][1])(value, ocr_str_or_list, **compare_logic[name][2])
2760
2761 reason = compare_logic[name][3]
2762 img_path = empty_str
2763 error_type = empty_error_type if result == consts.RESULT_Y else ErrorType.OCR.value
2764 result_field_list.append((name, value, result, ocr_str, img_path, error_type, reason))
2765 else:
2766 for name, value in strip_list:
2767 result_field_list.append((name, value, consts.RESULT_N, empty_str, empty_str, ErrorType.NF.value,
2768 '{0}未找到'.format(license_en)))
2769
2770 return result_field_list, field_img_path_dict
2771
2721 def se_mvc34_compare(license_en, ocr_res_dict, field_list): 2772 def se_mvc34_compare(license_en, ocr_res_dict, field_list):
2722 ocr_field, compare_logic, _ = consts.SE_COMPARE_FIELD[license_en] 2773 ocr_field, compare_logic, _ = consts.SE_COMPARE_FIELD[license_en]
2723 ocr_res_str = ocr_res_dict.get(ocr_field) 2774 ocr_res_str = ocr_res_dict.get(ocr_field)
...@@ -2927,6 +2978,8 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto, id_res_list ...@@ -2927,6 +2978,8 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto, id_res_list
2927 result_field_list, field_img_path_dict = se_mvc34_compare(license_en, ocr_res_dict, strip_list) 2978 result_field_list, field_img_path_dict = se_mvc34_compare(license_en, ocr_res_dict, strip_list)
2928 elif license_en in [consts.HIL_CONTRACT_1_EN, consts.HIL_CONTRACT_2_EN, consts.HIL_CONTRACT_3_EN, consts.AFC_CONTRACT_EN]: 2979 elif license_en in [consts.HIL_CONTRACT_1_EN, consts.HIL_CONTRACT_2_EN, consts.HIL_CONTRACT_3_EN, consts.AFC_CONTRACT_EN]:
2929 result_field_list, field_img_path_dict = se_contract_compare(license_en, ocr_res_dict, strip_list, is_gsyh) 2980 result_field_list, field_img_path_dict = se_contract_compare(license_en, ocr_res_dict, strip_list, is_gsyh)
2981 elif license_en == consts.AFC_CONTRACT_QRS_EN:
2982 result_field_list, field_img_path_dict = se_contract_qrs_compare(license_en, ocr_res_dict, strip_list)
2930 elif license_en == consts.BS_EN: 2983 elif license_en == consts.BS_EN:
2931 result_field_list, field_img_path_dict = se_bs_compare(license_en, ocr_res_dict, strip_list, is_auto) 2984 result_field_list, field_img_path_dict = se_bs_compare(license_en, ocr_res_dict, strip_list, is_auto)
2932 else: 2985 else:
...@@ -2936,8 +2989,11 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto, id_res_list ...@@ -2936,8 +2989,11 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh, is_auto, id_res_list
2936 for name, value, result, ocr_str, img_path, error_type, cn_reason in result_field_list: 2989 for name, value, result, ocr_str, img_path, error_type, cn_reason in result_field_list:
2937 total_fields += 1 2990 total_fields += 1
2938 if result == consts.RESULT_N: 2991 if result == consts.RESULT_N:
2939 # if license_en != consts.MVI_EN or name != consts.SE_NEW_ADD_FIELD[9]: 2992 # 确认书N2
2940 successful_at_this_level = False 2993 if license_en == consts.AFC_CONTRACT_QRS_EN and name == consts.SE_AFC_CON_QRS_FIELD[0] and ocr_str == empty_str:
2994 pass
2995 else:
2996 successful_at_this_level = False
2941 failed_count += 1 2997 failed_count += 1
2942 each_license_failed_count += 1 2998 each_license_failed_count += 1
2943 failure_field.append(name) 2999 failure_field.append(name)
......
...@@ -646,6 +646,20 @@ class Comparison: ...@@ -646,6 +646,20 @@ class Comparison:
646 # input_str = input_str.replace('-', '') 646 # input_str = input_str.replace('-', '')
647 647
648 return self.is_after_today_pre(ocr_str) 648 return self.is_after_today_pre(ocr_str)
649
650 def se_qrs_compare(self, input_str, ocr_str_or_list, **kwargs):
651 try:
652 target_count_str, application_id = input_str.split('_')
653 search_count = 0
654 for item_str in ocr_str_or_list:
655 if item_str == application_id:
656 search_count += 1
657 if search_count >= int(target_count_str):
658 return self.RESULT_Y
659 else:
660 return self.RESULT_N
661 except Exception as e:
662 return self.RESULT_N
649 663
650 664
651 cp = Comparison() 665 cp = Comparison()
......
...@@ -19,8 +19,10 @@ def get_pos_compare_info(pos_info): ...@@ -19,8 +19,10 @@ def get_pos_compare_info(pos_info):
19 custr_name = custr_id = '' 19 custr_name = custr_id = ''
20 20
21 # 身份证 21 # 身份证
22 role_count = 0
22 individual_cus_info_list = pos_info.get('individualCusInfo', []) 23 individual_cus_info_list = pos_info.get('individualCusInfo', [])
23 for individual_cus_info in individual_cus_info_list: 24 for individual_cus_info in individual_cus_info_list:
25 role_count += 1
24 customer_name = individual_cus_info.get('customerName', '').strip() 26 customer_name = individual_cus_info.get('customerName', '').strip()
25 id_num = individual_cus_info.get('idNum', '') 27 id_num = individual_cus_info.get('idNum', '')
26 applicant_type = individual_cus_info.get('applicantType', '') 28 applicant_type = individual_cus_info.get('applicantType', '')
...@@ -177,6 +179,9 @@ def get_pos_compare_info(pos_info): ...@@ -177,6 +179,9 @@ def get_pos_compare_info(pos_info):
177 afc_contract_input.append((consts.AFC_CON_FIELDS[11], empty_str)) 179 afc_contract_input.append((consts.AFC_CON_FIELDS[11], empty_str))
178 compare_info.setdefault(consts.AFC_CONTRACT_EN, []).append(afc_contract_input) 180 compare_info.setdefault(consts.AFC_CONTRACT_EN, []).append(afc_contract_input)
179 181
182 afc_contract_qrs_input = [(consts.AFC_CON_QRS_FIELDS[0], '{0}{1}{2}'.format(role_count, consts.SPLIT_STR, application_id_version))]
183 compare_info.setdefault(consts.AFC_CONTRACT_QRS_EN, []).append(afc_contract_qrs_input)
184
180 return compare_info 185 return compare_info
181 186
182 187
...@@ -191,6 +196,10 @@ def pre_compare_process(compare_info, ocr_res_dict, id_res_list): ...@@ -191,6 +196,10 @@ def pre_compare_process(compare_info, ocr_res_dict, id_res_list):
191 for field_list in items_list: 196 for field_list in items_list:
192 result_list = pre_compare_license_contract(license_en, ocr_res_dict, field_list) 197 result_list = pre_compare_license_contract(license_en, ocr_res_dict, field_list)
193 compare_result.setdefault(license_en, []).append(result_list) 198 compare_result.setdefault(license_en, []).append(result_list)
199 elif license_en == consts.AFC_CONTRACT_QRS_EN:
200 for field_list in items_list:
201 result_list = pre_compare_license_contract_qrs(license_en, ocr_res_dict, field_list)
202 compare_result.setdefault(license_en, []).append(result_list)
194 else: 203 else:
195 for field_list in items_list: 204 for field_list in items_list:
196 result_list = pre_compare_license(license_en, ocr_res_dict, field_list) 205 result_list = pre_compare_license(license_en, ocr_res_dict, field_list)
...@@ -376,6 +385,42 @@ def pre_compare_license_contract(license_en, ocr_res_dict, field_list): ...@@ -376,6 +385,42 @@ def pre_compare_license_contract(license_en, ocr_res_dict, field_list):
376 return result_field_list 385 return result_field_list
377 386
378 387
388 def pre_compare_license_contract_qrs(license_en, ocr_res_dict, field_list):
389 ocr_field, compare_logic, no_find_comment = consts.PRE_COMPARE_LOGIC_MAP[license_en]
390 ocr_res_str = ocr_res_dict.get(ocr_field)
391
392 result_field_list = []
393
394 if ocr_res_str is not None:
395 ocr_res_list = json.loads(ocr_res_str)
396
397 contract_num_list = []
398 for qrs_res in ocr_res_list:
399 contract_num_list.append(qrs_res.get('合同编号', ''))
400
401 ocr_res = {
402 '合同编号': contract_num_list
403 }
404
405 for name, value in field_list:
406
407 ocr_str_or_list = ocr_res.get(compare_logic[name][0])
408
409 if isinstance(ocr_str_or_list, list):
410 ocr_str = json.dumps(ocr_str_or_list, ensure_ascii=False)
411 else:
412 ocr_str_or_list = ocr_str_or_list.strip()
413 ocr_str = ocr_str_or_list
414 result = getattr(cp, compare_logic[name][1])(value, ocr_str_or_list, **compare_logic[name][2])
415
416 comments = compare_logic[name][3]
417 result_field_list.append((value, ocr_str, result, comments))
418 else:
419 result_field_list.append((empty_str, empty_str, consts.RESULT_N, no_find_comment))
420
421 return result_field_list
422
423
379 def rebuild_result(compare_result): 424 def rebuild_result(compare_result):
380 # compare_result = { 425 # compare_result = {
381 # "is_pass": True, 426 # "is_pass": True,
......
...@@ -26,6 +26,7 @@ ASP_SUM_NAME = '附加产品融资贷款本金总金额' ...@@ -26,6 +26,7 @@ ASP_SUM_NAME = '附加产品融资贷款本金总金额'
26 26
27 HIL_CON_2_FIELDS = ['合同编号', '合同编号-正文', '车辆识别代码'] 27 HIL_CON_2_FIELDS = ['合同编号', '合同编号-正文', '车辆识别代码']
28 28
29 AFC_CON_QRS_FIELDS = ['合同编号']
29 AFC_CON_FIELDS = ['合同编号-每页', '合同编号-每页(no-asp)', '车架号-重要条款', '车架号', '还款账号', '户名', '开户行', 30 AFC_CON_FIELDS = ['合同编号-每页', '合同编号-每页(no-asp)', '车架号-重要条款', '车架号', '还款账号', '户名', '开户行',
30 '还款计划表', 'ASP项目详情-重要条款', 'ASP项目详情', '见证人签字', '见证人日期'] 31 '还款计划表', 'ASP项目详情-重要条款', 'ASP项目详情', '见证人签字', '见证人日期']
31 AFC_HT_DATE_FIELDS = ['主借人日期', '共借人日期', '保证人日期1', '保证人日期2'] 32 AFC_HT_DATE_FIELDS = ['主借人日期', '共借人日期', '保证人日期1', '保证人日期2']
...@@ -38,6 +39,7 @@ BD_EN = 'Insurance' ...@@ -38,6 +39,7 @@ BD_EN = 'Insurance'
38 HIL_CONTRACT_1_EN = '售后回租合同' 39 HIL_CONTRACT_1_EN = '售后回租合同'
39 HIL_CONTRACT_2_EN = '车辆租赁抵押合同' 40 HIL_CONTRACT_2_EN = '车辆租赁抵押合同'
40 AFC_CONTRACT_EN = '合同' 41 AFC_CONTRACT_EN = '合同'
42 AFC_CONTRACT_QRS_EN = '送达地址确认书'
41 43
42 ID_OCR_FIELD = 'ic_ocr' 44 ID_OCR_FIELD = 'ic_ocr'
43 MVI_OCR_FIELD = 'mvi_ocr' 45 MVI_OCR_FIELD = 'mvi_ocr'
...@@ -47,6 +49,7 @@ BD_FIELD = 'bd_ocr' ...@@ -47,6 +49,7 @@ BD_FIELD = 'bd_ocr'
47 HIL_CONTRACT_1_FIELD = 'hil_contract_1_ocr' 49 HIL_CONTRACT_1_FIELD = 'hil_contract_1_ocr'
48 HIL_CONTRACT_2_FIELD = 'hil_contract_2_ocr' 50 HIL_CONTRACT_2_FIELD = 'hil_contract_2_ocr'
49 HT_FIELD = 'ht_ocr' 51 HT_FIELD = 'ht_ocr'
52 QRS_FIELD = 'qrs_ocr'
50 53
51 MVI_COMPARE_LOGIC = { 54 MVI_COMPARE_LOGIC = {
52 MVI_FIELDS[0]: ('车辆识别代码', 'se_common_compare', {}, '发票车架号与系统不一致'), 55 MVI_FIELDS[0]: ('车辆识别代码', 'se_common_compare', {}, '发票车架号与系统不一致'),
...@@ -93,6 +96,10 @@ HIL_CONTRACT_2_COMPARE_LOGIC = { ...@@ -93,6 +96,10 @@ HIL_CONTRACT_2_COMPARE_LOGIC = {
93 HIL_CON_2_FIELDS[2]: ('车辆识别代码', 'se_common_compare', {}, '车辆租赁抵押合同车辆识别代码与系统车架号不一致'), 96 HIL_CON_2_FIELDS[2]: ('车辆识别代码', 'se_common_compare', {}, '车辆租赁抵押合同车辆识别代码与系统车架号不一致'),
94 } 97 }
95 98
99 QRS_COMPARE_LOGIC = {
100 AFC_CON_QRS_FIELDS[0]: ('合同编号', 'se_qrs_compare', {}, '请确认是否提供合格的送达地址确认书'),
101 }
102
96 HT_COMPARE_LOGIC = { 103 HT_COMPARE_LOGIC = {
97 AFC_CON_FIELDS[0]: ('合同编号-每页', 'se_list_compare', {}, '合同编号与系统不一致'), 104 AFC_CON_FIELDS[0]: ('合同编号-每页', 'se_list_compare', {}, '合同编号与系统不一致'),
98 # '合同编号-每页(no-asp)': ('合同编号-每页', 'se_list_compare', {'pop_last': True}, '合同编号与系统不一致'), 105 # '合同编号-每页(no-asp)': ('合同编号-每页', 'se_list_compare', {'pop_last': True}, '合同编号与系统不一致'),
...@@ -131,6 +138,7 @@ PRE_COMPARE_LOGIC_MAP = { ...@@ -131,6 +138,7 @@ PRE_COMPARE_LOGIC_MAP = {
131 HMH_EN: (HMH_OCR_FIELD, HMH_COMPARE_LOGIC, '请确认是否已完成抵押登记豁免函签署'), 138 HMH_EN: (HMH_OCR_FIELD, HMH_COMPARE_LOGIC, '请确认是否已完成抵押登记豁免函签署'),
132 BD_EN: (BD_FIELD, BD_COMPARE_LOGIC, '请确认是否提供保单'), 139 BD_EN: (BD_FIELD, BD_COMPARE_LOGIC, '请确认是否提供保单'),
133 AFC_CONTRACT_EN: (HT_FIELD, HT_COMPARE_LOGIC, '请确认是否已完成车辆抵押贷款合同签署'), 140 AFC_CONTRACT_EN: (HT_FIELD, HT_COMPARE_LOGIC, '请确认是否已完成车辆抵押贷款合同签署'),
141 AFC_CONTRACT_QRS_EN: (QRS_FIELD, QRS_COMPARE_LOGIC, '请确认是否提供合格的送达地址确认书'),
134 HIL_CONTRACT_1_EN: (HIL_CONTRACT_1_FIELD, HIL_CONTRACT_1_COMPARE_LOGIC, '请确认是否已完成售后回租合同签署'), 142 HIL_CONTRACT_1_EN: (HIL_CONTRACT_1_FIELD, HIL_CONTRACT_1_COMPARE_LOGIC, '请确认是否已完成售后回租合同签署'),
135 HIL_CONTRACT_2_EN: (HIL_CONTRACT_2_FIELD, HIL_CONTRACT_2_COMPARE_LOGIC, '请确认是否已完成车辆租赁抵押合同签署'), 143 HIL_CONTRACT_2_EN: (HIL_CONTRACT_2_FIELD, HIL_CONTRACT_2_COMPARE_LOGIC, '请确认是否已完成车辆租赁抵押合同签署'),
136 } 144 }
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!