a84f1276 by 周伟奇

fix se compare bug

1 parent bbb1a4ad
......@@ -1150,6 +1150,8 @@ COMPARE_FIELDS = (MVI_OCR_FIELD,
PP_OCR_FIELD,
MVC_OCR_FIELD,
DDA_OCR_FIELD,
HMH_OCR_FIELD,
JYPZ_OCR_FIELD,
)
# 身份证
......@@ -1466,7 +1468,7 @@ HMH_COMPARE_LOGIC = {
# MVC_OCR_FIELD = 'mvc_ocr'
SE_DETECT_CARD = [UCI_EN, JYPZ_EN, HMH_EN]
SE_DETECT_CARD = [UCI_EN, JYPZ_EN, HMH_EN, DDA_EN]
SE_COMPARE_FIELD = {
ID_EN: (IC_OCR_FIELD, ID_COMPARE_LOGIC, True),
......
......@@ -853,6 +853,7 @@ def get_se_compare_info(last_obj, application_entity, detect_list):
is_gsyh = False
bank_info[consts.BC_EN] = bank_field_input
if is_gsyh or not detect_list[-1]:
dda_field_input = []
for dda_field in consts.SE_DDA_FIELD:
if dda_field.startswith('applicationId'):
......@@ -869,7 +870,7 @@ def get_se_compare_info(last_obj, application_entity, detect_list):
bank_info[consts.DDA_EN] = dda_field_input
compare_info['bankInfo'] = bank_info
if not detect_list[-1]:
if not detect_list[2]:
other_info = {}
hmh_field_input = []
hmh_field_input.append((consts.SE_HMH_FIELD[0], hmh_name))
......@@ -878,7 +879,7 @@ def get_se_compare_info(last_obj, application_entity, detect_list):
other_info[consts.HMH_EN] = hmh_field_input
compare_info['other'] = other_info
return compare_info, is_gsyh
return compare_info
def se_compare_license(license_en, ocr_res_dict, field_list):
......@@ -1007,7 +1008,7 @@ def se_mvc34_compare(license_en, ocr_res_dict, field_list):
return result_field_list
def se_compare_process(compare_info, ocr_res_dict, is_gsyh):
def se_compare_process(compare_info, ocr_res_dict):
# individualCusInfo
# corporateCusInfo
# vehicleInfo
......@@ -1053,11 +1054,9 @@ def se_compare_process(compare_info, ocr_res_dict, is_gsyh):
failure_field = []
if license_en == consts.MVC34_EN:
result_field_list = se_mvc34_compare(license_en, ocr_res_dict, field_list)
no_ocr_result = False
else:
result_field_list, no_ocr_result = se_compare_license(license_en, ocr_res_dict, field_list)
result_field_list, _ = se_compare_license(license_en, ocr_res_dict, field_list)
for name, value, result, ocr_str, img_path, error_type in result_field_list:
if license_en != consts.DDA_EN or not no_ocr_result or is_gsyh:
total_fields += 1
if result == consts.RESULT_N:
failed_count += 1
......@@ -1099,9 +1098,9 @@ def se_compare(application_id, application_entity, ocr_res_id, last_obj, ocr_res
# 比对逻辑
start_time = datetime.now()
detect_list = se_result_detect(ocr_res_dict)
compare_info, is_gsyh = get_se_compare_info(last_obj, application_entity, detect_list)
compare_info = get_se_compare_info(last_obj, application_entity, detect_list)
compare_result, total_fields, failed_count, successful_at_this_level, failure_reason_str = se_compare_process(
compare_info, ocr_res_dict, is_gsyh)
compare_info, ocr_res_dict)
compare_log.info('{0} [SE] [compare success] [entity={1}] [id={2}] [ocr_res_id={3}] [result={4}]'.format(
log_base, application_entity, application_id, ocr_res_id, compare_result))
except Exception as e:
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!