STATUS == 9) { $db = DB::getDB(); $sqlDataBlokadyTest = " select c.`ID`, c.`STATUS`, h.`STATUS` as h_status, h.`A_RECORD_UPDATE_DATE`, h.`A_RECORD_CREATE_DATE` from `COMPANIES` c join `COMPANIES_HIST` h on(h.`ID_USERS2`=c.`ID`) where (h.`STATUS`='9' or c.`STATUS`='9') "; $sqlDataBlokadyTestHasNoDate = " select c.`ID`, c.`STATUS` from `COMPANIES` c where c.`STATUS`='9' and not exists(select h.`ID` from `COMPANIES_HIST` h where h.`ID_USERS2`=c.`ID` and h.`STATUS`='9' ) "; $sqlDataBlokady = "select h.`A_RECORD_UPDATE_DATE` from `COMPANIES_HIST` h where h.`ID_USERS2`='{$user->ID_BILLING_USERS}' and h.`STATUS`='9' order by h.`ID` desc limit 1 "; $res = $db->query($sqlDataBlokady); if ($r = $db->fetch($res)) { $dataBlokady = $r->A_RECORD_UPDATE_DATE; } } $company = Windykacja_StatsModel::get_company($user); $nr_konta = Windykacja_FunkcjeL1::bankowy_formatuj_nrach(Windykacja_FunkcjeL1::bankowy_make_nrach($company->NR_RACH_MASS_PAY, $user->ID_BILLING_USERS, 0)); echo'

'; echo' '."Klienci".''; echo ' » '."[".$user->id_users."]".''; echo ' '.$user->P_NAME.' '.$user->P_NAME_SECOND.''; echo'

'; echo '
'; echo ''; echo ''; echo''; echo''; echo'BAD_ADDRESS)? ' style="background-color:#FF7878;"' : '').'>'; echo "ul. ".$user->P_ADDRESS_STREET." ".$user->P_ADDRESS_HOUSE."/".$user->P_ADDRESS_HOME.", ".$user->P_ADDRESS_POST_CODE." ".$user->P_ADDRESS_CITY; echo''; echo''; ?> P_ADRESS_KORESP_1282) : ?> '; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; ?> '; echo '
'; echo "Dane " . (($user->is_firma)? "firmy" : "klienta") . " "; if ($user->BAD_ADDRESS) { echo '
'; echo ''; $js = "if(this.nextSibling.style.display=='none'){this.nextSibling.style.display='block'}else{this.nextSibling.style.display='none'}; return false;"; echo ''; echo '
'; echo ''; echo ''; echo ''; echo '
'; echo '
'; } else { echo '
'; echo ''; $js = "if(this.nextSibling.style.display=='none'){this.nextSibling.style.display='block'}else{this.nextSibling.style.display='none'}; return false;"; echo ''; echo '
'; echo ''; echo ''; echo ''; echo '
'; echo '
'; } if (!empty($bad_address_msg)) { if ('id_koresp' == V::get('error', '', $bad_address_msg)) { echo '
'."Podaj poprawny ID Koresp.".'
'; } else if (true == V::get('error', false, $bad_address_msg)) { echo '
'."Error!".'
'; } else if (true == V::get('ok', false, $bad_address_msg)) { echo '
'."Zapisano pomyślnie.".'
'; } } echo '
' . "Adres:" . '
Adres koresp. P_ADRESS_KORESP_1282; ?>
' . "Pesel:" . ''; if ($user->P_PESEL) { echo $user->P_PESEL; } else { echo ''."Brak numeru PESEL!".''; } echo'
' . "Nr telefonu:" . ''; if ($user->P_PHONE) { echo $user->P_PHONE; } else { echo ''."Brak!".''; } echo'
' . "Nr dowodu:" . ''; if ($user->P_OTHER_DOC) { echo $user->P_OTHER_DOC; } else { echo ''."Brak!".''; } echo'
' . "e-mail:" . ''; if ($user->user_mail_contact) { echo ''.$user->user_mail_contact.''; } else { echo ''."Brak!".''; } echo'
' . "Klient firmy:" . ''; if ($user->BILLING_OWNER == 1) { echo 'BN - BIALL-NET'; } else if ($user->BILLING_OWNER == 2) { echo 'ND - NETDAY'; } else { echo 'nieznany'; } echo'
' . "Blokada:" . ''; if ($user->STATUS == 9) { echo '' . "ZABLOKOWANY" . ''; if (!empty($dataBlokady)) { echo '
' . "od dnia " . substr($dataBlokady, 0, 10); } } else { echo 'brak blokady'; } echo'
Nr konta:
' . " " . ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
'; echo "Status windykacji "; echo '' . "(" . $user->WINDYKACJA_ID . ")" . ''; if ($user->A_STATUS_UPDATE_DATE < date("Y-m-d")) { echo " " . '' . "Aktualizuj status" . ''; // Reload page, data updated below } // TODO: zmien status klienta - przypisanie do odpowiedniej grupy echo '
' . "status:" . ''; echo $user->A_STATUS; if (V::get('DBG', '', $_GET, 'int') > 0) {// TODO: TEST if ($user->A_STATUS == 'waiting-krd') { echo '
' . "wezwanie2_DATE: {$user->wezwanie2_DATE}"; $wzw2 = new stdClass(); $wzw2->Y = intval(substr($user->wezwanie2_DATE, 0, 4)); $wzw2->m = intval(substr($user->wezwanie2_DATE, 5, 2)); $wzw2->d = intval(substr($user->wezwanie2_DATE, 8, 2)); echo '
' . "wzw2: {$wzw2->Y}-{$wzw2->m}-{$wzw2->d}"; $wzw2->plus_60 = date("Y-m-d", mktime(0,0,0, $wzw2->m, $wzw2->d + 60, $wzw2->Y)); echo '
' . "wezwanie2_DATE + 60 dni: {$wzw2->plus_60}"; if ($wzw2->plus_60 < date("Y-m-d")) { echo '
' . "TODO: przenieść do krd"; } } }// TODO: TEST echo '   
'; echo ''; $fltr_arr = Windykacja_StatsHelper::get_filters(); $fltr_options = array(); foreach ($fltr_arr as $k_status => $v_arr) { $fltr_options[$k_status] = reset($v_arr); } echo ''; echo ''; echo '
'; echo '
' . "Nr sprawy w krd" . ''; echo '
'; echo ''; echo ''; echo ''; echo '
'; echo '
' . "Nr sprawy w sądzie" . ''; echo '
'; echo ''; echo ''; echo ''; echo '
'; echo '
' . "Nr sprawy u komornika" . ''; echo '
'; echo ''; echo ''; echo ''; echo '
'; echo '
' . "Aktualne ustalenia z klientem" . ''; echo '
'; echo ''; echo ''; echo '
' . "Data: "; echo ''; echo ''; $js = "this.form.ustalenia_info.value=''; this.form.ustalenia_date.value='0000-00-00'; return false;"; echo ''; echo '
'; echo '
' . "data ostatniej wpłaty:" . ''; if ($user->LAST_PAY_DATE && $user->LAST_PAY_DATE != '0000-00-00') { echo $user->LAST_PAY_DATE; } else { echo '---'; } echo '
' . "data wymagalności ostatniej faktury:" . ''; if ($user->PAY_DATE != '0000-00-00') { echo $user->PAY_DATE; } echo '
' . "data wymagalności pierwszej faktury:" . ''; if ($user->PAY_DATE_FIRST_FVAT != '0000-00-00') { echo $user->PAY_DATE_FIRST_FVAT; } echo '
' . "termin płatności:" . ''; if ($user->PAY_TERM != '0000-00-00') { echo $user->PAY_TERM; } echo '
' . "Przeniesienie do Vectra?:" . ''; if ($user->IS_MOVED_TO_VECTRA) { echo 'TAK'; } else { echo 'NIE'; } echo '
'; echo '
'; // TODO: windykacja_status_info - grupa filtrow do ktorej nalezy klient Lib::loadClass('CompanyHelper'); $db = DB::getDB(); $comHelper = new CompanyHelper($db); $usr = $comHelper->getById($user->ID); $dealsActive = $comHelper->getDealsFull($user->ID, false); Lib::loadClass('PokazOfertyView'); $pokaz_oferty_view = new PokazOfertyView(); echo $pokaz_oferty_view->print_css(); $pokaz_oferty_view->printServices($usr, $dealsActive); if(V::get('DBG_ACTIVE_SRV', '', $_GET) > 2){ $activeServicesByType = array(); $db = DB::getDB(); $idUser = $user->ID; $sql = " select srv.`ID` as `ID_SERVICES` , srv.`NAME_LIST_SERVICES` , A_STATUS_L2_SQL_L1(srv.`ID`) as A_STATUS_CURRENT from `SERVICES` srv where srv.`ID_BILLING_USERS`='{$idUser}' "; DBG::_(true, true, "sql", $sql, __CLASS__, __FUNCTION__, __LINE__); $res = $db->query($sql); while ($r = $db->fetch($res)) { $activeServicesByType[] = $r; } DBG::_(true, true, "activeServicesByType", $activeServicesByType, __CLASS__, __FUNCTION__, __LINE__); $sql = " select IF(1 = ( select 1 as hasActiveNET from `SERVICES` srv where srv.`ID_BILLING_USERS`='{$idUser}' and srv.`NAME_LIST_SERVICES`='USERS2' and 'NORMAL'=A_STATUS_L2_SQL_L1(srv.`ID`) limit 1 ), 1, 0) as hasActiveNET , IF(1 = ( select 1 as hasActiveTV from `SERVICES` srv where srv.`ID_BILLING_USERS`='{$idUser}' and srv.`NAME_LIST_SERVICES`='TV' and 'NORMAL'=A_STATUS_L2_SQL_L1(srv.`ID`) limit 1 ), 1, 0) as hasActiveTV "; DBG::_(true, true, "sql", $sql, __CLASS__, __FUNCTION__, __LINE__); $activeServicesByType = array(); $res = $db->query($sql); while ($r = $db->fetch($res)) { $activeServicesByType = $r; } DBG::_(true, true, "activeServicesByType", $activeServicesByType, __CLASS__, __FUNCTION__, __LINE__); } // aktualny status klienta echo'
'; if ($user->A_STATUS_UPDATE_DATE < date("Y-m-d")) { } else { switch ($user->A_STATUS) { case 'WAITING': { echo'

' . "Status OK" . '

'; } break; case 'wezwanie1': { $default_PAY_TERM = date("Y-m-d", mktime(0,0,0,date('m'), date('d') + 14, date('Y'))); $frm_errors = array(); $frm_msgs = array(); $frm = array(); $frm['wezwanie1_DATE'] = date("Y-m-d"); $frm['PAY_TERM'] = V::get('PAY_TERM', $default_PAY_TERM, $_POST); $frm['ID_PROJ'] = V::get('ID_PROJ', 0, $_POST, 'int'); if ('set_wezwanie' == V::get('user_task', '', $_POST)) { if ($frm['ID_PROJ'] == 0) { $frm_errors[] = "Brak numeru ID Projketu"; } if (empty($frm_errors)) { $ret = Windykacja_StatsHelper::update_user($user, $frm); if ($ret) { $frm_msgs[] = "Status klienta został zaktualizowany"; } else { $frm_errors[] = "Status klienta nie został zaktualizowany"; } } } echo '
'; if ($user->PAY_FVAT > 0 && $user->PAY_SALDO <= -0.05) { echo "Saldo klienta: " . '' . "{$user->PAY_SALDO} zł" . '' . " ({$user->PAY_FVAT} niezapłaconych faktur)" . '
'; echo'
'; } echo ''."Wysłać wezwanie do zapłaty".''.'
'; if (!empty($frm_errors)) { echo'

' . implode('
', $frm_errors) . '

'; } if (!empty($frm_msgs)) { echo'

' . implode('
', $frm_msgs) . '

'; } echo'
'; echo''; echo "Data płatności: "; echo''; echo " ID Projektu (np. 335 - klienci BIALL-NET lub 4956 - klienci Vectra): "; echo''; echo''; echo'
'; if ($user->wezwanie1_DATE != '0000-00-00') { echo'
'; $ico_print = ''; echo''.$ico_print." wezwanie do zapłaty".''; } echo '
';// .box-blue } break; case 'waiting-wezwanie2': {// TODO: only auto update ? echo '
'; if ($user->PAY_FVAT > 0 && $user->PAY_SALDO <= -0.05) { echo "Saldo klienta: " . '' . $user->PAY_SALDO . " zł" . '' . " (" . $user->PAY_FVAT ." niezapłaconych faktur)" . '
'; echo'
'; } echo ''."Oczekiwanie na uzbieranie kwoty 300zł (firmy 500zł)".''.'
'; if (!empty($frm_errors)) { echo'

'; echo implode('
', $frm_errors); echo'

