Личный кабинет

«.date(«H:i:s»).»|».$txt.»

«;
// echo «\r\n»;
}

function td($p, $s)
{
if ($p == ‘l’)
{
return ‘

‘ . $s . ‘

‘;;
}
else
if ($p == ‘r’)
{
return ‘

‘ . $s . ‘

‘;;
}
else
if ($p == ‘c’)
{
return ‘

‘ . $s . ‘

‘;
}
}

function money($i)
{
return sprintf («%01.2f», $i);
}

function WinToUTF($s)
{
return iconv(«windows-1251», «UTF-8», $s);
}

function pr($i)
{
$str = ‘ ‘;
for ($a=1; $a<=$i; $a++) { $str .=' '; } return $str; } function c_error($l) { if ($l==-1) $r="Нет такого лицевого счета"; if ($l==-2) $r="Указан не верный пароль"; if ($l==-3) $r="Нет доступа"; if ($l==-10) $r="Невозможно подключиться к базе данных. Повторите попытку позднее"; if ($l==-20) $r="Эта функция находится в состоянии разработки. Следите за новостями."; $r='

‘.$r.’

‘;
return $r;
}

function res_v($RES_VOD)
{
if ($RES_VOD==1) $res=»Данные успешно переданы»;
if ($RES_VOD==-1) $res=»Одно из указанных значений НЕ ЯВЛЯЕТСЯ ЧИСЛОМ»;
if ($RES_VOD==-2) $res=»Не заполненно одно из полей данных»;
if ($RES_VOD==-3) $res=»Не допускаются ОТРИЦАТЕЛЬНЫЕ значения показаний»;
if ($RES_VOD==-4) $res=»Прием показаний приборов учета осуществляется c $_SESSION[chislo_ot] по $_SESSION[chislo_do] число текущего месяца»;
if ($RES_VOD==-5) $res=»Прием показаний приборов учета возможен ТОЛЬКО в рабочем периоде»;
$res=’

‘.$res.’
‘;
return $res;
}

function fieldss($f)
{
if ($f==»OTARIFFCOST») $f=»Начисленно по тарифу»;
if ($f==»OPRIVILEGECOST») $f=»Льгота»;
if ($f==»OCORRPRIVILEGE») $f=»Корректировка льгот»;
if ($f==»ODOLGONMONTHSTART») $f=»Долг на начало месяца»;
if ($f==»ORECALCULATIONBYSPRAVKA») $f=»Перерасчеты по справкам»;
if ($f==»ORECALCULATION») $f=»Перерасчеты по приказам»;
if ($f==»OSUBSIDIA») $f=»Субсидии»;
if ($f==»OPAIDUP») $f=»Оплачено»;
if ($f==»OSERCOST») $f=»Стоимость услуги по норме»;
if ($f==»OSEROCOST») $f=»Стоимость услуги сверх нормы»;
if ($f==»OTOPAY») $f=»К оплате»;
if ($f==»OTOTAL») $f=»Всего начислено»;
if ($f==»OSERVICESHORTNAME») $f=»Услуга»;
if ($f==»OOVERTARIFFCOST») $f=»Сверх- норматив»;

if ($f==»OCOUNTERNAME») $f=»Наименование»;
if ($f==»OPREVDATE») $f=»Дата
передачи»;
if ($f==»OCOUNTERPREVVALUE») $f=»Показания
прошлого
периода»;
if ($f==»OCURDATE») $f=»Дата
передачи»;
if ($f==»OCOUNTERCURVALUE») $f=»Показания
текущего
месяца»;
if ($f==»RECID») $f=»Новые показания»;
if ($f==»OSEAT_NAME») $f=»Место установки»;

if ($f==»FULLADDRESS») $f=»Адрес»;
if ($f==»FIO») $f=»Фамилия Имя Отчество»;
if ($f==»DOLG») $f=»Долг»;
if ($f==»DOLG_FINE») $f=»Пеня»;
if ($f==»NUMBERMONTH») $f=»Не оплачено месяцев»;

return($f);
}

function print_form ()
{
echo $_SESSION[desc_text];
echo ‘

Для входа в личный кабинет используйте логин (номер лицевого счета) и пароль, полученный у кассира-оператора

Лицевой счет


Пароль


‘;
};

