public function actionUnposting($id)
    {
        $_curPeriod = Yii::app()->settings->get("System", "cCurrentPeriod");
        $_lastPeriod = sParameter::cBeginDateBefore(Yii::app()->settings->get("System", "cCurrentPeriod"));
        $locked = uJournal::model()->updateByPk((int) $id, array('state_id' => 2, 'updated_date' => time(), 'updated_id' => Yii::app()->user->id));
        $models = uJournalDetail::model()->with('journal')->findAll(array('condition' => 'parent_id =' . $id));
        foreach ($models as $model) {
            $modelBalanceCurrent = tBalanceSheet::model()->find(array('condition' => 'parent_id =' . $model->account_no_id . ' AND yearmonth_periode = ' . $_curPeriod));
            $_debit = $model->debit;
            $_credit = $model->credit;
            $_curdebit = $modelBalanceCurrent->debit - $_debit;
            $_curcredit = $modelBalanceCurrent->credit - $_credit;
            $_curbalance = $modelBalanceCurrent->end_balance;
            if ($model->account->getSideValue() == 1 || isset($model->account->reverse)) {
                //Asset, Expense
                $_endbalance = $_curbalance - $_debit + $_credit;
            } else {
                //Pasiva, Income
                $_endbalance = $_curbalance - $_credit + $_debit;
            }
            $command = Yii::app()->db->createCommand('
					UPDATE  t_balance_sheet SET
					debit = ' . $_curdebit . ',
					credit = ' . $_curcredit . ',
					end_balance = ' . $_endbalance . '
					WHERE yearmonth_periode = ' . $_curPeriod . ' AND parent_id = ' . $model->account_no_id);
            $command->execute();
        }
    }
<h2>Balance Sheet</h2>
<?php 
$this->widget('bootstrap.widgets.BootGridView', array('id' => 't-account-balance-sum-grid', 'dataProvider' => tBalanceSheet::model()->search($model->id), 'template' => '{items}{pager}', 'itemsCssClass' => 'table table-striped table-bordered', 'columns' => array(array('name' => 'type_balance_id', 'value' => 'sParameter::item("cBalanceType",$data->type_balance_id)'), 'yearmonth_periode', array('name' => 'beginning_balance', 'value' => 'Yii::app()->indoFormat->number($data->beginning_balance)', 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;')), array('name' => 'debit', 'value' => 'Yii::app()->indoFormat->number($data->debit)', 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;')), array('name' => 'credit', 'value' => 'Yii::app()->indoFormat->number($data->credit)', 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;')), array('name' => 'end_balance', 'value' => 'Yii::app()->indoFormat->number($data->end_balance)', 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;')))));
?>

<br>

<h2>
	Current Period Journal List:
	<?php 
echo Yii::app()->settings->get("System", "cCurrentPeriod");
?>
</h2>