'; } echo'
'; // echo''; // echo''; echo'
'; if ($user->wezwanie1_DATE != '0000-00-00') { echo'
'; $ico_print = ''; echo'' . $ico_print . " wezwanie do zapłaty".''.''." (termin płatności: " . $user->PAY_TERM . ")".''; } echo '
';// .box-blue } break; case 'wezwanie2': { $default_PAY_TERM = date("Y-m-d", mktime(0,0,0,date('m'), date('d') + 14, date('Y'))); $frm_msgs = array(); $frm_errors = array(); $frm = array(); $frm['wezwanie2_DATE'] = date("Y-m-d"); $frm['PAY_TERM'] = V::get('PAY_TERM', $default_PAY_TERM, $_POST); $frm['ID_PROJ'] = V::get('ID_PROJ', 0, $_POST, 'int'); if ('set_wezwanie2' == V::get('user_task', '', $_POST)) { if ($frm['ID_PROJ'] == 0) { $frm_errors[] = "Brak numeru ID korespondencji"; } if (empty($frm_errors)) { $ret = Windykacja_StatsHelper::update_user($user, $frm); if ($ret) { $frm_msgs[] = "Status klienta został zaktualizowany"; } else { $frm_errors[] = "Status klienta nie został zaktualizowany"; } } } echo '
'; if ($user->PAY_FVAT > 0 && $user->PAY_SALDO <= -0.05) { echo "Saldo klienta: " . '' . "{$user->PAY_SALDO} zł" . '' . " ({$user->PAY_FVAT} niezapłaconych faktur)" . '
'; echo'
'; } echo ''."Wysłać ostateczne wezwanie do zapłaty".''.'
'; if (!empty($frm_errors)) { echo'

' . implode('
', $frm_errors) . '

'; } if (!empty($frm_msgs)) { echo'

' . implode('
', $frm_msgs) . '

'; } echo'
'; echo''; echo "Data płatności: "; echo''; echo " ID Projektu: "; echo''; echo''; echo'
'; if ($user->wezwanie2_DATE != '0000-00-00') { echo'
'; $ico_print = ''; echo'' . $ico_print . " ostateczne wezwanie do zapłaty".''; } echo '
';// .box-blue } break; case 'waiting-krd': { if ($user->wezwanie2_DATE != '0000-00-00') { echo'
'; $ico_print = ''; echo'' . $ico_print . " ostateczne wezwanie do zapłaty".''; } } break; default: echo'

' . "TODO: (".$user->A_STATUS.")" . '

'; } } //if ($user->BA_TIMESTAMP) { // echo "Stan wzajemnych rozrachunków:"; // echo " WINIEN: ".$user->BA_WINIEN." - MA: ".$user->BA_MA." SALDO(DO ZAPŁATY): ".($user->BA_WINIEN - $user->BA_MA).""; // echo", i jest to stan na dzień ".date("Y-m-d",$user->BA_TIMESTAMP)." "; //} // phone contact $phone_status_info = Windykacja_StatsHelper::get_phone_status_info($user); $sms_status_info = Windykacja_StatsHelper::get_sms_status_info($user); $mail_status_info = Windykacja_StatsHelper::get_mail_status_info($user); $frm_errors = array(); $frm_msgs = array(); if (1 == V::get('phone_contact_save', 0, $_POST, 'int')) { if ('' == ($phone_status = V::get('phone_status', '', $_POST))) { $frm_errors[] = "Nic nie zaznaczono!"; } else { if (!array_key_exists($phone_status, $phone_status_info)) { $frm_errors[] = "Nieprawidłowa wartość!"; } else { $ret = Windykacja_StatsHelper::update_phone_status($user, $phone_status); if ($ret) { $frm_msgs[] = "Dane zapisano pomyślnie"; } else { $frm_errors[] = "Wystąpił błąd podczas zapisu danych"; } } } } if (1 == V::get('sms_contact_save', 0, $_POST, 'int')) { if ('' == ($sms_status = V::get('sms_status', '', $_POST))) { $frm_errors[] = "Nic nie zaznaczono!"; } else { if (!array_key_exists($sms_status, $sms_status_info)) { $frm_errors[] = "Nieprawidłowa wartość!"; } else { $ret = Windykacja_StatsHelper::update_sms_status($user, $sms_status); if ($ret) { $frm_msgs[] = "Dane zapisano pomyślnie"; } else { $frm_errors[] = "Wystąpił błąd podczas zapisu danych"; } } } } if (1 == V::get('mail_contact_save', 0, $_POST, 'int')) { if ('' == ($mail_status = V::get('mail_status', '', $_POST))) { $frm_errors[] = "Nic nie zaznaczono!"; } else { if (!array_key_exists($mail_status, $mail_status_info)) { $frm_errors[] = "Nieprawidłowa wartość!"; } else { $ret = Windykacja_StatsHelper::update_mail_status($user, $mail_status); if ($ret) { $frm_msgs[] = "Dane zapisano pomyślnie"; } else { $frm_errors[] = "Wystąpił błąd podczas zapisu danych"; } } } } // add old id_koresp to hist (events) if (1 == V::get('contact_add_id_koresp_save', 0, $_POST, 'int')) { if (($id_koresp = V::get('id_koresp', '', $_POST, 'int')) <= 0) { $frm_errors[] = "Nie podano numeru korespondencji!"; } else { $koresp_type = V::get('koresp_type', '', $_POST); $ret = Windykacja_StatsHelper::update_old_id_koresp($user, $id_koresp, $koresp_type); if ($ret) { $frm_msgs[] = "Dane zapisano pomyślnie"; } else { $frm_errors[] = "Wystąpił błąd podczas zapisu danych"; } } } ?>
' . implode('
', $frm_errors) . '

'; } if (!empty($frm_msgs)) { echo'

' . implode('
', $frm_msgs) . '

