增加传输文件列表返回
This commit is contained in:
@@ -22,7 +22,7 @@ class MaintenancePrinting(models.Model):
|
|||||||
# 切换成A4打印机
|
# 切换成A4打印机
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.env['jikimo.printing'].print_qr_code(self.id)
|
self.env['jikimo.printing'].print_qr_code(self.MTcode)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
raise UserError(f"打印失败: {str(e)}")
|
raise UserError(f"打印失败: {str(e)}")
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
from odoo import http
|
from odoo import http
|
||||||
from odoo.http import request
|
from odoo.http import request
|
||||||
from odoo.addons.sf_machine_connect.models.ftp_operate import transfer_nc_files
|
from odoo.addons.sf_machine_connect.models.ftp_operate import transfer_files
|
||||||
from odoo.addons.sf_base.decorators.api_log import api_log
|
from odoo.addons.sf_base.decorators.api_log import api_log
|
||||||
|
|
||||||
class MainController(http.Controller):
|
class MainController(http.Controller):
|
||||||
@@ -18,12 +18,11 @@ class MainController(http.Controller):
|
|||||||
if not maintenance_equipment_id or not model_id:
|
if not maintenance_equipment_id or not model_id:
|
||||||
return {'code': 400, 'message': '参数错误'}
|
return {'code': 400, 'message': '参数错误'}
|
||||||
try:
|
try:
|
||||||
maintenance_equipment_id = int(maintenance_equipment_id)
|
|
||||||
model_id = int(model_id)
|
model_id = int(model_id)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return {'code': 400, 'message': '参数类型错误'}
|
return {'code': 400, 'message': '参数类型错误'}
|
||||||
maintenance_equipment = request.env['maintenance.equipment'].sudo().search(
|
maintenance_equipment = request.env['maintenance.equipment'].sudo().search(
|
||||||
[('id', '=', maintenance_equipment_id), ('category_id.equipment_type', '=', '机床')],
|
[('MTcode', '=', maintenance_equipment_id), ('category_id.equipment_type', '=', '机床')],
|
||||||
limit=1
|
limit=1
|
||||||
)
|
)
|
||||||
if not maintenance_equipment:
|
if not maintenance_equipment:
|
||||||
@@ -55,15 +54,15 @@ class MainController(http.Controller):
|
|||||||
}
|
}
|
||||||
# 传输nc文件
|
# 传输nc文件
|
||||||
try:
|
try:
|
||||||
result = transfer_nc_files(
|
result = transfer_files(
|
||||||
source_ftp_info,
|
source_ftp_info,
|
||||||
target_ftp_info,
|
target_ftp_info,
|
||||||
'/' + str(model_id),
|
'/' + str(model_id),
|
||||||
'/',
|
'/',
|
||||||
match_str=r'^\d*_\d*-' + tool_groups_id.name + r'-\w{2}-all\.nc$'
|
match_str=r'^\d*_\d*-' + tool_groups_id.name + r'-\w{2}-all\.nc$'
|
||||||
)
|
)
|
||||||
if result:
|
if len(result) > 0:
|
||||||
return {'code': 200, 'message': 'success'}
|
return {'code': 200, 'message': '传输成功', 'file_list': result}
|
||||||
else:
|
else:
|
||||||
return {'code': 404, 'message': '未找到编程文件'}
|
return {'code': 404, 'message': '未找到编程文件'}
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ class FtpController:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
def transfer_nc_files(
|
def transfer_files(
|
||||||
source_ftp_info,
|
source_ftp_info,
|
||||||
target_ftp_info,
|
target_ftp_info,
|
||||||
source_dir,
|
source_dir,
|
||||||
@@ -151,7 +151,7 @@ def transfer_nc_files(
|
|||||||
target_dir: str, 目标FTP上的目标目录
|
target_dir: str, 目标FTP上的目标目录
|
||||||
keep_dir: bool, 是否保持目录结构,默认False
|
keep_dir: bool, 是否保持目录结构,默认False
|
||||||
"""
|
"""
|
||||||
trans_status = [False]
|
transfered_file_list = []
|
||||||
try:
|
try:
|
||||||
# 连接源FTP
|
# 连接源FTP
|
||||||
source_ftp = FtpController(
|
source_ftp = FtpController(
|
||||||
@@ -217,7 +217,7 @@ def transfer_nc_files(
|
|||||||
with open(temp_path, 'rb') as f:
|
with open(temp_path, 'rb') as f:
|
||||||
target_ftp.ftp.storbinary(f'STOR {target_path}', f)
|
target_ftp.ftp.storbinary(f'STOR {target_path}', f)
|
||||||
|
|
||||||
trans_status[0] = True
|
transfered_file_list.append(item)
|
||||||
# 删除临时文件
|
# 删除临时文件
|
||||||
os.remove(temp_path)
|
os.remove(temp_path)
|
||||||
logging.info(f"已传输文件: {item}")
|
logging.info(f"已传输文件: {item}")
|
||||||
@@ -259,7 +259,7 @@ def transfer_nc_files(
|
|||||||
traverse_dir(source_dir)
|
traverse_dir(source_dir)
|
||||||
|
|
||||||
logging.info("所有文件传输完成")
|
logging.info("所有文件传输完成")
|
||||||
return trans_status[0]
|
return transfered_file_list
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"传输过程出错: {str(e)}")
|
logging.error(f"传输过程出错: {str(e)}")
|
||||||
|
|||||||
@@ -845,7 +845,7 @@ class SfMaintenanceEquipment(models.Model):
|
|||||||
box_size=10,
|
box_size=10,
|
||||||
border=4,
|
border=4,
|
||||||
)
|
)
|
||||||
qr.add_data(record.id)
|
qr.add_data(record.MTcode)
|
||||||
qr.make(fit=True)
|
qr.make(fit=True)
|
||||||
qr_image = qr.make_image(fill_color="black", back_color="white")
|
qr_image = qr.make_image(fill_color="black", back_color="white")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user