修改机床设备参数,处理同步bug,以及机床设备视图布局
This commit is contained in:
@@ -178,6 +178,7 @@ class MaintenanceStandardImage(models.Model):
|
|||||||
('冷却液', '冷却液'), ('压紧方式', '压紧方式'), ('刀片形状', '刀片形状'), ('冷却方式', '冷却方式')],
|
('冷却液', '冷却液'), ('压紧方式', '压紧方式'), ('刀片形状', '刀片形状'), ('冷却方式', '冷却方式')],
|
||||||
string='特征')
|
string='特征')
|
||||||
equipment_id = fields.Many2many('maintenance.equipment', 'image_id', string='设备')
|
equipment_id = fields.Many2many('maintenance.equipment', 'image_id', string='设备')
|
||||||
|
equipment_lq_id = fields.Many2many('maintenance.equipment', 'image_lq_id', string='设备')
|
||||||
jg_equipment_id = fields.Many2many('sf.machine_tool.type', 'jg_image_id', string='机床型号')
|
jg_equipment_id = fields.Many2many('sf.machine_tool.type', 'jg_image_id', string='机床型号')
|
||||||
lq_equipment_id = fields.Many2many('sf.machine_tool.type', 'lq_image_id', string='机床型号')
|
lq_equipment_id = fields.Many2many('sf.machine_tool.type', 'lq_image_id', string='机床型号')
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,69 @@ class SfMaintenanceEquipment(models.Model):
|
|||||||
|
|
||||||
crea_url = "/api/machine_tool/create"
|
crea_url = "/api/machine_tool/create"
|
||||||
|
|
||||||
|
# 1212修改后的字段
|
||||||
|
number_of_axles = fields.Selection(
|
||||||
|
[("三轴", "三轴"), ("四轴", "四轴"), ("五轴", "五轴"), ("六轴", "六轴")],
|
||||||
|
default="", string="轴数")
|
||||||
|
|
||||||
|
# 1212新增字段
|
||||||
|
a_axis = fields.Integer('a轴')
|
||||||
|
function_type = fields.Selection(
|
||||||
|
[("ZXJGZX", "钻铣加工中心"), ("CXJGZX", "车削加工中心"), ("FHJGZX", "复合加工中心")],
|
||||||
|
default="", string="功能类型")
|
||||||
|
T_trough_num = fields.Integer('槽数')
|
||||||
|
T_trough_wide = fields.Float('槽宽(mm)')
|
||||||
|
T_trough_distance = fields.Float('槽距(mm)')
|
||||||
|
|
||||||
|
taper_type_id = fields.Many2one('spindle.taper.type', string='主轴锥孔型号')
|
||||||
|
spindle_center_distance = fields.Float('主轴中心至立柱滑轨面距离(mm)')
|
||||||
|
spindle_continuous_power = fields.Float('主轴持续功率(kw)')
|
||||||
|
spindle_peak_power = fields.Float('主轴峰值功率(kw)')
|
||||||
|
spindle_sustained_torque = fields.Float('主轴持续扭矩(n/m)')
|
||||||
|
spindle_peak_torque = fields.Float('主轴峰值扭矩(n/m)')
|
||||||
|
linear_axis_guides_type = fields.Char('直线轴导轨类型')
|
||||||
|
axis_driven_type = fields.Char('坐标轴驱动类型')
|
||||||
|
|
||||||
|
X_axis_rapid_traverse_speed = fields.Char('X轴快速进给速度(mm/min)')
|
||||||
|
Y_axis_rapid_traverse_speed = fields.Char('Y轴快速进给速度(mm/min)')
|
||||||
|
Z_axis_rapid_traverse_speed = fields.Char('Z轴快速进给速度(mm/min)')
|
||||||
|
a_axis_rapid_traverse_speed = fields.Char('a轴快速进给速度(mm/min)')
|
||||||
|
b_axis_rapid_traverse_speed = fields.Char('b轴快速进给速度(mm/min)')
|
||||||
|
c_axis_rapid_traverse_speed = fields.Char('c轴快速进给速度(mm/min)')
|
||||||
|
straight_cutting_feed_rate = fields.Char('直线切削进给速度(mm/min)')
|
||||||
|
rotary_cutting_feed_rate = fields.Char('回转切削进给速度(mm/min)')
|
||||||
|
|
||||||
|
X_precision = fields.Float('X轴定位精度(mm)', digits=(12, 3))
|
||||||
|
X_precision_repeat = fields.Float('X轴重复定位精度(mm)', digits=(12, 3))
|
||||||
|
Y_precision = fields.Float('Y轴定位精度(mm)', digits=(12, 3))
|
||||||
|
Y_precision_repeat = fields.Float('Y轴重复定位精度(mm)', digits=(12, 3))
|
||||||
|
Z_precision = fields.Float('Z轴定位精度(mm)', digits=(12, 3))
|
||||||
|
Z_precision_repeat = fields.Float('Z轴重复定位精度(mm)', digits=(12, 3))
|
||||||
|
a_precision = fields.Float('a轴定位精度(mm)', digits=(12, 3))
|
||||||
|
a_precision_repeat = fields.Float('a轴重复定位精度(mm)', digits=(12, 3))
|
||||||
|
b_precision = fields.Float('b轴定位精度(mm)', digits=(12, 3))
|
||||||
|
b_precision_repeat = fields.Float('b轴重复定位精度(mm)', digits=(12, 3))
|
||||||
|
c_precision = fields.Float('c轴定位精度(mm)', digits=(12, 3))
|
||||||
|
c_precision_repeat = fields.Float('c轴重复定位精度(mm)', digits=(12, 3))
|
||||||
|
|
||||||
|
tool_full_diameter_max = fields.Float('刀具满刀最大直径(mm)')
|
||||||
|
tool_perimeter_diameter_max = fields.Float('刀具邻空刀最大直径(mm)')
|
||||||
|
T_tool_time = fields.Integer('T-T换刀时间(s)')
|
||||||
|
C_tool_time = fields.Integer('C-C换刀时间(s)')
|
||||||
|
|
||||||
|
# 待删除字段
|
||||||
|
precision_min = fields.Float('X轴定位精度min(mm)', digits=(12, 3))
|
||||||
|
precision_max = fields.Float('X轴定位精度max(mm)', digits=(12, 3))
|
||||||
|
lead_screw = fields.Char('丝杆')
|
||||||
|
guide_rail = fields.Char('导轨')
|
||||||
|
feed_speed = fields.Char('进给速度(mm/min)')
|
||||||
|
tool_speed = fields.Char('刀具速度(m/min)')
|
||||||
|
torque = fields.Char('主轴点击扭矩(n/m)')
|
||||||
|
motor_power = fields.Char('主轴电机功率(kw)')
|
||||||
|
taper = fields.Char('主轴锥度(°)')
|
||||||
|
tool_diameter_max = fields.Char('刀具刀径max(mm)')
|
||||||
|
tool_diameter_min = fields.Char('刀具刀径min(mm)')
|
||||||
|
|
||||||
def get_no(self):
|
def get_no(self):
|
||||||
partner = self.env['maintenance.equipment'].sudo().search(
|
partner = self.env['maintenance.equipment'].sudo().search(
|
||||||
[('MTcode', '!=', '')],
|
[('MTcode', '!=', '')],
|
||||||
@@ -81,9 +144,6 @@ class SfMaintenanceEquipment(models.Model):
|
|||||||
default="", string="刀把类型")
|
default="", string="刀把类型")
|
||||||
number_of_knife_library = fields.Integer('刀库数量(把)')
|
number_of_knife_library = fields.Integer('刀库数量(把)')
|
||||||
rotate_speed = fields.Integer('转速')
|
rotate_speed = fields.Integer('转速')
|
||||||
number_of_axles = fields.Selection(
|
|
||||||
[("三轴", "三轴"), ("四轴", "四轴"), ("五轴", "五轴")],
|
|
||||||
default="", string="轴数")
|
|
||||||
# 加工进程
|
# 加工进程
|
||||||
x_axis = fields.Integer('X轴')
|
x_axis = fields.Integer('X轴')
|
||||||
y_axis = fields.Integer('Y轴')
|
y_axis = fields.Integer('Y轴')
|
||||||
@@ -92,8 +152,6 @@ class SfMaintenanceEquipment(models.Model):
|
|||||||
c_axis = fields.Integer('C轴')
|
c_axis = fields.Integer('C轴')
|
||||||
remark = fields.Char('备注')
|
remark = fields.Char('备注')
|
||||||
is_binding = fields.Boolean('是否绑定机床', default=False)
|
is_binding = fields.Boolean('是否绑定机床', default=False)
|
||||||
precision_min = fields.Float('X轴定位精度min(mm)', digits=(12, 3))
|
|
||||||
precision_max = fields.Float('X轴定位精度max(mm)', digits=(12, 3))
|
|
||||||
control_system_id = fields.Many2one('sf.machine.control_system',
|
control_system_id = fields.Many2one('sf.machine.control_system',
|
||||||
string="控制系统")
|
string="控制系统")
|
||||||
# 多个机床型号对应一个机床
|
# 多个机床型号对应一个机床
|
||||||
@@ -111,24 +169,15 @@ class SfMaintenanceEquipment(models.Model):
|
|||||||
('chilunjia', '齿轮架驱动')
|
('chilunjia', '齿轮架驱动')
|
||||||
], string="主轴加高方式", default='sifudianji')
|
], string="主轴加高方式", default='sifudianji')
|
||||||
workpiece_load = fields.Char('工件最大负载(kg)')
|
workpiece_load = fields.Char('工件最大负载(kg)')
|
||||||
lead_screw = fields.Char('丝杆')
|
|
||||||
workbench_L = fields.Char('工作台长度(mm)')
|
workbench_L = fields.Char('工作台长度(mm)')
|
||||||
workbench_W = fields.Char('工作台宽度(mm)')
|
workbench_W = fields.Char('工作台宽度(mm)')
|
||||||
guide_rail = fields.Char('导轨')
|
|
||||||
machine_tool_L = fields.Char('机床长度(mm)')
|
machine_tool_L = fields.Char('机床长度(mm)')
|
||||||
machine_tool_W = fields.Char('机床宽度(mm)')
|
machine_tool_W = fields.Char('机床宽度(mm)')
|
||||||
machine_tool_H = fields.Char('机床高度(mm)')
|
machine_tool_H = fields.Char('机床高度(mm)')
|
||||||
feed_speed = fields.Char('进给速度(mm/min)')
|
|
||||||
tool_speed = fields.Char('刀具速度(m/min)')
|
|
||||||
distance_min = fields.Char('主轴端面至工作台面距离MIN(mm)')
|
distance_min = fields.Char('主轴端面至工作台面距离MIN(mm)')
|
||||||
distance_max = fields.Char('主轴端面至工作台面距离MAX(mm)')
|
distance_max = fields.Char('主轴端面至工作台面距离MAX(mm)')
|
||||||
taper = fields.Char('主轴锥度(°)')
|
|
||||||
torque = fields.Char('主轴电机扭矩(n/m)')
|
|
||||||
motor_power = fields.Char('主轴电机功率(kw)')
|
|
||||||
tool_quality_max = fields.Char('刀具最大质量(kg)')
|
tool_quality_max = fields.Char('刀具最大质量(kg)')
|
||||||
tool_long_max = fields.Char('刀具最大长度(mm)')
|
tool_long_max = fields.Char('刀具最大长度(mm)')
|
||||||
tool_diameter_max = fields.Char('刀具刀径max(mm)')
|
|
||||||
tool_diameter_min = fields.Char('刀具刀径min(mm)')
|
|
||||||
machine_tool_category = fields.Many2one('sf.machine_tool.category', string='机床类型')
|
machine_tool_category = fields.Many2one('sf.machine_tool.category', string='机床类型')
|
||||||
# 一个机床对应一個加工工厂,一个加工工厂对应多个机床
|
# 一个机床对应一個加工工厂,一个加工工厂对应多个机床
|
||||||
factory_id = fields.Many2one('res.partner', string='所属工厂',
|
factory_id = fields.Many2one('res.partner', string='所属工厂',
|
||||||
@@ -247,6 +296,48 @@ class SfMaintenanceEquipment(models.Model):
|
|||||||
item.tool_diameter_min = item.type_id.tool_diameter_min
|
item.tool_diameter_min = item.type_id.tool_diameter_min
|
||||||
item.machine_tool_category = item.type_id.machine_tool_category.id
|
item.machine_tool_category = item.type_id.machine_tool_category.id
|
||||||
item.brand_id = item.type_id.brand_id.id
|
item.brand_id = item.type_id.brand_id.id
|
||||||
|
#新增修改字段
|
||||||
|
item.taper_type_id = item.type_id.taper_type_id.id
|
||||||
|
item.function_type = item.type_id.function_type
|
||||||
|
item.a_axis = item.type_id.a_axis
|
||||||
|
item.T_trough_num = item.type_id.T_trough_num
|
||||||
|
item.T_trough_wide = item.type_id.T_trough_wide
|
||||||
|
item.T_trough_distance = item.type_id.T_trough_distance
|
||||||
|
item.spindle_center_distance = item.type_id.spindle_center_distance
|
||||||
|
item.spindle_continuous_power = item.type_id.spindle_continuous_power
|
||||||
|
item.spindle_peak_power = item.type_id.spindle_peak_power
|
||||||
|
item.spindle_sustained_torque = item.type_id.spindle_sustained_torque
|
||||||
|
item.spindle_peak_torque = item.type_id.spindle_peak_torque
|
||||||
|
item.linear_axis_guides_type = item.type_id.linear_axis_guides_type
|
||||||
|
item.axis_driven_type = item.type_id.axis_driven_type
|
||||||
|
item.X_axis_rapid_traverse_speed = item.type_id.X_axis_rapid_traverse_speed
|
||||||
|
item.Y_axis_rapid_traverse_speed = item.type_id.Y_axis_rapid_traverse_speed
|
||||||
|
item.Z_axis_rapid_traverse_speed = item.type_id.Z_axis_rapid_traverse_speed
|
||||||
|
item.a_axis_rapid_traverse_speed = item.type_id.a_axis_rapid_traverse_speed
|
||||||
|
item.b_axis_rapid_traverse_speed = item.type_id.b_axis_rapid_traverse_speed
|
||||||
|
item.c_axis_rapid_traverse_speed = item.type_id.c_axis_rapid_traverse_speed
|
||||||
|
item.straight_cutting_feed_rate = item.type_id.straight_cutting_feed_rate
|
||||||
|
item.rotary_cutting_feed_rate = item.type_id.rotary_cutting_feed_rate
|
||||||
|
item.X_precision = item.type_id.X_precision
|
||||||
|
item.X_precision_repeat = item.type_id.X_precision_repeat
|
||||||
|
item.Y_precision = item.type_id.Y_precision
|
||||||
|
item.Y_precision_repeat = item.type_id.Y_precision_repeat
|
||||||
|
item.Z_precision = item.type_id.Z_precision
|
||||||
|
item.Z_precision_repeat = item.type_id.Z_precision_repeat
|
||||||
|
item.a_precision = item.type_id.a_precision
|
||||||
|
item.a_precision_repeat = item.type_id.a_precision_repeat
|
||||||
|
item.b_precision = item.type_id.b_precision
|
||||||
|
item.b_precision_repeat = item.type_id.b_precision_repeat
|
||||||
|
item.c_precision = item.type_id.c_precision
|
||||||
|
item.c_precision_repeat = item.type_id.c_precision_repeat
|
||||||
|
item.tool_full_diameter_max = item.type_id.tool_full_diameter_max
|
||||||
|
item.tool_perimeter_diameter_max = item.type_id.tool_perimeter_diameter_max
|
||||||
|
item.T_tool_time = item.type_id.T_tool_time
|
||||||
|
item.C_tool_time = item.type_id.C_tool_time
|
||||||
|
item.C_tool_time = item.type_id.C_tool_time
|
||||||
|
item.image_id = item.type_id.jg_image_id.ids
|
||||||
|
item.image_lq_id = item.type_id.lq_image_id.ids
|
||||||
|
|
||||||
|
|
||||||
# AGV小车设备参数
|
# AGV小车设备参数
|
||||||
AGV_L = fields.Char('AGV尺寸(长)')
|
AGV_L = fields.Char('AGV尺寸(长)')
|
||||||
@@ -598,8 +689,10 @@ class SfMaintenanceEquipment(models.Model):
|
|||||||
if not next_requests:
|
if not next_requests:
|
||||||
equipment._create_new_request1(equipment.overhaul_date)
|
equipment._create_new_request1(equipment.overhaul_date)
|
||||||
|
|
||||||
image_id = fields.Many2many('maintenance.equipment.image', 'equipment_id', string='加工能力',
|
image_id = fields.Many2many('maintenance.equipment.image', 'equipment_id',
|
||||||
domain="[('type', '=', '加工能力')]")
|
domain="[('type', '=', '加工能力')]")
|
||||||
|
image_lq_id = fields.Many2many('maintenance.equipment.image', 'equipment_lq_id', string='冷却方式',
|
||||||
|
domain="[('type', '=', '冷却方式')]")
|
||||||
|
|
||||||
|
|
||||||
class SfRobotAxisNum(models.Model):
|
class SfRobotAxisNum(models.Model):
|
||||||
|
|||||||
@@ -55,8 +55,8 @@
|
|||||||
groups="sf_maintenance.sf_group_equipment_manager"/>
|
groups="sf_maintenance.sf_group_equipment_manager"/>
|
||||||
</div>
|
</div>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//field[@name='category_id']" position="before">
|
<xpath expr="//field[@name='category_id']" position="before">
|
||||||
<field name="MTcode"/>
|
<field name="MTcode"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//field[@name='category_id']" position="after">
|
<xpath expr="//field[@name='category_id']" position="after">
|
||||||
<field name="state_zc"/>
|
<field name="state_zc"/>
|
||||||
@@ -72,175 +72,171 @@
|
|||||||
<page string="设备参数" name="sf_equipment"
|
<page string="设备参数" name="sf_equipment"
|
||||||
attrs="{'invisible': [('equipment_type', '!=', '机床')]}">
|
attrs="{'invisible': [('equipment_type', '!=', '机床')]}">
|
||||||
<group>
|
<group>
|
||||||
<div class="bigger">
|
<group string="基础参数">
|
||||||
<group string="基本参数">
|
<field name="control_system_id" required="1" options="{'no_create': True}"/>
|
||||||
<field name="control_system_id" required="1" options="{'no_create': True}"/>
|
<label for="workbench_L" string="工作台尺寸(mm)"/>
|
||||||
<label for="workbench_L" string="工作台尺寸(mm)"/>
|
|
||||||
<div class="test_model">
|
|
||||||
<div>
|
|
||||||
<label for="workbench_L" string="长"/>
|
|
||||||
<field name="workbench_L" class="o_address_zip"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
<span>&nbsp;</span>
|
|
||||||
<div>
|
|
||||||
<label for="workbench_W" string="宽"/>
|
|
||||||
<field name="workbench_W" class="o_address_zip"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<label for="machine_tool_L" string="机床尺寸(mm)"/>
|
|
||||||
<div class="test_model">
|
|
||||||
<div>
|
|
||||||
<label for="machine_tool_L" string="长"/>
|
|
||||||
<field name="machine_tool_L" class="o_address_zip"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
<span>&nbsp;</span>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<label for="machine_tool_W" string="宽"/>
|
|
||||||
<field name="machine_tool_W" class="o_address_zip"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<label for="machine_tool_H" string="高"/>
|
|
||||||
<field name="machine_tool_H" class="o_address_zip"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<field name="feed_speed" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
|
|
||||||
|
|
||||||
<label for="precision_min" string="X轴定位精度(mm)"/>
|
|
||||||
<div class="test_model">
|
|
||||||
<div>
|
|
||||||
<label for="precision_min" string="最小(min)"/>
|
|
||||||
<field name="precision_min" class="o_address_zip"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
<span>&nbsp;</span>
|
|
||||||
<div>
|
|
||||||
<label for="precision_max" string="最大(max)"/>
|
|
||||||
<field name="precision_max" class="o_address_zip"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<field name="workpiece_load"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"/>
|
|
||||||
|
|
||||||
<field name="lead_screw" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
|
|
||||||
<field name="number_of_axles"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
widget="radio"
|
|
||||||
options="{'horizontal': true}"/>
|
|
||||||
<label for="x_axis" string="加工行程(mm)"
|
|
||||||
attrs="{'invisible': [('number_of_axles', '=', False)]}"/>
|
|
||||||
<div class="test_model"
|
|
||||||
attrs="{'invisible': [('number_of_axles', '=', False)]}">
|
|
||||||
<div>
|
|
||||||
<label for="x_axis" string="x"/>
|
|
||||||
<field name="x_axis" class="o_address_zip"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
<span>&nbsp;</span>
|
|
||||||
<div>
|
|
||||||
<label for="y_axis" string="y"/>
|
|
||||||
<field name="y_axis" class="o_address_zip"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
<span>&nbsp;</span>
|
|
||||||
<div>
|
|
||||||
<label for="z_axis" string="z"/>
|
|
||||||
<field name="z_axis" class="o_address_zip"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
<br></br>
|
|
||||||
<div>
|
|
||||||
<label for="b_axis" string="b"
|
|
||||||
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"/>
|
|
||||||
<field name="b_axis" class="o_address_zip"
|
|
||||||
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
<span>&nbsp;</span>
|
|
||||||
<div>
|
|
||||||
<label for="c_axis" string="c"
|
|
||||||
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"/>
|
|
||||||
<field name="c_axis" class="o_address_zip"
|
|
||||||
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</group>
|
|
||||||
</div>
|
|
||||||
<div class="bigger">
|
|
||||||
<group string="主轴">
|
|
||||||
<field name="taper" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
|
|
||||||
<field name="rotate_speed" string="主轴转速(r/min)"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
<field name="heightened_way"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"/>
|
|
||||||
<field name="torque" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
|
|
||||||
<field name="motor_power" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
|
|
||||||
<label for="distance_min" string="主轴端面-工作台距离(mm)"/>
|
|
||||||
<div class="test_model">
|
|
||||||
<div>
|
|
||||||
<label for="distance_min" string="最小(min)"/>
|
|
||||||
<field name="distance_min" class="o_address_zip"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
<span>&nbsp;</span>
|
|
||||||
<div>
|
|
||||||
<label for="distance_max" string="最大(max)"/>
|
|
||||||
<field name="distance_max" class="o_address_zip"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<field name="guide_rail" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
|
|
||||||
</group>
|
|
||||||
</div>
|
|
||||||
<group string="刀具">
|
|
||||||
<field name="number_of_knife_library"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
<field name="knife_type" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
|
|
||||||
<field name="tool_speed" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
|
|
||||||
<field name="tool_long_max"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"/>
|
|
||||||
<label for="tool_diameter_min" string="刀具刀径(mm)"/>
|
|
||||||
<div class="test_model">
|
<div class="test_model">
|
||||||
<div>
|
<label for="workbench_L" string="长"/>
|
||||||
<label for="tool_diameter_min" string="最小(min)"/>
|
<field name="workbench_L" class="o_address_zip" required="1"
|
||||||
<field name="tool_diameter_min" class="o_address_zip"
|
options="{'format': false}"/>
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
|
||||||
options="{'format': false}"/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<span>&nbsp;</span>
|
<span>&nbsp;</span>
|
||||||
<div>
|
<label for="workbench_W" string="宽"/>
|
||||||
<label for="tool_diameter_max" string="最大(max)"/>
|
<field name="workbench_W" class="o_address_zip" required="1"
|
||||||
<field name="tool_diameter_max" class="o_address_zip"
|
options="{'format': false}"/>
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"
|
</div>
|
||||||
options="{'format': false}"/>
|
<field name="workpiece_load"/>
|
||||||
</div>
|
<label for="machine_tool_L" string="机床尺寸(mm)"/>
|
||||||
|
<div class="test_model">
|
||||||
|
<label for="machine_tool_L" string="长"/>
|
||||||
|
<field name="machine_tool_L" class="o_address_zip"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<span>&nbsp;</span>
|
||||||
|
<label for="machine_tool_W" string="宽"/>
|
||||||
|
<field name="machine_tool_W" class="o_address_zip"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<label for="machine_tool_H" string="高"/>
|
||||||
|
<field name="machine_tool_H" class="o_address_zip"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
</div>
|
||||||
|
<label for="T_trough_num" string="T型槽尺寸:"/>
|
||||||
|
<div class="test_model">
|
||||||
|
<label for="T_trough_num" string="槽数"/>
|
||||||
|
<field name="T_trough_num" class="o_address_zip"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<span>&nbsp;</span>
|
||||||
|
<label for="T_trough_wide" string="槽宽(mm)"/>
|
||||||
|
<field name="T_trough_wide" class="o_address_zip"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<label for="T_trough_distance" string="槽距(mm)"/>
|
||||||
|
<field name="T_trough_distance" class="o_address_zip"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
</div>
|
||||||
|
<!-- <field name="feed_speed" required="1"/>-->
|
||||||
|
<!-- <label for="precision_min" string="X轴定位精度(mm)"/>-->
|
||||||
|
<!-- <div class="test_model">-->
|
||||||
|
<!-- <label for="precision_min" string="最小(min)"/>-->
|
||||||
|
<!-- <field name="precision_min" class="o_address_zip" required="1"-->
|
||||||
|
<!-- options="{'format': false}"/>-->
|
||||||
|
<!-- <span>&nbsp;</span>-->
|
||||||
|
<!-- <label for="precision_max" string="最大(max)"/>-->
|
||||||
|
<!-- <field name="precision_max" class="o_address_zip" required="1"-->
|
||||||
|
<!-- options="{'format': false}"/>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
|
||||||
|
<!-- <field name="lead_screw" required="1"/>-->
|
||||||
|
<!-- <field name="guide_rail" required="1"/>-->
|
||||||
|
<field name="number_of_axles" required="1" widget="radio"
|
||||||
|
options="{'horizontal': true}"/>
|
||||||
|
<label for="x_axis" string="加工行程(mm)"
|
||||||
|
attrs="{'invisible': [('number_of_axles', '=', False)]}"/>
|
||||||
|
<div class="test_model"
|
||||||
|
attrs="{'invisible': [('number_of_axles', '=', False)]}">
|
||||||
|
<label for="x_axis" string="x"/>
|
||||||
|
<field name="x_axis" class="o_address_zip" required="1"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<span>&nbsp;</span>
|
||||||
|
<label for="y_axis" string="y"/>
|
||||||
|
<field name="y_axis" class="o_address_zip" required="1"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<span>&nbsp;</span>
|
||||||
|
<label for="z_axis" string="z"/>
|
||||||
|
<field name="z_axis" class="o_address_zip" required="1"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<span>&nbsp;</span>
|
||||||
|
<label for="a_axis" string="a"
|
||||||
|
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"/>
|
||||||
|
<field name="a_axis" class="o_address_zip"
|
||||||
|
attrs="{'invisible': [('number_of_axles', '=', '三轴')]}"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<span>&nbsp;</span>
|
||||||
|
<label for="b_axis" string="b"
|
||||||
|
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"/>
|
||||||
|
<field name="b_axis" class="o_address_zip"
|
||||||
|
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴'])]}"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<span>&nbsp;</span>
|
||||||
|
<label for="c_axis" string="c"
|
||||||
|
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴','五轴'])]}"/>
|
||||||
|
<field name="c_axis" class="o_address_zip"
|
||||||
|
attrs="{'invisible': [('number_of_axles', 'in', ['三轴','四轴','五轴'])]}"
|
||||||
|
options="{'format': false}"/>
|
||||||
</div>
|
</div>
|
||||||
<field name="tool_quality_max"
|
|
||||||
attrs="{'required': [('equipment_type', '=', '机床')]}"/>
|
|
||||||
</group>
|
</group>
|
||||||
</group>
|
<group string="主轴">
|
||||||
|
<field name="taper_type_id" required="1"/>
|
||||||
|
<label for="distance_min" string="主轴端面-工作台距离(mm)"/>
|
||||||
|
<div class="test_model">
|
||||||
|
<label for="distance_min" string="最小(min)"/>
|
||||||
|
<field name="distance_min" class="o_address_zip"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<span>&nbsp;</span>
|
||||||
|
<label for="distance_max" string="最大(max)"/>
|
||||||
|
<field name="distance_max" class="o_address_zip"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
</div>
|
||||||
|
<field name="rotate_speed" string="主轴最高转速(r/min)"
|
||||||
|
options="{'format': false}"/>
|
||||||
|
<field name="spindle_center_distance"/>
|
||||||
|
<field name="spindle_continuous_power"/>
|
||||||
|
<field name="spindle_peak_power"/>
|
||||||
|
<field name="spindle_sustained_torque"/>
|
||||||
|
<field name="spindle_peak_torque"/>
|
||||||
|
<field name="heightened_way"/>
|
||||||
|
<field name="linear_axis_guides_type"/>
|
||||||
|
<field name="axis_driven_type"/>
|
||||||
|
|
||||||
|
<!-- <field name="distance" required="1"/>-->
|
||||||
|
</group>
|
||||||
|
<group string="刀具">
|
||||||
|
<!-- <field name="knife_type" required="1"/>-->
|
||||||
|
<field name="number_of_knife_library" required="1" options="{'format': false}"/>
|
||||||
|
<!-- <field name="tool_speed" required="1"/>-->
|
||||||
|
<field name="tool_full_diameter_max"/>
|
||||||
|
<field name="tool_perimeter_diameter_max"/>
|
||||||
|
<field name="tool_long_max"/>
|
||||||
|
<!-- <label for="tool_diameter_min" string="刀具刀径(mm)"/>-->
|
||||||
|
<!-- <div class="test_model">-->
|
||||||
|
<!-- <label for="tool_diameter_min" string="最小(min)"/>-->
|
||||||
|
<!-- <field name="tool_diameter_min" class="o_address_zip" required="1"-->
|
||||||
|
<!-- options="{'format': false}"/>-->
|
||||||
|
<!-- <span>&nbsp;</span>-->
|
||||||
|
<!-- <label for="tool_diameter_max" string="最大(max)"/>-->
|
||||||
|
<!-- <field name="tool_diameter_max" class="o_address_zip" required="1"-->
|
||||||
|
<!-- options="{'format': false}"/>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<field name="tool_quality_max"/>
|
||||||
|
<field name="T_tool_time"/>
|
||||||
|
<field name="C_tool_time"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<group string="进给参数">
|
||||||
|
<field name="X_axis_rapid_traverse_speed"/>
|
||||||
|
<field name="Y_axis_rapid_traverse_speed"/>
|
||||||
|
<field name="Z_axis_rapid_traverse_speed"/>
|
||||||
|
<field name="a_axis_rapid_traverse_speed"/>
|
||||||
|
<field name="b_axis_rapid_traverse_speed"/>
|
||||||
|
<field name="c_axis_rapid_traverse_speed"/>
|
||||||
|
<field name="straight_cutting_feed_rate"/>
|
||||||
|
<field name="rotary_cutting_feed_rate"/>
|
||||||
|
</group>
|
||||||
|
<group string="精度参数">
|
||||||
|
<field name="X_precision"/>
|
||||||
|
<field name="X_precision_repeat"/>
|
||||||
|
<field name="Y_precision"/>
|
||||||
|
<field name="Y_precision_repeat"/>
|
||||||
|
<field name="Z_precision"/>
|
||||||
|
<field name="Z_precision_repeat"/>
|
||||||
|
<field name="a_precision"/>
|
||||||
|
<field name="a_precision_repeat"/>
|
||||||
|
<field name="b_precision"/>
|
||||||
|
<field name="b_precision_repeat"/>
|
||||||
|
<field name="c_precision"/>
|
||||||
|
<field name="c_precision_repeat"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
</group>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</page>
|
</page>
|
||||||
|
|
||||||
@@ -923,22 +919,34 @@
|
|||||||
</group>
|
</group>
|
||||||
</page>
|
</page>
|
||||||
|
|
||||||
<page string="加工能力" attrs="{'invisible': [('equipment_type', '!=', '机床')]}">
|
|
||||||
|
|
||||||
<field name='image_id' widget="custom_many2many_checkboxes">
|
</xpath>
|
||||||
|
|
||||||
|
<xpath expr="//notebook" position="before">
|
||||||
|
<group string="加工能力">
|
||||||
|
<div>
|
||||||
|
<field name='image_id' widget="custom_many2many_checkboxes" string="">
|
||||||
|
|
||||||
<tree>
|
<tree>
|
||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
<field name="image" widget="image"
|
<field name="image" widget="image"
|
||||||
options="{'size': [100, 100], 'click enlarge': True}"/>
|
options="{'size': [100, 100], 'click enlarge': True}"/>
|
||||||
|
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
|
</div>
|
||||||
|
</group>
|
||||||
|
<group string="冷却方式">
|
||||||
|
<div>
|
||||||
|
<field name='image_lq_id' widget="custom_many2many_checkboxes" string="">
|
||||||
|
|
||||||
|
<tree>
|
||||||
</page>
|
<field name="name"/>
|
||||||
|
<field name="image" widget="image"
|
||||||
|
options="{'size': [100, 100], 'click enlarge': True}"/>
|
||||||
|
</tree>
|
||||||
|
</field>
|
||||||
|
</div>
|
||||||
|
</group>
|
||||||
</xpath>
|
</xpath>
|
||||||
|
|
||||||
<xpath expr="//field[@name='next_action_date']" position="before">
|
<xpath expr="//field[@name='next_action_date']" position="before">
|
||||||
@@ -1185,13 +1193,12 @@
|
|||||||
sequence="2"/>
|
sequence="2"/>
|
||||||
|
|
||||||
<menuitem
|
<menuitem
|
||||||
id="maintenance.menu_m_dashboard"
|
id="maintenance.menu_m_dashboard"
|
||||||
name="设备清单"
|
name="设备清单"
|
||||||
parent="maintenance.menu_maintenance_title"
|
parent="maintenance.menu_maintenance_title"
|
||||||
groups="maintenance.group_equipment_manager,base.group_user"
|
groups="maintenance.group_equipment_manager,base.group_user"
|
||||||
action="hr_equipment_action1"
|
action="hr_equipment_action1"
|
||||||
sequence="0"/>
|
sequence="0"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</odoo>
|
</odoo>
|
||||||
@@ -615,123 +615,21 @@ class MachineToolType(models.Model):
|
|||||||
result = json.loads(r['result'])
|
result = json.loads(r['result'])
|
||||||
if result['status'] == 1:
|
if result['status'] == 1:
|
||||||
for item in result['machine_tool_type_yesterday_list']:
|
for item in result['machine_tool_type_yesterday_list']:
|
||||||
machine_tool_type = self.search([("code", '=', item['code'])])
|
|
||||||
control_system = self.env['sf.machine.control_system'].search(
|
|
||||||
[('code', '=', item['control_system_id'])])
|
|
||||||
brand = self.env['sf.machine.brand'].search([('code', '=', item['brand_id'])])
|
|
||||||
category = self.env['sf.machine_tool.category'].search([('code', '=', item['machine_tool_category'])])
|
|
||||||
if machine_tool_type:
|
|
||||||
machine_tool_type.write({
|
|
||||||
"name": item['name'],
|
|
||||||
"number_of_knife_library": item['number_of_knife_library'],
|
|
||||||
"rotate_speed": item['rotate_speed'],
|
|
||||||
"number_of_axles": item['number_of_axles'],
|
|
||||||
"x_axis": item['x_axis'],
|
|
||||||
"y_axis": item['y_axis'],
|
|
||||||
"z_axis": item['z_axis'],
|
|
||||||
"b_axis": item['b_axis'],
|
|
||||||
"knife_type": item['knife_type'],
|
|
||||||
"c_axis": item['c_axis'],
|
|
||||||
"remark": item['remark'],
|
|
||||||
"precision_min": item['precision_min'],
|
|
||||||
"precision_max": item['precision_max'],
|
|
||||||
'control_system_id': control_system.id,
|
|
||||||
"active": item['active'],
|
|
||||||
'brand_id': brand.id,
|
|
||||||
'machine_tool_picture': '' if not item['machine_tool_picture'] else base64.b64decode(
|
|
||||||
item['machine_tool_picture']),
|
|
||||||
"heightened_way": item['heightened_way'],
|
|
||||||
"workpiece_load": item['workpiece_load'],
|
|
||||||
"lead_screw": item['lead_screw'],
|
|
||||||
"workbench_L": item['workbench_L'],
|
|
||||||
"workbench_W": item['workbench_W'],
|
|
||||||
"guide_rail": item['guide_rail'],
|
|
||||||
"machine_tool_L": item['machine_tool_L'],
|
|
||||||
"machine_tool_W": item['machine_tool_W'],
|
|
||||||
"machine_tool_H": item['machine_tool_H'],
|
|
||||||
"feed_speed": item['feed_speed'],
|
|
||||||
"tool_speed": item['tool_speed'],
|
|
||||||
"distance_min": item['distance_min'],
|
|
||||||
"distance_max": item['distance_max'],
|
|
||||||
"taper": item['taper'],
|
|
||||||
"torque": item['torque'],
|
|
||||||
"motor_power": item['motor_power'],
|
|
||||||
"tool_quality_max": item['tool_quality_max'],
|
|
||||||
"tool_long_max": item['tool_long_max'],
|
|
||||||
"tool_diameter_max": item['tool_diameter_max'],
|
|
||||||
"tool_diameter_min": item['tool_diameter_min'],
|
|
||||||
"machine_tool_category": category.id,
|
|
||||||
})
|
|
||||||
else:
|
|
||||||
self.create({
|
|
||||||
"name": item['name'],
|
|
||||||
"code": item['code'],
|
|
||||||
"knife_type": item['knife_type'],
|
|
||||||
"number_of_knife_library": item['number_of_knife_library'],
|
|
||||||
"rotate_speed": item['rotate_speed'],
|
|
||||||
"number_of_axles": item['number_of_axles'],
|
|
||||||
"x_axis": item['x_axis'],
|
|
||||||
"y_axis": item['y_axis'],
|
|
||||||
"z_axis": item['z_axis'],
|
|
||||||
"b_axis": item['b_axis'],
|
|
||||||
"c_axis": item['c_axis'],
|
|
||||||
"remark": item['remark'],
|
|
||||||
"precision_min": item['precision_min'],
|
|
||||||
"precision_max": item['precision_max'],
|
|
||||||
'control_system_id': control_system.id,
|
|
||||||
"active": item['active'],
|
|
||||||
'brand_id': brand.id,
|
|
||||||
'machine_tool_picture': '' if not item['machine_tool_picture'] else item[
|
|
||||||
'machine_tool_picture'].encode('utf-8'),
|
|
||||||
"heightened_way": item['heightened_way'],
|
|
||||||
"workpiece_load": item['workpiece_load'],
|
|
||||||
"lead_screw": item['lead_screw'],
|
|
||||||
"workbench_L": item['workbench_L'],
|
|
||||||
"workbench_W": item['workbench_W'],
|
|
||||||
"guide_rail": item['guide_rail'],
|
|
||||||
"machine_tool_L": item['machine_tool_L'],
|
|
||||||
"machine_tool_W": item['machine_tool_W'],
|
|
||||||
"machine_tool_H": item['machine_tool_H'],
|
|
||||||
"feed_speed": item['feed_speed'],
|
|
||||||
"tool_speed": item['tool_speed'],
|
|
||||||
"distance_min": item['distance_min'],
|
|
||||||
"distance_max": item['distance_max'],
|
|
||||||
"taper": item['taper'],
|
|
||||||
"torque": item['torque'],
|
|
||||||
"motor_power": item['motor_power'],
|
|
||||||
"tool_quality_max": item['tool_quality_max'],
|
|
||||||
"tool_long_max": item['tool_long_max'],
|
|
||||||
"tool_diameter_max": item['tool_diameter_max'],
|
|
||||||
"tool_diameter_min": item['tool_diameter_min'],
|
|
||||||
"machine_tool_category": category.id,
|
|
||||||
})
|
|
||||||
else:
|
|
||||||
raise ValidationError("机床型号认证未通过")
|
|
||||||
|
|
||||||
# 同步所有机床型号
|
|
||||||
def sync_all_machine_tool_type(self):
|
|
||||||
config = self.env['res.config.settings'].get_values()
|
|
||||||
headers = Common.get_headers(self, config['token'], config['sf_secret_key'])
|
|
||||||
strUrl = config['sf_url'] + self.url
|
|
||||||
r = requests.post(strUrl, json={}, data=None, headers=headers)
|
|
||||||
r = r.json()
|
|
||||||
result = json.loads(r['result'])
|
|
||||||
if result['status'] == 1:
|
|
||||||
for item in result['machine_tool_type_all_list']:
|
|
||||||
if item.get('machine_tool_picture'):
|
if item.get('machine_tool_picture'):
|
||||||
image = base64.b64decode(item['machine_tool_picture'])
|
image = base64.b64decode(item['machine_tool_picture'])
|
||||||
else:
|
else:
|
||||||
image = ''
|
image = ''
|
||||||
|
taper_type_id = self.env['spindle.taper.type'].search([('name', '=', item['taper_type_id'])])
|
||||||
machine_tool_type = self.search([("code", '=', item['code'])])
|
machine_tool_type = self.search([("code", '=', item['code'])])
|
||||||
control_system = self.env['sf.machine.control_system'].search(
|
control_system = self.env['sf.machine.control_system'].search(
|
||||||
[('code', '=', item['control_system_id'])])
|
[('code', '=', item['control_system_id'])])
|
||||||
brand = self.env['sf.machine.brand'].search([('code', '=', item['brand_id'])])
|
|
||||||
jg_image_id = self.env['maintenance.equipment.image'].search([('name', 'in', item['jg_image_id'])])
|
jg_image_id = self.env['maintenance.equipment.image'].search([('name', 'in', item['jg_image_id'])])
|
||||||
lq_image_id = self.env['maintenance.equipment.image'].search([('name', 'in', item['lq_image_id'])])
|
lq_image_id = self.env['maintenance.equipment.image'].search([('name', 'in', item['lq_image_id'])])
|
||||||
|
brand = self.env['sf.machine.brand'].search([('code', '=', item['brand_id'])])
|
||||||
category = self.env['sf.machine_tool.category'].search([('code', '=', item['machine_tool_category'])])
|
category = self.env['sf.machine_tool.category'].search([('code', '=', item['machine_tool_category'])])
|
||||||
taper_type_id = self.env['spindle.taper.type'].search([('name', '=', item['taper_type_id'])])
|
if machine_tool_type:
|
||||||
if not machine_tool_type:
|
machine_tool_type.update({
|
||||||
self.create({
|
'code': item['code'],
|
||||||
"name": item['name'],
|
"name": item['name'],
|
||||||
"number_of_knife_library": item['number_of_knife_library'],
|
"number_of_knife_library": item['number_of_knife_library'],
|
||||||
"rotate_speed": item['rotate_speed'],
|
"rotate_speed": item['rotate_speed'],
|
||||||
@@ -812,7 +710,204 @@ class MachineToolType(models.Model):
|
|||||||
|
|
||||||
})
|
})
|
||||||
else:
|
else:
|
||||||
machine_tool_type.write({
|
self.create({
|
||||||
|
'code': item['code'],
|
||||||
|
"name": item['name'],
|
||||||
|
"number_of_knife_library": item['number_of_knife_library'],
|
||||||
|
"rotate_speed": item['rotate_speed'],
|
||||||
|
"number_of_axles": item['number_of_axles'],
|
||||||
|
"x_axis": item['x_axis'],
|
||||||
|
"y_axis": item['y_axis'],
|
||||||
|
"z_axis": item['z_axis'],
|
||||||
|
"b_axis": item['b_axis'],
|
||||||
|
"knife_type": item['knife_type'],
|
||||||
|
"c_axis": item['c_axis'],
|
||||||
|
"remark": item['remark'],
|
||||||
|
# "precision_min": item['precision_min'],
|
||||||
|
# "precision_max": item['precision_max'],
|
||||||
|
'control_system_id': control_system.id,
|
||||||
|
"active": item['active'],
|
||||||
|
'brand_id': brand.id,
|
||||||
|
'machine_tool_picture': image,
|
||||||
|
"heightened_way": item['heightened_way'],
|
||||||
|
"workpiece_load": item['workpiece_load'],
|
||||||
|
#"lead_screw": item['lead_screw'],
|
||||||
|
"workbench_L": item['workbench_L'],
|
||||||
|
"workbench_W": item['workbench_W'],
|
||||||
|
#"guide_rail": item['guide_rail'],
|
||||||
|
"machine_tool_L": item['machine_tool_L'],
|
||||||
|
"machine_tool_W": item['machine_tool_W'],
|
||||||
|
"machine_tool_H": item['machine_tool_H'],
|
||||||
|
#"feed_speed": item['feed_speed'],
|
||||||
|
#"tool_speed": item['tool_speed'],
|
||||||
|
"distance_min": item['distance_min'],
|
||||||
|
"distance_max": item['distance_max'],
|
||||||
|
#"taper": item['taper'],
|
||||||
|
#"torque": item['torque'],
|
||||||
|
#"motor_power": item['motor_power'],
|
||||||
|
"tool_quality_max": item['tool_quality_max'],
|
||||||
|
"tool_long_max": item['tool_long_max'],
|
||||||
|
#"tool_diameter_max": item['tool_diameter_max'],
|
||||||
|
#"tool_diameter_min": item['tool_diameter_min'],
|
||||||
|
"machine_tool_category": category.id,
|
||||||
|
'taper_type_id': taper_type_id.id,
|
||||||
|
"function_type": item['function_type'],
|
||||||
|
"a_axis": item['a_axis'],
|
||||||
|
"T_trough_num": item['T_trough_num'],
|
||||||
|
"T_trough_wide": item['T_trough_wide'],
|
||||||
|
"T_trough_distance": item['T_trough_distance'],
|
||||||
|
"spindle_center_distance": item['spindle_center_distance'],
|
||||||
|
"spindle_continuous_power": item['spindle_continuous_power'],
|
||||||
|
"spindle_peak_power": item['spindle_peak_power'],
|
||||||
|
"spindle_sustained_torque": item['spindle_sustained_torque'],
|
||||||
|
"spindle_peak_torque": item['spindle_peak_torque'],
|
||||||
|
"linear_axis_guides_type": item['linear_axis_guides_type'],
|
||||||
|
"axis_driven_type": item['axis_driven_type'],
|
||||||
|
"X_axis_rapid_traverse_speed": item['X_axis_rapid_traverse_speed'],
|
||||||
|
"Y_axis_rapid_traverse_speed": item['Y_axis_rapid_traverse_speed'],
|
||||||
|
"Z_axis_rapid_traverse_speed": item['Z_axis_rapid_traverse_speed'],
|
||||||
|
"a_axis_rapid_traverse_speed": item['a_axis_rapid_traverse_speed'],
|
||||||
|
"b_axis_rapid_traverse_speed": item['b_axis_rapid_traverse_speed'],
|
||||||
|
"c_axis_rapid_traverse_speed": item['c_axis_rapid_traverse_speed'],
|
||||||
|
"straight_cutting_feed_rate": item['straight_cutting_feed_rate'],
|
||||||
|
"rotary_cutting_feed_rate": item['rotary_cutting_feed_rate'],
|
||||||
|
"X_precision": item['X_precision'],
|
||||||
|
"X_precision_repeat": item['X_precision_repeat'],
|
||||||
|
"Y_precision": item['Y_precision'],
|
||||||
|
"Y_precision_repeat": item['Y_precision_repeat'],
|
||||||
|
"Z_precision": item['Z_precision'],
|
||||||
|
"Z_precision_repeat": item['Z_precision_repeat'],
|
||||||
|
"a_precision": item['a_precision'],
|
||||||
|
"a_precision_repeat": item['a_precision_repeat'],
|
||||||
|
"b_precision": item['b_precision'],
|
||||||
|
"b_precision_repeat": item['b_precision_repeat'],
|
||||||
|
"c_precision": item['c_precision'],
|
||||||
|
"c_precision_repeat": item['c_precision_repeat'],
|
||||||
|
"tool_full_diameter_max": item['tool_full_diameter_max'],
|
||||||
|
"tool_perimeter_diameter_max": item['tool_perimeter_diameter_max'],
|
||||||
|
"T_tool_time": item['T_tool_time'],
|
||||||
|
"C_tool_time": item['C_tool_time'],
|
||||||
|
"jg_image_id": jg_image_id.ids,
|
||||||
|
"lq_image_id": lq_image_id.ids,
|
||||||
|
|
||||||
|
})
|
||||||
|
else:
|
||||||
|
raise ValidationError("机床型号认证未通过")
|
||||||
|
|
||||||
|
# 同步所有机床型号
|
||||||
|
def sync_all_machine_tool_type(self):
|
||||||
|
config = self.env['res.config.settings'].get_values()
|
||||||
|
headers = Common.get_headers(self, config['token'], config['sf_secret_key'])
|
||||||
|
strUrl = config['sf_url'] + self.url
|
||||||
|
r = requests.post(strUrl, json={}, data=None, headers=headers)
|
||||||
|
r = r.json()
|
||||||
|
result = json.loads(r['result'])
|
||||||
|
if result['status'] == 1:
|
||||||
|
for item in result['machine_tool_type_all_list']:
|
||||||
|
if item.get('machine_tool_picture'):
|
||||||
|
image = base64.b64decode(item['machine_tool_picture'])
|
||||||
|
else:
|
||||||
|
image = ''
|
||||||
|
taper_type_id = self.env['spindle.taper.type'].search([('name', '=', item['taper_type_id'])])
|
||||||
|
if not taper_type_id:
|
||||||
|
taper_type_id = self.env['spindle.taper.type'].create({
|
||||||
|
'name': item['taper_type_id']
|
||||||
|
})
|
||||||
|
|
||||||
|
machine_tool_type = self.search([("code", '=', item['code'])])
|
||||||
|
control_system = self.env['sf.machine.control_system'].search(
|
||||||
|
[('code', '=', item['control_system_id'])])
|
||||||
|
brand = self.env['sf.machine.brand'].search([('code', '=', item['brand_id'])])
|
||||||
|
jg_image_id = self.env['maintenance.equipment.image'].search([('name', 'in', item['jg_image_id'])])
|
||||||
|
lq_image_id = self.env['maintenance.equipment.image'].search([('name', 'in', item['lq_image_id'])])
|
||||||
|
category = self.env['sf.machine_tool.category'].search([('code', '=', item['machine_tool_category'])])
|
||||||
|
|
||||||
|
if not machine_tool_type:
|
||||||
|
self.create({
|
||||||
|
'code': item['code'],
|
||||||
|
"name": item['name'],
|
||||||
|
"number_of_knife_library": item['number_of_knife_library'],
|
||||||
|
"rotate_speed": item['rotate_speed'],
|
||||||
|
"number_of_axles": item['number_of_axles'],
|
||||||
|
"x_axis": item['x_axis'],
|
||||||
|
"y_axis": item['y_axis'],
|
||||||
|
"z_axis": item['z_axis'],
|
||||||
|
"b_axis": item['b_axis'],
|
||||||
|
"knife_type": item['knife_type'],
|
||||||
|
"c_axis": item['c_axis'],
|
||||||
|
"remark": item['remark'],
|
||||||
|
# "precision_min": item['precision_min'],
|
||||||
|
# "precision_max": item['precision_max'],
|
||||||
|
'control_system_id': control_system.id,
|
||||||
|
"active": item['active'],
|
||||||
|
'brand_id': brand.id,
|
||||||
|
'machine_tool_picture': image,
|
||||||
|
"heightened_way": item['heightened_way'],
|
||||||
|
"workpiece_load": item['workpiece_load'],
|
||||||
|
#"lead_screw": item['lead_screw'],
|
||||||
|
"workbench_L": item['workbench_L'],
|
||||||
|
"workbench_W": item['workbench_W'],
|
||||||
|
#"guide_rail": item['guide_rail'],
|
||||||
|
"machine_tool_L": item['machine_tool_L'],
|
||||||
|
"machine_tool_W": item['machine_tool_W'],
|
||||||
|
"machine_tool_H": item['machine_tool_H'],
|
||||||
|
#"feed_speed": item['feed_speed'],
|
||||||
|
#"tool_speed": item['tool_speed'],
|
||||||
|
"distance_min": item['distance_min'],
|
||||||
|
"distance_max": item['distance_max'],
|
||||||
|
#"taper": item['taper'],
|
||||||
|
#"torque": item['torque'],
|
||||||
|
#"motor_power": item['motor_power'],
|
||||||
|
"tool_quality_max": item['tool_quality_max'],
|
||||||
|
"tool_long_max": item['tool_long_max'],
|
||||||
|
#"tool_diameter_max": item['tool_diameter_max'],
|
||||||
|
#"tool_diameter_min": item['tool_diameter_min'],
|
||||||
|
"machine_tool_category": category.id,
|
||||||
|
'taper_type_id': taper_type_id.id,
|
||||||
|
"function_type": item['function_type'],
|
||||||
|
"a_axis": item['a_axis'],
|
||||||
|
"T_trough_num": item['T_trough_num'],
|
||||||
|
"T_trough_wide": item['T_trough_wide'],
|
||||||
|
"T_trough_distance": item['T_trough_distance'],
|
||||||
|
"spindle_center_distance": item['spindle_center_distance'],
|
||||||
|
"spindle_continuous_power": item['spindle_continuous_power'],
|
||||||
|
"spindle_peak_power": item['spindle_peak_power'],
|
||||||
|
"spindle_sustained_torque": item['spindle_sustained_torque'],
|
||||||
|
"spindle_peak_torque": item['spindle_peak_torque'],
|
||||||
|
"linear_axis_guides_type": item['linear_axis_guides_type'],
|
||||||
|
"axis_driven_type": item['axis_driven_type'],
|
||||||
|
"X_axis_rapid_traverse_speed": item['X_axis_rapid_traverse_speed'],
|
||||||
|
"Y_axis_rapid_traverse_speed": item['Y_axis_rapid_traverse_speed'],
|
||||||
|
"Z_axis_rapid_traverse_speed": item['Z_axis_rapid_traverse_speed'],
|
||||||
|
"a_axis_rapid_traverse_speed": item['a_axis_rapid_traverse_speed'],
|
||||||
|
"b_axis_rapid_traverse_speed": item['b_axis_rapid_traverse_speed'],
|
||||||
|
"c_axis_rapid_traverse_speed": item['c_axis_rapid_traverse_speed'],
|
||||||
|
"straight_cutting_feed_rate": item['straight_cutting_feed_rate'],
|
||||||
|
"rotary_cutting_feed_rate": item['rotary_cutting_feed_rate'],
|
||||||
|
"X_precision": item['X_precision'],
|
||||||
|
"X_precision_repeat": item['X_precision_repeat'],
|
||||||
|
"Y_precision": item['Y_precision'],
|
||||||
|
"Y_precision_repeat": item['Y_precision_repeat'],
|
||||||
|
"Z_precision": item['Z_precision'],
|
||||||
|
"Z_precision_repeat": item['Z_precision_repeat'],
|
||||||
|
"a_precision": item['a_precision'],
|
||||||
|
"a_precision_repeat": item['a_precision_repeat'],
|
||||||
|
"b_precision": item['b_precision'],
|
||||||
|
"b_precision_repeat": item['b_precision_repeat'],
|
||||||
|
"c_precision": item['c_precision'],
|
||||||
|
"c_precision_repeat": item['c_precision_repeat'],
|
||||||
|
"tool_full_diameter_max": item['tool_full_diameter_max'],
|
||||||
|
"tool_perimeter_diameter_max": item['tool_perimeter_diameter_max'],
|
||||||
|
"T_tool_time": item['T_tool_time'],
|
||||||
|
"C_tool_time": item['C_tool_time'],
|
||||||
|
"jg_image_id": jg_image_id.ids,
|
||||||
|
"lq_image_id": lq_image_id.ids,
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
else:
|
||||||
|
machine_tool_type.update({
|
||||||
|
'code': item['code'],
|
||||||
"name": item['name'],
|
"name": item['name'],
|
||||||
"number_of_knife_library": item['number_of_knife_library'],
|
"number_of_knife_library": item['number_of_knife_library'],
|
||||||
"rotate_speed": item['rotate_speed'],
|
"rotate_speed": item['rotate_speed'],
|
||||||
|
|||||||
Reference in New Issue
Block a user