コード例 #1
0
 public function actionPpkPackageChart($id, $ppkId)
 {
     $component = Component::model()->findByPk($id);
     $ppk = Ppk::model()->findByPk($ppkId);
     $packageAccounts = PackageAccount::model()->findAllByAttributes(array('component_code' => "{$component->code}", 'ppk_code' => "{$ppk->code}"));
     $packageLists = array();
     if ($packageAccounts) {
         foreach ($packageAccounts as $packageAccount) {
             $package = $packageAccount->package->name;
             if (!in_array($package, $packageLists, true)) {
                 array_push($packageLists, $package);
             }
         }
     }
     $packageIdLists = array();
     if ($packageAccounts) {
         foreach ($packageAccounts as $packageAccount) {
             $packageId = $packageAccount->package->id;
             if (!in_array($packageId, $packageIdLists, true)) {
                 array_push($packageIdLists, $packageId);
             }
         }
     }
     $packageCodes = array();
     if ($packageAccounts) {
         foreach ($packageAccounts as $packageAccount) {
             $code = $packageAccount->package_code;
             if (!in_array($code, $packageCodes, true)) {
                 array_push($packageCodes, $code);
             }
         }
     }
     $limits = array();
     for ($i = 0; $i < count($packageCodes); $i++) {
         $accounts = PackageAccount::model()->findAllByAttributes(array('package_code' => $packageCodes[$i], 'ppk_code' => $ppk->code));
         $limit = 0;
         if ($accounts) {
             foreach ($accounts as $account) {
                 $limit += $account->limit;
             }
             array_push($limits, $limit);
         }
     }
     $realizations = array();
     for ($i = 0; $i < count($packageCodes); $i++) {
         $accounts = PackageAccount::model()->findAllByAttributes(array('package_code' => $packageCodes[$i], 'ppk_code' => $ppk->code));
         $realization = 0;
         if ($accounts) {
             foreach ($accounts as $account) {
                 $realization += $account->getTotal($account->code)['realization'];
             }
             array_push($realizations, $realization);
         }
     }
     $rests = array();
     for ($i = 0; $i < count($packageCodes); $i++) {
         $accounts = PackageAccount::model()->findAllByAttributes(array('package_code' => $packageCodes[$i], 'ppk_code' => $ppk->code));
         $rest = 0;
         if ($accounts) {
             foreach ($accounts as $account) {
                 $rest += $account->getTotal($account->code)['restMoney'];
             }
             array_push($rests, $rest);
         }
     }
     $rates = array();
     for ($i = 0; $i < count($packageCodes); $i++) {
         $accounts = PackageAccount::model()->findAllByAttributes(array('package_code' => $packageCodes[$i], 'ppk_code' => $ppk->code));
         $realization = 0;
         $limit = 0;
         if ($accounts) {
             foreach ($accounts as $account) {
                 $realization += $account->getTotal($account->code)['realization'];
                 $limit += $account->limit;
             }
             $rate = $realization / $limit;
             array_push($rates, $rate);
         } else {
             array_push($rates, 0);
         }
     }
     $this->render('ppkPackageChart', array('ppk' => $ppk, 'packageLists' => $packageLists, 'id' => $packageIdLists, 'limits' => $limits, 'realizations' => $realizations, 'rests' => $rests, 'rates' => $rates));
 }
コード例 #2
0
 public function actionView($id)
 {
     Yii::app()->session['component'];
     $model = Component::model()->findByPk($id);
     $this->render('view', array('model' => $model));
 }
コード例 #3
0
 /**
  * Export Data to Excel
  */
 public function actionExport()
 {
     /** Get model */
     $models = Component::model()->findAll();
     /** Error reporting */
     $this->excelErrorReport();
     /** PHPExcel_IOFactory */
     $objReader = new PHPExcel();
     $objReader = PHPExcel_IOFactory::createReader('Excel2007');
     $path = Yii::app()->basePath . '/../export/component.xlsx';
     $pathExport = Yii::app()->basePath . '/../files/Master Komponen.xlsx';
     $objPHPExcel = $objReader->load($path);
     $objPHPExcel->setActiveSheetIndex(0);
     /* " Add new data to template" */
     $this->exportExcel($objPHPExcel, $models);
     /** Export to excel* */
     $this->excel($objPHPExcel, $pathExport);
     readfile($pathExport);
     unlink($pathExport);
     exit;
 }
コード例 #4
0
<div class="panel panel-default" style="color: black">
    <div class="panel-header">
        <?php 
/*
 $this->breadcrumbs = array(
 'Subcomponents' => array('index'),
 'Manage',
 );
* 
*/
?>
        <a href="<?php 
echo yii::app()->baseUrl;
?>
/subcomponent/export" class="btn btn-primary"><i class="fa fa fa-download"></i> Export</a>
        <a href="<?php 
echo yii::app()->baseUrl;
?>
/subcomponent/import" class="btn btn-primary"><i class="fa fa fa-upload"></i> Import</a>
        <!--<a href="<?php 
echo yii::app()->baseUrl;
?>
/subcomponent/clear" onclick="return confirm('Yakin ingin menghapus semua data subkomponen?')" class="btn btn-primary"><i class="fa fa fa-trash"></i>Bersihkan Data</a>-->

    </div>
    <div class="panel-body">
        <?php 
$this->widget('bootstrap.widgets.TbGridView', array('id' => 'subcomponent-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' => 'satker_code', 'value' => 'isset($data->satker->name)?$data->satker->name:"Not set"', 'filter' => Satker::model()->getSatkerOptions()), array('name' => 'activity_code', 'value' => 'isset($data->activity->name)?$data->activity->name:"Not set"', 'filter' => Activity::model()->getActivityOptions()), 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()), 'code', 'name', array('class' => 'bootstrap.widgets.TbButtonColumn', 'template' => '{view}'))));
?>
    </div>
</div>
コード例 #5
0
 public function getComponentOptions()
 {
     $models = Component::model()->findAll();
     $options = array();
     foreach ($models as $model) {
         $options[$model->code] = "[{$model->code}] | {$model->name}";
     }
     return $options;
 }
コード例 #6
0
 /**
  * Check completeness data of master
  * @return boolean
  */
 public function checkMaster()
 {
     $complete = false;
     $ppk = Ppk::model()->exists();
     $satker = Satker::model()->exists();
     $activity = Activity::model()->exists();
     $output = Output::model()->exists();
     $suboutput = Suboutput::model()->exists();
     $component = Component::model()->exists();
     $subcomponent = Subcomponent::model()->exists();
     $account = Account::model()->exists();
     $province = Province::model()->exists();
     $city = City::model()->exists();
     if ($ppk && $satker && $activity && $output && $suboutput & $component && $subcomponent && $account && $province && $city) {
         $complete = TRUE;
     }
     return $complete;
 }
コード例 #7
0
<?php 
echo $form->errorSummary($model);
?>

<?php 
echo $form->dropDownListRow($model, "output_code", Output::model()->getOutputOptions(), array("prompt" => "Please Select"));
?>


<?php 
echo $form->dropDownListRow($model, "suboutput_code", Suboutput::model()->getSuboutputOptions(), array("prompt" => "Please Select"));
?>


<?php 
echo $form->dropDownListRow($model, "component_code", Component::model()->getComponentOptions(), array("prompt" => "Please Select"));
?>


<?php 
echo $form->textFieldRow($model, 'code', array('class' => 'span5', 'maxlength' => 256));
?>


<?php 
echo $form->textFieldRow($model, 'name', array('class' => 'span5', 'maxlength' => 256));
?>


<div class="form-actions">
    <?php 
コード例 #8
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'))));