Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
周伟奇
/
bmw-ocr
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Graphs
Network
Create a new issue
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
55611fd2
authored
2021-04-26 10:54:28 +0800
by
周伟奇
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
fix sep name
1 parent
022411dc
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
10 deletions
src/apps/doc/consts.py
src/celery_compare/tasks.py
src/apps/doc/consts.py
View file @
55611fd
...
...
@@ -1130,6 +1130,7 @@ PCUSD_DL = [
]
# 营业执照
LEGAL_REP_NAME
=
'经营者姓名'
TCCOR
=
[
(
'customerChineseName'
,
'企业名称'
,
'company_compare'
,
{},
'customerChinessNameResult'
),
(
'legalRepName'
,
'经营者姓名'
,
'name_compare'
,
{},
'legalRepNameResult'
),
...
...
src/celery_compare/tasks.py
View file @
55611fd
...
...
@@ -24,24 +24,35 @@ def get_order_dict(src_dict, order_tuple):
return
order_dict
def
field_compare
(
info_dict
,
ocr_res_dict
,
ocr_field
,
compare_list
,
res_set
,
has_expiry_date
=
False
):
def
field_compare
(
info_dict
,
ocr_res_dict
,
ocr_field
,
compare_list
,
res_set
,
has_expiry_date
=
False
,
sep_name
=
None
):
is_find
=
False
ocr_res_str
=
ocr_res_dict
.
get
(
ocr_field
)
if
ocr_res_str
is
not
None
:
ocr_res_list
=
json
.
loads
(
ocr_res_str
)
length
=
len
(
ocr_res_list
)
# sep营业执照根据法人过滤
if
isinstance
(
sep_name
,
str
):
tmp_list
=
[]
for
ocr_res
in
ocr_res_list
:
ocr_sep_name
=
ocr_res
.
get
(
consts
.
LEGAL_REP_NAME
)
if
isinstance
(
ocr_sep_name
,
str
)
and
ocr_sep_name
==
sep_name
:
tmp_list
.
append
(
ocr_res
)
else
:
tmp_list
=
ocr_res_list
length
=
len
(
tmp_list
)
# 过期期限特殊处理
if
has_expiry_date
:
expiry_dates
=
[]
key
=
compare_list
[
2
][
1
]
for
ocr_res
in
ocr_res
_list
:
for
ocr_res
in
tmp
_list
:
if
ocr_res
.
get
(
key
):
expiry_dates
.
append
(
ocr_res
.
get
(
key
))
else
:
expiry_dates
=
[]
for
ocr_res
in
ocr_res
_list
:
for
ocr_res
in
tmp
_list
:
if
is_find
:
break
for
idx
,
compare_tuple
in
enumerate
(
compare_list
):
...
...
@@ -186,17 +197,29 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id):
for
individual_cus_info
in
individual_cus_info_list
:
order_individual_cus_info
=
get_order_dict
(
individual_cus_info
,
consts
.
IN_ORDER
)
# 获取sep下营业执照法人代表
if
order_individual_cus_info
.
get
(
'customerType'
)
==
consts
.
CUSTOMER_TYPE
[
5
]:
sep_name
=
order_individual_cus_info
.
get
(
'customerChineseName'
)
if
isinstance
(
sep_name
,
str
):
sep_name
=
sep_name
.
strip
()
if
sep_name
==
''
:
sep_name
=
None
else
:
sep_name
=
None
# 个人信息证件
id_type
=
order_individual_cus_info
.
get
(
'idType'
)
compare_info_list
=
consts
.
ID_TYPE_COMPARE
.
get
(
id_type
)
if
compare_info_list
is
not
None
:
field_compare
(
order_individual_cus_info
,
ocr_res_dict
,
compare_info_list
[
0
],
compare_info_list
[
1
],
res_set
,
has_expiry_date
=
True
)
field_compare
(
order_individual_cus_info
,
ocr_res_dict
,
compare_info_list
[
0
],
compare_info_list
[
1
],
res_set
,
has_expiry_date
=
True
)
# 第二证件
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
not
None
:
field_compare
(
order_individual_cus_info
,
ocr_res_dict
,
second_compare_info_list
[
0
],
second_compare_info_list
[
1
],
res_set
)
field_compare
(
order_individual_cus_info
,
ocr_res_dict
,
second_compare_info_list
[
0
],
second_compare_info_list
[
1
],
res_set
)
# 重新排列
new_dict
=
OrderedDict
({})
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):
# 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
)
field_compare
(
order_individual_cus_info
,
ocr_res_dict
,
consts
.
BL_OCR_FIELD
,
consts
.
TCSEP
,
res_set
,
sep_name
=
sep_name
)
order_individual_cus_info_list
.
append
(
order_individual_cus_info
)
...
...
@@ -218,10 +242,12 @@ def compare(application_id, application_entity, uniq_seq, ocr_res_id):
usedcar_info
=
json
.
loads
(
last_obj
.
usedcar_info
)
order_usedcar_info
=
get_order_dict
(
usedcar_info
,
consts
.
UC_ORDER
)
mvc_find
,
mvc_vinos
=
usedcar_info_compare
(
order_usedcar_info
,
ocr_res_dict
,
consts
.
MVC_OCR_FIELD
,
consts
.
PCUSD_MVC
,
res_set
)
mvc_find
,
mvc_vinos
=
usedcar_info_compare
(
order_usedcar_info
,
ocr_res_dict
,
consts
.
MVC_OCR_FIELD
,
consts
.
PCUSD_MVC
,
res_set
)
# if order_usedcar_info[consts.PCUSD_MVC[0][0] + 'Result'] == consts.RESULT_Y:
dl_find
,
dl_vinos
=
usedcar_info_compare
(
order_usedcar_info
,
ocr_res_dict
,
consts
.
DL_OCR_FIELD
,
consts
.
PCUSD_DL
,
res_set
)
dl_find
,
dl_vinos
=
usedcar_info_compare
(
order_usedcar_info
,
ocr_res_dict
,
consts
.
DL_OCR_FIELD
,
consts
.
PCUSD_DL
,
res_set
)
if
mvc_find
is
True
and
dl_find
is
False
:
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):
vino_list
.
append
(
dl_vinos
[
-
1
])
vino
=
'、'
.
join
(
'{0}: {1}'
.
format
(
consts
.
PREFIX_DL
,
dl_vino
))
order_usedcar_info
[
consts
.
PCUSD_MVC
[
0
][
0
]]
=
vino
order_usedcar_info
[
consts
.
PCUSD_MVC
[
0
][
4
]]
=
consts
.
RESULT_N
comparison_res
[
'OCR_Input'
][
'usedCarInfo'
]
=
order_usedcar_info
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment