diff --git a/sf_quality/models/quality.py b/sf_quality/models/quality.py index 201103f1..80fe2f46 100644 --- a/sf_quality/models/quality.py +++ b/sf_quality/models/quality.py @@ -84,6 +84,18 @@ class QualityCheck(models.Model): raise ValidationError('请填写【判定结果】里的信息') if self.test_results == '合格': raise ValidationError('请重新选择【判定结果】-【检测结果】') + if self.workorder_id.routing_type != 'CNC加工' and self.workorder_id.individuation_page_PTD is False: + self.workorder_id.production_id.write({'detection_result_ids': [(0, 0, { + 'rework_reason': self.workorder_id.reason, + 'detailed_reason': self.workorder_id.detailed_reason, + 'processing_panel': self.workorder_id.processing_panel, + 'routing_type': self.workorder_id.routing_type, + 'handle_result': '待处理' if (self.workorder_id.test_results in ['返工', '报废'] + or self.workorder_id.is_rework is True) else '', + 'test_results': self.workorder_id.test_results, + 'test_report': self.workorder_id.detection_report})], + 'is_scrap': True if self.workorder_id.test_results == '报废' else False + }) if self.workorder_id.state not in ['done']: self.workorder_id.write( {'test_results': self.test_results, 'reason': self.reason, 'detailed_reason': self.detailed_reason}) diff --git a/sf_stock/models/stock_picking.py b/sf_stock/models/stock_picking.py index f8105097..7b73485b 100644 --- a/sf_stock/models/stock_picking.py +++ b/sf_stock/models/stock_picking.py @@ -18,7 +18,7 @@ class StockPicking(models.Model): @api.depends('name') def _compute_pro_purchase_count(self): for sp in self: - if sp: + if sp.name and sp.name != '/': po_ids = self.env['purchase.order'].sudo().search([ ('origin', 'like', sp.name), ('purchase_type', '=', 'standard')]) if po_ids: @@ -52,7 +52,7 @@ class StockPicking(models.Model): @api.depends('name') def _compute_pro_out_purchase_count(self): for sp in self: - if sp: + if sp.name and sp.name != '/': po_ids = self.env['purchase.order'].sudo().search([ ('origin', 'like', sp.name), ('purchase_type', '=', 'outsourcing')]) if po_ids: