diff --git a/quality_control/__manifest__.py b/quality_control/__manifest__.py index d8dc1ed2..59fbbb98 100644 --- a/quality_control/__manifest__.py +++ b/quality_control/__manifest__.py @@ -8,7 +8,7 @@ 'sequence': 120, 'summary': 'Control the quality of your products', 'website': 'https://www.odoo.com/app/quality', - 'depends': ['quality'], + 'depends': ['quality', 'sf_manufacturing'], 'description': """ Quality Control =============== diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py index 9674d5a2..e6006c57 100644 --- a/sf_manufacturing/models/mrp_production.py +++ b/sf_manufacturing/models/mrp_production.py @@ -1618,6 +1618,26 @@ class MrpProduction(models.Model): }) return action + def _subcontract_sanity_check(self): + for production in self: + if production.product_tracking != 'none' and not self.lot_producing_id: + raise UserError(_('You must enter a serial number for %s') % production.product_id.name) + for sml in production.move_raw_ids.move_line_ids: + if sml.tracking != 'none' and not sml.lot_id: + picking_ids = production.picking_ids.filtered( + lambda p: p.state not in ['done', 'cancel']) + picking_num = len(picking_ids) + picking_info = ', '.join( + ['%s:%s' % (picking.picking_type_id.name, picking.name) for picking in picking_ids] + ) + if picking_info: + raise UserError(_('您有%s补给未完成: %s') % ( + picking_num, picking_info)) + else: + raise UserError( + _('您必须为以下各%s行输入序列号') % sml.product_id.display_name) + return True + class sf_detection_result(models.Model): _name = 'sf.detection.result' diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py index 84bba9ba..c874cbc2 100644 --- a/sf_manufacturing/models/stock.py +++ b/sf_manufacturing/models/stock.py @@ -611,6 +611,7 @@ class StockPicking(models.Model): sale_info = production_list[0].sale_order_id if sale_info: item.sale_order_id = sale_info.id + item.retrospect_ref = sale_info.order_code if item.picking_type_id.sequence_code == 'DL': item.person_of_delivery = sale_info.person_of_delivery item.telephone_of_delivery = sale_info.telephone_of_delivery diff --git a/sf_manufacturing/views/stock_picking_view.xml b/sf_manufacturing/views/stock_picking_view.xml index 8b6fc571..6c268b82 100644 --- a/sf_manufacturing/views/stock_picking_view.xml +++ b/sf_manufacturing/views/stock_picking_view.xml @@ -17,6 +17,9 @@ stock.picking + + +