优化涉及到的接口
This commit is contained in:
@@ -2,10 +2,12 @@
|
||||
from odoo import api, fields, models,_
|
||||
|
||||
|
||||
class resProduct(models.Model):
|
||||
class ResProducTemplate_Production(models.Model):
|
||||
_inherit = 'product.template'
|
||||
|
||||
model_file = fields.Binary('模型文件')
|
||||
|
||||
|
||||
class MrpProduction(models.Model):
|
||||
_inherit = 'mrp.production'
|
||||
_description = "制造订单"
|
||||
|
||||
@@ -13,6 +13,12 @@ class ResWorkcenter(models.Model):
|
||||
'maintenance.equipment', 'workcenter_id', string="Maintenance Equipment",
|
||||
check_company=True)
|
||||
|
||||
# @api.onchange('machine_tool_id')
|
||||
# def update_machine_tool_is_binding(self):
|
||||
# self.machine_tool_id.is_binding = True
|
||||
|
||||
|
||||
|
||||
def action_work_order(self):
|
||||
if not self.env.context.get('desktop_list_view', False):
|
||||
action = self.env["ir.actions.actions"]._for_xml_id("sf_manufacturing.mrp_workorder_action_tablet")
|
||||
|
||||
@@ -288,7 +288,7 @@ class ResMrpWorkOrder(models.Model):
|
||||
'material_type_code': cnc.env['sf.materials.model'].search(
|
||||
[('id', '=', cnc.product_id.materials_type_id.id)]).materials_no,
|
||||
'machining_processing_panel': cnc.product_id.model_processing_panel,
|
||||
'machining_precision': cnc.product_id.model_machining_precision,
|
||||
# 'machining_precision': cnc.product_id.model_machining_precision,
|
||||
'embryo_long': cnc.product_id.bom_ids.bom_line_ids.product_id.length,
|
||||
'embryo_height': cnc.product_id.bom_ids.bom_line_ids.product_id.height,
|
||||
'embryo_width': cnc.product_id.bom_ids.bom_line_ids.product_id.width,
|
||||
@@ -311,7 +311,7 @@ class ResMrpWorkOrder(models.Model):
|
||||
{'programming_no': ret['programming_no'], 'programming_state': '编程中', 'work_state': '编程中'})
|
||||
else:
|
||||
logging.info('fetchCNC-error:%s' % cnc)
|
||||
raise UserError('行业资源库解析失败')
|
||||
raise UserError(ret['message'])
|
||||
except Exception as e:
|
||||
logging.info('fetchCNC error:%s' % e)
|
||||
raise UserError(e)
|
||||
@@ -413,6 +413,7 @@ class CNCprocessing(models.Model):
|
||||
|
||||
# mrs下发编程单创建CNC加工
|
||||
def cnc_processing_create(self, cnc_workorder, ret):
|
||||
logging.info('ret:%s' % ret)
|
||||
for obj in ret['programming_list']:
|
||||
workorder = self.env['mrp.workorder'].search([('production_id.name', '=', ret['production_order_no']),
|
||||
('processing_panel', '=', obj['processing_panel']),
|
||||
@@ -432,21 +433,22 @@ class CNCprocessing(models.Model):
|
||||
'estimated_processing_time': obj['estimated_processing_time'],
|
||||
'remark': obj['remark']
|
||||
})
|
||||
self.get_cnc_processing_file(ret['folder_name'], cnc_processing)
|
||||
self.get_cnc_processing_file(ret['folder_name'], cnc_processing, workorder.processing_panel)
|
||||
cnc_workorder.state = 'done'
|
||||
cnc_workorder.work_state = '已编程'
|
||||
cnc_workorder.programming_state = '已编程'
|
||||
cnc_workorder.time_ids.date_end = datetime.now()
|
||||
cnc_workorder.button_finish()
|
||||
|
||||
def get_cnc_processing_file(self, folder_name, cnc_processing):
|
||||
def get_cnc_processing_file(self, folder_name, cnc_processing, processing_panel):
|
||||
logging.info('folder_name:%s' % folder_name)
|
||||
serverdir = os.path.join('/', folder_name, 'return', cnc_processing.processing_panel)
|
||||
serverdir = os.path.join('/tmp', folder_name, 'return', processing_panel)
|
||||
logging.info('serverdir:%s' % serverdir)
|
||||
for root, dirs, files in os.walk(server_dir):
|
||||
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(server_dir, root, f)
|
||||
full_path = os.path.join(serverdir, root, f)
|
||||
logging.info('pdf:%s' % full_path)
|
||||
if full_path != False:
|
||||
if not cnc_processing.workorder_id.cnc_worksheet:
|
||||
@@ -454,10 +456,9 @@ class CNCprocessing(models.Model):
|
||||
open(full_path, 'rb').read())
|
||||
else:
|
||||
if cnc_processing.program_name == f.split('.')[0]:
|
||||
cnc_file_path = os.path.join(server_dir, root, f)
|
||||
cnc_file_path = os.path.join(serverdir, root, f)
|
||||
logging.info('cnc_file_path:%s' % cnc_file_path)
|
||||
cnc_processing.with_user(request.env.ref("base.user_admin")).write_file(cnc_file_path,
|
||||
cnc_processing)
|
||||
self.write_file(cnc_file_path, cnc_processing)
|
||||
|
||||
# 创建附件(nc文件)
|
||||
def attachment_create(self, name, data):
|
||||
|
||||
@@ -20,41 +20,6 @@ class Tray(models.Model):
|
||||
def updateTrayState(self):
|
||||
|
||||
if self.workorder_id != False:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
self.state = '占用'
|
||||
else:
|
||||
self.state = '空闲'
|
||||
|
||||
Reference in New Issue
Block a user