From 6b9fe9167e4ac047d958aec46debd34349e0c4b1 Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Tue, 22 Nov 2022 13:18:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E7=BB=88=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_bf_connect/controllers/controllers.py | 2 +- sf_manufacturing/__manifest__.py | 5 +- sf_manufacturing/models/mrp_workcenter.py | 4 +- sf_manufacturing/models/mrp_workorder.py | 4 +- .../views/mrp_workcenter_views.xml | 59 +++++++++++++++++++ sf_manufacturing/views/mrp_workorder_view.xml | 4 +- sf_sale/models/sale_order.py | 14 ++++- sf_sale/views/sale_order_view.xml | 20 +++++++ 8 files changed, 102 insertions(+), 10 deletions(-) diff --git a/sf_bf_connect/controllers/controllers.py b/sf_bf_connect/controllers/controllers.py index aeec79b6..aecdff23 100644 --- a/sf_bf_connect/controllers/controllers.py +++ b/sf_bf_connect/controllers/controllers.py @@ -22,7 +22,7 @@ class Sf_Bf_Connect(http.Controller): datas = request.httprequest.data ret = json.loads(datas) ret = json.loads(ret['result']) - product_id = request.env.ref('sf_bpm_api.product_template_sf').sudo() + product_id = request.env.ref('sf_dlm.product_template_sf').sudo() company_id = request.env.ref('base.main_company').sudo() order_id = request.env['sale.order'].with_user(request.env.ref("base.user_admin")).sale_order_create(ret['delivery_end_date'], company_id) i = 1 diff --git a/sf_manufacturing/__manifest__.py b/sf_manufacturing/__manifest__.py index 13e751e3..c54ff1ff 100644 --- a/sf_manufacturing/__manifest__.py +++ b/sf_manufacturing/__manifest__.py @@ -14,13 +14,14 @@ 'data': [ 'security/group_security.xml', 'security/ir.model.access.csv', + 'report/tray_report.xml', 'views/mrp_maintenance_views.xml', 'views/mrp_routing_workcenter_view.xml', - 'views/mrp_workcenter_views.xml', 'views/mrp_workorder_view.xml', + 'views/mrp_workcenter_views.xml', 'views/tray_view.xml', 'views/model_type_view.xml', - 'report/tray_report.xml' + ], 'demo': [ ], diff --git a/sf_manufacturing/models/mrp_workcenter.py b/sf_manufacturing/models/mrp_workcenter.py index f5e36b68..c10d6068 100644 --- a/sf_manufacturing/models/mrp_workcenter.py +++ b/sf_manufacturing/models/mrp_workcenter.py @@ -16,10 +16,10 @@ class ResWorkcenter(models.Model): action = self.env["ir.actions.actions"]._for_xml_id("sf_manufacturing.mrp_workorder_action_tablet") return action else: - return super(MrpWorkcenter, self).action_work_order() + return super(ResWorkcenter, self).action_work_order() def _get_unavailability_intervals(self, start_datetime, end_datetime): - res = super(MrpWorkcenter, self)._get_unavailability_intervals(start_datetime, end_datetime) + res = super(ResWorkcenter, self)._get_unavailability_intervals(start_datetime, end_datetime) if not self: return res sql = """ diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index bd688a65..7cba36b0 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -1,3 +1,5 @@ +from datetime import datetime +from dateutil.relativedelta import relativedelta from odoo import api, fields, models, SUPERUSER_ID, _ @@ -237,7 +239,7 @@ class ResMrpWorkOrder(models.Model): # 重写工单开始按钮方法 def button_start(self): - if self.state == 'waiting': + if self.state == 'waiting' or self.state == 'ready': self.ensure_one() if any(not time.date_end for time in self.time_ids.filtered(lambda t: t.user_id.id == self.env.user.id)): return True diff --git a/sf_manufacturing/views/mrp_workcenter_views.xml b/sf_manufacturing/views/mrp_workcenter_views.xml index af177443..11777e58 100644 --- a/sf_manufacturing/views/mrp_workcenter_views.xml +++ b/sf_manufacturing/views/mrp_workcenter_views.xml @@ -1,5 +1,64 @@ + + + mrp.production.view.form.inherit.maintenance + mrp.production + + + +
+ +
+
+
+ + + mrp.workcenter.view.kanban.inherit.mrp.workorder + mrp.workcenter + + + + +