diff --git a/sf_manufacturing/models/stock.py b/sf_manufacturing/models/stock.py index 65a01e68..ac52babb 100644 --- a/sf_manufacturing/models/stock.py +++ b/sf_manufacturing/models/stock.py @@ -952,23 +952,32 @@ class ReStockMove(models.Model): 合并制造订单的完成move单据 """ res = super(ReStockMove, self)._merge_moves_fields() - res = self._single_manufactuing_mo_generate_origin(res) + if self[0].origin and self.picking_type_id.name in ['生产发料', '内部调拨']: + production = self.env['mrp.production'].search([('name', '=', self[0].origin)], limit=1, order='id asc') + productions = self.env['mrp.production'].search([('origin', '=', production.origin), ('product_id', '=', production.product_id.id)]) + res['origin'] = ','.join(productions.mapped('name')) return res def _get_new_picking_values(self): + """ + 创建调拨单时,在此新增或修改调拨单的数据 + """ res = super(ReStockMove, self)._get_new_picking_values() - res = self._single_manufactuing_mo_generate_origin(res) + if self[0].origin and self.picking_type_id.name in ['生产发料', '内部调拨']: + production = self.env['mrp.production'].search([('name', '=', self[0].origin)], limit=1, order='id asc') + productions = self.env['mrp.production'].search([('origin', '=', production.origin), ('product_id', '=', production.product_id.id)]) + res['origin'] = ','.join(productions.mapped('name')) + res['carrier_tracking_ref'] = production.product_id.name + return res + # 增加追踪参考 + res['carrier_tracking_ref'] = self.carrier_tracking_ref return res def _single_manufactuing_mo_generate_origin(self, res): """ 单个制造订单的完成move单据修改来源为该制造订单关联的销售订单下所有成品相同的制造订单 """ - if self[0].origin and self.picking_type_id.name in ['生产发料', '内部调拨']: - production = self.env['mrp.production'].search([('name', '=', self[0].origin)], limit=1, order='id asc') - productions = self.env['mrp.production'].search([('origin', '=', production.origin), ('product_id', '=', production.product_id.id)]) - res['origin'] = ','.join(productions.mapped('name')) - return res + class ReStockQuant(models.Model):