示例#1
0
 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
 }
示例#2
0
文件: Docs.php 项目: chaimvaid/linet3
 private function saveCheq()
 {
     if (!is_null($this->docCheq)) {
         $line = 1;
         foreach ($this->docCheq as $key => $rcpt) {
             $submodel = Doccheques::findOne(array('doc_id' => $this->id, 'line' => $rcpt['line']));
             if ($submodel == null) {
                 //new line
                 $submodel = new Doccheques();
             }
             //go throw attr if no save new
             foreach ($rcpt as $key => $value) {
                 if ($submodel->hasAttribute($key)) {
                     $submodel->{$key} = $value;
                 } else {
                     $eav = new DocchequesEav();
                     $eav->line = $line;
                     $eav->doc_id = $this->id;
                     $eav->attribute = $key;
                     $eav->value = $value['value'];
                     $eav->save();
                 }
             }
             $submodel->line = $line;
             $submodel->doc_id = $this->id;
             //if ((int) $rcpt["type"] != 0) {
             if ($submodel->save()) {
                 //$saved = true;
                 $line++;
             } else {
                 $this->addError('docCheq', $submodel->errors);
                 Yii::error("fatel error cant save rcptdetial,doc_id:" . $submodel->line . "," . $submodel->doc_id);
                 //Yii::$app->end();
             }
             //}
             //Yii::$app->end();
         }
         if (count($this->docCheques) != $line) {
             //if more items in $docCheques delete them
             for ($curLine = $line; $curLine < count($this->docCheques); $curLine++) {
                 $this->docCheques[$curLine]->delete();
             }
         }
     }
     return true;
 }