PageRenderTime 53ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/sysfo/mhswkeu_x.php

https://bitbucket.org/justmyfreak/sisfokampus
PHP | 525 lines | 510 code | 5 blank | 10 comment | 142 complexity | cb99b1c5cddd248cb45cf7cb37eb4827 MD5 | raw file
  1. <?php
  2. // Author: E. Setio Dewo, setio_dewo@telkom.net, Juli 2003
  3. // *** FUNGSI2 ***
  4. function DispKeuMhsw($nim) {
  5. global $strCantQuery, $fmtErrorMsg;
  6. $s = "select k.*, st.Nama as STAT, st.Nilai
  7. from khs k left outer join statusmhsw st on k.Status=st.Kode
  8. where k.NIM='$nim' order by k.Tahun ";
  9. $r = mysql_query($s) or die("$strCantQuery: $s");
  10. echo "<table class=basic cellspacing=0 cellpadding=2>
  11. <tr><th class=ttl>Sesi</th><th class=ttl>Tahun</th><th class=ttl>Status</th>
  12. <th class=ttl>SKS</th><th class=ttl>IPS</th>
  13. <th class=ttl>Kode Biaya</th>
  14. <th class=ttl>Biaya</th><th class=ttl>Bayar</th></tr>";
  15. while ($row = mysql_fetch_array($r)) {
  16. if ($row['Nilai'] == 0) $cls = 'class=nac'; else $cls = 'class=lst';
  17. if ($row['SKS'] == 0) $ips = 0; else $ips = $row['Bobot'] / $row['SKS'];
  18. $bia = number_format($row['Biaya'], 2, ',', '.');
  19. $byr = number_format($row['Bayar'], 2, ',', '.');
  20. if ($row['Biaya'] > $row['Bayar']) $lns = 'class=wrn'; else $lns = $cls;
  21. echo "<tr><td $cls>$row[Sesi]</td>
  22. <td $cls>$row[Tahun]</td>
  23. <td $cls>$row[STAT]</td>
  24. <td $cls align=right>$row[SKS]</td>
  25. <td $cls align=right>$ips</td>
  26. <td $cls align=right>$row[KodeBiaya]</td>
  27. <td $cls align=right>$bia</td>
  28. <td $lns align=right>$byr</td>
  29. <td class=lst><a href='sysfo.php?syxec=mhswkeu&md=1&md1=0&thn=$row[Tahun]&nim=$nim'>edit</td>
  30. </tr> ";
  31. }
  32. echo "</table><br>";
  33. }
  34. function DaftarBiayaMhsw($nim, $thn) {
  35. global $strCantQuery, $fmtErrorMsg;
  36. $s = "select * from biayamhsw where Tahun='$thn' and NIM='$nim' order by NamaBiaya";
  37. $r = mysql_query($s) or die ("$strCantQuery: $s");
  38. if (strpos('12', $_SESSION['ulevel'])===false) $t = '';
  39. else $t = "<a href='sysfo.php?syxec=mhswkeu&nim=$nim&thn=$thn&md=0&md1=0&prcoto=1' class=lst>Proses Biaya</a> |
  40. <a href='sysfo.php?syxec=mhswkeu&nim=$nim&thn=$thn&md=0&md1=0&md2=1' class=lst>Tambah Biaya</a>";
  41. $t = $t . "<table class=basic cellspacing=0 cellpadding=2>
  42. <tr><th class=ttl>Biaya</th><th class=ttl>Jumlah</th><th class=ttl>Bayar</th>
  43. <th class=basic></th></tr>";
  44. while ($row = mysql_fetch_array($r)) {
  45. if (($row['Jumlah'] * $row['Biaya']) > $row['Bayar']) $lns = 'class=wrn'; else $lns = 'class=lst';
  46. $jml = number_format($row['Jumlah']*$row['Biaya'], 2, ',', '.');
  47. $byr = number_format($row['Bayar'], 2, ',', '.');
  48. if (strpos('12', $_SESSION['ulevel'])===false) $edt = '';
  49. else $edt = "<a href='sysfo.php?syxec=mhswkeu&md=0&md1=0&md2=0&biaid=$row[ID]&nim=$nim&thn=$thn'>edt</a>";
  50. $t = $t. <<<EOF
  51. <tr><td class=lst>$row[NamaBiaya]</td>
  52. <td class=lst align=right>$jml</td><td $lns align=right>$byr</td>
  53. <td class=lst>$edt</td>
  54. </tr>
  55. EOF;
  56. }
  57. return $t . "</table>";
  58. }
  59. function DaftarBayarMhsw($nim, $thn) {
  60. global $strCantQuery;
  61. if (strpos('12', $_SESSION['ulevel'])===false) $mn = '';
  62. else $mn = "<a href='sysfo.php?syxec=mhswkeu&nim=$nim&thn=$thn&md=0&md1=0&md3=1' class=lst>Tambah Pembayaran</a> |
  63. <a href='sysfo.php?syxec=mhswkeu&nim=$nim&thn=$thn&md=0&md1=0&prcjml=1' class=lst>Hitung Ulang</a>";
  64. $s = "select b.*, date_format(Tanggal,'%d-%m-%Y') as tgl, jb.Nama as JENBI
  65. from bayar b left outer join jenistrx jb on b.JenisTrx=jb.ID
  66. where b.Tahun='$thn' and b.NIM='$nim' order by b.Tanggal";
  67. $r = mysql_query($s) or die("$strCantQuery: $s<br>".mysql_error());
  68. $dt = "<table class=basic cellspacing=0 cellpadding=1>
  69. <tr><th class=ttl>Trx #</th>
  70. <th class=ttl>Tanggal</th><th class=ttl>Jenis Trx.</th>
  71. <th class=ttl>Pembayaran</th>
  72. </tr>";
  73. $cls = 'class=lst';
  74. while ($row = mysql_fetch_array($r)) {
  75. $jml = number_format($row['Kali'] * $row['Jumlah'], 2, ',', '.');
  76. $ctt = StripEmpty($row['Catatan']);
  77. if (strpos('123', $_SESSION['ulevel']) === false) $strid = $row['ID'];
  78. else $strid = "<a href='sysfo.php?syxec=mhswkeu&nim=$nim&thn=$thn&byrid=$row[ID]&md=0&md1=0&md3=0'>$row[ID]</a>";
  79. $dt = $dt . <<<EOF
  80. <tr><td $cls rowspan=2>$strid</td>
  81. <td $cls>$row[tgl]</td>
  82. <td $cls>$row[JENBI]</td>
  83. <td $cls>$row[NamaBayar]</td></tr>
  84. <tr><td class=ttl>$jml</td>
  85. <td class=lst colspan=3>$ctt</td></tr>
  86. <tr><td colspan=4 class=basic>&nbsp;</td></tr>
  87. EOF;
  88. }
  89. $dt = $dt . "</table>";
  90. return $mn . $dt;
  91. }
  92. function EditBiayaMhsw($nim, $thn, $md2, $biaid) {
  93. global $strCantQuery;
  94. $KodeBiaya = GetaField('khs', "Tahun='$thn' and NIM", $nim, 'KodeBiaya');
  95. $IDBiaya2 = 0;
  96. $NamaBiaya = '';
  97. $Jumlah = 1;
  98. $Biaya = 0;
  99. $na = '';
  100. $ctt = '';
  101. $jdl = 'Tambah Biaya Mahasiswa';
  102. if ($md2==0) {
  103. $r = mysql_query("select * from biayamhsw where ID=$biaid") or die("$strCantQuery: EditBiayaMhsw");
  104. $KodeBiaya = mysql_result($r, 0, 'KodeBiaya');
  105. $IDBiaya2 = mysql_result($r, 0, 'IDBiaya2');
  106. $NamaBiaya = mysql_result($r, 0, 'NamaBiaya');
  107. $Jumlah = mysql_result($r, 0, 'Jumlah');
  108. $Biaya = mysql_result($r, 0, 'Biaya');
  109. if (mysql_result($r, 0, 'NotActive') == 'Y') $na = 'checked'; else $na = '';
  110. $ctt = mysql_result($r, 0, 'Catatan');
  111. $jdl = 'Edit Biaya Mahasiswa';
  112. }
  113. $optman = GetOption2('biaya2', 'Nama', 'Nama', $IDBiaya2, '', 'ID');
  114. if ($md2 == 0) {
  115. $dt = <<<EOF
  116. <tr><td class=lst>Nama Biaya</td><td class=lst><input type=text name='NamaBiaya' value='$NamaBiaya' size=35 maxlength=100></td></tr>
  117. EOF;
  118. }
  119. else {
  120. $dt = <<<EOF
  121. <tr><th class=ttl colspan=2 align=left><input type=radio name='dari' value='0' checked>Dari Master Biaya</th></tr>
  122. <tr><td class=lst>Jenis Biaya</td><td class=lst><select name='IDBiaya2'>$optman</select></td></tr>
  123. <tr><th class=ttl colspan=2 align=left><input type=radio name='dari' value='1'>Manual</th></tr>
  124. <tr><td class=lst>Nama Biaya</td><td class=lst><input type=text name='NamaBiaya' value='$NamaBiaya' size=35 maxlength=100></td></tr>
  125. <tr><th class=ttl colspan=2>Jumlah</th></tr>
  126. EOF;
  127. }
  128. $hd = <<<EOF
  129. <table class=basic cellspacing=0 cellpadding=2>
  130. <form action='sysfo.php' method=GET>
  131. <input type=hidden name='syxec' value='mhswkeu'>
  132. <input type=hidden name='md' value=0>
  133. <input type=hidden name='md1' value=0>
  134. <input type=hidden name='md2' value=$md2>
  135. <input type=hidden name='nim' value='$nim'>
  136. <input type=hidden name='thn' value='$thn'>
  137. <input type=hidden name='biaid' value=$biaid>
  138. <input type=hidden name='KodeBiaya' value='$KodeBiaya'>
  139. <tr><th class=ttl colspan=2>$jdl</th></tr>
  140. EOF;
  141. $sid = session_id();
  142. $ft = <<<EOF
  143. <tr><td class=lst>Jumlah</td><td class=lst><input type=text name='Jumlah' value='$Jumlah' size=3 maxlength=3></td></tr>
  144. <tr><td class=lst>Biaya</td><td class=lst><input type=text name='Biaya' value='$Biaya' size=15 maxlength=11></td></tr>
  145. <tr><td class=lst colspan=2>Catatan:<br>
  146. <textarea name='ctt' cols=35 rows=3>$ctt</textarea></td></tr>
  147. <tr><td class=lst colspan=2><input type=submit name='prcbiaya' value='Simpan'>&nbsp;
  148. <input type=reset name='reset' value='Reset'>&nbsp;
  149. <input type=button name='batal' value='Batal' onClick="location='sysfo.php?syxec=mhswkeu&nim=$nim&thn=$thn&md=0&md1=0&PHPSESSID=$sid'"></td></tr>
  150. </form></table>
  151. EOF;
  152. return $hd . $dt . $ft;
  153. }
  154. function HitungTotalBiaya($thn, $nim) {
  155. global $strCantQuery;
  156. $st = "select sum(Jumlah*Biaya) as BIA from biayamhsw where Tahun='$thn' and NIM='$nim'";
  157. $rt = mysql_query($st) or die("$strCantQuery: $st<br>".mysql_error());
  158. if (mysql_num_rows($rt) > 0) {
  159. $_bia = mysql_result($rt, 0, 'BIA');
  160. mysql_query("update khs set Biaya=$_bia where Tahun='$thn' and NIM='$nim'");
  161. }
  162. }
  163. function HitungTotalBayar($thn, $nim) {
  164. global $strCantQuery;
  165. $st = "select sum(Kali*Jumlah) as BYR from bayar where Tahun='$thn' and NIM='$nim'";
  166. $rt = mysql_query($st) or die("$strCantQuery: $st<br>".mysql_error());
  167. if (mysql_num_rows($rt) > 0) {
  168. $_byr = mysql_result($rt, 0, 'BYR');
  169. mysql_query("update khs set Bayar=$_byr where Tahun='$thn' and NIM='$nim'");
  170. }
  171. }
  172. function PrcBiaya() {
  173. global $strCantQuery;
  174. $md2 = $_REQUEST['md2'];
  175. $KodeBiaya = $_REQUEST['KodeBiaya'];
  176. $nim = $_REQUEST['nim'];
  177. $thn = $_REQUEST['thn'];
  178. $biaid = $_REQUEST['biaid'];
  179. $Jumlah = $_REQUEST['Jumlah'];
  180. $Biaya = $_REQUEST['Biaya'];
  181. $NamaBiaya = FixQuotes($_REQUEST['NamaBiaya']);
  182. $ctt = FixQuotes($_REQUEST['ctt']);
  183. if ($md2 == 0) {
  184. $s = "Update biayamhsw set NamaBiaya='$NamaBiaya', Jumlah='$Jumlah', Biaya='$Biaya', Catatan='$ctt' where ID='$biaid'";
  185. $r = mysql_query($s) or die ("$strCantQuery: $s");
  186. }
  187. else {
  188. $dari = $_REQUEST['dari'];
  189. $IDBiaya2 = $_REQUEST['IDBiaya2'];
  190. $unip = $_SESSION['unip'];
  191. if ($dari == 0) $NamaBiaya = GetaField('biaya2', 'ID', $IDBiaya2, 'Nama');
  192. else $IDBiaya2 = 0;
  193. $s = "insert into biayamhsw (Tanggal, Tahun, KodeBiaya, IDBiaya2, NamaBiaya,
  194. NIM,Jumlah,Biaya,Catatan,Login) values (now(), '$thn', '$KodeBiaya', '$IDBiaya2', '$NamaBiaya',
  195. '$nim', '$Jumlah', '$Biaya','$ctt','$unip') ";
  196. $r = mysql_query($s) or die("$strCantQuery: $s");
  197. }
  198. HitungTotalBiaya($thn, $nim);
  199. return -1;
  200. }
  201. function EditBayarMhsw($nim, $thn, $md3, $byrid) {
  202. global $strCantQuery, $fmtErrorMsg, $kdj;
  203. if ($md3 == 0) {
  204. $s = "select * from bayar where ID=$byrid";
  205. $r = mysql_query($s) or die("$strCantQuery: $s");
  206. $KodeBiaya = mysql_result($r, 0, 'KodeBiaya');
  207. $NamaBayar = mysql_result($r, 0, 'NamaBayar');
  208. $JenisTrx = mysql_result($r, 0, 'JenisTrx');
  209. $Jumlah = mysql_result($r, 0, 'Jumlah');
  210. if (mysql_result($r, 0, 'Denda') == 'Y') $Denda = 'checked'; else $Denda = '';
  211. $HariDenda = mysql_result($r, 0, 'HariDenda');
  212. $HariBebas = mysql_result($r, 0, 'HariBebas');
  213. $HargaDenda = mysql_result($r, 0, 'HargaDenda');
  214. $Catatan = mysql_result($r, 0, 'Catatan');
  215. $jdl = 'Edit Pembayaran';
  216. $strnote = '<font color=red>*) </font>';
  217. $strfoot = "<font color=red class=ttl>*) </font>: Tidak dapat diubah.";
  218. }
  219. else {
  220. $byrid = 0;
  221. $arrkhs = GetFields('khs', "Tahun='$thn' and NIM", $nim, 'KodeBiaya,Biaya,Bayar');
  222. $KodeBiaya = $arrkhs['KodeBiaya'];
  223. $NamaBayar = '';
  224. $JenisTrx = '';
  225. $Jumlah = $arrkhs['Biaya'] - $arrkhs['Bayar'];
  226. $tlt = KenaDenda($thn, $kdj);
  227. if ($tlt > 0) {
  228. $Denda = 'checked';
  229. $HariDenda = $tlt;
  230. $HargaDenda = GetaField('bataskrs', "Tahun='$thn' and KodeJurusan", $kdj, 'HargaDenda');
  231. }
  232. else {
  233. $Denda = '';
  234. $HariDenda = 0;
  235. $HargaDenda = 0;
  236. }
  237. $HariBebas = 0;
  238. $Catatan = '';
  239. $jdl = 'Tambah Pembayaran';
  240. $strnote = '';
  241. $strfoot = '';
  242. }
  243. $optjnstrx = GetOption2('jenistrx', "concat(Nama, ' (x ', Kali, ')')", 'Nama', $JenisTrx, '', 'ID');
  244. $sid = session_id();
  245. return <<<EOF
  246. <table class=basic cellspacing=0 cellpadding=2>
  247. <form action='sysfo.php' method=GET>
  248. <input type=hidden name='syxec' value='mhswkeu'>
  249. <input type=hidden name='md' value=0>
  250. <input type=hidden name='md1' value=0>
  251. <input type=hidden name='md2' value=-1>
  252. <input type=hidden name='md3' value=$md3>
  253. <input type=hidden name='nim' value='$nim'>
  254. <input type=hidden name='thn' value='$thn'>
  255. <input type=hidden name='byrid' value=$byrid>
  256. <input type=hidden name='KodeBiaya' value='$KodeBiaya'>
  257. <tr><th class=ttl colspan=2>$jdl</th></tr>
  258. <tr><td class=lst>Jenis Transaksi</td><td class=lst><select name='JenisTrx'>$optjnstrx</select></td></tr>
  259. <tr><td class=lst>Nama Pembayaran</td><td class=lst><input type=text name='NamaBayar' value='$NamaBayar' size=30 maxlength=50> $strnote</td></tr>
  260. <tr><td class=lst>Jumlah</td><td class=lst><input type=text name='Jumlah' value='$Jumlah' size=12 maxlength=11> $strnote</td></tr>
  261. <tr><th class=ttl colspan=2>Denda</th></tr>
  262. <tr><td class=lst>Kena Denda</td><td class=lst><input type=checkbox name='Denda' value='Y' $Denda> $strnote</td></tr>
  263. <tr><td class=lst>Keterlambatan</td><td class=lst><input type=text name='HariDenda' value='$HariDenda' size=5 maxlength=3> hari. $strnote</td></tr>
  264. <tr><td class=lst>Hari bebas/libur</td><td class=lst><input type=text name='HariBebas' value='$HariBebas' size=5 maxlength=3> hari. $strnote</td></tr>
  265. <tr><td class=lst>Denda</td><td class=lst><input type=text name='HargaDenda' value='$HargaDenda' size=12 maxlength=11> rupiah/hari. $strnote</td></tr>
  266. <tr><td class=lst colspan=2>Catatan:<br><textarea name='Catatan' cols=30 rows=3>$Catatan</textarea></td></tr>
  267. <tr><td class=lst colspan=2><input type=submit name='prcbayar' value='Simpan'>&nbsp;
  268. <input type=reset name='reset' value='Reset'>&nbsp;
  269. <input type=button name='batal' value='Batal' onClick="location='sysfo.php?syxec=mhswkeu&md=0&md1=0&nim=$nim&thn=$thn&PHPSESSID=$sid'"></td></tr>
  270. </form></table>$strfoot
  271. EOF;
  272. }
  273. function PrcBayar() {
  274. global $strCantQuery;
  275. $md3 = $_REQUEST['md3'];
  276. $nim = $_REQUEST['nim'];
  277. $thn = $_REQUEST['thn'];
  278. $byrid = $_REQUEST['byrid'];
  279. $KodeBiaya = $_REQUEST['KodeBiaya'];
  280. $JenisTrx = $_REQUEST['JenisTrx'];
  281. $NamaBayar = FixQuotes($_REQUEST['NamaBayar']);
  282. $Jumlah = $_REQUEST['Jumlah'];
  283. if (isset($_REQUEST['Denda'])) {
  284. $Denda = $_REQUEST['Denda'];
  285. $HariDenda = $_REQUEST['HariDenda'];
  286. $HariBebas = $_REQUEST['HariBebas'];
  287. $HargaDenda = $_REQUEST['HargaDenda'];
  288. }
  289. else {
  290. $Denda = 'N';
  291. $HariDenda = 0;
  292. $HariBebas = 0;
  293. $HargaDenda = 0;
  294. }
  295. $Catatan = FixQuotes($_REQUEST['Catatan']);
  296. $kali = GetaField('jenistrx', 'ID', $JenisTrx, 'Kali');
  297. if ($md3 == 0) {
  298. $s = "update bayar set JenisTrx=$JenisTrx, Kali=$kali, Catatan='$Catatan'
  299. where ID=$byrid";
  300. $r = mysql_query($s) or die("$strCantQuery: $s");
  301. }
  302. else {
  303. $unip = $_SESSION['unip'];
  304. $s = "insert into bayar(Tanggal, Tahun, KodeBiaya, NIM, NamaBayar, JenisTrx, Kali,
  305. Jumlah, Denda, HariDenda, HariBebas, HargaDenda, Catatan, Login) values
  306. (now(), '$thn', '$KodeBiaya', '$nim', '$NamaBayar', '$JenisTrx', '$kali',
  307. $Jumlah, '$Denda', $HariDenda, $HariBebas, $HargaDenda, '$Catatan', '$unip') ";
  308. $r = mysql_query($s) or die("$strCantQuery: $s");
  309. }
  310. HitungTotalBayar($thn, $nim);
  311. return -1;
  312. }
  313. function EditKeuMhsw($nim, $thn, $md2, $md3) {
  314. global $strCantQuery;
  315. if (isset($_REQUEST['biaid'])) $biaid = $_REQUEST['biaid']; else $biaid = 0;
  316. if (isset($_REQUEST['byrid'])) $byrid = $_REQUEST['byrid']; else $byrid = 0;
  317. if ($md2 == -1) $_biaya = DaftarBiayaMhsw($nim, $thn); else $_biaya = EditBiayaMhsw($nim, $thn, $md2, $biaid);
  318. if ($md3 == -1) $_bayar = DaftarBayarMhsw($nim, $thn); else $_bayar = EditBayarMhsw($nim, $thn, $md3, $byrid);
  319. echo <<<EOF
  320. <a href='sysfo.php?syxec=mhswkeu&nim=$nim&thn=$thn&md=0' class=lst>Kembali</a>
  321. <table class=box cellspacing=1 cellpadding=1 width=100%>
  322. <tr><th class=ttl>Biaya-biaya</th><th class=ttl>Pembayaran</th></tr>
  323. <tr><td class=basic valign=top>$_biaya</td>
  324. <td class=basic valign=top>$_bayar</td></tr>
  325. </table>
  326. EOF;
  327. }
  328. function DispHeaderKeu($nim, $thn, $kdj) {
  329. global $strCantQuery, $fmtErrorMsg;
  330. $s = "select k.*, st.Nama as STA, st.Nilai as STN
  331. from khs k left outer join statusmhsw st on k.Status=st.Kode
  332. where k.Tahun='$thn' and NIM='$nim'";
  333. $r = mysql_query($s) or die ("$strCantQuery: $s");
  334. $jml = mysql_num_rows($r);
  335. if ($jml == 0) DisplayHeader($fmtErrorMsg, 'Data Tidak ditemukan.');
  336. elseif ($jml > 1) DisplayHeader($fmtErrorMsg, "Terjadi duplikasi data tahun - $thn utk mhsw ini.");
  337. elseif ($jml == 1) {
  338. $ssi = mysql_result($r, 0, 'Sesi');
  339. $sta = mysql_result($r, 0, 'STA');
  340. $nil = mysql_result($r, 0, 'STN');
  341. $sks = mysql_result($r, 0, 'SKS');
  342. $bbt = mysql_result($r, 0, 'Bobot');
  343. if ($sks == 0) $ips = 0; else $ips = $bbt / $sks;
  344. $bea = mysql_result($r, 0, 'KodeBiaya');
  345. $bia = number_format(mysql_result($r, 0, 'Biaya'), 2, ',', '.');
  346. $byr = number_format(mysql_result($r, 0, 'Bayar'), 2, ',', '.');
  347. if ($nil == 0) $cls = 'class=nac'; else $cls = 'class=lst';
  348. if ($bia > $byr) {
  349. $strbyr = 'Belum Lunas';
  350. $clsbyr = 'class=wrn';
  351. }
  352. else {
  353. $strbyr = 'Sudah Lunas';
  354. $clsbyr = 'class=nac';
  355. }
  356. $tlt = KenaDenda($thn, $kdj);
  357. if ($bia > $byr && $tlt > 0) {
  358. $strdnd = "$tlt hari";
  359. $clsdnd = 'class=wrn';
  360. }
  361. else {
  362. $strdnd = '<center>0</center>';
  363. $clsdnd = 'class=lst';
  364. }
  365. echo <<<EOF
  366. <table class=basic cellspacing=0 cellpadding=2>
  367. <tr><th class=ttl>Sesi</th><th class=ttl>Tahun</th><th class=ttl>Status</th><th class=ttl>SKS</th>
  368. <th class=ttl>IPS</th><th class=ttl>Kode Biaya</th><th class=ttl>Biaya</th><th class=ttl>Bayar</th>
  369. <th class=ttl>Stat. Byr</th><th class=ttl>Denda</a></tr>
  370. <tr><td $cls>$ssi</td><td $cls>$thn</td><td $cls>$sta</td><td $cls>$sks</td>
  371. <td $cls>$ips</td><td $cls>$bea</td><td $cls align=right>$bia</td><td $cls align=right>$byr</td>
  372. <td $clsbyr>$strbyr</td><td $clsdnd>$strdnd</td>
  373. </tr></table><br>
  374. EOF;
  375. }
  376. }
  377. function PrcOto($nim, $thn) {
  378. global $strCantQuery, $fmtErrorMsg;
  379. function InsertBiaya($nim, $thn, $row) {
  380. global $strCantQuery, $fmtErrorMsg;
  381. if ($row['PakaiScript'] == 'Y') {
  382. if (file_exists("sysfo/script/$row[NamaScript].php")) {
  383. include_once "sysfo/script/$row[NamaScript].php";
  384. $func = $row['NamaScript'];
  385. $func($nim, $thn, $row);
  386. }
  387. else echo "<script language='javascript'>alert('Script: sysfo/script/$row[NamaScript].php tidak ditemukan.')</script>";
  388. }
  389. else {
  390. $sdh = GetaField('biayamhsw', "NIM='$nim' and Tahun='$thn' and IDBiaya2", $row['ID'], 'IDBiaya2');
  391. if (empty($sdh)) {
  392. $unip = $_SESSION['unip'];
  393. $s = "insert into biayamhsw (Tanggal, Tahun, KodeBiaya, IDBiaya2, NamaBiaya, NIM,
  394. Jumlah, Biaya, Denda, Login) values (now(), '$thn', '$row[KodeBiaya]', $row[ID], '$row[Nama]',
  395. '$nim', 1, $row[Jumlah], '$row[Denda]', '$unip') ";
  396. $r = mysql_query($s) or die("$strCantQuery: $s");
  397. }
  398. }
  399. }
  400. $arr = GetFields('khs', "Tahun='$thn' and NIM", $nim, 'Sesi,KodeBiaya,Status');
  401. $bea = $arr['KodeBiaya'];
  402. $ssi = $arr['Sesi'];
  403. $sta = GetaField('mhsw', 'NIM', $nim, 'StatusAwal');
  404. if (empty($bea)) DisplayHeader($fmtErrorMsg, "Kode Biaya belum diset untuk mhsw ini di Tahun Ajaran $thn.");
  405. else {
  406. $s = "select * from biaya2 where KodeBiaya='$bea' and Otomatis='Y' ";
  407. $r = mysql_query($s) or die ("$strCantQuery:: $s.<br>".mysql_error());
  408. while ($row = mysql_fetch_array($r)) {
  409. $jb = $row['JenisBiaya'];
  410. if (empty($row['Status'])) $st = true; else $st = $row['Status'] == $arr['Status'];
  411. if (empty($row['StatusAwal'])) $sa = true; else $sa = $row['StatusAwal'] == $sta;
  412. if ($st && $sa) {
  413. switch($jb):
  414. case 5:
  415. // Sebelum masuk
  416. if ($ssi == 0) InsertBiaya($nim, $thn, $row);
  417. case 10:
  418. // Awal masuk kuliah
  419. if ($ssi == 1) InsertBiaya($nim, $thn, $row);
  420. break;
  421. case 20:
  422. // Tiap semester
  423. if ($ssi > 0) InsertBiaya($nim, $thn, $row);
  424. break;
  425. case 30:
  426. // Lulus kuliah
  427. $sx = "select max(Sesi) as mx from khs where NIM='$nim'";
  428. $rx = mysql_query($sx) or die ("$strCantQuery: $s");
  429. $mx = mysql_result($r, 0, 'mx');
  430. if ($ssi == $mx) InsertBiaya($nim, $thn, $row);
  431. break;
  432. case 40:
  433. // Penyetaraan
  434. InsertBiaya($nim, $thn, $row);
  435. break;
  436. endswitch;
  437. }
  438. }
  439. }
  440. HitungTotalBiaya($thn, $nim);
  441. }
  442. function DispFooterKeu($nim) {
  443. global $strCantQuery;
  444. $s = "select sum(Biaya) as BIA, sum(Bayar) as BYR from khs where NIM='$nim' limit 1";
  445. $r = mysql_query($s) or die("$strCantQuery: $ss");
  446. if (mysql_num_rows($r) > 0) {
  447. $bia = number_format(mysql_result($r, 0, 'BIA'), 2, ',', '.');
  448. $byr = number_format(mysql_result($r, 0, 'BYR'), 2, ',', '.');
  449. echo <<<EOF
  450. <table class=basic cellspacing=0 cellpadding=2>
  451. <tr><td class=lst>Total Biaya</td><td class=ttl align=right>$bia</td></tr>
  452. <tr><td class=lst>Total Pembayaran</td><td class=ttl align=right>$byr</td></tr>
  453. </table>
  454. EOF;
  455. }
  456. }
  457. // *** PARAMETER2 ***
  458. if ($_SESSION['ulevel'] == 4) {
  459. $nim = $_SESSION['unip'];
  460. $_SESSION['nim'] = $nim;
  461. $_SESSION['srcmhsw'] = $nim;
  462. $_SESSION['prcsrc'] = 'NIM';
  463. }
  464. else {
  465. if (isset($_REQUEST['nim'])) {
  466. $nim = $_REQUEST['nim'];
  467. $_SESSION['nim'] = $nim;
  468. } else { if (isset($_SESSION['nim'])) $nim = $_SESSION['nim']; else $nim = ''; }
  469. }
  470. if ($_SESSION['ulevel'] == 4) {
  471. $kdj = GetaField('mhsw', 'NIM', $nim, 'KodeJurusan');
  472. $_SESSION['kdj'] = $kdj;
  473. }
  474. else {
  475. if (isset($_REQUEST['kdj'])) {
  476. $kdj = $_REQUEST['kdj'];
  477. $_SESSION['kdj'] = $kdj;
  478. } else { if (isset($_SESSION['kdj'])) $kdj = $_SESSION['kdj']; else $kdj = ''; }
  479. }
  480. if (isset($_REQUEST['srcmhsw'])) {
  481. $srcmhsw = $_REQUEST['srcmhsw'];
  482. $_SESSION['srcmhsw'] = $srcmhsw;
  483. } else { if (isset($_SESSION['srcmhsw'])) $srcmhsw = $_SESSION['srcmhsw']; else $srcmhsw=''; }
  484. if (isset($_REQUEST['prcsrc'])) {
  485. $prcsrc = $_REQUEST['prcsrc'];
  486. $_SESSION['prcsrc'] = $prcsrc;
  487. } else { if (isset($_SESSION['prcsrc'])) $prcsrc = $_SESSION['prcsrc']; else $prcsrc=''; }
  488. if (isset($_REQUEST['thn'])) $thn = $_REQUEST['thn']; else $thn = '';
  489. if (isset($_REQUEST['md'])) $md = $_REQUEST['md']; else $md = -1;
  490. if (isset($_REQUEST['md1'])) $md1 = $_REQUEST['md1']; else $md1 = -1;
  491. if (isset($_REQUEST['md2'])) $md2 = $_REQUEST['md2']; else $md2 = -1;
  492. if (isset($_REQUEST['md3'])) $md3 = $_REQUEST['md3']; else $md3 = -1;
  493. // *** BAGIAN UTAMA ***
  494. DisplayHeader($fmtPageTitle, 'Keuangan Mahasiswa');
  495. //if (isset($_REQUEST['prcbea'])) $md = PrcBea();
  496. if (strpos('123', $_SESSION['ulevel']) === false) {}
  497. else {
  498. DispJur($kdj, 0, 'mhswkeu');
  499. DispSearchMhsw($srcmhsw, 'mhswkeu');
  500. }
  501. if (isset($_REQUEST['prcoto'])) PrcOto($nim, $thn);
  502. if (isset($_REQUEST['prcbiaya'])) $md2 = PrcBiaya();
  503. if (isset($_REQUEST['prcbayar'])) $md3 = PrcBayar();
  504. if (isset($_REQUEST['prcjml'])) {
  505. HitungTotalBiaya($thn, $nim);
  506. HitungTotalBayar($thn, $nim);
  507. }
  508. if ($md == -1) DispDaftarMhsw($kdj, $prcsrc, $srcmhsw, 'mhswkeu');
  509. else {
  510. DispHeaderMhsw($nim, 'mhswkeu');
  511. if ($md1 == -1) {
  512. DispKeuMhsw($nim);
  513. DispFooterKeu($nim);
  514. }
  515. else {
  516. DispHeaderKeu($nim, $thn, $kdj);
  517. EditKeuMhsw($nim, $thn, $md2, $md3);
  518. }
  519. }
  520. ?>