if (isset($_POST[«T1»])==false and isset($_POST[«T2»])==false and isset($_POST[«p1»])==false and isset($_POST[«mes»])==false) //empty($_SESSION[‘L_S’])==false)
//if (session_is_registered(‘L_S’)==false)
{
echo print_form();
}
else
{
$conn_error=’Невозможно подключиться к серверу. Повторите попытку позднее.’;
$query_error=’Невозможно выполнить запрос. Повторите попытку позднее.’;
// include ($_SERVER[‘DOCUMENT_ROOT’].»/conf.php»);

$LS=trim($_POST[«T1»]);
$PW=trim($_POST[«T2″]);
if ($PW!=»)
{
$_SESSION[‘L_S’]=$LS;
$_SESSION[‘P_W’]=$PW;
}
else
{
$LS=$_SESSION[‘L_S’];
$PW=$_SESSION[‘P_W’];
}

// $fp=fsockopen($server,$port, $errno, $errstr, 15);
debug(‘Начало’);
$fp=fsockopen($server,$port, $errno, $conn_error, 15);
debug($server);
//——————————-
if ($_POST[‘p1’]!=»)
{
$not_send=0;
for ($i = 1; $i<$_SESSION['kol']; $i++) { if (empty($_POST["p".$i]) and $not_send==0) { echo res_v(-2); $not_send=1; } if (!is_numeric(trim($_POST["p".$i])) and $not_send==0) { echo res_v(-1); $not_send=1; } if (trim($_POST["p".$i])<0 and $not_send==0) { echo res_v(-3); $not_send=1; } if (($chislo_ot <= date(d) and date(d) <= $chislo_do) and $not_send==0) { } else { echo res_v(-4); $not_send=1; } } if ($not_send==0) { debug($database."Начало"); $db = ibase_connect($database, $user, $password) or die($conn_error); debug($database); for ($i = 1; $i<$_SESSION['kol']; $i++) { $a=$s.$i; $a=$_SESSION['s'.$i]; $b=$p.$i; $b=trim($_POST["p".$i]); $s = "EXECUTE PROCEDURE BILING_UPDATE_COUNTER_METERAGE('".$a."',null,'".$b."')"; debug($s."Начало1"); $result = ibase_query($s, $db) or die($query_error . '#1'); debug($s."Конец1"); } echo res_v(1); $s = "EXECUTE PROCEDURE BILING_UPDATE_CHARGE('".$LS."')"; debug($s."нАЧАЛО2"); $result = ibase_query($s, $db) or die($query_error); debug($s."Конец2"); //session_destroy(); } } //------------------------------- if ($fp) { debug($database."Начало5"); $db = ibase_connect($database, $user, $password) or die($conn_error); $s = "SELECT * FROM BILLING_CHECK_LOGIN('".$LS."','".$PW."')"; debug($s."Середина5"); $result = ibase_query($s, $db) or die($query_error . '#2'); debug($s."Конец5"); } else { echo c_error(-10); return(0); } for ($i = 0, $n = ibase_num_fields($result ); $i < $n; $i++) { $col_inf = ibase_field_info($result , $i); $ffmass[$i] = "{$col_inf['name']}"; } $rowss = array(); while ($roww = ibase_fetch_row($result )) { $rowss[] = $roww; } $i=0; foreach ($rowss as $roww) { foreach ($roww as $cell) { $$ffmass[$i]=$cell; $i++; } } if ($ORES==1) { $_LS = $OFLATID; if (isset($_SESSION['RES_VOD'])) $RES_VOD=$_SESSION['RES_VOD']; //----------------- Личная карточка, начисление /* $s = "EXECUTE PROCEDURE BILING_UPDATE_CHARGE('".$LS."')"; debug($s."начало6"); ibase_query($s, $db) or die($query_error); debug($s."Конец6");*/ if (isset($_POST["mes"])==false) { $tp_mes= 'null'; $tp_god= 'null'; } else { $tp_mes=$_POST['mes']; $tp_god=$_POST['god']; } // echo $tp_god."|"; // echo $tp_mes."|"; $s= "select * from BILLING_SELECT_CHARGE_NEW(".$LS.",". $tp_mes.",".$tp_god .",". $repId . ", -1, ';515=', null, null, null) where OSGROUPID<>9 order by OTYPEOFSERVICE»;
// $s = «SELECT OSERVICESHORTNAME, ODOLGONMONTHSTART, OTARIFFCOST, OOVERTARIFFCOST, OPRIVILEGECOST, ORECALCULATION, OSUBSIDIA, OPAIDUP, OSERCOST, OSEROCOST, OTOPAY, OTOTAL FROM BILLING_SELECT_CHARGE(«.$LS.»,». $tp_mes.»,».$tp_god.»)»;
$result = ibase_query($s, $db) or die($query_error . ‘#3’);
debug($s.»Конец6″);
$p3 = ‘

Раздел 3. РАСЧЕТ РАЗМЕРА ПЛАТЫ ЗА СОДЕРЖАНИЕ И РЕМОНТ ЖИЛИЩНОГО ПОМЕЩЕНИЯ И КОММУНАЛЬНЫЕ УСЛУГИ

‘;
$p3 .= ‘

‘;

$p3 .= ‘

‘;

$kom = 0;
$pr = 0;
$s1 = 0;
$s01 = 0;
$s2 = 0;
$s3 = 0;
$sum1 = 0;
$sum2 = 0;

while ($row = ibase_fetch_object ($result))
{
if ($row->OTYPEOFSERVICE == 1 && $kom == 0)
{
$p3 .= ‘

‘;
$kom = 1;
}

if ($row->OTYPEOFSERVICE == 2 && $pr == 0)
{
$p3 .= ‘

‘;
$pr = 1;
}

$p3 .= td(‘l’,’ ‘ . WinToUTF($row->OAV_SERVICENAME)); //1
$p3 .= td(‘c’,’ ‘ . WinToUTF($row->OEI)); //2

if ($row->OTYPEOFSERVICE == 0 || $row->OTYPEOFSERVICE == 2)
{
$p3 .= ‘

‘;//3,4,5

$zn = $row->OSERCOST;
$p3 .= td(‘r’, money($zn)); //6
}
else
{
if ($row->OSGROUPID == 14)
$zn = $row->ONORMA;
else
$zn = $row->OVOL_LOW_PRIV;
$p3 .= td(‘r’, $zn ); //3

if ($row->OSGROUPID == 14)
$zn = $row->OPREVNORMA;
else
$zn = $row->OVOL_HIGH_PRIV;
$p3 .= td(‘r’, $zn ); //4

$p3 .= td(‘r’, sprintf («%01.3f», ($row->ONORMA_OPU + $row->OPREVNORMA_OPU)) ); //5
if ($row->OSGROUPID == 14)
$zn = $row->OSERCOST;
else
$zn = $row->OTARIFF_COST_VOL_NORM;
$p3 .= td(‘r’, money($zn)); //6
}

if ($row->OTYPEOFSERVICE == 0 || $row->OTYPEOFSERVICE == 2)
{
$p3 .= ‘

‘;
}
else
{
if ($row->OSGROUPID == 14)
$zn = $row->OSEROCOST;
else
$zn = $row->OTARIFF_COST_VOL_EX;
$p3 .= td(‘r’, money($zn)); //7
}
if ($row->OTYPEOFSERVICE == 0 || $row->OTYPEOFSERVICE == 2)
{
$p3 .= ‘

‘;
}
else
{
$p3 .= td(‘r’, money($row->OTARIFFCOST — $row->OOVERTARIFFCOST)); //8
$p3 .= td(‘r’, money($row->OOVERTARIFFCOST)); //9
$p3 .= td(‘r’, money($row->OTARIFFCOST_OPU)); //10
}
$p3 .= td(‘r’, money($row->OTARIFFCOST + $row->OTARIFFCOST_OPU)); //11
$p3 .= td(‘r’, money($row->ORECALCULATION + $row->ORECALCULATION_OPU)); //12
$p3 .= td(‘r’, money($row->OPRIVILEGECOST + $row->OPRIVILEGECOST_OPU)); //13
$p3 .= td(‘r’, money($row->OTOTAL + $row->OTOTAL_OPU)); //14
$s1 +=($row->OTOTAL + $row->OTOTAL_OPU);
$s01 += ($row->OTOPAY + $row->OTOPAY_OPU);
if ($row->OTYPEOFSERVICE == 0 || $row->OTYPEOFSERVICE == 2)
{
$p3 .= ‘

‘;
}
else
{
$p3 .= td(‘r’, money($row->OTOTAL)); //15
$s2 += $row->OTOTAL;
$p3 .= td(‘r’, money($row->OTOTAL_OPU)); //16
$s3 += $row->OTOTAL_OPU;
}
$p3 .= ‘

‘;
$sum1 += $row->ODOLGONMONTHSTART + $row->ODOLGONMONTHSTART_OPU;
$sum2 += $row->OPAIDUP + $row->OPAIDUP_OPU;
}
$p3 .= ‘

‘;
$p3 .= td(‘r’, ‘ ‘.money($s1).’ ‘) . td(‘r’, ‘ ‘.money($s2).’ ‘) . td(‘r’, ‘ ‘.money($s3).’ ‘);
$p3 .= ‘

‘;
$p3 .= ‘

Наименование услуги

Ед.
изм

Объем коммун. услуг

Тариф
руб./ед. изм

Размер платы
за ком. услуги

Всего на-
числено за
ресчетный
период,
руб.

Перера-
счеты
всего,
руб.

Льготы,
руб.

Итого к оплате за
расчетный период, руб.

индив.
потребл

общедом. нужды

норма

сверх

индив.
потребл

общедом. нужды

всего

в т.ч. за ком. усл.

норма

сверх

норма

сверх

индив.
потребл

общедом.
нужды

 Коммунальные услуги
 Прочие услуги
X X X X
 Итого к оплате за расчетный период

‘;
$p3 .= ‘

Согласно статьи 155 Жилищного кодекса РФ. "Плата за помещение и коммунальные услуги вносятся ежемесячно до десятого числа, следующего за истекшим месяцем".

‘;

//—————— Личная карточка, данные о квартире
$ls = «select * from BILLING_SELECT_OBJECT_INFONEW(«.$LS.»,». $tp_mes.»,».$tp_god .»,». $repId.», -1, ‘;515=’, null, null, null)»;
debug($ls.»Начало7″);
$res = ibase_query($ls, $db) or die($query_error . ‘#4′);
debug($ls.»Конец7″);

$s_mes= date(«n», strtotime($s_date));
$s_year= date(«Y», strtotime($s_date));

$t_mes = date(«n»);
$t_year= date(«Y»);

if (isset($_POST[«mes»])==true)
{
$i_mes=$_POST[«mes»];
$i_year=$_POST[«god»];
}
else
{
$i_mes=$t_mes;
$i_year=$t_year;
}
$p_year=»;
/*
echo $s_mes.»|»;
echo $t_mes;*/
//$s_year=$t_year;
if ($s_year==$t_year)
{
$p_year=’‘;
for ($x=$t_mes; $x>=$s_mes; $x—)
if ($x==$i_mess)
$p_mes=$p_mes.’‘;
else
$p_mes=$p_mes.’‘;
}
else
{
for ($x=$t_year; $x>=$s_year; $x—)
if ($x==$i_year)
$p_year=$p_year.’‘;
else
$p_year=$p_year.’‘;

for ($x=12; $x>=1; $x—)
if ($x==$i_mes)
$p_mes=$p_mes.’‘;
else
$p_mes=$p_mes.’‘;
}

echo ‘

Начисление по лицевому счету за период:


‘;

while ($row = ibase_fetch_object ($res))
{
echo ‘

Раздел 1. Сведения о плательщике и исполнителе услуг

за ‘ . pr(8) . WinToUTF($row -> OPERIODNAME) . pr(8) .’(расчетный период)
Ф.И.О. плательщика собственника/нанимателя
‘ . pr(8) . WinToUTF($row -> OFULLFIO) . pr(8) . ‘
Адрес помещения ‘ . pr(8) . WinToUTF($row -> OADDRESS) . pr(8) .’
Общая площадь помещения (норма/сверх): ‘. pr(8) . WinToUTF($row -> OFLOORSPACE) .’ (‘ . WinToUTF($row -> OCOSNORMA).’/’.WinToUTF($row -> OPREVSPACE). ‘)’ . pr(8) .’
Количество зарегистрированных/проживающих ‘.pr(8). WinToUTF($row -> ORESIDENTSCOUNT) .’/’. WinToUTF($row -> OLIVINGCOUNT) .pr(8) .’
Наименование организации‘. pr(5) . WinToUTF($row -> ORG_NAME) . pr(5) .’
Адрес ‘. pr(5) . WinToUTF($row -> ORG_ADDRESS_POST) . pr(5) .’
Телефон, факс, адрес электронной почты, адрес сайта в сети Интернет
‘. pr(5) . WinToUTF($row -> ORG_PHONE) . pr(2) . WinToUTF($row -> ORG_EMAIL) . pr(8) . WinToUTF($row -> ORG_SITE) . pr(8) .’

Режим работы ‘.pr(15).’ телефон ‘.pr(15).’

Раздел 2. Информация для внесения платы получателю платежа

Наименование получателя платежа Номер банковского счета № лицевого счета Сумма к оплате за расчетный период, руб.
‘. WinToUTF($row->ORG_NAME) .’ ‘. WinToUTF($row->ORG_PERSONALACCOUNT) .’ ‘. WinToUTF($row->OPERSONALACCOUNT) .’ ‘. money($s1) .’

‘;
if ($row->LASTPAYMENT_DATE == 0)
$zn = »;
else
$zn = date(«d.m.Y», strtotime($row->LASTPAYMENT_DATE));
echo ‘

Задолженность за предыдущие периоды ‘. money($sum1).’ руб.
Платежи ‘.WinToUTF($row -> OPERIODNAME).’ ‘. money($sum2).’ руб.
Дата последней поступившей оплаты ‘ . $zn . ‘
Итого к оплате: ‘. money($s01) .’ руб.

‘;
}

//————————————— История водосчетчиков
$vod = «select OCOUNTERNAME,OSEAT_NAME, OPREVDATE, OCOUNTERPREVVALUE, OCURDATE, OCOUNTERCURVALUE, RECID from BILLING_SELECT_COUNTERS(«.$LS.»,». $tp_mes.»,».$tp_god.»)»;
$resultv = ibase_query($vod, $db) or die($error_connect . ‘#5’);

$fieldsv = array();
for ($i = 0, $n = ibase_num_fields($resultv); $i < $n; $i++) { $col_info = ibase_field_info($resultv, $i); $fieldsv[] = "{$col_info['name']}"; } $rowsv = array(); while ($rowv = ibase_fetch_row($resultv)) { $rowsv[] = $rowv; } echo $p3; //---------------------------------------------------------------------------------------------------------------------------- echo '


Показания приборов учета:

‘;
if ($chislo_ot <= date(d) and date(d) <= $chislo_do) { } else $RES_VOD=-4; echo '

‘;
foreach ($fieldsv as $f)
{
echo ‘

‘;
}
echo ‘

‘;
$i=1;
foreach ($rowsv as $rowv)
{
echo ‘

‘;
foreach ($rowv as $key => $cellv)
{
if ($key==2 or $key==4)
$cellv=date(«d.m.Y», strtotime($cellv));

if ($key==6)
{
echo’

‘;
$_SESSION[‘s’.$i] = $cellv;
$i++;
}
else
if ($key==3 or $key==5)
echo ‘

‘;
else
if ($key<=1) echo '

‘;
else
echo ‘

‘;
}
echo ‘

‘;
}
echo ‘

‘;
$f=fieldss($f);
echo $f;
echo ‘
‘.iconv(«windows-1251», «UTF-8», $cellv).’ ‘.iconv(«windows-1251», «UTF-8», $cellv).’ ‘.iconv(«windows-1251», «UTF-8», $cellv).’

‘;

if ($i_mes==$t_mes)
{
if ($RES_VOD!=-4)
{
echo’‘;
echo ‘

‘;
$_SESSION[‘kol’] = $i;
echo ‘

‘;
}
else
echo res_v($RES_VOD);
}
else
echo res_v(-5);
}
else
{
echo’

Не выполнен вход в личный кабинет.

‘;
// echo $ORES;
echo c_error($ORES);
echo print_form();
echo c_error($ORES);
}
}
echo ‘

‘;
//echo «

«.date(«H:i:s»).»|.Самый конец.

«;

?>