/**
  * Saved Data Rodetail
  * @author ptrnov  <*****@*****.**>
  * @since 1.1
  */
 public function additem_saved()
 {
     if ($this->validate()) {
         $rodetail = new Rodetail();
         $rodetail->CREATED_AT = date('Y-m-d H:i:s');
         $rodetail->KD_RO = $this->kD_RO;
         //required
         $rodetail->KD_CORP = $this->kD_CORP;
         //required
         $rodetail->PARENT_ROSO = 0;
         // RO=1 		//required
         $rodetail->KD_BARANG = $this->kD_BARANG;
         $rodetail->NM_BARANG = $this->valuesBarang($this->kD_BARANG)->NM_BARANG;
         $rodetail->UNIT = $this->uNIT;
         $rodetail->RQTY = $this->rQTY;
         $rodetail->SQTY = $this->rQTY;
         $rodetail->NOTE = $this->nOTE;
         $rodetail->HARGA = $this->valuesBarang($this->kD_BARANG)->HARGA_SPL;
         $rodetail->STATUS = 0;
         if ($rodetail->save()) {
             return $rodetail;
         }
         return $rodetail;
     }
     return null;
 }
 /**
  * Saved Data Rodetail
  * @author ptrnov  <*****@*****.**>
  * @since 1.1
  */
 public function additem_saved()
 {
     if ($this->validate()) {
         $rodetail = new Rodetail();
         $rodetail->CREATED_AT = date('Y-m-d H:i:s');
         $rodetail->KD_RO = $this->kD_RO;
         $rodetail->KD_BARANG = $this->kD_BARANG;
         $rodetail->NM_BARANG = $this->namaBarang($this->kD_BARANG);
         $rodetail->UNIT = $this->uNIT;
         $rodetail->RQTY = $this->rQTY;
         $rodetail->NOTE = $this->nOTE;
         $rodetail->STATUS = 0;
         if ($rodetail->save()) {
             return $rodetail;
         }
         return $rodetail;
     }
     return null;
 }
 /**
  * Saved Data Rodetail
  * @author ptrnov  <*****@*****.**>
  * @since 1.1
  */
 public function addnewitem_saved()
 {
     if ($this->validate()) {
         $barangNew = new Barang();
         $this->kD_BARANG = Yii::$app->esmcode->kdbarangUmum(0, $this->kD_CORP, $this->kD_TYPE, $this->kD_KATEGORI, $this->uNIT);
         $barangNew->KD_BARANG = $this->kD_BARANG;
         $barangNew->NM_BARANG = $this->nM_BARANG;
         $barangNew->KD_UNIT = $this->uNIT;
         $barangNew->HARGA_SPL = $this->hARGA;
         $barangNew->PARENT = 0;
         $barangNew->KD_CORP = $this->kD_CORP;
         $barangNew->KD_TYPE = $this->kD_TYPE;
         $barangNew->KD_KATEGORI = $this->kD_KATEGORI;
         $barangNew->KD_SUPPLIER = $this->kD_SUPPLIER;
         $barangNew->STATUS = 1;
         $barangNew->CREATED_BY = Yii::$app->user->identity->username;
         $barangNew->CREATED_AT = date('Y-m-d H:i:s');
         $barangNew->UPDATED_BY = Yii::$app->user->identity->username;
         if ($barangNew->validate()) {
             $barangNew->save();
             $rodetail = new Rodetail();
             $rodetail->CREATED_AT = date('Y-m-d H:i:s');
             $rodetail->KD_RO = $this->kD_RO;
             //required
             $rodetail->KD_CORP = $this->kD_CORP;
             //required
             $rodetail->PARENT_ROSO = 0;
             // RO=1 		//required
             $rodetail->KD_BARANG = $this->kD_BARANG;
             $rodetail->NM_BARANG = $this->nM_BARANG;
             $rodetail->UNIT = $this->uNIT;
             $rodetail->RQTY = $this->rQTY;
             $rodetail->SQTY = $this->rQTY;
             $rodetail->NOTE = $this->nOTE;
             $rodetail->HARGA = $this->hARGA;
             $rodetail->STATUS = 0;
             if ($rodetail->save()) {
                 // print_r($rodetail->geterrors());
                 return $rodetail;
             }
         }
     }
     return null;
 }
 /**
  * Check QTY SUM |RoDetail <= Purchasdetail 
  * @author ptrnov  <*****@*****.**>
  * @since 1.1
  */
 public function findcheck($attribute, $params)
 {
     if (!$this->hasErrors()) {
         $roDetail = Rodetail::find()->where(['ID' => $this->{$iD}])->one();
         //$cntDetailPo = Purchasedetail::find()->where(['KD_PO'=>$this->kD_PO,'KD_BARANG'=>$this->kD_BARANG])->count();
         $pqtyTaken = "SELECT SUM(QTY) as QTY FROM p0002 WHERE KD_RO='" . $roDetail->kD_RO . "' AND KD_BARANG='" . $roDetail->kD_BARANG . "'";
         $poDetailQtySum = Purchasedetail::findBySql($pqtyTaken)->one();
         //$roDetail=Rodetail::find()->where(['KD_RO'=>$this->kD_PO,'KD_BARANG'=>$this->kD_BARANG])->one();
         $poQty = $poDetailQtySum->QTY != '' ? $poDetailQtySum->QTY : 0;
         $roQty = $roDetail->SQTY;
         if ($poDetailQtySum) {
             $ttlPQTY = $roQty - $poQty;
             if ($this->PQTY > $ttlPQTY) {
                 $this->addError($attribute, 'QTY Request Order Limited, please insert free Qty, Check Request Order');
             }
         } elseif (!$poDetailQtySum) {
             if ($this->PQTY > $roQty) {
                 $this->addError($attribute, 'QTY Request Order Limited, please insert free Qty, Check Request Order');
             }
         }
     }
 }
 public function actionSimpan()
 {
     $cons = \Yii::$app->db_esm;
     $tes = Yii::$app->request->post();
     $kdpo = $tes['kdpo'];
     $kdro = $tes['kdro'];
     $status = '';
     foreach ($tes['selection'] as $key => $isi) {
         $pp = explode('_', $isi);
         $rd = Rodetail::find()->where(['ID' => $pp[1]])->one();
         $ckpo = Purchasedetail::find()->where(['KD_BARANG' => $rd->KD_BARANG, 'KD_PO' => $kdpo, 'UNIT' => $rd->UNIT])->andWhere('STATUS <> 3')->one();
         if (count($ckpo) == 0) {
             $command = $cons->createCommand();
             $command->insert('p0002', ['KD_PO' => $kdpo, 'QTY' => $rd->SQTY, 'UNIT' => $rd->UNIT, 'STATUS' => 0, 'KD_BARANG' => $rd->KD_BARANG])->execute();
             $id = $cons->getLastInsertID();
             $command->insert('p0021', ['KD_PO' => $kdpo, 'KD_RO' => $tes['kdro'], 'ID_DET_RO' => $pp[1], 'ID_DET_PO' => $id, 'QTY' => $rd->SQTY, 'UNIT' => $rd->UNIT, 'STATUS' => 1])->execute();
         } else {
             $dpo = Podetail::find()->where(['ID_DET_PO' => $ckpo->ID, 'KD_RO' => $kdro])->andWhere('STATUS <> 3')->one();
             if (count($dpo) == 1) {
                 $status .= '<p class="bg-danger" style="padding:15px;" >RO "<b>' . $kdro . '</b>" dengan kode barang " <b>' . $rd->KD_BARANG . '</b> " Sudah ada di dalam list.<br/> silahkan ubah jumlah Quantity barangnya.</p>';
             } else {
                 $command = $cons->createCommand();
                 $command->insert('p0021', ['KD_PO' => $kdpo, 'KD_RO' => $tes['kdro'], 'ID_DET_RO' => $pp[1], 'ID_DET_PO' => $ckpo->ID, 'QTY' => $rd->SQTY, 'UNIT' => $rd->UNIT, 'STATUS' => 1])->execute();
                 $ttl = $rd->SQTY + $ckpo->QTY;
                 $idpo = $ckpo->ID;
                 $command->update('p0002', ['QTY' => $ttl], "ID='{$idpo}'")->execute();
             }
         }
     }
     \Yii::$app->getSession()->setFlash('error', $status);
     return $this->redirect(['create', 'kdpo' => $kdpo]);
 }
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Rodetail::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['ID' => $this->ID, 'QTY' => $this->QTY, 'STATUS' => $this->STATUS, 'CREATED_AT' => $this->CREATED_AT, 'UPDATED_AT' => $this->UPDATED_AT]);
     $query->andFilterWhere(['like', 'KD_RO', $this->KD_RO])->andFilterWhere(['like', 'KD_BARANG', $this->KD_BARANG])->andFilterWhere(['like', 'NM_BARANG', $this->NM_BARANG])->andFilterWhere(['like', 'NO_URUT', $this->NO_URUT])->andFilterWhere(['like', 'NOTE', $this->NOTE]);
     return $dataProvider;
 }
