Ejemplo n.º 1
0
 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();
         }
     }
 }
Ejemplo n.º 2
0
 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]);
 }