Merge remote-tracking branch 'origin/develop' into develop
# Conflicts: # sf_manufacturing/models/mrp_production.py # sf_manufacturing/models/purchase_order.py # sf_sale/models/sale_order.py
This commit is contained in:
@@ -1245,7 +1245,8 @@ class ResMrpWorkOrder(models.Model):
|
||||
return workorders_values_str
|
||||
|
||||
def _process_compute_state(self):
|
||||
for workorder in self:
|
||||
sorted_workorders = sorted(self, key=lambda x: x.sequence)
|
||||
for workorder in sorted_workorders:
|
||||
# 如果工单的工序没有进行排序则跳出循环
|
||||
if workorder.production_id.workorder_ids.filtered(lambda wk: wk.sequence == 0):
|
||||
continue
|
||||
@@ -1304,13 +1305,6 @@ class ResMrpWorkOrder(models.Model):
|
||||
workorder.state = 'ready'
|
||||
elif workorder.state != 'waiting':
|
||||
workorder.state = 'waiting'
|
||||
# =========== 特殊工艺工单处理 ===================
|
||||
# if workorder.routing_type == '表面工艺' and workorder.is_subcontrac:
|
||||
# purchase_order = self.env['purchase.order'].search(
|
||||
# [('origin', 'ilike', workorder.production_id.name)])
|
||||
# if purchase_order.picking_ids.filtered(lambda p: p.state in ['waiting', 'confirmed', 'assigned']):
|
||||
# workorder.state = 'waiting'
|
||||
# continue
|
||||
if workorder.technology_design_id.routing_tag == 'special':
|
||||
if workorder.is_subcontract is False:
|
||||
workorder.state = 'ready'
|
||||
@@ -1332,6 +1326,7 @@ class ResMrpWorkOrder(models.Model):
|
||||
else:
|
||||
workorder.state = 'waiting'
|
||||
|
||||
|
||||
@api.depends('production_availability', 'blocked_by_workorder_ids', 'blocked_by_workorder_ids.state',
|
||||
'production_id.tool_state', 'production_id.schedule_state', 'sequence',
|
||||
'production_id.programming_state')
|
||||
|
||||
Reference in New Issue
Block a user