diff --git a/src/apps/doc/consts.py b/src/apps/doc/consts.py index 8b6bd46..cfb4105 100644 --- a/src/apps/doc/consts.py +++ b/src/apps/doc/consts.py @@ -1069,11 +1069,10 @@ ITHKM_ITTID = [ # 居住证 ITRES = [ - ('customerChineseName', '姓名', 'common_compare', {}, 'customerChineseName'), - ('idNum', '公民身份号码', 'common_compare', {}, 'idNum'), - ('secondIdNum', '通行证号码', 'common_compare', {}, 'secondIdNum'), - ('idExpiryDate', '有效期限', 'date_compare', {'ocr_split': True, 'input_replace': ''}, 'idExpiryDate'), # 20200410-20250410 - ('dateOfBirth', '出生年月', 'date_compare', {'input_replace': ''}, 'dateOfBirth'), # 20231023 + ('customerChineseName', '姓名', 'common_compare', {}, 'customerChineseNameResult'), + ('idNum', '公民身份号码', 'common_compare', {}, 'idNumResult'), + ('idExpiryDate', '有效期限', 'date_compare', {'ocr_split': True, 'input_replace': ''}, 'idExpiryDateResult'), # 20200410-20250410 + ('dateOfBirth', '出生年月', 'date_compare', {'input_replace': ''}, 'dateOfBirthResult'), # 20231023 ] ID_TYPE_COMPARE = { @@ -1084,6 +1083,33 @@ ID_TYPE_COMPARE = { 'ITRES': [RP_OCR_FIELD, ITRES], } +SECOND_ITPRC = [ + ('secondIdNum', '公民身份号码', 'common_compare', {}, 'secondIdNumResult'), +] + +# 护照 +SECOND_ITPSP = [ + ('secondIdNum', '护照号码', 'common_compare', {}, 'secondIdNumResult'), +] + +# 港澳台通行证 +SECOND_ITHKM_ITTID = [ + ('secondIdNum', '证件号码', 'common_compare', {}, 'secondIdNumResult'), +] + +# 居住证 +SECOND_ITRES = [ + ('secondIdNum', '公民身份号码', 'common_compare', {}, 'secondIdNumResult'), +] + +SECOND_ID_TYPE_COMPARE = { + 'ITPRC': [IC_OCR_FIELD, SECOND_ITPRC], + 'ITPSP': [PP_OCR_FIELD, SECOND_ITPSP], + 'ITHKM': [EEP_OCR_FIELD, SECOND_ITHKM_ITTID], + 'ITTID': [EEP_OCR_FIELD, SECOND_ITHKM_ITTID], + 'ITRES': [RP_OCR_FIELD, SECOND_ITRES], +} + # 1. 分别对比 POS车架号 vs 车辆登记正,POS车架号 vs 行驶证 # a)两种比对 均一致:Y # b)其中一个 不一致:N,向GCAP发送:不一致的OCR识别结果 diff --git a/src/celery_compare/tasks.py b/src/celery_compare/tasks.py index 18259d7..f5b1468 100644 --- a/src/celery_compare/tasks.py +++ b/src/celery_compare/tasks.py @@ -38,6 +38,7 @@ def field_compare(info_dict, ocr_res_dict, ocr_field, compare_list, res_set): ocr_str = ocr_res.get(compare_tuple[1]) compare_res, ocr_output = getattr(cp, compare_tuple[2])( input_str, ocr_str, idx, **compare_tuple[3]) + print('type: {0}, idx: {1}, field: {2}, input: {3}, ocr: {4}, res: {5}, out: {6}'.format(ocr_field, idx, compare_tuple[0], input_str, ocr_str, compare_res, ocr_output)) if idx == 0 and compare_res in [consts.RESULT_N, consts.RESULT_NA]: break is_find = True @@ -70,6 +71,7 @@ def usedcar_info_compare(info_dict, ocr_res_dict, ocr_field, compare_list, res_s ocr_str = ocr_res.get(compare_tuple[1]) compare_res, ocr_output = getattr(cp, compare_tuple[2])( input_str, ocr_str, idx, **compare_tuple[3]) + print('type: {0}, idx: {1}, field: {2}, input: {3}, ocr: {4}, res: {5}, out: {6}'.format(ocr_field, idx, compare_tuple[0], input_str, ocr_str, compare_res, ocr_output)) if idx == 0 and compare_res in [consts.RESULT_N, consts.RESULT_NA]: if ocr_str is not None: no_match_vino.append(ocr_str) @@ -132,7 +134,7 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id): 'vehicleStatus': last_obj.vehicle_status, 'wholeResult': 'Y', 'wholeResultMessage': '', - 'applicationLink': r'\\china.bmw.corp\WINFS\SF-CN-data\SF3-CN-S\SF3-CN-S-1-New Business\CA\OCR II test', + 'applicationLink': r'file://china.bmw.corp/WINFS/SF-CN-data/SF3-CN-S/SF3-CN-S-1-New Business/CA/OCR II test', } }) @@ -152,6 +154,13 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id): continue field_compare(order_individual_cus_info, ocr_res_dict, compare_info_list[0], compare_info_list[1], res_set) + # 第二证件 + second_id_type = order_individual_cus_info.get('secondIdType') + second_compare_info_list = consts.SECOND_ID_TYPE_COMPARE.get(second_id_type) + if second_compare_info_list is None: + continue + field_compare(order_individual_cus_info, ocr_res_dict, second_compare_info_list[0], second_compare_info_list[1], res_set) + # sep营业执照 if order_individual_cus_info.get('customerType') == consts.CUSTOMER_TYPE[5]: field_compare(order_individual_cus_info, ocr_res_dict, consts.BL_OCR_FIELD, consts.TCSEP, res_set)