fix sep name
Showing
2 changed files
with
36 additions
and
10 deletions
... | @@ -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 | ... | ... |
-
Please register or sign in to post a comment