add second name check
Showing
2 changed files
with
30 additions
and
1 deletions
... | @@ -1114,6 +1114,7 @@ ID_TYPE_COMPARE = { | ... | @@ -1114,6 +1114,7 @@ ID_TYPE_COMPARE = { |
1114 | 1114 | ||
1115 | ID_RES = 'idNumResult' | 1115 | ID_RES = 'idNumResult' |
1116 | SECOND_ID_TYPE_FIELD = 'secondIdType' | 1116 | SECOND_ID_TYPE_FIELD = 'secondIdType' |
1117 | NAME_FIELD = 'customerChineseName' | ||
1117 | SECOND_ID_FIELD = 'secondIdNum' | 1118 | SECOND_ID_FIELD = 'secondIdNum' |
1118 | SECOND_ID_RES = 'secondIdNumResult' | 1119 | SECOND_ID_RES = 'secondIdNumResult' |
1119 | 1120 | ... | ... |
... | @@ -16,6 +16,21 @@ compare_log = logging.getLogger('compare') | ... | @@ -16,6 +16,21 @@ compare_log = logging.getLogger('compare') |
16 | log_base = '[CA Compare]' | 16 | log_base = '[CA Compare]' |
17 | 17 | ||
18 | 18 | ||
19 | def name_check(ocr_res_dict, second_ocr_field, second_compare_list, second_id_num, name): | ||
20 | id_field = second_compare_list[1][1] | ||
21 | name_field = second_compare_list[0][1] | ||
22 | ocr_res_str = ocr_res_dict.get(second_ocr_field) | ||
23 | if ocr_res_str is not None: | ||
24 | ocr_res_list = json.loads(ocr_res_str) | ||
25 | for ocr_res in ocr_res_list: | ||
26 | ocr_second_id_num = ocr_res.get(id_field) | ||
27 | if ocr_second_id_num == second_id_num: | ||
28 | ocr_name = ocr_res.get(name_field) | ||
29 | if ocr_name == name: | ||
30 | return True | ||
31 | return False | ||
32 | |||
33 | |||
19 | def get_order_dict(src_dict, order_tuple): | 34 | def get_order_dict(src_dict, order_tuple): |
20 | # if consts.SECOND_ID_TYPE_FIELD in src_dict: | 35 | # if consts.SECOND_ID_TYPE_FIELD in src_dict: |
21 | # if src_dict.get(consts.SECOND_ID_TYPE_FIELD) not in consts.SECOND_ID_TYPE_COMPARE: | 36 | # if src_dict.get(consts.SECOND_ID_TYPE_FIELD) not in consts.SECOND_ID_TYPE_COMPARE: |
... | @@ -247,9 +262,22 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id): | ... | @@ -247,9 +262,22 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id): |
247 | second_ocr_field, second_compare_list = consts.SECOND_ID_TYPE_COMPARE.get(second_id_type) | 262 | second_ocr_field, second_compare_list = consts.SECOND_ID_TYPE_COMPARE.get(second_id_type) |
248 | field_compare(order_individual_cus_info, ocr_res_dict, second_ocr_field, | 263 | field_compare(order_individual_cus_info, ocr_res_dict, second_ocr_field, |
249 | second_compare_list, res_set) | 264 | second_compare_list, res_set) |
265 | |||
266 | # 姓名比对 | ||
267 | second_id_res = order_individual_cus_info.pop(consts.SECOND_ID_RES, consts.RESULT_NA) | ||
268 | if second_id_res == consts.RESULT_Y: | ||
269 | second_id_num = order_individual_cus_info.get(consts.SECOND_ID_FIELD) | ||
270 | name = order_individual_cus_info.get(consts.NAME_FIELD) | ||
271 | if isinstance(second_id_num, str) and isinstance(name, str): | ||
272 | second_ocr_field, second_compare_list, _ = consts.ID_TYPE_COMPARE.get(second_id_type) | ||
273 | name_right = name_check(ocr_res_dict, second_ocr_field, second_compare_list, second_id_num, name) | ||
274 | if not name_right: | ||
275 | res_set.add(consts.RESULT_N) | ||
276 | second_id_res = consts.RESULT_N | ||
277 | order_individual_cus_info[consts.SECOND_ID_FIELD] = '{0}-{1}'.format(second_id_num, name) | ||
278 | |||
250 | # 重新排列 | 279 | # 重新排列 |
251 | new_dict = OrderedDict({}) | 280 | new_dict = OrderedDict({}) |
252 | second_id_res = order_individual_cus_info.pop(consts.SECOND_ID_RES, consts.RESULT_NA) | ||
253 | for key, value in order_individual_cus_info.items(): | 281 | for key, value in order_individual_cus_info.items(): |
254 | new_dict[key] = value | 282 | new_dict[key] = value |
255 | if key == consts.ID_RES: | 283 | if key == consts.ID_RES: | ... | ... |
-
Please register or sign in to post a comment