diff --git a/sf_demand_plan/models/sf_production_demand_plan.py b/sf_demand_plan/models/sf_production_demand_plan.py index 651f7884..27de5b16 100644 --- a/sf_demand_plan/models/sf_production_demand_plan.py +++ b/sf_demand_plan/models/sf_production_demand_plan.py @@ -691,18 +691,6 @@ class SfProductionDemandPlan(models.Model): self.update_sale_order_state() def mrp_bom_create(self): - if self.supply_method in ('automation', 'manual'): - line_ids = self.demand_plan_id.line_ids.filtered( - lambda p: p.supply_method in ('automation', 'manual') and p.status in ('50', '60')) - if line_ids: - self.bom_id = line_ids[0].bom_id.id - return - elif self.supply_method == 'outsourcing': - line_ids = self.demand_plan_id.line_ids.filtered( - lambda p: p.supply_method == 'outsourcing' and p.status == '60') - if line_ids: - self.bom_id = line_ids[0].bom_id.id - return bom_type = '' # 根据供货方式修改成品模板 if self.supply_method == 'automation': @@ -722,6 +710,18 @@ class SfProductionDemandPlan(models.Model): # 复制成品模板上的属性 self.product_id.product_tmpl_id.copy_template(product_template_id) + if self.supply_method in ('automation', 'manual'): + line_ids = self.demand_plan_id.line_ids.filtered( + lambda p: p.supply_method in ('automation', 'manual') and p.status in ('50', '60')) + if line_ids: + self.bom_id = line_ids[0].bom_id.id + return + elif self.supply_method == 'outsourcing': + line_ids = self.demand_plan_id.line_ids.filtered( + lambda p: p.supply_method == 'outsourcing' and p.status == '60') + if line_ids: + self.bom_id = line_ids[0].bom_id.id + return future_time = datetime.now() + timedelta(hours=8) # 生成BOM单据编码 code = f"{self.product_id.default_code}-{bom_type}-{future_time.strftime('%Y%m%d%H%M%S')}"