'; } ?>
tel kontakt z klientem Co ustalono:
$v_info) { echo ''; echo " " . $v_info['label'] . " " . $v_info['date'] . '
'; } ?>
$v_info) { echo ''; echo " {$v_info['label']}:
{$v_info['msg']}" . '
'; } ?>
$v_info) { echo ''; echo " {$v_info['label']}:
{$v_info['msg']}" . '
'; } ?>
Dodaj korespondencję z klientem - ID_KORESP:
'; if (!empty($filter_selected)) { echo'' . ''.' . ''; echo ''; } echo''; echo''; echo''; foreach ($filter_arr as $k => $v_arr) { $cls = ($filter_selected == $k)? ' class="selected"' : ''; echo''; if ($desc = V::get('desc', '', $v_arr)) { echo '' . reset($desc) . ''; } echo''; } if (!empty($zewn_filters_arr)) { echo ''; } echo''; echo''; foreach ($filter_arr as $k => $v_arr) { $cls = ($filter_selected == $k)? ' class="selected"' : ''; echo''; echo '' . reset($v_arr) . ''; //$stat_cnt = V::get($k, 0, $status_cnt, 'int'); //echo ' ' . "(" . $stat_cnt . ")" . ''; $stat_cnt = 0; if (array_key_exists($k, $status_cnt)) { $stat_cnt = $status_cnt[$k]->cnt; echo ' ' . "(" . $stat_cnt . ")" . ''; $stat_saldo = number_format($status_cnt[$k]->suma_zaleglosci, 2, ',', ' '); echo '
' . '' . $stat_saldo . ''; } else { echo ' ' . "(" . $stat_cnt . ")" . ''; } echo''; } if (!empty($zewn_filters_arr)) { foreach ($zewn_filters_arr as $k => $v_arr) { $cls = ($filter_selected == $k)? ' class="selected"' : ''; echo''; echo '' . reset($v_arr) . ''; //$stat_cnt = V::get($k, 0, $status_cnt, 'int'); //echo ' ' . "(" . $stat_cnt . ")" . ''; $stat_cnt = 0; if (array_key_exists($k, $status_cnt)) { $stat_cnt = $status_cnt[$k]->cnt; echo ' ' . "(" . $stat_cnt . ")" . ''; $stat_saldo = number_format($status_cnt[$k]->suma_zaleglosci, 2, ',', ' '); echo '
' . '' . $stat_saldo . ''; } else { echo ' ' . "(" . $stat_cnt . ")" . ''; } echo''; } } echo'
'; echo''; echo'
' . "Windykacja zewnętrzna" . '
'; if (!empty($sub_filters_arr)) { echo ''; echo ''; foreach ($sub_filters_arr as $k => $v_arr) { $cls = ($filter_selected == $k)? ' class="selected"' : ''; echo''; echo '' . reset($v_arr) . ''; //$stat_cnt = V::get($k, 0, $status_cnt, 'int'); //echo ' ' . "(" . $stat_cnt . ")" . ''; $stat_cnt = 0; if (array_key_exists($k, $status_cnt)) { $stat_cnt = $status_cnt[$k]->cnt; echo ' ' . "(" . $stat_cnt . ")" . ''; $stat_saldo = number_format($status_cnt[$k]->suma_zaleglosci, 2, ',', ' '); echo '
' . '' . $stat_saldo . ''; } else { echo ' ' . "(" . $stat_cnt . ")" . ''; } echo''; } echo '
'; echo '
'; } echo '
'; echo'
'; } public static function items($q, &$page_nav, &$items) { $page_nav->links = array(); $out_link_arr = V::copy($page_nav->base_link_arr); $out_link_arr['_p'] = 0; $out_link = V::make_link('', $out_link_arr); $page_nav->links[] = ''."|<<".''; if ($page_nav->page_nr > 0) { $out_link_arr = V::copy($page_nav->base_link_arr); $out_link_arr['_p'] = $page_nav->page_nr - 1; $out_link = V::make_link('', $out_link_arr); $page_nav->links[] = ''."<< -{$page_nav->page_limit}".''; } else { $page_nav->links[] = " << "; } $page_nav->links[] = ''.($page_nav->page_nr * $page_nav->page_limit).''; $page_nav->links[] = 'total." rekordów".'">'."({$page_nav->total}) ".''; $out_link_arr = V::copy($page_nav->base_link_arr); $out_link_arr['_p'] = $page_nav->page_nr + 1; $out_link = V::make_link('', $out_link_arr); $page_nav->links[] = ''."+{$page_nav->page_limit} >>".''; $out_link_arr = V::copy($page_nav->base_link_arr); $out_link_arr['_p'] = $page_nav->last_page_nr; $out_link = V::make_link('', $out_link_arr); $page_nav->links[] = ''.">>|".''; $page_nav_out = '
' . implode(" ", $page_nav->links); $out_link_arr = V::copy($page_nav->base_link_arr); $out_link_arr['task'] = 'export_csv'; $out_link_arr['HEADER_NOT_INIT'] = 'YES'; $out_link = V::make_link('', $out_link_arr); $page_nav_out .= ' export csv'; $out_link_arr = V::copy($page_nav->base_link_arr); $out_link_arr['task'] = 'send_mass_mail'; $out_link = V::make_link('', $out_link_arr); $page_nav_out .= ' send mail'; $out_link_arr = V::copy($page_nav->base_link_arr); $out_link_arr['task'] = 'send_mass_sms'; $out_link = V::make_link('', $out_link_arr); $page_nav_out .= ' send sms'; $page_nav_out .= '
'; if (empty($items)) { echo'

'."Brak danych".'

'; return; } echo $page_nav_out; $cols_order_by = Windykacja_StatsModel::get_order_by_fields(); $cols = array(); $cols['ID_BILLING_USERS'] = array('label'=>'Nr klienta', 'title'=>'ID_BILLING_USERS'); $cols['is_firma'] = array('label'=>'F', 'title'=>'is_firma: Firma 1 - tak, 0 nie'); $cols['BILLING_OWNER'] = array('label'=>'COM', 'title'=>'BILLING_OWNER: Klient firmy 1 - BIALL-NET, 2 - NETDAY'); $cols['BLOKADA'] = array('label'=>'B', 'title'=>'BLOKADA: Informacja o blokadzie'); $cols['P_NAME'] = array('label'=>'imie i nazwisko', 'title'=>'P_NAME'); $cols['P_ADDRESS_STREET'] = array('label'=>'adres', 'title'=>'P_ADDRESS_STREET'); $cols['P_ADDRESS_Koresp'] = array('label'=>'adres koresp.', 'title'=>'Adres do korespondencji'); $cols['P_PHONE'] = array('label'=>'nr telefonu', 'title'=>'P_PHONE'); $cols['user_mail_contact'] = array('label'=>'adres e-mail', 'title'=>'user_mail_contact'); $cols['A_STATUS'] = array('label'=>'status', 'title'=>'A_STATUS'); $cols['A_STATUS_UPDATE_DATE'] = array('label'=>'data aktualizacji', 'title'=>'A_STATUS_UPDATE_DATE'); $cols['PAY_SALDO'] = array('label'=>'saldo', 'title'=>'PAY_SALDO'); $cols['PAY_SALDO_30_DNI'] = array('label'=>'saldo 30 dni', 'title'=>'Saldo bez faktur z terminem płatności < 30 dni'); $cols['PAY_SALDO_ISSUED'] = array('label'=>'saldo wystawione', 'title'=>'Saldo wg daty wystawienia faktur'); $cols['PAY_FVAT'] = array('label'=>'zaległe faktury', 'title'=>'PAY_FVAT'); $cols['PAY_DATE_FIRST_FVAT'] = array('label'=>'data wymagalności
pierwszej faktury', 'title'=>'PAY_DATE_FIRST_FVAT'); $cols['PAY_DATE'] = array('label'=>'data wymagalności
ostatniej faktury', 'title'=>'PAY_DATE'); $cols['LAST_FVAT_VALUE'] = array('label'=>'kwota ostatniej faktury', 'title'=>'LAST_FVAT_VALUE'); $cols['LAST_PAY_DATE'] = array('label'=>'data ostatniej wpłaty', 'title'=>'LAST_PAY_DATE'); $cols['LAST_PAY_VALUE'] = array('label'=>'kwota ostatniej wpłaty', 'title'=>'LAST_PAY_VALUE'); $cols['PAY_TERM'] = array('label'=>'termin płatności', 'title'=>'PAY_TERM'); $cols['IS_MOVED_TO_VECTRA'] = array('label'=>'Przeniesienie do Vectra?', 'title'=>'IS_MOVED_TO_VECTRA'); $cols['HAS_ACTIVE_NET'] = array('label'=>'NET', 'title'=>'Aktywne usługi NET'); $cols['HAS_ACTIVE_TV'] = array('label'=>'TV', 'title'=>'Aktywne uslugi TV'); echo''; echo''; echo''; foreach ($cols as $k_field => $v_params) { echo''; echo $v_params['label']; if (in_array($k_field, $cols_order_by)) { $sel_oby = (isset($page_nav->base_link_arr['_oby']))? $page_nav->base_link_arr['_oby'] : ''; $sel_odir = 'DESC'; if ($k_field == $sel_oby) { $sel_odir = (isset($page_nav->base_link_arr['_odir']))? $page_nav->base_link_arr['_odir'] : ''; $sel_odir = ($sel_odir == 'ASC')? 'ASC' : 'DESC'; } $out_link_arr = V::copy($page_nav->base_link_arr); $out_link_arr['_p'] = 0; $out_link_arr['_oby'] = $k_field; $out_link_arr['_odir'] = ($sel_odir == 'DESC')? 'ASC' : 'DESC'; $out_link = V::make_link('', $out_link_arr); echo ' ' . (($sel_odir == 'DESC')? 'v' : '^') . ''; } echo ''; } echo''; echo''; echo''; $t = 0; foreach ($items as $k_id => $user) { echo''; echo''; echo ''; echo ''; echo ''; echo''; echo''; ?> P_ADRESS_KORESP_1282) : ?> ' . $user->P_PHONE . ''; echo ''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; //, w.`USER_PAY_TERM_ADD` //, w.`L_APPOITMENT_DATE` //, w.`L_APPOITMENT_USER` echo''; } echo''; echo'
'; echo''; $out_link_arr = V::copy($page_nav->base_link_arr); $out_link_arr['_user_id'] = $k_id; $out_link = V::make_link('', $out_link_arr); echo ''.'Edit'.''; echo " "; echo ''.$k_id.''; echo''; echo''; echo $user->is_firma; echo ''; if ($user->BILLING_OWNER == 1) { echo '' . 'BN' . ''; } else if ($user->BILLING_OWNER == 2) { echo '' . 'ND' . ''; } else { echo '0'; } echo ''; if ($user->STATUS == 9) { echo '' . "Z" . ''; } else { echo '' . "0" . ''; } echo ''; $cell_out = $user->P_NAME.' '.$user->P_NAME_SECOND; echo '' . ((strlen($cell_out) > 30)? substr($cell_out, 0, 30) . ' ...' : $cell_out) . ''; echo''; $cell_out = "ul. " . $user->P_ADDRESS_STREET . " " . $user->P_ADDRESS_HOUSE . "/" . $user->P_ADDRESS_HOME . ", " . $user->P_ADDRESS_POST_CODE . " " . $user->P_ADDRESS_CITY; echo '' . ((strlen($cell_out) > 30)? mb_substr($cell_out, 0, 30, "UTF-8") . ' ...' : $cell_out) . ''; echo' P_ADRESS_KORESP_1282; ?> ' . $user->user_mail_contact . ''; echo ''; switch ($user->A_STATUS) { case 'WAITING': echo '' . $user->A_STATUS . ''; break; default: echo $user->A_STATUS; } echo ''; echo''; if ($user->A_STATUS_UPDATE_DATE != '0000-00-00') { echo $user->A_STATUS_UPDATE_DATE; } else { echo '' . $user->A_STATUS_UPDATE_DATE . ''; } echo''; echo ''; if ($user->PAY_SALDO != 0) { $col = ($user->PAY_SALDO > 0)? '#333' : '#f00'; echo '' . "{$user->PAY_SALDO} zł" . ''; } else { echo'' . "0" . ''; } echo ''; echo''; echo ''; if ($user->PAY_SALDO_30_DNI != 0) { $col = ($user->PAY_SALDO_30_DNI > 0)? '#333' : '#f00'; echo '' . "{$user->PAY_SALDO_30_DNI} zł" . ''; } else { echo'' . "0" . ''; } echo ''; echo''; echo ''; if ($user->PAY_SALDO_ISSUED != 0) { $col = ($user->PAY_SALDO_ISSUED > 0)? '#333' : '#f00'; echo '' . "{$user->PAY_SALDO_ISSUED} zł" . ''; } else { echo'' . "0" . ''; } echo ''; echo''; if ($user->PAY_FVAT > 0) { $st = ($user->PAY_FVAT > 1)? ' style="color:#f00"' : ''; echo' PAY_FVAT} nieopłaconych faktur" . '"'.$st.'>' . $user->PAY_FVAT . ''; } else { echo $user->PAY_FVAT; } echo''; if ($user->PAY_DATE_FIRST_FVAT != '0000-00-00') { echo $user->PAY_DATE_FIRST_FVAT; } echo''; if ($user->PAY_DATE != '0000-00-00') { echo $user->PAY_DATE; } echo''; echo $user->LAST_FVAT_VALUE; echo''; if ($user->LAST_PAY_DATE && $user->LAST_PAY_DATE != '0000-00-00') { echo $user->LAST_PAY_DATE; } else { echo '---'; } echo''; echo $user->LAST_PAY_VALUE; echo''; if ($user->PAY_TERM != '0000-00-00') { echo $user->PAY_TERM; } echo''; if ($user->IS_MOVED_TO_VECTRA) { echo 'TAK'; } else { echo 'NIE'; } echo'' . $user->HAS_ACTIVE_NET . '' . $user->HAS_ACTIVE_TV . '
'; echo $page_nav_out; } public static function export_csv($q, &$page_nav, &$items) { if (empty($items)) { echo "Brak danych"; return; } $activeFiltr = V::get('_f', 'all', $_GET); $csvFileName = "Windykacja-{$activeFiltr}"; header('Content-Type: text/csv; charset=utf-8'); header("Content-Disposition: attachment; filename={$csvFileName}.csv"); $cols_order_by = Windykacja_StatsModel::get_order_by_fields(); $cols = array(); $cols['ID_BILLING_USERS'] = array('label'=>'Nr klienta', 'title'=>'ID_BILLING_USERS'); $cols['is_firma'] = array('label'=>'F', 'title'=>'is_firma: Firma 1 - tak, 0 nie'); $cols['BILLING_OWNER'] = array('label'=>'COM', 'title'=>'BILLING_OWNER: Klient firmy 1 - BIALL-NET, 2 - NETDAY'); $cols['BLOKADA'] = array('label'=>'B', 'title'=>'BLOKADA: Informacja o blokadzie'); $cols['P_NAME'] = array('label'=>'imie i nazwisko', 'title'=>'P_NAME'); $cols['P_ADDRESS_STREET'] = array('label'=>'adres', 'title'=>'P_ADDRESS_STREET'); $cols['P_ADDRESS_Koresp'] = array('label'=>'adres koresp.', 'title'=>'Adres do korespondencji'); $cols['P_PHONE'] = array('label'=>'nr telefonu', 'title'=>'P_PHONE'); $cols['user_mail_contact'] = array('label'=>'adres e-mail', 'title'=>'user_mail_contact'); $cols['P_PESEL'] = array('label'=>'pesel', 'title'=>'P_PESEL'); $cols['A_STATUS'] = array('label'=>'status', 'title'=>'A_STATUS'); $cols['A_STATUS_UPDATE_DATE'] = array('label'=>'data aktualizacji', 'title'=>'A_STATUS_UPDATE_DATE'); $cols['PAY_SALDO'] = array('label'=>'saldo', 'title'=>'PAY_SALDO'); $cols['PAY_SALDO_30_DNI'] = array('label'=>'saldo 30 dni', 'title'=>'Saldo bez faktur z terminem płatności < 30 dni'); $cols['PAY_SALDO_ISSUED'] = array('label'=>'saldo wystawione', 'title'=>'Saldo wg daty wystawienia faktur'); $cols['PAY_FVAT'] = array('label'=>'zaległe faktury', 'title'=>'PAY_FVAT'); $cols['PAY_DATE_FIRST_FVAT'] = array('label'=>'data wymagalności pierwszej faktury', 'title'=>'PAY_DATE_FIRST_FVAT'); $cols['PAY_DATE'] = array('label'=>'data wymagalności ostatniej faktury', 'title'=>'PAY_DATE'); $cols['LAST_FVAT_VALUE'] = array('label'=>'kwota ostatniej faktury', 'title'=>'LAST_FVAT_VALUE'); $cols['LAST_PAY_DATE'] = array('label'=>'data ostatniej wpłaty', 'title'=>'LAST_PAY_DATE'); $cols['LAST_PAY_VALUE'] = array('label'=>'kwota ostatniej wpłaty', 'title'=>'LAST_PAY_VALUE'); $cols['PAY_TERM'] = array('label'=>'termin płatności', 'title'=>'PAY_TERM'); $cols['ACCOUNT_NUMBER'] = array('label'=>'nr konta', 'title'=>'ACCOUNT_NUMBER'); $cols['SERVICES_STREETS'] = array('label'=>'adresy usług', 'title'=>'SERVICES_STREETS'); $cols['IS_MOVED_TO_VECTRA'] = array('label'=>'Przeniesienie do Vectra', 'title'=>'IS_MOVED_TO_VECTRA'); $cols['HAS_ACTIVE_NET'] = array('label'=>'NET', 'title'=>'Aktywne usługi NET'); $cols['HAS_ACTIVE_TV'] = array('label'=>'TV', 'title'=>'Aktywne uslugi TV'); $out_cols = array(); foreach ($cols as $k_field => $v_params) { $out_cols[] = '"' . $v_params['label'] . '"'; } echo implode(";", $out_cols) . "\n"; foreach ($items as $k_id => $user) { $out_cols = array(); $out_cols[] = '"' . $k_id . '"'; $out_cols[] = '"' . $user->is_firma . '"'; if ($user->BILLING_OWNER == 1) { $out_cols[] = '"' . 'BN' . '"'; } else if ($user->BILLING_OWNER == 2) { $out_cols[] = '"' . 'ND' . '"'; } else { $out_cols[] = '"' . '0' . '"'; } $out_cols[] = '"' . (($user->STATUS == 9)? "Z" : "0") . '"'; $out_cols[] = '"' . $user->P_NAME.' '.$user->P_NAME_SECOND . '"'; $out_cols[] = '"' . "ul. {$user->P_ADDRESS_STREET} {$user->P_ADDRESS_HOUSE}/{$user->P_ADDRESS_HOME}, {$user->P_ADDRESS_POST_CODE} {$user->P_ADDRESS_CITY}" . '"'; if ($user->P_ADRESS_KORESP_1282) { $out_cols[] = '"' . $user->P_ADRESS_KORESP_1282 . '"'; } else { $out_cols[] = '""'; } $out_cols[] = '"' . $user->P_PHONE . '"'; $out_cols[] = '"' . $user->user_mail_contact . '"'; $out_cols[] = '"' . $user->P_PESEL . '"'; $out_cols[] = '"' . $user->A_STATUS . '"'; $out_cols[] = '"' . $user->A_STATUS_UPDATE_DATE . '"'; $out_cols[] = '"' . (($user->PAY_SALDO != 0)? "{$user->PAY_SALDO} zł" : "0") . '"'; $out_cols[] = '"' . (($user->PAY_SALDO_30_DNI != 0)? "{$user->PAY_SALDO_30_DNI} zł" : "0") . '"'; $out_cols[] = '"' . (($user->PAY_SALDO_ISSUED != 0)? "{$user->PAY_SALDO_ISSUED} zł" : "0") . '"'; $out_cols[] = '"' . $user->PAY_FVAT . '"'; $out_cols[] = '"' . (($user->PAY_DATE_FIRST_FVAT != '0000-00-00')? $user->PAY_DATE_FIRST_FVAT : '') . '"'; $out_cols[] = '"' . (($user->PAY_DATE != '0000-00-00')? $user->PAY_DATE : '') . '"'; $out_cols[] = '"' . $user->LAST_FVAT_VALUE . '"'; $out_cols[] = '"' . (($user->LAST_PAY_DATE && $user->LAST_PAY_DATE != '0000-00-00')? $user->LAST_PAY_DATE : '---') . '"'; $out_cols[] = '"' . $user->LAST_PAY_VALUE . '"'; $out_cols[] = '"' . (($user->PAY_TERM != '0000-00-00')? $user->PAY_TERM : '') . '"'; $out_cols[] = '"' . $user->ACCOUNT_NUMBER . '"'; $out_cols[] = '"' . $user->SERVICES_STREETS . '"'; $out_cols[] = '"' . (($user->IS_MOVED_TO_VECTRA)? 'TAK' : 'NIE') . '"'; $out_cols[] = '"' . $user->HAS_ACTIVE_NET . '"'; $out_cols[] = '"' . $user->HAS_ACTIVE_TV . '"'; echo implode(";", $out_cols) . "\n"; } } public static function form($q = '') { SEF("MENU"); MENU(); echo'
'; echo'
'; echo''; echo'

'."Wyszukaj klienta: "; echo''; echo " ".''."(imie, nazwisko lub numer klineta)".'';//, adres echo " ".''; echo'

'; echo'
'; echo'
';// .box-blue } public static function css() { echo''; } public static function user_umowy(&$user) { Lib::loadClass('Tree'); Lib::loadClass('TreeHelper'); // build tree by P_ID - array or 0 function Tree_Helper__create_tree_rec($p_id, &$items) { static $rec_ind; $rec_ind++; $ret = array(); if (!array_key_exists($p_id, $items)) { return false; } else { $r = $items[$p_id]; if (empty($r->sub)) { return false; } foreach ($r->sub as $k_id => $v) { $ret[$k_id] = Tree_Helper__create_tree_rec($k_id, $items); } return $ret; } } function tree_callback__show_item_from_SERVICES(&$r, &$tree) { $cls = array(); $cls[] = 'HANGUP_STATUS-' . $r->HANGUP_STATUS; $cls = (!empty($cls))? ' class="'.implode(' ', $cls).'"' : ''; echo''; echo'
'; $out_id = ($r->ID < 10)? ' '.$r->ID.'' : $r->ID; echo''.$out_id.''; //echo'ID.'" class="btn" title="'."Edit".'">'."E".''; $st_status_bg = ''; if ($r->A_STATUS == 'NORMAL') { $st_status_bg = '#8F8;'; } else if ($r->A_STATUS == 'WAITING') { $st_status_bg = '#F8F;'; } else if ($r->A_STATUS == 'DELETED') { $st_status_bg = '#ccc;'; } else if ($r->A_STATUS == 'OFF_SOFT') { $st_status_bg = '#F99;'; } else if ($r->A_STATUS == 'OFF_HARD') { $st_status_bg = '#eee;'; } $st_status_bg = ($st_status_bg)? 'background-color:'.$st_status_bg : ''; echo''; echo''.$r->A_STATUS.''; echo' '.$r->description.''; if ($r->ID_OFFERS) { echo' ' . "(Nr oferty: {$r->ID_OFFERS})" . ''; } else { echo' '."Brak numeru oferty!".''; } $st_status_bg = ''; if ($r->HANGUP_STATUS == 'NORMAL') { $st_status_bg = 'background-color:#8F8;'; } else if ($r->HANGUP_STATUS == 'WAITING') { $st_status_bg = 'background-color:#F8F;'; } else if ($r->HANGUP_STATUS == 'DELETED') { $st_status_bg = 'background-color:#ccc;'; } else if ($r->HANGUP_STATUS == 'OFF_SOFT') { $st_status_bg = 'background-color:#F99;'; } else if ($r->HANGUP_STATUS == 'OFF_HARD') { $st_status_bg = 'background-color:#f00;color:#fff;'; } echo ' ' . "{$r->HANGUP_STATUS} ({$r->HANGUP_FROM} - {$r->HANGUP_TILL}) - {$r->A_STATUS_DESC}" .''; echo''; echo'
'; echo''."\n"; } $uslugi_l2 = Windykacja_StatsModel::get_uslugi_from_l2($user); $umowy_l2 = Windykacja_StatsModel::get_umowy_from_l2($user); $uslugi_l2_nieprzypisane = array(); foreach ($uslugi_l2 as $k_id => $h) { $uslugi_l2_nieprzypisane[$k_id] = true; } if (is_array($umowy_l2) && !empty($umowy_l2)) { if (is_array($uslugi_l2) && !empty($uslugi_l2)) { foreach ($umowy_l2 as $k_umowa_ind => $h_umowa) { $umowy_l2[$k_umowa_ind]['uslugi'] = array(); foreach ($uslugi_l2 as $k_id => $h_usluga) { if ($h_usluga['ID_DEALS_TABLE'] == $h_umowa['ID']) { $umowy_l2[$k_umowa_ind]['uslugi'][$k_id] = $h_usluga; if (isset($uslugi_l2_nieprzypisane[$k_id])) unset($uslugi_l2_nieprzypisane[$k_id]); } } } } } echo''; $ARGS['ZAPISZ'] = true; Lay_Html_Toggle::start("Aktualne umowy i usługi ", array('open'=>(($ARGS['ZAPISZ'])? false : true))); //echo'
umowy_l2: ';print_r($umowy_l2);echo'
'; echo''; //echo''; if ($umowy_l2 == -1) { echo''; } else if (empty($umowy_l2)) { echo''; } else { $tbl_umowy_cols = 5; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; $t = 0; foreach ($umowy_l2 as $h) { echo''; echo''; echo''; echo''; echo''; echo''; echo''; if (!empty($h['uslugi'])) { // TODO: make TREE by P_ID_SERVICES $items = array(); foreach ($h['uslugi'] as $k_id_usluga => $h_suluga) { $h_suluga['sub'] = array(); $items[$k_id_usluga] = (object)$h_suluga; } $uslugi_tree = array();// tree root foreach ($items as $k_id => $r) { if ($r->P_ID == 0) { $uslugi_tree[$r->ID] = array(); if (array_key_exists($r->P_ID, $items)) { $items[$r->P_ID]->sub[$r->ID] = true; } } else {// array if (array_key_exists($r->P_ID, $items)) { $items[$r->P_ID]->sub[$r->ID] = true; } } } ksort($uslugi_tree); // set up has_childrens foreach ($items as $k_id => $r) { $items[$k_id]->has_childrens = !empty($r->sub); } foreach ($uslugi_tree as $k_id => $v_childrens) { if (array_key_exists($k_id, $items)) { $uslugi_tree[$k_id] = Tree_Helper__create_tree_rec($k_id, $items); } } echo''; echo''; echo''; echo''; } } } echo'
'."Aktualne umowy".''." (l2)".''.'
'; echo''."Blad polaczenia do bazy dancyh webone_billing - Zasob [931]".''; echo'
'."Brak umów.".'
'."Nr umowy".''."Prefix".''."Data umowy".''."Termin".''."".'
' . $h['P_DEALNUMBER'] . '' . $h['P_DEALPREFIX'] . '' . $h['P_DEALDATE'] . '' . $h['P_DEALDATE_TERM'] . ''; if ($h['Wcześniejszy Nr umowy']) echo "Wcześniejszy Nr umowy: ".$h['Wcześniejszy Nr umowy'].'
';// TODO: Undefined index if ($h['DEALDESC']) echo "Notatki: ".$h['DEALDESC'].'
'; echo "Koniecznosc podpisania aneksu lub innego dokumentu: ".$h['ANEX_NEEDED'].'
'; echo "Data potwierdzenia podpisania aneksu/dokumentu: ".$h['ANEX_CONFIRM_DATE'].'
'; echo'
'." ".''; $tree = new Tree('SERVICES'); $tree->set_parent_id_col('P_ID'); $tree->set_param('show_item_callback', "tree_callback__show_item_from_SERVICES"); $tree->set_param('ajax', "NIE"); $tree->set_param('rozwin', true); $tree->show_css(); $tree->show_js(); $_COOKIE[$tree->cookie_name] = implode(' ', array_keys($items)); echo "\n".'
'."\n"; $tree->show_rec_by_tree($uslugi_tree, $items); echo '
'."\n"; echo'
'; if (!empty($uslugi_l2_nieprzypisane)) { echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; foreach ($uslugi_l2_nieprzypisane as $k_id => $v_bool) { $h_usluga = $uslugi_l2[$k_id]; echo''; echo''; echo''; echo''; echo''; echo''; echo''; } echo'
'."Nieprzypisane usługi".''." (l2)".''.'
'."ID".''."usługa".''."status".''."nr umowy".''."id oferty".'
' . $h_usluga['ID'] . '' . $h_usluga['description'] . '' . $h_usluga['A_STATUS_DESC'] . '' . ''; if (array_key_exists($h['ID_DEALS_TABLE'], $umowy_l2)) { echo $umowy_l2[$h['ID_DEALS_TABLE']]['P_DEALNUMBER']; } else { //TODO: get P_DEALNUMBER from DEALS_TABLE where ID = $h['ID_DEALS_TABLE'] } echo'' . ''; if ($h_usluga['ID_OFFERS']) { echo'' . $h_usluga['ID_OFFERS'] . ''; } else { echo''."Brak!".''; } echo'
'; } Lay_Html_Toggle::end(); $umowy_l3 = Windykacja_StatsModel::get_umowy_from_l3($user); $ARGS['ZAPISZ'] = true; Lay_Html_Toggle::start("Aktualne usługi".''." (l3)".'', array('open'=>(($ARGS['ZAPISZ'])? false : true))); //echo'
umowy_l3: ';print_r($umowy_l3);echo'
'; echo''; if (empty($umowy_l3)) { echo''; } else { echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; foreach ($umowy_l3 as $h) { echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; } } echo'
'."Brak usług.".'
'."ID".''."status".''."data dok".''."adres".''."usługa".''."S_OTHER_INFO".''. "nr klienta" .''."nr usługi".''."nr oferty".''."data umowy".''."nr umowy".''."termin umowy".''."abonament".''."INICJALY HANDLOWCA".''."RODZAJ DZIALANIA HANDLOWEGO".'
'."OLD".''."NEW".''."OLD".''."NEW".''."OLD".''."NEW".''."OLD".''."NEW".''."OLD".''."NEW".''."OLD".''."NEW".''."OLD".''."NEW".'
' . $h['ID'] . '' . $h['A_STATUS'] . '' . '' . $h['DATA_DOK'] . '' . '' . $h['S_ADDRESS_STREET'] . '' . '' . $h['P_SERVICE'] . '' . '' . $h['S_OTHER_INFO'] . '' . $h['ID_BILLING_USERS_OLD'] . '' . $h['ID_BILLING_USERS_NEW'] . '' . $h['ID_SERVICES_OLD'] . '' . $h['ID_SERVICES_NEW'] . '' . $h['P_OFFER_ID_OLD'] . '' . $h['P_OFFER_ID_NEW'] . '' . '' . $h['P_DEAL_DATE_OLD'] . '' . '' . '' . $h['P_DEAL_DATE_NEW'] . '' . '' . $h['P_DEALNUMBER_OLD'] . '' . $h['P_DEALNUMBER_NEW'] . '' . '' . $h['P_DEALTERM_OLD'] . '' . '' . '' . $h['P_DEALTERM_NEW'] . '' . '' . $h['MONTH_COST_OLD'] . '' . $h['MONTH_COST_NEW'] . '' . $h['INICJALY_HANDLOWCA'] . '' . $h['RODZAJ_DZIALANIA_HANDLOWEGO'] . '
'; Lay_Html_Toggle::end(); } public static function user_historia_platnosci(&$user) { ?> billing_docs ';print_r($billing_docs);echo''; //echo'
billing_docs ';print_r(reset($billing_docs));echo'
'; //echo'
umowy_l2 ';print_r($umowy_l2);echo'
'; if (!empty($umowy_l2)) { foreach ($umowy_l2 as $h) { $billing_docs->add_event($h['P_DEALDATE'], 'UMOWA', $h); if ($h['P_DEALDATE_TERM'] != '0000-00-00') {// < date('Y-m-d')) { $billing_docs->add_event($h['P_DEALDATE_TERM'], 'KONIEC UMOWY', $h); } } } $user_hist_events = Windykacja_StatsHelper::get_user_hist_status_events($user); if (!empty($user_hist_events)) { foreach ($user_hist_events as $v_hist) { $bill_doc = (array)$v_hist; $billing_docs->add_event($v_hist->A_STATUS_UPDATE_DATE, 'HIST_STATUS', $bill_doc); } } $user_hist_events = Windykacja_StatsHelper::get_user_hist_phone_events($user); if (!empty($user_hist_events)) { foreach ($user_hist_events as $v_hist) { $bill_doc = (array)$v_hist; $billing_docs->add_event(substr($v_hist->A_RECORD_UPDATE_DATE, 0, 10), 'HIST_PHONE', $bill_doc); } } $user_hist_events = Windykacja_StatsHelper::get_user_bad_address_events($user); if (!empty($user_hist_events)) { foreach ($user_hist_events as $v_hist) { $bill_doc = (array)$v_hist; $billing_docs->add_event(substr($v_hist->A_RECORD_UPDATE_DATE, 0, 10), 'HIST_BAD_ADDRESS', $bill_doc); } } // add today $bill_doc = array(); $bill_doc['saldo'] = $billing_docs->get_saldo(); $billing_docs->add_event(date('Y-m-d'), 'TODAY', $bill_doc); $billing_docs->sort_docs(); //$billing_docs = array_reverse($billing_docs, true); //echo'
billing_docs: ';print_r($billing_docs);echo'
'; $billing_docs_arr = $billing_docs->get_docs(); $types_finanse = array(); $types_finanse[] = 'KW'; $types_finanse[] = 'KP'; $types_finanse[] = 'WB_MASS'; $types_finanse[] = 'WB'; $types_finanse[] = 'KORV'; $types_finanse[] = 'FVAT'; $saldo_all = 0; $out_tbl = array(); //echo'
';print_r($billing_docs_arr);echo'
'; foreach ($billing_docs_arr as $k_data => $v_docs_arr) { foreach ($v_docs_arr as $k_ind => $v_doc) { $out_tr = array(); $out_tr['data'] = $k_data; if ($k_data == date("Y-m-d")) $out_tr['class'] = 'today'; $out_tr['ID'] = ''; $out_tr['nr'] = ''; $out_tr['winien'] = ''; $out_tr['ma'] = ''; $out_tr['saldo'] = ''; $out_tr['saldo_all'] = ''; if ($v_doc->get_class() == 'BILLING') { $saldo_all += $v_doc->get_saldo(); $out_tr['ID'] = $v_doc->get_type(); $type_desc = Windykacja_StatsModel::get_billing_type_desc($v_doc->get_type()); if ($type_desc) { if ($v_doc->get_type() == 'FVAT') $type_desc .= "\n Wystawiona: ".$v_doc->get('BILL_DATE')."\n Termin płatności: ".$v_doc->get('PAYMENT_TERM'); $out_tr['ID'] = ''.$out_tr['ID'].''; // TODO: podglad faktury //if ($h['type'] == 'FVAT') $out_tr['ID'] .= ' ID."&task=view_faktura&id=".$h['ID'].'" target="_blank">'.''.'.''; } $docNr = $v_doc->get('nr'); $docNrLabel = $v_doc->get('NUMBER') . '/' . $v_doc->get('ID_BILLING_PREFIXES'); /* links fomr l1: * FV: https://l1.webone.pl/modules/make_billing/edit.php?mod=make_billing&form=html_faktura&adm=edit&uid=4014&fpos=&dz=&close=0&doc=799413&doctype=1 * KOR: https://l1.webone.pl/modules/make_billing/edit.php?mod=make_billing&form=html_faktura_korekta&adm=edit&uid=4014&fpos=&dz=&close=0&doc=809557&doctype=3 */ if ('FVAT' == $v_doc->get_type()) { $out_tr['ID'] .= ' '."({$docNrLabel})".''; } else if ('KORV' == $v_doc->get_type()) { // https://biuro.biall-net.pl/dev-pl/se-master/index.php?FUNCTION_INIT=bm_show_document&ARG1_VAL=809557 $remoteFvNum = $v_doc->get('FV_NUMBER'); $korNr = $v_doc->get('ID_BILLING_NUMBERS'); $korTitle = "Korekta dotycząca faktury nr: {$remoteFvNum}"; $out_tr['ID'] .= ' '."({$docNrLabel})".''; } $out_tr['nr'] = $docNrLabel; $out_tr['winien'] = number_format($v_doc->get('WINIEN'), 2, ',', ' '); $out_tr['ma'] = number_format($v_doc->get('MA'), 2, ',', ' '); $out_tr['saldo'] = number_format($v_doc->get_saldo(), 2, ',', ' '); $out_tr['saldo_all'] = number_format($saldo_all, 2, ',', ' '); // style if ($out_tr['winien'] == '0,00') $out_tr['winien'] = '' . $out_tr['winien'] . ''; if ($out_tr['ma'] == '0,00') $out_tr['ma'] = '' . $out_tr['ma'] . ''; } else if ($v_doc->get_class() == 'EVENT') { if ($v_doc->get_type() == 'TODAY') { $out_tr['class'] = 'today'; $vDocSaldoData = $v_doc->get_data(); $v_doc_saldo = V::get('saldo', '', $vDocSaldoData); $out_tr['saldo_all'] = number_format($v_doc_saldo, 2, ',', ' '); } else if ($v_doc->get_type() == 'HIST_STATUS') { // search for koresp files // TODO: mv to ::get_koresp_file($id_koresp); $id_koresp = intval($v_doc->get('ID_KORESP')); $found_files = array(); if(0){// turn off - old server $CNF = new stdClass(); $CNF->koresp_dir = '/home/samba/BIALL-NET/PISMA/OUT'; $CNF->koresp_www_path = '/se-dev/PISMA/OUT'; if ($id_koresp > 0) { $pattern = $CNF->koresp_dir . '/' . '*.' . $id_koresp . '.pdf'; $file_tmp_list = glob($pattern);//, GLOB_NOSORT); if (!empty($file_tmp_list)) { foreach ($file_tmp_list as $v_file) { $test_file = explode('/', $v_file); $test_file = end($test_file); $found_files[] = $CNF->koresp_www_path . '/' . $test_file; } } } // return $found_files; } switch ($v_doc->get('A_STATUS')) { case 'WAITING': $out_tr['add'] = "powrót do oczekujących"; break; case 'waiting-wezwanie2': // TODO: get('LAST_ID_KORESP_WEZWANIE1') $out_tr['add'] = "wezwanie do zapłaty - ID_KORESP: ".$v_doc->get('ID_KORESP')." (termin: ".$v_doc->get('PAY_TERM').") "; break; case 'waiting-krd': $out_tr['add'] = "wezwanie do zapłaty ost. - ID_KORESP: ".$v_doc->get('ID_KORESP')." (termin: ".$v_doc->get('PAY_TERM').") "; break; case 'N/S;': $out_tr['add'] = "ID_KORESP: ".$v_doc->get('ID_KORESP')." (" . $v_doc->get('K_ZAWARTOS') . ")";// TODO: get opis from koresp //echo '('.$v_doc->get('ID_KORESP').', '.$v_doc->get('K_ZAWARTOS').'='.substr($v_doc->get('K_ZAWARTOS'), 0, strlen('rozwiazanie umowy')).')'; if ($v_doc->get('ID_KORESP') > 0 && substr($v_doc->get('params'), 0, strlen('rozwiazanie umowy')) == 'rozwiazanie umowy') { $out_tr['add'] .= " " . 'ID}&id_koresp=".$v_doc->get('ID_KORESP').'" target="_blank" title="' . "Generuj druk rozwiązania umowy" . '">' . "druk" . ''; } break; default: $out_tr['add'] = "zmiana statusu na: ".$v_doc->get('A_STATUS')." "; } if ($id_koresp > 0) { if (!empty($out_tr['add']) && !empty($found_files)) { $add_link_koresp = reset($found_files);// first file from koresp $out_tr['add'] .= " " . '' . "P" . ''; } //$koresp_edit_link = "?MENU_INIT=IN7_DZIENNIK_KORESP_EDIT&ARG1=EDIT&ARG1_VAL=" . $id_koresp; Lib::loadClass('ProcesHelper'); $zasobKorespID = ProcesHelper::getZasobTableID('IN7_DZIENNIK_KORESP'); $koresp_edit_link = "index.php?MENU_INIT=VIEWTABLE_AJAX&ZASOB_ID={$zasobKorespID}#EDIT/{$id_koresp}"; $out_tr['add'] .= " " . '' . "KOR" . ''; } } else if ($v_doc->get_type() == 'HIST_PHONE') { $date = $v_doc->get('PAY_TERM'); if ($date == 'N/S;') $date = ''; $lastPhoneStatus = $v_doc->get('LAST_PHONE_STATUS'); if ($lastPhoneStatus == 'N/S;') $lastPhoneStatus = ''; $lastSmsStatus = $v_doc->get('LAST_SMS_STATUS'); if ($lastSmsStatus == 'N/S;') $lastSmsStatus = ''; $lastMailStatus = $v_doc->get('LAST_MAIL_STATUS'); if ($lastMailStatus == 'N/S;') $lastMailStatus = ''; $lastUpdateDate = $v_doc->get('A_RECORD_UPDATE_DATE'); if (!empty($lastPhoneStatus)) { switch ($lastPhoneStatus) { case 'nie_zaplaci': $out_tr['add'] = "nie zapłaci"; break; case 'zaplaci_w_terminie': $out_tr['add'] = "zapłaci w terminie {$date} " . '' . "(ustalono {$lastUpdateDate})" . ''; break; case 'zaplaci_za_1mc': $out_tr['add'] = "zapłaci miesiąc później {$date} " . '' . "(ustalono {$lastUpdateDate})" . ''; break; case 'zaplaci_za_2mc': $out_tr['add'] = "zapłaci 2 miesiące później {$date} " . '' . "(ustalono {$lastUpdateDate})" . ''; break; case 'zaplaci_za_3mc': $out_tr['add'] = "zapłaci 3 miesiące później {$date} " . '' . "(ustalono {$lastUpdateDate})" . ''; break; default: $out_tr['add'] = "kontakt z klientem: {$lastPhoneStatus} " . '' . "(ustalono {$lastUpdateDate})" . ''; } } else if (!empty($lastSmsStatus)) { $lastSmsId = $v_doc->get('LAST_SMS_MSG_ID'); $out_tr['add'] = "SMS: {$lastSmsStatus} " . '' . "(wysłano {$lastUpdateDate})" . ''; } else if (!empty($lastMailStatus)) { $lastMailId = $v_doc->get('LAST_MAIL_MSG_ID'); $out_tr['add'] = "MAIL: {$lastMailStatus} " . '' . "(wysłano {$lastUpdateDate})" . ''; } } else if ($v_doc->get_type() == 'HIST_BAD_ADDRESS') { if ($v_doc->get('BAD_ADDRESS')) { $out_tr['add'] = "błędny adres zameldowania "; } else { $out_tr['add'] = "poprawa adresu zameldowania "; } if ($v_doc->get('ID_KORESP') > 0) { $out_tr['add'] .= " - ID Koresp. (" . 'get('ID_KORESP') . '" target="_blank">' . $v_doc->get('ID_KORESP') . '' . ")"; } } else { $out_tr['ID'] = $v_doc->get_type().' '."(".$v_doc->get('ID').")".'';// TODO: dla KP,KW: ID_BILLING_NUMBERS zamiast ID if ($v_doc->get_type() == 'UMOWA') { $out_tr['add'] = "umowa nr ".$v_doc->get('P_DEALNUMBER')." (termin ".$v_doc->get('P_DEALDATE_TERM').")"; } else if ($v_doc->get_type() == 'KONIEC UMOWY') { $out_tr['add'] = "zakończenie umowy nr ".$v_doc->get('P_DEALNUMBER')." (z dnia ".$v_doc->get('P_DEALDATE').")"; } } } //$out_tbl[] = $out_tr;// add to the end array_unshift($out_tbl, $out_tr);// add to the begining } } echo''; $last_year = ''; $cols = array(); $cols['data'] = "data"; $cols['ID'] = "ID"; $cols['nr'] = "nr"; $cols['winien'] = "winien"; $cols['ma'] = "ma"; //$cols['saldo'] = "saldo"; $cols['saldo_all'] = "saldo"; $cols['add'] = "uwagi"; ?>

Historia klienta (l1)

$colLabel) : ?> '; echo''; $last_year = $rok; foreach ($cols as $col_name => $col_label) { //foreach ($out_tr as $k_col_name => $v_val) { if (array_key_exists($col_name, $out_tr)) { echo''; } else { echo''; } } echo''; } echo'
rok
'; echo ($change_year)? $rok : " "; echo'' . $out_tr[$col_name] . ''." ".'
'; echo'
'; echo'
'; Windykacja_StatsHelper::update_stats($user, $billing_docs); {// srv hist $srvHist = array(); $db = DB::getDB(); $sql = " select fvPos.`ID` as fvPos__ID , fvPos.`DATE_FROM` as fvPos__DATE_FROM , fvPos.`DATE_TO` as fvPos__DATE_TO , fvPos.`ID_SERVICES` as fvPos__ID_SERVICES , ( select srv.`NAME_LIST_SERVICES` from `billing2013`.`SERVICES` srv where srv.`ID` = fvPos.`ID_SERVICES` limit 1 ) as srv__NAME_LIST_SERVICES , fvPos.`AMMOUNT` as fvPos__AMMOUNT , fvPos.`PRICE` as fvPos__PRICE , fvPos.`VAT` as fvPos__VAT -- , fvPos.`ID_BILLS_FVAT` as fvPos__ID_BILLS_FVAT , fvPos.`DESCR` as fvPos__DESCR -- , fvPos.`id_list_services` as fvPos__id_list_services -- , fvPos.`id_list_sww` as fvPos__id_list_sww -- , fvPos.`VAT_NAME` as fvPos__VAT_NAME -- , fvPos.`ID_OFFERS` as fvPos__ID_OFFERS -- , 'fv', fv.* -- , fv.`ID` as fv__ID , fv.`ID_BILLING_NUMBERS` as fv__ID_BILLING_NUMBERS -- , fv.`ID_BILLING_USERS` as fv__ID_BILLING_USERS -- , fv.`id_owner` as fv__id_owner , fv.`BILL_DATE` as fv__BILL_DATE , fv.`SELL_DATE` as fv__SELL_DATE -- , fv.`TIMESTAMP` as fv__TIMESTAMP , fv.`PAYMENT_TERM` as fv__PAYMENT_TERM -- , fv.`PAYMENT_TYPE` as fv__PAYMENT_TYPE -- , fv.`ID_CURRENCY` as fv__ID_CURRENCY -- , fv.`ID_FK_DEKRET` as fv__ID_FK_DEKRET -- , fv.`ID_FK_ROZRACH` as fv__ID_FK_ROZRACH -- , fv.`OPEN` as fv__OPEN -- , fv.`FK_ZAKSIEG` as fv__FK_ZAKSIEG , fv.`IF_KORV` as fv__IF_KORV -- , 'fvNum', fvNum.* -- , fvNum.`ID` as fvNum__ID -- , fvNum.`TIMESTAMP` as fvNum__TIMESTAMP -- , fvNum.`ID_BILLING_NUMBERS_TYPE` as fvNum__ID_BILLING_NUMBERS_TYPE -- , fvNum.`ID_BILLING_PREFIXES` as fvNum__ID_BILLING_PREFIXES , fvNum.`NUMBER` as fvNum__NUMBER -- , fvNum.`ID_BILLING_USERS` as fvNum__ID_BILLING_USERS , fvNum.`FOREIGN_ID_BILLING_NUMBERS` as fvNum__FOREIGN_ID_BILLING_NUMBERS -- , fvNum.`U_ID` as fvNum__U_ID -- , fvNum.`BILLING_OWNER` as fvNum__BILLING_OWNER -- , 'korPos', korPos.* , korPos.`ID` as korPos__ID -- , korPos.`ID_BILLS_FVAT` as korPos__ID_BILLS_FVAT , korPos.`DESCR` as korPos__DESCR , korPos.`ID_SERVICES` as korPos__ID_SERVICES , korPos.`DATE_FROM` as korPos__DATE_FROM , korPos.`DATE_TO` as korPos__DATE_TO , korPos.`AMMOUNT` as korPos__AMMOUNT , korPos.`PRICE` as korPos__PRICE , korPos.`VAT` as korPos__VAT -- , korPos.`id_list_services` as korPos__id_list_services -- , korPos.`id_list_sww` as korPos__id_list_sww -- , korPos.`VAT_NAME` as korPos__VAT_NAME -- , korPos.`N_DESCR` as korPos__N_DESCR -- , korPos.`N_ID_SERVICES` as korPos__N_ID_SERVICES -- , korPos.`N_DATE_FROM` as korPos__N_DATE_FROM -- , korPos.`N_DATE_TO` as korPos__N_DATE_TO -- , korPos.`N_AMMOUNT` as korPos__N_AMMOUNT -- , korPos.`N_PRICE` as korPos__N_PRICE -- , korPos.`N_VAT` as korPos__N_VAT -- , korPos.`N_id_list_services` as korPos__N_id_list_services -- , korPos.`N_id_list_sww` as korPos__N_id_list_sww -- , korPos.`N_VAT_NAME` as korPos__N_VAT_NAME , korPos.`TYP_KOREKTY` as korPos__TYP_KOREKTY from `billing2013`.`BILLS_FVAT_POS` fvPos join `billing2013`.`BILLS_FVAT` fv on ( fv.`ID` = fvPos.`ID_BILLS_FVAT` ) join `billing2013`.`BILLING_NUMBERS` fvNum on ( fvNum.`ID` = fv.`ID_BILLING_NUMBERS` ) left join `billing2013`.`BILLS_KORV_POS` korPos on ( korPos.`ID_BILLS_FVAT` = ( select kor.`ID` from `billing2013`.`BILLS_KORV` kor where kor.`REMOTE_ID_BILLING_NUMBERS` = fvNum.`ID` ) and korPos.`ID_SERVICES` = fvPos.`ID_SERVICES` ) where fv.`ID_BILLING_USERS` = '{$user->ID}' order by fv.`ID` DESC "; //echo'
srvHist:sql: ';print_r($sql);echo'
'; $idxDates = array(); $idxSrv = array(); $idxHasKor = array(); $res = $db->query($sql); while ($r = $db->fetch($res)) { $srvHist[$r->fvPos__ID] = $r; $month = substr($r->fv__BILL_DATE, 0, 7); $idSrv = $r->fvPos__ID_SERVICES; if (!empty($r->fv__BILL_DATE)) { if (!array_key_exists($month, $idxDates)) $idxDates[$month] = array(); $idxDates[$month][$r->fvPos__ID] = $idSrv; } if (!empty($idSrv)) { $idxSrv[$idSrv] = $r->srv__NAME_LIST_SERVICES; } if ($r->korPos__ID > 0) { $isKorZero = ($r->korPos__AMMOUNT * $r->korPos__PRICE == -1 * $r->fvPos__AMMOUNT * $r->fvPos__PRICE); $idxHasKor[$month][$idSrv][] = $isKorZero; } } krsort($idxDates); ?>

Historia usług

$srvType) : ?> $srvType) : ?> $posIds) : ?> $srvType) : ?> 1) : ?>
idxHasKor: ';print_r($idxHasKor);echo''; //echo'
idxDates: ';print_r($idxDates);echo'
'; //echo'
idxSrv: ';print_r($idxSrv);echo'
'; //echo'
srvHist: ';print_r($srvHist);echo'
'; }// srv hist } public static function view_faktura($faktura_id) { // https://l1.webone.pl/modules/make_billing/edit.php?mod=make_billing&form=make_faktura&adm=edit&uid=11381&fpos=&dz= // https://l1.webone.pl/modules/make_billing/edit.php?mod=make_billing&form=html_faktura&adm=edit&uid=11381&fpos=&dz=&close=0&doc=483930&doctype=1 echo'{'.$faktura_id.'}'; } public static function zadluzenia(&$user) { $THIS_DATA_DO = null;// TODO: pobierac z PAY_TERM z tabeli USERS2_WINDYKACJA_STATUS $post_sent = (!empty($_POST['sbmt'])); $post_DATA_DO = (isset($_POST['DATA_DO']))? $_POST['DATA_DO'] : date("Y-m-d", mktime(0,0,0,date('m'), date('d') + 14, date('Y'))); if (!$post_sent) { echo'
'; echo'
'; $post_DATA_DO = (isset($_POST['DATA_DO']) && strlen($_POST['DATA_DO']) == 10)? $_POST['DATA_DO'] : date("Y-m-d", mktime(0,0,0,date('m'), date('d') + 14, date('Y'))); echo'

