Revize 312
Přidáno uživatelem Tomáš Dulík před asi 15 roky(ů)
freenetis/trunk/kohana/application/controllers/accounts.php | ||
---|---|---|
protected $acc_id = NULL;
|
||
protected $sel_member;
|
||
/**
|
||
* @var object parsed_acc obsahuje data o parsovaném účtu (z tabulky accounts)
|
||
* Používá se v callback funkci store_transfer
|
||
*/
|
||
protected $parsed_acc = NULL;
|
||
/**
|
||
* @var object $parsed_bank_acc obsahuje data o parsovaném bank. účtu (z tabluky bank_accounts)
|
||
* Používá se v callback funkci store_transfer
|
||
*/
|
||
... | ... | |
static $transfer_model;
|
||
static $bank_transfer_model;
|
||
static $fee_model;
|
||
static $parsed_acc;
|
||
static $bank_interests;
|
||
static $suppliers;
|
||
static $operating;
|
||
... | ... | |
|
||
if ($first_pass) { // dostavame prvni radek vypisu?
|
||
$member_model=new Member_Model(); // vytvorime vsechny instance, ktere potrebujeme i pro dalsi radky
|
||
$transfer_model=new Money_transfer_Model();
|
||
$bank_transfer_model=new Money_transfer_bank_info_Model();
|
||
$transfer_model=new Transfer_Model();
|
||
$bank_transfer_model=new Bank_transfer_Model();
|
||
$acc_model=new Account_Model();
|
||
$bank_acc_model=new Bank_account_Model();
|
||
$fee_model=new Fees_Model();
|
||
if (!isset($this->parsed_acc)) { // mame jiz parsovany ucet v DB? (tato promenna bude nastavena pouze pokud se parsuje ucet zvoleny v gridu uzivatelem)
|
||
$fee_model=new Fee_Model();
|
||
if (!isset($this->parsed_bank_acc)) { // mame jiz parsovany ucet v DB? (tato promenna bude nastavena pouze pokud se parsuje ucet zvoleny v gridu uzivatelem)
|
||
// parsovany ucet dopredu nezname. Je v parsovanem vypisu? (pokud neni transparentni)
|
||
if (isset($data->parsed_acc_nr) && isset($data->parsed_acc_bank_nr)) {
|
||
|
||
$acc_name="$data->parsed_acc_nr/$data->parsed_acc_bank_nr";
|
||
$this->parsed_bank_acc=$bank_acc_model->find_by_account_nr_and_bank_nr($data->parsed_acc_nr, $data->parsed_acc_bank_nr);
|
||
if (!$this->parsed_bank_acc->id) { // parsovany ucet zatim neexistuje?
|
||
// tak si ho vytvorime
|
||
$acc=new Account_model();
|
||
$acc->name = "$data->parsed_acc_nr/$data->parsed_acc_bank_nr";
|
||
$acc->parsed_acc->member_id = 1; // majitel = nase sdruzeni
|
||
$acc->account_attribute_id = Account_attribute_Model::$bank;
|
||
$acc->save();
|
||
$this->parsed_acc = $acc;
|
||
$parsed_acc =new Account_model();
|
||
$parsed_acc->name = $acc_name;
|
||
$parsed_acc->member_id = 1; // majitel = nase sdruzeni
|
||
$parsed_acc->account_attribute_id = Account_attribute_Model::$bank;
|
||
$parsed_acc->save();
|
||
|
||
$bank_acc=new Bank_account_Model();
|
||
$bank_acc->member_id=1;
|
||
... | ... | |
$bank_acc->bank_nr=$data->parsed_acc_bank_nr;
|
||
$bank_acc->save();
|
||
$this->parsed_bank_acc=$bank_acc;
|
||
}
|
||
}
|
||
} else { // if (isset($data->parsed_acc_nr) ... ve výpisu není číslo parsovaného účtu = kritická chyba
|
||
$this->session->set_flash('message', url_lang::lang('texts.The parsed account is unknown.'));
|
||
return;
|
||
}
|
||
}
|
||
if (!isset($parsed_acc))
|
||
$parsed_acc = $acc_model->find_by_name_and_account_attribute_id(
|
||
$acc_name, Account_attribute_Model::$bank);
|
||
|
||
|
||
|
||
$acc_name=$this->parsed_bank_acc->account_nr."/".$this->parsed_bank_acc->bank_nr;
|
||
$bank_interests = $acc_model->find_by_account_attribute_id(Account_atribute_Model::$bank_interests);
|
||
$bank_interests = $acc_model->find_by_account_attribute_id(Account_attribute_Model::$bank_interests);
|
||
if (!$bank_interests->id) { // pokud specialni ucty neexistuji, pak si je vytvorime
|
||
$bank_interests->account_attribute_id=$key;
|
||
$bank_interests->name=Account_atribute_Model::$bank_fees;
|
||
$bank_interests->name=Account_attribute_Model::$bank_fees;
|
||
$bank_interests->member_id=1;
|
||
$bank_interests->save();
|
||
}
|
||
$suppliers=$acc_model->find_by_account_attribute_id(Account_atribute_Model::$suppliers);
|
||
$member_fees=$acc_model->find_by_account_attribute_id(Account_atribute_Model::$member_fees);
|
||
$operating=$acc_model->find_by_account_attribute_id(Account_atribute_Model::$operating);
|
||
$suppliers=$acc_model->find_by_account_attribute_id(Account_attribute_Model::$suppliers);
|
||
$member_fees=$acc_model->find_by_account_attribute_id(Account_attribute_Model::$member_fees);
|
||
$operating=$acc_model->find_by_account_attribute_id(Account_attribute_Model::$operating);
|
||
if (!$suppliers->id || !$member_fees->id || !$operating->id)
|
||
throw new Kohana_Exception('Kritická chyba: v DB chybí účet member_fees, suppliers nebo operating');
|
||
$first_pass=false;
|
||
}
|
||
|
||
// ********************** Tak a jdeme tvořit transakce *********************
|
||
if (empty($data->amount))
|
||
// ****** Bankovní poplatky: ebanka má v řádku výpisu pouze poplatek, ale castka==0
|
||
create_transfer_bank_fee($data);
|
||
$this->create_transfer_bank_fee($data);
|
||
else // amount je nenulovy
|
||
if (!empty($data->amount) && empty($data->fee)) {
|
||
// ***** úroky u ebanky: částka!=0 a poplatek==0
|
||
// Vytvoříme transakci z 644000 (uroky) na 221000
|
||
$id=create_transfer($bank_interests->id, $this->parsed_acc->id,
|
||
$id=$this->create_transfer($bank_interests->id, $parsed_acc->id,
|
||
$data->amount, $data->date_time, $data->comment);
|
||
//vytvoříme bankovní transakci z null na parsovaný účet
|
||
create_bank_transfer(null, $this->parsed_bank_acc->id, $id, $data);
|
||
$this->create_bank_transfer(null, $this->parsed_bank_acc->id, $id, $data);
|
||
} else {
|
||
// ****** castka!=0 && poplatek !=0 - u ebanky nejběžnější případ: ******
|
||
// ****** členský příspěvek nebo platba faktury dodavatelum. ******
|
||
... | ... | |
if ($data->amount>0) {
|
||
// členský příspěvek: uvedl člen u teto platby jako variabilni symbol (VS) svůj telefon ?
|
||
$member=$member_model->find_member_by_phone($data->variable_symbol);
|
||
if (!$member->id)
|
||
if (!$member)
|
||
// ne? zkusime, zda jako VS nezadal svoje member id
|
||
$member=$member_model->find($data->variable_symbol);
|
||
// pokud se to nepovedlo, pak $member->id zatím zustava null
|
||
... | ... | |
|
||
if ($data->amount<0) {
|
||
// úhrada faktury - z 221000 (bank. účet) na 321000 (dodavatelé)
|
||
$id=create_transfer($this->parsed_acc->id, $suppliers,
|
||
$id=create_transfer($parsed_acc->id, $suppliers->id,
|
||
$data->amount, $data->date_time, $data->comment);
|
||
create_bank_transfer($this->parsed_bank_acc->id, $bank_acc->id, $id, $data);
|
||
$this->create_bank_transfer($this->parsed_bank_acc->id, $bank_acc->id, $id, $data);
|
||
// a ještě vytvoříme transakce (podvojné+bankovní) bank. poplatku
|
||
create_transfer_bank_fee($data, $id);
|
||
$this->create_transfer_bank_fee($data, $id);
|
||
} else { // $data->amount > 0
|
||
// členský příspěvek - z 684000 na 221000
|
||
$id=create_transfer($member_fees, $this->parsed_acc->id,
|
||
$id=$this->create_transfer($member_fees->id, $parsed_acc->id,
|
||
$data->amount, $data->date_time, $data->comment);
|
||
create_bank_transfer($bank_acc->id, $this->parsed_bank_acc->id, $id, $data);
|
||
$this->create_bank_transfer($bank_acc->id, $this->parsed_bank_acc->id, $id, $data);
|
||
// pak vytvoříme transakce (podvojné+bankovní) bank. poplatku
|
||
create_transfer_bank_fee($data, $id);
|
||
$this->create_transfer_bank_fee($data, $id);
|
||
if ($member->id) {
|
||
// **** teď převedeme peníze členovi na jeho účet s kreditem
|
||
// ten účet ale musíme najít nebo vytvořit:
|
||
... | ... | |
$acc_model->save();
|
||
$credit_acc=$acc_model;
|
||
}
|
||
create_transfer($this->parsed_acc->id, $acc_model->id,
|
||
$this->create_transfer($parsed_acc->id, $acc_model->id,
|
||
$data->amount-$data->fee, $data->date_time, "Přiřazení platby");
|
||
// **** teď se podíváme, jestli v té době sdružení účtovalo poplatek za zpracování platby:
|
||
$fee=$fee_model->get_by_date_type($data->date_time, 'transfer fee');
|
||
if ($fee->id) { // ano? Pak poplatek strhneme z účtu
|
||
create_transfer($credit_acc->id, $operating->id,
|
||
if ($fee->id) // ano? Pak poplatek strhneme z účtu
|
||
$this->create_transfer($credit_acc->id, $operating->id,
|
||
$fee->fee-$data->fee, $data->date_time, "Transakční poplatek");
|
||
}
|
||
|
||
|
||
} // if ($member->id)
|
||
} // else { // $data->amount > 0
|
||
} // else { // ****** castka!=0 && poplatek !=0
|
||
... | ... | |
static $bank_fees;
|
||
if (!isset($bank_fees)) {
|
||
$acc_name=$this->parsed_bank_acc->account_nr."/".$this->parsed_bank_acc->bank_nr;
|
||
$bank_fees = $acc_model->find_by_account_attribute_id(Account_atribute_Model::$bank_fees);
|
||
$bank_fees = $acc_model->find_by_account_attribute_id(Account_attribute_Model::$bank_fees);
|
||
if (!$bank_fees->id) { // pokud specialni ucty neexistuji, pak si je vytvorime
|
||
$bank_fees->account_attribute_id=$key;
|
||
$bank_fees->name=Account_atribute_Model::$bank_fees;
|
||
$bank_fees->name=Account_attribute_Model::$bank_fees;
|
||
$bank_fees->member_id=1;
|
||
$bank_fees->save();
|
||
}
|
||
}
|
||
// vytvoříme transakci "bankovní poplatek z 221000 (bank. účty) na 549001 (bank. poplatky)
|
||
$id=create_transfer($this->parsed_acc->id, $bank_fees->id,
|
||
$id=create_transfer($parsed_acc->id, $bank_fees->id,
|
||
abs($data->fee), $data->date_time, "$data->type: $data->comment", $prev_id);
|
||
//vytvoříme bankovní transakci z parsovaného účtu na null
|
||
create_bank_transfer($this->parsed_bank_acc->id, null, $id, $data);
|
||
... | ... | |
static $transfer_model;
|
||
if (!isset($transfer_model)) $transfer_model=new Transfer_Model();
|
||
$transfer_model->amount = $amount;
|
||
$transfer_model->datetime = $date_time;
|
||
$transfer_model->datetime = $datetime;
|
||
$transfer_model->origin_id = $src;
|
||
$transfer_model->destination_id = $dst;
|
||
$transfer_model->text= $text;
|
||
... | ... | |
* @param $account_id - ID of the account whose data will be parsed.
|
||
* @return void
|
||
*/
|
||
public function parse_ebank_account($account_id=NULL, $url="") {
|
||
public function parse_ebank_account($bank_account_id=NULL, $url="") {
|
||
|
||
$parser=new Parser_Ebanka();
|
||
|
||
... | ... | |
//$parser->set_callback(array($this, "print_row"));
|
||
$parser->set_callback(array($this, "store_transfer_ebanka"));
|
||
// pokud z gridu dostáváme $account_id, pak si ho uložíme pro potřeby callback funkce
|
||
if (isset($account_id)) {
|
||
$this->parsed_acc=new Account_Model($account_id);
|
||
$this->parsed_bank_acc = $this->parsed_acc->find_related_bank_account();
|
||
}
|
||
if (isset($bank_account_id))
|
||
$this->parsed_bank_acc=new Bank_account_Model($bank_account_id);
|
||
|
||
//print_r ($parser);
|
||
echo "<table border=1>\n";
|
||
... | ... | |
|
||
}
|
||
|
||
/**
|
||
* pridat parametry:
|
||
* + full výpis (včetně čísel účtů) nebo veřejný výpis (bez čísel účtů?)
|
||
* + číslo účtu, ze kterého se to má tahat
|
||
|
||
* Get the value of fee that we (organization) withdraw from member's
|
||
* account upon each bank transaction he makes.
|
||
* This way we punish members who pay their fees every month, often with
|
||
* wrong variable symbols, so we must spend lot of time with
|
||
* manual identification of the payments.
|
||
*/
|
||
|
||
public function parse_ebank_account_old($url="c:/www/freenetis/kohana/upload/2007.html") {
|
||
|
||
$model_fee = new Bank_fee_Model(1);
|
||
$fee_value = (float)$model_fee->fee;
|
||
|
||
$model_account = new Account_Model();
|
||
$model_account->where('type=\'master\'')->find();
|
||
$master_acc_id = $model_account->id;
|
||
$model_account->clear();
|
||
$model_account->where('type=\'suppliers\'')->find();
|
||
$suppliers_acc_id = $model_account->id;
|
||
$model_account->clear();
|
||
$model_account->where('type=\'operating\'')->find();
|
||
$operating_acc_id = $model_account->id;
|
||
$model_account->clear();
|
||
$model_account->where('type=\'unidentified\'')->find();
|
||
$unidentified_acc_id = $model_account->id;
|
||
|
||
// Get last two transfers
|
||
$model_transfer = new Transfer_Model();
|
||
$last_transactions = $model_transfer->get_last_transfers($master_acc_id);
|
||
$last = array();
|
||
$i = 0;
|
||
foreach($last_transactions as $lt)
|
||
{
|
||
$last[$i] = $lt;
|
||
$i++;
|
||
}
|
||
//*
|
||
// parse ebank file
|
||
echo "Memory usage=".memory_get_usage()."<p>";
|
||
|
||
if ($url==NULL)
|
||
$string=file_get_contents (self::acc_url . self::acc_nr);
|
||
else $string=file_get_contents($url);
|
||
|
||
$string = stristr($string, 'Pohyby na');
|
||
$string = stristr($string, '<table');
|
||
$pozice = stripos ($string, '</table');
|
||
$string = substr ($string, 0, $pozice);
|
||
|
||
$dopryc = array(" class=\"odd\"", " class=\"even\"",
|
||
"\n\n", "<tbody>", "br");
|
||
$string = str_ireplace($dopryc, "", $string);
|
||
$string = str_ireplace("< />", ";", $string);
|
||
$string = str_ireplace("</tr>", "<br />", $string);
|
||
$dopryc = array("<tr>"," ","<td>");
|
||
$string = str_ireplace($dopryc, "", $string);
|
||
$string = str_ireplace("</td>", ";", $string);
|
||
$string = str_ireplace("\n", "", $string);
|
||
$string = str_replace(" ", "", $string);
|
||
echo "Memory usage=".memory_get_usage()."<p>";
|
||
print $string;
|
||
$vysledek = html_entity_decode($string, NULL, 'UTF-8');
|
||
$radky = explode('<br />', $vysledek);
|
||
die("OK");
|
||
$model_transfer->clear();
|
||
$model_bank_transfer = new transfer_bank_info_Model();
|
||
$zaznamy = 0;
|
||
$rozeznano = 0;
|
||
$pocet_shodnych = 0;
|
||
$next = true;
|
||
for($i=0;$i<Count($radky)-1;$i++) {
|
||
$pole[$i] = explode(';', $radky[$i]);
|
||
unset($pole[$i][1]);
|
||
unset($pole[$i][2]);
|
||
unset($pole[$i][3]);
|
||
unset($pole[$i][5]);
|
||
unset($pole[$i][8]);
|
||
unset($pole[$i][9]);
|
||
unset($pole[$i][15]);
|
||
unset($pole[$i][17]);
|
||
|
||
if (isset($last[0]))
|
||
if ($last[$pocet_shodnych]->variable_symbol == $pole[$i][12] && $last[$pocet_shodnych]->timestamp == substr($pole[$i][4],0,-2) && $last[$pocet_shodnych]->amount == (float)$pole[$i][16] && $last[$pocet_shodnych]->text == $pole[$i][6])
|
||
{
|
||
$pocet_shodnych++;
|
||
$next = false;
|
||
}
|
||
else $next = true;
|
||
if ($next)
|
||
{
|
||
$previous_id = NULL;
|
||
// pokus o identifikovani prijemce
|
||
if ((float)$pole[$i][16]>0)
|
||
{
|
||
// jedna se o prichozi platbu
|
||
$prijemce = false;
|
||
$model_user = new User_Model();
|
||
$model_user->find_by_phone(trim($pole[$i][12]));
|
||
if ($model_user->member_id!='') $prijemce = $model_user->member_id;
|
||
else
|
||
{
|
||
// pokus o identifikaci pomoci ID
|
||
$model_member = new Member_Model(trim($pole[$i][12]));
|
||
if ($model_member->id!='') $prijemce = $model_member->id;
|
||
}
|
||
if ($prijemce)
|
||
{
|
||
// prijemce identifikovan
|
||
$model_account->clear();
|
||
$model_account->where('type=\'analytic\' AND owner_id='.$prijemce.'')->find();
|
||
|
||
// ulozeni informace o bankovnim prevodu
|
||
$model_bank_transfer->identified = 1;
|
||
$model_bank_transfer->variable_symbol = $pole[$i][12];
|
||
$model_bank_transfer->constant_symbol = $pole[$i][13];
|
||
$model_bank_transfer->specific_symbol = $pole[$i][14];
|
||
$model_bank_transfer->name = $pole[$i][7]=='' ? ' ' : $pole[$i][7];
|
||
$model_bank_transfer->date_time = substr($pole[$i][4],0,-2);
|
||
$model_bank_transfer->save();
|
||
|
||
// prevod na analyticky ucet membera
|
||
$model_transfer->destination_id = $model_account->id;
|
||
$model_transfer->amount = (float)$pole[$i][16];
|
||
//$model_transfer->origin_id = $master_acc_id;
|
||
$model_transfer->bank_info_id = $model_bank_transfer->id;
|
||
$model_transfer->text = $pole[$i][6];
|
||
$model_transfer->save();
|
||
$previous_id = $model_transfer->id;
|
||
$model_transfer->clear();
|
||
|
||
// poplatek clena
|
||
$model_transfer->destination_id = $operating_acc_id;
|
||
$model_transfer->amount = $fee_value;
|
||
$model_transfer->origin_id = $model_account->id;
|
||
$model_transfer->text = url_lang::lang('texts.Bank transfer fee.');
|
||
$model_transfer->previous_transfer_id = $previous_id;
|
||
$model_transfer->save();
|
||
$model_transfer->clear();
|
||
|
||
// poplatek banky
|
||
$model_transfer->destination_id = $unidentified_acc_id;
|
||
$model_transfer->amount = abs((float)$pole[$i][18]);
|
||
$model_transfer->origin_id = $master_acc_id;
|
||
$model_transfer->text = url_lang::lang('texts.Bank transfer fee.');
|
||
$model_transfer->previous_transfer_id = $previous_id;
|
||
$model_transfer->save();
|
||
$model_transfer->clear();
|
||
|
||
// poplatek baky - prevod z provozniho
|
||
$model_transfer->destination_id = $unidentified_acc_id;
|
||
$model_transfer->amount = abs((float)$pole[$i][18]);
|
||
$model_transfer->origin_id = $operating_acc_id;
|
||
$model_transfer->text = url_lang::lang('texts.Bank transfer fee.');
|
||
$model_transfer->previous_transfer_id = $previous_id;
|
||
$model_transfer->save();
|
||
$model_transfer->clear();
|
||
|
||
// prepocitani hodnoty current_credit
|
||
|
||
$model_members = new Member_Model($model_account->owner_id);
|
||
$model_members->current_credit = (float)$model_members->current_credit + (float)$pole[$i][16] - $fee_value;
|
||
$model_members->save();
|
||
|
||
$rozeznano++;
|
||
}
|
||
else
|
||
{
|
||
$model_bank_transfer->variable_symbol = $pole[$i][12];
|
||
$model_bank_transfer->constant_symbol = $pole[$i][13];
|
||
$model_bank_transfer->specific_symbol = $pole[$i][14];
|
||
$model_bank_transfer->name = $pole[$i][7]=='' ? ' ' : $pole[$i][7];
|
||
$model_bank_transfer->date_time = substr($pole[$i][4],0,-2);
|
||
$model_bank_transfer->save();
|
||
}
|
||
|
||
$model_transfer->destination_id = $master_acc_id;
|
||
$model_transfer->amount = (float)$pole[$i][16];
|
||
$model_transfer->bank_info_id = $model_bank_transfer->id;
|
||
$model_transfer->timestamp = substr($pole[$i][4],0,-2);
|
||
$model_transfer->text = $pole[$i][6];
|
||
$model_transfer->save();
|
||
$previous_id = $model_transfer->id;
|
||
$model_transfer->clear();
|
||
|
||
// poplatek banky
|
||
if (abs((float)$pole[$i][18]) > 0)
|
||
{
|
||
$model_transfer->destination_id = $unidentified_acc_id;
|
||
$model_transfer->amount = abs((float)$pole[$i][18]);
|
||
$model_transfer->origin_id = $master_acc_id;
|
||
$model_transfer->text = url_lang::lang('texts.Bank transfer fee.');
|
||
$model_transfer->previous_transfer_id = $previous_id;
|
||
$model_transfer->save();
|
||
$model_transfer->clear();
|
||
|
||
// poplatek baky - prevod z provozniho
|
||
$model_transfer->destination_id = $unidentified_acc_id;
|
||
$model_transfer->amount = abs((float)$pole[$i][18]);
|
||
$model_transfer->origin_id = $operating_acc_id;
|
||
$model_transfer->text = url_lang::lang('texts.Bank transfer fee.');
|
||
$model_transfer->previous_transfer_id = $previous_id;
|
||
$model_transfer->save();
|
||
|
||
}
|
||
$model_transfer->clear();
|
||
}
|
||
else
|
||
{
|
||
// nulova nebo odchozi platba
|
||
if ((float)$pole[$i][16]==0)
|
||
{
|
||
// jen nejaky poplatek
|
||
$pole[$i][16] = abs((float)$pole[$i][18]); // castka se primo rovna poplatku
|
||
$model_transfer->destination_id = $unidentified_acc_id;
|
||
$model_transfer->amount = abs((float)$pole[$i][18]);
|
||
$model_transfer->origin_id = $master_acc_id;
|
||
$model_transfer->text = url_lang::lang('texts.Fee').': '.$pole[$i][6];
|
||
$model_transfer->save();
|
||
$previous_id = $model_transfer->id;
|
||
$model_transfer->clear();
|
||
// z provozniho dodavatelum
|
||
$model_transfer->previous_transfer_id = $previous_id;
|
||
$model_transfer->destination_id = $suppliers_acc_id;
|
||
$model_transfer->amount = abs((float)$pole[$i][18]);
|
||
$model_transfer->origin_id = $operating_acc_id;
|
||
$model_transfer->text = url_lang::lang('texts.Fee').': '.$pole[$i][6];
|
||
$model_transfer->save();
|
||
|
||
$model_bank_transfer->identified = 1;
|
||
$model_bank_transfer->variable_symbol = $pole[$i][12];
|
||
$model_bank_transfer->constant_symbol = $pole[$i][13];
|
||
$model_bank_transfer->specific_symbol = $pole[$i][14];
|
||
$model_bank_transfer->name = $pole[$i][7]=='' ? ' ' : $pole[$i][7];
|
||
$model_bank_transfer->date_time = substr($pole[$i][4],0,-2);
|
||
$model_bank_transfer->save();
|
||
}
|
||
else
|
||
{
|
||
// odchozi platba
|
||
$pole[$i][16] = abs((float)$pole[$i][16]);
|
||
|
||
$model_bank_transfer->variable_symbol = $pole[$i][12];
|
||
$model_bank_transfer->constant_symbol = $pole[$i][13];
|
||
$model_bank_transfer->specific_symbol = $pole[$i][14];
|
||
$model_bank_transfer->name = $pole[$i][7]=='' ? ' ' : $pole[$i][7];
|
||
$model_bank_transfer->date_time = substr($pole[$i][4],0,-2);
|
||
$model_bank_transfer->save();
|
||
|
||
$model_transfer->origin_id = $master_acc_id;
|
||
$model_transfer->destination_id = $unidentified_acc_id;
|
||
$model_transfer->amount = (float)$pole[$i][16];
|
||
$model_transfer->bank_info_id = $model_bank_transfer->id;
|
||
$model_transfer->timestamp = substr($pole[$i][4],0,-2);
|
||
$model_transfer->text = $pole[$i][6];
|
||
$model_transfer->save();
|
||
$previous_id = $model_transfer->id;
|
||
$model_transfer->clear();
|
||
|
||
if (abs((float)$pole[$i][18]) > 0)
|
||
{
|
||
$model_transfer->destination_id = $unidentified_acc_id;
|
||
$model_transfer->amount = abs((float)$pole[$i][18]);
|
||
$model_transfer->origin_id = $master_acc_id;
|
||
$model_transfer->text = url_lang::lang('texts.Bank transfer fee.');
|
||
$model_transfer->previous_transfer_id = $previous_id;
|
||
$model_transfer->save();
|
||
$model_transfer->clear();
|
||
|
||
// poplatek baky - prevod z provozniho
|
||
$model_transfer->destination_id = $unidentified_acc_id;
|
||
$model_transfer->amount = abs((float)$pole[$i][18]);
|
||
$model_transfer->origin_id = $operating_acc_id;
|
||
$model_transfer->text = url_lang::lang('texts.Bank transfer fee.');
|
||
$model_transfer->previous_transfer_id = $previous_id;
|
||
$model_transfer->save();
|
||
}
|
||
}
|
||
}
|
||
$model_transfer->clear();
|
||
$model_bank_transfer->clear();
|
||
$zaznamy++;
|
||
}
|
||
if ($pocet_shodnych > 2) break;
|
||
}
|
||
|
||
echo "done...naimportovano ".$zaznamy." zaznamu. Z toho bylo ".$rozeznano." uspesne rozeznano a prirazeno";
|
||
}
|
||
|
||
public function ajax_check()
|
||
{
|
Také k dispozici: Unified diff
Opraveny bugy v importu plateb (store_transfer_ebanka), bohuzel to stale jeste nefunguje - na vine budou asi promenne static, kterymi jsem chtel usetrit pamet a cas...asi to tak nepujde no. Zitra je taky den!