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 depositSearch() { $query = Doccheques::find(); $query->where('bank_refnum is null AND (type=1 OR type=2)'); $dataProvider = new \yii\data\ActiveDataProvider(['query' => $query]); return $dataProvider; $criteria = new CDbCriteria(); $criteria->addCondition('bank_refnum IS NULL'); $criteria->addCondition('(type = 1 OR type = 2)', 'AND'); return new CActiveDataProvider($this, array('criteria' => $criteria, 'pagination' => array('pageSize' => 50))); }
public function getDocCheques() { return $this->hasMany(Doccheques::className(), array('doc_id' => 'id')); }
public function readBkmv() { //sort $this->sortBkmvFile(); //skip for testing // //new company //get perm from ini //if (substr($line,395,1)=='2') // $encoding="ibm862"; //else $encoding = "windows-1255"; //$encoding="ibm862"; Yii::info('start Openimport'); //$bkmv = $yiiBasepath."/files/".$configPath."/openformt/bkmvdata.txt-sorted"; $bkmv = $this->bkmvFile . "-sorted"; $suc = array(); $suc['B110'] = 0; $suc['A100'] = 0; $suc['B100'] = 0; $suc['C100'] = 0; $suc['M100'] = 0; $suc['D110'] = 0; $suc['D120'] = 0; $suc['Z900'] = 0; $analze = array(); $analze['B110'] = 0; $analze['A100'] = 0; $analze['B100'] = 0; $analze['C100'] = 0; $analze['M100'] = 0; $analze['D110'] = 0; $analze['D120'] = 0; $analze['Z900'] = 0; $accType = 200; //DELETE FROM `qwe_docCheques` WHERE 1;DELETE FROM `qwe_docDetails` WHERE 1;DELETE FROM `qwe_accounts` WHERE 1;DELETE FROM `qwe_items` WHERE 1;DELETE FROM `qwe_docs` WHERE 1; if ($fp = fopen($bkmv, 'r')) { while ($line = fgets($fp)) { @($line = iconv($encoding, "UTF-8//IGNORE", $line)); //$line=utf8_encode($line); $type = substr($line, 0, 4); //$obj=$this->readline($line,$type); $obj = true; if (!$obj) { //$suc[$type]--; } else { //foreach ($obj as &$value) // if ($encoding=="ibm862") // $value = iconv("ISO-8859-8", "UTF-8", hebrev(iconv("UTF-8", "ISO-8859-8", $value))); if ($type == 'B110') { //Acc Haeder /* Account Import */ $acc = new Accounts(); $acc->readLine($line, $type); if (isset($this->accTypeIndex[$acc->type])) { $this->accDesc[$acc->type] = $this->accDesc[$acc->type] . "," . $acc->name; } else { $this->accDesc[$acc->type] = $acc->name; $this->accTypeIndex[$acc->type] = $accType; $accType++; } $acc->type = $this->accTypeIndex[$acc->type]; if ($acc->currency_id == '') { $acc->currency_id = 'ILS'; } $acc->system_acc = 0; if (!$acc->save()) { var_dump($acc->errors); } //get new acc index save old unset($acc); //*/ } if ($type == 'M100') { //Item In Stock $item = new Item(); $item->category_id = 0; $item->parent_item_id = 0; $item->isProduct = 0; $item->profit = 0; $item->stockType = 0; $item->readLine($line, $type); if ($item->currency_id == '') { $item->currency_id = 'ILS'; } if ($item->sku == '') { $item->sku = $item->id; } if ($item->itemVatCat_id == '') { $item->itemVatCat_id = '1'; } if ($item->unit_id == '') { $item->unit_id = '1'; } if (!$item->save()) { var_dump($item->errors); } unset($item); //*/ } if ($type == 'C100') { //Doc Haeder //return "done!"; //Yii::$app->end(); //find type //global $DocOpenType; $doc = new Docs(); $doc->readLine($line, $type); $doc->action = true; $doc->status = true; //needtoChange //Yii::log($doc,'info','app'); if ($doc->currency_id == '') { $doc->currency_id = 'ILS'; } if (!$doc->save()) { var_dump($doc->errors); } unset($doc); /* if ((isset($DocOpenType[$obj['doctype']])) && (isset($accIndex[$obj['account']]))){ $obj['doctype']=$DocOpenType[$obj['doctype']]; $doc=new document($obj['doctype']); $stype=$obj['doctype']; foreach($obj as $key=>$value){ $doc->$key=$value;//print "$key <br />"; } $doc->account=$accIndex[$doc->account]; //search for old acc index if (isset($doc->rcptdetials)) unset($doc->rcptdetials); if (isset($doc->docdetials)) unset($doc->docdetials); if($check){ if((strtotime($doc->issue_date)>$begindmy)&&(strtotime($doc->issue_date)<$enddmy)) $docIndex[$stype.$obj["docnum"]]=$doc->newDocument(); //print "we are chking!"; }else{ $docIndex[$stype.$obj["docnum"]]=$doc->newDocument(); } //get new doc index save old unset($doc); } */ } if ($type == 'D110') { //Doc Detial $docdetial = new Docdetails(); $docdetial->readLine($line, $type); if ($docdetial->unit_id == '') { $docdetial->unit_id = 1; } if ($docdetial->currency_id == '') { $docdetial->currency_id = 'ILS'; } //Yii::log($docdetial,'info','app'); if (!$docdetial->save()) { var_dump($docdetial->errors); } unset($docdetial); /* global $DocOpenType; $stype=$DocOpenType[$obj['doctype']]; if (isset($docIndex[$stype.$obj["num"]])){ $docdetial=new documentDetail; $docdetial->price=$obj['price']; unset($obj['doctype']); unset($obj['price']); foreach($obj as $key=>$value){ $docdetial->{$key}=$value;//print "$key <br />"; } $docdetial->num=$docIndex[$stype.$obj["num"]]; $docdetial->newDetial(); //search for old doc index //die; //update to new index unset($docdetial); }// */ } if ($type == 'D120') { //Kaballa Detial $rcptdetial = new Doccheques(); $rcptdetial->readLine($line, $type); //Yii::log($rcptdetial, 'info', 'app'); if ($rcptdetial->currency_id == '') { $rcptdetial->currency_id = 'ILS'; } if (!$rcptdetial->save()) { var_dump($rcptdetial->errors); } unset($rcptdetial); /* global $DocOpenType; $stype=$DocOpenType[$obj['doctype']]; if (isset($docIndex[$stype.$obj["refnum"]])){ $rcptdetial=new receiptDetail(); //$stype=$DocOpenType[$obj['doctype']]; $rcptdetial->sum=(float)$obj['sum']; unset($obj['sum']); unset($obj['doctype']); foreach($obj as $key=>$value){ $rcptdetial->$key=$value; } $rcptdetial->refnum=$docIndex[$stype.$obj["refnum"]]; $rcptdetial->newDetial(); //search for old doc index //update to new index unset($rcptdetial); } */ } if ($type == 'B100') { //Move Recored $transaction = new Transactions(); $transaction->readLine($line, $type); if ($transaction->type == '') { $transaction->type = 1; } if ($transaction->currency_id == '') { $transaction->currency_id = 'ILS'; } if (!$transaction->save()) { var_dump($transaction->errors); } //Yii::log($transaction,'info','app'); unset($transaction); /* //print $obj['value'].":".$obj['type']; global $openTransType; if (isset($accIndex[$obj['account']])){ $bsum= $obj['sum']; if($obj['value']==1) $bsum= -1 * $obj['sum']; //print $bsum."<br />\n"; $usum=$bsum*-1; $uaccount=$obj['account1']; $stype=$openTransType[$obj['type']]; unset($obj['sum']); unset($obj['value']); unset($obj['account1']); //adam:! need to reset type of action! $transaction=new transaction; foreach($obj as $key=>$value){ $transaction->$key=$value;//print "$key <br />"; } $transaction->type=$stype; $transaction->sum=$bsum; $transaction->account=$accIndex[$obj['account']]; if($check){ if((strtotime($transaction->date)>$begindmy)&&(strtotime($transaction->date)<$enddmy)){ // "gone"; $transaction->newTransactions(); } //print "gone2"; }else{ //print "gone1"; $transaction->newTransactions(); } unset($transaction); }// */ } unset($obj); $suc[$type]++; } $analze[$type]++; //if ($analze[$type]>100) break; } Yii::info("End OpenImport"); //print_r($docIndex); //end loop //print_r($accIndex); } else { echo Yii::t('app', "error cant open file!"); } }