From 33e88eb9cce03d631a4af5c11109dd7dfbab67af Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Fri, 23 Feb 2024 16:31:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B4=A8=E6=A3=80=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_workorder.py | 34 +++++++++++++----------- sf_mrs_connect/models/ftp_operate.py | 3 +++ 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index a751d5ae..06596db8 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -640,6 +640,23 @@ class ResMrpWorkOrder(models.Model): logging.info('download_state:%s' % download_state) return download_state + # 根据中控系统提供的检测文件地址去ftp里对应的制造订单里获取 + def get_detection_file(self, workorder, reportPath): + logging.info('workorder:%s' % workorder.name) + logging.info('制造订单:%s' % workorder.production_id.name) + logging.info('reportPath:%s' % reportPath) + serverdir = os.path.join('/tmp', reportPath).replace('//', '/') + logging.info('serverdir:%s' % serverdir) + for root, dirs, files in os.walk(serverdir): + for f in files: + logging.info('f:%s' % f) + if os.path.splitext(f)[1] == ".pdf": + full_path = os.path.join(serverdir, root, f) + logging.info('检测文件路径:%s' % full_path) + if full_path is not False: + workorder.detection_report = base64.b64encode( + open(full_path, 'rb').read()) + class CNCprocessing(models.Model): _name = 'sf.cnc.processing' @@ -719,22 +736,7 @@ class CNCprocessing(models.Model): logging.info('cnc_file_path:%s' % cnc_file_path) self.write_file(cnc_file_path, cnc_processing) - # 根据中控系统提供的检测文件地址去ftp里对应的制造订单里获取 - def get_detection_file(self, workorder, reportPath): - logging.info('workorder:%s' % workorder.name) - logging.info('制造订单:%s' % workorder.production_id.name) - logging.info('reportPath:%s' % reportPath) - serverdir = os.path.join('/tmp', reportPath).replace('//', '/') - logging.info('serverdir:%s' % serverdir) - for root, dirs, files in os.walk(serverdir): - for f in files: - logging.info('f:%s' % f) - if os.path.splitext(f)[1] == ".pdf": - full_path = os.path.join(serverdir, root, f) - logging.info('检测文件路径:%s' % full_path) - if full_path is not False: - workorder.detection_report = base64.b64encode( - open(full_path, 'rb').read()) + # 创建附件(nc文件) def attachment_create(self, name, data): diff --git a/sf_mrs_connect/models/ftp_operate.py b/sf_mrs_connect/models/ftp_operate.py index a5bb0aab..24c73db6 100644 --- a/sf_mrs_connect/models/ftp_operate.py +++ b/sf_mrs_connect/models/ftp_operate.py @@ -44,6 +44,9 @@ class FtpController(): def download_reportfile_tree(self, target_dir, serverdir, reportpath): try: logging.info("进入FTP目录 ") + logging.info('FTP目录1:%s' % target_dir) + logging.info('serverdir:%s' % serverdir) + logging.info('reportpath:%s' % reportpath) self.ftp.cwd(target_dir) # 切换工作路径 logging.info('FTP目录:%s' % target_dir) remotenames = self.ftp.nlst()