From 198296f0f81c517b0650938d452fbd480fccd54e Mon Sep 17 00:00:00 2001 From: liaodanlong Date: Fri, 27 Sep 2024 18:04:39 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BB=B7=E6=A0=BC=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_mrs_connect/models/order_price.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sf_mrs_connect/models/order_price.py b/sf_mrs_connect/models/order_price.py index 1e373f4d..ec3ff2d5 100644 --- a/sf_mrs_connect/models/order_price.py +++ b/sf_mrs_connect/models/order_price.py @@ -18,6 +18,7 @@ class OrderPrice(models.Model): return True except ValueError: return False + @api.depends('sale_order_id.order_line.remark') def _compute_bfm_amount_total(self): for record in self: amount_total = 0 From c1dc28488a1468564fceeb6176a8bfdfb059c199 Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Sun, 29 Sep 2024 16:42:32 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BE=85=E6=8E=A5?= =?UTF-8?q?=E5=8D=95=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_message/models/sf_message_sale.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sf_message/models/sf_message_sale.py b/sf_message/models/sf_message_sale.py index e8fef9ed..8a434541 100644 --- a/sf_message/models/sf_message_sale.py +++ b/sf_message/models/sf_message_sale.py @@ -47,7 +47,7 @@ class SFMessageSale(models.Model): if item.message_template_id.bussiness_node_id.name == '待接单': content = super(SFMessageSale, self)._get_message(item) action_id = self.env.ref('sale.action_quotations_with_onboarding').id - url = f"{url}/web#id={item.res_id}view_type=form&action={action_id}" + url = f"{url}/web#id={item.res_id}&view_type=form&action={action_id}" content = content[0].replace('{{url}}', url) contents.append(content) # 确认接单的处理 From 05f9528ca91d658078b7845e744bdcb7845b5b8b Mon Sep 17 00:00:00 2001 From: hujiaying Date: Sun, 29 Sep 2024 16:44:48 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=8E=92=E7=A8=8B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_manufacturing/models/mrp_workcenter.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sf_manufacturing/models/mrp_workcenter.py b/sf_manufacturing/models/mrp_workcenter.py index 81a252fb..34185d4e 100644 --- a/sf_manufacturing/models/mrp_workcenter.py +++ b/sf_manufacturing/models/mrp_workcenter.py @@ -1,4 +1,5 @@ import datetime +import logging from datetime import timedelta, time from collections import defaultdict from odoo import fields, models, api @@ -6,6 +7,8 @@ from odoo.addons.resource.models.resource import Intervals from odoo.exceptions import UserError, ValidationError import math +_logger = logging.getLogger(__name__) + class ResWorkcenter(models.Model): _name = "mrp.workcenter" @@ -225,7 +228,11 @@ class ResWorkcenter(models.Model): if plan_ids: sum_qty = sum([p.product_qty for p in plan_ids]) date_planned_working_hours = self._compute_effective_working_hours_day1(date_planned) - if sum_qty >= date_planned_working_hours: + default_capacity = round( + self.production_line_hour_capacity * date_planned_working_hours, 2) + _logger.info('排程日期:%s,计划数量:%s,日产能:%s,日工时:%s' % ( + date_planned, sum_qty, default_capacity, date_planned_working_hours)) + if sum_qty >= default_capacity: return False return True From 11100c9260917db105a9afaa69dfd396129577e4 Mon Sep 17 00:00:00 2001 From: guanhuan Date: Sun, 29 Sep 2024 16:47:35 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=9F=9F=E5=90=8D=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_message/models/sf_message_purchase.py | 5 ++--- sf_message/models/sf_message_stock_picking.py | 5 ++--- sf_message/models/sf_message_workorder.py | 5 ++--- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/sf_message/models/sf_message_purchase.py b/sf_message/models/sf_message_purchase.py index 96d0f8dc..b456cc87 100644 --- a/sf_message/models/sf_message_purchase.py +++ b/sf_message/models/sf_message_purchase.py @@ -19,9 +19,8 @@ class SFMessagePurchase(models.Model): return contents def request_url(self, id): - we_config_info = self.env['we.config'].sudo().search([], limit=1) - redirect_domain = self.env['we.app'].sudo().search([('id', '=', we_config_info.odoo_app_id.id)]).redirect_domain - full_url = 'https://%s/' % redirect_domain + url = self.env['ir.config_parameter'].get_param('web.base.url') + full_url = 'https://%s/' % url action_id = self.env.ref('purchase.purchase_form_action').id menu_id = self.env['ir.model.data'].search([('name', '=', 'module_website_payment')]).id # 查询参数 diff --git a/sf_message/models/sf_message_stock_picking.py b/sf_message/models/sf_message_stock_picking.py index fdb9d4cf..68095b68 100644 --- a/sf_message/models/sf_message_stock_picking.py +++ b/sf_message/models/sf_message_stock_picking.py @@ -52,9 +52,8 @@ class SFMessageStockPicking(models.Model): return res def request_url(self): - we_config_info = self.env['we.config'].sudo().search([], limit=1) - redirect_domain = self.env['we.app'].sudo().search([('id', '=', we_config_info.odoo_app_id.id)]).redirect_domain - full_url = 'https://%s/' % redirect_domain + url = self.env['ir.config_parameter'].get_param('web.base.url') + full_url = 'https://%s/' % url action_id = self.env.ref('stock.stock_picking_type_action').id menu_id = self.env['ir.model.data'].search([('name', '=', 'module_theme_treehouse')]).id # 查询参数 diff --git a/sf_message/models/sf_message_workorder.py b/sf_message/models/sf_message_workorder.py index 9d18e656..1a3bc253 100644 --- a/sf_message/models/sf_message_workorder.py +++ b/sf_message/models/sf_message_workorder.py @@ -62,9 +62,8 @@ class SFMessageWork(models.Model): return res def request_url(self): - we_config_info = self.env['we.config'].sudo().search([], limit=1) - redirect_domain = self.env['we.app'].sudo().search([('id', '=', we_config_info.odoo_app_id.id)]).redirect_domain - full_url = 'https://%s/' % redirect_domain + url = self.env['ir.config_parameter'].get_param('web.base.url') + full_url = 'https://%s/' % url action_id = self.env.ref('sf_manufacturing.mrp_workorder_action_tablet').id menu_id = self.env['ir.model.data'].search([('name', '=', 'module_stock_dropshipping')]).id # 查询参数