from odoo import models, fields, api class WorkpieceClamping(models.Model): _name = 'sf.workpiece.clamping' _description = "工件装夹" # 以下为坯料(工件)申请信息 apply_code = fields.Char(string="申请坯料编码", size=25, required=True) apply_name = fields.Char(string="申请坯料名称", size=25, required=True) material_id = fields.Many2one('sf.production.materials', string="坯料材料", required=True) apply_width = fields.Float(string="申请宽度", required=True) apply_length = fields.Float(string="申请长度", required=True) apply_height = fields.Float(string="申请高度", required=True) apply_weight = fields.Float(string="申请重量", required=True) apply_diameter = fields.Float(string="申请直径", required=True) surface_accuracy = fields.Char(string="表面精度", required=True) # 以下为坯料(工件)装夹信息 chuck_name = fields.Char(string="卡盘名称", required=True) chuck_brand_id = fields.Many2one('sf.machine.brand', string="卡盘品牌", required=True) chuck_type_id = fields.Char(string="卡盘类型", required=True) chuck_model_id = fields.Char(string="卡盘型号", required=True) tray_name = fields.Char(string="托盘名称", required=True) tray_brand_id = fields.Many2one('sf.machine.brand', string="托盘品牌", required=True) tray_type_id = fields.Char(string="托盘类型", required=True) tray_model_id = fields.Char(string="托盘型号", required=True) real_code = fields.Char(string="真实坯料编码", size=25, required=True) real_name = fields.Char(string="真实坯料名称", size=25, required=True) real_width = fields.Float(string="真实宽度", required=True) real_length = fields.Float(string="真实长度", required=True) real_height = fields.Float(string="真实高度", required=True) real_diameter = fields.Float(string="真实直径", required=True) # 以下为坯料(工件)预调信息 # hole_site = fields.Char(string="孔位", required=True) # curve = fields.Char(string="曲线", required=True) # straight_line = fields.Char(string="直线", required=True) # x_axis = fields.Float(string="X轴", required=True) # y_axis = fields.Float(string="Y轴", required=True) # z_axis = fields.Float(string="Z轴", required=True) # tool_radius = fields.Float(string="刀具半径", required=True) # tool_length = fields.Float(string="刀具长度", required=True) # tool_offset_point = fields.Float(string="刀具偏移点", required=True) # tool_compensation_value = fields.Float(string="刀具补偿值", required=True) # cutting_spindle_speed = fields.Float(string="切削主轴转速", required=True) # cutting_feed_rate = fields.Float(string="切削进给速度", required=True) # depth_of_cutting = fields.Float(string="切削深度", required=True) # cutting_direction = fields.Char(string="切削方向", required=True) # cnc_program_information = fields.Char(string="CNC程序信息", required=True) class StockRemoval(models.Model): _name = 'sf.stock.removal' _description = "出库" code = fields.Char(string="功能夹具编码", size=25, required=True) name = fields.Char(string="功能夹具名称", size=25, required=True) type = fields.Char(string="功能夹具类型", required=True) production_line = fields.Char(string="生产线", required=True) machine_tool = fields.Many2one('sf.machine_tool', string="机床", required=True) class Assemble(models.Model): _name = 'sf.assemble' _description = "组合装夹" functional_fixture_code = fields.Char(string="功能夹具编码", size=25, required=True) functional_fixture_name = fields.Char(string="功能夹具名称", size=25, required=True) functional_fixture_type = fields.Char(string="功能夹具类型", required=True) chuck_name = fields.Char(string="卡盘名称", required=True) chuck_brand_id = fields.Many2one('sf.machine.brand', string="卡盘品牌", required=True) chuck_type_id = fields.Char(string="卡盘类型", required=True) chuck_model_id = fields.Char(string="卡盘型号", required=True) tray_name = fields.Char(string="托盘名称", required=True) tray_brand_id = fields.Many2one('sf.machine.brand', string="托盘品牌", required=True) tray_type_id = fields.Char(string="托盘类型", required=True) tray_model_id = fields.Char(string="托盘型号", required=True) real_code = fields.Char(string="真实坯料编码", size=25, required=True) real_name = fields.Char(string="真实坯料名称", size=25, required=True) total_wight = fields.Float(string="总重量", required=True) maximum_carrying_weight = fields.Char(string="最大承载重量[kg]") maximum_clamping_force = fields.Char(string="最大夹持力[n]") production_line = fields.Char(string="生产线", required=True) # 以下为智能工厂工单带过来的机床信息 machine_tool = fields.Many2one('sf.machine_tool', string="机床名称", required=True) machine_tool_code = fields.Char(string="机床编码", required=True) machine_tool_startime = fields.Date(string="机床开始加工时间", required=True) # 以下为智能工厂工单带过来的信息 apply_staff = fields.Char(string="申请人", required=True) apply_time = fields.Date(string="申请时间", required=True) apply_reason = fields.Char(string="申请原因", required=True) # 以下为装夹的信息 preset_staff = fields.Char(string="预调名称", required=True) preset_time = fields.Date(string="预调时间", required=True) material_taker = fields.Char(string="领料人", required=True) material_removal_time = fields.Date(string="领料出库时间", required=True)