diff --git a/sf_demand_plan/models/sf_production_demand_plan.py b/sf_demand_plan/models/sf_production_demand_plan.py
index dcab21d4..44243fdb 100644
--- a/sf_demand_plan/models/sf_production_demand_plan.py
+++ b/sf_demand_plan/models/sf_production_demand_plan.py
@@ -97,9 +97,14 @@ class sf_production_plan(models.Model):
actual_start_date = fields.Date('实际开工日期', compute='_compute_actual_start_date', store=True)
actual_end_date = fields.Date('实际完工日期', compute='_compute_actual_end_date', store=True)
print_count = fields.Char('打印次数', default='T0C0', readonly=True)
-
sequence = fields.Integer('序号')
+ hide_action_open_mrp_production = fields.Boolean(
+ string='显示待工艺确认按钮',
+ compute='_compute_hide_action_open_mrp_production',
+ default=False
+ )
+
@api.depends('sale_order_id.state', 'sale_order_id.mrp_production_ids.schedule_state', 'sale_order_id.order_line',
'sale_order_id.mrp_production_ids.state')
def _compute_status(self):
@@ -329,3 +334,33 @@ class sf_production_plan(models.Model):
'res_id': self.sale_order_id.id,
'view_mode': 'form',
}
+
+ @api.depends('sale_order_id.mrp_production_ids.state')
+ def _compute_hide_action_open_mrp_production(self):
+ for record in self:
+ mrp_production_ids = record.sale_order_id.mrp_production_ids.filtered(
+ lambda p: p.state == 'technology_to_confirmed' and p.product_id.id == record.product_id.id
+ )
+ record.hide_action_open_mrp_production = bool(mrp_production_ids) and record.supply_method in (
+ 'automation', 'manual')
+
+ def action_open_mrp_production(self):
+ mrp_production_ids = self.sale_order_id.mrp_production_ids.filtered(
+ lambda p: p.state == 'technology_to_confirmed' and p.product_id.id == self.product_id.id
+ ).ids
+ action = {
+ 'res_model': 'mrp.production',
+ 'type': 'ir.actions.act_window',
+ }
+ if len(mrp_production_ids) == 1:
+ action.update({
+ 'view_mode': 'form',
+ 'res_id': mrp_production_ids[0],
+ })
+ else:
+ action.update({
+ 'name': _("制造订单列表"),
+ 'domain': [('id', 'in', mrp_production_ids)],
+ 'view_mode': 'tree,form',
+ })
+ return action
diff --git a/sf_demand_plan/views/demand_plan.xml b/sf_demand_plan/views/demand_plan.xml
index 4e679bad..e3ca71ea 100644
--- a/sf_demand_plan/views/demand_plan.xml
+++ b/sf_demand_plan/views/demand_plan.xml
@@ -39,8 +39,11 @@
-
+
+