<?php 
$this->widget('bootstrap.widgets.BootGridView', array('id' => 't-account-balance-grid', 'dataProvider' => uJournalDetail::model()->searchByAccount($model->id), 'template' => '{items}{pager}{summary}', 'itemsCssClass' => 'table table-striped table-bordered', 'columns' => array(array('class' => 'BootButtonColumn', 'template' => '{post}', 'buttons' => array('post' => array('label' => '<i class="icon-ok-sign"></i> Post', 'url' => '
										Yii::app()->createUrl("/m2/tPosting/posting",
										array("id"=>$data->journal->id))
										', 'visible' => '$data->journal->state_id ==1 || $data->journal->state_id ==2', 'click' => '
										function(){
										$.ajax({
										type : "get",
										url  : $(this).attr("href"),
										data: "",
										success : function(r){
										$("#mydialog").dialog("open");
										setTimeout(\'$("#mydialog").dialog("close") \',1200);

}
})
										$.fn.yiiGridView.update("t-account-balance-grid", {
<?php

$this->widget('bootstrap.widgets.BootGridView', array('id' => 'u-journal-detail-grid', 'dataProvider' => uJournalDetail::model()->search($id), 'template' => '{items}{pager}', 'itemsCssClass' => 'table table-striped table-bordered', 'columns' => array(array('name' => 'account_no_id', 'type' => 'raw', 'value' => 'CHtml::link($data->account->account_no.". ".$data->account->account_name,Yii::app()->createUrl("/m2/tAccount/view",array("id"=>$data->account->id)))'), array('class' => 'ext.gridcolumns.TotalColumn', 'name' => 'debit', 'output' => 'Yii::app()->indoFormat->number($value)', 'type' => 'raw', 'footer' => true, 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;'), 'footerHtmlOptions' => array('style' => 'text-align: right; padding-right: 5px;')), array('class' => 'ext.gridcolumns.TotalColumn', 'name' => 'credit', 'output' => 'Yii::app()->indoFormat->number($value)', 'type' => 'raw', 'footer' => true, 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;'), 'footerHtmlOptions' => array('style' => 'text-align: right; padding-right: 5px;')), 'user_remark')));
?>


<?php 
$this->widget('bootstrap.widgets.BootDetailView', array('data' => uJournal::model()->findByPk((int) $id), 'attributes' => array(array('label' => 'Total', 'value' => Yii::app()->indoFormat->number(uJournal::model()->findByPk((int) $id)->journalSum)), array('label' => 'Check', 'value' => 'WARNING!!! NOT BALANCE... CONTACT DEVELOPER', 'visible' => uJournal::model()->findByPk((int) $id)->journalSum != uJournal::model()->findByPk((int) $id)->journalSumCek))));
 protected function afterDelete()
 {
     $log = new zArLog();
     $log->description = 'User ' . Yii::app()->user->Name . ' deleted ' . get_class($this->Owner) . '[' . $this->system_ref . '].';
     $log->action = 'DELETE';
     $log->model = get_class($this->Owner);
     $log->idModel = $this->Owner->getPrimaryKey();
     $log->field = '';
     $log->creationdate = new CDbExpression('NOW()');
     $log->userid = Yii::app()->user->id;
     $log->save();
     uJournalDetail::model()->deleteAll('parent_id = ' . $this->id);
     return true;
 }
 public function actionCreate()
 {
     $model = new fJournal();
     //$this->performAjaxValidation($model);
     //default value
     $_myDebit = 0;
     $_myCredit = 0;
     $model->balance = "NOT OK";
     if (isset($_POST['account_no_id'])) {
         $model->attributes = $_POST['fJournal'];
         $model->account_no_id = $_POST['account_no_id'];
         $model->debit = $_POST['debit'];
         $model->credit = $_POST['credit'];
         $model->user_remark = $_POST['user_remark'];
         foreach ($model->debit as $_debit) {
             $_myDebit = $_myDebit + $_debit;
         }
         foreach ($model->credit as $_credit) {
             $_myCredit = $_myCredit + $_credit;
         }
         if ($_myDebit == $_myCredit && $_myDebit != 0 && $_myCredit != 0) {
             $model->balance = "OK";
         } else {
             $model->balance = "NOT OK";
         }
         if ($model->validate()) {
             $modelHeader = new uJournal();
             $modelHeader->input_date = $_POST['fJournal']['input_date'];
             $modelHeader->yearmonth_periode = Yii::app()->settings->get("System", "cCurrentPeriod");
             $modelHeader->remark = $_POST['fJournal']['remark'];
             $modelHeader->entity_id = 1;
             $modelHeader->module_id = 1;
             //GL
             $modelHeader->state_id = 1;
             $modelHeader->journal_type_id = 1;
             $modelHeader->save();
             for ($i = 0; $i < sizeof($model->account_no_id); ++$i) {
                 $modelDetail = new uJournalDetail();
                 $modelDetail->parent_id = $modelHeader->id;
                 $modelDetail->account_no_id = $model->account_no_id[$i];
                 if ($model->debit[$i] != null) {
                     $modelDetail->debit = $model->debit[$i];
                 } else {
                     $modelDetail->debit = 0;
                 }
                 if ($model->credit[$i] != null) {
                     $modelDetail->credit = $model->credit[$i];
                 } else {
                     $modelDetail->credit = 0;
                 }
                 $modelDetail->user_remark = $model->user_remark[$i];
                 $modelDetail->sub_account_id = 0;
                 $modelDetail->save();
             }
             //Create System_ref
             $_ref = "GL-" . $modelHeader->yearmonth_periode . "-" . str_pad($modelHeader->id, 5, "0", STR_PAD_LEFT);
             $modelHeader->updateByPk((int) $modelHeader->id, array('system_ref' => $_ref));
             Yii::app()->user->setFlash("success", "<strong>Great!</strong> Journal created succesfully...");
             $this->redirect(array('/m2/uJournal'));
         }
     }
     $this->render('create', array('model' => $model));
 }
 public function actionCreate()
 {
     $model = new fJournal('cashbank');
     //$this->performAjaxValidation($model);
     $_myDebit = 0;
     $_myCredit = 0;
     $_myBalance = 0;
     $model->balance = "NOT OK";
     if (isset($_POST['account_no_id'])) {
         $model->attributes = $_POST['fJournal'];
         $model->validate();
         if (isset($_POST['fJournal']['cb_receiver'])) {
             //Expense
             $model->account_no_id = $_POST['account_no_id'];
             $model->debit = $_POST['debit'];
             $model->credit = $_POST['credit'];
             $model->user_remark = $_POST['user_remark'];
             foreach ($model->debit as $_debit) {
                 $_myDebit = $_myDebit + $_debit;
             }
             foreach ($model->credit as $_credit) {
                 $_myCredit = $_myCredit + $_credit;
             }
             $_myBalance = $_myDebit - $_myCredit;
             $model->balance = "OK";
             if ($model->validate()) {
                 $modelHeader = new uJournal();
                 $modelHeader->input_date = $_POST['fJournal']['input_date'];
                 $modelHeader->yearmonth_periode = Yii::app()->settings->get("System", "cCurrentPeriod");
                 $modelHeader->remark = $_POST['fJournal']['remark'];
                 $modelHeader->user_ref = $_POST['fJournal']['cb_receiver'];
                 $modelHeader->entity_id = sUser::model()->getGroup();
                 //default Group
                 $modelHeader->module_id = 2;
                 //CB
                 $modelHeader->state_id = 1;
                 $modelHeader->journal_type_id = 2;
                 //CB-expense
                 $modelHeader->save();
                 $_tdebet = 0;
                 $_tcredit = 0;
                 for ($i = 0; $i < sizeof($model->account_no_id); ++$i) {
                     $modelDetail = new uJournalDetail();
                     $modelDetail->parent_id = $modelHeader->id;
                     $modelDetail->account_no_id = $model->account_no_id[$i];
                     if ($model->debit[$i] != null) {
                         $modelDetail->debit = $model->debit[$i];
                     } else {
                         $modelDetail->debit = 0;
                     }
                     if ($model->credit[$i] != null) {
                         $modelDetail->credit = $model->credit[$i];
                     } else {
                         $modelDetail->credit = 0;
                     }
                     $modelDetail->user_remark = $model->user_remark[$i];
                     $modelDetail->save();
                 }
                 $modelDetail = new uJournalDetail();
                 $modelDetail->parent_id = $modelHeader->id;
                 $modelDetail->account_no_id = $_POST['fJournal']['var_account'];
                 $modelDetail->debit = 0;
                 $modelDetail->credit = $_myBalance;
                 $modelDetail->system_remark = "Automated by System";
                 $modelDetail->user_remark = $model->user_remark[0];
                 $modelDetail->save();
                 //Create System_ref
                 $_ref = "CB-" . $modelDetail->account->cashbank->mtext . "-" . $modelHeader->yearmonth_periode . "-EXP-" . str_pad($modelHeader->id, 5, "0", STR_PAD_LEFT);
                 $modelHeader->updateByPk((int) $modelHeader->id, array('system_ref' => $_ref));
                 Yii::app()->user->setFlash("success", "Journal created succesfully...");
                 $this->redirect(array('/mCashbank'));
             }
             $this->render('create', array('model' => $model));
             Yii::app()->end();
         } else {
             //Income
             $model->account_no_id = $_POST['account_no_id'];
             $model->debit = $_POST['debit'];
             $model->credit = $_POST['credit'];
             $model->user_remark = $_POST['user_remark'];
             foreach ($model->debit as $_debit) {
                 $_myDebit = $_myDebit + $_debit;
             }
             foreach ($model->credit as $_credit) {
                 $_myCredit = $_myCredit + $_credit;
             }
             $_myBalance = $_myCredit - $_myDebit;
             $model->balance = "OK";
             if ($model->validate()) {
                 $modelHeader = new uJournal();
                 $modelHeader->input_date = $_POST['fJournal']['input_date'];
                 $modelHeader->yearmonth_periode = Yii::app()->settings->get("System", "cCurrentPeriod");
                 $modelHeader->remark = $_POST['fJournal']['remark'];
                 $modelHeader->user_ref = $_POST['fJournal']['cb_received_from'];
                 $modelHeader->entity_id = sUser::model()->getGroup();
                 //default Group
                 $modelHeader->module_id = 2;
                 //CB
                 $modelHeader->state_id = 1;
                 $modelHeader->journal_type_id = 1;
                 //CB-Income
                 $modelHeader->save();
                 $modelDetail = new uJournalDetail();
                 $modelDetail->parent_id = $modelHeader->id;
                 $modelDetail->account_no_id = $_POST['fJournal']['var_account'];
                 $modelDetail->debit = $_myBalance;
                 $modelDetail->credit = 0;
                 $modelDetail->system_remark = "Automated by System";
                 $modelDetail->user_remark = $model->user_remark[0];
                 $modelDetail->save();
                 //Create System_ref
                 $_ref = "CB-" . $modelDetail->account->cashbank->mtext . "-" . $modelHeader->yearmonth_periode . "-INC-" . str_pad($modelHeader->id, 5, "0", STR_PAD_LEFT);
                 $modelHeader->updateByPk((int) $modelHeader->id, array('system_ref' => $_ref));
                 $_tdebet = 0;
                 $_tcredit = 0;
                 for ($i = 0; $i < sizeof($model->account_no_id); ++$i) {
                     $modelDetail = new uJournalDetail();
                     $modelDetail->parent_id = $modelHeader->id;
                     $modelDetail->account_no_id = $model->account_no_id[$i];
                     if ($model->debit[$i] != null) {
                         $modelDetail->debit = $model->debit[$i];
                     } else {
                         $modelDetail->debit = 0;
                     }
                     if ($model->credit[$i] != null) {
                         $modelDetail->credit = $model->credit[$i];
                     } else {
                         $modelDetail->credit = 0;
                     }
                     $modelDetail->user_remark = $model->user_remark[$i];
                     $modelDetail->save();
                 }
                 Yii::app()->user->setFlash("success", "Journal created succesfully... View Jurnal: " . CHtml::link($modelHeader->system_ref, Yii::app()->createUrl("/mCashbank/view", array("id" => $modelHeader->id))));
                 $this->redirect(array('/mCashbank'));
             }
             $this->render('create', array('model' => $model));
             Yii::app()->end();
         }
     }
     $this->render('create', array('model' => $model));
 }
 public function actionJournalPayment()
 {
     if (isset($_POST['journal_id'])) {
         $total = 0;
         $m_ref = array();
         foreach ($_POST['journal_id'] as $a => $val) {
             $model = vPorder::model()->findByPk((int) $val);
             $total = $total + $model->sum_po;
             $m_ref[] = $model->system_ref;
             if ($model->journal_state_id == 3) {
                 Yii::app()->user->setFlash("error", "<strong>Error!</strong> This PO already journalled...");
                 $this->redirect(array('/m2/mAccpayable', 'id' => 3));
             } else {
                 vPorder::model()->updateByPk((int) $val, array('journal_state_id' => 3));
             }
         }
         $modelHeader = new uJournal();
         $modelHeader->input_date = Yii::app()->dateFormatter->format("dd-MM-yyyy", time());
         $modelHeader->yearmonth_periode = Yii::app()->settings->get("System", "cCurrentPeriod");
         $modelHeader->remark = implode($m_ref, " ");
         $modelHeader->entity_id = sUser::model()->getGroup();
         //default group
         $modelHeader->module_id = 3;
         //AP
         $modelHeader->journal_type_id = 2;
         //Payment
         $modelHeader->state_id = 1;
         $modelHeader->created_by = Yii::app()->user->id;
         $modelHeader->created_date = time();
         $modelHeader->save();
         //Create System_ref
         $_ref = "AP-" . $modelHeader->yearmonth_periode . "-" . str_pad($modelHeader->id, 5, "0", STR_PAD_LEFT);
         $modelHeader->updateByPk((int) $modelHeader->id, array('system_ref' => $_ref));
         $modelDetail = new uJournalDetail();
         $modelDetail->parent_id = $modelHeader->id;
         $_inventory = tAccount::model()->with('hutang')->find('hutang.mvalue=1')->id;
         $modelDetail->account_no_id = $_inventory;
         $modelDetail->debit = $total;
         $modelDetail->credit = 0;
         $modelDetail->user_remark = implode($m_ref, " ");
         $modelDetail->save();
         $modelPayment = vPorderPayment::model()->findAll('parent_id = ' . $model->id);
         foreach ($modelPayment as $payment) {
             $modelDetail = new uJournalDetail();
             $modelDetail->parent_id = $modelHeader->id;
             $modelDetail->account_no_id = $payment->payment_source_id;
             $modelDetail->debit = 0;
             $modelDetail->credit = $payment->amount;
             $modelDetail->user_remark = implode($m_ref, " ");
             $modelDetail->save();
         }
         //in case ada selisih
         if ($payment->amount != $total) {
             $modelDetail = new uJournalDetail();
             $modelDetail->parent_id = $modelHeader->id;
             $_inventory = tAccount::model()->with('hutang')->find('hutang.mvalue=1')->id;
             $modelDetail->account_no_id = $_inventory;
             $modelDetail->debit = $payment->amount - $total;
             $modelDetail->credit = 0;
             $modelDetail->user_remark = 'Correction: ' . implode($m_ref, " ");
             $modelDetail->save();
         }
         Yii::app()->user->setFlash("success", "<strong>Great!</strong> Payment Journal created succesfully...");
         $this->render('viewJournal', array('model' => $modelHeader));
     } else {
         $this->redirect(array('/m2/mAccpayable'));
     }
 }
 function report($id)
 {
     $this->SetFont('Arial', 'B', 12);
     $this->Cell(0, 8, 'JOURNAL VOUCHER', '', 0, 'C');
     $this->Ln(8);
     $model = uJournal::model()->findByPk((int) $id);
     //Header
     $this->SetFont('Arial', '', 10);
     $this->Cell(25, 4, 'Voucher No.');
     $this->SetFont('Arial', 'B', 10);
     $this->Cell(50, 4, ': ' . $model->system_ref);
     $this->Ln();
     $this->SetFont('Arial', '', 10);
     $this->Cell(25, 4, 'Date');
     $this->SetFont('Arial', 'B', 10);
     $this->Cell(60, 4, ': ' . $model->input_date);
     $this->Ln();
     $this->SetFont('Arial', '', 10);
     $this->Cell(25, 4, 'Periode');
     $this->SetFont('Arial', 'B', 10);
     $this->Cell(60, 4, ': ' . $model->yearmonth_periode);
     $this->Ln(4);
     $this->SetFont('Arial', '', 10);
     $this->Cell(25, 4, 'Description');
     $this->Cell(60, 4, ': ' . $model->remark);
     $this->Ln(6);
     $w = array(70, 25, 25, 70);
     //Header
     $this->SetFont('Arial', 'B', 10);
     $this->Cell($w[0], 9, 'Account Name', 'LTBR', 0, 'C');
     $this->Cell($w[1], 9, 'Debit', 'TBR', 0, 'C');
     $this->Cell($w[2], 9, 'Credit', 'TBR', 0, 'C');
     $this->Cell($w[3], 9, 'Remark', 'TBR', 0, 'C');
     $this->Ln();
     $modelD = uJournalDetail::model()->findAll('parent_id = ' . (int) $id);
     //Detail
     foreach ($modelD as $mod) {
         $this->SetFont('Arial', '', 10);
         $this->Cell($w[0], 5, $mod->account->account_no . ". " . $mod->account->account_name, 'LR');
         $this->Cell($w[1], 5, number_format($mod->debit, 0, ',', '.'), 'LR', 0, 'R');
         $this->Cell($w[2], 5, number_format($mod->credit, 0, ',', '.'), 'R', 0, 'R');
         $this->Cell($w[3], 5, $mod->user_remark, 'R');
         $this->Ln();
     }
     $this->SetFont('Arial', 'B', 10);
     $this->Cell($w[0], 6, 'TOTAL', 'TLR', 0, 'R');
     $this->Cell($w[1], 6, number_format($model->journalSum, 0, ',', '.'), 'TLR', 0, 'R');
     $this->Cell($w[2], 6, number_format($model->journalSum, 0, ',', '.'), 'TR', 0, 'R');
     $this->Cell($w[3], 6, '', 'TR');
     $this->Ln();
     //Closure line
     $this->Cell(array_sum($w), 0, '', 'T');
     $this->Ln(2);
     $bilangan = new terbilang();
     $this->SetFont('Arial', 'B', 10);
     $this->Cell(0, 4, 'Say: ' . $bilangan->eja($model->journalSum) . "Rupiah");
     $this->Ln(10);
     $w = array(63, 63, 63);
     $this->SetFont('Arial', '', 10);
     $this->Cell($w[0], 6, 'Created By', 'LTR', 0, 'C');
     $this->Cell($w[1], 6, 'Approved By', 'TR', 0, 'C');
     $this->Cell($w[2], 6, 'Receiver', 'TR', 0, 'C');
     $this->Ln();
     $this->Cell($w[0], 18, '', 'LR');
     $this->Cell($w[1], 18, '', 'R');
     $this->Cell($w[2], 18, '', 'R');
     $this->Ln();
     $this->Cell($w[1], 6, '', 'LBR', 0, 'C');
     $this->Cell($w[1], 6, '', 'BR', 0, 'C');
     $this->Cell($w[2], 6, $model->user_ref, 'RB', 0, 'C');
     $this->Ln(5);
     $this->SetFont('Arial', '', 10);
     $this->Cell($w[0], 6, '', 'LBR');
     $this->Cell($w[1], 6, '', 'BR', 0, 'C');
     $this->Cell($w[2], 6, '', 'BR', 0, 'C');
     $this->Ln();
 }
 function report($acc_id, $begin_date, $end_date)
 {
     $this->myHeader($acc_id, $begin_date, $end_date);
     $criteria = new CDbCriteria();
     $criteria->with = array('journalDetail');
     $criteria->group = 't.id, module_id, input_date, yearmonth_periode, system_ref, state_id';
     $criteria->join = 'INNER JOIN u_journal_detail tt ON t.id = tt.parent_id';
     $criteria->compare('tt.account_no_id', $acc_id);
     $criteria->addBetweenCondition('input_date', Yii::app()->dateFormatter->format('yyyy-MM-dd', $begin_date), Yii::app()->dateFormatter->format('yyyy-MM-dd', $end_date));
     $models = uJournal::model()->findAll($criteria);
     foreach ($models as $model) {
         //Header
         $this->SetFont('Arial', '', 10);
         $this->Cell(25, 4, 'Voucher No.');
         $this->SetFont('Arial', 'B', 10);
         $this->Cell(50, 4, ': ' . $model->system_ref);
         $this->Ln();
         $this->SetFont('Arial', '', 10);
         $this->Cell(25, 4, 'Date');
         $this->SetFont('Arial', 'B', 10);
         $this->Cell(60, 4, ': ' . $model->input_date);
         $this->Ln();
         $this->SetFont('Arial', '', 10);
         $this->Cell(25, 4, 'Periode');
         $this->SetFont('Arial', 'B', 10);
         $this->Cell(60, 4, ': ' . $model->yearmonth_periode);
         $this->Ln(4);
         $this->SetFont('Arial', '', 10);
         $this->Cell(25, 4, 'Description');
         $this->Cell(60, 4, ': ' . $model->remark);
         $this->Ln(6);
         $w = array(70, 25, 25, 70);
         //Header
         $this->SetFont('Arial', 'B', 10);
         $this->Cell($w[0], 9, 'Account Name', 'LTBR', 0, 'C');
         $this->Cell($w[1], 9, 'Debit', 'TBR', 0, 'C');
         $this->Cell($w[2], 9, 'Credit', 'TBR', 0, 'C');
         $this->Cell($w[3], 9, 'Remark', 'TBR', 0, 'C');
         $this->Ln();
         $modeld = uJournalDetail::model()->findAll('parent_id = ' . $model->id);
         foreach ($modeld as $mod) {
             $this->SetFont('Arial', '', 10);
             $this->Cell($w[0], 5, $mod->account->account_concat(), 'LR');
             $this->Cell($w[1], 5, number_format($mod->debit, 0, ',', '.'), 'LR', 0, 'R');
             $this->Cell($w[2], 5, number_format($mod->credit, 0, ',', '.'), 'R', 0, 'R');
             $this->Cell($w[3], 5, $mod->user_remark, 'R');
             $this->Ln();
         }
         $this->SetFont('Arial', 'B', 10);
         $this->Cell($w[0], 6, 'TOTAL', 'TLR', 0, 'R');
         $this->Cell($w[1], 6, number_format($model->journalSum, 0, ',', '.'), 'TLR', 0, 'R');
         $this->Cell($w[2], 6, number_format($model->journalSum, 0, ',', '.'), 'TR', 0, 'R');
         $this->Cell($w[3], 6, '', 'TR');
         $this->Ln();
         $this->Cell(array_sum($w), 6, '', 'T');
         $this->Ln(8);
         if ($this->GetY() >= 215) {
             $this->AddPage();
             $this->myHeader($acc_id, $begin_date, $end_date);
         }
     }
 }
    public function actionUnposting($id)
    {
        $_curPeriod = Yii::app()->settings->get("System", "cCurrentPeriod");
        $_lastPeriod = sParameter::cBeginDateBefore(Yii::app()->settings->get("System", "cCurrentPeriod"));
        $locked = uJournal::model()->updateByPk((int) $id, array('state_id' => 2, 'updated_date' => time(), 'updated_by' => Yii::app()->user->id));
        $models = uJournalDetail::model()->with('journal')->findAll(array('condition' => 'parent_id = :id', 'params' => array(':id' => $id)));
        foreach ($models as $model) {
            $modelBalanceCurrent = tBalanceSheet::model()->find(array('condition' => 'parent_id = :accid AND yearmonth_periode = :period', 'params' => array(':accid' => $model->account_no_id, ':period' => $_curPeriod)));
            $_debit = $model->debit;
            $_credit = $model->credit;
            $_endbalance = 0;
            $_curdebit = $modelBalanceCurrent->debit - $_debit;
            $_curcredit = $modelBalanceCurrent->credit - $_credit;
            $_curbalance = $modelBalanceCurrent->end_balance;
            if ($model->account->getSideValue() == 1 || isset($model->account->reverse)) {
                //Asset, Expense
                $_endbalance = $_curbalance - $_debit + $_credit;
            } else {
                //Pasiva, Income
                $_endbalance = $_curbalance - $_credit + $_debit;
            }
            $command = Yii::app()->db->createCommand('
					UPDATE  t_balance_sheet SET
					debit = ' . $_curdebit . ',
					credit = ' . $_curcredit . ',
					end_balance = ' . $_endbalance . '
					WHERE yearmonth_periode = ' . $_curPeriod . ' AND parent_id = ' . $model->account_no_id);
            $command->execute();
            //LOG
            $commandLog = Yii::app()->db->createCommand('
					INSERT INTO t_balance_sheet_log (journal_id, yearmonth_periode, type_balance_id, remark, budget, account_no_id, beginning_balance,debit,credit,end_balance) VALUES (' . $model->parent_id . ',' . $_curPeriod . ', 1, \'UNPOSTING LOG\', 0,' . $model->account_no_id . ',' . $_curbalance . ',' . $_debit . ',' . $_credit . ',' . $_endbalance . ')
					');
            $commandLog->execute();
        }
    }