Accept Merge Request #859: (feature/修改机床参数bug -> develop)

Merge Request: 修改定时同步接口,机床参数

Created By: @龚启豪
Reviewed By: @马广威
Approved By: @马广威 
Accepted By: @龚启豪
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/859?initial=true
This commit is contained in:
龚启豪
2024-02-26 17:12:03 +08:00
committed by Coding
4 changed files with 670 additions and 641 deletions

View File

@@ -98,6 +98,7 @@
<field name="name" string="名称"/>
<field name="machine_tool_category"/>
<field name="brand_id"/>
<field name="function_type"/>
<field name="machine_tool_picture" widget="image"/>
<field name="remark"/>
</tree>
@@ -122,6 +123,7 @@
domain="[('tag_ids', '=', '机床')]"
options="{'no_create': True}"/>
<field name="machine_tool_category" required="1"/>
<field name="function_type" required="1"/>
</group>
<group>
<field name="machine_tool_picture" widget="image" nolabel="1"/>

View File

@@ -566,7 +566,8 @@ class SfMaintenanceEquipment(models.Model):
'tool_perimeter_diameter_max': item.tool_perimeter_diameter_max,
'T_tool_time': item.T_tool_time,
'C_tool_time': item.C_tool_time,
'jiancheng': item.category_id.equipment_type_code
'jiancheng': item.category_id.equipment_type_code,
'function_type': item.function_type,
}
machine_tool_list.append(val)
# kw = machine_tool_list

View File

@@ -56,7 +56,9 @@
<field name="MTcode"/>
</xpath>
<xpath expr="//field[@name='category_id']" position="after">
<field name="state_zc" readonly="1"/>
<field name="function_type"/>
<field name="code" readonly="1"/>
<field name="equipment_type" invisible="1"/>
<field name="brand_id" force_save="1"/>
@@ -167,6 +169,30 @@
options="{'format': false}"/>
</div>
</group>
<group string="刀具">
<!-- <field name="knife_type" required="1"/>-->
<field name="number_of_knife_library"
attrs="{'required': [('equipment_type', '=', '机床')]}"
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>&amp;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="taper_type_id" attrs="{'required': [('equipment_type', '=', '机床')]}"/>
<label for="distance_min" string="主轴端面-工作台距离(mm)"/>
@@ -192,40 +218,8 @@
<!-- <field name="distance" required="1"/>-->
</group>
<group string="刀具">
<!-- <field name="knife_type" required="1"/>-->
<field name="number_of_knife_library"
attrs="{'required': [('equipment_type', '=', '机床')]}"
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>&amp;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"/>
@@ -240,6 +234,16 @@
<field name="c_precision"/>
<field name="c_precision_repeat"/>
</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>

View File

