Esempio n. 1
0
 /**
  * Finds the Komisi model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param string $id
  * @return Komisi the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel()
 {
     $model = Komisi::find()->one();
     if ($model !== null) {
     } else {
         $model = new Komisi();
         $model->KOM_BELI = 0.25;
         $model->KOM_JUAL = 0.35;
         $model->save();
     }
     return $model;
 }
Esempio n. 2
0
 public function getKomisi()
 {
     $komisi = Komisi::find()->select('KOM_BELI')->one();
     $kom_beli = '0.00';
     if ($komisi !== null) {
         $kom_beli = (double) $komisi->KOM_BELI;
     }
     return $kom_beli;
 }
 /**
  * Lists all Emiten models.
  * @return mixed
  */
 public function actionIndex($date = '')
 {
     $session = Yii::$app->session;
     $simulation = new DynamicModel(['tipe', 'jml_lot', 'harga', 'komisi', 'total_komisi', 'jml_saham', 'range', 'total_harga']);
     $simulation->addRule(['tipe', 'jml_lot', 'harga'], 'required');
     $simulation->tipe = 1;
     $selectDate = [];
     if (!empty($date)) {
         $selectDate = $this->getDates($date)[0];
         if (!$this->checkDetemitenByDate($date)) {
             // TIDAK ADA DETEMITEN
             $maxDate = $this->getMaxDetemitenDate();
             $connection = \Yii::$app->db;
             $transaction = $connection->beginTransaction();
             try {
                 $sql = "INSERT INTO detemiten\n                  SELECT '" . $selectDate . "', emiten.KODE, emiten.JMLLOT, emiten.JMLSAHAM,\n                  emiten.SALDO, emiten.SALDOR1, emiten.HARGA, '" . $maxDate . "',\n                  emiten.JMLLOTB, emiten.JMLSAHAMB, emiten.SALDOB\n                  FROM emiten WHERE emiten.JMLLOT>0";
                 $connection->createCommand($sql)->execute();
                 //f.	Buat query untuk menampung data detemiten dimana tanggal = [tglMax]
                 //select * from detemiten where tanggal = [tglMax]
                 $emitens = Detemiten::find()->where(['TGL' => $maxDate])->all();
                 //g.	Lakukan looping sebanyak record yg dihasilkan dari query f.
                 foreach ($emitens as $emiten) {
                     /*
                     Setiap looping lakukan update harga sbb :
                     For i = 1 To RecordCount
                     update detemiten set harga = [harga hasil query f]
                     where kode = [kode hasil query f] and tanggal = [tgl yg dipilih]
                     Next i
                     */
                     $emiten_update = Detemiten::find()->where(['EMITEN_KODE' => $emiten->EMITEN_KODE, 'TGL' => $selectDate])->one();
                     if ($emiten_update) {
                         $emiten_update->HARGA = $emiten->HARGA;
                         $emiten_update->save();
                     }
                 }
                 $transaction->commit();
                 Yii::$app->session->setFlash('success', 'Success.');
             } catch (Exception $e) {
                 Yii::$app->session->setFlash('error', 'Fatal error.');
                 $transaction->rollback();
             }
         }
     }
     $reportDates = [];
     $detemitenDates = [];
     foreach ($this->getDetemitenDates() as $detemitenDate) {
         $formatDate = date('d-M-Y', strtotime($detemitenDate));
         if (empty($reportDates)) {
             if (empty($selectDate)) {
                 $reportDates = $this->getDates($formatDate);
             } else {
                 $reportDates = $this->getDates($date);
                 //die($selectDate[0]);
             }
         }
         $detemitenDates[$formatDate] = $formatDate;
     }
     $session->set('reportDates', $reportDates);
     $session->set('detemitenDates', $detemitenDates);
     $komisi = Komisi::find()->one();
     $lotshare = Lotshare::find()->one();
     //$detemitenDates = ['31-Oct-2015'=>'31-Oct-2015'];
     //Saldo**) = jmlsaham * harga
     $detemitenSaldo = Detemiten::find()->select('SUM(JMLSAHAM * HARGA) as total_saldo')->where(['TGL' => $reportDates[0]])->asArray()->one();
     $total_saldo = $detemitenSaldo['total_saldo'];
     $session->set('total_saldo', $total_saldo);
     $detemitenLabaRugi = Detemiten::find()->select('SUM(JMLSAHAM * HARGA - SALDO) as total_laba_rugi')->where(['TGL' => $reportDates[0]])->asArray()->one();
     $total_laba_rugi = $detemitenLabaRugi['total_laba_rugi'];
     $session->set('total_laba_rugi', $total_laba_rugi);
     $searchModel = new DetemitenSearch(['TGL' => $reportDates[0]]);
     $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
     $dataProvider2 = clone $dataProvider;
     $session->set('dataProvider', $dataProvider2);
     $dataProvider->pagination->pageSize = 10;
     return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'simulation' => $simulation, 'reportDates' => $reportDates, 'detemitenDates' => $detemitenDates, 'komisi' => $komisi, 'lotshare' => $lotshare, 'total_saldo' => $total_saldo, 'total_laba_rugi' => $total_laba_rugi]);
 }