坯料新增路线
This commit is contained in:
@@ -304,21 +304,21 @@ class MrpProduction(models.Model):
|
||||
'state': 'pending',
|
||||
}]
|
||||
if production.product_id.categ_id.type == '成品':
|
||||
if production.product_id.id in product_id_to_production_names:
|
||||
# if production.product_id.id in product_id_to_production_names:
|
||||
# 同一个产品多个制造订单对应一个编程单和模型库
|
||||
# 只调用一次fetchCNC,并将所有生产订单的名称作为字符串传递
|
||||
if not production.programming_no:
|
||||
production_programming = self.search(
|
||||
[('product_id.id', '=', production.product_id.id), ('origin', '=', production.origin)],
|
||||
limit=1, order='id asc')
|
||||
logging.info('production_programming1:%s' % production_programming.programming_no)
|
||||
if not production_programming.programming_no:
|
||||
production.fetchCNC(', '.join(product_id_to_production_names[production.product_id.id]))
|
||||
else:
|
||||
logging.info('production_programming2:%s' % production_programming.programming_no)
|
||||
production.write({'programming_no': production_programming.programming_no,
|
||||
'programming_state': '编程中'})
|
||||
# 根据加工面板的面数及对应的工序模板生成工单
|
||||
# if not production.programming_no:
|
||||
# production_programming = self.search(
|
||||
# [('product_id.id', '=', production.product_id.id), ('origin', '=', production.origin)],
|
||||
# limit=1, order='id asc')
|
||||
# logging.info('production_programming1:%s' % production_programming.programming_no)
|
||||
# if not production_programming.programming_no:
|
||||
# production.fetchCNC(', '.join(product_id_to_production_names[production.product_id.id]))
|
||||
# else:
|
||||
# logging.info('production_programming2:%s' % production_programming.programming_no)
|
||||
# production.write({'programming_no': production_programming.programming_no,
|
||||
# 'programming_state': '编程中'})
|
||||
# # 根据加工面板的面数及对应的工序模板生成工单
|
||||
i = 0
|
||||
processing_panel_len = len(production.product_id.model_processing_panel.split(','))
|
||||
for k in (production.product_id.model_processing_panel.split(',')):
|
||||
|
||||
@@ -1040,6 +1040,7 @@ class CNCprocessing(models.Model):
|
||||
# 将FTP的nc文件下载到临时目录
|
||||
def download_file_tmp(self, production_no, processing_panel):
|
||||
remotepath = os.path.join('/NC', production_no, 'return', processing_panel)
|
||||
serverdir = os.path.join('/tmp', production_no, 'return', processing_panel)
|
||||
ftp_resconfig = self.env['res.config.settings'].get_values()
|
||||
ftp = FtpController(str(ftp_resconfig['ftp_host']), int(ftp_resconfig['ftp_port']), ftp_resconfig['ftp_user'],
|
||||
ftp_resconfig['ftp_password'])
|
||||
|
||||
@@ -9,8 +9,8 @@ from odoo.exceptions import ValidationError
|
||||
from odoo.modules import get_resource_path
|
||||
|
||||
|
||||
from OCC.Extend.DataExchange import read_step_file
|
||||
from OCC.Extend.DataExchange import write_stl_file
|
||||
# from OCC.Extend.DataExchange import read_step_file
|
||||
# from OCC.Extend.DataExchange import write_stl_file
|
||||
|
||||
|
||||
class ResProductMo(models.Model):
|
||||
@@ -660,8 +660,12 @@ class ResProductMo(models.Model):
|
||||
return attachment
|
||||
|
||||
# 创建坯料
|
||||
def no_bom_product_create(self, product_id, item, order_id, route_type, i):
|
||||
def no_bom_product_create(self, product_id, item, order_id, route_type, i, finish_product):
|
||||
no_bom_copy_product_id = product_id.with_user(self.env.ref("base.user_admin")).copy()
|
||||
if finish_product.model_process_parameters_ids:
|
||||
surface_technology = self.env['stock.rule'].sudo().search([('name', '=', '表面工艺外协')])
|
||||
if surface_technology:
|
||||
no_bom_copy_product_id.route_ids |= surface_technology
|
||||
no_bom_copy_product_id.product_tmpl_id.active = True
|
||||
materials_id = self.env['sf.production.materials'].search(
|
||||
[('materials_no', '=', item['texture_code'])])
|
||||
|
||||
Reference in New Issue
Block a user