6ae14e64 by 冯轩

merge

2 parents 08e21eab b0ca4ade
...@@ -4,5 +4,6 @@ from . import views ...@@ -4,5 +4,6 @@ from . import views
4 4
5 urlpatterns = [ 5 urlpatterns = [
6 path(r'', views.DocView.as_view()), 6 path(r'', views.DocView.as_view()),
7 path(r'query/employee', views.EmployeeView.as_view()),
7 path(r'contract/v1', views.SEContractView.as_view()), 8 path(r'contract/v1', views.SEContractView.as_view()),
8 ] 9 ]
......
...@@ -1507,7 +1507,7 @@ class Command(BaseCommand, LoggerMixin): ...@@ -1507,7 +1507,7 @@ class Command(BaseCommand, LoggerMixin):
1507 # AFC合同 1507 # AFC合同
1508 if classify_1_str == str(consts.CONTRACT_CLASSIFY): 1508 if classify_1_str == str(consts.CONTRACT_CLASSIFY):
1509 is_fsm = doc.is_ovp_fsm == 1 1509 is_fsm = doc.is_ovp_fsm == 1
1510 ocr_result = afc_predict(self,pdf_handler.pdf_info, is_fsm=is_fsm) 1510 ocr_result = afc_predict(pdf_handler.pdf_info, is_fsm=is_fsm)
1511 page_res = {} 1511 page_res = {}
1512 for page_num, page_info in ocr_result.get('page_info', {}).items(): 1512 for page_num, page_info in ocr_result.get('page_info', {}).items():
1513 if isinstance(page_num, str) and page_num.startswith('page_'): 1513 if isinstance(page_num, str) and page_num.startswith('page_'):
......
...@@ -92,6 +92,10 @@ class CustomDecimal(fields.Decimal): ...@@ -92,6 +92,10 @@ class CustomDecimal(fields.Decimal):
92 def load_data(request, schema): 92 def load_data(request, schema):
93 return request.data 93 return request.data
94 94
95 employee_args = {
96 'applicationId': fields.Str(required=True, validate=validate.Length(max=64)),
97 'business_type': fields.Str(required=True, validate=validate.Length(max=64)),
98 }
95 99
96 go_args = { 100 go_args = {
97 'image': fields.Raw(required=True), 101 'image': fields.Raw(required=True),
...@@ -1890,3 +1894,24 @@ def notifyCmsPass(self, request): ...@@ -1890,3 +1894,24 @@ def notifyCmsPass(self, request):
1890 else: 1894 else:
1891 self.running_log.info('[pressure cms success] [response={0}]'.format(response)) 1895 self.running_log.info('[pressure cms success] [response={0}]'.format(response))
1892 return True 1896 return True
1897 class EmployeeView(GenericView):
1898 permission_classes = [IsAuthenticated]
1899 authentication_classes = [OAuth2AuthenticationWithUser]
1900
1901 @use_args(employee_args, location='data')
1902 def post(self, request, args):
1903
1904 application_id = args.get('application_id')
1905 business_type = args.get('business_type')
1906
1907 ocr_result_class = HILOCRResult if business_type in consts.HIL_SET else AFCOCRResult
1908 ocr_result_info = ocr_result_class.objects.filter(application_id=application_id).first()
1909 if not ocr_result_info:
1910 return response.ok(data=False)
1911 bss_ocr_str = ocr_result_info.bss_ocr
1912 bss_ocr = json.loads(bss_ocr_str)
1913 for one_bss in bss_ocr:
1914 income_keywords = one_bss['income_keywords']
1915 if income_keywords is not None and len(income_keywords) > 0:
1916 return response.ok(data=True)
1917 return response.ok(data=False)
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -24,7 +24,7 @@ def extract_info(ocr_results): ...@@ -24,7 +24,7 @@ def extract_info(ocr_results):
24 return {'page_1': {'合同编号': contract_no}} 24 return {'page_1': {'合同编号': contract_no}}
25 25
26 26
27 def predict(self, pdf_info, is_qrs=False, is_fsm=False): 27 def predict(pdf_info, is_qrs=False, is_fsm=False):
28 pop_seceond_page_info = {} 28 pop_seceond_page_info = {}
29 if not is_fsm and not is_qrs and len(pdf_info) == 9: 29 if not is_fsm and not is_qrs and len(pdf_info) == 9:
30 pop_seceond_page_info = pdf_info.pop('1', {}) 30 pop_seceond_page_info = pdf_info.pop('1', {})
...@@ -61,10 +61,8 @@ def predict(self, pdf_info, is_qrs=False, is_fsm=False): ...@@ -61,10 +61,8 @@ def predict(self, pdf_info, is_qrs=False, is_fsm=False):
61 else: 61 else:
62 # 输入是整个 PDF 中的信息 62 # 输入是整个 PDF 中的信息
63 if is_fsm: 63 if is_fsm:
64 self.online_log.info('afc_contract_is_fsm')
65 f = FSMFinder(pdf_info, ocr_results=ocr_results) 64 f = FSMFinder(pdf_info, ocr_results=ocr_results)
66 else: 65 else:
67 self.online_log.info('afc_contract_is_non_fsm')
68 f = Finder(pdf_info, ocr_results=ocr_results) 66 f = Finder(pdf_info, ocr_results=ocr_results)
69 results = f.get_info() 67 results = f.get_info()
70 return results 68 return results
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!