表面工艺外协关联采购单查询条件修改
This commit is contained in:
@@ -330,7 +330,7 @@ class ResMrpWorkOrder(models.Model):
|
||||
return result
|
||||
|
||||
def _get_surface_technics_purchase_ids(self):
|
||||
domain = [('origin', '=', self.production_id.name), ('purchase_type', '=', 'consignment')]
|
||||
domain = [('origin', 'like', '%' + self.production_id.name + '%'), ('purchase_type', '=', 'consignment')]
|
||||
purchase_orders = self.env['purchase.order'].search(domain)
|
||||
purchase_orders_id = self.env['purchase.order']
|
||||
for po in purchase_orders:
|
||||
@@ -1058,17 +1058,19 @@ class ResMrpWorkOrder(models.Model):
|
||||
and workorder.production_id.schedule_state == '已排'
|
||||
and len(workorder.production_id.picking_ids.filtered(
|
||||
lambda w: w.state not in ['done', 'cancel'])) == 0):
|
||||
workorder.state = 'ready'
|
||||
if workorder.is_subcontract is True:
|
||||
purchase_orders_id = self._get_surface_technics_purchase_ids()
|
||||
if purchase_orders_id.state == 'purchase':
|
||||
workorder.state = 'ready'
|
||||
move_out = workorder.move_subcontract_workorder_ids[1]
|
||||
for mo in move_out:
|
||||
if mo.state != 'done':
|
||||
mo.write({'state': 'assigned', 'production_id': False})
|
||||
continue
|
||||
continue
|
||||
else:
|
||||
workorder.state = 'waiting'
|
||||
continue
|
||||
else:
|
||||
workorder.state = 'ready'
|
||||
continue
|
||||
# ================= 如果制造订单刀具状态为[无效刀、缺刀] 或者 制造订单状态为[返工]==========================
|
||||
if (workorder.production_id.tool_state in ['1', '2'] or workorder.production_id.state == 'rework'
|
||||
or workorder.production_id.schedule_state != '已排'
|
||||
@@ -1076,7 +1078,7 @@ class ResMrpWorkOrder(models.Model):
|
||||
if workorder.state != 'waiting':
|
||||
workorder.state = 'waiting'
|
||||
continue
|
||||
if workorder.production_id.programming_state == '已编程' and workorder.technology_design_id.routing_tag != 'special':
|
||||
if workorder.production_id.programming_state == '已编程':
|
||||
workorder.state = 'ready'
|
||||
elif workorder.state != 'waiting':
|
||||
workorder.state = 'waiting'
|
||||
@@ -1091,12 +1093,17 @@ class ResMrpWorkOrder(models.Model):
|
||||
if workorder.is_subcontract is False:
|
||||
workorder.state = 'ready'
|
||||
else:
|
||||
if len(workorder.production_id.picking_ids.filtered(
|
||||
lambda w: w.state not in ['done',
|
||||
'cancel'])) == 0 and workorder.production_id.programming_state == '已编程':
|
||||
workorder.state = 'ready'
|
||||
purchase_orders_id = self._get_surface_technics_purchase_ids()
|
||||
if purchase_orders_id:
|
||||
workorder.state = 'ready' if purchase_orders_id.state == 'purchase' else 'waiting'
|
||||
else:
|
||||
workorder.state = 'waiting'
|
||||
|
||||
if purchase_orders_id.state == 'purchase':
|
||||
move_out = workorder.move_subcontract_workorder_ids[1]
|
||||
for mo in move_out:
|
||||
if mo.state != 'done':
|
||||
mo.write({'state': 'assigned', 'production_id': False})
|
||||
|
||||
# 重写工单开始按钮方法
|
||||
def button_start(self):
|
||||
|
||||
Reference in New Issue
Block a user