55611fd2 by 周伟奇

fix sep name

1 parent 022411dc
...@@ -1130,6 +1130,7 @@ PCUSD_DL = [ ...@@ -1130,6 +1130,7 @@ PCUSD_DL = [
1130 ] 1130 ]
1131 1131
1132 # 营业执照 1132 # 营业执照
1133 LEGAL_REP_NAME = '经营者姓名'
1133 TCCOR = [ 1134 TCCOR = [
1134 ('customerChineseName', '企业名称', 'company_compare', {}, 'customerChinessNameResult'), 1135 ('customerChineseName', '企业名称', 'company_compare', {}, 'customerChinessNameResult'),
1135 ('legalRepName', '经营者姓名', 'name_compare', {}, 'legalRepNameResult'), 1136 ('legalRepName', '经营者姓名', 'name_compare', {}, 'legalRepNameResult'),
......
...@@ -24,24 +24,35 @@ def get_order_dict(src_dict, order_tuple): ...@@ -24,24 +24,35 @@ def get_order_dict(src_dict, order_tuple):
24 return order_dict 24 return order_dict
25 25
26 26
27 def field_compare(info_dict, ocr_res_dict, ocr_field, compare_list, res_set, has_expiry_date=False): 27 def field_compare(info_dict, ocr_res_dict, ocr_field, compare_list, res_set, has_expiry_date=False, sep_name=None):
28 is_find = False 28 is_find = False
29 ocr_res_str = ocr_res_dict.get(ocr_field) 29 ocr_res_str = ocr_res_dict.get(ocr_field)
30 if ocr_res_str is not None: 30 if ocr_res_str is not None:
31 ocr_res_list = json.loads(ocr_res_str) 31 ocr_res_list = json.loads(ocr_res_str)
32 length = len(ocr_res_list) 32
33 # sep营业执照根据法人过滤
34 if isinstance(sep_name, str):
35 tmp_list = []
36 for ocr_res in ocr_res_list:
37 ocr_sep_name = ocr_res.get(consts.LEGAL_REP_NAME)
38 if isinstance(ocr_sep_name, str) and ocr_sep_name == sep_name:
39 tmp_list.append(ocr_res)
40 else:
41 tmp_list = ocr_res_list
42
43 length = len(tmp_list)
33 44
34 # 过期期限特殊处理 45 # 过期期限特殊处理
35 if has_expiry_date: 46 if has_expiry_date:
36 expiry_dates = [] 47 expiry_dates = []
37 key = compare_list[2][1] 48 key = compare_list[2][1]
38 for ocr_res in ocr_res_list: 49 for ocr_res in tmp_list:
39 if ocr_res.get(key): 50 if ocr_res.get(key):
40 expiry_dates.append(ocr_res.get(key)) 51 expiry_dates.append(ocr_res.get(key))
41 else: 52 else:
42 expiry_dates = [] 53 expiry_dates = []
43 54
44 for ocr_res in ocr_res_list: 55 for ocr_res in tmp_list:
45 if is_find: 56 if is_find:
46 break 57 break
47 for idx, compare_tuple in enumerate(compare_list): 58 for idx, compare_tuple in enumerate(compare_list):
...@@ -186,17 +197,29 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id): ...@@ -186,17 +197,29 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id):
186 for individual_cus_info in individual_cus_info_list: 197 for individual_cus_info in individual_cus_info_list:
187 order_individual_cus_info = get_order_dict(individual_cus_info, consts.IN_ORDER) 198 order_individual_cus_info = get_order_dict(individual_cus_info, consts.IN_ORDER)
188 199
200 # 获取sep下营业执照法人代表
201 if order_individual_cus_info.get('customerType') == consts.CUSTOMER_TYPE[5]:
202 sep_name = order_individual_cus_info.get('customerChineseName')
203 if isinstance(sep_name, str):
204 sep_name = sep_name.strip()
205 if sep_name == '':
206 sep_name = None
207 else:
208 sep_name = None
209
189 # 个人信息证件 210 # 个人信息证件
190 id_type = order_individual_cus_info.get('idType') 211 id_type = order_individual_cus_info.get('idType')
191 compare_info_list = consts.ID_TYPE_COMPARE.get(id_type) 212 compare_info_list = consts.ID_TYPE_COMPARE.get(id_type)
192 if compare_info_list is not None: 213 if compare_info_list is not None:
193 field_compare(order_individual_cus_info, ocr_res_dict, compare_info_list[0], compare_info_list[1], res_set, has_expiry_date=True) 214 field_compare(order_individual_cus_info, ocr_res_dict, compare_info_list[0], compare_info_list[1],
215 res_set, has_expiry_date=True)
194 216
195 # 第二证件 217 # 第二证件
196 second_id_type = order_individual_cus_info.get('secondIdType') 218 second_id_type = order_individual_cus_info.get('secondIdType')
197 second_compare_info_list = consts.SECOND_ID_TYPE_COMPARE.get(second_id_type) 219 second_compare_info_list = consts.SECOND_ID_TYPE_COMPARE.get(second_id_type)
198 if second_compare_info_list is not None: 220 if second_compare_info_list is not None:
199 field_compare(order_individual_cus_info, ocr_res_dict, second_compare_info_list[0], second_compare_info_list[1], res_set) 221 field_compare(order_individual_cus_info, ocr_res_dict, second_compare_info_list[0],
222 second_compare_info_list[1], res_set)
200 # 重新排列 223 # 重新排列
201 new_dict = OrderedDict({}) 224 new_dict = OrderedDict({})
202 second_id_res = order_individual_cus_info.pop(consts.SECOND_ID_RES, consts.RESULT_NA) 225 second_id_res = order_individual_cus_info.pop(consts.SECOND_ID_RES, consts.RESULT_NA)
...@@ -208,7 +231,8 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id): ...@@ -208,7 +231,8 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id):
208 231
209 # sep营业执照 232 # sep营业执照
210 if order_individual_cus_info.get('customerType') == consts.CUSTOMER_TYPE[5]: 233 if order_individual_cus_info.get('customerType') == consts.CUSTOMER_TYPE[5]:
211 field_compare(order_individual_cus_info, ocr_res_dict, consts.BL_OCR_FIELD, consts.TCSEP, res_set) 234 field_compare(order_individual_cus_info, ocr_res_dict, consts.BL_OCR_FIELD, consts.TCSEP, res_set,
235 sep_name=sep_name)
212 236
213 order_individual_cus_info_list.append(order_individual_cus_info) 237 order_individual_cus_info_list.append(order_individual_cus_info)
214 238
...@@ -218,10 +242,12 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id): ...@@ -218,10 +242,12 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id):
218 usedcar_info = json.loads(last_obj.usedcar_info) 242 usedcar_info = json.loads(last_obj.usedcar_info)
219 order_usedcar_info = get_order_dict(usedcar_info, consts.UC_ORDER) 243 order_usedcar_info = get_order_dict(usedcar_info, consts.UC_ORDER)
220 244
221 mvc_find, mvc_vinos = usedcar_info_compare(order_usedcar_info, ocr_res_dict, consts.MVC_OCR_FIELD, consts.PCUSD_MVC, res_set) 245 mvc_find, mvc_vinos = usedcar_info_compare(order_usedcar_info, ocr_res_dict, consts.MVC_OCR_FIELD,
246 consts.PCUSD_MVC, res_set)
222 247
223 # if order_usedcar_info[consts.PCUSD_MVC[0][0] + 'Result'] == consts.RESULT_Y: 248 # if order_usedcar_info[consts.PCUSD_MVC[0][0] + 'Result'] == consts.RESULT_Y:
224 dl_find, dl_vinos = usedcar_info_compare(order_usedcar_info, ocr_res_dict, consts.DL_OCR_FIELD, consts.PCUSD_DL, res_set) 249 dl_find, dl_vinos = usedcar_info_compare(order_usedcar_info, ocr_res_dict, consts.DL_OCR_FIELD,
250 consts.PCUSD_DL, res_set)
225 251
226 if mvc_find is True and dl_find is False: 252 if mvc_find is True and dl_find is False:
227 vino = dl_vinos[-1] if len(dl_vinos) > 0 else '' 253 vino = dl_vinos[-1] if len(dl_vinos) > 0 else ''
...@@ -239,7 +265,6 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id): ...@@ -239,7 +265,6 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id):
239 vino_list.append(dl_vinos[-1]) 265 vino_list.append(dl_vinos[-1])
240 vino = '、'.join('{0}: {1}'.format(consts.PREFIX_DL, dl_vino)) 266 vino = '、'.join('{0}: {1}'.format(consts.PREFIX_DL, dl_vino))
241 order_usedcar_info[consts.PCUSD_MVC[0][0]] = vino 267 order_usedcar_info[consts.PCUSD_MVC[0][0]] = vino
242 order_usedcar_info[consts.PCUSD_MVC[0][4]] = consts.RESULT_N
243 268
244 comparison_res['OCR_Input']['usedCarInfo'] = order_usedcar_info 269 comparison_res['OCR_Input']['usedCarInfo'] = order_usedcar_info
245 270
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!