/** * Check KD_RO dan KD_BARANG * @author ptrnov <*****@*****.**> * @since 1.1 */ public function findcheck($attribute, $params) { if (!$this->hasErrors()) { //$kondisiTrue = Rodetail::find()->where(['KD_RO' => $this->kD_RO, 'KD_BARANG' => $this->kD_BARANG ])->one(); $kondisiTrue = Rodetail::find()->where("KD_RO='" . $this->kD_RO . "' AND KD_BARANG='" . $this->kD_BARANG . "' AND STATUS<>3")->one(); if ($kondisiTrue) { $this->addError($attribute, 'Duplicated Items Barang !, Better (-/+) Request.Qty '); } } }
/** * 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; }
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']); }
?> <!-- 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; } }