diff --git a/sf_base/models/base.py b/sf_base/models/base.py index bb225b9b..02c569ba 100644 --- a/sf_base/models/base.py +++ b/sf_base/models/base.py @@ -308,6 +308,13 @@ class MachineToolType(models.Model): active = fields.Boolean('有效', default=True) code = fields.Char('编码') + def _get_ids(self, machine_tool_type_code): + 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) + return [(6, 0, machine_tool_type_ids)] + class MachineToolCategory(models.Model): _name = 'sf.machine_tool.category' diff --git a/sf_base/models/fixture.py b/sf_base/models/fixture.py index db22b8d6..727f58bc 100644 --- a/sf_base/models/fixture.py +++ b/sf_base/models/fixture.py @@ -53,5 +53,10 @@ class FixtureModel(models.Model): screw_size = fields.Integer(string="螺牙大小[mm]", size=6) active = fields.Boolean('有效', default=True) + # @api.model + # def create(self, vals): + # obj = super(FixtureModel, self).create(vals) + # return obj + diff --git a/sf_mrs_connect/models/sync_common.py b/sf_mrs_connect/models/sync_common.py index 6c2003ff..892a2eed 100644 --- a/sf_mrs_connect/models/sync_common.py +++ b/sf_mrs_connect/models/sync_common.py @@ -1519,10 +1519,11 @@ class SyncFixtureModel(models.Model): "materials_model_id": self.env['sf.materials.model'].search( [('materials_no', '=', item['materials_model_code'])]).id, "driving_way": item['driving_way'], - "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search( - [('code', '=', item['apply_machine_tool_type_code'])]).id, + "apply_machine_tool_type_ids": self.env['sf.machine_tool.type'].sudo()._get_ids( + item['apply_machine_tool_type_code']).id, "through_hole_size": item['through_hole_size'], "screw_size": item['screw_size'], + "active": item['active'], }) else: fixture_model.write({ @@ -1548,10 +1549,11 @@ class SyncFixtureModel(models.Model): "materials_model_id": self.env['sf.materials.model'].search( [('materials_no', '=', item['materials_model_code'])]).id, "driving_way": item['driving_way'], - "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search( - [('code', '=', item['apply_machine_tool_type_code'])]).id, + "apply_machine_tool_type_ids": self.env['sf.machine_tool.type'].sudo()._get_ids( + item['apply_machine_tool_type_code']).id, "through_hole_size": item['through_hole_size'], "screw_size": item['screw_size'], + "active": item['active'], }) else: raise ValidationError("认证未通过") @@ -1599,10 +1601,11 @@ class SyncFixtureModel(models.Model): "materials_model_id": self.env['sf.materials.model'].search( [('materials_no', '=', item['materials_model_code'])]).id, "driving_way": item['driving_way'], - "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search( - [('code', '=', item['apply_machine_tool_type_code'])]).id, + "apply_machine_tool_type_ids": self.env['sf.machine_tool.type'].sudo()._get_ids( + item['apply_machine_tool_type_code']).id, "through_hole_size": item['through_hole_size'], "screw_size": item['screw_size'], + "active": item['active'], }) else: fixture_model.write({ @@ -1628,8 +1631,8 @@ class SyncFixtureModel(models.Model): "materials_model_id": self.env['sf.materials.model'].search( [('materials_no', '=', item['materials_model_code'])]).id, "driving_way": item['driving_way'], - "apply_machine_tool_type_id": self.env['sf.machine_tool.type'].search( - [('code', '=', item['apply_machine_tool_type_code'])]).id, + "apply_machine_tool_type_ids": self.env['sf.machine_tool.type'].sudo()._get_ids( + item['apply_machine_tool_type_code']).id, "through_hole_size": item['through_hole_size'], "screw_size": item['screw_size'], "active": item['active'],