From c437c185a40eebd83a5394165971a0c8ba72a2a8 Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Wed, 29 May 2024 17:56:22 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E7=A9=BA=E6=96=99=E6=9E=B6=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E5=8E=BB=E9=87=8D=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_workorder.py | 7 +++++++ sf_manufacturing/models/product_template.py | 4 ++-- sf_sale/models/quick_easy_order_old.py | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index c3342744..09defd8e 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -1335,6 +1335,13 @@ class WorkPieceDelivery(models.Model): obj = super(WorkPieceDelivery, self).create(vals) return obj + @api.constrains('name') + def _check_name(self): + if self.type == '运送空料架': + wd = self.sudo().search([('name', '=', self.name), ('id', '!=', self.id)]) + if wd: + raise ValidationError("该名称已存在") + def action_delivery_history(self): return { 'name': _('配送历史'), diff --git a/sf_manufacturing/models/product_template.py b/sf_manufacturing/models/product_template.py index 7d9bbac5..49a7e483 100644 --- a/sf_manufacturing/models/product_template.py +++ b/sf_manufacturing/models/product_template.py @@ -7,8 +7,8 @@ import os from odoo import models, fields, api, _ from odoo.exceptions import ValidationError from odoo.modules import get_resource_path -from OCC.Extend.DataExchange import read_step_file -from OCC.Extend.DataExchange import write_stl_file +# from OCC.Extend.DataExchange import read_step_file +# from OCC.Extend.DataExchange import write_stl_file class ResProductMo(models.Model): diff --git a/sf_sale/models/quick_easy_order_old.py b/sf_sale/models/quick_easy_order_old.py index dc4c588f..f26b6f4a 100644 --- a/sf_sale/models/quick_easy_order_old.py +++ b/sf_sale/models/quick_easy_order_old.py @@ -6,8 +6,8 @@ import os from datetime import datetime from stl import mesh # from OCC.Core.GProp import GProp_GProps -from OCC.Extend.DataExchange import read_step_file -from OCC.Extend.DataExchange import write_stl_file +# from OCC.Extend.DataExchange import read_step_file +# from OCC.Extend.DataExchange import write_stl_file from odoo.addons.sf_base.commons.common import Common from odoo import models, fields, api from odoo.modules import get_resource_path From d883a7ff2293d11a6b0747f3f59c1cdc388217df Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Thu, 30 May 2024 11:01:29 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_workorder.py | 2 +- sf_manufacturing/models/product_template.py | 4 ++-- sf_manufacturing/views/mrp_workorder_view.xml | 2 +- sf_sale/models/quick_easy_order_old.py | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py index a0973d0a..fd93eb4d 100644 --- a/sf_manufacturing/models/mrp_workorder.py +++ b/sf_manufacturing/models/mrp_workorder.py @@ -1342,7 +1342,7 @@ class WorkPieceDelivery(models.Model): if self.type == '运送空料架': wd = self.sudo().search([('name', '=', self.name), ('id', '!=', self.id)]) if wd: - raise ValidationError("该名称已存在") + raise UserError("该名称已存在") def action_delivery_history(self): return { diff --git a/sf_manufacturing/models/product_template.py b/sf_manufacturing/models/product_template.py index 49a7e483..7d9bbac5 100644 --- a/sf_manufacturing/models/product_template.py +++ b/sf_manufacturing/models/product_template.py @@ -7,8 +7,8 @@ import os from odoo import models, fields, api, _ from odoo.exceptions import ValidationError from odoo.modules import get_resource_path -# from OCC.Extend.DataExchange import read_step_file -# from OCC.Extend.DataExchange import write_stl_file +from OCC.Extend.DataExchange import read_step_file +from OCC.Extend.DataExchange import write_stl_file class ResProductMo(models.Model): diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml index 5976915b..85e3e5ed 100644 --- a/sf_manufacturing/views/mrp_workorder_view.xml +++ b/sf_manufacturing/views/mrp_workorder_view.xml @@ -667,7 +667,7 @@ 空料架配送 sf.workpiece.delivery - +
diff --git a/sf_sale/models/quick_easy_order_old.py b/sf_sale/models/quick_easy_order_old.py index f26b6f4a..dc4c588f 100644 --- a/sf_sale/models/quick_easy_order_old.py +++ b/sf_sale/models/quick_easy_order_old.py @@ -6,8 +6,8 @@ import os from datetime import datetime from stl import mesh # from OCC.Core.GProp import GProp_GProps -# from OCC.Extend.DataExchange import read_step_file -# from OCC.Extend.DataExchange import write_stl_file +from OCC.Extend.DataExchange import read_step_file +from OCC.Extend.DataExchange import write_stl_file from odoo.addons.sf_base.commons.common import Common from odoo import models, fields, api from odoo.modules import get_resource_path From 26c979ef1d95f53d047a18f6e56844e207680e65 Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Thu, 30 May 2024 16:45:32 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=A5=E4=BB=B7?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=B7=B2=E6=9C=89=E4=BA=A7=E5=93=81=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_production.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index 3afef01d..3f35ed1a 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -379,6 +379,14 @@ class MrpProduction(models.Model): workorders_values.append( self.env['mrp.workorder'].json_workorder_str('', production, route)) production.workorder_ids = workorders_values + if production_programming.programming_state == '已编程': + sale = self.env['sale.order'].search([('name', '=', production.name)]) + if sale.partner_id.name != '业务平台': + logging.info("production: %s" % production.name) + production.workorder_ids.filtered(lambda t: t.routing_type == 'CNC加工').write({ + 'cnc_ids': production_programming.workorder_ids.filtered( + lambda + t1: t1.routing_type == 'CNC加工').cnc_ids}) for workorder in production.workorder_ids: workorder.duration_expected = workorder._get_duration_expected() From 7043d2b8b71aab453f901f240cac8a04be9c1652 Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Thu, 30 May 2024 16:52:06 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_production.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index 3f35ed1a..6ae825c2 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -380,13 +380,11 @@ class MrpProduction(models.Model): self.env['mrp.workorder'].json_workorder_str('', production, route)) production.workorder_ids = workorders_values if production_programming.programming_state == '已编程': - sale = self.env['sale.order'].search([('name', '=', production.name)]) - if sale.partner_id.name != '业务平台': - logging.info("production: %s" % production.name) - production.workorder_ids.filtered(lambda t: t.routing_type == 'CNC加工').write({ - 'cnc_ids': production_programming.workorder_ids.filtered( - lambda - t1: t1.routing_type == 'CNC加工').cnc_ids}) + logging.info("production_programming: %s" % production_programming.name) + production.workorder_ids.filtered(lambda t: t.routing_type == 'CNC加工').write({ + 'cnc_ids': production_programming.workorder_ids.filtered( + lambda + t1: t1.routing_type == 'CNC加工').cnc_ids}) for workorder in production.workorder_ids: workorder.duration_expected = workorder._get_duration_expected()