diff --git a/sf_base/models/tool_base_new.py b/sf_base/models/tool_base_new.py index d64eae59..7f3921a2 100644 --- a/sf_base/models/tool_base_new.py +++ b/sf_base/models/tool_base_new.py @@ -89,8 +89,8 @@ class CuttingToolModel(models.Model): '柄部类型', domain=[('type', '=', '柄部类型')]) cutting_direction_ids = fields.Many2many('maintenance.equipment.image', 'cutting_direction_library_rel', '走刀方向', domain=[('type', '=', '走刀方向')]) - suitable_coolant_ids = fields.Many2many('maintenance.equipment.image', 'suitable_coolant_library_rel', - '适合冷却液', domain=[('type', '=', '冷却液')]) + suitable_coolant_ids = fields.Many2many('maintenance.equipment.image', 'suitable_coolants_library_rel', + '适合冷却方式', domain=[('type', '=', '冷却方式')]) compaction_way_id = fields.Many2one('maintenance.equipment.image', '压紧方式', domain=[('type', '=', '压紧方式')]) integral_tool_basic_parameters_ids = fields.One2many('sf.tool.materials.basic.parameters', diff --git a/sf_dlm_management/views/product_template_management_view.xml b/sf_dlm_management/views/product_template_management_view.xml index 94cb4b7f..b1d0f50f 100644 --- a/sf_dlm_management/views/product_template_management_view.xml +++ b/sf_dlm_management/views/product_template_management_view.xml @@ -39,7 +39,7 @@ - - - + diff --git a/sf_manufacturing/models/product_template.py b/sf_manufacturing/models/product_template.py index 759413d2..ef635f78 100644 --- a/sf_manufacturing/models/product_template.py +++ b/sf_manufacturing/models/product_template.py @@ -96,8 +96,8 @@ class ResProductMo(models.Model): handle_type_id = fields.Many2one('maintenance.equipment.image', '柄部类型', domain=[('type', '=', '柄部类型')]) cutting_direction_ids = fields.Many2many('maintenance.equipment.image', 'rel_cutting_product_template', '走刀方向', domain=[('type', '=', '走刀方向')]) - suitable_coolant_ids = fields.Many2many('maintenance.equipment.image', 'rel_coolant_product_template', - '适合冷却液', domain=[('type', '=', '冷却液')]) + suitable_coolant_ids = fields.Many2many('maintenance.equipment.image', 'rel_coolants_product_template', + '适合冷却方式', domain=[('type', '=', '冷却方式')]) compaction_way_id = fields.Many2one('maintenance.equipment.image', '压紧方式', domain=[('type', '=', '压紧方式')]) @@ -201,7 +201,6 @@ class ResProductMo(models.Model): self.feed_per_tooth_ids = self.cutting_tool_model_id.feed_per_tooth_ids.filtered( lambda r: int(r.blade_diameter) == int(self.specification_id.blade_diameter)) elif self.cutting_tool_type == '夹头': - self.cutting_tool_clamping_tolerance = self.specification_id.clamping_tolerance self.cutting_tool_clamping_diameter_min = self.specification_id.min_clamping_diameter self.cutting_tool_clamping_diameter_min = self.specification_id.max_clamping_diameter self.cutting_tool_clamping_way = self.specification_id.clamping_mode @@ -212,7 +211,7 @@ class ResProductMo(models.Model): self.cutting_tool_jump_accuracy = self.specification_id.run_out_accuracy self.cutting_tool_max_load_capacity = self.specification_id.max_load_capacity self.cutting_tool_er_size_model = self.specification_id.er_size_model - self.cutting_tool_handle_ids = self.cutting_tool_model_id.handle_ids + self.cutting_tool_handle_id = self.cutting_tool_model_id.handle_id.id self.cooling_suit_type_ids = self.specification_id.cooling_jacket elif self.cutting_tool_type == '刀片': self.cutting_tool_total_length = self.specification_id.total_length @@ -481,11 +480,17 @@ class ResProductMo(models.Model): cooling_suit_type_ids = fields.Char('适用冷却套型号') cutting_tool_max_load_capacity = fields.Float('最大负载能力(kg)') cutting_tool_er_size_model = fields.Char('尺寸型号') - cutting_tool_handle_ids = fields.Many2many( + # cutting_tool_handle_ids = fields.Many2many( + # 'sf.cutting_tool.standard.library', + # relation='product_cutting_tool_library_chuck_handle_rel', + # column1='model_id_1', + # column2='model_id_2', + # domain="[('cutting_tool_type', '=', '刀柄')]", + # string='适用刀柄型号' + # ) + + cutting_tool_handle_id = fields.Many2one( 'sf.cutting_tool.standard.library', - relation='product_cutting_tool_library_chuck_handle_rel', - column1='model_id_1', - column2='model_id_2', domain="[('cutting_tool_type', '=', '刀柄')]", string='适用刀柄型号' ) @@ -515,36 +520,6 @@ class ResProductMo(models.Model): if self.tool_thickness > 1000000: raise ValidationError("厚度不能超过1000000") - @api.constrains('fixture_clamp_workpiece_length_max') - def _check_fixture_clamp_workpiece_length_max_size(self): - if self.fixture_clamp_workpiece_length_max > 1000000: - raise ValidationError("夹持工件长度MAX不能超过1000000") - - @api.constrains('fixture_clamp_workpiece_width_max') - def _check_fixture_clamp_workpiece_width_max_size(self): - if self.fixture_clamp_workpiece_width_max > 1000000: - raise ValidationError("夹持工件宽度MAX不能超过1000000") - - @api.constrains('fixture_clamp_workpiece_height_max') - def _check_fixture_clamp_workpiece_height_max_size(self): - if self.fixture_clamp_workpiece_height_max > 1000000: - raise ValidationError("夹持工件高度MAX不能超过1000000") - - @api.constrains('fixture_maximum_clamping_force') - def _check_fixture_maximum_clamping_force_size(self): - if self.fixture_maximum_clamping_force > 100000000: - raise ValidationError("最大夹持力不能超过100000000") - - @api.constrains('fixture_through_hole_size') - def _check_fixture_through_hole_size_size(self): - if self.fixture_through_hole_size > 1000000: - raise ValidationError("过孔大小不能超过1000000") - - @api.constrains('fixture_screw_size') - def _check_fixture_through_hole_size_size(self): - if self.fixture_screw_size > 1000000: - raise ValidationError("螺牙大小不能超过1000000") - def _json_apply_machine_tool_type_item_code(self, item): code_arr = [] for i in item.product_id.fixture_apply_machine_tool_type_ids: @@ -563,12 +538,6 @@ class ResProductMo(models.Model): code_arr.append(i.code) return code_arr - def _json_handle_item_code(self, item): - code_arr = [] - for i in item.product_id.cutting_tool_handle_ids: - code_arr.append(i.code) - return code_arr - def _get_ids(self, param): type_ids = [] if not param: @@ -584,72 +553,6 @@ class ResProductMo(models.Model): self.detailed_type = 'product' self.sale_ok = False - @api.onchange('fixture_material_id') - def _onchange_fixture_material_id(self): - for item in self: - if item.fixture_material_id.id != item.fixture_model_id.fixture_material_id.id: - item.fixture_model_id = False - - # - # @api.onchange('fixture_model_id') - # def _onchange_fixture_model_id(self): - # for item in self: - # if self.fixture_material_type in ['气动夹具', '转接板(锁板)夹具', '磁吸夹具', '虎钳夹具', '零点卡盘']: - # item.brand_id = item.fixture_model_id.brand_id.id - # item.fixture_model_file = item.fixture_model_id.model_file - # item.tool_length = item.fixture_model_id.length - # item.tool_width = item.fixture_model_id.width - # item.tool_height = item.fixture_model_id.height - # item.tool_weight = item.fixture_model_id.weight - # item.materials_type_id = item.fixture_model_id.materials_model_id.id - # item.fixture_maximum_carrying_weight = item.fixture_model_id.maximum_carrying_weight - # item.fixture_maximum_clamping_force = item.fixture_model_id.maximum_clamping_force - # if self.fixture_material_type in ['零点卡盘', '转接板(锁板)夹具']: - # item.fixture_clamping_way = item.fixture_model_id.clamping_way - # item.fixture_port_type = item.fixture_model_id.port_type - # if self.fixture_material_type in ['气动夹具', '转接板(锁板)夹具', '磁吸夹具']: - # item.fixture_driving_way = item.fixture_model_id.driving_way - # if self.fixture_material_type in ['气动夹具', '磁吸夹具', '虎钳夹具', '零点卡盘']: - # item.fixture_through_hole_size = item.fixture_model_id.through_hole_size - # item.fixture_screw_size = item.fixture_model_id.screw_size - # if self.fixture_material_type in ['气动夹具', '转接板(锁板)夹具', '磁吸夹具', '虎钳夹具']: - # item.fixture_clamp_workpiece_length_max = item.fixture_model_id.clamp_workpiece_length_max - # item.fixture_clamp_workpiece_width_max = item.fixture_model_id.clamp_workpiece_width_max - # item.fixture_clamp_workpiece_height_max = item.fixture_model_id.clamp_workpiece_height_max - # item.fixture_clamp_workpiece_diameter_max = item.fixture_model_id.clamp_workpiece_diameter_max - # item.fixture_apply_machine_tool_type_ids = self._get_ids( - # item.fixture_model_id.apply_machine_tool_type_ids) - - # @api.onchange('fixture_model_id') - # def _onchange_fixture_model_id(self): - # for item in self: - # if self.fixture_material_type in ['气动夹具', '转接板(锁板)夹具', '磁吸夹具', '虎钳夹具', '零点卡盘']: - # item.brand_id = item.fixture_model_id.brand_id.id - # item.fixture_multi_mounting_type_id = item.fixture_model_id.multi_mounting_type_id.id - # item.fixture_model_file = item.fixture_model_id.model_file - # item.tool_length = item.fixture_model_id.length - # item.tool_width = item.fixture_model_id.width - # item.tool_height = item.fixture_model_id.height - # item.tool_weight = item.fixture_model_id.weight - # item.materials_type_id = item.fixture_model_id.materials_model_id.id - # item.fixture_maximum_carrying_weight = item.fixture_model_id.maximum_carrying_weight - # item.fixture_maximum_clamping_force = item.fixture_model_id.maximum_clamping_force - # if self.fixture_material_type in ['零点卡盘', '转接板(锁板)夹具']: - # item.fixture_clamping_way = item.fixture_model_id.clamping_way - # item.fixture_port_type = item.fixture_model_id.port_type - # if self.fixture_material_type in ['气动夹具', '转接板(锁板)夹具', '磁吸夹具']: - # item.fixture_driving_way = item.fixture_model_id.driving_way - # if self.fixture_material_type in ['气动夹具', '磁吸夹具', '虎钳夹具', '零点卡盘']: - # item.fixture_through_hole_size = item.fixture_model_id.through_hole_size - # item.fixture_screw_size = item.fixture_model_id.screw_size - # if self.fixture_material_type in ['气动夹具', '转接板(锁板)夹具', '磁吸夹具', '虎钳夹具']: - # item.fixture_clamp_workpiece_length_max = item.fixture_model_id.clamp_workpiece_length_max - # item.fixture_clamp_workpiece_width_max = item.fixture_model_id.clamp_workpiece_width_max - # item.fixture_clamp_workpiece_height_max = item.fixture_model_id.clamp_workpiece_height_max - # item.fixture_clamp_workpiece_diameter_max = item.fixture_model_id.clamp_workpiece_diameter_max - # item.fixture_apply_machine_tool_type_ids = self._get_ids( - # item.fixture_model_id.apply_machine_tool_type_ids) - def _get_volume_uom_id_from_ir_config_parameter(self): product_length_in_feet_param = self.env['ir.config_parameter'].sudo().get_param('product.volume_in_cubic_feet') if product_length_in_feet_param == '1': @@ -839,9 +742,6 @@ class ResProductFixture(models.Model): model_file = fields.Binary(string="3D模型图") # 夹具物料基本参数 - # length = fields.Float('长度(mm)', digits=(16, 2)) - # width = fields.Float('宽度(mm)', digits=(16, 2)) - # height = fields.Float('高度(mm)', digits=(16, 2)) diameter = fields.Float('直径(mm)', digits=(16, 2)) # '零点卡盘' 字段 @@ -899,27 +799,6 @@ class ResProductFixture(models.Model): mounting_hole_depth = fields.Float('安装孔深度(mm)', digits=(16, 2)) centering_diameter = fields.Float('定心直径(mm)', digits=(16, 2)) - # =========================待删除字段================================ - fixture_multi_mounting_type_id = fields.Many2one('sf.multi_mounting.type', string="联装类型") - fixture_clamping_way = fields.Char(string="装夹方式") - fixture_port_type = fields.Char(string="接口类型") - fixture_model_file = fields.Binary(string="3D模型图") - - fixture_clamp_workpiece_length_max = fields.Integer(string="夹持工件长度max(mm)") - fixture_clamp_workpiece_width_max = fields.Integer(string="夹持工件宽度max(mm)") - fixture_clamp_workpiece_height_max = fields.Integer(string="夹持工件高度max(mm)") - fixture_clamp_workpiece_diameter_max = fields.Float(string="夹持工件直径max(mm)", digits=(16, 6)) - - fixture_maximum_carrying_weight = fields.Float(string="最大承载重量(kg)", digits=(16, 4)) - fixture_maximum_clamping_force = fields.Integer(string="最大夹持力(n)") - fixture_driving_way = fields.Char(string="驱动方式") - fixture_apply_machine_tool_type_ids = fields.Many2many('sf.machine_tool.type', 'rel_product_machine_tool_type', - string="适用机床型号") - fixture_through_hole_size = fields.Integer(string="过孔大小(mm)") - fixture_screw_size = fields.Integer(string="螺牙大小(mm)") - - # =============================================================== - @api.onchange('specification_fixture_id') def _onchange_specification_fixture_id(self): if self.specification_fixture_id: diff --git a/sf_sale/models/sale_order.py b/sf_sale/models/sale_order.py index f49b4906..29a9be13 100644 --- a/sf_sale/models/sale_order.py +++ b/sf_sale/models/sale_order.py @@ -97,7 +97,7 @@ class ReSaleOrder(models.Model): raise UserError('请对【订单行】中的【计量单位】进行选择') if line.price_unit == 0: raise UserError('请对【订单行】中的【单价】进行输入') - if not line.taxes_id: + if not line.tax_id: raise UserError('请对【订单行】中的【税】进行选择') diff --git a/sf_sale/views/purchase_order_view.xml b/sf_sale/views/purchase_order_view.xml index ed94be61..b22bb584 100644 --- a/sf_sale/views/purchase_order_view.xml +++ b/sf_sale/views/purchase_order_view.xml @@ -11,7 +11,7 @@ - + @@ -25,9 +25,10 @@