diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py
index 58cbe7fa..9eee5fe1 100644
--- a/sf_manufacturing/models/mrp_production.py
+++ b/sf_manufacturing/models/mrp_production.py
@@ -1310,11 +1310,10 @@ class MrpProduction(models.Model):
move = self.env['stock.move'].search([('origin', '=', productions.name)], order='id desc')
for mo in move:
domain = []
- if mo.procure_method == 'make_to_order' and mo.name != productions.name:
- if mo.name == '/':
- domain = [('barcode', '=', 'WH-PC'), ('sequence_code', '=', 'PC')]
- elif mo.name == '拉':
- domain = [('barcode', '=', 'WH-INTERNAL'), ('sequence_code', '=', 'INT')]
+ if mo.location_id.barcode == 'WH-POSTPRODUCTION' and mo.rule_id.picking_type_id.barcode == 'PC':
+ domain = [('barcode', '=', 'WH-PC'), ('sequence_code', '=', 'PC')]
+ elif mo.location_id.barcode == 'PL' and mo.rule_id.picking_type_id.barcode == 'INT':
+ domain = [('barcode', '=', 'WH-INTERNAL'), ('sequence_code', '=', 'INT')]
if domain:
picking_type = self.env['stock.picking.type'].search(domain)
mo.write({'picking_type_id': picking_type.id})
diff --git a/sf_manufacturing/models/mrp_routing_workcenter.py b/sf_manufacturing/models/mrp_routing_workcenter.py
index 537c6fd5..e28bd091 100644
--- a/sf_manufacturing/models/mrp_routing_workcenter.py
+++ b/sf_manufacturing/models/mrp_routing_workcenter.py
@@ -86,9 +86,12 @@ class ResMrpRoutingWorkcenter(models.Model):
@api.model
def _name_search(self, name, args=None, operator='ilike', limit=100, name_get_uid=None):
if self._context.get('production_id'):
+ route_ids = []
technology_design = self.env['sf.technology.design'].search(
[('production_id', '=', self._context.get('production_id'))])
- route_ids = [t.route_id.id for t in technology_design]
- domain = [('id', 'not in', route_ids)]
+ for t in technology_design.filtered(lambda a: a.routing_tag == 'special'):
+ if not t.process_parameters_id:
+ route_ids.append(t.route_id.surface_technics_id.id)
+ domain = [('id', 'not in', route_ids), ('routing_tag', '=', 'special')]
return self._search(domain, limit=limit, access_rights_uid=name_get_uid)
return super()._name_search(name, args, operator, limit, name_get_uid)
diff --git a/sf_manufacturing/models/product_template.py b/sf_manufacturing/models/product_template.py
index f5f685aa..ebbf5bd2 100644
--- a/sf_manufacturing/models/product_template.py
+++ b/sf_manufacturing/models/product_template.py
@@ -9,8 +9,8 @@ from odoo.exceptions import ValidationError, UserError
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/models/sf_production_common.py b/sf_manufacturing/models/sf_production_common.py
index dc9ff2a3..113858c1 100644
--- a/sf_manufacturing/models/sf_production_common.py
+++ b/sf_manufacturing/models/sf_production_common.py
@@ -10,8 +10,14 @@ class SfProductionProcessParameter(models.Model):
@api.model
def _name_search(self, name, args=None, operator='ilike', limit=100, name_get_uid=None):
if self._context.get('route_id'):
+ parameter = []
routing = self.env['mrp.routing.workcenter'].search([('id', '=', self._context.get('route_id'))])
- domain = [('process_id', '=', routing.surface_technics_id.id)]
+ technology_design = self.env['sf.technology.design'].search(
+ [('production_id', '=', self._context.get('production_id')), ('routing_tag', '=', 'special'),
+ ('route_id', '=', self._context.get('route_id'))])
+ for t in technology_design:
+ if t.process_parameters_id:
+ parameter.append(t.process_parameters_id.id)
+ domain = [('process_id', '=', routing.surface_technics_id.id), ('id', 'not in', parameter)]
return self._search(domain, limit=limit, access_rights_uid=name_get_uid)
return super()._name_search(name, args, operator, limit, name_get_uid)
-
diff --git a/sf_manufacturing/views/mrp_production_addional_change.xml b/sf_manufacturing/views/mrp_production_addional_change.xml
index 783f39dd..8a99a6d1 100644
--- a/sf_manufacturing/views/mrp_production_addional_change.xml
+++ b/sf_manufacturing/views/mrp_production_addional_change.xml
@@ -368,7 +368,8 @@
attrs="{'readonly': [('id', '!=', False)]}" options="{'no_create': True}"/>
+ string="参数" context="{'route_id':route_id,'production_id': production_id}"
+ options="{'no_create': True}"/>