public function actionAdmin() { $model = new FormDeposit(); //$model->unsetAttributes(); // clear any default values $this->performAjaxValidation($model); if (isset($_POST['FormDeposit'])) { $model->attributes = $_POST['FormDeposit']; if ($model->save()) { Yii::app()->user->setFlash('success', Yii::t('app', 'Deposit Success')); } } $cheques = new Doccheques('search'); $cheques->unsetAttributes(); //$cheques->bank_refnum=''; $this->render('admin', array('model' => $model, 'cheques' => $cheques)); }
public function save() { //print_r($this->Deposit); $num = 0; $linenum = 1; $tranType = Settings::model()->findByPk('transactionType.chequedeposit')->value; if ($this->refnum == '' || $this->date == '' || !is_array($this->Deposit)) { return false; } $valuedate = date("Y-m-d H:m:s", CDateTimeParser::parse($this->date, Yii::app()->locale->getDateFormat('yiishort'))); foreach ($this->Deposit as $line => $val) { list($a, $b) = explode(',', $line); $cheq = Doccheques::model()->findByPk(array("doc_id" => $a, "line" => $b)); $oppt_acc = PaymentType::model()->findByPk($cheq->type)->oppt_account_id; //print_r($cheq); $accout = new Transactions(); $accout->num = $num; $accout->account_id = $this->account_id; $accout->type = $tranType; $accout->refnum1 = $this->refnum; $accout->valuedate = $valuedate; //$accout->details=$this->company; $accout->currency_id = $cheq->currency_id; $accout->owner_id = Yii::app()->user->id; $accout->linenum = $linenum; $accout->sum = $cheq->sum * -1; $linenum++; $num = $accout->save(); $oppt = new Transactions(); $oppt->num = $num; $oppt->account_id = $oppt_acc; $oppt->type = $tranType; $oppt->refnum1 = $this->refnum; $oppt->valuedate = $valuedate; //$oppt->details=$this->company; $oppt->currency_id = $cheq->currency_id; $oppt->owner_id = Yii::app()->user->id; $oppt->linenum = $linenum; $oppt->sum = $cheq->sum * 1; $linenum++; $num = $oppt->save(); $cheq->bank_refnum = $num; $cheq->save(); } //Yii::app()->end(); return $num; }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = Doccheques::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
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::log('start Openimport', 'info', 'app'); //$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]; $acc->save(); //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); $item->save(); unset($item); //*/ } if ($type == 'C100') { //Doc Haeder //return "done!"; //Yii::app()->end(); //find type //global $DocOpenType; $doc = new Docs(); $doc->readLine($line, $type); $doc->status = 1; //needtoChange //Yii::log($doc,'info','app'); $doc->save(); 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); //Yii::log($docdetial,'info','app'); $docdetial->save(); 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'); $rcptdetial->save(); 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); $transaction->save(); //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::log("End OpenImport", 'info', 'app'); //print_r($docIndex); //end loop //print_r($accIndex); } else { print _("error cant open file!"); } }
public function docCheqVal($attribute, $params) { $line = 0; $sum = 0; if (!is_null($this->docCheq)) { foreach ($this->docCheq as $key => $rcpt) { $line++; if (!is_array($rcpt)) { return $this->addError($attribute, Yii::t('app', 'Not a valid doc Cheq array')); } $submodel = new Doccheques(); //go throw attr if no save new foreach ($rcpt as $key1 => $value) { if ($submodel->hasAttribute($key1)) { $submodel->{$key1} = $value; } } $submodel->doc_id = 0; if (PaymentType::model()->findByPk((int) $rcpt["type"]) !== null) { if ($submodel->validate()) { $sum += $submodel->sum; } else { $this->addError($attribute, Yii::t('app', 'Not a valid doc Cheq')); } } else { $this->addError($attribute, Yii::t('app', 'Not a valid paymenet type')); } } } if ($line) { //if (!Linet3Helper::numDiff($sum, (double) $this->rcptsum)) if (abs($sum - $this->total) > 0.0001) { echo Yii::t('app', 'Total and recipt does not mach') . " " . $sum . " " . $this->total . " " . abs($sum - $this->total); exit; $this->addError($attribute, Yii::t('app', 'Total and recipt does not mach') . " " . $sum . " " . $this->total); } } }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = Doccheques::findOne($id); if ($model === null) { throw new \yii\web\HttpException(404, 'The requested page does not exist.'); } return $model; }