public function actionGenerateProductSet($id, $product_id) { $dataMove = StockMove::find()->where(['id' => $id])->one(); $bom = MrpBom::find()->where(['product_id' => $product_id, 'type' => 'phantom'])->one(); if (!$bom) { throw new NotFoundHttpException('This Product Not Setted Into Phantom BOM'); } $searchModel = new MrpBomSearch(); $dataProvider = $searchModel->searchBom($bom->id); foreach ($dataProvider->getModels() as $model) { $newMove = new StockMove(); $newMove->create_uid = $dataMove->create_uid; $newMove->create_date = $dataMove->create_date; $newMove->date = $dataMove->create_date; $newMove->write_date = $dataMove->write_date; $newMove->write_uid = $dataMove->write_uid; $newMove->origin = $dataMove->origin; $newMove->product_uos_qty = $dataMove->product_uos_qty; $newMove->date_expected = $dataMove->date_expected; $newMove->product_uom = $model->product_uom; $newMove->move_dest_id = $dataMove->id; $newMove->product_qty = $dataMove->product_qty * $model->product_qty; $newMove->product_uos = $model->product_uom; $newMove->partner_id = $dataMove->partner_id; $newMove->product_id = $model->product_id; $newMove->location_id = $dataMove->location_id; $newMove->company_id = $dataMove->company_id; $newMove->picking_id = $dataMove->picking_id; $newMove->state = $dataMove->state; $newMove->location_dest_id = $dataMove->location_dest_id; $newMove->tracking_id = $dataMove->tracking_id; $newMove->product_packaging = $dataMove->product_packaging; $newMove->purchase_line_id = $dataMove->purchase_line_id; $newMove->sale_line_id = $dataMove->sale_line_id; $newMove->name = $model->name; $newMove->desc = $model->name; $newMove->no = $dataMove->no; $newMove->weight_uom_id = 3; $newMove->save(); } $stockmove = StockMove::findOne($id); $stockmove->picking_id = ''; $stockmove->location_dest_id = 12; $stockmove->update(); return $this->redirect(['view-move-childs', 'id' => $id]); }
/** * Lists all MrpBom models. * @return mixed */ public function actionIndex() { $searchModel = new MrpBomSearch(); $dataProvider = $searchModel->searchPhantom(Yii::$app->request->queryParams); return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]); }