public function actionClosingPeriodExecution() { uJournal::model()->updateAll(array('state_id' => 3, 'updated_date' => time(), 'updated_id' => Yii::app()->user->id), 'state_id !=4 AND yearmonth_periode = ' . Yii::app()->settings->get("System", "cCurrentPeriod")); $this->transferNewPeriod(); $_nextPeriod = sParameter::cBeginDateAfter(Yii::app()->settings->get("System", "cCurrentPeriod")); Yii::app()->settings->set("System", "cCurrentPeriod", $_nextPeriod, $toDatabase = true); }
public function actionViewJournal($id) { //----- begin new code -------------------- if (!empty($_GET['asDialog'])) { $this->layout = '//layouts/iframe'; } //----- end new code -------------------- $model = uJournal::model()->findByPk($id); $this->render('/uJournal/view', array('model' => $model)); }
public function actionClosingPeriodExecution() { uJournal::model()->updateAll(array('state_id' => 3, 'updated_date' => time(), 'updated_by' => Yii::app()->user->id), 'state_id !=4 AND yearmonth_periode = ' . Yii::app()->settings->get("System", "cCurrentPeriod")); $_curPeriod = Yii::app()->settings->get("System", "cCurrentPeriod"); $_nextPeriod = sParameter::cBeginDateAfter(Yii::app()->settings->get("System", "cCurrentPeriod")); $models = tBalanceSheet::model()->findAll('yearmonth_periode = ' . $_curPeriod); foreach ($models as $model) { if ($model->account->getTypeValue() == 1) { $sql = 'INSERT INTO t_balance_sheet (parent_id, yearmonth_periode, type_balance_id, remark, budget, beginning_balance,debit,credit,end_balance) VALUES (' . $model->parent_id . ',' . $_nextPeriod . ', 1, \'Automated posted\', 0,' . $model->end_balance . ',0,0,' . $model->end_balance . ')'; } else { $sql = 'INSERT INTO t_balance_sheet (parent_id, yearmonth_periode, type_balance_id, remark, budget, beginning_balance,debit,credit,end_balance) VALUES (' . $model->parent_id . ',' . $_nextPeriod . ', 1, \'Automated posted\', 0,0,0,0,0)'; } $command = Yii::app()->db->createCommand($sql); $command->execute(); tBalanceSheet::model()->updateAll(array('type_balance_id' => 2), 'yearmonth_periode = ' . $_curPeriod); } $_nextPeriod = sParameter::cBeginDateAfter(Yii::app()->settings->get("System", "cCurrentPeriod")); Yii::app()->settings->set("System", "cCurrentPeriod", $_nextPeriod, $toDatabase = true); Yii::app()->user->setFlash('success', '<strong>Great!</strong> Closing Period has been successful...'); $this->redirect(array('index')); }
function report($acc_id, $begin_date, $end_date) { $this->myHeader($acc_id, $begin_date, $end_date); $_count = 0; $_total = 0; $_counter = 1; $_countert = 1; $criteria = new CDbCriteria(); $criteria->with = array('journalDetail'); $criteria->compare('journalDetail.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); $_mdate = ""; $_tdebet = 0; $_tcredit = 0; //Color and font restoration $this->SetFillColor(224, 224, 224); $this->SetTextColor(0); $this->SetFont(''); //Data $fill = false; $w = array(7, 18, 14, 33, 18, 18, 70, 15); foreach ($models as $mod) { foreach ($mod->journalDetail as $mm) { $this->SetFont('Arial', '', 8); $this->Cell($w[0], 6, number_format($_countert, 0, ',', '.'), 'L', 0, 'R', $fill); if ($_mdate != $mod->input_date) { $this->Cell($w[1], 6, $mod->input_date, 'LT', 0, 'L', $fill); } else { $this->Cell($w[1], 6, '', 'L'); } $_mdate = $mod->input_date; $this->Cell($w[2], 6, $mod->yearmonth_periode, 'L', 0, 'L', $fill); $this->Cell($w[3], 6, $mod->system_ref, 'L', 0, 'L', $fill); $this->Cell($w[4], 6, number_format($mm->debit, 0, ',', '.'), 'L', 0, 'R', $fill); $this->Cell($w[5], 6, number_format($mm->credit, 0, ',', '.'), 'L', 0, 'R', $fill); $this->Cell($w[6], 6, strlen($mod->remark) >= 40 ? substr($mod->remark, 0, 38) . " ... " : $mod->remark, 'L', 0, 'L', $fill); $this->Cell($w[7], 6, $mod->status->name, 'LR', 0, 'L', $fill); $this->Ln(); $_tdebet = $_tdebet + $mm->debit; $_tcredit = $_tcredit + $mm->credit; $_counter++; $_countert++; if ($_counter == 34) { $this->Cell(array_sum($w), 0, '', 'T'); $this->AddPage(); $this->myHeader($acc_id, $begin_date, $end_date); $_counter = 1; } $fill = !$fill; } } //Closure line $this->Cell(array_sum($w), 0, '', 'T'); $this->Ln(1); $this->SetFont('Arial', 'B', 8); $this->Cell($w[0], 8, '', 'TLB'); $this->Cell($w[1], 8, 'T O T A L', 'TLB', 0, 'C'); $this->Cell($w[2], 8, '', 'TLB'); $this->Cell($w[3], 8, '', 'TLB'); $this->Cell($w[4], 8, number_format($_tdebet, 0, ',', '.'), 'TLB', 0, 'R'); $this->Cell($w[5], 8, number_format($_tcredit, 0, ',', '.'), 'TLB', 0, 'R'); $this->Cell($w[6], 8, '', 'TLB'); $this->Cell($w[7], 8, '', 'TLBR', 0, 'R'); $this->Ln(); }
</h2> </div> </div> <div class="row-fluid"> <div class="span10 well"> <p>When Button "Closing Month Period" executed, it will do this 3 following steps.</p> <p>#1. It will check, of any unposted journal on Current Period, will marked as Locked</p> <p>#2. It will move each End-Balance Account on Current Month Period and transfer into following Month Period.</p> <p>#3. Change Current Period into following Month Period. When this process done, all existing journal become unavailable to edit and delete</p> </div> </div> <p> <?php $this->widget('zii.widgets.jui.CJuiButton', array('buttonType' => 'link', 'id' => 'myCap', 'name' => 'btnGo7', 'url' => Yii::app()->createUrl("/m2/tClosing/closingPeriodExecution"), 'caption' => 'Closing Month Period', 'options' => array(), 'htmlOptions' => array('class' => 'ui-button-primary'))); ?> </p> <h2>Unposted Journal</h2> <?php //$this->widget('bootstrap.widgets.BootGridView', array( $this->widget('ext.groupgridview.GroupGridView', array('mergeColumns' => array('input_date'), 'id' => 'u-journal-grid', 'dataProvider' => uJournal::model()->search(), 'itemsCssClass' => 'table table-striped table-bordered', 'template' => '{items}{pager}{summary}', 'columns' => array(array('class' => 'bootstrap.widgets.BootButtonColumn', 'template' => '{delete}', 'deleteButtonUrl' => 'Yii::app()->createUrl("/m2/tPosting/delete",array("id"=>$data->id))'), 'input_date', 'system_ref', array('header' => 'Module', 'value' => 'sParameter::item("cModule",$data->module_id)'), array('header' => 'Status', 'value' => '$data->status->name'), array('header' => 'Total', 'type' => 'number', 'value' => '$data->journalSum', 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;'))))); //$_nextPeriod = sParameter::cBeginDateAfter(Yii::app()->settings->get("System", "cCurrentPeriod")); //Yii::app()->settings->set("System", "cCurrentPeriod", $_nextPeriod, $toDatabase=true);
$this->widget('bootstrap.widgets.BootDetailView', array('data' => $model, 'attributes' => array('input_date', 'periode_date', 'system_ref', array('label' => 'Purchasing Type', 'value' => $model->po_type->name), array('label' => 'Entity', 'value' => $model->organization->name), array('label' => 'Supplier', 'value' => $model->supplier->company_name), 'remark', array('label' => 'Payment Status', 'value' => $model->paymentCheck()), array('label' => 'Journal Status', 'value' => $model->journal_state->name)))); ?> <br /> <?php $this->widget('bootstrap.widgets.BootGridView', array('id' => 'u-order-detail-grid', 'dataProvider' => bPorderDetail::model()->search($model->id), 'template' => '{items}{pager}', 'itemsCssClass' => 'table table-striped table-bordered', 'columns' => array(array('header' => 'Item.', 'value' => '$data->item_id'), 'description', 'qty', 'uom', array('value' => '$data->amountf()', 'name' => 'amount', 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;')), array('header' => 'Total', 'value' => '$data->totalf()', 'name' => 'amount', 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;'))))); ?> <br /> <b> Total: <?php echo $model->sum_pof(); ?> </b> <hr /> <h2>Purchased Journal</h2> <?php $this->widget('bootstrap.widgets.BootDetailView', array('data' => uJournal::model()->searchTagPurchasing($model->system_ref), 'attributes' => array('input_date', 'yearmonth_periode', 'user_ref', 'system_ref', 'remark'))); echo $this->renderPartial('/uJournal/_viewDetail', array('id' => uJournal::model()->searchTagPurchasing($model->system_ref)->id)); ?> <?php if ($model->journal_state_id == 3) { ?> <hr /> <h2>Payment Journal</h2> <?php $this->widget('bootstrap.widgets.BootDetailView', array('data' => uJournal::model()->searchTagPayment($model->system_ref), 'attributes' => array('input_date', 'yearmonth_periode', 'user_ref', 'system_ref', 'remark'))); echo $this->renderPartial('/uJournal/_viewDetail', array('id' => uJournal::model()->searchTagPayment($model->system_ref)->id)); }
<?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))));
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)); }
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(); }
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')); } }
<ul class="nav nav-list"> <li class="nav-header">Cash and Bank</li> </ul> <?php $this->widget('bootstrap.widgets.BootMenu', array('type' => 'list', 'items' => uJournal::getTopUpdated(2))); ?> <br /> <ul class="nav nav-list"> <li class="nav-header">PO (Unapproved)</li> </ul> <?php $this->widget('bootstrap.widgets.BootMenu', array('type' => 'list', 'items' => bPorder::getTopUnApprovedPO())); ?> <br /> <ul class="nav nav-list"> <li class="nav-header">PO (Unpaid)</li> </ul> <?php $this->widget('bootstrap.widgets.BootMenu', array('type' => 'list', 'items' => bPorder::getTopUnPaidPO())); ?> <br /> <ul class="nav nav-list"> <li class="nav-header">Chart Of Account</li> </ul> <?php $this->widget('bootstrap.widgets.BootMenu', array('type' => 'list', 'items' => tAccount::getTopUpdated())); ?> <br />
<?php $this->widget('bootstrap.widgets.BootGridView', array('id' => 'u-journal-detail-grid', 'dataProvider' => uJournalDetail::model()->search($id), 'itemsCssClass' => 'table table-striped table-bordered', 'template' => '{items}{pager}', 'columns' => array(array('name' => 'account_no_id', 'type' => 'raw', 'value' => 'CHtml::link($data->account->account_no.". ".$data->account->account_name,Yii::app()->createUrl("/tAccount/view",array("id"=>$data->account->id)))'), array('name' => 'debit', 'value' => '$data->debitf()', 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;')), array('name' => 'credit', 'value' => '$data->creditf()', 'htmlOptions' => array('style' => 'text-align: right; padding-right: 5px;')), 'user_remark'))); $this->widget('bootstrap.widgets.BootDetailView', array('data' => uJournal::model()->findByPk((int) $id), 'attributes' => array(array('label' => 'Total', 'value' => Yii::app()->numberFormatter->format("#,##0.00", uJournal::model()->findByPk((int) $id)->journalSum))))); ?> <?php if ($data->state_id == 1 || $data->state_id == 2) { $this->widget('zii.widgets.jui.CJuiButton', array('buttonType' => 'link', 'id' => 'myCap' . $id, 'name' => 'btnGo' . $id, 'url' => Yii::app()->createUrl("/tPosting/posting", array("id" => $id)), 'caption' => $data->state_id == 1 ? 'Post' : 'Re-Post', 'options' => array(), 'htmlOptions' => array('class' => 'ui-button-primary'))); } elseif ($data->state_id == 4) { $this->widget('zii.widgets.jui.CJuiButton', array('buttonType' => 'link', 'id' => 'myCap' . $id, 'name' => 'btnGo' . $id, 'url' => Yii::app()->createUrl("/tPosting/unposting", array("id" => $id)), 'caption' => 'Un-Post', 'options' => array(), 'htmlOptions' => array('class' => 'ui-button-primary'))); } else { $this->widget('zii.widgets.jui.CJuiButton', array('buttonType' => 'link', 'id' => 'myCap' . $id, 'name' => 'btnGo' . $id, 'url' => Yii::app()->createUrl("/tPosting/unlock", array("id" => $id)), 'caption' => 'Un-Lock', 'options' => array())); } ?> <hr />
<ul class="nav nav-list"> <li class="nav-header">Cash and Bank</li> </ul> <?php $this->widget('bootstrap.widgets.BootMenu', array('type' => 'list', 'items' => uJournal::getTopUpdated(2), 'htmlOptions' => array('style' => 'font-size:12px; '))); ?> <br /> <ul class="nav nav-list"> <li class="nav-header">PO (Unapproved)</li> </ul> <?php $this->widget('bootstrap.widgets.BootMenu', array('type' => 'list', 'items' => vPorder::getTopUnApprovedPO(), 'htmlOptions' => array('style' => 'font-size:12px; '))); ?> <br /> <ul class="nav nav-list"> <li class="nav-header">PO (Unpaid)</li> </ul> <?php $this->widget('bootstrap.widgets.BootMenu', array('type' => 'list', 'items' => vPorder::getTopUnPaidPO(), 'htmlOptions' => array('style' => 'font-size:12px; '))); ?> <br /> <ul class="nav nav-list"> <li class="nav-header">Chart Of Account</li> </ul> <?php $this->widget('bootstrap.widgets.BootMenu', array('type' => 'list', 'items' => tAccount::getTopUpdated(), 'htmlOptions' => array('style' => 'font-size:12px; '))); ?> <br />
<?php $this->breadcrumbs = array('Journal Voucher' => array('/uJournal'), 'Create'); $this->menu = array(array('label' => 'Home', 'url' => array('/uJournal'))); $this->menu1 = uJournal::getTopUpdated(1); $this->menu2 = uJournal::getTopCreated(1); ?> <div class="page-header"> <h1> <?php echo CHtml::image(Yii::app()->request->baseUrl . '/images/icon/cash.png'); ?> Journal Voucher </h1> </div> <?php $form = $this->beginWidget('BootActiveForm', array('id' => 'u-journal-form', 'type' => 'horizontal', 'enableAjaxValidation' => false)); ?> <?php echo $form->errorSummary($model); ?> <div class="control-group"> <?php echo $form->labelEx($model, 'input_date', array('class' => 'control-label')); ?> <div class="controls">
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 loadModel($id) { $model = uJournal::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
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); } } }