优化外协采购和出入库单(工艺退回调整)
This commit is contained in:
@@ -718,7 +718,7 @@ class MrpProduction(models.Model):
|
||||
sorted_workorders = sorted(process_parameter_workorder, key=lambda w: w.sequence)
|
||||
for i, workorder in enumerate(sorted_workorders):
|
||||
# 检查当前工作订单和下一个工作订单是否连续,并且供应商相同
|
||||
if workorder.sequence == 1:
|
||||
if i == 0:
|
||||
consecutive_workorders.append(workorder)
|
||||
elif workorder.sequence == sorted_workorders[
|
||||
i - 1].sequence + 1 and workorder.supplier_id.id == sorted_workorders[i - 1].supplier_id.id:
|
||||
@@ -726,7 +726,7 @@ class MrpProduction(models.Model):
|
||||
else:
|
||||
# 处理连续组,如果它不为空
|
||||
if consecutive_workorders:
|
||||
# 创建出库拣货单和采购订单
|
||||
# 创建外协出入库单和采购订单
|
||||
self.env['stock.picking'].create_outcontract_picking(consecutive_workorders, production)
|
||||
self.env['purchase.order'].get_purchase_order(consecutive_workorders, production,
|
||||
product_id_to_production_names)
|
||||
@@ -740,7 +740,7 @@ class MrpProduction(models.Model):
|
||||
i - 1].supplier_id.id:
|
||||
consecutive_workorders = [workorder]
|
||||
else:
|
||||
# 立即创建出库拣货单和采购订单
|
||||
# 立即创建外协出入库单和采购订单
|
||||
self.env['stock.picking'].create_outcontract_picking(workorder, production)
|
||||
self.env['purchase.order'].get_purchase_order(workorder, production,
|
||||
product_id_to_production_names)
|
||||
@@ -818,6 +818,17 @@ class MrpProduction(models.Model):
|
||||
self._reset_work_order_sequence1(k)
|
||||
return True
|
||||
|
||||
#需对不连续工单对应的采购单和外协出入库单做处理
|
||||
def _reset_subcontract_pick_purchase(self):
|
||||
for item in self:
|
||||
workorder_sf = item.workorder_ids.filtered(lambda sf: sf.routing_type == '表面工艺')
|
||||
for i, workorder in enumerate(workorder_sf):
|
||||
if i == 0:
|
||||
continue
|
||||
elif workorder.sequence != workorder_sf[i - 1].sequence + 1:
|
||||
# workorder.picking_ids.move_ids = False
|
||||
workorder.picking_ids = False
|
||||
|
||||
def _reset_work_order_sequence(self):
|
||||
"""
|
||||
工单工序排序方法(新)
|
||||
|
||||
Reference in New Issue
Block a user