public function afterSave($insert, $changeAttributes) { if ($insert) { $applicationModel = $this->application; $primaryAppApplicant = $applicationModel->primaryAppApplicant; $coAppApplicant = $applicationModel->coAppApplicant; $loanBorrowerModel = new LoanBorrower(); $loanBorrowerModel->id_loan = $this->id_loan; $loanBorrowerModel->id_user = $primaryAppApplicant->id_user; $loanBorrowerModel->type = 1; $loanBorrowerModel->save(); if ($applicationModel->coAppApplicant) { $loanBorrowerModel = new LoanBorrower(); $loanBorrowerModel->id_loan = $this->id_loan; $loanBorrowerModel->id_user = $coAppApplicant->id_user; $loanBorrowerModel->type = 0; $loanBorrowerModel->save(); } $loanPaymentPreferenceModel = new LoanPaymentPreference(); $loanPaymentPreferenceModel->id_loan = $this->id_loan; $loanPaymentPreferenceModel->type = 2; $loanPaymentPreferenceModel->ach_max_debtied_amount = 0; $loanPaymentPreferenceModel->ach_id_loan_bank_acount = 0; $loanPaymentPreferenceModel->save(); $loanCollateralAccountModel = new LoanCollateralAccount(); $loanCollateralAccountModel->id_loan = $this->id_loan; $loanCollateralAccountModel->id_institution = Advisor::findOne(['id_user' => $applicationModel->primaryAdvisor->id_user])->id_institution; $loanCollateralAccountModel->id_group = $applicationModel->id_group; $appFormCollateralAccountModels = AppFormCollateralAccount::find()->andWhere(['id_application' => $this->id_application])->all(); foreach ($appFormCollateralAccountModels as $appFormCollateralAccountModel) { $newLoanCollateralAccountModel = clone $loanCollateralAccountModel; $newLoanCollateralAccountModel->load([$newLoanCollateralAccountModel->formName() => $appFormCollateralAccountModel->getAttributes()]); $newLoanCollateralAccountModel->save(); } } }
public function actionDoupdate() { $loc = loan::find()->where(['id_loan' => $this->loan->id_loan])->one(); // 读取 payment if (!empty($this->loan->id_loan) && $this->loan->status == Dict::LOAN_STATUS_ACTIVE) { $payment = LoanBorrower::find()->where(['id_loan' => $this->loan->id_loan])->one(); $LoanPaymentPreferenceModel = LoanPaymentPreference::find()->where(['id_loan' => $this->loan->id_loan])->one(); $type_checked = $LoanPaymentPreferenceModel['type']; $bankAccountModel = LoanBankAcount::find()->andWhere(['id_loan' => $this->loan->id_loan, 'account_type' => '2'])->one(); $bankAccountModel_1 = LoanBankAcount::find()->andWhere(['id_loan' => $this->loan->id_loan, 'account_type' => '1'])->one(); $acheck = 2; if ($bankAccountModel['bank_name'] == $bankAccountModel_1['bank_name'] && $bankAccountModel['routing_number'] == $bankAccountModel_1['routing_number'] && $bankAccountModel['account_name'] == $bankAccountModel_1['account_name'] && $bankAccountModel['account_number'] == $bankAccountModel_1['account_number']) { $acheck = 1; } if (empty($bankAccountModel)) { $bankAccountModel = $bankAccountModel_1; $acheck = 1; $no_val = null; } else { $no_val = $bankAccountModel; } if ($type_checked != 1) { $acheck = 1; } } else { return $this->render("payment", ['status' => 0]); } // 读取 bank account if ($LoanPaymentPreferenceModel->load(Yii::$app->request->post())) { $paymentPost = Yii::$app->request->post('LoanPaymentPreference'); $achchecked = Yii::$app->request->post('optionsRadios'); $LoanBankAcount = Yii::$app->request->post('LoanBankAcount'); //得到LoanPaymentPreference数据 if (!empty($LoanPaymentPreferenceModel)) { $LoanPaymentPreferenceModel->type = $paymentPost['type']; $LoanPaymentPreferenceModel->save(); } $bankaccoun = LoanBankAcount::find()->andWhere(['id_loan' => $this->loan->id_loan, 'account_type' => '2'])->one(); if (empty($bankaccoun)) { $bankaccoun = new LoanBankAcount(); } if ($paymentPost['type'] == Dict::LOAN_PAYMENT_ACH) { if ($achchecked == 1) { $bannaccoun1 = LoanBankAcount::find()->andWhere(['id_loan' => $this->loan->id_loan, 'account_type' => '1'])->one(); $bankaccoun->bank_name = $bannaccoun1->bank_name; $bankaccoun->routing_number = $bannaccoun1->routing_number; $bankaccoun->account_name = $bannaccoun1->account_name; $bankaccoun->account_number = $bannaccoun1->account_number; } else { $bankaccoun->bank_name = $LoanBankAcount['bank_name']; $bankaccoun->routing_number = $LoanBankAcount['routing_number']; $bankaccoun->account_name = $LoanBankAcount['account_name']; $bankaccoun->account_number = $LoanBankAcount['account_number']; } $bankaccoun->id_loan = $this->loan->id_loan; $bankaccoun->account_type = 2; $bankaccoun->save(false); } else { $bankaccoun->id_loan = $this->loan->id_loan; $bankaccoun->account_type = 2; $bankaccoun->save(false); } $this->redirect('/loan/payment'); } $config_pay = Config::find()->where(['config_name' => "pay_to_adress"])->one(); $config_fee = Config::find()->where(['config_name' => "check_processing_fee"])->one(); $config['pay'] = $config_pay['config_value']; $config['fee'] = $config_fee['config_value']; $config['loc'] = $loc['loc'] * Dict::LOAN_PAYMENT_RATE / Dict::LOAN_PAYMENT_MONTH; $config['acheck'] = $acheck; $LoanPaymentPreferenceModel->type = $type_checked; return $this->render('update_payment', ['config' => $config, 'status' => Dict::LOAN_STATUS_ACTIVE, 'type_checked' => $type_checked, 'loan' => $this->loan, 'payment' => $payment, 'no_val' => $no_val, 'bankAccountModel' => $bankAccountModel, 'LoanPaymentPreference' => $LoanPaymentPreferenceModel, 'bankAccountModel_1' => $bankAccountModel_1]); }