From f9e4b73fb0342a452a0a6f49a7b0578f57c088ee Mon Sep 17 00:00:00 2001 From: "jinling.yang" Date: Wed, 23 Aug 2023 17:34:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=B8=8A=E4=BC=A0=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf_base/models/base.py | 3 +- sf_mrs_connect/models/sync_common.py | 8 +-- sf_sale/__manifest__.py | 5 +- sf_sale/models/__init__.py | 3 + sf_sale/models/quick_easy_order.py | 26 ++++++++ sf_sale/views/quick_easy_order_view.xml | 88 +++++++++++++++++++++++++ 6 files changed, 126 insertions(+), 7 deletions(-) create mode 100644 sf_sale/models/quick_easy_order.py create mode 100644 sf_sale/views/quick_easy_order_view.xml diff --git a/sf_base/models/base.py b/sf_base/models/base.py index 02c569ba..168272c6 100644 --- a/sf_base/models/base.py +++ b/sf_base/models/base.py @@ -312,7 +312,8 @@ class MachineToolType(models.Model): machine_tool_type_ids = [] for item in machine_tool_type_code: machine_tool_type = self.search([('code', '=', item)]) - machine_tool_type_ids.append(machine_tool_type.id) + if machine_tool_type: + machine_tool_type_ids.append(machine_tool_type.id) return [(6, 0, machine_tool_type_ids)] diff --git a/sf_mrs_connect/models/sync_common.py b/sf_mrs_connect/models/sync_common.py index 892a2eed..8ab2384a 100644 --- a/sf_mrs_connect/models/sync_common.py +++ b/sf_mrs_connect/models/sync_common.py @@ -1520,7 +1520,7 @@ class SyncFixtureModel(models.Model): [('materials_no', '=', item['materials_model_code'])]).id, "driving_way": item['driving_way'], "apply_machine_tool_type_ids": self.env['sf.machine_tool.type'].sudo()._get_ids( - item['apply_machine_tool_type_code']).id, + item['apply_machine_tool_type_code']), "through_hole_size": item['through_hole_size'], "screw_size": item['screw_size'], "active": item['active'], @@ -1550,7 +1550,7 @@ class SyncFixtureModel(models.Model): [('materials_no', '=', item['materials_model_code'])]).id, "driving_way": item['driving_way'], "apply_machine_tool_type_ids": self.env['sf.machine_tool.type'].sudo()._get_ids( - item['apply_machine_tool_type_code']).id, + item['apply_machine_tool_type_code']), "through_hole_size": item['through_hole_size'], "screw_size": item['screw_size'], "active": item['active'], @@ -1602,7 +1602,7 @@ class SyncFixtureModel(models.Model): [('materials_no', '=', item['materials_model_code'])]).id, "driving_way": item['driving_way'], "apply_machine_tool_type_ids": self.env['sf.machine_tool.type'].sudo()._get_ids( - item['apply_machine_tool_type_code']).id, + item['apply_machine_tool_type_code']), "through_hole_size": item['through_hole_size'], "screw_size": item['screw_size'], "active": item['active'], @@ -1632,7 +1632,7 @@ class SyncFixtureModel(models.Model): [('materials_no', '=', item['materials_model_code'])]).id, "driving_way": item['driving_way'], "apply_machine_tool_type_ids": self.env['sf.machine_tool.type'].sudo()._get_ids( - item['apply_machine_tool_type_code']).id, + item['apply_machine_tool_type_code']), "through_hole_size": item['through_hole_size'], "screw_size": item['screw_size'], "active": item['active'], diff --git a/sf_sale/__manifest__.py b/sf_sale/__manifest__.py index 159f9085..19a102e9 100644 --- a/sf_sale/__manifest__.py +++ b/sf_sale/__manifest__.py @@ -10,9 +10,10 @@ """, 'category': 'sf', 'website': 'https://www.sf.jikimo.com', - 'depends': ['sale', 'sale_management', 'web_widget_model_viewer'], + 'depends': ['sale', 'sale_management', 'point_of_sale', 'web_widget_model_viewer'], 'data': [ - 'views/sale_order_view.xml' + 'views/sale_order_view.xml', + 'views/quick_easy_order_view.xml', ], 'demo': [ ], diff --git a/sf_sale/models/__init__.py b/sf_sale/models/__init__.py index b358ccc1..577497ab 100644 --- a/sf_sale/models/__init__.py +++ b/sf_sale/models/__init__.py @@ -1 +1,4 @@ from. import sale_order +from. import quick_easy_order + + diff --git a/sf_sale/models/quick_easy_order.py b/sf_sale/models/quick_easy_order.py new file mode 100644 index 00000000..c39b3fc5 --- /dev/null +++ b/sf_sale/models/quick_easy_order.py @@ -0,0 +1,26 @@ +from odoo import models, fields +import datetime +import base64 + + +class QuickEasyOrder(models.Model): + _name = 'quick.easy.order' + _description = '简易下单' + + name = fields.Char('订单编号', default=lambda self: self.env['ir.sequence'].next_by_code('quick.easy.order')) + machining_precision = fields.Selection([ + ('0.10', '±0.10mm'), + ('0.05', '±0.05mm'), + ('0.03', '±0.03mm'), + ('0.02', '±0.02mm'), + ('0.01', '±0.01mm')], string='加工精度') + material_id = fields.Many2one('sf.production.materials', '材料') + material_model_id = fields.Many2one('sf.materials.model', '型号') + process_id = fields.Many2one('sf.production.process', string='表面工艺') + parameter_ids = fields.One2many('sf.production.process.parameter', 'process_id', string='可选参数') + quantity = fields.Integer('数量') + price = fields.Float('总价') + model_file = fields.Binary('模型文件') + upload_model_file = fields.Many2many('ir.attachment', 'upload_qf_model_file_attachment_ref', string='上传模型文件') + delivery_time = fields.Date('交货日期') + customer_id = fields.Many2one('res.partner', string='客户', default=lambda self: self.env.user.partner_id.id) diff --git a/sf_sale/views/quick_easy_order_view.xml b/sf_sale/views/quick_easy_order_view.xml new file mode 100644 index 00000000..ad254b6d --- /dev/null +++ b/sf_sale/views/quick_easy_order_view.xml @@ -0,0 +1,88 @@ + + + + + 快速订单编码规则 + quick.easy.order + FP-%(year)s-%(month)s%(day)s- + 4 + + + # ---------- 快速订单 ------------ + + + tree.quick.easy.order + quick.easy.order + + + + + + + + + + + + + + + + form.quick.easy.order + quick.easy.order + +
+ + +
+
+
+ + + search.quick.easy.order + quick.easy.order + + + + + + + + + + + 快速订单 + quick.easy.order + tree,form + [] + {} + +

+ [便捷订单] 还没有哦!点左上角的[创建]按钮,沙发归你了! +

+

+

+
+
+ + +
+
\ No newline at end of file