增加传输文件列表返回

This commit is contained in:
胡尧
2025-04-25 14:04:48 +08:00
parent b7128ba81a
commit df53989f22
4 changed files with 11 additions and 12 deletions

View File

@@ -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)}")

View File

@@ -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:

View File

@@ -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)}")

View File

@@ -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")