'."Termin płatności: ".'

'; echo''; echo''; echo'
'; echo'
'; return; } else { $THIS_DATA_DO = $post_DATA_DO; } self::wezwanie($user, $THIS_DATA_DO); } public static function wezwanie_ostateczne(&$user, $wezwanie_termin) { self::wezwanie($user, $wezwanie_termin, true); } public static function zestawienie_vectra_nadplaty() { $usersList = array(); $db = DB::getDB(); $sql_select = " c.`ID` as ID , c.`ID` as id_users , c.`P_NAME` , c.`P_NAME_SECOND` , c.`P_ADDRESS_STREET` , c.`P_ADDRESS_HOME` , c.`P_ADDRESS_HOUSE` , c.`P_ADDRESS_CITY` , c.`P_ADDRESS_POST_CODE` , c.`P_ADDRESS_REGION` , c.`P_PESEL` , c.`P_PHONE` , c.`P_OTHER_DOC` , c.`user_mail_contact` , c.`is_firma` , w.`ID` as WINDYKACJA_ID , w.`ID_BILLING_USERS` , w.`A_STATUS` , w.`A_STATUS_UPDATE_DATE` , w.`USER_PAY_TERM_ADD` , w.`L_APPOITMENT_DATE` , w.`L_APPOITMENT_USER` , w.`L_APPOITMENT_INFO` , w.`PAY_DATE` , w.`PAY_DATE_FIRST_FVAT` , w.`PAY_TERM` , w.`PAY_SALDO` , w.`PAY_FVAT` , w.`wezwanie1_DATE` , w.`wezwanie2_DATE` , w.`ID_KORESP` , w.`LAST_PAY_DATE` , w.`BAD_ADDRESS` , c.`STATUS` , c.`BILLING_OWNER` , w.`NR_SPRAWY_KRD` , w.`NR_SPRAWY_SAD` , w.`NR_SPRAWY_KOMORNIK` , w.`LAST_FVAT_PAY_TERM` "; $sqlWhereAdd = " and (w.`LAST_FVAT_PAY_TERM`>='2014-12-01' or ( w.`LAST_FVAT_PAY_TERM`='0000-00-00' and w.`LAST_FVAT_SELL_DATE`>='2014-12-01' ) ) and c.`ID_BILLING_PREFIXES` in('0','1') and c.`BILLING_OWNER` in('1') "; $sql = "select {$sql_select} from `USERS2_WINDYKACJA_STATUS` as w join `COMPANIES` as c on(c.`ID`=w.`ID_BILLING_USERS`) where c.`A_ADM_COMPANY`='19994_PODMIOT_Vectra_wlasciciel' {$sqlWhereAdd} "; if (V::get('DBG_SQL', '', $_GET)) { header('Content-Type: text/plain; charset=utf-8'); echo $sql; exit; } $res = $db->query($sql); if ($db->has_errors()) { print_r($db->get_errors()); die('die L.' . __LINE__); } while ($r = $db->fetch($res)) { $usersList[$r->ID_BILLING_USERS] = $r; } if (V::get('DBG_ILE', '', $_GET)) { echo '

