<?php $form = $this->beginWidget('CActiveForm', array('id' => 'pro-transactions-invoice-form', 'enableAjaxValidation' => false)); ?> <style> div.form .row label { width: 135px;} </style> <?php echo Yii::t('translation', '<p class="note">Fields with <span class="required">*</span> are required.</p>'); ?> <div class="row"> <?php echo Yii::t('translation', $form->labelEx($model, 'voucher_pay_to')); ?> <?php echo $form->dropDownList($model, 'voucher_pay_to', ProTransactionsSaveCommission::getListUserForVoucher($mTrans->id), array('empty' => 'Select', 'style' => 'width:385px;')); ?> <?php echo $form->error($model, 'voucher_pay_to'); ?> </div> <div class="row"> <?php echo Yii::t('translation', $form->labelEx($model, 'voucher_no')); ?> <?php echo $form->textField($model, 'voucher_no', array('size' => 60, 'maxlength' => 100)); ?> <?php echo $form->error($model, 'voucher_no');
/** * @Author: ANH DUNG Jul 18, 2014 * @Todo: calc total net comm for view invoice and list voucher * @Param: $mTransactions model Transactions * @Return: number */ public static function calcTotalNetComm($model, $mTransactions) { if (is_null($mTransactions)) { return 0; } $mTransComm = ProTransactionsSaveCommission::getByTransUid($mTransactions->id, $model->voucher_pay_to); $ExternalCoBrokeCommission = ProTransactionsSaveCommission::calcClientCommission($mTransactions); $InternalCoBrokeCommission = ProTransactionsSaveCommission::calcCommissionInternalCobroke($mTransactions); $MA_Gross = $model->voucher_ma_gross_comm; $PrimaySalespersonComm = $mTransComm->received_commission; $voucher_number_11 = $PrimaySalespersonComm + $MA_Gross + $ExternalCoBrokeCommission + $InternalCoBrokeCommission; return $TotalNetComm = $voucher_number_11 - $ExternalCoBrokeCommission - $InternalCoBrokeCommission; }
if (!$model->admin_approved) { return ProTransactions::$WAIT_APPROVE_TEXT; } $cmsFormater = new CmsFormatter();
/** * @Author: ANH DUNG Sep 15, 2014 * @Todo: calc report yearly * @Param: $model model * @Param: $aRes var return * @Param: $date_from 2014-05-25 * @Param: $date_to model 2014-09-25 */ public static function ReporYearlyTrans($model, &$aRes, $date_from, $date_to) { $criteria = new CDbCriteria(); $criteria->addBetweenCondition("t.received_on", $date_from, $date_to); $criteria->compare('t.status', STATUS_GEN_RECEIPT); $criteria->addCondition('t.received_on IS NOT NULL'); $criteria->select = "sum(profit_to_property_info) as profit_to_property_info,sum(profit_to_property_info_by_company) as profit_to_property_info_by_company," . " year(t.received_on) as year_paid, " . "count(DISTINCT t.transactions_id) as count_record"; $criteria->group = "year(t.received_on)"; $criteria->order = "t.received_on"; $models = ProTransactionsSaveCommission::model()->findAll($criteria); foreach ($models as $item) { $aRes['TOTAL_AMOUNT_INVOICE'][$item->year_paid] = $item->profit_to_property_info + $item->profit_to_property_info_by_company; $aRes['COUNT_TRANS'][$item->year_paid] = $item->count_record; $aRes['LOOP_VAR'][$item->year_paid] = 1; } }
} } ?> <?php if ($link != '') { ?> <p><a href="<?php echo $link; ?> ">Edit Profile</a></p> <?php // if(ProTransactionsSaveCommission::IsBestRankingOfTheMonth()): ?> <p class="best_ranking"><?php echo ProTransactionsSaveCommission::GetBestRankingOfTheMonth(); ?> </p> <?php // endif; ?> <?php } ?> </div> <div class="col-2"> <p><strong>Designation:</strong> <?php echo $mUser->rCommissionSchema ? $mUser->rCommissionSchema->name : ''; ?>
/** * @Author: ANH DUNG Jul 07, 2014 * @Todo: cập nhật status admin new or approved * @Param: $mTransactions, $statusAdmin */ public static function UpdateAdminStatus($mTransactions, $statusAdmin) { ProTransactionsSaveCommission::model()->updateAll(array('admin_approved' => $statusAdmin), "`transactions_id`={$mTransactions->id}"); }
/** * @Author: ANH DUNG Dec 01, 2014 * @Todo: handle POST for create tenancy without create transaction * @belongto: actionCreateTenancy */ public static function HandlePost($mTransactions) { if (isset($_POST['ProTransactionsPropertyDetail'])) { ProTransactions::HandleSaveAsDraft($mTransactions); ProTransactions::GetPostAndValidateTenancy($mTransactions); if (!$mTransactions->hasErrors() && !$mTransactions->mPropertyDetail->hasErrors() && !$mTransactions->mTenatDefault->hasErrors() && !$mTransactions->mTenatDefault->hasErrors() && !$mTransactions->mTenant->hasErrors() && !$mTransactions->mPropertyDocument->hasErrors() && !$mTransactions->mBillTo->hasErrors() && !$mTransactions->mVendor->hasErrors() && !$mTransactions->mPurchaser->hasErrors()) { ProTransactions::convertToDbDate($mTransactions); $prefix_code = "T" . date('Y') . date('m'); // if(!isset($_GET['update_transactions'])){ if (!strlen($mTransactions->transactions_no)) { // Fix Feb 03, 2015 for update tenancy and trans $mTransactions->transactions_no = MyFormat::getNextId('ProTransactions', $prefix_code, 'transactions_no', ProTransactions::LENGTH_TRANS_NO); } $link = Yii::app()->createAbsoluteUrl('admin/tenancy/view', array('id' => $mTransactions->id)); $cController = strtolower(Yii::app()->controller->id); if ($cController == "transactions") { // Feb 03, 2015 , fix for update transaction $link = Yii::app()->createAbsoluteUrl('admin/transactions/view', array('id' => $mTransactions->id)); } // $mTransactions->status = STATUS_TENANCY_NEW; // Feb 02, 2015 , fix for update transaction $cAction = Yii::app()->controller->action->id; if ($cAction != 'update') { $mTransactions->status = STATUS_TENANCY_APPROVE; } // Feb 02, 2015 , fix for update transaction $mTransactions->save(); // save transaction // save mPropertyDetail $mTransactions->mPropertyDetail->transactions_id = $mTransactions->id; $mTransactions->mPropertyDetail->listing_id = $mTransactions->listing_id; $mTransactions->mPropertyDetail->save(); //save mBillTo $mTransactions->mBillTo->transactions_id = $mTransactions->id; $mTransactions->mBillTo->client_type_id = $mTransactions->client_type_id; $mTransactions->mBillTo->type = ProTransactionsBillTo::TYPE_VENDOR_PURCHASER; $mUserBillTo = Users::saveUserExternalCoBroke($mTransactions->mBillTo, ROLE_EXTERNAL_CO_BROKE); $mTransactions->mBillTo->user_id = $mUserBillTo->id; if ($cAction == 'update' && ProTransactions::IsTenancyTransaction($mTransactions)) { $mTransactions->mBillTo->save(); // save mBillTo } // save tenant if ($mTransactions->type == ProTransactions::FOR_RENT) { $mTransactions->mTenatDefault->transactions_id = $mTransactions->id; ProTransactionsVendorPurchaserDetail::saveOneTenant($mTransactions->mTenatDefault, 1); // update new expiration date for tenant to check login ProTransactionsVendorPurchaserDetail::updateExpirationTenant($mTransactions); } // end save tenant //save ProTransactionsPropertyDocument ProTransactionsPropertyDocument::saveRecord($mTransactions); $mTransactions = ProTransactions::LoadModelRelationByPk($mTransactions->id); // Mar 05, 2015 create landlord and send mail to new user if not yet send ProTransactions::CreateNewTenantLandlordAndSendMail($mTransactions); // Mar 05, 2015 create landlord and send mail to new user if not yet send // Feb 02, 2015 , fix for update transaction need for save Comm if ($cAction == 'update' && ProTransactions::IsTenancyTransaction($mTransactions)) { // comm here ProTransactionsBillTo::UpdateBillTo($mTransactions); // Jun 16, 2014 đưa bill to lên trên save commission thì mới có đc rExternalCoBrokeCommission // chỗ này find lại model của transaction để lấy hết relation - single query $mTransactions = ProTransactions::LoadModelRelationByPk($mTransactions->id); ProTransactionsSaveCommission::saveOneTransaction($mTransactions); ProTransactionsInvoice::AutoGenInvoice($mTransactions); } // Feb 02, 2015 , fix for update transaction need for save Comm Yii::app()->controller->redirect($link); // may be redirect to view } } }
$this->redirect(Yii::app()->createAbsoluteUrl('member/member_profile/myprofile')); } return $mTransactions; } /** * @Author: ANH DUNG Apr 15, 2014 * @Todo: TransactionManagement( */ public function actionTransactionManagement() { MyFormat::validateUserAccess(ROLE_AGENT); $this->pageTitle = "Transaction Management - " . Yii::app()->params['title']; try { $model = new ProTransactions(); if (isset($_GET['ProTransactions'])) { $model->attributes = $_GET['ProTransactions']; }
echo Listing::countListingWithStatusLisitng(STATUS_LISTING_REJECTED, Yii::app()->user->id); ?> <a href="<?php echo Yii::app()->createAbsoluteUrl('member/listing', array('status' => STATUS_LISTING_REJECTED)); ?> " title="view" class="f-right"><img src="<?php echo Yii::app()->theme->baseUrl; ?> /img/ico-arrow.png" alt="view" /></a> </div> </div>--> <div class="row clearfix"> <div class="lb-1">Commission Receivable :</div> <div class="group-1"><?php echo MyFormat::formatNumberLeft(ProTransactionsSaveCommission::getCommissionReceivableUid(Yii::app()->user->id)); ?> <?php // echo "$ ". ProTransactionsSaveCommission::getCommissionReceivableAgent(Yii::app()->user->id); ?> <a href="<?php echo Yii::app()->createAbsoluteUrl('member/member_profile/commissionLog'); ?> " title="view" class="f-right"><img src="<?php echo Yii::app()->theme->baseUrl; ?> /img/ico-arrow.png" alt="view" /></a> </div> </div> <div class="row clearfix">
if ($mSaleperson) { $voucher_saleperson_name = $cmsFormater->formatFullNameRegisteredUsers($mSaleperson); $voucher_saleperson_nric = $mSaleperson->nric_passportno_roc; $voucher_saleperson_phone = $cmsFormater->formatFullPhone($mSaleperson); $mAgentTierManagerFirst = $mSaleperson->rAgentTierManagerFirst; if ($mAgentTierManagerFirst) { if ($mTier = $mAgentTierManagerFirst->rTier) { $voucher_saleperson_1st_name = $cmsFormater->formatFullNameRegisteredUsers($mTier); $voucher_saleperson_1st_phone = $cmsFormater->formatFullPhone($mTier); } } } $voucher_no = $model->voucher_no; // 6 $ExternalCoBrokeCommission = ProTransactionsSaveCommission::calcClientCommission($mTransactions); $InternalCoBrokeCommission = ProTransactionsSaveCommission::calcCommissionInternalCobroke($mTransactions); $MA_Gross = $model->voucher_ma_gross_comm; $MA_GrossText = $cmsFormater->formatPriceSign($model->voucher_ma_gross_comm); // 14 $PrimaySalespersonComm = $mTransComm->received_commission; $voucher_number_11 = $PrimaySalespersonComm + $MA_Gross + $ExternalCoBrokeCommission + $InternalCoBrokeCommission; $voucher_number_11_text = $cmsFormater->formatPriceSign($voucher_number_11); $SalespersonCommissionScheme_12 = $cmsFormater->formatPrice($mTransComm->percent_of_tier) . " %"; // tam dong lai $voucher_number_13 = $voucher_number_11-$ExternalCoBrokeCommission-$InternalCoBrokeCommission; $voucher_number_13 = ProTransactionsInvoice::calcTotalNetComm($model, $mTransactions); $voucher_number_13_text = $cmsFormater->formatPriceSign($voucher_number_13); $ExternalCoBrokeCommissionText = $cmsFormater->formatPriceSign($ExternalCoBrokeCommission); // 15 $InternalCoBrokeCommissionText = $cmsFormater->formatPriceSign($InternalCoBrokeCommission); // 16 if ($template == ProTransactionsInvoice::TEMPLATE_5_VOUCHER_COBROKE) {