e4460765 by 周伟奇

add second name check

1 parent ae029c03
...@@ -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:
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!