public function actionIndex() { $arrCustomerStatus = MasterValueUtils::getArrData('net_customer_status'); $dataQuery = NetCustomer::find()->where(['=', 'delete_flag', MasterValueUtils::MV_FIN_FLG_DELETE_FALSE])->orderBy('status, order_num'); $sumCustomerQuery = (new Query())->select(['SUM(balance) AS balance'])->from('net_customer')->where(['=', 'delete_flag', MasterValueUtils::MV_FIN_FLG_DELETE_FALSE]); $sumCustomerValue = $sumCustomerQuery->createCommand()->queryOne(); // render GUI $renderData = ['dataQuery' => $dataQuery, 'arrCustomerStatus' => $arrCustomerStatus, 'sumCustomerValue' => $sumCustomerValue]; return $this->render('index', $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 actionUpdate($id) { $this->objectId = $id; // master value $fmShortDatePhp = DateTimeUtils::getDateFormat(DateTimeUtils::FM_KEY_PHP, null); $model = $this->getPaymentModel($id); NetPayment::$_PHP_FM_SHORTDATE = $fmShortDatePhp; $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('fin.models', 'Payment')])); } else { // back up data $model->credit_old = $model->credit; $model->entry_date_old = $model->entry_date; // 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'); // 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 $renderView = 'update'; $renderData = ['model' => $model, 'fmShortDatePhp' => $fmShortDatePhp, 'fmShortDateJui' => $fmShortDateJui, 'arrNetCustomer' => $arrNetCustomer]; 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('fin.models', 'Payment')])); return Yii::$app->getResponse()->redirect(Url::to(['update', 'id' => $model->secret_key])); } else { // modify 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); }