From bc0b8bdecb57df661b2a1ff2417b7f7d1388d286 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E5=B0=A7?= Date: Mon, 18 Nov 2024 09:44:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=9D=AF=E6=96=99=E5=86=97?= =?UTF-8?q?=E4=BD=99=E9=87=8F=EF=BC=8C=E8=B0=83=E6=95=B4=E5=9D=AF=E6=96=99?= =?UTF-8?q?=E5=AE=A2=E4=BE=9B=E6=96=99=E7=9A=84=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__init__.py | 2 +- .../data/product_data.xml | 2 +- .../models/sale_order.py | 2 +- sf_base/models/base.py | 10 +++++ sf_manufacturing/__manifest__.py | 2 +- sf_manufacturing/models/mrp_production.py | 20 ++++----- sf_manufacturing/models/stock.py | 10 ++++- .../views/mrp_production_addional_change.xml | 6 +-- sf_mrs_connect/models/res_config_setting.py | 2 + sf_mrs_connect/models/sync_common.py | 41 ++++++++++++++++++- sf_plan/models/custom_plan.py | 12 +++--- sf_plan/views/view.xml | 2 +- 12 files changed, 84 insertions(+), 27 deletions(-) diff --git a/jikimo_sale_multiple_supply_methods/__init__.py b/jikimo_sale_multiple_supply_methods/__init__.py index 62b89387..74eea1d2 100644 --- a/jikimo_sale_multiple_supply_methods/__init__.py +++ b/jikimo_sale_multiple_supply_methods/__init__.py @@ -10,7 +10,7 @@ def _data_install(cr, registry): env.ref('jikimo_sale_multiple_supply_methods.product_template_purchase').product_variant_id.write({'active': False, 'is_bfm': True}) env.ref('jikimo_sale_multiple_supply_methods.product_template_manual_processing').product_variant_id.write({'active': False, 'single_manufacturing': True, 'is_bfm': True}) env.ref('jikimo_sale_multiple_supply_methods.product_template_default').product_variant_id.write({'active': False, 'is_bfm': True}) - env.ref('jikimo_sale_multiple_supply_methods.product_template_raw_material_customer_provided').product_variant_id.write({'active': False}) + env.ref('jikimo_sale_multiple_supply_methods.product_template_embryo_customer_provided').product_variant_id.write({'active': False}) env.ref('jikimo_sale_multiple_supply_methods.product_template_outsourcing').product_variant_id.write({'active': False, 'is_bfm': True}) env.ref('sf_dlm.product_embryo_sf_self_machining').product_tmpl_id.write({'categ_type': '坯料'}) env.ref('sf_dlm.product_template_sf').product_tmpl_id.write({'categ_type': '成品'}) diff --git a/jikimo_sale_multiple_supply_methods/data/product_data.xml b/jikimo_sale_multiple_supply_methods/data/product_data.xml index dc9b70a7..b63da7ea 100644 --- a/jikimo_sale_multiple_supply_methods/data/product_data.xml +++ b/jikimo_sale_multiple_supply_methods/data/product_data.xml @@ -65,7 +65,7 @@ - + 坯料客供料模板 diff --git a/jikimo_sale_multiple_supply_methods/models/sale_order.py b/jikimo_sale_multiple_supply_methods/models/sale_order.py index cd8fa749..27dd1757 100644 --- a/jikimo_sale_multiple_supply_methods/models/sale_order.py +++ b/jikimo_sale_multiple_supply_methods/models/sale_order.py @@ -68,7 +68,7 @@ class SaleOrder(models.Model): # 当成品上带有客供料选项时,生成坯料时选择“客供料”路线 if line.is_incoming_material: # 将成品模板的内容复制到成品上 - customer_provided_embryo = self.env.ref('jikimo_sale_multiple_supply_methods.product_tempalte_raw_material_customer_provided').sudo() + customer_provided_embryo = self.env.ref('jikimo_sale_multiple_supply_methods.product_template_embryo_customer_provided').sudo() # 创建坯料,客供料的批量不需要创建bom material_customer_provided_embryo = self.env['product.template'].sudo().no_bom_product_create( customer_provided_embryo.with_context(active_test=False).product_variant_id, diff --git a/sf_base/models/base.py b/sf_base/models/base.py index 2c4bf22a..e8db18da 100644 --- a/sf_base/models/base.py +++ b/sf_base/models/base.py @@ -410,3 +410,13 @@ class ReSaleOrder(models.Model): person_of_delivery = fields.Char('收货人') telephone_of_delivery = fields.Char('电话号码') address_of_delivery = fields.Char('联系地址') + + +class EmbryoRedundancy(models.Model): + _name = "sf.embryo.redundancy" + + name = fields.Char('名称', required=True) + long = fields.Float('长度', required=True) + width = fields.Float('宽度', required=True) + height = fields.Float('高度', required=True) + code = fields.Char('编码', required=True) diff --git a/sf_manufacturing/__manifest__.py b/sf_manufacturing/__manifest__.py index 5bd6c1dc..5c2f5606 100644 --- a/sf_manufacturing/__manifest__.py +++ b/sf_manufacturing/__manifest__.py @@ -10,7 +10,7 @@ """, 'category': 'sf', 'website': 'https://www.sf.jikimo.com', - 'depends': ['sf_base', 'sf_maintenance', 'web_widget_model_viewer', 'sf_warehouse','jikimo_attachment_viewer', 'jikimo_sale_multiple_supply_methods'], + 'depends': ['sf_base', 'sf_maintenance', 'web_widget_model_viewer', 'sf_warehouse','jikimo_attachment_viewer'], 'data': [ 'data/cron_data.xml', 'data/stock_data.xml', diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index d9dae2b8..d042db55 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -1331,17 +1331,17 @@ class MrpProduction(models.Model): return production_values_str # 增加制造订单类型 - production_type = fields.Selection( - [('自动化产线加工', '自动化产线加工'), ('人工线下加工', '人工线下加工')], - string='制造类型', - compute='_compute_production_type', - store=True - ) + # production_type = fields.Selection( + # [('自动化产线加工', '自动化产线加工'), ('人工线下加工', '人工线下加工')], + # string='制造类型', + # compute='_compute_production_type', + # store=True + # ) - @api.depends('product_id.is_manual_processing') - def _compute_production_type(self): - for production in self: - production.production_type = '自动化产线加工' if not production.product_id.is_manual_processing else '人工线下加工' + # @api.depends('product_id.is_manual_processing') + # def _compute_production_type(self): + # for production in self: + # production.production_type = '自动化产线加工' if not production.product_id.is_manual_processing else '人工线下加工' class sf_detection_result(models.Model): diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py index 5c3ae8d1..77dc7b0d 100644 --- a/sf_manufacturing/models/stock.py +++ b/sf_manufacturing/models/stock.py @@ -356,14 +356,21 @@ class StockRule(models.Model): product_id_to_production_names) if not technology_design_values: if production.product_id.categ_id.type == '成品': - production.product_id.model_processing_panel = 'ZM,FM' + # production.product_id.model_processing_panel = 'ZM,FM' # 根据加工面板的面数及成品工序模板生成工序设计 i = 0 for k in (production.product_id.model_processing_panel.split(',')): + # 根据制造类型来选择成品工序模板 + # if production.production_type == '自动化产线加工': product_routing_workcenter = self.env['sf.product.model.type.routing.sort'].search( [('product_model_type_id', '=', production.product_id.product_model_type_id.id)], order='sequence asc' ) + # elif production.production_type == '人工线下加工': + # product_routing_workcenter = self.env['sf.manual.product.model.type.routing.sort'].search( + # [('manual_product_model_type_id', '=', production.product_id.product_model_type_id.id)], + # order='sequence asc' + # ) for route in product_routing_workcenter: i += 1 technology_design_values.append( @@ -407,7 +414,6 @@ class StockRule(models.Model): product_production_process, i)) productions.technology_design_ids = technology_design_values - # # 同一个产品多个制造订单对应一个编程单和模型库 # # 只调用一次fetchCNC,并将所有生产订单的名称作为字符串传递 # if not production_item.programming_no: diff --git a/sf_manufacturing/views/mrp_production_addional_change.xml b/sf_manufacturing/views/mrp_production_addional_change.xml index c56f4c3e..ff492436 100644 --- a/sf_manufacturing/views/mrp_production_addional_change.xml +++ b/sf_manufacturing/views/mrp_production_addional_change.xml @@ -35,10 +35,10 @@ - + @@ -91,7 +91,7 @@ - + - +