Exemple #7
0
 public function getDetro()
 {
     return $this->hasMany(Rodetail::className(), ['KD_RO' => 'KD_RO']);
 }
 public function actionHapusro($kd)
 {
     $model = Requestorder::find()->where(['KD_RO' => $kd])->one();
     $model->STATUS = 3;
     $model->save();
     $model = Rodetail::find()->where(['KD_RO' => $kd])->one();
     $model->STATUS = 3;
     $model->save();
     return Yii::$app->getResponse()->redirect(['/purchasing/request-order/index']);
 }
Exemple #9
0
?>

<!-- Stack the columns on mobile by making one full-width and the other half-width -->
<div class="row">

<?php 
if ($quer->STATUS != 102) {
    if ($kr == 'HR-02') {
        ?>
	<div class="col-xs-12 col-md-3">
    <?php 
        Pjax::begin(['id' => 'pjax-users']);
        ?>
    <?php 
        echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => ['KD_RO', ['format' => 'raw', 'value' => function ($data) {
            $count = Rodetail::find()->where(['KD_RO' => $data->KD_RO])->count();
            if (!empty($count)) {
                return Html::a('<button type="button" class="btn btn-primary btn-xs">View</button>', ['detail', 'kd_ro' => $data->KD_RO, 'kdpo' => $_GET['kdpo']], ['data-toggle' => "modal", 'data-target' => "#myModal", 'data-title' => $data->KD_RO]);
                // ubah ini
            } else {
                return '<button type="button" class="btn btn-danger btn-xs">No Data</button>';
            }
        }]]]);
        ?>
    <?php 
        Pjax::end();
        ?>
	
	<?php 
        $this->registerJs("\n\t\t    \$('#myModal').on('show.bs.modal', function (event) {\n\t\t        var button = \$(event.relatedTarget)\n\t\t        var modal = \$(this)\n\t\t        var title = button.data('title') \n\t\t        var href = button.attr('href') \n\t\t        modal.find('.modal-title').html(title)\n\t\t        modal.find('.modal-body').html('<i class=\"fa fa-spinner fa-spin\"></i>')\n\t\t        \$.post(href)\n\t\t            .done(function( data ) {\n\t\t                modal.find('.modal-body').html(data)\n\t\t            });\n\t\t        })\n\t\t");
        Modal::begin(['id' => 'myModal', 'header' => '<h4 class="modal-title">...</h4>']);
 public function actionCk()
 {
     if (Yii::$app->request->isAjax) {
         Yii::$app->response->format = Response::FORMAT_JSON;
         $request = Yii::$app->request;
         $dataKeySelect = $request->post('keysSelect');
         $dataKdPo = $request->post('kdpo');
         $dataKdRo = $request->post('kdRo');
         $dataKdBrg = $request->post('kdBrg');
         /* Before Action -> 0 */
         $AryKdRo = ArrayHelper::map(Rodetail::find()->where(['KD_RO' => $dataKdRo])->andWhere('STATUS=101')->all(), 'ID', 'ID');
         //print_r($AryKdRo);
         $foreaceAryKdRo = $AryKdRo != 0 ? $AryKdRo : 'Array([0]=>"0")';
         foreach ($foreaceAryKdRo as $keyRo) {
             $roDetailHapus = Rodetail::findOne($keyRo);
             $roDetailHapus->TMP_CK = 0;
             $roDetailHapus->save();
         }
         $res = array('status' => 'true');
         /* An Action -> 0 */
         //print_r($dataKeySelect);
         if ($dataKeySelect != 0) {
             //$foreaceGvRoToPo=$dataKeySelect!=0? $dataKeySelect:'Array([0]=>"0")';
             foreach ($dataKeySelect as $idx) {
                 $roDetail = Rodetail::find()->where(['KD_RO' => $dataKdRo, 'ID' => $idx])->andWhere('STATUS=1')->one();
                 //STT =202
                 $poDetail = Purchasedetail::find()->where('STATUS<>3 AND KD_PO="' . $dataKdPo . '" AND KD_RO="' . $dataKdRo . '" AND KD_BARANG="' . $roDetail->KD_BARANG . '"')->one();
                 $poUnit = $roDetail->cunit;
                 //$poBarangUmum=$roDetail->barangumum;
                 if (!$poDetail) {
                     //$roDetail = Rodetail::findOne($idx);
                     $roDetail->TMP_CK = 0;
                     /* Untuk testing Checkbook 1 | 0 */
                     //$roDetail->save();
                     $res = array('status' => true);
                     /* tidak ada Data pada Purchasedetail |KD_RO&KD_BARANG */
                     /*Save To Purchase detail*/
                     $poDetailModel = new Purchasedetail();
                     $poDetailModel->KD_PO = $dataKdPo;
                     $poDetailModel->KD_RO = $dataKdRo;
                     $poDetailModel->KD_BARANG = $roDetail->KD_BARANG;
                     $poDetailModel->NM_BARANG = $roDetail->NM_BARANG;
                     $poDetailModel->UNIT = $poUnit->KD_UNIT;
                     $poDetailModel->NM_UNIT = $poUnit->NM_UNIT;
                     $poDetailModel->UNIT_QTY = $poUnit->QTY;
                     $poDetailModel->UNIT_WIGHT = $poUnit->WEIGHT;
                     /*FORMULA*/
                     $pqtyTaken = "SELECT SUM(QTY) as QTY FROM p0002 WHERE STATUS<>3 AND KD_RO='" . $dataKdRo . "' AND KD_BARANG='" . $roDetail->KD_BARANG . "' GROUP BY KD_BARANG";
                     $countQtyTaken = Purchasedetail::findBySql($pqtyTaken)->one();
                     if ($countQtyTaken) {
                         $qtyInPo = $countQtyTaken->QTY != '' ? $countQtyTaken->QTY : 0;
                     } else {
                         $qtyInPo = 0;
                     }
                     // print_r($qtyInPo);
                     // die();
                     //$qtyInPo=$countQtyTaken->QTY!=''? $countQtyTaken->QTY :0;
                     $actualQty = $roDetail->SQTY - $qtyInPo;
                     if ($actualQty > 0) {
                         $poDetailModel->QTY = $actualQty;
                     } else {
                         $poDetailModel->QTY = 0;
                     }
                     //if($roDetail->PARENT_ROSO==0){
                     $poDetailModel->HARGA = $roDetail->HARGA;
                     //RO
                     //}elseif($roDetail->PARENT_ROSO==1){
                     //	$poDetailModel->HARGA=$roDetail->HARGA_PABRIK; //SO
                     //}
                     $poDetailModel->STATUS = 0;
                     // validasi if po
                     // print_r($roDetail->KD_BARANG);
                     // die();
                     $rorqty = "SELECT SUM(RQTY) as RQTY FROM r0003 WHERE STATUS<>3 AND KD_RO='" . $dataKdRo . "' AND KD_BARANG='" . $roDetail->KD_BARANG . "' GROUP BY KD_BARANG";
                     $countQtyro = Rodetail::findBySql($rorqty)->one();
                     $Rqty = $countQtyro->RQTY;
                     if ($Rqty == $qtyInPo) {
                         $res = array('status' => false);
                     } else {
                         $roDetail->save();
                         $poDetailModel->save();
                     }
                     //$poDetailModel->STATUS_DATE =date;//\Yii::$app->formatter->asDate(date,'Y-M-d hh:mm:ss');
                     // 	$roDetail->save();
                     // $poDetailModel->save();
                 } else {
                     $res = array('status' => false);
                     /* sudah ada Data pada Purchasedetail |KD_RO&KD_BARANG */
                 }
             }
         }
         //$res = array('status' => 't');
         return $res;
     }
 }