MOD:核查点区分是否添加见证人字段
Showing
3 changed files
with
27 additions
and
18 deletions
... | @@ -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 | ... | ... |
-
Please register or sign in to post a comment