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
db2bead1
authored
2021-09-21 18:36:50 +0800
by
周伟奇
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
add insurance
1 parent
01c7aaa5
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
43 additions
and
3 deletions
src/apps/doc/consts.py
src/apps/doc/management/commands/ocr_process.py
src/apps/doc/consts.py
View file @
db2bead
...
...
@@ -852,7 +852,7 @@ MVI_FIELD_ORDER = (('发票代码', '发票代码'),
(
'主管税务机关及代码'
,
'主管税务机关及代码'
),
(
'吨位'
,
'吨位'
),
(
'限乘人数'
,
'限乘人数'
),)
IC_PID
=
VAT_PID
=
VATS_PID
=
MVC_PID
=
MVI_PID
=
RP_PID
=
DDA_PID
=
HMH_PID
=
JYPZ_PID
=
None
IC_PID
=
VAT_PID
=
VATS_PID
=
MVC_PID
=
MVI_PID
=
RP_PID
=
DDA_PID
=
HMH_PID
=
JYPZ_PID
=
INSURANCE_PID
=
None
# 营业执照
BL_CN_NAME
=
'营业执照'
...
...
@@ -1006,6 +1006,21 @@ JYPZ_FIELD_ORDER = (("type", "标题"),
CONTRACT_CN_NAME
=
'合同'
CONTRACT_CLASSIFY
=
41
# 保单
INSURANCE_CN_NAME
=
'保单'
INSURANCE_CLASSIFY
=
42
INSURANCE_FIELD_ORDER
=
((
"被保险人姓名"
,
"被保险人姓名"
),
(
"被保险人证件号码"
,
"被保险人证件号码"
),
(
"车架号"
,
"车架号"
),
(
"机动车损失保险金额"
,
"机动车损失保险金额"
),
(
"机动车第三者责任保险金额"
,
"机动车第三者责任保险金额"
),
(
"机动车损失保险绝对免赔率/绝对免赔额"
,
"机动车损失保险绝对免赔率/绝对免赔额"
),
(
"保险费合计"
,
"保险费合计"
),
(
"保险起始日期"
,
"保险起始日期"
),
(
"保险截止日期"
,
"保险截止日期"
),
(
"保单章"
,
"保单章"
),
(
"特别约定第一受益人"
,
"特别约定第一受益人"
))
SUCCESS_CODE_SET
=
{
'0'
,
0
}
FIELD_ORDER_MAP
=
{
...
...
@@ -1043,6 +1058,7 @@ LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, False, F
(
DDA_CLASSIFY
,
(
DDA_PID
,
DDA_CN_NAME
,
DDA_FIELD_ORDER
,
False
,
False
,
None
)),
(
HMH_CLASSIFY
,
(
HMH_PID
,
HMH_CN_NAME
,
HMH_FIELD_ORDER
,
False
,
False
,
None
)),
(
JYPZ_CLASSIFY
,
(
JYPZ_PID
,
JYPZ_CN_NAME
,
JYPZ_FIELD_ORDER
,
False
,
False
,
None
)),
(
INSURANCE_CLASSIFY
,
(
INSURANCE_PID
,
INSURANCE_CN_NAME
,
INSURANCE_FIELD_ORDER
,
False
,
False
,
None
)),
)
FOLDER_LICENSE_ORDER
=
((
MVI_CLASSIFY
,
(
MVI_PID
,
MVI_CN_NAME
,
MVI_FIELD_ORDER
,
False
,
False
,
MODEL_FIELD_MVI
)),
...
...
@@ -1054,7 +1070,7 @@ FOLDER_LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, F
LICENSE_CLASSIFY_MAPPING
=
dict
(
LICENSE_ORDER
)
OTHER_CLASSIFY_SET
=
{
OTHER_CLASSIFY
}
LICENSE_CLASSIFY_SET_1
=
{
IC_CLASSIFY
,
VAT_CLASSIFY
,
MVC_CLASSIFY
,
MVI_CLASSIFY
,
UCI_CLASSIFY
,
DDA_CLASSIFY
,
HMH_CLASSIFY
,
JYPZ_CLASSIFY
}
LICENSE_CLASSIFY_SET_1
=
{
IC_CLASSIFY
,
VAT_CLASSIFY
,
MVC_CLASSIFY
,
MVI_CLASSIFY
,
UCI_CLASSIFY
,
DDA_CLASSIFY
,
HMH_CLASSIFY
,
JYPZ_CLASSIFY
,
INSURANCE_CLASSIFY
}
LICENSE_CLASSIFY_SET_2
=
{
BL_CLASSIFY
,
EEP_CLASSIFY
,
DL_CLASSIFY
,
PP_CLASSIFY
,
BC_CLASSIFY
}
NYYH_CLASSIFY
=
{
17
,
18
}
...
...
src/apps/doc/management/commands/ocr_process.py
View file @
db2bead
...
...
@@ -252,7 +252,31 @@ class Command(BaseCommand, LoggerMixin):
if
not
license_data
:
res_list
.
append
((
pno
,
ino
,
part_idx
,
consts
.
RES_SUCCESS_EMPTY
))
return
if
classify
==
consts
.
DDA_CLASSIFY
:
# DDA处理
if
classify
==
consts
.
INSURANCE_CLASSIFY
:
# 保单处理
product_result
=
[
''
,
''
,
''
]
for
product
in
license_data
.
get
(
'result'
,
{})
.
get
(
'productList'
,
[]):
name
=
product
.
get
(
'name'
,
{})
.
get
(
'words'
,
''
)
if
name
==
'机动车损失保险'
:
product_result
[
0
]
=
product
.
get
(
'coverage'
,
{})
.
get
(
'words'
,
''
)
product_result
[
2
]
=
product
.
get
(
'deductible_franchise'
,
{})
.
get
(
'words'
,
''
)
elif
name
==
'机动车第三者责任保险'
:
product_result
[
1
]
=
product
.
get
(
'coverage'
,
{})
.
get
(
'words'
,
''
)
insurance_ocr_result
=
{
'被保险人姓名'
:
license_data
.
get
(
'result'
,
{})
.
get
(
'insurer'
,
{})
.
get
(
'name'
,
{})
.
get
(
'words'
,
''
),
'被保险人证件号码'
:
license_data
.
get
(
'result'
,
{})
.
get
(
'insurer'
,
{})
.
get
(
'certiCode'
,
{})
.
get
(
'words'
,
''
),
'车架号'
:
license_data
.
get
(
'result'
,
{})
.
get
(
'vehicle'
,
{})
.
get
(
'VIN'
,
{})
.
get
(
'words'
,
''
),
'机动车损失保险金额'
:
product_result
[
0
],
'机动车第三者责任保险金额'
:
product_result
[
1
],
'机动车损失保险绝对免赔率/绝对免赔额'
:
product_result
[
2
],
'保险费合计'
:
license_data
.
get
(
'result'
,
{})
.
get
(
'premiumSum'
,
{})
.
get
(
'words'
,
''
),
'保险起始日期'
:
license_data
.
get
(
'result'
,
{})
.
get
(
'startDate'
,
{})
.
get
(
'words'
,
''
),
'保险截止日期'
:
license_data
.
get
(
'result'
,
{})
.
get
(
'endDate'
,
{})
.
get
(
'words'
,
''
),
'保单章'
:
''
,
'特别约定第一受益人'
:
license_data
.
get
(
'result'
,
{})
.
get
(
'insured'
,
{})
.
get
(
'words'
,
''
),
}
license_summary
.
setdefault
(
classify
,
[])
.
append
(
insurance_ocr_result
)
elif
classify
==
consts
.
DDA_CLASSIFY
:
# DDA处理
pro
=
ocr_data
.
get
(
'confidence'
,
0
)
if
pro
<
consts
.
DDA_PRO_MIN
:
res_list
.
append
((
pno
,
ino
,
part_idx
,
consts
.
RES_SUCCESS_EMPTY
))
...
...
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