/**
  * Action Prosess Approval Colomn Row
  * @param string $id
  * @author ptrnov  <*****@*****.**>
  * @since 1.1
  */
 public function actionApproved($kd)
 {
     /*
      * Init Models
      * @author ptrnov  <*****@*****.**>
      * @since 1.1    
      **/
     //$ro = new Requestorder();
     $roHeader = Requestorder::find()->where(['KD_RO' => $kd])->one();
     $detro = $roHeader->detro;
     $employ = $roHeader->employe;
     $dept = $roHeader->dept;
     /*
      * Convert $roHeader->detro to ArrayDataProvider | Identity 'key' => 'ID',
      * @author ptrnov  <*****@*****.**>
      * @since 1.1    
      **/
     $detroProvider = new ArrayDataProvider(['key' => 'ID', 'allModels' => $detro, 'pagination' => ['pageSize' => 10]]);
     /*
      * Process Editable Row [Columm SQTY]
      * @author ptrnov  <*****@*****.**>
      * @since 1.1    
      **/
     if (Yii::$app->request->post('hasEditable')) {
         $id = Yii::$app->request->post('editableKey');
         $model = Rodetail::findOne($id);
         $out = Json::encode(['output' => '', 'message' => '']);
         $post = [];
         $posted = current($_POST['Rodetail']);
         $post['Rodetail'] = $posted;
         if ($model->load($post)) {
             $model->save();
             $output = '';
             if (isset($posted['RQTY'])) {
                 $output = $model->RQTY;
             }
             if (isset($posted['SQTY'])) {
                 $output = $model->SQTY;
             }
             if (isset($posted['NOTE'])) {
                 // $output =  Yii::$app->formatter->asDecimal($model->EMP_NM, 2);
                 $output = $model->NOTE;
             }
             $out = Json::encode(['output' => $output, 'message' => '']);
         }
         // return ajax json encoded response and exit
         echo $out;
         return;
     }
     /*
      * Render Approved View
      * @author ptrnov  <*****@*****.**>
      * @since 1.1    
      **/
     return $this->render('approved', ['roHeader' => $roHeader, 'detro' => $detro, 'employ' => $employ, 'dept' => $dept, 'dataProvider' => $detroProvider]);
 }
 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(['KD_PO' => $dataKdPo, 'KD_RO' => $dataKdRo, '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 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;
                     }
                     //$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;
                     //$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;
     }
 }
 public function actionCk()
 {
     if (Yii::$app->request->isAjax) {
         Yii::$app->response->format = Response::FORMAT_JSON;
         $request = Yii::$app->request;
         //$dataKeylist=$request->post('keylist');
         //$dataKeyRslt=$request->post('keysRslt');
         //$kdRo=$request->post('kdRo');
         $dataKeySelect = $request->post('keysSelect');
         $dataKdRo = $request->post('kdRo');
         $dataKdBrg = $request->post('kdBrg');
         //$valueCk=$request->post('value');
         //$roDetail = Rodetail::findOne($id);
         //$roDetail->TMP_CK = 1;// valueCk;//$roDetail->TMP_CK==0 ? 1 :0;
         //$roDetail->save();
         //print_r($dataKeySelect);
         //print_r($dataKdRo);
         //print_r(json_encode($dataKeySelect));
         //$poDetail = Podetail::find()->where(['KD_PO'=>$kdpo, 'ID'=>$idpo])->one();
         /* 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=101')->one();
                 $poDetail = Purchasedetail::find()->where(['KD_RO' => $dataKdRo, 'KD_BARANG' => $roDetail->KD_BARANG])->one();
                 if (!$poDetail) {
                     //$roDetail = Rodetail::findOne($idx);
                     $roDetail->TMP_CK = 1;
                     $roDetail->save();
                     $res = array('status' => true);
                     /* tidak ada Data pada Purchasedetail |KD_RO&KD_BARANG */
                 } else {
                     $res = array('status' => false);
                     /* sudah ada Data pada Purchasedetail |KD_RO&KD_BARANG */
                 }
             }
         }
         //$res = array('status' => 't');
         return $res;
         /*  return Json::encode([
         					'status' => '1',
         				]); */
         /*  return $res;
         			return Json(new {success = true}); */
         //return $a;
         /* return [
         				//'status' => 'false', 
         				'message' => 'message',
         			]; */
     }
 }