/**
  * Compare old budget with new budget temp structure
  * Part of check structure validation
  * @param type $code
  * @return boolean
  */
 public function addedRecords($code)
 {
     $added = TRUE;
     //Check Existing of Budget Record
     $dipa = Dipa::model()->find(array('order' => 'id DESC'));
     if ($dipa) {
         $dipaId = $dipa->id;
         $budget = Budget::model()->findByAttributes(array('code' => $code, 'dipa_id' => $dipaId));
         if ($budget) {
             $added = FALSE;
         }
     }
     return $added;
 }
 /**
  * Input multiple data to database
  */
 public function actionEntry()
 {
     $model = new Package();
     $lastDipa = Dipa::model()->find(array('order' => 'id DESC'));
     $lastDipaId = $lastDipa->id;
     if (isset($_POST['code'])) {
         if ($lastDipa) {
             $total = count($_POST['code']);
             for ($i = 0; $i < $total; $i++) {
                 if ($_POST['code'][$i] != NULL && $_POST['ppk_code'][$i] != NULL && $_POST['city_code'][$i] != NULL) {
                     $code = $_POST['code'][$i];
                     //Check existed record
                     $record = Package::model()->findByAttributes(array('code' => $code));
                     if ($record) {
                         $budgets = Budget::model()->findAllByAttributes(array('subcomponent_code' => "{$record->code}", 'dipa_id' => "{$lastDipaId}"));
                         $record->ppk_code = $_POST['ppk_code'][$i];
                         $record->city_code = $_POST['city_code'][$i];
                         $record->province_code = City::model()->findByAttributes(array('code' => "{$record->city_code}"))->province_code;
                         if ($budgets) {
                             foreach ($budgets as $budgetData) {
                                 $pAccount = PackageAccount::model()->findByAttributes(array('code' => "{$budgetData->code}"));
                                 if ($pAccount) {
                                     $pAccount->limit = $budgetData->total_budget_limit;
                                     $pAccount->ppk_code = $record->ppk_code;
                                     $pAccount->province_code = $record->province_code;
                                     $pAccount->city_code = $record->city_code;
                                     $pAccount->update();
                                 }
                             }
                         }
                         $record->update();
                     } else {
                         $data = new Package();
                         $data->code = $_POST['code'][$i];
                         $budget = Budget::model()->findByAttributes(array('subcomponent_code' => $_POST['code'][$i]), array('order' => 'dipa_id DESC'));
                         if ($budget) {
                             $data->satker_code = "{$budget->satker_code}";
                             $data->activity_code = "{$budget->activity_code}";
                             $data->output_code = "{$budget->output_code}";
                             $data->suboutput_code = "{$budget->suboutput_code}";
                             $data->name = $budget->subcomponentCode->name;
                             $data->component_code = "{$budget->component_code}";
                             $data->ppk_code = $_POST['ppk_code'][$i];
                             $data->city_code = $_POST['city_code'][$i];
                             $data->province_code = City::model()->findByAttributes(array('code' => "{$data->city_code}"))->province_code;
                             $budgets = Budget::model()->findAllByAttributes(array('subcomponent_code' => "{$data->code}", 'dipa_id' => "{$lastDipaId}"));
                             if ($budgets) {
                                 foreach ($budgets as $dataBudget) {
                                     $paModel = new PackageAccount();
                                     $paModel->code = "{$dataBudget->code}";
                                     $paModel->satker_code = "{$dataBudget->satker_code}";
                                     $paModel->activity_code = "{$dataBudget->activity_code}";
                                     $paModel->output_code = "{$dataBudget->output_code}";
                                     $paModel->suboutput_code = "{$dataBudget->suboutput_code}";
                                     $paModel->component_code = "{$dataBudget->component_code}";
                                     $paModel->package_code = "{$dataBudget->subcomponent_code}";
                                     $paModel->account_code = "{$dataBudget->account_code}";
                                     $paModel->ppk_code = "{$data->ppk_code}";
                                     $paModel->province_code = "{$data->province_code}";
                                     $paModel->city_code = "{$data->city_code}";
                                     $paModel->limit = "{$dataBudget->total_budget_limit}";
                                     $paModel->save();
                                 }
                             }
                             $data->save();
                         } else {
                             Yii::app()->user->setFlash('notice', 'Data DIPA belum diinput dengan lengkap. Beberapa data informasi tambahan gagal ditambahkan.');
                             $this->redirect(array('index'));
                         }
                     }
                 } else {
                     Yii::app()->user->setFlash('error', "Mohon isikan data secara lengkap.");
                     $this->redirect(array('entry'));
                 }
             }
         } else {
             Yii::app()->user->setFlash('error', 'Data DIPA/POK belum diinput.');
             $this->redirect(array('index'));
         }
         Yii::app()->user->setFlash('success', 'Data berhasil disimpan.');
         $this->redirect(array('index'));
     }
     $this->render('entry', array('model' => $model));
 }
Esempio n. 3
0
<?php

$this->breadcrumbs = array('Budgets' => array('index'), 'Manage');
$this->menu = array(array('label' => 'List Budget', 'url' => array('index')), array('label' => 'Create Budget', 'url' => array('create')));
Yii::app()->clientScript->registerScript('search', "\n\$('.search-button').click(function(){\n\t\$('.search-form').toggle();\n\treturn false;\n});\n\$('.search-form form').submit(function(){\n\t\$.fn.yiiGridView.update('budget-grid', {\n\t\tdata: \$(this).serialize()\n\t});\n\treturn false;\n});\n");
?>




<?php 
$this->widget('bootstrap.widgets.TbGridView', array('id' => 'budget-grid', 'dataProvider' => $model->search(), 'filter' => $model, 'columns' => array(array('header' => 'No', 'value' => '$this->grid->dataProvider->pagination->currentPage * $this->grid->dataProvider->pagination->pageSize + ($row+1)'), array('name' => 'dipa_id', 'value' => '$data->dipa->dipa_number', 'filter' => Dipa::model()->getDipaOptions()), array('name' => 'output_code', 'value' => 'isset($data->outputCode->name)?$data->outputCode->name:$data->output_code', 'filter' => Output::model()->getOutputOptions()), array('name' => 'suboutput_code', 'value' => 'isset($data->suboutputCode->name)?$data->suboutputCode->name:$data->suboutput_code', 'filter' => Suboutput::model()->getSuboutputOptions()), array('name' => 'component_code', 'value' => 'isset($data->componentCode->name)?$data->componentCode->name:$data->component_code', 'filter' => Component::model()->getComponentOptions()), array('name' => 'subcomponent_code', 'value' => 'isset($data->subcomponentCode->name)?$data->subcomponentCode->name:$data->subcomponent_code', 'filter' => Subcomponent::model()->getSubcomponentOptions()), 'subcomponent_code', array('name' => 'account_code', 'value' => 'isset($data->accountCode->name)?$data->accountCode->name:$data->account_code', 'filter' => Account::model()->getAccountOptions()), array("name" => "total_budget_limit", "value" => 'Yii::app()->format->number($data->total_budget_limit)', 'htmlOptions' => array('style' => 'text-align: right;')), array('class' => 'bootstrap.widgets.TbButtonColumn'))));