From 7ce2f6c7979d1e9974cab903f252ef0364a8d9bd Mon Sep 17 00:00:00 2001 From: liaodanlong Date: Sat, 14 Sep 2024 17:40:45 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=8E=86=E5=8F=B2=E9=94=80=E5=94=AE?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BB=B7=E6=A0=BC=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_mrs_connect/__manifest__.py | 5 ++-- sf_mrs_connect/models/__init__.py | 1 + sf_mrs_connect/models/order_price.py | 29 +++++++++++++++++++++ sf_mrs_connect/models/res_config_setting.py | 5 +++- sf_mrs_connect/security/ir.model.access.csv | 2 +- sf_mrs_connect/views/order_price.xml | 26 ++++++++++++++++++ 6 files changed, 64 insertions(+), 4 deletions(-) create mode 100644 sf_mrs_connect/models/order_price.py create mode 100644 sf_mrs_connect/views/order_price.xml diff --git a/sf_mrs_connect/__manifest__.py b/sf_mrs_connect/__manifest__.py index 3ccd3ac4..1ea4f693 100644 --- a/sf_mrs_connect/__manifest__.py +++ b/sf_mrs_connect/__manifest__.py @@ -10,11 +10,12 @@ """, 'category': 'sf', 'website': 'https://www.sf.cs.jikimo.com', - 'depends': ['sf_base', 'base_setup'], + 'depends': ['sf_base', 'base_setup','sf_bf_connect'], 'data': [ 'data/ir_cron_data.xml', 'security/ir.model.access.csv', - 'views/res_config_settings_views.xml' + 'views/res_config_settings_views.xml', + 'views/order_price.xml', ], 'demo': [ ], diff --git a/sf_mrs_connect/models/__init__.py b/sf_mrs_connect/models/__init__.py index 2f84348c..f01fb4fe 100644 --- a/sf_mrs_connect/models/__init__.py +++ b/sf_mrs_connect/models/__init__.py @@ -1,3 +1,4 @@ from . import ftp_operate from . import res_config_setting from . import sync_common +from . import order_price \ No newline at end of file diff --git a/sf_mrs_connect/models/order_price.py b/sf_mrs_connect/models/order_price.py new file mode 100644 index 00000000..d5841bf7 --- /dev/null +++ b/sf_mrs_connect/models/order_price.py @@ -0,0 +1,29 @@ +from odoo import fields, models, api + + +class OrderPrice(models.Model): + _name = 'order.price' + _description = '订单价格对比' + sale_order_id = fields.Many2one('sale.order', '销售订单') + bfm_order_name = fields.Char(related="sale_order_id.default_code", string='bfm订单号') + sale_order_name = fields.Char(related="sale_order_id.name", string='销售订单号') + currency_id = fields.Many2one( + related='sale_order_id.currency_id', string='货币', store=True) + sale_order_amount_total = fields.Monetary(related="sale_order_id.amount_total", tracking=4, string='销售订单金额') + bfm_amount_total = fields.Float(string='价格合计', compute='_compute_bfm_amount_total', store=True) + + def is_float(self,value): + try: + float(value) + return True + except ValueError: + return False + @api.depends('sale_order_id.remark') + def _compute_bfm_amount_total(self): + for record in self: + amount_total = 0 + for line in record.sale_order_id.order_line: + # 判断remark是否存在并且是否是数字 + if line.remark and self.is_float(line.remark): + amount_total += float(line.remark) + record.bfm_amount_total = amount_total \ No newline at end of file diff --git a/sf_mrs_connect/models/res_config_setting.py b/sf_mrs_connect/models/res_config_setting.py index 04693fa7..c6f19502 100644 --- a/sf_mrs_connect/models/res_config_setting.py +++ b/sf_mrs_connect/models/res_config_setting.py @@ -184,7 +184,10 @@ class ResConfigSettings(models.TransientModel): new_price = res_order_lines_map.get(str(index)) if order_line: # 修改单价 - order_line.write({'remark': new_price}) + order_line.write({'remark': new_price*order_line.product_uom_qty}) + order_price = self.env['order.price'].sudo().search([('sale_order_id', '=',need_change_sale_order.id )]) + if not order_price: + self.env['order.price'].sudo().create({'sale_order_id':need_change_sale_order.id}) else: logging.error('同步销售订单价格失败 {}'.format(response.text)) raise UserError('同步销售订单价格失败') diff --git a/sf_mrs_connect/security/ir.model.access.csv b/sf_mrs_connect/security/ir.model.access.csv index 0ed43a62..60d5cea5 100644 --- a/sf_mrs_connect/security/ir.model.access.csv +++ b/sf_mrs_connect/security/ir.model.access.csv @@ -1,7 +1,7 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_sf_static_resource_datasync,sf_static_resource_datasync,model_sf_static_resource_datasync,base.group_user,1,1,1,1 - +access_order_price,order.price,model_order_price,base.group_user,1,1,1,1 diff --git a/sf_mrs_connect/views/order_price.xml b/sf_mrs_connect/views/order_price.xml new file mode 100644 index 00000000..ea80b7b4 --- /dev/null +++ b/sf_mrs_connect/views/order_price.xml @@ -0,0 +1,26 @@ + + + + + bfm订单价格对比 + order.price + tree,form + + + order.price.list + order.price + + + + + + + + + + + \ No newline at end of file From ac43be12623c3d622d0935135596d08f23604050 Mon Sep 17 00:00:00 2001 From: liaodanlong Date: Wed, 18 Sep 2024 16:36:52 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=80=82=E7=94=A8=E5=88=80=E5=85=B7?= =?UTF-8?q?=E7=89=A9=E6=96=99=E7=B1=BB=E5=9E=8B=E5=AD=97=E6=AE=B5=20?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=8F=AA=E8=83=BD=E5=8E=BB=E9=80=89=E6=8B=A9?= =?UTF-8?q?=E3=80=82=E5=8F=96=E6=B6=88=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_tool_management/models/functional_cutting_tool_model.py | 2 +- sf_tool_management/views/tool_views.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sf_tool_management/models/functional_cutting_tool_model.py b/sf_tool_management/models/functional_cutting_tool_model.py index fe2c68c5..39048bfd 100644 --- a/sf_tool_management/models/functional_cutting_tool_model.py +++ b/sf_tool_management/models/functional_cutting_tool_model.py @@ -3,4 +3,4 @@ from odoo import models, fields class SyncFunctionalCuttingToolModel(models.Model): _inherit = 'sf.functional.cutting.tool.model' - cutting_tool_type_ids = fields.Many2many('sf.cutting.tool.type', string='适用刀具物料类型', required=True) \ No newline at end of file + cutting_tool_type_ids = fields.Many2many('sf.cutting.tool.type', string='适用刀具物料类型') \ No newline at end of file diff --git a/sf_tool_management/views/tool_views.xml b/sf_tool_management/views/tool_views.xml index 24379b9a..d483e1a3 100644 --- a/sf_tool_management/views/tool_views.xml +++ b/sf_tool_management/views/tool_views.xml @@ -8,7 +8,7 @@ - +