ilosc: ' . count($usersList) . '

' . '
';
				print_r($usersList);
			echo '
'; exit; } if (V::get('DBG_IDS', '', $_GET)) { header('Content-Type: text/plain; charset=utf-8'); echo 'ilosc: ' . count($usersList) . "\n"; echo implode("\n", array_keys($usersList)); exit; } $limit = V::get('DBG_LOOP_LIMIT', 100000, $_GET, 'int'); if(V::get('DBG_LOOP_LIMIT', 0, $_GET, 'int')){echo "Loimit: {$limit}\n";} $date_limit = V::get('DATE_LIMIT', date("Y-m-d"), $_GET); $date_limit_from = '2014-12-01'; $csvFileName = "Zestawienie-nadplaty-do-{$date_limit}"; header('Content-Type: text/csv; charset=utf-8'); header("Content-Disposition: attachment; filename={$csvFileName}.csv"); $showCsvHeader = true; foreach ($usersList as $userId => $user) { $billing_docs = Windykacja_StatsModel::get_bill_dosc_by_date($user, $date_limit); $billing_docs->sort_docs(); $saldo = $billing_docs->get_saldo(); if ($saldo <= 0) { continue; } if(V::get('DBG_LOOP', '', $_GET)){echo "{$userId}:{$saldo}\n";} $incomeDocs = $billing_docs->getLastIncomeDocsForSaldo($saldo); if(V::get('DBG_LOOP', '', $_GET)){print_r($incomeDocs);echo "\n";} //Windykacja_StatsModel::update_doc_number($incomeDocs); $out_tbl = array(); foreach ($incomeDocs as $v_fvat) { $out_tr = array(); $out_tr['ID'] = $v_fvat['ID']; $out_tr['nr'] = $v_fvat['NUMBER'] . '/' . $v_fvat['ID_BILLING_PREFIXES']; $out_tr['wplata'] = number_format($v_fvat['MA'], 2, '.', ''); $out_tr['data'] = $v_fvat['BILL_DATE']; $out_tr['pozostalo'] = number_format($v_fvat['MA_POZOSTALO'], 2, '.', ''); array_push($out_tbl, $out_tr);// add to the begining } {// csv $csvLine = array(); $csvLine[] = '"id klienta"'; $csvLine[] = '"nr dokumentu"'; $csvLine[] = '"kwota brutto"'; $csvLine[] = '"data wpłaty"'; $csvLine[] = '"pozostało"'; if ($showCsvHeader) { echo implode(';', $csvLine) . ";\n"; $showCsvHeader = false; } foreach ($out_tbl as $tr) { $csvLine = array(); $csvLine[] = '"' . $userId . '"'; $csvLine[] = '"' . $tr['nr'] . '"'; $csvLine[] = '"' . $tr['wplata'] . '"'; $csvLine[] = '"' . $tr['data'] . '"'; $csvLine[] = '"' . $tr['pozostalo'] . '"'; echo implode(';', $csvLine) . ";\n"; } } //echo '
incomeDocs: ';print_r($incomeDocs);echo'
'; //echo '
ilosc('.count($out_tbl).') ' . "client({$userId}): ";print_r($out_tbl);echo'
'; if (--$limit < 0) { echo '
BREAK'; break; } } exit; } public static function zestawienie_vectra_zadluzenia() { $usersList = array(); $db = DB::getDB(); $sql_select = " c.`ID` as ID , c.`ID` as id_users , c.`P_NAME` , c.`P_NAME_SECOND` , c.`P_ADDRESS_STREET` , c.`P_ADDRESS_HOME` , c.`P_ADDRESS_HOUSE` , c.`P_ADDRESS_CITY` , c.`P_ADDRESS_POST_CODE` , c.`P_ADDRESS_REGION` , c.`P_PESEL` , c.`P_PHONE` , c.`P_OTHER_DOC` , c.`user_mail_contact` , c.`is_firma` , w.`ID` as WINDYKACJA_ID , w.`ID_BILLING_USERS` , w.`A_STATUS` , w.`A_STATUS_UPDATE_DATE` , w.`USER_PAY_TERM_ADD` , w.`L_APPOITMENT_DATE` , w.`L_APPOITMENT_USER` , w.`L_APPOITMENT_INFO` , w.`PAY_DATE` , w.`PAY_DATE_FIRST_FVAT` , w.`PAY_TERM` , w.`PAY_SALDO` , w.`PAY_FVAT` , w.`wezwanie1_DATE` , w.`wezwanie2_DATE` , w.`ID_KORESP` , w.`LAST_PAY_DATE` , w.`BAD_ADDRESS` , c.`STATUS` , c.`BILLING_OWNER` , w.`NR_SPRAWY_KRD` , w.`NR_SPRAWY_SAD` , w.`NR_SPRAWY_KOMORNIK` , w.`LAST_FVAT_PAY_TERM` "; $sqlWhereAdd = " and (w.`LAST_FVAT_PAY_TERM`>='2014-12-01' or ( w.`LAST_FVAT_PAY_TERM`='0000-00-00' and w.`LAST_FVAT_SELL_DATE`>='2014-12-01' ) ) and c.`ID_BILLING_PREFIXES` in('0','1') and c.`BILLING_OWNER` in('1') "; if (V::get('DBG_NUM', '', $_GET)) {// number of clients with fvat after 2014-12-01 $sqlWhereAdd = " and (w.`LAST_FVAT_PAY_TERM`>='2014-12-01' or ( w.`LAST_FVAT_PAY_TERM`='0000-00-00' and w.`LAST_FVAT_SELL_DATE`>='2014-12-01' ) ) and c.`ID_BILLING_PREFIXES` in('0','1') and c.`BILLING_OWNER` in('1') "; } $sql = "select {$sql_select} from `USERS2_WINDYKACJA_STATUS` as w join `COMPANIES` as c on(c.`ID`=w.`ID_BILLING_USERS`) where c.`A_ADM_COMPANY`='19994_PODMIOT_Vectra_wlasciciel' {$sqlWhereAdd} "; if (V::get('DBG_SQL', '', $_GET)) { header('Content-Type: text/plain; charset=utf-8'); echo $sql; exit; } $res = $db->query($sql); if ($db->has_errors()) { print_r($db->get_errors()); die(); } while ($r = $db->fetch($res)) { $usersList[$r->ID_BILLING_USERS] = $r; } if (V::get('DBG_ILE', '', $_GET)) { echo '

