diff --git a/sf_bf_connect/views/view.xml b/sf_bf_connect/views/view.xml index 184d0e71..f4245343 100644 --- a/sf_bf_connect/views/view.xml +++ b/sf_bf_connect/views/view.xml @@ -58,7 +58,7 @@ - + diff --git a/sf_manufacturing/__manifest__.py b/sf_manufacturing/__manifest__.py index fd15858a..5106dcb1 100644 --- a/sf_manufacturing/__manifest__.py +++ b/sf_manufacturing/__manifest__.py @@ -29,6 +29,7 @@ 'views/production_line_view.xml', 'views/mrp_workcenter_views.xml', 'views/mrp_workorder_view.xml', + 'views/stock_picking_view.xml', 'views/model_type_view.xml', 'views/agv_setting_views.xml', 'views/sf_maintenance_equipment.xml', diff --git a/sf_manufacturing/models/product_template.py b/sf_manufacturing/models/product_template.py index b7aa1adb..71aa05f8 100644 --- a/sf_manufacturing/models/product_template.py +++ b/sf_manufacturing/models/product_template.py @@ -141,11 +141,11 @@ class ResProductMo(models.Model): cutting_tool_coarse_medium_fine = fields.Selection(related='cutting_tool_model_id.integral_coarse_medium_fine', string='粗/中/精') # cutting_tool_model_id.integral_coarse_medium_fine # cutting_tool_run_out_accuracy_max = fields.Float('端跳精度max', digits=(6, 1)) - cutting_tool_run_out_accuracy_max = fields.Char(related='cutting_tool_model_id.integral_run_out_accuracy_max', string='端跳精度max', digits=(6, 1)) + cutting_tool_run_out_accuracy_max = fields.Char(related='cutting_tool_model_id.integral_run_out_accuracy_max', string='端跳精度max') # cutting_tool_model_id.integral_run_out_accuracy_max # cutting_tool_run_out_accuracy_min = fields.Float('端跳精度min', digits=(6, 1)) cutting_tool_run_out_accuracy_min = fields.Char(related='cutting_tool_model_id.integral_run_out_accuracy_min', - string='端跳精度min', digits=(6, 1)) + string='端跳精度min') # cutting_tool_model_id.integral_run_out_accuracy_min # cutting_tool_blade_tip_working_size = fields.Char('刀尖倒角度(°)', size=20) cutting_tool_blade_tip_working_size = fields.Char(related='specification_id.blade_tip_working_size', diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py index 40d159d5..fb678fd3 100644 --- a/sf_manufacturing/models/stock.py +++ b/sf_manufacturing/models/stock.py @@ -548,6 +548,35 @@ class StockPicking(models.Model): _inherit = 'stock.picking' surface_technics_parameters_id = fields.Many2one('sf.production.process.parameter', string="表面工艺可选参数") + person_of_delivery = fields.Char('收货人', compute='_compute_origin', store=True) + telephone_of_delivery = fields.Char('电话号码', compute='_compute_origin', store=True) + address_of_delivery = fields.Char('联系地址', compute='_compute_origin') + + retrospect_ref = fields.Char('追溯参考', compute='_compute_origin', store=True) + + @api.depends('origin') + def _compute_origin(self): + """ + 计算带料入库单对应销售单 + """ + for item in self: + if item.picking_type_id.sequence_code == 'DL' and item.origin: + if 'WH/IN/' in item.origin: + picking_id = self.env['stock.picking'].search([('name', '=', item.origin)]) + if picking_id and picking_id.origin: + purchase_id = self.env['purchase.order'].sudo().search([('name', '=', picking_id.origin)]) + if purchase_id and purchase_id.origin: + sale_id = self.env['sale.order'].sudo().search([('name', '=', purchase_id.origin)]) + item.person_of_delivery = sale_id.person_of_delivery + item.telephone_of_delivery = sale_id.telephone_of_delivery + item.address_of_delivery = sale_id.address_of_delivery + + bom = self.env['mrp.bom'].sudo().search([('bom_line_ids.product_id', '=', self.move_ids.product_id.id)]) + if bom: + if item.picking_type_id.sequence_code == 'DL': + item.retrospect_ref = bom.product_tmpl_id.default_code + elif item.picking_type_id.sequence_code in ['INT', 'PC']: + item.retrospect_ref = bom.product_tmpl_id.name # 设置外协出入单的名称 def _get_name_Res(self, rescode): @@ -741,6 +770,8 @@ class ReStockMove(models.Model): self.next_serial = self.env['stock.lot']._get_next_serial(self.company_id, self.product_id) elif self.product_id.tracking == "lot": self._put_tool_lot(self.company_id, self.product_id, self.origin) + if not self.move_line_nosuggest_ids: + self._generate_serial_numbers() return { 'name': _('Detailed Operations'), diff --git a/sf_manufacturing/views/mrp_workorder_view.xml b/sf_manufacturing/views/mrp_workorder_view.xml index 8d3c6c4f..bb06fa04 100644 --- a/sf_manufacturing/views/mrp_workorder_view.xml +++ b/sf_manufacturing/views/mrp_workorder_view.xml @@ -197,7 +197,7 @@ -