4fb6a0f2 by 冯轩

MOD:发票excel下载 java转python

1 parent 0b7fde9b
No preview for this file type
...@@ -63,6 +63,8 @@ from celery_compare.tasks import compare, fsm_compare ...@@ -63,6 +63,8 @@ from celery_compare.tasks import compare, fsm_compare
63 from prese.compare import get_empty_result 63 from prese.compare import get_empty_result
64 64
65 import time 65 import time
66 from django.http import HttpResponse
67 from django.utils.encoding import escape_uri_path
66 68
67 69
68 class CustomDate(fields.Date): 70 class CustomDate(fields.Date):
...@@ -561,6 +563,10 @@ mpos_args = { ...@@ -561,6 +563,10 @@ mpos_args = {
561 'file_base64_content': fields.List(fields.Str(), required=True, validate=validate.Length(min=1)), 563 'file_base64_content': fields.List(fields.Str(), required=True, validate=validate.Length(min=1)),
562 } 564 }
563 565
566 invoice_download_args = {
567 'application_entity': fields.Int(required=True),
568 'application_ids': fields.Str(required=True),
569 }
564 570
565 class UploadDocView(GenericView, DocHandler): 571 class UploadDocView(GenericView, DocHandler):
566 # permission_classes = [] 572 # permission_classes = []
...@@ -1851,8 +1857,8 @@ class InvoiceExcelView(GenericView): ...@@ -1851,8 +1857,8 @@ class InvoiceExcelView(GenericView):
1851 authentication_classes = [OAuth2AuthenticationWithUser] 1857 authentication_classes = [OAuth2AuthenticationWithUser]
1852 1858
1853 # 下载发票excel 1859 # 下载发票excel
1854 # @use_args(doc_list_args, location='data') 1860 @use_args(invoice_download_args, location='data')
1855 def get(self, request, args): 1861 def post(self, request, args):
1856 application_ids = args.get('application_ids') 1862 application_ids = args.get('application_ids')
1857 application_entity = args.get('application_entity') 1863 application_entity = args.get('application_entity')
1858 1864
...@@ -1866,8 +1872,20 @@ class InvoiceExcelView(GenericView): ...@@ -1866,8 +1872,20 @@ class InvoiceExcelView(GenericView):
1866 headers = { 1872 headers = {
1867 'Content-Type': 'application/json' 1873 'Content-Type': 'application/json'
1868 } 1874 }
1869 requests.post(url, headers=headers, json=body) 1875 resp = requests.post(url, headers=headers, json=body)
1870 self.running_log.info("java invoice excel api finish, void") 1876 self.running_log.info("java invoice excel api finish, applicationIds:{0},{1}".format(application_ids, resp.text))
1877 res_json = json.loads(resp.text)
1878 file_path = res_json.get('result')
1879 self.running_log.info("java invoice excel after process, filePath:{0}".format(file_path))
1880 current_time = time.strftime('%Y-%m-%d_%H_%M_%S', time.localtime())
1881 download_file_name = "发票信息提取-" + current_time + ".xlsx"
1882 f = open(file_path,"rb")
1883 response = HttpResponse(content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
1884 response['Content-Disposition'] = 'attachment; filename="{0}"'.format(escape_uri_path(download_file_name))
1885 response['Access-Control-Expose-Headers'] = 'content-disposition'
1886 response.write(f.read())
1887 f.close()
1888 return response
1871 except Exception as e: 1889 except Exception as e:
1872 self.running_log.error("invoice excel request to java error, url:{0}, param:{1}, errorMsg:{2}".format( 1890 self.running_log.error("invoice excel request to java error, url:{0}, param:{1}, errorMsg:{2}".format(
1873 url, json.dumps(body), traceback.format_exc())) 1891 url, json.dumps(body), traceback.format_exc()))
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!