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:
@@ -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])
|
||||||
|
|||||||
Reference in New Issue
Block a user