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/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 843a9c53..c6d0788a 100644
--- a/sf_manufacturing/views/mrp_workorder_view.xml
+++ b/sf_manufacturing/views/mrp_workorder_view.xml
@@ -624,8 +624,8 @@
sf.workpiece.delivery
-
-
+
+
@@ -647,7 +647,7 @@
工件配送
sf.workpiece.delivery
-
+ {'search_default_on_up':1}
tree,search
[('type','in',['上产线','下产线']),('workorder_state','=','done')]
diff --git a/sf_sale/models/quick_easy_order.py b/sf_sale/models/quick_easy_order.py
index 1ece6b86..259655ee 100644
--- a/sf_sale/models/quick_easy_order.py
+++ b/sf_sale/models/quick_easy_order.py
@@ -17,7 +17,6 @@ from odoo.addons.sf_base.commons.common import Common
from . import parser_and_calculate_work_time as pc
-
class QuickEasyOrder(models.Model):
_name = 'quick.easy.order'
_description = '简易下单'
@@ -55,6 +54,7 @@ class QuickEasyOrder(models.Model):
('success', '成功'),
('fail', '失败')], string='模型上色状态')
processing_time = fields.Integer('加工时长(min)')
+ sale_order_id = fields.Many2one('sale.order', '销售订单号')
@api.depends('unit_price', 'quantity')
def _compute_total_amount(self):
@@ -89,7 +89,8 @@ class QuickEasyOrder(models.Model):
obj = super(QuickEasyOrder, self).create(vals)
# self.model_coloring(obj)
logging.info('---------开始派单到工厂-------')
- self.distribute_to_factory(obj)
+ sale_order = self.distribute_to_factory(obj)
+ obj.sale_order_id = sale_order.id
obj.state = '待接单'
return obj
diff --git a/sf_sale/models/quick_easy_order_old.py b/sf_sale/models/quick_easy_order_old.py
index 724d4369..768c483c 100644
--- a/sf_sale/models/quick_easy_order_old.py
+++ b/sf_sale/models/quick_easy_order_old.py
@@ -51,6 +51,7 @@ class QuickEasyOrder(models.Model):
('success', '成功'),
('fail', '失败')], string='模型上色状态')
processing_time = fields.Integer('加工时长(min)')
+ sale_order_id = fields.Many2one('sale.order', '销售订单号')
@api.depends('unit_price', 'quantity')
def _compute_total_amount(self):
@@ -79,12 +80,12 @@ class QuickEasyOrder(models.Model):
base64_datas = base64_data.decode('utf-8')
model_code = hashlib.sha1(base64_datas.encode('utf-8')).hexdigest()
report_path = attachment._full_path(attachment.store_fname)
- vals['model_file'] = self.transition_glb_file(report_path, model_code)
obj = super(QuickEasyOrder, self).create(vals)
logging.info('---------向cloud生成模型库记录-------')
self.model_coloring(obj)
logging.info('---------开始派单到工厂-------')
- self.distribute_to_factory(obj)
+ sale_order = self.distribute_to_factory(obj)
+ obj.sale_order_id = sale_order.id
obj.state = '待接单'
return obj
@@ -264,6 +265,7 @@ class QuickEasyOrder(models.Model):
product_bom_purchase = self.env['mrp.bom'].bom_create(product, 'normal', False)
product_bom_purchase.bom_create_line_has(purchase_embryo)
order_id.with_user(self.env.ref("base.user_admin")).sale_order_create_line(product, item)
+ return order_id
except Exception as e:
# self.cr.rollback()
return UserError('工厂创建销售订单和产品失败,请联系管理员')
diff --git a/sf_sale/models/sale_order.py b/sf_sale/models/sale_order.py
index e3d8d65a..99af4c0f 100644
--- a/sf_sale/models/sale_order.py
+++ b/sf_sale/models/sale_order.py
@@ -141,6 +141,19 @@ class ResaleOrderLine(models.Model):
model_glb_file = fields.Binary('模型的glb文件')
check_status = fields.Selection(related='order_id.check_status')
+ @api.onchange('product_id')
+ def _compute_model_glb_file(self):
+ for line in self:
+ if line.product_template_id:
+ if not line.model_glb_file:
+ line.update({
+ 'model_glb_file': line.product_id.product_tmpl_id.model_file,
+ })
+ if not line.price_unit:
+ line.update({
+ 'price_unit': line.product_id.product_tmpl_id.list_price,
+ })
+
class ProductTemplate(models.Model):
_inherit = 'product.template'
diff --git a/sf_sale/security/group_security.xml b/sf_sale/security/group_security.xml
index c6af4225..5f23b5bb 100644
--- a/sf_sale/security/group_security.xml
+++ b/sf_sale/security/group_security.xml
@@ -99,6 +99,26 @@
+
+
+
+ 销售经理只可以查看本人的快速订单
+
+ [('create_uid', '=',user.id)]
+
+
+
+
+
+
+
+ 销售总监查看所有快速订单
+
+ [(1,'=',1)]
+
+
+
+
\ 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/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 @@
+