CNC工单返工

This commit is contained in:
guanhuan
2025-01-23 16:42:16 +08:00
parent 9b49edb290
commit 5636681ee6
5 changed files with 53 additions and 34 deletions

View File

@@ -577,16 +577,19 @@ class MrpProduction(models.Model):
# 编程单更新
# 增加触发时间参数
def update_programming_state(self, trigger_time=None):
def update_programming_state(self, trigger_time=None, reprogramming_reason=None):
try:
manufacturing_type = 'rework'
manufacturing_type = None
if self.is_scrap:
manufacturing_type = 'scrap'
elif self.tool_state == '2':
manufacturing_type = 'invalid_tool_rework'
elif self.is_rework:
manufacturing_type = 'rework'
res = {'programming_no': self.programming_no,
'manufacturing_type': manufacturing_type,
'trigger_time': trigger_time}
'trigger_time': trigger_time,
'reprogramming_reason': reprogramming_reason}
logging.info('res=%s:' % res)
configsettings = self.env['res.config.settings'].get_values()
config_header = Common.get_headers(self, configsettings['token'], configsettings['sf_secret_key'])

View File

@@ -455,32 +455,32 @@ class ResMrpWorkOrder(models.Model):
("technology", "工艺"), ("customer redrawing", "客户改图")], string="原因", tracking=True)
detailed_reason = fields.Text('详细原因')
is_rework = fields.Boolean(string='是否返工', default=False)
rework_flag = fields.Boolean(string='返工标志', compute='_compute_rework_flag')
@api.depends('state', 'production_line_state')
def _compute_rework_flag(self):
for record in self:
if record.state == 'done' and record.routing_type == '装夹预调':
next_workorder = record.production_id.workorder_ids.filtered(
lambda w: w.sequence == record.sequence + 1)
if next_workorder and next_workorder.routing_type == 'CNC加工' and next_workorder.state in ['ready',
'waiting',
'pending'] and next_workorder.production_line_state == '待上产线':
record.rework_flag = False
elif next_workorder and next_workorder.routing_type == '表面工艺' and next_workorder.state in ['ready',
'waiting',
'pending']:
record.rework_flag = False
else:
record.rework_flag = True
else:
record.rework_flag = True
def button_rework(self):
for item in self:
item.state = 'progress'
for time_id in item.time_ids:
time_id.write({'date_end': None})
# rework_flag = fields.Boolean(string='返工标志', compute='_compute_rework_flag')
#
# @api.depends('state', 'production_line_state')
# def _compute_rework_flag(self):
# for record in self:
# if record.state == 'done' and record.routing_type == '装夹预调':
# next_workorder = record.production_id.workorder_ids.filtered(
# lambda w: w.sequence == record.sequence + 1)
# if next_workorder and next_workorder.routing_type == 'CNC加工' and next_workorder.state in ['ready',
# 'waiting',
# 'pending'] and next_workorder.production_line_state == '待上产线':
# record.rework_flag = False
# elif next_workorder and next_workorder.routing_type == '表面工艺' and next_workorder.state in ['ready',
# 'waiting',
# 'pending']:
# record.rework_flag = False
# else:
# record.rework_flag = True
# else:
# record.rework_flag = True
#
# def button_rework(self):
# for item in self:
# item.state = 'progress'
# for time_id in item.time_ids:
# time_id.write({'date_end': None})
def button_change_env(self):
self.is_test_env = not self.is_test_env