This commit is contained in:
jinling.yang
2024-05-29 15:23:12 +08:00

View File

@@ -472,8 +472,7 @@ class MrpProduction(models.Model):
def _reset_work_order_sequence(self):
for rec in self:
product_routing_sequence_list = {} # 成品
embryo_routing_sequence_list = {} # 坯料
sequence_list = {}
model_type_id = rec.product_id.product_model_type_id
if model_type_id:
tmpl_num = 1
@@ -481,7 +480,7 @@ class MrpProduction(models.Model):
product_routing_tmpl_ids = model_type_id.product_routing_tmpl_ids
if product_routing_tmpl_ids:
for tmpl_id in product_routing_tmpl_ids:
product_routing_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
# 表面工艺工序
# 模型类型的表面工艺工序模版
@@ -492,7 +491,6 @@ class MrpProduction(models.Model):
if model_process_parameters_ids:
for process_parameters_id in model_process_parameters_ids:
process_id = process_parameters_id.process_id
surface_tmpl_name = ''
for surface_tmpl_id in surface_tmpl_ids:
if process_id == surface_tmpl_id.route_workcenter_id.surface_technics_id:
surface_tmpl_name = surface_tmpl_id.route_workcenter_id.name
@@ -500,30 +498,23 @@ class MrpProduction(models.Model):
surface_tmpl_name, process_parameters_id.name)})
process_list = sorted(process_dict.keys())
for process_num in process_list:
product_routing_sequence_list.update({process_dict.get(process_num): tmpl_num})
sequence_list.update({process_dict.get(process_num): tmpl_num})
tmpl_num += 1
# 坯料工序
tmpl_num = 1
embryo_routing_tmpl_ids = model_type_id.embryo_routing_tmpl_ids
if embryo_routing_tmpl_ids:
for tmpl_id in embryo_routing_tmpl_ids:
embryo_routing_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
else:
raise ValidationError('该产品没有选择【模版类型】!')
if rec.product_id.categ_id.name == '成品':
for work in rec.workorder_ids:
if product_routing_sequence_list.get(work.name):
work.sequence = product_routing_sequence_list[work.name]
else:
raise ValidationError('工序【%s】在产品选择的模版类型中不存在!' % work.name)
elif rec.product_id.categ_id.name == '坯料':
for work in rec.workorder_ids:
if embryo_routing_sequence_list.get(work.name):
work.sequence = embryo_routing_sequence_list[work.name]
else:
raise ValidationError('工序【%s】在产品选择的模版类型中不存在!' % work.name)
for work in rec.workorder_ids:
if sequence_list.get(work.name):
work.sequence = sequence_list[work.name]
else:
raise ValidationError('工序【%s】在产品选择的模版类型中不存在!' % work.name)
# if work.name == '获取CNC加工程序':
# work.button_start()
# #work.fetchCNC()