Merge branch 'develop' of https://e.coding.net/jikimo-hn/jikimo_sfs/jikimo_sf into feature/制造代码优化

This commit is contained in:
mgw
2024-02-19 14:36:13 +08:00
12 changed files with 833 additions and 915 deletions

View File

@@ -31,6 +31,10 @@ access_sf_cutting_tool_material,sf_cutting_tool_material,model_sf_cutting_tool_m
access_sf_cutting_tool_material_admin,sf_cutting_tool_material_admin,model_sf_cutting_tool_material,base.group_system,1,1,1,0 access_sf_cutting_tool_material_admin,sf_cutting_tool_material_admin,model_sf_cutting_tool_material,base.group_system,1,1,1,0
access_sf_cutting_tool_type,sf_cutting_tool_type,model_sf_cutting_tool_type,base.group_user,1,1,1,0 access_sf_cutting_tool_type,sf_cutting_tool_type,model_sf_cutting_tool_type,base.group_user,1,1,1,0
access_sf_cutting_tool_type_admin,sf_cutting_tool_type_admin,model_sf_cutting_tool_type,base.group_system,1,1,1,0 access_sf_cutting_tool_type_admin,sf_cutting_tool_type_admin,model_sf_cutting_tool_type,base.group_system,1,1,1,0
access_sf_cutting_tool_type_group_purchase_director,sf_cutting_tool_type_group_purchase_director,model_sf_cutting_tool_type,sf_base.group_purchase_director,1,1,0,0
access_sf_cutting_tool_type_group_sale_director,sf_cutting_tool_type_group_sale_director,model_sf_cutting_tool_type,sf_base.group_sale_director,1,1,0,0
access_sf_cutting_tool_type_group_plan_director,sf_cutting_tool_type_group_plan_director,model_sf_cutting_tool_type,sf_base.group_plan_director,1,1,0,0
access_sf_functional_cutting_tool,sf_functional_cutting_tool,model_sf_functional_cutting_tool,base.group_user,1,1,1,0 access_sf_functional_cutting_tool,sf_functional_cutting_tool,model_sf_functional_cutting_tool,base.group_user,1,1,1,0
access_sf_functional_cutting_tool_admin,sf_functional_cutting_tool_admin,model_sf_functional_cutting_tool,base.group_system,1,1,1,0 access_sf_functional_cutting_tool_admin,sf_functional_cutting_tool_admin,model_sf_functional_cutting_tool,base.group_system,1,1,1,0
access_sf_functional_cutting_tool_model,sf_functional_cutting_tool_model,model_sf_functional_cutting_tool_model,base.group_user,1,1,1,0 access_sf_functional_cutting_tool_model,sf_functional_cutting_tool_model,model_sf_functional_cutting_tool_model,base.group_user,1,1,1,0
@@ -59,12 +63,12 @@ access_sf_tool_materials_basic_parameters,sf_tool_materials_basic_parameters,mod
access_sf_tool_materials_basic_parameters_admin,sf_tool_materials_basic_parameters_admin,model_sf_tool_materials_basic_parameters,base.group_system,1,1,1,0 access_sf_tool_materials_basic_parameters_admin,sf_tool_materials_basic_parameters_admin,model_sf_tool_materials_basic_parameters,base.group_system,1,1,1,0
access_sf_cutting_speed,sf_cutting_speed,model_sf_cutting_speed,base.group_user,1,1,1,0 access_sf_cutting_speed,sf_cutting_speed,model_sf_cutting_speed,base.group_user,1,1,1,0
access_sf_cutting_speed_admin,sf_cutting_speed_admin,model_sf_cutting_speed,base.group_system,1,1,1,0 access_sf_cutting_speed_admin,sf_cutting_speed_admin,model_sf_cutting_speed,base.group_system,1,1,1,0
access_sf_cutting_speed_group_purchase_director,sf_cutting_speed_group_purchase_director,model_sf_cutting_speed,sf_base.group_purchase_director,1,0,1,0 access_sf_cutting_speed_group_purchase_director,sf_cutting_speed_group_purchase_director,model_sf_cutting_speed,sf_base.group_purchase_director,1,1,1,0
access_sf_cutting_speed_group_sale_director,sf_cutting_speed_group_sale_director,model_sf_cutting_speed,sf_base.group_sale_director,1,0,1,0 access_sf_cutting_speed_group_sale_director,sf_cutting_speed_group_sale_director,model_sf_cutting_speed,sf_base.group_sale_director,1,1,1,0
access_sf_cutting_speed_group_plan_director,sf_cutting_speed_group_plan_director,model_sf_cutting_speed,sf_base.group_plan_director,1,0,1,0 access_sf_cutting_speed_group_plan_director,sf_cutting_speed_group_plan_director,model_sf_cutting_speed,sf_base.group_plan_director,1,1,1,0
access_sf_feed_per_tooth_group_purchase_director,sf_feed_per_tooth_group_purchase_director,model_sf_feed_per_tooth,sf_base.group_purchase_director,1,0,1,0 access_sf_feed_per_tooth_group_purchase_director,sf_feed_per_tooth_group_purchase_director,model_sf_feed_per_tooth,sf_base.group_purchase_director,1,1,0,0
access_sf_feed_per_tooth_group_sale_director,sf_feed_per_tooth_group_sale_director,model_sf_feed_per_tooth,sf_base.group_sale_director,1,0,1,0 access_sf_feed_per_tooth_group_sale_director,sf_feed_per_tooth_group_sale_director,model_sf_feed_per_tooth,sf_base.group_sale_director,1,1,0,0
access_sf_feed_per_tooth_group_plan_director,sf_feed_per_tooth_group_plan_director,model_sf_feed_per_tooth,sf_base.group_plan_director,1,0,1,0 access_sf_feed_per_tooth_group_plan_director,sf_feed_per_tooth_group_plan_director,model_sf_feed_per_tooth,sf_base.group_plan_director,1,1,0,0
access_sf_feed_per_tooth,sf_feed_per_tooth,model_sf_feed_per_tooth,base.group_user,1,1,1,0 access_sf_feed_per_tooth,sf_feed_per_tooth,model_sf_feed_per_tooth,base.group_user,1,1,1,0
access_sf_feed_per_tooth_admin,sf_feed_per_tooth_admin,model_sf_feed_per_tooth,base.group_system,1,1,1,0 access_sf_feed_per_tooth_admin,sf_feed_per_tooth_admin,model_sf_feed_per_tooth,base.group_system,1,1,1,0
access_sf_ramping_angle,sf_ramping_angle,model_sf_ramping_angle,base.group_user,1,1,1,1 access_sf_ramping_angle,sf_ramping_angle,model_sf_ramping_angle,base.group_user,1,1,1,1
@@ -74,12 +78,21 @@ access_sf_cutting_width_depth_admin,sf_cutting_width_depth_admin,model_sf_cuttin
access_sf_machine_tool,sf_machine_tool,model_sf_machine_tool,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_machine_tool,sf_machine_tool,model_sf_machine_tool,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_machine_tool_type,sf_machine_tool_type,model_sf_machine_tool_type,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_machine_tool_type,sf_machine_tool_type,model_sf_machine_tool_type,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_machine_brand,sf_machine_brand,model_sf_machine_brand,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_machine_brand,sf_machine_brand,model_sf_machine_brand,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_machine_brand_group_plan_director,sf_machine_brand_group_plan_director,model_sf_machine_brand,sf_base.group_plan_director,1,0,0,0
access_sf_machine_brand_group_purchase_director,sf_machine_brand_group_purchase_director,model_sf_machine_brand,sf_base.group_purchase_director,1,0,0,0
access_sf_machine_brand_group_sale_director,sf_machine_brand_group_sale_director,model_sf_machine_brand,sf_base.group_sale_director,1,0,0,0
access_sf_machine_brand_tags,sf_machine_brand_tags,model_sf_machine_brand_tags,base.group_user,1,1,1,1 access_sf_machine_brand_tags,sf_machine_brand_tags,model_sf_machine_brand_tags,base.group_user,1,1,1,1
access_sf_machine_control_system,sf_machine_control_system,model_sf_machine_control_system,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_machine_control_system,sf_machine_control_system,model_sf_machine_control_system,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_processing_order,sf_processing_order,model_sf_processing_order,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_processing_order,sf_processing_order,model_sf_processing_order,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_production_process,sf_production_process,model_sf_production_process,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_production_process,sf_production_process,model_sf_production_process,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_production_materials,sf_production_materials,model_sf_production_materials,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_production_materials,sf_production_materials,model_sf_production_materials,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_production_materials_group_plan_director,sf_production_materials_group_plan_director,model_sf_production_materials,sf_base.group_plan_director,1,1,0,0
access_sf_production_materials_group_purchase_director,sf_production_materials_group_purchase_director,model_sf_production_materials,sf_base.group_purchase_director,1,1,0,0
access_sf_production_materials_group_sale_director,sf_production_materials_group_sale_director,model_sf_production_materials,sf_base.group_sale_director,1,1,0,0
access_sf_materials_model,sf_materials_model,model_sf_materials_model,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_materials_model,sf_materials_model,model_sf_materials_model,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_materials_model_group_plan_director,sf_materials_model_group_plan_director,model_sf_materials_model,sf_base.group_plan_director,1,0,0,0
access_sf_materials_model_group_purchase_director,sf_materials_model_group_purchase_director,model_sf_materials_model,sf_base.group_purchase_director,1,0,0,0
access_sf_materials_model_group_sale_director,sf_materials_model_group_sale_director,model_sf_materials_model,sf_base.group_sale_director,1,0,0,0
access_sf_processing_technology,sf_processing_technology,model_sf_processing_technology,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_processing_technology,sf_processing_technology,model_sf_processing_technology,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_supplier_sort,sf_supplier_sort,model_sf_supplier_sort,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_supplier_sort,sf_supplier_sort,model_sf_supplier_sort,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_production_process_parameter,sf_production_process_parameter,model_sf_production_process_parameter,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_production_process_parameter,sf_production_process_parameter,model_sf_production_process_parameter,sf_base.group_sf_mrp_user,1,0,0,0
@@ -112,9 +125,16 @@ access_sf_tool_materials_basic_parameters_group_plan_director,sf_tool_materials_
access_sf_tool_materials_basic_parameters_group_purchase_director,sf_tool_materials_basic_parameters_group_purchase_director,model_sf_tool_materials_basic_parameters,sf_base.group_purchase_director,1,0,1,0 access_sf_tool_materials_basic_parameters_group_purchase_director,sf_tool_materials_basic_parameters_group_purchase_director,model_sf_tool_materials_basic_parameters,sf_base.group_purchase_director,1,0,1,0
access_sf_cutting_speed,sf_cutting_speed,model_sf_cutting_speed,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_cutting_speed,sf_cutting_speed,model_sf_cutting_speed,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_cutting_speed_group_purchase,sf_cutting_speed_group_purchase,model_sf_cutting_speed,sf_base.group_purchase,1,0,0,0
access_sf_cutting_speed_group_sale_salemanager,sf_cutting_speed_group_sale_salemanager,model_sf_cutting_speed,sf_base.group_sale_salemanager,1,0,0,0
access_sf_feed_per_tooth,sf_feed_per_tooth,model_sf_feed_per_tooth,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_feed_per_tooth,sf_feed_per_tooth,model_sf_feed_per_tooth,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_feed_per_tooth_group_purchase,sf_feed_per_tooth_group_purchase,model_sf_feed_per_tooth,sf_base.group_purchase,1,0,0,0
access_sf_ramping_angle,sf_ramping_angle,model_sf_ramping_angle,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_ramping_angle,sf_ramping_angle,model_sf_ramping_angle,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_ramping_angle_group_purchase,sf_ramping_angle_group_purchase,model_sf_ramping_angle,sf_base.group_purchase,1,0,0,0
access_sf_cutting_width_depth,sf_cutting_width_depth,model_sf_cutting_width_depth,sf_base.group_sf_mrp_user,1,0,0,0 access_sf_cutting_width_depth,sf_cutting_width_depth,model_sf_cutting_width_depth,sf_base.group_sf_mrp_user,1,0,0,0
access_sf_cutting_width_depth_group_purchase,sf_cutting_width_depth_group_purchase,model_sf_cutting_width_depth,sf_base.group_purchase,1,0,0,0
access_maintenance_equipment_image,maintenance_equipment_image,model_maintenance_equipment_image,base.group_user,1,1,1,1 access_maintenance_equipment_image,maintenance_equipment_image,model_maintenance_equipment_image,base.group_user,1,1,1,1
access_purchase_order_group_purchase,access_purchase_order_group_purchase,purchase.model_purchase_order,sf_base.group_purchase,1,1,1,0 access_purchase_order_group_purchase,access_purchase_order_group_purchase,purchase.model_purchase_order,sf_base.group_purchase,1,1,1,0
@@ -154,12 +174,6 @@ access_sf_functional_cutting_tool,sf_functional_cutting_tool,model_sf_functional
access_sf_functional_cutting_tool_model,sf_functional_cutting_tool_model,model_sf_functional_cutting_tool_model,sf_base.group_sf_mrp_user,1,1,0,0 access_sf_functional_cutting_tool_model,sf_functional_cutting_tool_model,model_sf_functional_cutting_tool_model,sf_base.group_sf_mrp_user,1,1,0,0
access_sf_fixture_material,sf_fixture_material,model_sf_fixture_material,sf_base.group_sf_mrp_user,1,1,0,0 access_sf_fixture_material,sf_fixture_material,model_sf_fixture_material,sf_base.group_sf_mrp_user,1,1,0,0
access_sf_fixture_materials_basic_parameters,sf_fixture_materials_basic_parameters,model_sf_fixture_materials_basic_parameters,sf_base.group_sf_mrp_user,1,1,0,0 access_sf_fixture_materials_basic_parameters,sf_fixture_materials_basic_parameters,model_sf_fixture_materials_basic_parameters,sf_base.group_sf_mrp_user,1,1,0,0
access_mrp_production_group_sale_salemanager,mrp_production_group_sale_salemanager,mrp.model_mrp_production,sf_base.group_sale_salemanager,1,0,0,0
access_mrp_production_group_sale_director,mrp_production_group_sale_director,mrp.model_mrp_production,sf_base.group_sale_director,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
31 access_sf_cutting_tool_material_admin sf_cutting_tool_material_admin model_sf_cutting_tool_material base.group_system 1 1 1 0
32 access_sf_cutting_tool_type sf_cutting_tool_type model_sf_cutting_tool_type base.group_user 1 1 1 0
33 access_sf_cutting_tool_type_admin sf_cutting_tool_type_admin model_sf_cutting_tool_type base.group_system 1 1 1 0
34 access_sf_cutting_tool_type_group_purchase_director sf_cutting_tool_type_group_purchase_director model_sf_cutting_tool_type sf_base.group_purchase_director 1 1 0 0
35 access_sf_cutting_tool_type_group_sale_director sf_cutting_tool_type_group_sale_director model_sf_cutting_tool_type sf_base.group_sale_director 1 1 0 0
36 access_sf_cutting_tool_type_group_plan_director sf_cutting_tool_type_group_plan_director model_sf_cutting_tool_type sf_base.group_plan_director 1 1 0 0
37 access_sf_functional_cutting_tool sf_functional_cutting_tool model_sf_functional_cutting_tool base.group_user 1 1 1 0
38 access_sf_functional_cutting_tool access_sf_functional_cutting_tool_admin sf_functional_cutting_tool sf_functional_cutting_tool_admin model_sf_functional_cutting_tool base.group_user base.group_system 1 1 1 0
39 access_sf_functional_cutting_tool_admin access_sf_functional_cutting_tool_model sf_functional_cutting_tool_admin sf_functional_cutting_tool_model model_sf_functional_cutting_tool model_sf_functional_cutting_tool_model base.group_system base.group_user 1 1 1 0
40 access_sf_functional_cutting_tool_model access_sf_functional_cutting_tool_model_admin sf_functional_cutting_tool_model sf_functional_cutting_tool_model_admin model_sf_functional_cutting_tool_model base.group_user base.group_system 1 1 1 0
63 access_sf_tool_materials_basic_parameters_admin access_sf_cutting_speed sf_tool_materials_basic_parameters_admin sf_cutting_speed model_sf_tool_materials_basic_parameters model_sf_cutting_speed base.group_system base.group_user 1 1 1 0
64 access_sf_cutting_speed access_sf_cutting_speed_admin sf_cutting_speed sf_cutting_speed_admin model_sf_cutting_speed base.group_user base.group_system 1 1 1 0
65 access_sf_cutting_speed_admin access_sf_cutting_speed_group_purchase_director sf_cutting_speed_admin sf_cutting_speed_group_purchase_director model_sf_cutting_speed base.group_system sf_base.group_purchase_director 1 1 1 0
66 access_sf_cutting_speed_group_purchase_director access_sf_cutting_speed_group_sale_director sf_cutting_speed_group_purchase_director sf_cutting_speed_group_sale_director model_sf_cutting_speed sf_base.group_purchase_director sf_base.group_sale_director 1 0 1 1 0
67 access_sf_cutting_speed_group_sale_director access_sf_cutting_speed_group_plan_director sf_cutting_speed_group_sale_director sf_cutting_speed_group_plan_director model_sf_cutting_speed sf_base.group_sale_director sf_base.group_plan_director 1 0 1 1 0
68 access_sf_cutting_speed_group_plan_director access_sf_feed_per_tooth_group_purchase_director sf_cutting_speed_group_plan_director sf_feed_per_tooth_group_purchase_director model_sf_cutting_speed model_sf_feed_per_tooth sf_base.group_plan_director sf_base.group_purchase_director 1 0 1 1 0 0
69 access_sf_feed_per_tooth_group_purchase_director access_sf_feed_per_tooth_group_sale_director sf_feed_per_tooth_group_purchase_director sf_feed_per_tooth_group_sale_director model_sf_feed_per_tooth sf_base.group_purchase_director sf_base.group_sale_director 1 0 1 1 0 0
70 access_sf_feed_per_tooth_group_sale_director access_sf_feed_per_tooth_group_plan_director sf_feed_per_tooth_group_sale_director sf_feed_per_tooth_group_plan_director model_sf_feed_per_tooth sf_base.group_sale_director sf_base.group_plan_director 1 0 1 1 0 0
71 access_sf_feed_per_tooth_group_plan_director access_sf_feed_per_tooth sf_feed_per_tooth_group_plan_director sf_feed_per_tooth model_sf_feed_per_tooth sf_base.group_plan_director base.group_user 1 0 1 1 0
72 access_sf_feed_per_tooth access_sf_feed_per_tooth_admin sf_feed_per_tooth sf_feed_per_tooth_admin model_sf_feed_per_tooth base.group_user base.group_system 1 1 1 0
73 access_sf_feed_per_tooth_admin access_sf_ramping_angle sf_feed_per_tooth_admin sf_ramping_angle model_sf_feed_per_tooth model_sf_ramping_angle base.group_system base.group_user 1 1 1 0 1
74 access_sf_ramping_angle access_sf_ramping_angle_admin sf_ramping_angle sf_ramping_angle_admin model_sf_ramping_angle base.group_user base.group_system 1 1 1 1
78 access_sf_machine_tool access_sf_machine_tool_type sf_machine_tool sf_machine_tool_type model_sf_machine_tool model_sf_machine_tool_type sf_base.group_sf_mrp_user 1 0 0 0
79 access_sf_machine_tool_type access_sf_machine_brand sf_machine_tool_type sf_machine_brand model_sf_machine_tool_type model_sf_machine_brand sf_base.group_sf_mrp_user 1 0 0 0
80 access_sf_machine_brand access_sf_machine_brand_group_plan_director sf_machine_brand sf_machine_brand_group_plan_director model_sf_machine_brand sf_base.group_sf_mrp_user sf_base.group_plan_director 1 0 0 0
81 access_sf_machine_brand_group_purchase_director sf_machine_brand_group_purchase_director model_sf_machine_brand sf_base.group_purchase_director 1 0 0 0
82 access_sf_machine_brand_group_sale_director sf_machine_brand_group_sale_director model_sf_machine_brand sf_base.group_sale_director 1 0 0 0
83 access_sf_machine_brand_tags sf_machine_brand_tags model_sf_machine_brand_tags base.group_user 1 1 1 1
84 access_sf_machine_brand_tags access_sf_machine_control_system sf_machine_brand_tags sf_machine_control_system model_sf_machine_brand_tags model_sf_machine_control_system base.group_user sf_base.group_sf_mrp_user 1 1 0 1 0 1 0
85 access_sf_machine_control_system access_sf_processing_order sf_machine_control_system sf_processing_order model_sf_machine_control_system model_sf_processing_order sf_base.group_sf_mrp_user 1 0 0 0
86 access_sf_processing_order access_sf_production_process sf_processing_order sf_production_process model_sf_processing_order model_sf_production_process sf_base.group_sf_mrp_user 1 0 0 0
87 access_sf_production_process access_sf_production_materials sf_production_process sf_production_materials model_sf_production_process model_sf_production_materials sf_base.group_sf_mrp_user 1 0 0 0
88 access_sf_production_materials access_sf_production_materials_group_plan_director sf_production_materials sf_production_materials_group_plan_director model_sf_production_materials sf_base.group_sf_mrp_user sf_base.group_plan_director 1 0 1 0 0
89 access_sf_production_materials_group_purchase_director sf_production_materials_group_purchase_director model_sf_production_materials sf_base.group_purchase_director 1 1 0 0
90 access_sf_production_materials_group_sale_director sf_production_materials_group_sale_director model_sf_production_materials sf_base.group_sale_director 1 1 0 0
91 access_sf_materials_model sf_materials_model model_sf_materials_model sf_base.group_sf_mrp_user 1 0 0 0
92 access_sf_materials_model access_sf_materials_model_group_plan_director sf_materials_model sf_materials_model_group_plan_director model_sf_materials_model sf_base.group_sf_mrp_user sf_base.group_plan_director 1 0 0 0
93 access_sf_materials_model_group_purchase_director sf_materials_model_group_purchase_director model_sf_materials_model sf_base.group_purchase_director 1 0 0 0
94 access_sf_materials_model_group_sale_director sf_materials_model_group_sale_director model_sf_materials_model sf_base.group_sale_director 1 0 0 0
95 access_sf_processing_technology sf_processing_technology model_sf_processing_technology sf_base.group_sf_mrp_user 1 0 0 0
96 access_sf_processing_technology access_sf_supplier_sort sf_processing_technology sf_supplier_sort model_sf_processing_technology model_sf_supplier_sort sf_base.group_sf_mrp_user 1 0 0 0
97 access_sf_supplier_sort access_sf_production_process_parameter sf_supplier_sort sf_production_process_parameter model_sf_supplier_sort model_sf_production_process_parameter sf_base.group_sf_mrp_user 1 0 0 0
98 access_sf_production_process_parameter access_sf_production_process_category sf_production_process_parameter sf_production_process_category model_sf_production_process_parameter model_sf_production_process_category sf_base.group_sf_mrp_user 1 0 0 0
125 access_sf_feed_per_tooth access_sf_cutting_speed_group_sale_salemanager sf_feed_per_tooth sf_cutting_speed_group_sale_salemanager model_sf_feed_per_tooth model_sf_cutting_speed sf_base.group_sf_mrp_user sf_base.group_sale_salemanager 1 0 0 0
126 access_sf_ramping_angle access_sf_feed_per_tooth sf_ramping_angle sf_feed_per_tooth model_sf_ramping_angle model_sf_feed_per_tooth sf_base.group_sf_mrp_user 1 0 0 0
127 access_sf_cutting_width_depth access_sf_feed_per_tooth_group_purchase sf_cutting_width_depth sf_feed_per_tooth_group_purchase model_sf_cutting_width_depth model_sf_feed_per_tooth sf_base.group_sf_mrp_user sf_base.group_purchase 1 0 0 0
128 access_sf_ramping_angle sf_ramping_angle model_sf_ramping_angle sf_base.group_sf_mrp_user 1 0 0 0
129 access_sf_ramping_angle_group_purchase sf_ramping_angle_group_purchase model_sf_ramping_angle sf_base.group_purchase 1 0 0 0
130 access_sf_cutting_width_depth sf_cutting_width_depth model_sf_cutting_width_depth sf_base.group_sf_mrp_user 1 0 0 0
131 access_sf_cutting_width_depth_group_purchase sf_cutting_width_depth_group_purchase model_sf_cutting_width_depth sf_base.group_purchase 1 0 0 0
132 access_maintenance_equipment_image maintenance_equipment_image model_maintenance_equipment_image base.group_user 1 1 1 1
133 access_purchase_order_group_purchase access_purchase_order_group_purchase purchase.model_purchase_order sf_base.group_purchase 1 1 1 0
134 access_purchase_order_group_purchase access_purchase_order_group_purchase_director access_purchase_order_group_purchase access_purchase_order_group_purchase_director purchase.model_purchase_order sf_base.group_purchase sf_base.group_purchase_director 1 1 1 0
135 access_purchase_order_line_group_purchase access_purchase_order_line_group_purchase purchase.model_purchase_order_line sf_base.group_purchase 1 1 1 0
136 access_purchase_order_group_purchase_director access_purchase_order_line_group_purchase_director access_purchase_order_group_purchase_director access_purchase_order_line_group_purchase_director purchase.model_purchase_order purchase.model_purchase_order_line sf_base.group_purchase_director 1 1 1 0
137 access_spindle_taper_type spindle_taper_type model_spindle_taper_type base.group_user 1 1 1 1
138 access_purchase_order_line_group_purchase access_sf_tool_groups_group_plan_dispatch access_purchase_order_line_group_purchase sf_tool_groups purchase.model_purchase_order_line model_sf_tool_groups sf_base.group_purchase sf_base.group_plan_dispatch 1 1 0 1 0 0
139 access_purchase_order_line_group_purchase_director access_sf_tool_groups_group_sf_tool_user access_purchase_order_line_group_purchase_director sf_tool_groups purchase.model_purchase_order_line model_sf_tool_groups sf_base.group_purchase_director sf_base.group_sf_tool_user 1 1 1 0 1
140 access_spindle_taper_type access_purchase_order spindle_taper_type purchase.order model_spindle_taper_type purchase.model_purchase_order base.group_user sf_base.group_plan_dispatch 1 1 0 1 0 1 0
174
175
176
177
178
179

View File

@@ -259,7 +259,7 @@ class ResProductMo(models.Model):
self.cutting_tool_main_included_angle = self.specification_id.main_included_angle self.cutting_tool_main_included_angle = self.specification_id.main_included_angle
self.cutting_tool_top_angle = self.specification_id.top_angle self.cutting_tool_top_angle = self.specification_id.top_angle
self.cutting_tool_screw = self.specification_id.screw self.cutting_tool_screw = self.specification_id.screw
self.cutting_tool_wrench = self.specification_id.wrench self.cutting_tool_wrench = self.specification_id.spanner
self.cutting_tool_blade_id = self.specification_id.blade_id.id self.cutting_tool_blade_id = self.specification_id.blade_id.id
self.cutting_tool_is_cooling_hole = self.specification_id.is_cooling_hole self.cutting_tool_is_cooling_hole = self.specification_id.is_cooling_hole
self.cutting_tool_locating_slot_code = self.specification_id.locating_slot_code self.cutting_tool_locating_slot_code = self.specification_id.locating_slot_code

View File

@@ -23,6 +23,8 @@ access_mrp_workcenter_manager,mrp_workcenter,model_mrp_workcenter,sf_base.group_
access_mrp_workcenter_productivity,mrp_workcenter_productivity,model_mrp_workcenter_productivity,sf_base.group_sf_mrp_user,1,0,0,0 access_mrp_workcenter_productivity,mrp_workcenter_productivity,model_mrp_workcenter_productivity,sf_base.group_sf_mrp_user,1,0,0,0
access_mrp_workcenter_productivity_manager,mrp_workcenter_productivity,model_mrp_workcenter_productivity,sf_base.group_sf_mrp_manager,1,1,1,0 access_mrp_workcenter_productivity_manager,mrp_workcenter_productivity,model_mrp_workcenter_productivity,sf_base.group_sf_mrp_manager,1,1,1,0
access_sf_workpiece_delivery_group_sf_order_user,sf_workpiece_delivery_group_sf_order_user,model_sf_workpiece_delivery,sf_base.group_sf_order_user,1,1,0,0 access_sf_workpiece_delivery_group_sf_order_user,sf_workpiece_delivery_group_sf_order_user,model_sf_workpiece_delivery,sf_base.group_sf_order_user,1,1,0,0
access_sf_workpiece_delivery_group_sf_equipment_user,sf_workpiece_delivery_group_sf_equipment_user,model_sf_workpiece_delivery,sf_base.group_sf_equipment_user,1,1,0,0
access_sf_workpiece_delivery_manager,sf_workpiece_delivery,model_sf_workpiece_delivery,sf_base.group_sf_mrp_manager,1,1,0,0 access_sf_workpiece_delivery_manager,sf_workpiece_delivery,model_sf_workpiece_delivery,sf_base.group_sf_mrp_manager,1,1,0,0
access_sf_workpiece_delivery_admin,sf_workpiece_delivery_admin,model_sf_workpiece_delivery,base.group_system,1,1,1,0 access_sf_workpiece_delivery_admin,sf_workpiece_delivery_admin,model_sf_workpiece_delivery,base.group_system,1,1,1,0
access_sf_workpiece_delivery_wizard_group_sf_order_user,sf_workpiece_delivery_wizard_group_sf_order_user,model_sf_workpiece_delivery_wizard,sf_base.group_sf_order_user,1,1,1,0 access_sf_workpiece_delivery_wizard_group_sf_order_user,sf_workpiece_delivery_wizard_group_sf_order_user,model_sf_workpiece_delivery_wizard,sf_base.group_sf_order_user,1,1,1,0
@@ -40,6 +42,10 @@ access_mrp_workcenter_manager,mrp.workcenter.manager,mrp.model_mrp_workcenter,sf
access_mrp_routing_workcenter_manager,mrp.routing.workcenter.manager,mrp.model_mrp_routing_workcenter,sf_base.group_sf_mrp_user,1,1,1,0 access_mrp_routing_workcenter_manager,mrp.routing.workcenter.manager,mrp.model_mrp_routing_workcenter,sf_base.group_sf_mrp_user,1,1,1,0
access_mrp_bom_manager,mrp.bom.manager,mrp.model_mrp_bom,sf_base.group_sf_mrp_user,1,1,1,0 access_mrp_bom_manager,mrp.bom.manager,mrp.model_mrp_bom,sf_base.group_sf_mrp_user,1,1,1,0
access_mrp_bom_line_manager,mrp.bom.line.manager,mrp.model_mrp_bom_line,sf_base.group_sf_mrp_user,1,1,1,0 access_mrp_bom_line_manager,mrp.bom.line.manager,mrp.model_mrp_bom_line,sf_base.group_sf_mrp_user,1,1,1,0
access_mrp_bom_line_group_plan_director,mrp_bom_line_group_plan_director,mrp.model_mrp_bom_line,sf_base.group_plan_director,1,1,1,0
access_mrp_bom_line_group_sale_director,mrp_bom_line_group_sale_director,mrp.model_mrp_bom_line,sf_base.group_sale_director,1,1,1,0
access_mrp_bom_line_group_purchase_director,mrp_bom_line_group_purchase_director,mrp.model_mrp_bom_line,sf_base.group_purchase_director,1,1,1,0
access_mrp_bom_byproduct_manager,mrp.bom.byproduct manager,mrp.model_mrp_bom_byproduct,sf_base.group_sf_mrp_user,1,1,1,0 access_mrp_bom_byproduct_manager,mrp.bom.byproduct manager,mrp.model_mrp_bom_byproduct,sf_base.group_sf_mrp_user,1,1,1,0
access_mrp_production_stock_worker,mrp.production stock_worker,mrp.model_mrp_production,stock.group_stock_user,1,0,0,0 access_mrp_production_stock_worker,mrp.production stock_worker,mrp.model_mrp_production,stock.group_stock_user,1,0,0,0
access_product_product_user,product.product user,product.model_product_product,sf_base.group_sf_mrp_user,1,0,0,0 access_product_product_user,product.product user,product.model_product_product,sf_base.group_sf_mrp_user,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
23 access_mrp_workcenter_productivity mrp_workcenter_productivity model_mrp_workcenter_productivity sf_base.group_sf_mrp_user 1 0 0 0
24 access_mrp_workcenter_productivity_manager mrp_workcenter_productivity model_mrp_workcenter_productivity sf_base.group_sf_mrp_manager 1 1 1 0
25 access_sf_workpiece_delivery_group_sf_order_user sf_workpiece_delivery_group_sf_order_user model_sf_workpiece_delivery sf_base.group_sf_order_user 1 1 0 0
26 access_sf_workpiece_delivery_group_sf_equipment_user sf_workpiece_delivery_group_sf_equipment_user model_sf_workpiece_delivery sf_base.group_sf_equipment_user 1 1 0 0
27 access_sf_workpiece_delivery_manager sf_workpiece_delivery model_sf_workpiece_delivery sf_base.group_sf_mrp_manager 1 1 0 0
28 access_sf_workpiece_delivery_manager access_sf_workpiece_delivery_admin sf_workpiece_delivery sf_workpiece_delivery_admin model_sf_workpiece_delivery sf_base.group_sf_mrp_manager base.group_system 1 1 0 1 0
29 access_sf_workpiece_delivery_admin access_sf_workpiece_delivery_wizard_group_sf_order_user sf_workpiece_delivery_admin sf_workpiece_delivery_wizard_group_sf_order_user model_sf_workpiece_delivery model_sf_workpiece_delivery_wizard base.group_system sf_base.group_sf_order_user 1 1 1 0
30 access_sf_workpiece_delivery_wizard_group_sf_order_user access_mrp_workcenter_productivity_loss_manager sf_workpiece_delivery_wizard_group_sf_order_user mrp.workcenter.productivity.loss model_sf_workpiece_delivery_wizard mrp.model_mrp_workcenter_productivity_loss sf_base.group_sf_order_user sf_base.group_sf_mrp_user 1 1 1 0
42 access_mrp_routing_workcenter_manager access_mrp_bom_manager mrp.routing.workcenter.manager mrp.bom.manager mrp.model_mrp_routing_workcenter mrp.model_mrp_bom sf_base.group_sf_mrp_user 1 1 1 0
43 access_mrp_bom_manager access_mrp_bom_line_manager mrp.bom.manager mrp.bom.line.manager mrp.model_mrp_bom mrp.model_mrp_bom_line sf_base.group_sf_mrp_user 1 1 1 0
44 access_mrp_bom_line_manager access_mrp_bom_line_group_plan_director mrp.bom.line.manager mrp_bom_line_group_plan_director mrp.model_mrp_bom_line sf_base.group_sf_mrp_user sf_base.group_plan_director 1 1 1 0
45 access_mrp_bom_line_group_sale_director mrp_bom_line_group_sale_director mrp.model_mrp_bom_line sf_base.group_sale_director 1 1 1 0
46 access_mrp_bom_line_group_purchase_director mrp_bom_line_group_purchase_director mrp.model_mrp_bom_line sf_base.group_purchase_director 1 1 1 0
47 access_mrp_bom_byproduct_manager mrp.bom.byproduct manager mrp.model_mrp_bom_byproduct sf_base.group_sf_mrp_user 1 1 1 0
48 access_mrp_production_stock_worker mrp.production stock_worker mrp.model_mrp_production stock.group_stock_user 1 0 0 0
49 access_mrp_bom_byproduct_manager access_product_product_user mrp.bom.byproduct manager product.product user mrp.model_mrp_bom_byproduct product.model_product_product sf_base.group_sf_mrp_user 1 1 0 1 0 0
50 access_mrp_production_stock_worker access_product_template_user mrp.production stock_worker product.template user mrp.model_mrp_production product.model_product_template stock.group_stock_user sf_base.group_sf_mrp_user 1 0 0 0
51 access_product_product_user access_uom_uom_user product.product user uom.uom user product.model_product_product uom.model_uom_uom sf_base.group_sf_mrp_user 1 0 0 0

File diff suppressed because it is too large Load Diff

View File

@@ -119,6 +119,6 @@
<menuitem sequence="21" name="快速订单" id="menu_quick_easy_order" <menuitem sequence="21" name="快速订单" id="menu_quick_easy_order"
action="action_quick_easy_order" action="action_quick_easy_order"
parent="sale.sale_order_menu" parent="sale.sale_order_menu"
groups="sales_team.group_sale_salesman"/> groups="sales_team.group_sale_salesman,sf_base.group_sale_salemanager,sf_base.group_sale_director"/>
</data> </data>
</odoo> </odoo>

View File

@@ -16,6 +16,7 @@
'security/ir.model.access.csv', 'security/ir.model.access.csv',
'wizard/wizard_view.xml', 'wizard/wizard_view.xml',
'views/tool_base_views.xml', 'views/tool_base_views.xml',
'views/mrp_workcenter_views.xml',
'views/sf_maintenance_equipment.xml', 'views/sf_maintenance_equipment.xml',
'views/menu_view.xml', 'views/menu_view.xml',
'views/tool_material_search.xml', 'views/tool_material_search.xml',

View File

@@ -1,4 +1,5 @@
from . import base from . import base
from . import tool_material_search from . import tool_material_search
from . import maintenance_equipment from . import maintenance_equipment
from . import mrp_workorder

View File

@@ -1,4 +1,5 @@
from odoo import models, api, fields from odoo import models, api, fields
from odoo.exceptions import ValidationError
class SfMaintenanceEquipmentTool(models.Model): class SfMaintenanceEquipmentTool(models.Model):
@@ -26,3 +27,68 @@ class SfMaintenanceEquipmentTool(models.Model):
'cutter_spacing_code_id': tool.id 'cutter_spacing_code_id': tool.id
}) })
return tools return tools
class StockLot(models.Model):
_inherit = 'stock.lot'
tool_material_search_id = fields.Many2one('sf.tool.material.search', string='刀具物料搜索')
tool_material_status = fields.Selection([('可用', '可用'), ('在用', '在用'), ('报废', '报废')], string='状态',
compute='_compute_tool_material_status')
@api.depends('quant_ids')
def _compute_tool_material_status(self):
for record in self:
if record:
if record.quant_ids[-1].location_id.name == '刀具组装位置':
record.tool_material_status = '在用'
else:
record.tool_material_status = '可用'
@api.model
def name_search(self, name='', args=None, operator='ilike', limit=100):
# 调用父类的name_search方法
records = super(StockLot, self).name_search(name=name, args=args, operator=operator, limit=limit)
if records:
return records
else:
# 在调用父类方法之后执行自定义逻辑
self.tool_verify(args, name)
return records
def tool_verify(self, args, name):
# 刀具物料验证
if 5 >= len(args) > 3:
objs = self.search([('name', '=', name), ('quant_ids.location_id.name', 'in', ['刀具房']),
('quant_ids.quantity', '>', 0)])
if args[2][2] in ['整体式刀具', '刀片', '刀杆', '刀盘', '刀柄', '夹头']:
if objs.product_id.categ_id.name == '刀具':
raise ValidationError('这是【%s】物料,请扫入正确的【%s】物料!!!' % (
objs.product_id.cutting_tool_material_id.name, args[2][2]))
@api.model_create_multi
def create(self, vals_list):
records = super(StockLot, self).create(vals_list)
for record in records:
if record.product_id.categ_id.name == '刀具':
tool_material_search = self.env['sf.tool.material.search'].sudo().search(
[('cutting_tool_material_id', '=', record.product_id.cutting_tool_material_id.id),
('cutting_tool_standard_library_id', '=', record.product_id.cutting_tool_model_id.id),
('specification_id', '=', record.product_id.specification_id.id)])
if tool_material_search:
record.tool_material_search_id = tool_material_search
return records
class ProductProduct(models.Model):
_inherit = 'product.product'
@api.model_create_multi
def create(self, vals_list):
records = super(ProductProduct, self).create(vals_list)
for record in records:
if record.categ_id.name == '刀具':
self.env['sf.tool.material.search'].sudo().create({
'product_id': record.id
})
return records

View File

@@ -36,3 +36,12 @@ class CNCprocessing(models.Model):
# 调用CAM工单程序用刀计划创建方法 # 调用CAM工单程序用刀计划创建方法
self.env['sf.cam.work.order.program.knife.plan'].create_cam_work_plan(obj) self.env['sf.cam.work.order.program.knife.plan'].create_cam_work_plan(obj)
return obj return obj
class MrpWorkCenter(models.Model):
_inherit = 'mrp.workcenter'
def action_tool_order(self):
action = self.env.ref('sf_tool_management.sf_functional_tool_assembly_view_act')
result = action.read()[0]
return result

View File

@@ -5,7 +5,7 @@ from odoo import fields, models, api, SUPERUSER_ID
# from odoo.exceptions import ValidationError # from odoo.exceptions import ValidationError
# 刀具物料搜索 # 刀具物料搜索(待删除)
class SfToolMaterialSearch(models.Model): class SfToolMaterialSearch(models.Model):
_name = 'sf.tool.material.search' _name = 'sf.tool.material.search'
_description = '刀具物料搜索' _description = '刀具物料搜索'
@@ -302,3 +302,55 @@ class SfToolMaterialSearch(models.Model):
warehouse_area = fields.Char('库区') warehouse_area = fields.Char('库区')
warehouse_location = fields.Char('库位') warehouse_location = fields.Char('库位')
three_d_model = fields.Many2one('ir.attachment', '3D模型') three_d_model = fields.Many2one('ir.attachment', '3D模型')
class ToolMaterial(models.Model):
_name = 'sf.tool.material.search'
_description = '刀具物料搜索'
product_id = fields.Many2one('product.product', string='刀具物料产品')
name = fields.Char('名称', related='product_id.name')
cutting_tool_material_id = fields.Many2one('sf.cutting.tool.material', '刀具物料',
related='product_id.cutting_tool_material_id',
store=True,
group_expand='_read_group_cutting_tool_material_id')
tool_material_name = fields.Char('物料名称', related='product_id.cutting_tool_material_id.name')
cutting_tool_standard_library_id = fields.Many2one('sf.cutting_tool.standard.library', '刀具型号',
related='product_id.cutting_tool_model_id')
specification_id = fields.Many2one('sf.tool.materials.basic.parameters', '规格',
related='product_id.specification_id')
image = fields.Binary('图片', related='product_id.image_1920')
number = fields.Integer('总数量', readonly=True, compute='_compute_number')
usable_num = fields.Integer('可用数量', readonly=True)
have_been_used_num = fields.Integer('在用数量', readonly=True)
scrap_num = fields.Integer('报废数量', readonly=True)
barcode_ids = fields.One2many('stock.lot', 'tool_material_search_id', string='序列号', readonly=True)
@api.depends('barcode_ids')
def _compute_number(self):
usable_num = 0
have_been_used_num = 0
scrap_num = 0
for record in self:
if record.barcode_ids:
record.number = len(record.barcode_ids)
for barcode_id in record.barcode_ids:
if barcode_id.quant_ids[-1].location_id.name == '刀具组装位置':
have_been_used_num = have_been_used_num + 1
else:
usable_num = usable_num + 1
record.usable_num = usable_num
record.have_been_used_num = have_been_used_num
record.scrap_num = scrap_num
else:
record.number = 0
record.usable_num = 0
record.have_been_used_num = 0
record.scrap_num = 0
@api.model
def _read_group_cutting_tool_material_id(self, categories, domain, order):
cutting_tool_material_id = categories._search([], order=order, access_rights_uid=SUPERUSER_ID)
return categories.browse(cutting_tool_material_id)

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="mrp_workcenter_kanban_tool" model="ir.ui.view">
<field name="name">mrp.workcenter.kanban.tool</field>
<field name="model">mrp.workcenter</field>
<field name="inherit_id" ref="mrp.mrp_workcenter_kanban"/>
<field name="arch" type="xml">
<xpath expr="//kanban//templates//t//div//div[2]//div//div//div//t[2]" position="after">
<t t-if="record.name != '功能刀具组装中心'">
<button string="组装单" name="action_tool_order" type="object" class="btn-primary"
attrs="{'invisible': [('name', '!=', '功能刀具组装中心')]}"/>
</t>
</xpath>
<xpath expr="//kanban//templates//t//div//div[2]//div//div//div//t[2]" position="replace">
<t t-if="record.workorder_count.raw_value &lt;= 0">
<button class="btn btn-warning" name="%(mrp.act_product_mrp_production_workcenter)d" type="action"
attrs="{'invisible': [('name', '=', '功能刀具组装中心')]}">
<span>安排订单</span>
</button>
</t>
</xpath>
<xpath expr="//kanban//templates//t//div//div[2]//div//div//div//t[1]" position="replace">
<t t-if="record.workorder_count.raw_value &gt; 0">
<button class="btn btn-primary" name="action_work_order" type="object"
attrs="{'invisible': [('name', '=', '功能刀具组装中心')]}"
context="{'search_default_ready': 1, 'search_default_progress': 1}">
<span>工单</span>
</button>
</t>
</xpath>
</field>
</record>
</odoo>

View File

@@ -6,116 +6,13 @@
<field name="model">sf.tool.material.search</field> <field name="model">sf.tool.material.search</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="刀具物料查询"> <tree string="刀具物料查询">
<field name="sequence" invisible="True"/>
<field name="code"/>
<field name="name"/> <field name="name"/>
<field name="mrs_cutting_tool_type_id"/> <field name="cutting_tool_material_id"/>
<field name="mrs_machine_brand_id"/> <field name="cutting_tool_standard_library_id"/>
<!-- <field name="mrs_cutting_tool_model_id"/> --> <field name="specification_id"/>
<field name="mrs_materials_model_id"/> <field name="number"/>
<field name="mrs_cutting_tool_material_id"/> <field name="usable_num"/>
<field name="image" widget="image"/>
<!-- <field name="blade_code" optional="hide"/> -->
<field name="blade_length" optional="hide"/>
<field name="blade_width" optional="hide"/>
<field name="blade_height" optional="hide"/>
<field name="blade_top_angle" optional="hide"/>
<field name="blade_front_angle" optional="hide"/>
<field name="blade_rear_angle" optional="hide"/>
<field name="blade_main_included_angle" optional="hide"/>
<field name="blade_r_angle" optional="hide"/>
<field name="blade_hardness" optional="hide"/>
<field name="blade_accuracy" optional="hide"/>
<field name="blade_coating_material_id" optional="hide"/>
<field name="blade_radius" optional="hide"/>
<field name="blade_nut" optional="hide"/>
<field name="mrs_cutting_tool_model_blade_cutter_pad_ids" optional="hide"/>
<field name="mrs_cutting_tool_model_blade_cutter_bar_ids" optional="hide"/>
<!-- <field name="integral_code" readonly="1"/> -->
<!-- <field name="integral_total_length" optional="hide"/>-->
<!-- <field name="integral_shank_length" optional="hide"/>-->
<!-- <field name="integral_blade_length" optional="hide"/>-->
<!-- <field name="integral_diameter" optional="hide"/>-->
<!-- <field name="integral_blade_number" optional="hide"/>-->
<!-- <field name="integral_front_angle" optional="hide"/>-->
<!-- <field name="integral_rear_angle" optional="hide"/>-->
<!-- <field name="integral_main_included_angle" optional="hide"/>-->
<!-- <field name="integral_accuracy" optional="hide"/>-->
<!-- <field name="integral_hardness" optional="hide"/>-->
<!-- <field name="integral_coating_material" optional="hide"/>-->
<!-- <field name="integral_nut" optional="hide"/>-->
<!-- <field name="integral_scope" optional="hide"/>-->
<!-- <field name="bar_code" readonly="1"/> -->
<field name="bar_c_diameter" optional="hide"/>
<field name="bar_total_length" optional="hide"/>
<field name="bar_blade_number" optional="hide"/>
<field name="bar_d_diameter" optional="hide"/>
<field name="mrs_cutting_tool_model_bar_blade_ids" widget="many2many_tags" optional="hide"/>
<field name="bar_wrench" optional="hide"/>
<field name="bar_screw" optional="hide"/>
<field name="bar_radius" optional="hide"/>
<field name="bar_accuracy" optional="hide"/>
<field name="bar_hardness" optional="hide"/>
<field name="bar_scope" optional="hide"/>
<!-- <field name="pad_code" readonly="1"/> -->
<field name="pad_c_diameter" optional="hide"/>
<field name="pad_total_length" optional="hide"/>
<field name="pad_blade_number" optional="hide"/>
<field name="pad_d_diameter" optional="hide"/>
<field name="mrs_cutting_tool_model_pad_blade_ids" widget="many2many_tags" optional="hide"/>
<field name="pad_wrench" optional="hide"/>
<field name="pad_screw" optional="hide"/>
<field name="pad_radius" optional="hide"/>
<field name="pad_accuracy" optional="hide"/>
<field name="pad_hardness" optional="hide"/>
<field name="pad_scope" optional="hide"/>
<!-- <field name="handle_code" readonly="1"/> -->
<field name="handle_length" optional="hide"/>
<field name="handle_diameter" optional="hide"/>
<field name="handle_flange_length" optional="hide"/>
<field name="handle_flange_diameter" optional="hide"/>
<field name="handle_clamping_diameter_min" optional="hide"/>
<field name="handle_clamping_diameter_max" optional="hide"/>
<field name="handle_jump_accuracy" optional="hide"/>
<field name="handle_max_speed" optional="hide"/>
<field name="handle_weight" optional="hide"/>
<field name="handle_body_accuracy" optional="hide"/>
<field name="handle_nut" optional="hide"/>
<field name="mrs_cutting_tool_model_handle_chuck_model_ids" widget="many2many_tags"
optional="hide"/>
<field name="handle_clamping_range" optional="hide"/>
<field name="handle_detection_accuracy" optional="hide"/>
<field name="handle_detection_hardness" optional="hide"/>
<field name="handle_standard_speed" optional="hide"/>
<!-- <field name="chuck_code" readonly="1"/> -->
<field name="chuck_accuracy" optional="hide"/>
<field name="chuck_clamping_diameter_min" optional="hide"/>
<field name="chuck_clamping_diameter_max" optional="hide"/>
<field name="chuck_diameter" optional="hide"/>
<field name="chuck_inner_diameter" optional="hide"/>
<field name="chuck_height" optional="hide"/>
<field name="chuck_nut" optional="hide"/>
<field name="mrs_cutting_tool_model_chuck_handle_model_ids" widget="many2many_tags"
optional="hide"/>
<field name="chuck_clamping_range" optional="hide"/>
<field name="chuck_feature" optional="hide"/>
<field name="image" widget="image" optional="hide"/>
<field name="number" optional="hide"/>
<field name="mrs_materials_model_id" optional="hide"/>
<field name="purchase_date" optional="hide"/>
<field name="purchase_batch" optional="hide"/>
<field name="supplier" optional="hide"/>
<field name="warehouse_name" optional="show"/>
<field name="warehouse_area" optional="show"/>
<field name="warehouse_location" optional="show"/>
<field name="three_d_model" widget="many2one" optional="show"/>
</tree> </tree>
</field> </field>
</record> </record>
@@ -128,221 +25,44 @@
<sheet> <sheet>
<div class="oe_title"> <div class="oe_title">
<h1> <h1>
<field name="name"/> <field name="product_id" readonly="1"/>
</h1> </h1>
</div> </div>
<group> <group>
<group> <group>
<field name="mrs_cutting_tool_material_name" invisible="1"/> <field name="name" invisible="1"/>
<field name="sequence" invisible="True"/> <field name="cutting_tool_material_id"/>
<field name="code"/> <field name="cutting_tool_standard_library_id"/>
<field name="mrs_cutting_tool_material_id"/> <field name="specification_id"/>
<field name="mrs_cutting_tool_type_id"/> <field name="number"/>
<field name="mrs_machine_brand_id"/>
<!-- <field name="mrs_materials_model_id" attrs="{'invisible':[('cutting_tool_type','=','整体式刀具')]}"/>-->
<!-- <field name="mrs_cutting_tool_model_id"/> -->
</group> </group>
<group> <group>
<field name="image" widget="image"/> <field name="image" widget="image"/>
<field name="three_d_model" widget="many2one"/> </group>
</group>
<group>
<group col="3">
<group>
<field name="usable_num"/>
</group>
<group>
<field name="have_been_used_num"/>
</group>
<group>
<field name="scrap_num"/>
</group>
</group> </group>
</group> </group>
<notebook> <notebook>
<page string='刀具库存信息'> <page string="序列号">
<group > <field name="barcode_ids">
<group> <tree>
<field name="number"/> <field name="name"/>
<field name="mrs_materials_model_id"/> <field name="tool_material_status"/>
<field name="purchase_date"/> </tree>
<field name="purchase_batch"/> </field>
</group>
<group>
<field name="supplier"/>
<field name="warehouse_name"/>
<field name="warehouse_area"/>
<field name="warehouse_location"/>
</group>
</group>
</page>
<page string="刀片信息" attrs="{'invisible': [('cutting_tool_type','!=','刀片')]}">
<group>
<group>
<field name="blade_code" invisible="True"/>
<field name="blade_length" string="长度L(mm)"/>
<field name="blade_width" string="宽度D(mm)"/>
<field name="blade_height" string="高度T(mm)"/>
<field name="blade_radius" string="刀尖半径(mm)"/>
<field name="blade_hardness" string="加工硬度"/>
<field name="blade_accuracy" string="精度等级"/>
<field name="blade_coating_material_id" string="涂层材质"/>
<!-- <field name="mrs_cutting_tool_model_blade_cutter_bar_ids" widget="many2many_tags"/>-->
</group>
<group>
<field name="blade_top_angle" string="顶角(°)"/>
<field name="blade_front_angle" string="前角(°)"/>
<field name="blade_rear_angle" string="后角(°)"/>
<field name="blade_main_included_angle" string="主偏角(°)"/>
<field name="blade_r_angle" string="R角(°)"/>
<field name="blade_nut" string="配对螺母(mm)"/>
<field name="mrs_cutting_tool_model_blade_cutter_pad_ids" widget="many2many_tags"/>
</group>
</group>
</page>
<!-- -->
<page string="整体式刀具信息" attrs="{'invisible': [('cutting_tool_type','!=','整体式刀具')]}">
<group>
<group>
<field name="integral_code" invisible="True"/>
<field name="integral_total_length" string="总长度(mm)"/>
<field name="mrs_materials_model_id" string="刀具材质" placeholder="请选择"
attrs="{'required': [('cutting_tool_type','=','整体式刀具')]}"/>
<field name="integral_hardness" string="刀具硬度(HRC)"/>
<field name="integral_blade_length" string="刃部长度(mm)"/>
<field name="integral_blade_diameter" string="刃部直径(mm)" class="diameter"/>
<field name="integral_blade_type" string="刃部类型"/>
<field name="integral_blade_helix_angle" string="刃部螺旋角(°)"/>
<field name="integral_blade_number" string="刃数(个)"/>
</group>
<group>
<field name="integral_shank_length" string="柄部长度(mm)"/>
<field name="integral_shank_diameter" string="柄部直径(mm)" class="diameter"/>
<field name="integral_neck_length" string="颈部长度(mm)"/>
<field name="integral_neck_diameter" string="颈部直径(mm)" class="diameter"/>
<field name="integral_blade_tip_diameter" string="刀尖直径(mm)" class="diameter"/>
<field name="integral_blade_tip_taper" string="刀尖锥度(°)"/>
<label for="integral_run_out_accuracy_min" string="端跳精度:"/>
<div class="test_model">
<label for="integral_run_out_accuracy_min" string="最小(min)"/>
<field name="integral_run_out_accuracy_min" class="o_address_zip" required="1"
options="{'format': false}" attrs="{'required': [('cutting_tool_type','=','整体式刀具')]}"/>
<span>(mm)&amp;nbsp;</span>
<label for="integral_run_out_accuracy_max" string="最大(max)"/>
<field name="integral_run_out_accuracy_max" class="o_address_zip" required="1"
options="{'format': false}" attrs="{'required': [('cutting_tool_type','=','整体式刀具')]}"/>
<span>(mm)&amp;nbsp;</span>
</div>
<field name="integral_coarse_medium_fine" string="粗/中/精" placeholder="请选择"
attrs="{'required': [('cutting_tool_type','=','整体式刀具')]}"/>
<field name="integral_coating_material" string="涂层材质"/>
</group>
</group>
<group string="适合加工方式">
<field name="suitable_machining_method_ids" string="" widget="custom_many2many_checkboxes"/>
</group>
<group>
<group string="刀尖特征">
<field name="blade_tip_characteristics_id" string="" widget="many2one_radio"/>
</group>
<group string="柄部类型">
<field name="handle_type_id" string="" widget="many2one_radio"/>
</group>
</group>
<group>
<group string="走刀方向">
<field name="cutting_direction_ids" string="" widget="custom_many2many_checkboxes"/>
</group>
<group string="适合冷却方式">
<field name="suitable_coolant_ids" string="" widget="custom_many2many_checkboxes"/>
</group>
</group>
</page>
<page string="切削速度Vc" attrs="{'invisible': [('cutting_tool_type','!=','整体式刀具')]}">
<field name="cutting_speed_ids" string=""/>
</page>
<page string="每齿走刀量fz" attrs="{'invisible': [('cutting_tool_type','!=','整体式刀具')]}">
<field name="feed_per_tooth_ids" string=""/>
</page>
<page string="刀杆信息" attrs="{'invisible': [('cutting_tool_type','!=','刀杆')]}">
<group>
<group>
<field name="bar_code" invisible="True"/>
<field name="bar_c_diameter" string="C柄径(mm)"/>
<field name="bar_total_length" string="L总长(mm)"/>
<field name="bar_blade_number" string="刃数"/>
<field name="bar_d_diameter" string="D刃径(mm)"/>
<field name="bar_scope" string="适用范围"/>
<field name="mrs_cutting_tool_model_bar_blade_ids" string="适用刀片型号" widget="many2many_tags"/>
</group>
<group>
<field name="bar_wrench" string="配对扳手(mm)"/>
<field name="bar_screw" string="配备螺丝(mm)"/>
<field name="bar_radius" string="刀尖圆角半径"/>
<field name="bar_accuracy" string="精度等级"/>
<field name="bar_hardness" string="硬度(°)"/>
</group>
</group>
</page>
<page string="刀盘信息" attrs="{'invisible': [('cutting_tool_type','!=','刀盘')]}">
<group>
<group>
<field name="pad_code" invisible="True"/>
<field name="pad_c_diameter" string="C柄径(mm)"/>
<field name="pad_total_length" string="L总长(mm)"/>
<field name="pad_blade_number" string="刃数"/>
<field name="pad_d_diameter" string="D刃径(mm)"/>
<field name="pad_scope" string="适用范围"/>
<field name="mrs_cutting_tool_model_pad_blade_ids" string="适用刀片型号" widget="many2many_tags"/>
</group>
<group>
<field name="pad_wrench" string="配对扳手(mm)"/>
<field name="pad_screw" string="配备螺丝(mm)"/>
<field name="pad_radius" string="刀尖圆角半径"/>
<field name="pad_accuracy" string="精度等级"/>
<field name="pad_hardness" string="硬度(°)"/>
</group>
</group>
</page>
<page string="刀柄信息" attrs="{'invisible': [('cutting_tool_type','!=','刀柄')]}">
<group>
<group>
<field name="handle_code" invisible="True"/>
<field name="handle_length" string="柄长L(mm)"/>
<field name="handle_diameter" string="直径D(mm)"/>
<field name="handle_flange_length" string="法兰柄长L1(mm)"/>
<field name="handle_flange_diameter" string="法兰直径D1(mm)"/>
<field name="handle_clamping_diameter_min" string="夹持直径min(mm)"/>
<field name="handle_clamping_diameter_max" string="夹持直径max(mm)"/>
<field name="handle_clamping_range" string="夹持范围(mm)"/>
<field name="handle_detection_accuracy" string="检测精度"/>
<field name="mrs_cutting_tool_model_handle_chuck_model_ids" widget="many2many_tags"/>
</group>
<group>
<field name="handle_jump_accuracy" string="径跳精度"/>
<field name="handle_standard_speed" string="标准转速"/>
<field name="handle_max_speed" string="最大转速n/min"/>
<field name="handle_standard_speed" string=""/>
<field name="handle_weight" string="重量(kg)"/>
<field name="handle_body_accuracy" string="本体精度(mm)"/>
<field name="handle_nut" string="配对螺母(mm)"/>
<field name="handle_detection_hardness" string="检测硬度"/>
</group>
</group>
</page>
<page string="夹头信息" attrs="{'invisible': [('cutting_tool_type','!=','夹头')]}">
<group>
<group>
<field name="chuck_code" invisible="True"/>
<field name="chuck_clamping_diameter_min" string="夹持直径min(mm)"/>
<field name="chuck_clamping_diameter_max" string="夹持直径max(mm)"/>
<field name="chuck_diameter" string="外径(mm)"/>
<field name="chuck_inner_diameter" string="内径(mm)"/>
<field name="chuck_feature" string="特性"/>
<field name="mrs_cutting_tool_model_chuck_handle_model_ids" widget="many2many_tags"/>
</group>
<group>
<field name="chuck_accuracy" string="精度(mm)"/>
<field name="chuck_height" string="高度(mm)"/>
<field name="chuck_nut" string="配对螺母(mm)"/>
<field name="chuck_clamping_range" string="夹持范围(mm)"/>
<field name="image" string="图片"/>
</group>
</group>
</page> </page>
</notebook> </notebook>
<group>
<field name="cutting_tool_material_name" invisible="True"/>
<field name="cutting_tool_type" invisible="True"/>
</group>
</sheet> </sheet>
</form> </form>
</field> </field>
@@ -356,9 +76,10 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<search string="刀具物料搜索"> <search string="刀具物料搜索">
<field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/> <field name="name" string="名称搜索" filter_domain="[('name','ilike',self)]"/>
<field name="code" string="编码搜索" filter_domain="[('code','ilike',self)]"/> <field name="cutting_tool_standard_library_id" string="刀具型号搜索"/>
<field name="specification_id" string="规格搜索"/>
<searchpanel> <searchpanel>
<field name="mrs_cutting_tool_material_id" icon="fa-building" enable_counters="1"/> <field name="cutting_tool_material_id" icon="fa-building" enable_counters="1"/>
</searchpanel> </searchpanel>
</search> </search>
</field> </field>