public function actionOpenbalance() { $model = new Transactions(); if (isset($_POST['account'])) { $year = $_POST['year']; $date = "{$year}-01-01 00:00:01"; $accountArr = $_POST['account']; $balanceArr = $_POST['bal']; foreach ($accountArr as $index => $account) { $sum = $balanceArr[$index]; if ($account) { $submodel = new Transactions(); $submodel->refnum1 = ''; $submodel->valuedate = $date; $submodel->details = Yii::t('app', "Opening Balance"); $submodel->type = \app\helpers\Linet3Helper::getSetting('transactionType.openBalance'); $submodel->currency_id = \app\helpers\Linet3Helper::getSetting('company.cur'); $submodel->owner_id = Yii::$app->user->id; $submodel->linenum = 0; $submodel->addDoubleLine($account, \app\helpers\Linet3Helper::getSetting('company.acc.openbalance'), $sum); //$submodel->num; } } \Yii::$app->getSession()->setFlash('success', Yii::t('app', 'Open Balance saved')); //$this->redirect(array('OpenBalance')); } return $this->render('opbalance', array('model' => $model)); }
public function save() { //print_r($this->Deposit); $num = 0; //$linenum=1; $tranType = \app\helpers\Linet3Helper::getSetting('transactionType.chequedeposit'); if ($this->refnum == '' || $this->date == '' || !is_array($this->Deposit)) { return false; } $accout = new Transactions(); $accout->type = $tranType; $accout->refnum1 = ''; //$this->refnum; $accout->refnum2 = $this->refnum; $accout->details = Yii::t('app', 'Deposit') . " #" . $this->refnum; $accout->valuedate = $this->date . $this->refnum; $accout->owner_id = Yii::$app->user->id; $accout->linenum = 1; $transaction = Yii::$app->db->beginTransaction(\yii\db\Transaction::READ_UNCOMMITTED); //-shuld start transaction here try { foreach ($this->Deposit as $line => $val) { list($a, $b) = explode(',', $line); $cheq = Doccheques::findOne(array("doc_id" => $a, "line" => $b)); $oppt_acc = PaymentType::findOne($cheq->type)->oppt_account_id; $accout->currency_id = $cheq->currency_id; $accout->addDoubleLine($oppt_acc, $this->account_id, $cheq->sum); $cheq->bank_refnum = $num; $cheq->save(); } $transaction->commit(); } catch (\Exception $e) { $transaction->rollBack(); $message = $e->getMessage(); $this->addError('refnum', $message); } return true; //num }
public function transaction() { if ($this->validate()) { $num = 0; $line = 1; $tranType = \app\helpers\Linet3Helper::getSetting("transactionType.supplierPayment"); $tran = new Transactions(); $tran->num = $num; $tran->type = $tranType; $tran->refnum1 = $this->refnum_ids; $tran->refnum2 = ''; $tran->valuedate = $this->date; $tran->details = $this->details; $tran->currency_id = $this->currency_id; $tran->owner_id = Yii::$app->user->id; $tran->linenum = $line; $trans = Yii::$app->db->beginTransaction(\yii\db\Transaction::READ_UNCOMMITTED); //-shuld start transaction here so lets lock down try { $tran->addSingleLine($this->account_id, $this->sum * -1); $tran->addSingleLine($this->opp_account_id, $this->sum * 1); if ((int) $this->src_tax != 0) { $tran->addDoubleLine(5, $this->account_id, $this->src_tax); } //commit it here $trans->commit(); } catch (\Exception $e) { $trans->rollBack(); $message = $e->getMessage(); $this->addError('details', $message); return false; } $this->saveRef($num, $this->sum); return true; } return false; }