diff --git a/sf_manufacturing/data/empty_racks_data.xml b/sf_manufacturing/data/empty_racks_data.xml
index e30edd9f..1a2b313b 100644
--- a/sf_manufacturing/data/empty_racks_data.xml
+++ b/sf_manufacturing/data/empty_racks_data.xml
@@ -1,6 +1,6 @@
-
+
工件配送
sf.workpiece.delivery
diff --git a/sf_manufacturing/models/mrp_workorder.py b/sf_manufacturing/models/mrp_workorder.py
index 25436081..62a63f72 100644
--- a/sf_manufacturing/models/mrp_workorder.py
+++ b/sf_manufacturing/models/mrp_workorder.py
@@ -735,7 +735,15 @@ class ResMrpWorkOrder(models.Model):
def button_start(self):
if self.routing_type == '装夹预调' and self.production_id.move_raw_ids[0].move_line_ids[0].lot_id.name:
self.pro_code = self.production_id.move_raw_ids[0].move_line_ids[0].lot_id.name
-
+ if self.routing_type == '装夹预调':
+ if not self.cnc_ids:
+ raise UserError(_('该制造订单还未下发CNC程序,请稍后再试'))
+ else:
+ for item in self.cnc_ids:
+ functional_cutting_tool = self.env['sf.functional.cutting.tool.entity'].search(
+ [('tool_name_id.name', '=', item.cutting_tool_name)])
+ if not functional_cutting_tool:
+ raise UserError(_('该制造订单的CNC程序为%s没有对应的功能刀具%s' % item.cutting_tool_name))
if self.routing_type == '解除装夹':
'''
记录开始时间
diff --git a/sf_manufacturing/models/product_template.py b/sf_manufacturing/models/product_template.py
index 16ea429a..4d07ae1c 100644
--- a/sf_manufacturing/models/product_template.py
+++ b/sf_manufacturing/models/product_template.py
@@ -399,7 +399,7 @@ class ResProductMo(models.Model):
cutting_speed_ids = fields.One2many('sf.cutting.speed', 'product_template_id', string='切削速度Vc')
feed_per_tooth_ids = fields.One2many('sf.feed.per.tooth', 'product_template_id', string='每齿走刀量fz')
- cutting_tool_diameter = fields.Float('直径(mm)')
+ cutting_tool_diameter = fields.Float('刀具直径(mm)')
cutting_tool_rear_angle = fields.Integer('后角(°)')
cutting_tool_main_included_angle = fields.Integer('主偏角(°)')
# 适用夹头型号可以多选
diff --git a/sf_manufacturing/views/agv_setting_views.xml b/sf_manufacturing/views/agv_setting_views.xml
index c2438c7f..e8bd9f61 100644
--- a/sf_manufacturing/views/agv_setting_views.xml
+++ b/sf_manufacturing/views/agv_setting_views.xml
@@ -73,7 +73,9 @@
-
+
+
+
diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml
index 22228ea7..c6d0788a 100644
--- a/sf_manufacturing/views/mrp_workorder_view.xml
+++ b/sf_manufacturing/views/mrp_workorder_view.xml
@@ -125,7 +125,7 @@
attrs="{'invisible': ['|', '|', '|', ('production_state','in', ('draft', 'done', 'cancel')), ('working_state', '=', 'blocked'), ('state', 'in', ('done', 'cancel')), ('is_user_working', '!=', False)]}"/>
-
\ No newline at end of file
diff --git a/sf_sale/security/ir.model.access.csv b/sf_sale/security/ir.model.access.csv
index 451396e3..0e2f0684 100644
--- a/sf_sale/security/ir.model.access.csv
+++ b/sf_sale/security/ir.model.access.csv
@@ -32,8 +32,8 @@ access_stock_picking_group_quality_director,stock_picking_group_quality_director
access_account_move_group_sale_salemanager,account_move_group_sale_salemanager,account.model_account_move,sf_base.group_sale_salemanager,1,0,0,0
access_account_move_group_sale_director,account_move_group_sale_director,account.model_account_move,sf_base.group_sale_director,1,0,0,0
access_resource_resource_group_sale_director,resource_resource_group_sale_director,resource.model_resource_resource,sf_base.group_sale_director,1,1,1,0
-access_mrp_bom_group_sale_salemanager,mrp_bom_group_sale_salemanager,mrp.model_mrp_bom,sf_base.group_sale_salemanager,1,0,0,0
-access_mrp_bom_group_sale_director,mrp_bom_group_sale_director,mrp.model_mrp_bom,sf_base.group_sale_director,1,0,0,0
+access_mrp_bom_group_sale_salemanager,mrp_bom_group_sale_salemanager,mrp.model_mrp_bom,sf_base.group_sale_salemanager,1,0,1,0
+access_mrp_bom_group_sale_director,mrp_bom_group_sale_director,mrp.model_mrp_bom,sf_base.group_sale_director,1,0,1,0
access_mrp_bom_group_purchase,mrp_bom_group_purchase,mrp.model_mrp_bom,sf_base.group_purchase,1,0,0,0
access_mrp_bom_group_purchase_director,mrp_bom_group_purchase_director,mrp.model_mrp_bom,sf_base.group_purchase_director,1,0,0,0
access_mrp_bom_group_quality,mrp_bom_group_quality,mrp.model_mrp_bom,sf_base.group_quality,1,0,0,0
diff --git a/sf_sale/views/purchase_order_view.xml b/sf_sale/views/purchase_order_view.xml
index 90c9bd4b..b0a4ed98 100644
--- a/sf_sale/views/purchase_order_view.xml
+++ b/sf_sale/views/purchase_order_view.xml
@@ -8,28 +8,15 @@
-
-
+
-
-
-
-
-
@@ -93,43 +80,35 @@
sf_base.group_purchase,sf_base.group_purchase_director
- {'readonly': ['&',('state', 'in', ['purchase']),('check_status','in',
- ['approved'])]}
+ {'readonly': [('state', 'in', ['purchase'])]}
- {'readonly': ['&',('state', 'in', ['purchase']),('check_status','in',
- ['pending','approved'])]}
+ {'readonly': [('state', 'in', ['purchase'])]}
- {'readonly': ['&',('state', 'in', ['purchase']),('check_status','in',
- ['pending','approved'])]}
+ {'readonly': [('state', 'in', ['purchase'])]}
- {'readonly': ['&',('state', 'in', ['purchase']),('check_status','in',
- ['pending','approved'])]}
+ {'readonly': [('state', 'in', ['purchase'])]}
- {'readonly': ['&',('state', 'in', ['purchase']),('check_status','in',
- ['pending','approved'])]}
+ {'readonly': [('state', 'in', ['purchase'])]}
- {'readonly': ['&',('state', 'in', ['purchase']),('check_status','in',
- ['pending','approved'])]}
+ {'readonly': [('state', 'in', ['purchase'])]}
- {'readonly': ['&',('state', 'in', ['purchase']),('check_status','in',
- ['pending','approved'])]}
+ {'readonly': [('state', 'in', ['purchase'])]}
- {'readonly': ['&',('state', 'in', ['purchase']),('check_status','in',
- ['pending','approved'])]}
+ {'readonly': [('state', 'in', ['purchase'])]}
@@ -153,13 +132,10 @@
- {'readonly': ['&',('state', 'in', ['purchase']),('check_status','in',
- ['pending','approved'])]}
-
+ {'readonly': [('state', 'in', ['purchase'])]}
- {'readonly': ['&',('state', 'in', ['purchase']),('check_status','in',
- ['pending','approved'])]}
+ {'readonly': [('state', 'in', ['purchase'])]}
@@ -171,14 +147,8 @@
- check_status desc,date_approve asc
+ date_approve asc
-
-
-
diff --git a/sf_sale/views/quick_easy_order_view.xml b/sf_sale/views/quick_easy_order_view.xml
index 3038b987..896d3704 100644
--- a/sf_sale/views/quick_easy_order_view.xml
+++ b/sf_sale/views/quick_easy_order_view.xml
@@ -26,6 +26,7 @@
+
@@ -78,6 +79,8 @@
+