@@ -91,20 +91,21 @@ class sfProductionMaterials(models.Model):
result = json.loads(r['result'])
if result['status'] == 1:
for item in result['production_materials_yesterday_list']:
for item in result['production_materials_all_list']:
if item:
materials = self.search(
[("materials_no", '=', item['materials_no'], ('active', 'in', [True, False]))])
if materials:
materials.name = item['name']
materials.remark = item['remark']
materials.active = item['active']
else:
[("materials_no", '=', item['materials_no']), ('active', 'in', [True, False])])
if not materials:
self.create({
"name": item['name'],
"materials_no": item['materials_no'],
"remark": item['remark'],
"active": item['active'],
})
else:
materials.name = item['name']
materials.remark = item['remark']
materials.active = item['active']
else:
raise ValidationError("材料认证未通过")
@@ -822,9 +823,9 @@ class MachineToolType(models.Model):
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'])])
jg_image_id = self.env['maintenance.equipment.image'].search([('name', 'in', item['jg_image_id'])]).ids
lq_image_id = self.env['maintenance.equipment.image'].search([('name', 'in', item['lq_image_id'])]).ids
category = self.env['sf.machine_tool.category'].search([('code', '=', item['machine_tool_category']), ('active', '=', True)], limit=1)
if not machine_tool_type:
self.create({
@@ -904,8 +905,8 @@ class MachineToolType(models.Model):
"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,
"jg_image_id": jg_image_id,
"lq_image_id": lq_image_id,
})
else:
@@ -986,8 +987,9 @@ class MachineToolType(models.Model):
"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,
"jg_image_id": jg_image_id,
"lq_image_id": lq_image_id,
})
else:
@@ -2437,6 +2439,7 @@ class CuttingToolBasicParameters(models.Model):
result = json.loads(r['result'])
if result['status'] == 1:
if 'basic_parameters_integral_tool' in result['cutting_tool_basic_parameters_all_list']:
if result['cutting_tool_basic_parameters_all_list']['basic_parameters_integral_tool']:
basic_parameters_integral_tool_list = json.loads(
result['cutting_tool_basic_parameters_all_list']['basic_parameters_integral_tool'])
if basic_parameters_integral_tool_list:
@@ -2449,7 +2452,8 @@ class CuttingToolBasicParameters(models.Model):
'code': integral_tool_item['code'],
'cutting_tool_type': '整体式刀具',
'standard_library_id': self.env['sf.cutting_tool.standard.library'].search(
[('code', '=', integral_tool_item['standard_library_code'].replace("JKM", result[
[(
'code', '=', integral_tool_item['standard_library_code'].replace("JKM", result[
'factory_short_name']))]).id,
'total_length': integral_tool_item['total_length'],
'blade_diameter': integral_tool_item['blade_diameter'],
@@ -2491,6 +2495,7 @@ class CuttingToolBasicParameters(models.Model):
'active': integral_tool_item['active'],
})
if 'basic_parameters_blade' in result['cutting_tool_basic_parameters_all_list']:
if result['cutting_tool_basic_parameters_all_list']['basic_parameters_blade']:
basic_parameters_blade_list = json.loads(
result['cutting_tool_basic_parameters_all_list']['basic_parameters_blade'])
if basic_parameters_blade_list:
@@ -2521,7 +2526,8 @@ class CuttingToolBasicParameters(models.Model):
'blade_width': blade_item['blade_width'],
'main_included_angle': blade_item['edge_angle'],
'top_angle': blade_item['top_angle'],
'thread_model': '' if not blade_item['thread_type'] else blade_item['thread_type'],
'thread_model': '' if not blade_item['thread_type'] else blade_item[
'thread_type'],
'thread_num': blade_item['threads_per_inch'],
'blade_tip_height_tolerance': blade_item['tip_height_tolerance'],
'inscribed_circle_tolerance': blade_item['internal_circle_tolerance'],
@@ -2530,7 +2536,7 @@ class CuttingToolBasicParameters(models.Model):
})
else:
self.write({
'name': integral_tool_item['name'],
'name': blade_item['name'],
'length': blade_item['length'],
'thickness': blade_item['thickness'],
'cutting_blade_length': blade_item['cutting_blade_length'],
@@ -2548,7 +2554,8 @@ class CuttingToolBasicParameters(models.Model):
'blade_width': blade_item['blade_width'],
'main_included_angle': blade_item['edge_angle'],
'top_angle': blade_item['top_angle'],
'thread_model': '' if not blade_item['thread_type'] else blade_item['thread_type'],
'thread_model': '' if not blade_item['thread_type'] else blade_item[
'thread_type'],
'thread_num': blade_item['threads_per_inch'],
'blade_tip_height_tolerance': blade_item['tip_height_tolerance'],
'inscribed_circle_tolerance': blade_item['internal_circle_tolerance'],
@@ -2556,6 +2563,7 @@ class CuttingToolBasicParameters(models.Model):
'active': blade_item['active'],
})
if 'basic_parameters_chuck' in result['cutting_tool_basic_parameters_all_list']:
if result['cutting_tool_basic_parameters_all_list']['basic_parameters_chuck']:
basic_parameters_chuck_list = json.loads(
result['cutting_tool_basic_parameters_all_list']['basic_parameters_chuck'])
if basic_parameters_chuck_list:
@@ -2585,7 +2593,7 @@ class CuttingToolBasicParameters(models.Model):
})
else:
self.write({
'name': integral_tool_item['name'],
'name': chuck_item['name'],
'er_size_model': chuck_item['size_model'],
'min_clamping_diameter': chuck_item['clamping_diameter_min'],
'max_clamping_diameter': chuck_item['clamping_diameter_max'],
@@ -2601,6 +2609,7 @@ class CuttingToolBasicParameters(models.Model):
'active': chuck_item['active'],
})
if 'basic_parameters_cutter_arbor' in result['cutting_tool_basic_parameters_all_list']:
if result['cutting_tool_basic_parameters_all_list']['basic_parameters_cutter_arbor']:
basic_parameters_cutter_arbor_list = json.loads(
result['cutting_tool_basic_parameters_all_list']['basic_parameters_cutter_arbor'])
if basic_parameters_cutter_arbor_list:
@@ -2671,6 +2680,7 @@ class CuttingToolBasicParameters(models.Model):
'active': cutter_arbor_item['active'],
})
if 'basic_parameters_cutter_head' in result['cutting_tool_basic_parameters_all_list']:
if result['cutting_tool_basic_parameters_all_list']['basic_parameters_cutter_head']:
basic_parameters_cutter_head_list = json.loads(
result['cutting_tool_basic_parameters_all_list']['basic_parameters_cutter_head'])
if basic_parameters_cutter_head_list:
@@ -2727,6 +2737,7 @@ class CuttingToolBasicParameters(models.Model):
'active': cutter_head_item['active'],
})
if 'basic_parameters_knife_handle' in result['cutting_tool_basic_parameters_all_list']:
if result['cutting_tool_basic_parameters_all_list']['basic_parameters_knife_handle']:
basic_parameters_knife_handle_list = json.loads(
result['cutting_tool_basic_parameters_all_list']['basic_parameters_knife_handle'])
if basic_parameters_knife_handle_list:
@@ -2796,6 +2807,7 @@ class CuttingToolBasicParameters(models.Model):
result = json.loads(r['result'])
if result['status'] == 1:
if 'basic_parameters_integral_tool' in result['cutting_tool_basic_parameters_yesterday_list']:
if result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_integral_tool']:
basic_parameters_integral_tool_list = json.loads(
result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_integral_tool'])
if basic_parameters_integral_tool_list:
@@ -2808,7 +2820,8 @@ class CuttingToolBasicParameters(models.Model):
'code': integral_tool_item['code'],
'cutting_tool_type': '整体式刀具',
'standard_library_id': self.env['sf.cutting_tool.standard.library'].search(
[('code', '=', integral_tool_item['standard_library_code'].replace("JKM", result[
[(
'code', '=', integral_tool_item['standard_library_code'].replace("JKM", result[
'factory_short_name']))]).id,
'total_length': integral_tool_item['total_length'],
'blade_diameter': integral_tool_item['blade_diameter'],
@@ -2853,6 +2866,7 @@ class CuttingToolBasicParameters(models.Model):
'active': integral_tool_item['active'],
})
if 'basic_parameters_blade' in result['cutting_tool_basic_parameters_yesterday_list']:
if result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_blade']:
basic_parameters_blade_list = json.loads(
result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_blade'])
if basic_parameters_blade_list:
@@ -2883,7 +2897,8 @@ class CuttingToolBasicParameters(models.Model):
'blade_width': blade_item['blade_width'],
'main_included_angle': blade_item['edge_angle'],
'top_angle': blade_item['top_angle'],
'thread_model': '' if not blade_item['thread_type'] else blade_item['thread_type'],
'thread_model': '' if not blade_item['thread_type'] else blade_item[
'thread_type'],
'thread_num': blade_item['threads_per_inch'],
'blade_tip_height_tolerance': blade_item['tip_height_tolerance'],
'inscribed_circle_tolerance': blade_item['internal_circle_tolerance'],
@@ -2921,6 +2936,7 @@ class CuttingToolBasicParameters(models.Model):
'thickness_tolerance': blade_item['thickness_tolerance'],
})
if 'basic_parameters_chuck' in result['cutting_tool_basic_parameters_yesterday_list']:
if result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_chuck']:
basic_parameters_chuck_list = json.loads(
result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_chuck'])
if basic_parameters_chuck_list:
@@ -2968,6 +2984,7 @@ class CuttingToolBasicParameters(models.Model):
'cooling_jacket': chuck_item['cooling_sleeve_model'],
})
if 'basic_parameters_cutter_arbor' in result['cutting_tool_basic_parameters_yesterday_list']:
if result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_cutter_arbor']:
basic_parameters_cutter_arbor_list = json.loads(
result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_cutter_arbor'])
if basic_parameters_cutter_arbor_list:
@@ -3029,9 +3046,11 @@ class CuttingToolBasicParameters(models.Model):
'is_cooling_hole': cutter_arbor_item['is_cooling_hole'],
'locating_slot_code': cutter_arbor_item['locator_slot_code'],
'installing_structure': cutter_arbor_item['mounting_structure'],
'blade_id': False if not cutter_arbor_item['fit_blade_model_code'] else self.env[
'blade_id': False if not cutter_arbor_item['fit_blade_model_code'] else
self.env[
'sf.cutting_tool.standard.library'].search(
[('code', '=', cutter_arbor_item['fit_blade_model_code'].replace("JKM", result[
[('code', '=',
cutter_arbor_item['fit_blade_model_code'].replace("JKM", result[
'factory_short_name']))]).id,
'tool_shim': cutter_arbor_item['fit_knife_pad_model'],
'cotter_pin': cutter_arbor_item['fit_pin_model'],
@@ -3040,6 +3059,7 @@ class CuttingToolBasicParameters(models.Model):
'spanner': cutter_arbor_item['fit_wrench_model'],
})
if 'basic_parameters_cutter_head' in result['cutting_tool_basic_parameters_yesterday_list']:
if result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_cutter_head']:
basic_parameters_cutter_head_list = json.loads(
result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_cutter_head'])
if basic_parameters_cutter_head_list:
@@ -3090,7 +3110,8 @@ class CuttingToolBasicParameters(models.Model):
'installing_structure': cutter_head_item['mounting_structure'],
'blade_id': False if not cutter_head_item['fit_blade_model_code'] else self.env[
'sf.cutting_tool.standard.library'].search(
[('code', '=', cutter_head_item['fit_blade_model_code'].replace("JKM", result[
[('code', '=',
cutter_head_item['fit_blade_model_code'].replace("JKM", result[
'factory_short_name']))]).id,
'screw': cutter_head_item['fit_screw_model'],
'spanner': cutter_head_item['fit_wrench_model'],
@@ -3098,6 +3119,7 @@ class CuttingToolBasicParameters(models.Model):
'locating_slot_code': cutter_head_item['locator_slot_code'],
})
if 'basic_parameters_knife_handle' in result['cutting_tool_basic_parameters_yesterday_list']:
if result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_knife_handle']:
basic_parameters_knife_handle_list = json.loads(
result['cutting_tool_basic_parameters_yesterday_list']['basic_parameters_knife_handle'])
if basic_parameters_knife_handle_list: