FunkcjeL1.php 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408
  1. <?php
  2. Lib::loadClass('Windykacja_StatsModel');
  3. class Windykacja_FunkcjeL1 {
  4. public static function bankowy_make_nrach($NR_RACH_MASS_PAY, $ID_BILLING_USERS, $ID_BILLING_NUMBERS) {
  5. //echo "TTUTAJ <hr> AASDADS f. bankowy_make_nrach($NR_RACH_MASS_PAY,$ID_BILLING_USERS,$ID_BILLING_NUMBERS) <br>";
  6. $ID_BILLING_USERS = str_pad($ID_BILLING_USERS, 10, 0, STR_PAD_LEFT);
  7. $ID_BILLING_NUMBERS = str_pad($ID_BILLING_NUMBERS, 2, 0, STR_PAD_LEFT);
  8. $ID_BILLING_NUMBERS = substr($ID_BILLING_NUMBERS, -2);
  9. $NN = self::bankowy_make($NR_RACH_MASS_PAY . $ID_BILLING_NUMBERS . $ID_BILLING_USERS);
  10. if ($NN) return $NN . $NR_RACH_MASS_PAY . $ID_BILLING_NUMBERS . $ID_BILLING_USERS;
  11. }
  12. public static function bankowy_make($nrb) {
  13. $nrb = preg_replace("/[^0-9]/", "", $nrb);
  14. if (strlen($nrb) <> 24) return 0;
  15. $nrb .= "252100";
  16. $modulo = self::my_bcmod($nrb, 97);
  17. $modulo = 98 - $modulo;
  18. if (strlen($modulo) == 1) {
  19. $modulo = "0" . $modulo;
  20. }
  21. return $modulo;
  22. }
  23. public static function my_bcmod($x, $y) {
  24. // how many numbers to take at once? carefull not to exceed (int)
  25. $take = 5;
  26. $mod = '';
  27. do {
  28. $a = (int)$mod . substr($x, 0, $take);
  29. $x = substr($x, $take);
  30. $mod = $a % $y;
  31. } while (strlen($x));
  32. return (int)$mod;
  33. }
  34. public static function bankowy_formatuj_nrach($NR_RACH_MASS_PAY) {
  35. $NR_RACH_MASS_PAY_FORMATTED = '';
  36. if ($NR_RACH_MASS_PAY) {
  37. for ($i = 4; $i < strlen($NR_RACH_MASS_PAY); $i += 4) {
  38. $NR_RACH_MASS_PAY_FORMATTED = " " . substr($NR_RACH_MASS_PAY, -$i, 4) . $NR_RACH_MASS_PAY_FORMATTED;
  39. }
  40. $NR_RACH_MASS_PAY_FORMATTED = substr($NR_RACH_MASS_PAY, 0, $i - strlen($NR_RACH_MASS_PAY)) . " " . $NR_RACH_MASS_PAY_FORMATTED;
  41. }
  42. return $NR_RACH_MASS_PAY_FORMATTED;
  43. }
  44. public static function policz($l,$t1,$t2,$t3) {
  45. $j = array("", "jeden ", "dwa ", "trzy ", "cztery ", "pięć ", "sześć ",
  46. "siedem ", "osiem ", "dziewięć ", "dziesięć ", "jedenaście ",
  47. "dwanaście ", "trzynaście ", "czternaście ", "piętnaście ",
  48. "szesnaście ", "siedemnaście ", "osiemnaście ", "dziewiętnaście ");
  49. $d = array("", "", "dwadzieścia ", "trzydzieści ", "czterdzieści ",
  50. "pięćdziesiąt ", "sześćdziesiąt ", "siedemdziesiąt ",
  51. "osiemdziesiąt ", "dziewięćdziesiąt ");
  52. $s = array("","sto ", "dwieście ", "trzysta ", "czterysta ", "pięćset ",
  53. "sześćset ", "siedemset ", "osiemset ", "dziewięćset ");
  54. $txt = $s[0+substr($l,0,1)];
  55. if (substr($l,1,2)<20) {
  56. $txt .= $j[0+substr($l,1,2)];
  57. }
  58. else {
  59. $txt .= $d[0+substr($l, 1,1)].$j[0+substr($l, 2,1)];
  60. }
  61. if ($l<>0) {
  62. if ($l==1) {
  63. $txt .= "$t1 ";
  64. } else {
  65. if ((substr($l,2,1)==2 or substr($l,2,1)==3 or substr($l,2,1)==4) and (substr($l,1,2)>20 or substr($l,1,2)<10)) {
  66. $txt .= "$t2 ";
  67. } else {
  68. $txt .= "$t3 ";
  69. }
  70. }
  71. }
  72. return $txt;
  73. }
  74. public static function slownie($liczba) {
  75. $txt = '';
  76. $kwota = explode(".", $liczba);
  77. if (strlen($kwota[1])==1) $kwota[1] = $kwota[1]."0";
  78. $kwotazl = sprintf("%012d",$kwota[0]);
  79. $kwotagr = sprintf("%03d",$kwota[1]);
  80. $txt .= self::policz(substr($kwotazl, 0,3),"miliard","miliardy","miliardów");
  81. $txt .= self::policz(substr($kwotazl, 3,3),"milion","miliony","milionów");
  82. $txt .= self::policz(substr($kwotazl, 6,3),"tysiąc","tysiące","tysięcy");
  83. $txt .= self::policz(substr($kwotazl, 9,3),"złoty","złote","złotych");
  84. if ($kwotazl==0) $txt .= "zero złotych ";
  85. $txt .= " i ";
  86. $txt .= self::policz($kwotagr,"grosz","grosze","groszy");
  87. if ($kwotagr==0) $txt .= "zero groszy";
  88. return $txt;
  89. }
  90. public static function formatuj_grosze($kwota) {
  91. $kwota = round($kwota, 2);
  92. $liczba = explode(".", $kwota);
  93. if (!$liczba[1]) {
  94. $liczba = explode(",", $kwota);
  95. if (!$liczba[1]) $liczba[1] = "00";
  96. }
  97. if (strlen($liczba[1]) == 1) $liczba[1] = $liczba[1] . "0";
  98. $liczba_out = $liczba[0] . "." . "$liczba[1]";
  99. return $liczba_out;
  100. }
  101. public static function billing_billwiev_przeterminowania($ID_BILLING_USERS_PARAM, $IF_PRINT_PARAM, $ECHO_PARAM) {
  102. global $vdb
  103. , $STOPA_ODSETEK // from billing-l1/www/config.php
  104. , $form_mail_sender // billing-l1/www/config.php:24:$form_mail_sender="/usr/bin/mutt";
  105. , $form_send_from_param // billing-l1/www/config.php:19:$form_send_from_param="biall-net@biall.net.pl";
  106. ;
  107. //NAGLOWKI DO HTML MAILA
  108. $naglowki = "From: ".$form_send_from_param."\r\n";
  109. $naglowki .= "MIME-Version: 1.0\r\n";
  110. $naglowki .= "Content-type: text/html; charset=iso-8859-1\r\n";
  111. //PODRECZNE_ZAPYTANIE_SLOWNIKOWE_DO_TYPOW_DOKUMENTOW
  112. $BNT = array();
  113. $bnt_types = Windykacja_StatsModel::get_billing_types();
  114. foreach ($bnt_types as $k_type_id => $h_type) {
  115. $BNT[$h_type['ID']] = $h_type['TYPE'];
  116. }
  117. echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">bnt_types: ';print_r($bnt_types);echo'</pre>';
  118. echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">BNT: ';print_r($BNT);echo'</pre>';
  119. if ($_GET['ID_BILLING_USERS_PARAM']) $ID_BILLING_USERS_PARAM = $_GET['ID_BILLING_USERS_PARAM'];
  120. if (!$IF_PRINT_PARAM && !$ECHO_PARAM) {
  121. echo'<p style="text-align:right">';
  122. echo"<a href=\"javascript:openWindow('/modules/make_billing/edit.php?op=zadluzenia&print=1&FIRMA=1&uid=$ID_BILLING_USERS_PARAM','print','scrollbars,resizable=yes,width=750,height=550')\">";
  123. echo"<img border=\"0\" src=\"$xpath/ico/kw.gif\" width=\"16\" height=\"16\" alt=\"Zadłużenia\">";
  124. echo"Druki wezwania do zaplaty";
  125. echo"</a>";
  126. echo'</p>';
  127. }
  128. $user_id = $ID_BILLING_USERS_PARAM;
  129. $billing_account_files = Windykacja_StatsModel::get_billing_account_files($user_id);
  130. echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">billing_account_files: ';print_r($billing_account_files);echo'</pre>';
  131. die('F.' . __FUNCTION__ . ' ...');
  132. $NAGLOWEK = "<table border=\"1\" width=\"100%\"><tr><td>Płatnik</td><td>WINIEN</td><td>MA</td><td>DOK</td><td>Numer</td><td>(T)ermin pł./(D)ata ksiegowania </td><td>Dni przeterminowania</td><td>Kwota przeterminowana</td><td>Odsetki</td></tr>";
  133. //while ($BAF = $vdb->sql_fetchrow($result)) {
  134. foreach ($billing_account_files as $BAF) {
  135. //RESETUJEMY FORM - jak nie chcemy pojedynczego odczytu:
  136. if (!$ID_BILLING_USERS_PARAM) unset($FORM);
  137. if (!$LAST_PLATNIK) $LAST_PLATNIK = $BAF[1];
  138. if (!$LPD) $LPD = $BAF;
  139. if (($BAF[0] <> $LAST_ID)) {// ID
  140. //DRUKUJEMY_STARE_PODSUMOWANIE (DLA_FAKTURY POJEDYNCZEJ)
  141. if ($LAST_ID) {
  142. $FORM_2.="<tr><td></td><td><b>".self::formatuj_grosze($LTOTAL[WINIEN])."</b></td><td><b>".self::formatuj_grosze($LTOTAL[MA])."</b></td><td colspan=\"3\"></td>";
  143. $FORM_S.= "<tr><td></td><td><b>".self::formatuj_grosze($LTOTAL[WINIEN])."</b></td><td><b>".self::formatuj_grosze($LTOTAL[MA])."</b></td><td colspan=\"3\"></td>";
  144. $LDNI = floor((date("U") - $DOC_TERM) / 86400) ;
  145. if(($LDNI>0) && ($DOC_TERM) && ($LTOTAL['WINIEN_MA'] == "WINIEN")) {
  146. $LODSETKI= self::formatuj_grosze($LTOTAL[$LTOTAL[WINIEN_MA]] * $STOPA_ODSETEK * $LDNI / 365);
  147. $POD_ODSETEK=$LTOTAL[$LTOTAL['WINIEN_MA']];
  148. $PLATNIK_DATA['PRZETER']['ODSETKI'] += $LODSETKI;
  149. $PLATNIK_DATA['PRZETER']['WINIEN'] += $LTOTAL[$LTOTAL['WINIEN_MA']];
  150. } else {
  151. unset($LODSETKI);
  152. unset($LDNI);
  153. unset($POD_ODSETEK);
  154. }
  155. $FORM_2.= "<td>$LDNI</td><td>$POD_ODSETEK</td>";
  156. $FORM_2.= "<td>$LODSETKI</td>";
  157. $FORM_S.= "<td>---</td><td>---</td><td>---</td>";
  158. // if(!$PLATNIK_DATA[TOTAL][WINIEN])
  159. $PLATNIK_DATA[TOTAL][WINIEN]+=self::formatuj_grosze($LTOTAL[WINIEN]) ;
  160. // if(!$PLATNIK_DATA[TOTAL][MA])
  161. $PLATNIK_DATA[TOTAL][MA]+=self::formatuj_grosze($LTOTAL[MA]) ;
  162. $FORM_2.= "</tr>";
  163. $FORM_2.= "<tr><td colspan=\"6\"><hr></td></tr>";
  164. $FORM_S.="</tr><tr><td colspan=\"6\"><hr></td></tr>";
  165. $TOTAL[WINIEN]+=$LTOTAL[WINIEN] ; $TOTAL[MA]+=$LTOTAL[MA] ;
  166. if ($LAST_PLATNIK <> $BAF[1]) {//PODSUMOWANIE_DLA_PLATNIKA
  167. $TOTAL[PRZETER]+=$PLATNIK_DATA[PRZETER][WINIEN];
  168. $TOTAL[ODSETKI]+=$PLATNIK_DATA[PRZETER][ODSETKI];
  169. $FORM_2.= "<tr><td colspan=\"9\">Podsumowanie salda niezbilansowanych zobowiązań dla platnika $LAST_PLATNIK
  170. $LPD[P_NAME] $LPD[P_NAME_SECOND] $LPD[P_ADDRESS_CITY] $LPD[P_ADDRESS_STREET] $LPD[P_ADDRESS_HOUSE] $LPD[P_ADDRESS_HOME]
  171. <br> WINIEN: <b>".$PLATNIK_DATA[TOTAL][WINIEN]."</b> - MA: <b>".$PLATNIK_DATA[TOTAL][MA]."</b> DO ZAPŁATY: <b>".self::formatuj_grosze($PLATNIK_DATA[TOTAL][WINIEN]-$PLATNIK_DATA[TOTAL][MA])."</b> " ;
  172. if($PLATNIK_DATA[PRZETER][WINIEN]) $FORM_2.=", z czego przeterminowane <font color=\"red\"><b> ".self::formatuj_grosze($PLATNIK_DATA[PRZETER][WINIEN])." </b></font> ";
  173. if($PLATNIK_DATA[PRZETER][ODSETKI]) $FORM_2.= " ( aktualnie nalezne odsetki to ".$PLATNIK_DATA[PRZETER][ODSETKI]." PLN , które mogą zostać naliczone ) " ;
  174. if($LPD[BA_TIMESTAMP]) $FORM_2.=" <br> Stan wzajemnych rozrachunków: WINIEN: <b>$LPD[BA_WINIEN]</b> - MA: <b>$LPD[BA_MA]</b> SALDO(DO ZAPŁATY): <b>".self::formatuj_grosze($LPD[BA_WINIEN]-$LPD[BA_MA])."</b> , i jest to stan na dzień ".date("Y-m-d",$LPD['BA_TIMESTAMP'])." ";
  175. $RETURN_ARR="";
  176. $FORM_S.="<tr><td colspan=\"9\"></td></tr></table>";
  177. $FORM_2.="<br>W razie problemów prosimy o kontakt z biurem obsługi. <br><font size=\"1\" color=\"#CCCCCC\">webone billing system &copy;2004 by Arkadiusz Binder & www.grafnet.pl | finance module by A.Binder </font>";
  178. $FORM_2.= " </tr></table>";
  179. $FORM_2 = "{$NAGLOWEK} \n {$FORM_2}";
  180. $FORM_S= "{$NAGLOWEK} \n {$FORM_S}";
  181. if ($IF_PRINT_PARAM) {
  182. $delivery_subject="Stan rozrachunków dla {$LPD[P_NAME]} {$LPD[P_NAME_SECOND]}" ;
  183. $sql2="insert into HIST_CONTACTS (ID_BILLING_USERS,ID_BILLING_NUMBERS,SUBJECT,BODY_HTML,REQUEST_STATUS_MAIL) values
  184. ('".$LAST_PLATNIK."','','{$delivery_subject}','{$FORM_2}','CONFIRM_SENT_MAIL') ";
  185. $res = $vdb->sql_query($sql2) ;
  186. echo "<hr> $sql2 <hr>****";
  187. } else if (!$ECHO_PARAM) {
  188. echo $FORM_2;
  189. }
  190. $LAST_PLATNIK=$BAF[1];
  191. unset($PLATNIK_DATA);
  192. $FORM.=$FORM_2 ;
  193. unset($FORM_2);
  194. $FORM_SS.=$FORM_S ;
  195. unset($FORM_S);
  196. } else {
  197. }
  198. //$PLATNIK_DATA[TOTAL][WINIEN]+=$BAF[2];
  199. //$PLATNIK_DATA[TOTAL][MA]+=$BAF[3];
  200. $LPD = $BAF;
  201. $LAST_PLATNIK = $BAF[1];
  202. }
  203. else {
  204. }
  205. //DODAJEMY_NOWY_REKORD_OD_SAMEJ_PLATNOSCI
  206. unset($LTOTAL);
  207. $FORM_2.= "<tr><td>$BAF[1]</td><td>$BAF[2]</td><td>$BAF[3]</td><td>".$BNT[$BAF[4]]."</td><td>$BAF[5]/$BAF[6]</td> <td colspan=\"1\">";
  208. if ($BAF[19]) $FORM_2.="T: ".date("Y-m-d",$BAF[19])." "; else $FORM_2.="D: ".date("Y-m-d",$BAF['BAF_TIMESTAMP'])." ";
  209. $FORM_2.="</td></tr>";
  210. $FORM_S.= "<tr><td>$BAF[1]</td><td>$BAF[2]</td><td>$BAF[3]</td><td>".$BNT[$BAF[4]]."</td><td>$BAF[5]/$BAF[6]</td> <td colspan=\"1\">";
  211. if($BAF[19])$FORM_S.="T: ".date("Y-m-d",$BAF[19])." "; else $FORM_2.="D: ".date("Y-m-d",$BAF['BAF_TIMESTAMP'])." ";
  212. $FORM_S.="</td></tr>";
  213. $DOC_TERM = $BAF[19];
  214. if ($BAF[2] > 0) $LTOTAL['WINIEN_MA'] = "WINIEN"; else $LTOTAL['WINIEN_MA'] = "MA";
  215. $LTOTAL[$LTOTAL['WINIEN_MA']] = $BAF[2] + $BAF[3];
  216. } else {
  217. //DRUKUJEMY_PODSTUMOWANIE_STAREGO i ZAPODAJEMY NOWY_REKORD
  218. }
  219. if ($BAF[12]) {// ID_FIN_WINIEN_VAL
  220. $FORM_2.= "<tr><td colspan=\"1\"></td>";
  221. $FORM_S.= "<tr><td colspan=\"1\"></td>";
  222. if($LTOTAL['WINIEN_MA']=="MA") {
  223. $FORM_2.= "<td><font color=\"green\"><b> $BAF[12] </b> </font></td>";
  224. $FORM_2.= "<td></td>";
  225. $FORM_S.="<td><font color=\"green\"><b> $BAF[12] </b> </font></td><td></td>";
  226. } else {
  227. $FORM_2.= "<td></td>";
  228. $FORM_2.= "<td><font color=\"green\"><b> $BAF[12] </b> </font></td>";
  229. $FORM_S.="<td></td><td><font color=\"green\"><b> $BAF[12] </b> </font></td>";
  230. }
  231. $FORM_2.= "<td>".$BNT[$BAF[8]]."</td>";
  232. $FORM_2.= "<td> $BAF[9]/$BAF[10] </td><td>D: ".date("Y-m-d",$BAF[11])."</td> ";
  233. $FORM_S.= "<td>".$BNT[$BAF[8]]."</td>";
  234. $FORM_S.= "<td> $BAF[9]/$BAF[10] </td><td>D: ".date("Y-m-d",$BAF[11])."</td> ";
  235. $LDNI = floor(($BAF[11] - $DOC_TERM) / 86400);
  236. if (($LDNI > 0) && ($DOC_TERM) && ($LTOTAL['WINIEN_MA'] == "WINIEN")) {
  237. $DOC_TERM = $BAF[11];
  238. $LODSETKI = self::formatuj_grosze($LTOTAL[$LTOTAL['WINIEN_MA']] * $STOPA_ODSETEK * $LDNI / 365);
  239. $POD_ODSETEK = $LTOTAL[$LTOTAL['WINIEN_MA']];
  240. $PLATNIK_DATA['PRZETER']['ODSETKI'] += $LODSETKI;
  241. } else {
  242. unset($LODSETKI);
  243. unset($LDNI);
  244. unset($POD_ODSETEK);
  245. }
  246. $FORM_2.= "<td>$LDNI</td><td>$POD_ODSETEK</td>";
  247. $FORM_2.= "<td>$LODSETKI</td>";
  248. $FORM_2.= "</tr>";
  249. $FORM_S.="<td>---</td><td>---</td><td>---</td></tr>";
  250. $LTOTAL[$LTOTAL['WINIEN_MA']] -= $BAF[12];
  251. }
  252. if ($BAF[18]) {// ID_FIN_MA_VAL
  253. $FORM_2.= "<tr><td colspan=\"1\"></td>";
  254. $FORM_S.= "<tr><td colspan=\"1\"></td>";
  255. if ($LTOTAL['WINIEN_MA'] == "MA") {
  256. $FORM_2.= "<td><font color=\"red\"><b> $BAF[18] </b> </font></td>";
  257. $FORM_2.= "<td></td>";
  258. $FORM_S.= "<td><font color=\"red\"><b> $BAF[18] </b> </font></td><td></td>";
  259. } else {
  260. $FORM_2.= "<td></td>";
  261. $FORM_2.= "<td><font color=\"red\"><b> $BAF[18] </b> </font></td>";
  262. $FORM_S.="<td></td><td><font color=\"red\"><b> $BAF[18] </b> </font></td>";
  263. }
  264. $FORM_2.= "<td>".$BNT[$BAF[14]]."</td>";
  265. $FORM_2.= "<td> $BAF[15]/$BAF[16] </td> <td>D: ".date("Y-m-d",$BAF[17])."</td> ";
  266. $FORM_S.="<td>".$BNT[$BAF[14]]."</td> <td> $BAF[15]/$BAF[16] </td> <td>D: ".date("Y-m-d",$BAF[17])."</td> ";
  267. $LDNI=floor(($BAF[17] - $DOC_TERM) / 86400) ;
  268. // $LDNI=10;
  269. if (($LDNI > 0) && ($DOC_TERM) && ($LTOTAL['WINIEN_MA'] == "WINIEN")) {
  270. $LODSETKI = self::formatuj_grosze($LTOTAL[$LTOTAL[WINIEN_MA]] * $STOPA_ODSETEK * $LDNI / 365);
  271. $POD_ODSETEK = $LTOTAL[$LTOTAL['WINIEN_MA']];
  272. $PLATNIK_DATA['PRZETER']['ODSETKI'] += $LODSETKI;
  273. } else {
  274. unset($LODSETKI);
  275. unset($LDNI);
  276. unset($POD_ODSETEK);
  277. }
  278. $FORM_2.= "<td>$LDNI</td><td>$POD_ODSETEK</td>";
  279. $FORM_S.= "<td>$LDNI</td><td>$POD_ODSETEK</td>";
  280. $FORM_2.= "<td>$LODSETKI</td>";
  281. $FORM_S.= "<td>$LODSETKI</td>";
  282. $FORM_2.= "</tr>";
  283. $FORM_S.= "</tr>";
  284. $LTOTAL[$LTOTAL['WINIEN_MA']]-=$BAF[18] ;
  285. }
  286. $LAST_ID = $BAF[0];
  287. $L_BAF = $BAF;
  288. }//eof SQL while($BAF=$vdb->sql_fetchrow($result)) {
  289. //DODANIE_ZESTAWIENIA KOPIA_Z_GORY
  290. //DRUKUJEMY_STARE_PODSUMOWANIE (DLA_FAKTURY POJEDYNCZEJ)
  291. if ($LAST_ID) {
  292. $FORM_2.="<tr><td></td><td><b>".self::formatuj_grosze($LTOTAL['WINIEN'])."</b></td><td><b>".self::formatuj_grosze($LTOTAL['MA'])."</b></td><td colspan=\"3\"></td>";
  293. $FORM_S.="<tr><td></td><td><b>".self::formatuj_grosze($LTOTAL['WINIEN'])."</b></td><td><b>".self::formatuj_grosze($LTOTAL['MA'])."</b></td><td colspan=\"3\"></td>";
  294. $LDNI = round((date("U") - $DOC_TERM) / 86400, 0);
  295. if (($LDNI > 0) && ($DOC_TERM)) {
  296. $LODSETKI = self::formatuj_grosze($LTOTAL[$LTOTAL['WINIEN_MA']] * $STOPA_ODSETEK * $LDNI / 365);
  297. $POD_ODSETEK = $LTOTAL[$LTOTAL['WINIEN_MA']];
  298. $PLATNIK_DATA['PRZETER']['ODSETKI'] += $LODSETKI ;
  299. $PLATNIK_DATA['PRZETER']['WINIEN'] += $LTOTAL[$LTOTAL['WINIEN_MA']];
  300. } else {
  301. unset($LODSETKI);
  302. unset($LDNI);
  303. unset($POD_ODSETEK);
  304. }
  305. $FORM_2.= "<td>$LDNI</td><td>".self::formatuj_grosze($POD_ODSETEK)."</td>";
  306. $FORM_2.= "<td>$LODSETKI</td>";
  307. $FORM_S.="<td>---</td><td>---</td><td>---</td>";
  308. // if(!$PLATNIK_DATA[TOTAL]['WINIEN'])
  309. $PLATNIK_DATA['TOTAL']['WINIEN']+=self::formatuj_grosze($LTOTAL['WINIEN']) ;
  310. // if(!$PLATNIK_DATA[TOTAL][MA])
  311. $PLATNIK_DATA['TOTAL']['MA']+=self::formatuj_grosze($LTOTAL['MA']) ;
  312. $FORM_2.= "</tr>";
  313. $FORM_2.= "<tr><td colspan=\"6\"><hr></td></tr>";
  314. $FORM_S.="</tr><tr><td colspan=\"6\"><hr></td></tr>";
  315. $TOTAL['WINIEN']+=$LTOTAL['WINIEN'] ; $TOTAL['MA']+=$LTOTAL['MA'] ;
  316. if ($LAST_PLATNIK <> $BAF[1]) {//PODSUMOWANIE_DLA_PLATNIKA
  317. $TOTAL['PRZETER'] += $PLATNIK_DATA['PRZETER']['WINIEN'];
  318. $TOTAL['ODSETKI'] += $PLATNIK_DATA['PRZETER']['ODSETKI'];
  319. if (!$LPD) $LPD = $L_BAF ;
  320. $FORM_2.= "<tr><td colspan=\"9\">Podsumowanie salda niezbilansowanych zobowiązań dla platnika $LAST_PLATNIK
  321. $LPD[P_NAME] $LPD[P_NAME_SECOND] $LPD[P_ADDRESS_CITY] $LPD[P_ADDRESS_STREET] $LPD[P_ADDRESS_HOUSE] $LPD[P_ADDRESS_HOME]
  322. <br> WINIEN: <b>".$PLATNIK_DATA['TOTAL']['WINIEN']."</b> - MA: <b>".$PLATNIK_DATA['TOTAL']['MA']."</b>
  323. DO ZAPŁATY: <b>".self::formatuj_grosze($PLATNIK_DATA['TOTAL']['WINIEN']-$PLATNIK_DATA['TOTAL']['MA'])."</b> " ;
  324. if ($PLATNIK_DATA['PRZETER']['WINIEN']) $FORM_2.=", z czego przeterminowane <font color=\"red\"><b> ".self::formatuj_grosze($PLATNIK_DATA['PRZETER']['WINIEN'])." </b></font> ";
  325. if ($PLATNIK_DATA['PRZETER']['ODSETKI']) $FORM_2.= " ( aktualnie nalezne odsetki to ".$PLATNIK_DATA['PRZETER']['ODSETKI']." PLN , które mogą zostać naliczone ) " ;
  326. if ($LPD['BA_TIMESTAMP']) $FORM_2.=" <br> Stan wzajemnych rozrachunków: WINIEN: <b>".$LPD['BA_WINIEN']."</b> - MA: <b>".$LPD['BA_MA']."</b> SALDO(DO ZAPŁATY): <b>".self::formatuj_grosze($LPD['BA_WINIEN']-$LPD['BA_MA'])."</b> , i jest to stan na dzień ".date("Y-m-d",$LPD['BA_TIMESTAMP'])." ";
  327. $RETURN_ARR="";
  328. $FORM_S.="<tr><td colspan=\"9\"></td></tr></table>";
  329. $FORM_2.="<br>W razie problemów prosimy o kontakt z biurem obsługi. <br><font size=\"1\" color=\"#CCCCCC\">webone billing system &copy;2004 by Arkadiusz Binder & www.grafnet.pl | finance module by A.Binder </font>";
  330. $FORM_2.= " </tr></table>";
  331. $FORM_2 = "{$NAGLOWEK} \n {$FORM_2}";
  332. $FORM_S = "{$NAGLOWEK}{$FORM_S}";
  333. //DRUKOWANIE ZESTAWIENIA
  334. if ($IF_PRINT_PARAM) {
  335. $delivery_subject="Stan rozrachunków dla {$LPD['P_NAME']} {$LPD['P_NAME_SECOND']}" ;
  336. // exec("echo \"Pliki zostały dołączone do załącznika\" | $form_mail_sender -n -a \"$filename\" $delivery_mail -s ".$delivery_subject."" );
  337. $sql2="insert into HIST_CONTACTS (ID_BILLING_USERS,ID_BILLING_NUMBERS,SUBJECT,BODY_HTML,REQUEST_STATUS_MAIL) values
  338. ('".$LAST_PLATNIK."','','{$delivery_subject}','{$FORM_2}','CONFIRM_SENT_MAIL') ";
  339. $res = $vdb->sql_query($sql2);
  340. echo "<hr> {$sql2} <hr>***";
  341. } else if (!$ECHO_PARAM) {
  342. echo $FORM_2;
  343. }
  344. //EOF DRUKOWANIE ZESTAWIENIA itp
  345. $LAST_PLATNIK = $BAF[1];
  346. $ECHO_DATA=$PLATNIK_DATA;
  347. unset($PLATNIK_DATA);
  348. $FORM .= "{$FORM_2}</table>";
  349. $FORM_SS .= "{$FORM_S}</table>";
  350. unset($FORM_2);
  351. unset($FORM_S);
  352. }
  353. }
  354. $FORM_2.= $NAGLOWEK;
  355. $FORM_2.= "<tr><td>TOT</td><td><b>{$TOTAL['WINIEN']}</b></td><td><b>{$TOTAL['MA']}</b></td><td colspan=\"4\"></td>
  356. <td><b>{$TOTAL['PRZETER']}</b></td><td><b>{$TOTAL['ODSETKI']}</b></td></tr>";
  357. $FORM_2 .= "</table>";
  358. if (!$ECHO_PARAM) echo "{$FORM_2}";
  359. $FORM_S.= "</table> ";
  360. if ($ECHO_PARAM == "zadluzenie") return self::formatuj_grosze($ECHO_DATA['PRZETER']['WINIEN']);
  361. if ($ECHO_PARAM == "saldo") return self::formatuj_grosze($LPD['BA_WINIEN']-$LPD['BA_MA']);
  362. if ($ECHO_PARAM == "zadluzenie_lista") return $FORM;
  363. if ($ECHO_PARAM == "saldo_rok") {
  364. $L_BAF['FORM'] = $FORM;
  365. $L_BAF['FORM_SALDO'] = $FORM_SS;
  366. return $L_BAF;
  367. }
  368. }
  369. }