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
f9d91879
authored
2025-02-12 13:59:01 +0800
by
冯轩
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
merge
2 parents
06c3f071
d5e82125
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
49 additions
and
29 deletions
src/apps/doc/management/commands/ocr_process.py
src/celery_compare/tasks.py
src/apps/doc/management/commands/ocr_process.py
View file @
f9d9187
...
...
@@ -2158,10 +2158,20 @@ class Command(BaseCommand, LoggerMixin):
# 更新OCR累计识别结果表
if
business_type
==
consts
.
HIL_PREFIX
:
result_class
=
HILOCRResult
if
is_ca
else
HILSEOCRResult
res_obj
=
atomicSaveDBHIL
(
self
,
result_class
,
doc
,
license_summary
,
ic_merge
,
rp_merge
,
task_str
,
financial_statement_dict
,
financial_explanation_dict
,
down_payment_dict
)
try
:
res_obj
=
atomicSaveDBHIL
(
self
,
result_class
,
doc
,
license_summary
,
ic_merge
,
rp_merge
,
task_str
,
financial_statement_dict
,
financial_explanation_dict
)
except
Exception
as
e
:
# 遇到报错重试一次,希望解决两个文件首次入库都插入的问题
self
.
online_log
.
error
(
'{0} [process error (ocr result save) retry] [task={1}] [error={2}]'
.
format
(
self
.
log_base
,
task_str
,
traceback
.
format_exc
()))
res_obj
=
atomicSaveDBHIL
(
self
,
result_class
,
doc
,
license_summary
,
ic_merge
,
rp_merge
,
task_str
,
financial_statement_dict
,
financial_explanation_dict
)
else
:
result_class
=
AFCOCRResult
if
is_ca
else
AFCSEOCRResult
res_obj
=
atomicSaveDBAFC
(
self
,
result_class
,
doc
,
license_summary
,
ic_merge
,
rp_merge
,
task_str
,
financial_statement_dict
,
financial_explanation_dict
,
down_payment_dict
)
try
:
res_obj
=
atomicSaveDBAFC
(
self
,
result_class
,
doc
,
license_summary
,
ic_merge
,
rp_merge
,
task_str
,
financial_statement_dict
,
financial_explanation_dict
)
except
Exception
as
e
:
# 遇到报错重试一次,希望解决两个文件首次入库都插入的问题
self
.
online_log
.
error
(
'{0} [process error (ocr result save) retry] [task={1}] [error={2}]'
.
format
(
self
.
log_base
,
task_str
,
traceback
.
format_exc
()))
res_obj
=
atomicSaveDBAFC
(
self
,
result_class
,
doc
,
license_summary
,
ic_merge
,
rp_merge
,
task_str
,
financial_statement_dict
,
financial_explanation_dict
)
except
Exception
as
e
:
self
.
online_log
.
error
(
...
...
@@ -2200,10 +2210,20 @@ class Command(BaseCommand, LoggerMixin):
# 更新OCR累计识别结果表
if
business_type
==
consts
.
HIL_PREFIX
:
result_class
=
HILOCRResult
if
is_ca
else
HILSEOCRResult
res_obj
=
atomicSaveDBHIL
(
self
,
result_class
,
doc
,
license_summary
,
ic_merge
,
rp_merge
,
task_str
,
financial_statement_dict
,
financial_explanation_dict
,
down_payment_dict
)
try
:
res_obj
=
atomicSaveDBHIL
(
self
,
result_class
,
doc
,
license_summary
,
ic_merge
,
rp_merge
,
task_str
,
financial_statement_dict
,
financial_explanation_dict
)
except
Exception
as
e
:
# 遇到报错重试一次,希望解决两个文件首次入库都插入的问题
self
.
online_log
.
error
(
'{0} [process error (ocr result save) retry] [task={1}] [error={2}]'
.
format
(
self
.
log_base
,
task_str
,
traceback
.
format_exc
()))
res_obj
=
atomicSaveDBHIL
(
self
,
result_class
,
doc
,
license_summary
,
ic_merge
,
rp_merge
,
task_str
,
financial_statement_dict
,
financial_explanation_dict
)
else
:
result_class
=
AFCOCRResult
if
is_ca
else
AFCSEOCRResult
res_obj
=
atomicSaveDBAFC
(
self
,
result_class
,
doc
,
license_summary
,
ic_merge
,
rp_merge
,
task_str
,
financial_statement_dict
,
financial_explanation_dict
,
down_payment_dict
)
try
:
res_obj
=
atomicSaveDBAFC
(
self
,
result_class
,
doc
,
license_summary
,
ic_merge
,
rp_merge
,
task_str
,
financial_statement_dict
,
financial_explanation_dict
)
except
Exception
as
e
:
# 遇到报错重试一次,希望解决两个文件首次入库都插入的问题
self
.
online_log
.
error
(
'{0} [process error (ocr result save) retry] [task={1}] [error={2}]'
.
format
(
self
.
log_base
,
task_str
,
traceback
.
format_exc
()))
res_obj
=
atomicSaveDBAFC
(
self
,
result_class
,
doc
,
license_summary
,
ic_merge
,
rp_merge
,
task_str
,
financial_statement_dict
,
financial_explanation_dict
)
except
Exception
as
e
:
self
.
online_log
.
error
(
'{0} [process error (ocr result save)] [task={1}] [error={2}]'
.
format
(
...
...
src/celery_compare/tasks.py
View file @
f9d9187
...
...
@@ -3864,31 +3864,6 @@ def compare_thread(application_id, application_entity, uniq_seq, ocr_res_id, is_
'[is_cms={6}]'
.
format
(
log_base
,
application_entity
,
application_id
,
uniq_seq
,
ocr_res_id
,
is_ca
,
is_cms
))
# 查看此订单号下是否有未完成的文件,如果有,等?分钟
doc_wait_file_class
=
HILDoc
if
application_entity
==
consts
.
HIL_PREFIX
else
AFCDoc
doc_wait_file_result
=
doc_wait_file_class
.
objects
.
filter
(
application_id
=
application_id
,
status
=
1
)
.
first
()
compare_log
.
info
(
'doc_wait_file_result:{0}'
.
format
(
doc_wait_file_result
))
compare_log
.
info
(
'{0} [comparison unfinished file check] [entity={1}] [id={2}] [doc_wait_file_result={3}]'
.
format
(
log_base
,
application_entity
,
application_id
,
doc_wait_file_result
))
if
doc_wait_file_result
is
not
None
:
# 实时查询延迟时间
try
:
delay_time_config
=
Configs
.
objects
.
filter
(
id
=
4
)
.
first
()
if
delay_time_config
is
not
None
and
delay_time_config
.
value
is
not
None
and
delay_time_config
.
value
.
isdigit
():
delay_time
=
delay_time_config
.
value
else
:
delay_time
=
0
except
Exception
as
e
:
delay_time
=
0
compare_log
.
info
(
'[get delay_time_config fail] [error={0}]'
.
format
(
traceback
.
format_exc
()))
compare_log
.
info
(
'delay_time:{0}'
.
format
(
delay_time
))
compare_log
.
info
(
'{0} [comparison unfinished file wait delay_time start] [entity={1}] [id={2}] [doc_id={3}]'
.
format
(
log_base
,
application_entity
,
application_id
,
doc_wait_file_result
.
id
))
try
:
time
.
sleep
(
int
(
delay_time
))
except
Exception
as
e
:
compare_log
.
info
(
'[sleep error] [error={0}]'
.
format
(
traceback
.
format_exc
()))
compare_log
.
info
(
'{0} [comparison unfinished file wait delay_time end] [entity={1}] [id={2}] [doc_id={3}]'
.
format
(
log_base
,
application_entity
,
application_id
,
doc_wait_file_result
.
id
))
# 根据application_id查找最新的比对信息,如果没有,结束
if
is_ca
:
comparison_class
=
HILComparisonInfo
if
application_entity
==
consts
.
HIL_PREFIX
else
AFCComparisonInfo
...
...
@@ -3927,6 +3902,31 @@ def compare_thread(application_id, application_entity, uniq_seq, ocr_res_id, is_
uniq_seq
,
ocr_res_id
,
is_ca
,
is_cms
))
return
# 查看此订单号下是否有未完成的文件,如果有,等?分钟
doc_wait_file_class
=
HILDoc
if
application_entity
==
consts
.
HIL_PREFIX
else
AFCDoc
doc_wait_file_result
=
doc_wait_file_class
.
objects
.
filter
(
application_id
=
application_id
,
status
=
1
)
.
first
()
compare_log
.
info
(
'doc_wait_file_result:{0}'
.
format
(
doc_wait_file_result
))
compare_log
.
info
(
'{0} [comparison unfinished file check] [entity={1}] [id={2}] [doc_wait_file_result={3}]'
.
format
(
log_base
,
application_entity
,
application_id
,
doc_wait_file_result
))
if
doc_wait_file_result
is
not
None
:
# 实时查询延迟时间
try
:
delay_time_config
=
Configs
.
objects
.
filter
(
id
=
4
)
.
first
()
if
delay_time_config
is
not
None
and
delay_time_config
.
value
is
not
None
and
delay_time_config
.
value
.
isdigit
():
delay_time
=
delay_time_config
.
value
else
:
delay_time
=
0
except
Exception
as
e
:
delay_time
=
0
compare_log
.
info
(
'[get delay_time_config fail] [error={0}]'
.
format
(
traceback
.
format_exc
()))
compare_log
.
info
(
'delay_time:{0}'
.
format
(
delay_time
))
compare_log
.
info
(
'{0} [comparison unfinished file wait delay_time start] [entity={1}] [id={2}] [doc_id={3}]'
.
format
(
log_base
,
application_entity
,
application_id
,
doc_wait_file_result
.
id
))
try
:
time
.
sleep
(
int
(
delay_time
))
except
Exception
as
e
:
compare_log
.
info
(
'[sleep error] [error={0}]'
.
format
(
traceback
.
format_exc
()))
compare_log
.
info
(
'{0} [comparison unfinished file wait delay_time end] [entity={1}] [id={2}] [doc_id={3}]'
.
format
(
log_base
,
application_entity
,
application_id
,
doc_wait_file_result
.
id
))
if
is_ca
:
ca_compare
(
application_id
,
application_entity
,
ocr_res_id
,
last_obj
,
ocr_res_dict
)
else
:
...
...
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