498bf14e by 冯轩

MOD:核查点区分是否添加见证人字段

1 parent 2a03b2a7
...@@ -158,6 +158,13 @@ class PreSEHandler: ...@@ -158,6 +158,13 @@ class PreSEHandler:
158 result_class = HILSEOCRResult if application_entity in consts.HIL_SET else AFCSEOCRResult 158 result_class = HILSEOCRResult if application_entity in consts.HIL_SET else AFCSEOCRResult
159 ca_result_class = HILOCRResult if application_entity in consts.HIL_SET else AFCOCRResult 159 ca_result_class = HILOCRResult if application_entity in consts.HIL_SET else AFCOCRResult
160 160
161 data_source = ''
162 if application_entity == consts.AFC_PREFIX:
163 doc_obj = AFCDoc.objects.filter(application_id=application_id, document_name__icontains='电子签署-车辆抵押贷款合同').last()
164 data_source = doc_obj.data_source
165 LoggerMixin.running_log.info('[pre get data_source] [id={0}] [data_source={1}]]'.format(
166 application_id, data_source))
167
161 ca_ocr_res_dict = ca_result_class.objects.filter(application_id=application_id).values( 168 ca_ocr_res_dict = ca_result_class.objects.filter(application_id=application_id).values(
162 *consts.CA_ADD_COMPARE_FIELDS_PRE).first() 169 *consts.CA_ADD_COMPARE_FIELDS_PRE).first()
163 ocr_res_dict = result_class.objects.filter(application_id=application_id).values( 170 ocr_res_dict = result_class.objects.filter(application_id=application_id).values(
...@@ -171,7 +178,7 @@ class PreSEHandler: ...@@ -171,7 +178,7 @@ class PreSEHandler:
171 id_res_list.append(ca_ocr_res_dict.get(field_name) if isinstance(ca_ocr_res_dict, dict) else None) 178 id_res_list.append(ca_ocr_res_dict.get(field_name) if isinstance(ca_ocr_res_dict, dict) else None)
172 id_res_list.append(ocr_res_dict.get(field_name)) 179 id_res_list.append(ocr_res_dict.get(field_name))
173 180
174 rebuild_compare_result = pre_compare(pos_content, ocr_res_dict, id_res_list) 181 rebuild_compare_result = pre_compare(pos_content, ocr_res_dict, id_res_list, data_source)
175 return rebuild_compare_result 182 return rebuild_compare_result
176 183
177 184
......
...@@ -900,7 +900,7 @@ def ca_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res ...@@ -900,7 +900,7 @@ def ca_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res
900 traceback.format_exc())) 900 traceback.format_exc()))
901 901
902 902
903 def get_se_cms_compare_info_auto(last_obj, application_entity, auto=True, ignore_bank=False): 903 def get_se_cms_compare_info_auto(last_obj, application_entity, data_source, auto=True, ignore_bank=False):
904 cms_info = json.loads(last_obj.content) 904 cms_info = json.loads(last_obj.content)
905 905
906 compare_info = {} 906 compare_info = {}
...@@ -1440,7 +1440,7 @@ def get_se_cms_compare_info_auto(last_obj, application_entity, auto=True, ignore ...@@ -1440,7 +1440,7 @@ def get_se_cms_compare_info_auto(last_obj, application_entity, auto=True, ignore
1440 if not is_find and is_force: 1440 if not is_find and is_force:
1441 afc_contract_input.append((key, empty_str)) 1441 afc_contract_input.append((key, empty_str))
1442 1442
1443 if online_sign: 1443 if online_sign and data_source == 'ECONTRACT':
1444 afc_contract_input.append((consts.SE_AFC_CON_FIELD[18], consts.SE_STAMP_VALUE)) 1444 afc_contract_input.append((consts.SE_AFC_CON_FIELD[18], consts.SE_STAMP_VALUE))
1445 afc_contract_input.append((consts.SE_AFC_CON_FIELD[19], empty_str)) 1445 afc_contract_input.append((consts.SE_AFC_CON_FIELD[19], empty_str))
1446 1446
...@@ -1453,7 +1453,7 @@ def get_se_cms_compare_info_auto(last_obj, application_entity, auto=True, ignore ...@@ -1453,7 +1453,7 @@ def get_se_cms_compare_info_auto(last_obj, application_entity, auto=True, ignore
1453 return compare_info, cms_info.get('autoApprovedDetails', {}).get('aaType', ''), is_gsyh 1453 return compare_info, cms_info.get('autoApprovedDetails', {}).get('aaType', ''), is_gsyh
1454 1454
1455 1455
1456 def get_se_cms_compare_info(last_obj, application_entity, detect_list, auto=False, ignore_bank=False): 1456 def get_se_cms_compare_info(last_obj, application_entity, detect_list, data_source, auto=False, ignore_bank=False):
1457 cms_info = json.loads(last_obj.content) 1457 cms_info = json.loads(last_obj.content)
1458 1458
1459 compare_info = {} 1459 compare_info = {}
...@@ -1989,7 +1989,7 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list, auto=Fals ...@@ -1989,7 +1989,7 @@ def get_se_cms_compare_info(last_obj, application_entity, detect_list, auto=Fals
1989 if not is_find and is_force: 1989 if not is_find and is_force:
1990 afc_contract_input.append((key, empty_str)) 1990 afc_contract_input.append((key, empty_str))
1991 1991
1992 if online_sign: 1992 if online_sign and data_source == 'ECONTRACT':
1993 afc_contract_input.append((consts.SE_AFC_CON_FIELD[18], consts.SE_STAMP_VALUE)) 1993 afc_contract_input.append((consts.SE_AFC_CON_FIELD[18], consts.SE_STAMP_VALUE))
1994 afc_contract_input.append((consts.SE_AFC_CON_FIELD[19], empty_str)) 1994 afc_contract_input.append((consts.SE_AFC_CON_FIELD[19], empty_str))
1995 1995
...@@ -3120,13 +3120,13 @@ def se_result_detect(ocr_res_dict): ...@@ -3120,13 +3120,13 @@ def se_result_detect(ocr_res_dict):
3120 return detect_list 3120 return detect_list
3121 3121
3122 3122
3123 def se_compare_auto(application_id, application_entity, ocr_res_id, last_obj, ocr_res_dict, auto_obj, ignore_bank, id_res_list): 3123 def se_compare_auto(application_id, application_entity, ocr_res_id, last_obj, ocr_res_dict, auto_obj, ignore_bank, id_res_list, data_source):
3124 start_time = datetime.now() 3124 start_time = datetime.now()
3125 try: 3125 try:
3126 # 比对逻辑 3126 # 比对逻辑
3127 # detect_list = se_result_detect(ocr_res_dict) 3127 # detect_list = se_result_detect(ocr_res_dict)
3128 compare_info, aa_type, is_gsyh = get_se_cms_compare_info_auto( 3128 compare_info, aa_type, is_gsyh = get_se_cms_compare_info_auto(
3129 last_obj, application_entity, ignore_bank=ignore_bank) 3129 last_obj, application_entity, data_source, ignore_bank=ignore_bank)
3130 compare_result, total_fields, failed_count, successful_at_this_level, failure_reason_str, \ 3130 compare_result, total_fields, failed_count, successful_at_this_level, failure_reason_str, \
3131 cn_failure_reason_str, bs_failure_reason_str, _, field_result_dict = se_compare_process( 3131 cn_failure_reason_str, bs_failure_reason_str, _, field_result_dict = se_compare_process(
3132 compare_info, ocr_res_dict, is_gsyh, True, id_res_list, aa_type) 3132 compare_info, ocr_res_dict, is_gsyh, True, id_res_list, aa_type)
...@@ -3187,13 +3187,13 @@ def se_compare_auto(application_id, application_entity, ocr_res_id, last_obj, oc ...@@ -3187,13 +3187,13 @@ def se_compare_auto(application_id, application_entity, ocr_res_id, last_obj, oc
3187 3187
3188 3188
3189 def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res_dict, is_cms, 3189 def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res_dict, is_cms,
3190 auto_result, ignore_bank, id_res_list): 3190 auto_result, ignore_bank, id_res_list, data_source):
3191 try: 3191 try:
3192 # 比对逻辑 3192 # 比对逻辑
3193 start_time = datetime.now() 3193 start_time = datetime.now()
3194 detect_list = se_result_detect(ocr_res_dict) 3194 detect_list = se_result_detect(ocr_res_dict)
3195 compare_info, application_version, aa_type, is_gsyh = get_se_cms_compare_info( 3195 compare_info, application_version, aa_type, is_gsyh = get_se_cms_compare_info(
3196 last_obj, application_entity, detect_list, ignore_bank=ignore_bank) 3196 last_obj, application_entity, detect_list, data_source, ignore_bank=ignore_bank)
3197 compare_result, total_fields, failed_count, successful_at_this_level, failure_reason_str, \ 3197 compare_result, total_fields, failed_count, successful_at_this_level, failure_reason_str, \
3198 cn_failure_reason_str, bs_failure_reason_str, rpa_failure_reason, field_result_dict = se_compare_process( 3198 cn_failure_reason_str, bs_failure_reason_str, rpa_failure_reason, field_result_dict = se_compare_process(
3199 compare_info, ocr_res_dict, is_gsyh, False, id_res_list, aa_type) 3199 compare_info, ocr_res_dict, is_gsyh, False, id_res_list, aa_type)
...@@ -3429,16 +3429,16 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True ...@@ -3429,16 +3429,16 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id, is_ca=True
3429 ignore_bank = bank_class.objects.filter(application_id=application_id, on_off=True).exists() 3429 ignore_bank = bank_class.objects.filter(application_id=application_id, on_off=True).exists()
3430 data_source = '' 3430 data_source = ''
3431 if application_entity == consts.AFC_PREFIX: 3431 if application_entity == consts.AFC_PREFIX:
3432 doc_obj = AFCDoc.objects.filter(application_id=application_id, data_source__icontains='电子签署-车辆抵押贷款合同').latest() 3432 doc_obj = AFCDoc.objects.filter(application_id=application_id, document_name__icontains='电子签署-车辆抵押贷款合同').last()
3433 data_source = doc_obj.data_source 3433 data_source = doc_obj.data_source
3434 compare_log.info('{0} [Auto SE] [get data_source] [id={1}] [data_source={2}]]'.format( 3434 compare_log.info('{0} [get data_source] [id={1}] [data_source={2}]]'.format(
3435 log_base, application_id, data_source)) 3435 log_base, application_id, data_source))
3436 if auto_obj is not None: 3436 if auto_obj is not None:
3437 auto_result = se_compare_auto(application_id, application_entity, ocr_res_id, last_obj, ocr_res_dict, auto_obj, ignore_bank, id_res_list) 3437 auto_result = se_compare_auto(application_id, application_entity, ocr_res_id, last_obj, ocr_res_dict, auto_obj, ignore_bank, id_res_list, data_source)
3438 else: 3438 else:
3439 auto_result = None 3439 auto_result = None
3440 3440
3441 full_result = se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res_dict, is_cms, auto_result, ignore_bank, id_res_list) 3441 full_result = se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res_dict, is_cms, auto_result, ignore_bank, id_res_list, data_source)
3442 3442
3443 if auto_obj is not None: 3443 if auto_obj is not None:
3444 try: 3444 try:
......
...@@ -6,7 +6,7 @@ from common.tools.comparison import cp ...@@ -6,7 +6,7 @@ from common.tools.comparison import cp
6 empty_str = '' 6 empty_str = ''
7 7
8 8
9 def get_pos_compare_info(pos_info): 9 def get_pos_compare_info(pos_info, data_source):
10 compare_info = {} 10 compare_info = {}
11 11
12 application_entity = pos_info.get('applicationEntity', 'AFC') 12 application_entity = pos_info.get('applicationEntity', 'AFC')
...@@ -175,8 +175,10 @@ def get_pos_compare_info(pos_info): ...@@ -175,8 +175,10 @@ def get_pos_compare_info(pos_info):
175 afc_contract_input.append((consts.AFC_CON_FIELDS[8], asp_list)) 175 afc_contract_input.append((consts.AFC_CON_FIELDS[8], asp_list))
176 afc_contract_input.append((consts.AFC_CON_FIELDS[9], asp_list)) 176 afc_contract_input.append((consts.AFC_CON_FIELDS[9], asp_list))
177 177
178 afc_contract_input.append((consts.AFC_CON_FIELDS[10], consts.HAVE_CN)) 178 if data_source == 'ECONTRACT':
179 afc_contract_input.append((consts.AFC_CON_FIELDS[11], empty_str)) 179 afc_contract_input.append((consts.AFC_CON_FIELDS[10], consts.HAVE_CN))
180 afc_contract_input.append((consts.AFC_CON_FIELDS[11], empty_str))
181
180 compare_info.setdefault(consts.AFC_CONTRACT_EN, []).append(afc_contract_input) 182 compare_info.setdefault(consts.AFC_CONTRACT_EN, []).append(afc_contract_input)
181 183
182 afc_contract_qrs_input = [(consts.AFC_CON_QRS_FIELDS[0], '{0}{1}{2}'.format(role_count, consts.SPLIT_STR, application_id_version))] 184 afc_contract_qrs_input = [(consts.AFC_CON_QRS_FIELDS[0], '{0}{1}{2}'.format(role_count, consts.SPLIT_STR, application_id_version))]
...@@ -463,8 +465,8 @@ def rebuild_result(compare_result): ...@@ -463,8 +465,8 @@ def rebuild_result(compare_result):
463 return rebuild_compare_result 465 return rebuild_compare_result
464 466
465 467
466 def pre_compare(pos_info, ocr_res_dict, id_res_list): 468 def pre_compare(pos_info, ocr_res_dict, id_res_list, data_source):
467 compare_info = get_pos_compare_info(pos_info) 469 compare_info = get_pos_compare_info(pos_info, data_source)
468 compare_result = pre_compare_process(compare_info, ocr_res_dict, id_res_list) 470 compare_result = pre_compare_process(compare_info, ocr_res_dict, id_res_list)
469 rebuild_compare_result = rebuild_result(compare_result) 471 rebuild_compare_result = rebuild_result(compare_result)
470 return rebuild_compare_result 472 return rebuild_compare_result
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!