优化制造订单:生成制造订单的同时不生成工单
This commit is contained in:
@@ -208,7 +208,30 @@ class StockRule(models.Model):
|
|||||||
'''
|
'''
|
||||||
创建工单
|
创建工单
|
||||||
'''
|
'''
|
||||||
productions._create_workorder()
|
# # productions._create_workorder()
|
||||||
|
# 根据product_id对self进行分组
|
||||||
|
grouped_product_ids = {k: list(g) for k, g in groupby(self, key=lambda x: x.productions.product_id.id)}
|
||||||
|
# 初始化一个字典来存储每个product_id对应的生产订单名称列表
|
||||||
|
product_id_to_production_names = {}
|
||||||
|
# 对于每个product_id,获取其所有生产订单的名称
|
||||||
|
for product_id, productions in grouped_product_ids.items():
|
||||||
|
# 为同一个product_id创建一个生产订单名称列表
|
||||||
|
product_id_to_production_names[product_id] = [production.name for production in productions]
|
||||||
|
for production_item in productions:
|
||||||
|
if production_item.product_id.id in product_id_to_production_names:
|
||||||
|
# # 同一个产品多个制造订单对应一个编程单和模型库
|
||||||
|
# # 只调用一次fetchCNC,并将所有生产订单的名称作为字符串传递
|
||||||
|
if not production_item.programming_no:
|
||||||
|
production_programming = self.search(
|
||||||
|
[('product_id.id', '=', production_item.product_id.id),
|
||||||
|
('origin', '=', production_item.origin)],
|
||||||
|
limit=1, order='id asc')
|
||||||
|
if not production_programming.programming_no:
|
||||||
|
production_item.fetchCNC(
|
||||||
|
', '.join(product_id_to_production_names[production_item.product_id.id]))
|
||||||
|
else:
|
||||||
|
production_item.write({'programming_no': production_programming.programming_no,
|
||||||
|
'programming_state': '编程中'})
|
||||||
|
|
||||||
productions.filtered(lambda p: (not p.orderpoint_id and p.move_raw_ids) or \
|
productions.filtered(lambda p: (not p.orderpoint_id and p.move_raw_ids) or \
|
||||||
(
|
(
|
||||||
|
|||||||
Reference in New Issue
Block a user