public function actionTool() { // master value $fmShortDatePhp = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_PHP, null); $fmShortDateJui = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_JUI, null); $arrPurchaseType = MasterValueUtils::getArrData('oef_purchase_type'); OefFundCertificate::$_PHP_FM_SHORTDATE = $fmShortDatePhp; // submit data $postData = Yii::$app->request->post(); $submitMode = isset($postData[MasterValueUtils::SM_MODE_NAME]) ? $postData[MasterValueUtils::SM_MODE_NAME] : false; // populate model attributes with user inputs $model = new OefFundCertificate(); $model->load($postData); // init value $model->scenario = MasterValueUtils::SCENARIO_TOOL; if (Yii::$app->request->getIsGet()) { $today = DateTimeUtils::getNow(); $model->sell_date = $today->format($fmShortDatePhp); $model->income_tax_rate = ParamUtils::getIncomeTaxRateSale(); $sumPurchaseQuery = (new Query())->select(['SUM(found_stock) AS found_stock', 'SUM(found_stock_sold) AS found_stock_sold']); $sumPurchaseQuery->from('oef_purchase')->where(['delete_flag' => MasterValueUtils::MV_FIN_FLG_DELETE_FALSE])->andWhere('found_stock > found_stock_sold'); $sumPurchaseData = $sumPurchaseQuery->createCommand()->queryOne(); if (!is_null($sumPurchaseData['found_stock']) && !is_null($sumPurchaseData['found_stock_sold'])) { $model->sell_certificate = $sumPurchaseData['found_stock'] - $sumPurchaseData['found_stock_sold']; } } $isValidSellDate = $model->validate(['sell_date']); if ($isValidSellDate && empty($model->nav)) { $sellDate = DateTimeUtils::parse($model->sell_date, $fmShortDatePhp); $oefNavModel = OefNav::findOne(['delete_flag' => MasterValueUtils::MV_FIN_FLG_DELETE_FALSE, 'trade_date' => $sellDate->format(DateTimeUtils::FM_DB_DATE)]); if (!is_null($oefNavModel)) { $model->nav = $oefNavModel->nav_value; } } // render GUI $renderView = 'tool'; $renderData = ['model' => $model, 'fmShortDateJui' => $fmShortDateJui, 'arrPurchaseType' => $arrPurchaseType, 'arrFundCertificate4Sell' => false]; switch ($submitMode) { case MasterValueUtils::SM_MODE_INPUT: $isValid = $model->validate(); if ($isValid) { $arrFundCertificate4Sell = $this->getFundCertificate4Sell($model, $fmShortDatePhp); $renderData['arrFundCertificate4Sell'] = $arrFundCertificate4Sell; } break; default: break; } // render GUI return $this->render($renderView, $renderData); }
public function actionUpdate($id) { $this->objectId = $id; // master value $fmShortDatePhp = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_PHP, null); $fmShortDateJui = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_JUI, null); OefPurchase::$_PHP_FM_SHORTDATE = $fmShortDatePhp; $model = OefPurchase::getModel($id); $renderView = 'update'; if (is_null($model)) { $model = false; $renderData = ['model' => $model]; Yii::$app->session->setFlash(MasterValueUtils::FLASH_ERROR, Yii::t('common', 'The requested {record} does not exist.', ['record' => Yii::t('oef.models', 'Purchase')])); } else { // master value $arrPurchaseType = MasterValueUtils::getArrData('oef_purchase_type'); // submit data $postData = Yii::$app->request->post(); $submitMode = isset($postData[MasterValueUtils::SM_MODE_NAME]) ? $postData[MasterValueUtils::SM_MODE_NAME] : false; // populate model attributes with user inputs $model->load($postData); // init value $model->scenario = MasterValueUtils::SCENARIO_UPDATE; // render GUI $renderData = ['model' => $model, 'fmShortDatePhp' => $fmShortDatePhp, 'fmShortDateJui' => $fmShortDateJui, 'arrPurchaseType' => $arrPurchaseType]; switch ($submitMode) { case MasterValueUtils::SM_MODE_INPUT: $isValid = $model->validate(); $model->calculate(); if ($isValid) { $renderView = 'confirm'; $renderData['formMode'] = [MasterValueUtils::PG_MODE_NAME => MasterValueUtils::PG_MODE_EDIT]; } break; case MasterValueUtils::SM_MODE_CONFIRM: $isValid = $model->validate(); if ($isValid) { $model->calculate(); $result = $this->updatePurchase($model, $fmShortDatePhp); if ($result === true) { Yii::$app->session->setFlash(MasterValueUtils::FLASH_SUCCESS, Yii::t('common', '{record} has been saved successfully.', ['record' => Yii::t('oef.models', 'Purchase')])); return Yii::$app->getResponse()->redirect(Url::to(['update', 'id' => $id])); } else { // restore Data for View $model->purchase_date = DateTimeUtils::parse($model->purchase_date, DateTimeUtils::FM_DB_DATE, $fmShortDatePhp); if (!empty($model->sip_date)) { $model->sip_date = DateTimeUtils::parse($model->sip_date, DateTimeUtils::FM_DB_DATE, $fmShortDatePhp); } // render View Yii::$app->session->setFlash(MasterValueUtils::FLASH_ERROR, $result); $renderView = 'confirm'; $renderData['formMode'] = [MasterValueUtils::PG_MODE_NAME => MasterValueUtils::PG_MODE_EDIT]; } } break; case MasterValueUtils::SM_MODE_BACK: break; default: break; } } // render GUI return $this->render($renderView, $renderData); }
public function actionUpdate($id) { $this->objectId = $id; // master value $fmShortDatePhp = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_PHP, null); $fmShortDateJui = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_JUI, null); JarPayment::$_PHP_FM_SHORTDATE = $fmShortDatePhp; $model = JarPayment::findOne(['id' => $id, 'delete_flag' => MasterValueUtils::MV_FIN_FLG_DELETE_FALSE]); $renderView = 'update'; if (is_null($model)) { $model = false; $renderData = ['model' => $model]; Yii::$app->session->setFlash(MasterValueUtils::FLASH_ERROR, Yii::t('common', 'The requested {record} does not exist.', ['record' => Yii::t('jar.models', 'Payment')])); } else { if ($model->share_id > 0) { return Yii::$app->getResponse()->redirect(Url::to(['/jar/distribute/update', 'id' => $model->share_id])); } // master value $arrAccount = ModelUtils::getArrData(JarAccount::find()->select(['account_id', 'account_name'])->where(['delete_flag' => MasterValueUtils::MV_FIN_FLG_DELETE_FALSE])->orderBy('account_type, order_num'), 'account_id', 'account_name'); $arrEntryLog = MasterValueUtils::getArrData('jar_payment_status'); // submit data $postData = Yii::$app->request->post(); $submitMode = isset($postData[MasterValueUtils::SM_MODE_NAME]) ? $postData[MasterValueUtils::SM_MODE_NAME] : false; // populate model attributes with user inputs $model->load($postData); // init value $model->scenario = MasterValueUtils::SCENARIO_UPDATE; // render GUI $renderData = ['model' => $model, 'fmShortDatePhp' => $fmShortDatePhp, 'fmShortDateJui' => $fmShortDateJui, 'arrAccount' => $arrAccount, 'arrEntryLog' => $arrEntryLog]; switch ($submitMode) { case MasterValueUtils::SM_MODE_INPUT: $isValid = $model->validate(); if ($isValid) { $renderView = 'confirm'; $renderData['formMode'] = [MasterValueUtils::PG_MODE_NAME => MasterValueUtils::PG_MODE_EDIT]; } break; case MasterValueUtils::SM_MODE_CONFIRM: $isValid = $model->validate(); if ($isValid) { $result = $this->updatePayment($model, $fmShortDatePhp); if ($result === true) { Yii::$app->session->setFlash(MasterValueUtils::FLASH_SUCCESS, Yii::t('common', '{record} has been saved successfully.', ['record' => Yii::t('jar.models', 'Payment')])); return Yii::$app->getResponse()->redirect(Url::to(['update', 'id' => $id])); } else { // restore Data for View $model->entry_date = DateTimeUtils::parse($model->entry_date, DateTimeUtils::FM_DB_DATE, $fmShortDatePhp); // render View Yii::$app->session->setFlash(MasterValueUtils::FLASH_ERROR, $result); $renderView = 'confirm'; $renderData['formMode'] = [MasterValueUtils::PG_MODE_NAME => MasterValueUtils::PG_MODE_EDIT]; } } break; case MasterValueUtils::SM_MODE_BACK: break; default: break; } } // render GUI return $this->render($renderView, $renderData); }
public function actionUpdate($id) { $this->objectId = $id; // master value $fmShortDatePhp = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_PHP, null); NetBill::$_PHP_FM_SHORTDATE = $fmShortDatePhp; NetBillDetail::$_PHP_FM_SHORTDATE = $fmShortDatePhp; // submit data $postData = Yii::$app->request->post(); $submitMode = isset($postData[MasterValueUtils::SM_MODE_NAME]) ? $postData[MasterValueUtils::SM_MODE_NAME] : false; // populate model attributes with user inputs $model = $this->loadBill($id, $postData, $fmShortDatePhp); $renderView = 'update'; if ($model === false) { $renderData = ['model' => $model]; Yii::$app->session->setFlash(MasterValueUtils::FLASH_ERROR, Yii::t('common', 'The requested {record} does not exist.', ['record' => Yii::t('fin.models', 'Bill')])); } else { // master value $fmShortDateJui = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_JUI, null); $arrNetCustomer = ModelUtils::getArrData(NetCustomer::find()->select(['id', 'name'])->where(['delete_flag' => MasterValueUtils::MV_FIN_FLG_DELETE_FALSE, 'status' => MasterValueUtils::MV_NET_CUSTOMER_STATUS_ON])->orderBy('order_num'), 'id', 'name'); $billDetail = new NetBillDetail(); // populate model attributes with user inputs $billDetail->load($postData); $arrBillDetail = $this->loadBillDetails($id, $postData, $fmShortDatePhp); // init value $model->scenario = MasterValueUtils::SCENARIO_UPDATE; $renderData = ['model' => $model, 'billDetail' => $billDetail, 'fmShortDatePhp' => $fmShortDatePhp, 'arrBillDetail' => $arrBillDetail, 'fmShortDateJui' => $fmShortDateJui, 'arrNetCustomer' => $arrNetCustomer]; switch ($submitMode) { case MasterValueUtils::SM_MODE_ADD_ITEM: $itemNo = empty($billDetail->item_no) ? count($arrBillDetail) + 1 : $billDetail->item_no; $billDetail->item_no = $itemNo; $arrBillDetail[$itemNo] = $billDetail; $isValid = $this->validate($model, $arrBillDetail, false); if ($isValid !== true) { $renderData['isValid'] = $isValid; } $renderData['model'] = $model; $renderData['arrBillDetail'] = $arrBillDetail; break; case MasterValueUtils::SM_MODE_DEL_ITEM: $arrBillDetail[$billDetail->item_no]->delete_flag = MasterValueUtils::MV_FIN_FLG_DELETE_TRUE; $renderData['arrBillDetail'] = $arrBillDetail; break; case MasterValueUtils::SM_MODE_INPUT: $isValid = $this->validate($model, $arrBillDetail); if ($isValid === true) { $renderView = 'confirm'; $renderData['formMode'] = [MasterValueUtils::PG_MODE_NAME => MasterValueUtils::PG_MODE_EDIT]; } else { $renderData['isValid'] = $isValid; } $renderData['model'] = $model; $renderData['arrBillDetail'] = $arrBillDetail; break; case MasterValueUtils::SM_MODE_CONFIRM: $isValid = $this->validate($model, $arrBillDetail); if ($isValid === true) { $result = $this->updateBill($model, $arrBillDetail, $fmShortDatePhp); if ($result === true) { Yii::$app->session->setFlash(MasterValueUtils::FLASH_SUCCESS, Yii::t('common', '{record} has been saved successfully.', ['record' => Yii::t('fin.models', 'Bill')])); return Yii::$app->getResponse()->redirect(Url::to(['update', 'id' => $id])); } else { // restore Data for View $this->restoreData4View($model, $arrBillDetail, $fmShortDatePhp); // render View Yii::$app->session->setFlash(MasterValueUtils::FLASH_ERROR, $result); $renderView = 'confirm'; $renderData['formMode'] = [MasterValueUtils::PG_MODE_NAME => MasterValueUtils::PG_MODE_EDIT]; } } else { $renderData['isValid'] = $isValid; $renderData['model'] = $model; $renderData['arrBillDetail'] = $arrBillDetail; } break; case MasterValueUtils::SM_MODE_BACK: break; default: break; } } // render GUI return $this->render($renderView, $renderData); }
public function actionCopy($id) { // master value $fmShortDatePhp = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_PHP, null); FinTotalInterestUnit::$_PHP_FM_SHORTDATE = $fmShortDatePhp; $this->objectId = $id; $model = FinTotalInterestUnit::findOne(['id' => $id]); $renderView = 'copy'; if (is_null($model)) { $model = false; $renderData = ['model' => $model]; Yii::$app->session->setFlash(MasterValueUtils::FLASH_ERROR, Yii::t('common', 'The requested {record} does not exist.', ['record' => Yii::t('fin.models', 'Interest Unit')])); } else { // master value $fmShortDateJui = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_JUI, null); // modify data for View if (empty($model->end_date)) { $model->start_date = DateTimeUtils::formatNow($fmShortDatePhp); } else { $startDate = DateTimeUtils::parse($model->end_date, DateTimeUtils::FM_DB_DATE); $model->start_date = DateTimeUtils::addDateTime($startDate, 'P1D', $fmShortDatePhp); $model->end_date = null; $model->interest_unit = null; } // submit data $postData = Yii::$app->request->post(); $submitMode = isset($postData[MasterValueUtils::SM_MODE_NAME]) ? $postData[MasterValueUtils::SM_MODE_NAME] : false; // populate model attributes with user inputs $model->load($postData); // init value $model->scenario = MasterValueUtils::SCENARIO_COPY; $renderData = ['model' => $model, 'fmShortDatePhp' => $fmShortDatePhp, 'fmShortDateJui' => $fmShortDateJui]; switch ($submitMode) { case MasterValueUtils::SM_MODE_INPUT: $isValid = $model->validate(); if ($isValid) { $renderView = 'confirm'; $renderData['formMode'] = [MasterValueUtils::PG_MODE_NAME => MasterValueUtils::PG_MODE_EDIT]; } break; case MasterValueUtils::SM_MODE_CONFIRM: $isValid = $model->validate(); if ($isValid) { $result = $this->copyInterestUnit($model, $fmShortDatePhp); if ($result === true) { Yii::$app->session->setFlash(MasterValueUtils::FLASH_SUCCESS, Yii::t('common', '{record} has been saved successfully.', ['record' => Yii::t('fin.models', 'Interest Unit')])); return Yii::$app->getResponse()->redirect(Url::to(['index'])); } else { // modify data for View $model->start_date = DateTimeUtils::parse($model->start_date, DateTimeUtils::FM_DB_DATE, $fmShortDatePhp); if (!empty($model->end_date)) { $model->end_date = DateTimeUtils::parse($model->end_date, DateTimeUtils::FM_DB_DATE, $fmShortDatePhp); } // render View Yii::$app->session->setFlash(MasterValueUtils::FLASH_ERROR, $result); $renderView = 'confirm'; $renderData['formMode'] = [MasterValueUtils::PG_MODE_NAME => MasterValueUtils::PG_MODE_EDIT]; } } break; case MasterValueUtils::SM_MODE_BACK: break; default: break; } } // render GUI return $this->render($renderView, $renderData); }
public function actionAssets() { $model = new FinTotalAssetsMonth(); $fmShortDatePhp = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_PHP, null); $startDateJui = DateTimeUtils::parse('20151101', DateTimeUtils::FM_DEV_DATE, $fmShortDatePhp); $fmKeyPhp = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_PHP, null, DateTimeUtils::FM_KEY_FMONTH); $fmKeyJui = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_JUI, null, DateTimeUtils::FM_KEY_FMONTH); $td = DateTimeUtils::getNow(); // is get page than reset value if (Yii::$app->request->getIsGet()) { $tdTimestamp = $td->getTimestamp(); $tdInfo = getdate($tdTimestamp); $thismonth = $td->format($fmKeyPhp); // for report Model $model->fmonth = $thismonth; // for search Model $model->fmonth_to = $thismonth; $model->fmonth_from = DateTimeUtils::parse($tdInfo[DateTimeUtils::FN_KEY_GETDATE_YEAR] - 1 . '0101', DateTimeUtils::FM_DEV_DATE, $fmKeyPhp); } else { // submit data $postData = Yii::$app->request->post(); $model->load($postData); $submitMode = isset($postData[MasterValueUtils::SM_MODE_NAME]) ? $postData[MasterValueUtils::SM_MODE_NAME] : false; switch ($submitMode) { case MasterValueUtils::SM_MODE_INPUT: $reportMonthStr = DateTimeUtils::parse($model->fmonth, $fmKeyPhp, DateTimeUtils::FM_DEV_YM) . '01'; $reportMonthObj = DateTimeUtils::parse($reportMonthStr, DateTimeUtils::FM_DEV_DATE); $reportMonthInfo = getdate($reportMonthObj->getTimestamp()); $year = $reportMonthInfo[DateTimeUtils::FN_KEY_GETDATE_YEAR]; $month = $reportMonthInfo[DateTimeUtils::FN_KEY_GETDATE_MONTH_INT]; $reportModel = FinTotalAssetsMonth::findOne(['year' => $year, 'month' => $month, 'delete_flag' => MasterValueUtils::MV_FIN_FLG_DELETE_FALSE]); if (is_null($reportModel)) { $reportModel = new FinTotalAssetsMonth(); $reportModel->year = $year; $reportModel->month = $month; } $prevReportMonthObj = DateTimeUtils::subDateTime($reportMonthObj, 'P1M'); $prevReportMonthInfo = getdate($prevReportMonthObj->getTimestamp()); $prevYear = $prevReportMonthInfo[DateTimeUtils::FN_KEY_GETDATE_YEAR]; $prevMonth = $prevReportMonthInfo[DateTimeUtils::FN_KEY_GETDATE_MONTH_INT]; $prevReportModel = FinTotalAssetsMonth::findOne(['year' => $prevYear, 'month' => $prevMonth, 'delete_flag' => MasterValueUtils::MV_FIN_FLG_DELETE_FALSE]); $prevAssetsValue = is_null($prevReportModel) ? 0 : $prevReportModel->assets_value; $totalEntryMonth = FinTotalEntryMonth::findOne(['year' => $year, 'month' => $month, 'delete_flag' => MasterValueUtils::MV_FIN_FLG_DELETE_FALSE]); $sumdebit = 0; $sumcredit = 0; if (!is_null($totalEntryMonth)) { $sumdebit = is_null($totalEntryMonth->value_out) ? 0 : $totalEntryMonth->value_out; $sumcredit = is_null($totalEntryMonth->value_in) ? 0 : $totalEntryMonth->value_in; } $reportModel->assets_value = $prevAssetsValue + $sumcredit - $sumdebit; $reportModel->save(); Yii::$app->session->setFlash(MasterValueUtils::FLASH_SUCCESS, Yii::t('common', 'Monthly Assets Report of {month} has been saved successfully.', ['month' => $model->fmonth])); return Yii::$app->getResponse()->redirect(Url::to(['assets'])); break; default: break; } } $renderData = ['fmKeyJui' => $fmKeyJui, 'fmKeyPhp' => $fmKeyPhp, 'model' => $model, 'startDateJui' => $startDateJui]; $fMonthInfo = getdate(DateTimeUtils::parse($model->fmonth_from, $fmKeyPhp)->getTimestamp()); $tMonthInfo = getdate(DateTimeUtils::parse($model->fmonth_to, $fmKeyPhp)->getTimestamp()); $fYear = $fMonthInfo[DateTimeUtils::FN_KEY_GETDATE_YEAR]; $fMonth = $fMonthInfo[DateTimeUtils::FN_KEY_GETDATE_MONTH_INT]; $fMonthMM = str_pad($fMonth, 2, '0', STR_PAD_LEFT); $tYear = $tMonthInfo[DateTimeUtils::FN_KEY_GETDATE_YEAR]; $tMonth = $tMonthInfo[DateTimeUtils::FN_KEY_GETDATE_MONTH_INT]; $tMonthMM = str_pad($tMonth, 2, '0', STR_PAD_LEFT); $gridData = null; $resultModel = FinTotalAssetsMonth::find()->select('t1.*, t2.value_in AS credit, t2.value_out AS debit')->from('fin_total_assets_month t1')->leftJoin('fin_total_entry_month t2', '(t1.year = t2.year AND t1.month = t2.month)')->where(['t1.delete_flag' => MasterValueUtils::MV_FIN_FLG_DELETE_FALSE])->andWhere(['>=', 't1.year', $fYear])->andWhere(['OR', ['>', 't1.year', $fYear], ['>=', 't1.month', $fMonth]])->andWhere(['<=', 't1.year', $tYear])->andWhere(['OR', ['<', 't1.year', $tYear], ['<=', 't1.month', $tMonth]])->orderBy('t1.year, t1.month')->all(); if (count($resultModel) > 0) { // Init data for chart $sMonth = $fYear . $fMonthMM . '01'; $eMonth = $tYear . $tMonthMM . '01'; $currentMonthObj = DateTimeUtils::parse($sMonth, DateTimeUtils::FM_DEV_DATE); $arrDataChartTemp = []; while ($sMonth < $eMonth) { $sMonth = $currentMonthObj->format(DateTimeUtils::FM_DEV_DATE); $arrDataChartTemp[$sMonth] = ['credit' => 0, 'debit' => 0, 'assets' => 0]; DateTimeUtils::addDateTime($currentMonthObj, 'P1M', null, false); } $firstResult = $resultModel[0]; $prevCredit = is_null($firstResult->credit) ? 0 : $firstResult->credit; $prevDebit = is_null($firstResult->debit) ? 0 : $firstResult->debit; $prevAssets = is_null($firstResult->assets_value) ? 0 : $firstResult->assets_value; $gridData = []; foreach ($resultModel as $rm) { $key = $rm->year . str_pad($rm->month, 2, '0', STR_PAD_LEFT) . '01'; $tempCredit = is_null($rm->credit) ? 0 : $rm->credit; $tempDebit = is_null($rm->debit) ? 0 : $rm->debit; $tempAssets = is_null($rm->assets_value) ? 0 : $rm->assets_value; $compareCredit = $tempCredit - $prevCredit; $compareDebit = $tempDebit - $prevDebit; $compareAssets = $tempAssets - $prevAssets; $prevCredit = $tempCredit; $prevDebit = $tempDebit; $prevAssets = $tempAssets; $girdRow = ['month' => DateTimeUtils::parse($key, DateTimeUtils::FM_DEV_DATE), 'credit' => $prevCredit, 'debit' => $prevDebit, 'assets' => $prevAssets, 'compareCredit' => $compareCredit, 'compareDebit' => $compareDebit, 'compareAssets' => $compareAssets]; $gridData[$key] = $girdRow; // data for chart if (isset($arrDataChartTemp[$key])) { $arrDataChartTemp[$key]['credit'] = $prevCredit; $arrDataChartTemp[$key]['debit'] = $prevDebit; $arrDataChartTemp[$key]['assets'] = $prevAssets; } } // data for chart $arrLabelChart = []; $arrCreditDataChart = []; $arrDebitDataChart = []; $arrAssetsDataChart = []; $arrCreditAliasDataChart = []; $arrDebitAliasDataChart = []; $arrAssetsAliasDataChart = []; foreach ($arrDataChartTemp as $labelChart => $dataChartTemp) { $arrLabelChart[] = DateTimeUtils::parse($labelChart, DateTimeUtils::FM_DEV_DATE, $fmKeyPhp); $arrCreditDataChart[] = $dataChartTemp['credit']; $arrDebitDataChart[] = $dataChartTemp['debit']; $arrAssetsDataChart[] = $dataChartTemp['assets']; $arrCreditAliasDataChart[] = NumberUtils::format($dataChartTemp['credit']); $arrDebitAliasDataChart[] = NumberUtils::format($dataChartTemp['debit']); $arrAssetsAliasDataChart[] = NumberUtils::format($dataChartTemp['assets']); } $renderData['chartData'] = json_encode(['label' => $arrLabelChart, 'credit' => $arrCreditDataChart, 'creditAlias' => $arrCreditAliasDataChart, 'debit' => $arrDebitDataChart, 'debitAlias' => $arrDebitAliasDataChart, 'assets' => $arrAssetsDataChart, 'assetsAlias' => $arrAssetsAliasDataChart], JSON_NUMERIC_CHECK); } $renderData['gridData'] = $gridData; // sum payment current month $beginCurrentMonth = DateTimeUtils::parse($td->format(DateTimeUtils::FM_DEV_YM) . '01', DateTimeUtils::FM_DEV_DATE); $endCurrentMonth = DateTimeUtils::addDateTime($beginCurrentMonth, 'P1M'); DateTimeUtils::subDateTime($endCurrentMonth, 'P1D', null, false); $sumCurrentMonthQuery = (new Query())->select(['SUM(IF(account_source > 0, entry_value, 0)) AS debit', 'SUM(IF(account_target > 0, entry_value, 0)) AS credit']); $sumCurrentMonthQuery->from('fin_account_entry')->where(['=', 'delete_flag', MasterValueUtils::MV_FIN_FLG_DELETE_FALSE]); $sumCurrentMonthQuery->andWhere(['OR', ['=', 'account_source', MasterValueUtils::MV_FIN_ACCOUNT_NONE], ['=', 'account_target', MasterValueUtils::MV_FIN_ACCOUNT_NONE]]); $sumCurrentMonthQuery->andWhere(['>=', 'entry_date', $beginCurrentMonth->format(DateTimeUtils::FM_DB_DATE)]); $sumCurrentMonthQuery->andWhere(['<=', 'entry_date', $endCurrentMonth->format(DateTimeUtils::FM_DB_DATE)]); $sumCurrentAssetsData = $sumCurrentMonthQuery->createCommand()->queryOne(); // sum Assets current month $sumCurrentAssets = 0; $arrFinAccount = FinAccount::find()->where(['delete_flag' => 0])->all(); foreach ($arrFinAccount as $finAccount) { $instance = $finAccount->instance(); $instance->initialize(); $sumCurrentAssets += $instance->opening_balance; } $sumCurrentAssetsData['assets'] = $sumCurrentAssets; $renderData['sumCurrentAssetsData'] = $sumCurrentAssetsData; return $this->render('assets', $renderData); }