ilosc: ' . count($usersList) . '

' . '
';
				print_r($usersList);
			echo '
'; exit; } if (V::get('DBG_IDS', '', $_GET)) { header('Content-Type: text/plain; charset=utf-8'); echo 'ilosc: ' . count($usersList) . "\n"; echo implode("\n", array_keys($usersList)); exit; } $limit = 10000; $date_limit = V::get('DATE_LIMIT', date("Y-m-d"), $_GET); $date_limit_from = '2014-12-01'; $csvFileName = "Zestawienie-zadluzenia-do-{$date_limit}"; header('Content-Type: text/csv; charset=utf-8'); header("Content-Disposition: attachment; filename={$csvFileName}.csv"); $showCsvHeader = true; foreach ($usersList as $userId => $user) { $billing_docs = Windykacja_StatsModel::get_bill_dosc_by_date($user, $date_limit); $billing_docs->sort_docs(); $fvat_arr = $billing_docs->get_unpaid_fvat(); Windykacja_StatsModel::update_doc_number($fvat_arr); if (V::get('DBG_LAST_FVAT_TERM', '', $_GET)) { $lastFvatDoc = $billing_docs->get_last_fvat_doc(); if ($lastFvatDoc) { echo '

lastFvatDoc:

';
						print_r($lastFvatDoc);
					echo '
'; exit; } } $user->hasActiveDeal = 0; $sql = "select sum(t.`DEALS_ACTIVE`) as activeDeals from `temp_DEALS_STATUS` as t where t.`DEALS_ACTIVE`=1 and t.`ID_BILLING_USERS`='{$userId}' "; $res = $db->query($sql); if ($db->num_rows($res) > 0) { $user->hasActiveDeal = 1; } $out_tbl = array(); foreach ($fvat_arr as $v_fvat) { if ($v_fvat['BILL_DATE'] < $date_limit_from || $v_fvat['BILL_DATE'] > $date_limit) { //echo 'pomin fvat:'."\n";print_r($v_fvat); continue; } $out_tr = array(); $out_tr['ID'] = $v_fvat['ID']; $out_tr['nr'] = $v_fvat['NUMBER'] . '/' . $v_fvat['ID_BILLING_PREFIXES']; $out_tr['winien'] = number_format($v_fvat['WINIEN'], 2, '.', ''); $out_tr['data'] = $v_fvat['BILL_DATE']; $out_tr['termin'] = $v_fvat['PAYMENT_TERM']; $out_tr['pozostalo'] = number_format($v_fvat['WINIEN_POZOSTALO'], 2, '.', ''); array_unshift($out_tbl, $out_tr);// add to the begining } {// csv $csvLine = array(); $csvLine[] = '"id klienta"'; $csvLine[] = '"nr dokumentu"'; $csvLine[] = '"kwota brutto"'; $csvLine[] = '"data faktury"'; $csvLine[] = '"termin płatności"'; $csvLine[] = '"pozostało do zapłaty"'; $csvLine[] = '"status klienta (9=blokada)"'; $csvLine[] = '"aktywne uslugi"'; if ($showCsvHeader) { echo implode(';', $csvLine) . ";\n"; $showCsvHeader = false; } foreach ($out_tbl as $tr) { $csvLine = array(); $csvLine[] = '"' . $userId . '"'; $csvLine[] = '"' . $tr['nr'] . '"'; $csvLine[] = '"' . $tr['winien'] . '"'; $csvLine[] = '"' . $tr['data'] . '"'; $csvLine[] = '"' . $tr['termin'] . '"'; $csvLine[] = '"' . $tr['pozostalo'] . '"'; $csvLine[] = '"' . $user->STATUS . '"'; $csvLine[] = '"' . $user->hasActiveDeal . '"'; echo implode(';', $csvLine) . ";\n"; } } //echo '
fvat_arr: ';print_r($fvat_arr);echo'
'; //echo '
ilosc('.count($out_tbl).') ' . "client({$userId}): ";print_r($out_tbl);echo'
'; if (--$limit < 0) { echo '
BREAK'; break; } } exit; } public static function wezwanie(&$user, $wezwanie_termin, $wezwanie_ostateczne = false) { $date_limit = date("Y-m-d"); $billing_docs = Windykacja_StatsModel::get_bill_dosc_by_date($user, $date_limit); $billing_docs->sort_docs(); // sprawdz zadluzenie if ($billing_docs->get_saldo() >= 0) { echo'

' . "Brak zadluzenia" . '

'; return; } else { $fvat_arr = $billing_docs->get_unpaid_fvat(); //echo'
saldo('.$billing_docs->get_saldo().') fvat_arr: ';print_r($fvat_arr);echo'
'; //foreach ($fvat_arr as $key => $v) { // echo'
'.number_format($v['WINIEN_POZOSTALO'], 4, ',', ' '); //} if (empty($fvat_arr)) { echo'

'."Brak nieoplaconych faktur".'

'; return; } Windykacja_StatsModel::update_doc_number($fvat_arr); $cols = array(); $cols['ID'] = "ID"; $cols['nr'] = "nr"; $cols['winien'] = "winien"; $cols['ma'] = "ma"; //$cols['saldo'] = "saldo"; $cols['saldo_all'] = "saldo"; $cols['add'] = " "; $saldo_all = 0; foreach ($fvat_arr as $f) { $saldo_all += round($f['WINIEN_POZOSTALO'], 2); } $out_tbl = array(); foreach ($fvat_arr as $v_fvat) { $out_tr = array(); $out_tr['ID'] = ' '."(".$v_fvat['ID'].")".'';// TODO: dla KP,KW: ID_BILLING_NUMBERS zamiast ID $out_tr['nr'] = $v_fvat['NUMBER'] . '/' . $v_fvat['ID_BILLING_PREFIXES']; $out_tr['winien'] = number_format($v_fvat['WINIEN'], 2, ',', ' '); $out_tr['data'] = $v_fvat['BILL_DATE']; $out_tr['termin'] = $v_fvat['PAYMENT_TERM']; $out_tr['pozostalo'] = number_format($v_fvat['WINIEN_POZOSTALO'], 2, ',', ' '); array_unshift($out_tbl, $out_tr);// add to the begining } $razem = $saldo_all; $company = Windykacja_StatsModel::get_company($user); $nr_konta = Windykacja_FunkcjeL1::bankowy_formatuj_nrach(Windykacja_FunkcjeL1::bankowy_make_nrach($company->NR_RACH_MASS_PAY, $user->ID_BILLING_USERS, 0)); ?> '; $id_koresp = 0; if ($user->ID_KORESP) { $id_koresp = $user->ID_KORESP; if ($user->LAST_ID_KORESP_WEZWANIE1 && !$wezwanie_ostateczne) { $id_koresp = $user->LAST_ID_KORESP_WEZWANIE1; } else if ($user->LAST_ID_KORESP_WEZWANIE2 && $wezwanie_ostateczne) { $id_koresp = $user->LAST_ID_KORESP_WEZWANIE2; } } if ($id_koresp > 0) {//$user->ID_KORESP) {// TODO: if $user->LAST_ID_KORESP_WEZWANIE1 or LAST_ID_KORESP_WEZWANIE2 $koresp = DB::get_by_id('IN7_DZIENNIK_KORESP', $id_koresp); if ($koresp) { echo '
'; echo $koresp->ID_PROJECT . '-' .$koresp->ID . "/" . substr(date("Y"), 2); echo '
'; } } //echo "„BIALL-NET” Sp. z o.o.
Otomin, ul. Słoneczna 43
80-174 Gdańsk"; ?>
name1; ?>
ulica . " " . $company->numer_dom; ?>
kod . " " . $company->miasto; ?>
Gdańsk, dnia
 

Numer klienta: ID; ?>
P_NAME} {$user->P_NAME_SECOND}"; ?>
P_ADDRESS_STREET} {$user->P_ADDRESS_HOUSE}"; ?> P_ADDRESS_HOME) { echo "/{$user->P_ADDRESS_HOME}"; } ?>
P_ADDRESS_POST_CODE} {$user->P_ADDRESS_CITY}"; ?>

      Na podstawie art. 476 Kodeksu cywilnego (Dz. U. z 1964 r. nr 16, poz. 93, z późn. zmianami) wzywamy do natychmiastowego uregulowania należnej sumy, zgodnie z poniższym zestawieniem.

Kwota netto ?> >
Podstawa zobowiązania* Nr dokumentu Kwota brutto Data faktury Termin płatności Pozostało do zapłaty
Razem:

Słownie do zapłaty:     

Wymienioną sumę prosimy przekazać na nasz rachunek bankowy
w terminie do dnia     

W razie problemów prosimy o kontakt z Biurem Obsługi Klienta tel. (58) 741-84-10 wew. 2,
e-mail: bok@biall.net.pl lub z Windykatorem: tel. (58) 741-84-78

 



  (pieczęć i podpis wierzyciela)

