Ejemplo n.º 1
0
 public function actionUpdate($id)
 {
     $totalCount = \backend\models\Saleorderinvoiceline::find()->where(['invid' => $id])->count();
     $saleincluded = \backend\models\Invoicerefsale::find()->where(['invid' => $id])->all();
     $saleincludedcount = \backend\models\Invoicerefsale::find()->where(['invid' => $id])->count();
     $pages = new Pagination(['totalCount' => $totalCount, 'pageSize' => 20]);
     $searchModel = \backend\models\Saleorderinvoiceline::find()->where(['invid' => $id])->orderBy('recid')->offset($pages->offset)->limit($pages->limit)->all();
     $model = $this->findModel($id);
     if ($model->load(Yii::$app->request->post())) {
         $saledate = $_POST['Saleorderinvoice']['invoicedate'];
         $model->invoicedate = date('d/M/Y H:i:s', strtotime($saledate));
         if ($model->save()) {
             $uploaded = UploadedFile::getInstance($model, 'upfile');
             $result = 0;
             if (!empty($uploaded)) {
                 $upfiles = time() . "." . $uploaded->getExtension();
                 $uploaded->saveAs('../../uploads/' . $upfiles);
                 $handle = fopen('../../uploads/' . $upfiles, 'r');
                 $n = 0;
                 while (($fileop = fgetcsv($handle, 1000, ",")) !== false) {
                     if ($n < 1) {
                         $n++;
                         continue;
                     }
                     $model2 = new \backend\models\Saleorderinvoiceline();
                     $model2->invid = $model->recid;
                     $model2->invline = $fileop[0];
                     $model2->partno = $fileop[1];
                     $model2->description = $fileop[2];
                     $model2->quantity = $fileop[3];
                     $model2->unitprice = $fileop[4];
                     $model2->totalamount = $fileop[5];
                     $model2->unit = 1;
                     if ($model2->save()) {
                         $result++;
                     }
                 }
                 fclose($handle);
                 if ($result > 0) {
                     $session = new \yii\web\Session();
                     $session->open();
                     $session->setFlash('msgsuccess', 'บันทึกรายการเรียบร้อย');
                     return $this->redirect(['update', 'id' => $model->recid]);
                 }
             }
         } else {
         }
     } else {
         return $this->render('update', ['model' => $model, 'saleline' => $searchModel, 'pages' => $pages, 'rowcount' => $totalCount, 'saleincluded' => $saleincluded, 'saleincludedcount' => $saleincludedcount]);
     }
     return $this->render('update', ['model' => $model, 'saleline' => $searchModel, 'pages' => $pages, 'rowcount' => $totalCount, 'saleincluded' => $saleincluded, 'saleincludedcount' => $saleincludedcount]);
 }