Accept Merge Request #2260: (feature/根据项目组区分sf代码 -> develop)

Merge Request: 没有model_id的制造订单不请求编程

Created By: @胡尧
Accepted By: @胡尧
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/2260
This commit is contained in:
胡尧
2025-06-26 09:35:42 +08:00
committed by Coding

View File

@@ -18,12 +18,12 @@ class MrpProduction(models.Model):
生成编程单 生成编程单
""" """
productions = super().create(vals_list) productions = super().create(vals_list)
if not productions:
return self.browse()
# 定义变量存储编程单 # 定义变量存储编程单
grouped_product_programming_no = {} grouped_product_programming_no = {}
# 定义产品拼接成的制造订单名称 # 定义产品拼接成的制造订单名称
grouped_product_production_name = {} grouped_product_production_name = {}
if productions and productions[0].origin:
# 查出所有的制造订单,为了适配通过补货生成的制造订单 # 查出所有的制造订单,为了适配通过补货生成的制造订单
all_productions = self.env['mrp.production'].search([('origin', '=', productions[0].origin)]) all_productions = self.env['mrp.production'].search([('origin', '=', productions[0].origin)])
# 将不同产品的制造订单进行分组 # 将不同产品的制造订单进行分组
@@ -37,8 +37,15 @@ class MrpProduction(models.Model):
if programming_nos: if programming_nos:
grouped_product_programming_no[product_id] = programming_nos[0] grouped_product_programming_no[product_id] = programming_nos[0]
grouped_product_production_name[product_id] = ','.join(list(map(lambda p:p.name, grouped_productions))) grouped_product_production_name[product_id] = ','.join(list(map(lambda p:p.name, grouped_productions)))
# 同一个产品的制造订单只请求一次CNC编程 # 同一个产品的制造订单只请求一次CNC编程
for production in productions: for production in productions:
# 如果是委外产生的制造订单,则不请求编程
if production.subcontractor_id:
continue
# 没有模型ID的制造订单不请求编程
if not production.model_id:
continue
if not production.programming_no and production.production_type in ['自动化产线加工','人工线下加工']: if not production.programming_no and production.production_type in ['自动化产线加工','人工线下加工']:
if production.product_id.id not in grouped_product_programming_no: if production.product_id.id not in grouped_product_programming_no:
production.fetchCNC(grouped_product_production_name[production.product_id.id]) production.fetchCNC(grouped_product_production_name[production.product_id.id])