* Podstawa zobowiązania: Faktura VAT, Rachunek, Umowa, Nota odsetkowa, Nota księgowa, Weksel, Uznanie długu, Ugoda, Kara umowna, Faktura zbiorowa, Wyrok sądowy, Nakaz zapłaty, Pożyczka, inne.

W przypadku nieuregulowania płatności we wskazanym terminie, zgodnie z „Ustawą o udostępnianiu informacji gospodarczych z dnia 14 lutego 2003 r. (Dz. U. Nr 50)” , informacje o zadłużeniu zostaną przekazane do:

Krajowego Rejestru Długów
Biura Informacji Gospodarczej S.A.
ul. Armii Ludowej 21, 51-214 Wrocław
www.krd.pl


Informacja o zadłużeniu upubliczniona będzie w systemie KRD do dnia zapłaty lub 10 lat od daty dokonania wpisu.

' . "Cofnij" . 'POWROT' . ''; $to_update_total = Windykacja_StatsHelper::get_to_update_total(); if ($to_update_total <= 0) { echo'

' . "Wszystkie rekordy zaktualizowane" . '

'; return; } if ($to_update_total > $to_update_step) { echo'
'; echo'' . "Aktualizuj statusy (" . ($to_update_total - $to_update_step) . ")" . ''; echo'
'; } $to_update_list = Windykacja_StatsHelper::get_to_update_list($to_update_step); if (empty($to_update_list)) { echo'

' . "Wszystkie rekordy zaktualizowane" . '

'; return; } //echo'
to_update_list: ';print_r($to_update_list);echo'
'; foreach ($to_update_list as $w) { //echo'
'; echo "Nr. klienta: ".$w->ID_BILLING_USERS . " ..."; //echo $w->A_STATUS . ' (' . $w->A_STATUS_UPDATE_DATE . ')'; $user = Windykacja_StatsModel::get_user_by_id($w->ID_BILLING_USERS); if ($user) { $billing_docs = Windykacja_StatsModel::get_bill_dosc_by_date($user); Windykacja_StatsHelper::update_stats($user, $billing_docs); } //echo'
';// .box-blue echo'
'; } if ($to_update_total > $to_update_step) { echo'

'; echo'' . "Aktualizuj statusy (" . ($to_update_total - $to_update_step) . ")" . ''; } } public static function getPowodyRezygnacji() { // [895].[3888] - DEALS_TABLE.RODZAJ_DZIALANIA_HANDLOWEGO $powody = array(); // $powody['3226'] = "REZYGNACJA FINANSE"; // $powody['3227'] = "REZYGNACJA SLABA OFERTA"; // $powody['3121'] = "REZYGNACJA WYPROWADZKA"; // $powody['3228'] = "REZYGNACJA PROBLEMY TECHNICZNE"; // $powody['3230'] = "REZYGNACJA WYJAZD"; // $powody['3229'] = "REZYGNACJA ZLA OBSLUGA BOK"; // $powody['3123'] = "REZYGNACJA CESJA"; // $powody['3119'] = "BRAK-BOK (Inne)"; // $powody['4188'] = "UMOWA_BEZPOSREDNIA"; // $powody['4189'] = "UMOWA_POSREDNIA"; // $powody['4190'] = "TELEMARKETING"; $powody['4192'] = "REZYGNACJA ZMIANA OPERATORA"; $powody['4193'] = "REZYGNACJA WYPROWADZKA"; $powody['4194'] = "REZYGNACJA NIEZADOWOLENIE"; $powody['4195'] = "REZYGNACJA CESJA"; //$powody['4196'] = "REZYGNACJA FINANSE"; $powody['4197'] = "REZYGNACJA SLABA OFERTA"; $powody['4198'] = "REZYGNACJA PROBLEMY TECHNICZNE"; $powody['4199'] = "REZYGNACJA ZLA OBSLUGA BOK"; $powody['4200'] = "WYPOWIEDZENIE PRZEZ OPERATORA ZA DLUGI"; // $powody['4201'] = "UMOWA W BOK ZWYCZAJNA"; // $powody['4202'] = "REZYGNACJA WYJAZD"; // $powody['4191'] = "BRAK-BOK (Inne)"; $powody['19803'] = "REZYGNACJA_Z_PRZEJSCIEM_DO_VECTRA"; $powody['22511'] = "WYPOWIEDZENIE PRZEZ OPERATORA"; $powody['4213'] = "REZYGNACJA INNE"; return $powody; } /** * @params $user * @params $id_koresp */ public static function task_bok_rozwiazanie_umowy_print($user, $id_koresp) { $user_hist_events = Windykacja_StatsHelper::get_user_hist_status_events($user); if (empty($user_hist_events)) { echo '

' . "Brak danych HIST" . '

'; return; } $v_doc = null; foreach ($user_hist_events as $v_hist) { if ($v_hist->ID_KORESP == $id_koresp) { $v_doc = $v_hist; break; } } if (!$v_doc) { echo '

' . "Brak danych HIST dla kodresp(".$v_doc->ID_KORESP.")" . '

'; return; } // params(255): rozwiazanie umowy,9872,3121 $params = explode(',', $v_doc->params); if (count($params) < 3 && $params[0] != 'rozwiazanie umowy') { echo '

' . "Bad params" . '

'; return; } $koresp = DB::get_by_id('IN7_DZIENNIK_KORESP', $id_koresp); if (!$koresp) { echo '

' . "Koresp not exists!" . '

'; return; } $nr_umowy = $params[1]; $powod = $params[2]; $deal_id = '..........................................................'; $termin_odlaczenia = '.....................'; if (count($params) > 4) { // $data_arr["params"] = "rozwiazanie umowy,{$nr_umowy},{$powod},{$termin_odlaczenia},{$new_id_deals}"; $termin_odlaczenia = $params[3]; $deal_id = $params[4]; } $arg_values = array(); $arg_values['powod'] = self::getPowodyRezygnacji(); $com = new stdClass(); if ($user->BILLING_OWNER == 2) { $com->name = 'NET-DAY'; $com->fullName = 'NET-DAY s.c.'; $com->address_street = 'ul. Kopeckiego 9/24'; $com->address_city = '80-809 Gdańsk'; } else { $com->name = 'BIALL-NET'; $com->fullName = 'BIALL-NET Sp. z o.o.'; $com->address_street = 'Otomin ul. Słoneczna 43'; $com->address_city = '80-174 Gdańsk'; } ?>
[1612][v3] Nr dziennika przyjęcia pisma fullName; ?> ID_PROJECT; ?>-ID; ?>/
Gdańsk, dnia: .......................

Dane Abonenta
Imię i Nazwisko / Nazwa firmy: P_NAME} {$user->P_NAME_SECOND}";?>
Pesel / nr dowodu osoby reprezentującej firmę: P_PESEL; ?>
Adres zameldowania: ul. P_ADDRESS_STREET} {$user->P_ADDRESS_HOUSE}/{$user->P_ADDRESS_HOME}, {$user->P_ADDRESS_POST_CODE} {$user->P_ADDRESS_CITY}"; ?>
Nr ID klienta: ID; ?>
Nr ID Umowy: ID_SERVICES_OLD: .......................................................... ?>
  fullName; ?>
address_street; ?>
address_city; ?>

ROZWIĄZANIE UMOWY ABONENCKIEJ O ŚWIADCZENIE USŁUG TELEKOMUNIKACYJNYCH NR [794]

Proszę o rozwiązanie umowy abonenckiej o świadczeniu Usług Telekomunikacyjnych i odłączenie sygnału fullName; ?>. Jednocześnie jestem świadomy/a tego, że jeżeli okres trwania wypowiadanej umowy jeszcze nie uległ zakończeniu to firma name; ?> może naliczyć karę za wcześniejsze zerwanie umowy zgodnie z obowiązującym regulaminem i cennikiem.

Termin odłączenia:
(poinformowano o miesięcznym terminie wypowiedzenia, jak również przedstawiono nowe propozycje oferty)

[1061]Powody rezygnacji z Usług (wybierz tylko 1 najważniejszy powód)

$v_label) : ?>
  Data i podpis pracownika BOK   Data i czytelny podpis Klienta  
'." function frm_bok_rozwiazanie_umowy(frm){ if (frm.id_proj.value=='') { alert('Nie podano numeru projektu!'); } else if (frm.nr_umowy.value=='') { alert('Nie podano numeru umowy!'); } else if (frm.temin_odlaczenia.value=='') { alert('Nie podano daty odłączenia!'); // TODO: powod - radio } else { return true; } return false; } ".''; $umowy_l2 = Windykacja_StatsModel::get_umowy_from_l2($user); if (empty($umowy_l2)) { echo '

' . "Brak aktualnych umów z klientem" . '

'; return; } $arg_errors = array(); $arg_values = array(); $args = array(); $args['id_proj'] = V::get('id_proj', '', $_REQUEST, 'int'); $args['nr_umowy'] = V::get('nr_umowy', '', $_REQUEST, 'int'); $args['temin_odlaczenia'] = V::get('temin_odlaczenia', '', $_REQUEST); $args['powod'] = V::get('powod', '', $_REQUEST, 'int'); $arg_values['nr_umowy'] = array(); foreach ($umowy_l2 as $k_id => $v_deal) { $arg_values['nr_umowy'][$v_deal['ID']] = $v_deal['ID'] . ' (Nr umowy: ' . $v_deal['P_DEALNUMBER'] . ', ' . $v_deal['P_DEALDATE'] . ' - ' . $v_deal['P_DEALDATE_TERM'] . ')'; } $arg_values['powod'] = self::getPowodyRezygnacji(); // validate if ($args['temin_odlaczenia'] == '') { $args['temin_odlaczenia'] = date("Y-m-d", mktime(0, 0, 0, date('m') + 1, date('d'), date('Y'))); } else {// cehck date format if (strlen($args['temin_odlaczenia']) != 10) { $arg_errors['temin_odlaczenia'] = "Błędny format daty"; } else { $check_date = explode('-', $args['temin_odlaczenia']); if (count($check_date) != 3 || strlen($check_date[0]) != 4 || strlen($check_date[1]) != 2 || strlen($check_date[2]) != 2) { $arg_errors['temin_odlaczenia'] = "Błędny format daty"; } else { // ok } } } if ($args['id_proj'] <= 0) { $arg_errors['id_proj'] = "Nie podano numeru projektu!"; } if ($args['nr_umowy'] <= 0) { $arg_errors['nr_umowy'] = "Nie wybrano numeru umowy!"; } if ($args['powod'] <= 0) { $arg_errors['powod'] = "Nie wybrano powodu rezygnacji!"; } // add rezygnacja z umowy if (1 == V::get('contact_bok_rozwiazanie_umowy_save', 0, $_POST, 'int')) { if (!empty($arg_errors)) { echo '

' . "W formularzy wystąpiły błędy:"; foreach ($arg_errors as $k_field => $v_err) { echo '
' . $v_err; } echo '

'; } else { $msg_log = array(); $ret = Windykacja_StatsHelper::update_bok_rozwiazanie_umowy($user, $args['id_proj'], $args['nr_umowy'], $args['powod'], $arg_values['powod'][$args['powod']], $args['temin_odlaczenia'], $msg_log); if ($ret) { echo '

' . "Dane zapisano pomyślnie" . '

'; if (!empty($msg_log)) { echo '

' . implode('
', $msg_log) . '

'; } $ico_print = ''; echo '' . $ico_print . " rozwiązanie umowy".''; return; } else { echo '

' . "Wystąpił błąd podczas zapisu danych" . '

'; if (!empty($msg_log)) { echo '

' . implode('
', $msg_log) . '

'; } } } } echo'
'; echo''; echo '' . "Rozwiązanie umowy abonenckiej o świadczenie usług telekomunikacyjnych" . ''; echo '
' . "ID projektu: "; echo ''; echo '
' . "Nr umowy: "; foreach ($arg_values['nr_umowy'] as $k_id => $v_label) { $sel = ($k_id == $args['nr_umowy'])? ' checked="checked"' : ''; echo '
' . "    " . '' . " " . $v_label; } echo '
' . "Termin odłączenia: "; echo ''; echo '
' . "Powód rezygnacji z usług: "; foreach ($arg_values['powod'] as $k_id => $v_label) { $sel = ($k_id == $args['powod'])? ' checked="checked"' : ''; echo '
' . "    " . '' . " " . $v_label; } echo '
' . ''; echo'
'; } } class Lay_Html_Toggle { public static function start($title, $attrs = array()) { $cls = array(); $cls[] = 'may-hide'; if (array_key_exists('open', $attrs) && $attrs['open'] == false) $cls[] = 'hide'; echo'
'; $st = array(); $st[] = 'margin-bottom:0'; if (!empty($attrs['color'])) $st[] = 'color:'.$attrs['color']; echo'

'.$title; echo''."-".''; echo''."+".''; echo'

'; echo'
'; } public static function end() { echo'
';// .to-hide echo'
';// .may-hide' } public static function show_js() { echo''; } }