1、重构工单工序的生成规则
This commit is contained in:
@@ -484,15 +484,23 @@ class MrpProduction(models.Model):
|
|||||||
def _reset_work_order_sequence(self):
|
def _reset_work_order_sequence(self):
|
||||||
for rec in self:
|
for rec in self:
|
||||||
sequence_list = {}
|
sequence_list = {}
|
||||||
|
# 产品模型类型
|
||||||
model_type_id = rec.product_id.product_model_type_id
|
model_type_id = rec.product_id.product_model_type_id
|
||||||
|
# 产品加工面板
|
||||||
|
model_processing_panel = rec.product_id.model_processing_panel
|
||||||
if model_type_id:
|
if model_type_id:
|
||||||
|
if model_processing_panel:
|
||||||
tmpl_num = 1
|
tmpl_num = 1
|
||||||
|
panel_list = model_processing_panel.split(',')
|
||||||
|
for panel in panel_list:
|
||||||
|
panel_sequence_list = {}
|
||||||
# 成品工序
|
# 成品工序
|
||||||
product_routing_tmpl_ids = model_type_id.product_routing_tmpl_ids
|
product_routing_tmpl_ids = model_type_id.product_routing_tmpl_ids
|
||||||
if product_routing_tmpl_ids:
|
if product_routing_tmpl_ids:
|
||||||
for tmpl_id in product_routing_tmpl_ids:
|
for tmpl_id in product_routing_tmpl_ids:
|
||||||
sequence_list.update({tmpl_id.route_workcenter_id.name: tmpl_num})
|
panel_sequence_list.update({tmpl_id.route_workcenter_id.name: tmpl_num})
|
||||||
tmpl_num += 1
|
tmpl_num += 1
|
||||||
|
sequence_list.update({panel: panel_sequence_list})
|
||||||
# 表面工艺工序
|
# 表面工艺工序
|
||||||
# 模型类型的表面工艺工序模版
|
# 模型类型的表面工艺工序模版
|
||||||
surface_tmpl_ids = model_type_id.surface_technics_routing_tmpl_ids
|
surface_tmpl_ids = model_type_id.surface_technics_routing_tmpl_ids
|
||||||
@@ -518,12 +526,21 @@ class MrpProduction(models.Model):
|
|||||||
for tmpl_id in embryo_routing_tmpl_ids:
|
for tmpl_id in embryo_routing_tmpl_ids:
|
||||||
sequence_list.update({tmpl_id.route_workcenter_id.name: tmpl_num})
|
sequence_list.update({tmpl_id.route_workcenter_id.name: tmpl_num})
|
||||||
tmpl_num += 1
|
tmpl_num += 1
|
||||||
|
else:
|
||||||
|
raise ValidationError('该产品【加工面板】为空!')
|
||||||
|
|
||||||
else:
|
else:
|
||||||
raise ValidationError('该产品没有选择【模版类型】!')
|
raise ValidationError('该产品没有选择【模版类型】!')
|
||||||
|
|
||||||
for work in rec.workorder_ids:
|
for work in rec.workorder_ids:
|
||||||
if sequence_list.get(work.name):
|
if sequence_list.get(work.name):
|
||||||
work.sequence = sequence_list[work.name]
|
work.sequence = sequence_list[work.name]
|
||||||
|
elif sequence_list.get(work.processing_panel):
|
||||||
|
processing_panel = sequence_list.get(work.processing_panel)
|
||||||
|
if processing_panel.get(work.name):
|
||||||
|
work.sequence = processing_panel[work.name]
|
||||||
|
else:
|
||||||
|
raise ValidationError('工序【%s】在产品选择的模版类型中不存在!' % work.name)
|
||||||
else:
|
else:
|
||||||
raise ValidationError('工序【%s】在产品选择的模版类型中不存在!' % work.name)
|
raise ValidationError('工序【%s】在产品选择的模版类型中不存在!' % work.name)
|
||||||
# if work.name == '获取CNC加工程序':
|
# if work.name == '获取CNC加工程序':
|
||||||
|
|||||||
Reference in New Issue
Block a user