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 @@ +