├── app ├── images │ ├── gif.mp4 │ ├── struk.png │ ├── bg_agen.jpg │ ├── bg_pln.jpg │ ├── logo_pln.png │ ├── logo_pln1.png │ ├── logo_pln2.png │ ├── logo_setroom.png │ ├── logo_setroom1.png │ └── logo_setroom2.png ├── config │ └── koneksi.php ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 ├── js │ └── npm.js ├── pln │ ├── home.php │ ├── index.php │ ├── profil.php │ ├── tagihan.php │ ├── hal_utama.php │ ├── test.php │ ├── tarif.php │ ├── agen.php │ ├── petugas.php │ ├── pelanggan.php │ ├── penggunaan.php │ ├── print.php │ └── laporan.php ├── agen │ ├── home.php │ ├── index.php │ ├── struk.php │ ├── profil.php │ ├── riwayat.php │ ├── print.php │ ├── hal_utama.php │ ├── laporan.php │ └── pembayaran.php ├── index.php ├── library │ └── fungsi.php └── css │ └── bootstrap-theme.min.css ├── ss_program ├── dashboard.png ├── login agen.png ├── login pln.png ├── dashboard pln.png ├── belum bayarpln.png ├── nunggak 3 bulan.png ├── daftar_penggunaan.png ├── input penggunaan.png ├── riwayat_transaksi.png ├── input pelanggan pln.png ├── input transaksi agen.png └── riwayat penggunaan zidun.png ├── README.md ├── .gitignore └── database └── 11505071_zidun.sql /app/images/gif.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/images/gif.mp4 -------------------------------------------------------------------------------- /app/images/struk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/images/struk.png -------------------------------------------------------------------------------- /app/images/bg_agen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/images/bg_agen.jpg -------------------------------------------------------------------------------- /app/images/bg_pln.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/images/bg_pln.jpg -------------------------------------------------------------------------------- /app/images/logo_pln.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/images/logo_pln.png -------------------------------------------------------------------------------- /app/images/logo_pln1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/images/logo_pln1.png -------------------------------------------------------------------------------- /app/images/logo_pln2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/images/logo_pln2.png -------------------------------------------------------------------------------- /ss_program/dashboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/ss_program/dashboard.png -------------------------------------------------------------------------------- /ss_program/login agen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/ss_program/login agen.png -------------------------------------------------------------------------------- /ss_program/login pln.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/ss_program/login pln.png -------------------------------------------------------------------------------- /app/images/logo_setroom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/images/logo_setroom.png -------------------------------------------------------------------------------- /app/images/logo_setroom1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/images/logo_setroom1.png -------------------------------------------------------------------------------- /app/images/logo_setroom2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/images/logo_setroom2.png -------------------------------------------------------------------------------- /ss_program/dashboard pln.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/ss_program/dashboard pln.png -------------------------------------------------------------------------------- /ss_program/belum bayarpln.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/ss_program/belum bayarpln.png -------------------------------------------------------------------------------- /ss_program/nunggak 3 bulan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/ss_program/nunggak 3 bulan.png -------------------------------------------------------------------------------- /app/config/koneksi.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ss_program/daftar_penggunaan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/ss_program/daftar_penggunaan.png -------------------------------------------------------------------------------- /ss_program/input penggunaan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/ss_program/input penggunaan.png -------------------------------------------------------------------------------- /ss_program/riwayat_transaksi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/ss_program/riwayat_transaksi.png -------------------------------------------------------------------------------- /ss_program/input pelanggan pln.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/ss_program/input pelanggan pln.png -------------------------------------------------------------------------------- /ss_program/input transaksi agen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/ss_program/input transaksi agen.png -------------------------------------------------------------------------------- /ss_program/riwayat penggunaan zidun.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/ss_program/riwayat penggunaan zidun.png -------------------------------------------------------------------------------- /app/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /app/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /app/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /app/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zidun/Payment-Setroom/HEAD/app/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /app/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /app/pln/home.php: -------------------------------------------------------------------------------- 1 |
2 | 7 | 8 | 9 | 10 | HOME 11 | 12 | 13 |
14 |
15 |
16 |

Selamat Datang , di Aplikasi Pembayaran Listrik Pasca Bayar v.1.0

17 |
18 |
19 |
20 |
21 | 22 | -------------------------------------------------------------------------------- /app/agen/home.php: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | HOME 10 | 11 | 12 |
13 | 14 |
15 | 16 | 22 |
23 |
24 | 25 | -------------------------------------------------------------------------------- /app/index.php: -------------------------------------------------------------------------------- 1 |



2 | 3 | 4 | 5 | 404 Not Found 6 | 7 | 8 | 9 |
10 |
11 |
12 |
13 |
404 Not Found
14 |
15 |

Maaf Halaman Tidak Ada :(

16 |
17 | 20 |
21 |
22 |
23 |
24 | 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SUDAH TIDAK DI MAINTENANCE (HARAP GUNAKAN PHP 5 AGAR TIDAK ERROR) 2 | # Payment-Setroom(Aplikasi Pembayaran Listrik Pasca Bayar) 3 | Sebuah aplikasi berbasis web yang bertujuan untuk membayar listrik pasca bayar 4 | 5 | ## Fitur 6 | * Dashboard 7 | ![Foto Dashboard](ss_program/dashboard.png "Dashboard Agen") 8 | 9 | * Daftar Penggunaan Listrik 10 | ![Foto Daftar Penggunaan Listrik ](ss_program/daftar_penggunaan.png "Daftar Penggunaan Listrik") 11 | 12 | * Riwayat Pembayaran Listrik 13 | ![Foto Riwayat Pembyaran Listrik](ss_program/riwayat_transaksi.png "Riwayat Pembayaran Listrik") 14 | 15 | ## Teknologi 16 | * PHP 5 17 | * MySQL 18 | * HTML 19 | * CSS 20 | * Javascript 21 | * Bootstrap 22 | 23 | ## Credit Developer 24 | * [Email](mailto:programzidun@gmail.com) - programzidun@gmail.com 25 | * [LinkedIn](https://www.linkedin.com/in/ramdanzidun/) - Muhammad Ramdan 26 | 27 | ``` 28 | Ku Coding Kau dengan Bismillah 29 | ``` 30 | 31 | 32 | -------------------------------------------------------------------------------- /app/agen/index.php: -------------------------------------------------------------------------------- 1 |





2 | 3 | redirect("hal_utama.php?menu=home"); 19 | } 20 | 21 | //jika tekan login maka menjalankan fungsi login dari library 22 | if (isset($_POST['login'])) { 23 | $aksi->login("agen",$username,$password,"hal_utama.php?menu=home"); 24 | } 25 | 26 | ?> 27 | 28 | 29 | 30 | FORM LOGIN SETROOM PAYMENT 31 | 32 | 33 | 34 |
35 |
36 |
37 |
38 |
39 |
40 | 41 |
42 |
43 | 44 |
45 |
46 | A P L I K A S I   P E M B A Y A R A N   47 |
48 | L I S T R I K   P A S C A B A Y A R 49 |
50 |
51 | FORM LOGIN 52 |
53 |
54 | 55 | 56 | 57 |
58 |
59 |
60 |
61 | 62 | 63 |
64 |
65 | 66 | 67 |
68 |
69 | 70 |
71 |
72 |
73 |
74 | 75 | 76 | 77 | 80 | 81 |
82 |
83 |
84 |
85 |
86 | 87 | -------------------------------------------------------------------------------- /app/pln/index.php: -------------------------------------------------------------------------------- 1 |





2 | redirect("hal_utama.php?menu=home"); 18 | } 19 | 20 | //jika tekan login maka menjalankan fungsi login dari library 21 | if (isset($_POST['login'])) { 22 | $aksi->login("petugas",$username,$password,"hal_utama.php?menu=home"); 23 | } 24 | 25 | ?> 26 | 27 | 28 | 29 | FORM LOGIN PLN 30 | 31 | 32 | 33 |
34 |
35 |
36 |
37 |
38 |
39 | 40 |
41 |
42 | 43 |
44 |
45 | A P L I K A S I   P E M B A Y A R A N   46 |
47 | L I S T R I K   P A S C A B A Y A R 48 |
49 |
50 | FORM LOGIN 51 |
52 |
53 | 54 | 55 | 56 |
57 |
58 |
59 |
60 | 61 | 62 |
63 |
64 | 65 | 66 |
67 |
68 | 69 |
70 |
71 |
72 |
73 | 74 | 75 | 76 | 81 | 82 |
83 |
84 |
85 |
86 |
87 | 88 | -------------------------------------------------------------------------------- /app/agen/struk.php: -------------------------------------------------------------------------------- 1 | caridata("qw_pembayaran WHERE id_pelanggan = '$id_pelanggan' AND bulan_bayar = '$bulan' AND tahun_bayar = '$tahun' "); 12 | $penggunaan = $aksi->caridata("penggunaan WHERE id_pelanggan = '$id_pelanggan' AND bulan = '$bulan' AND tahun = '$tahun'"); 13 | $pelanggan = $aksi->caridata("pelanggan WHERE id_pelanggan = '$id_pelanggan'"); 14 | $tarif = $aksi->caridata("tarif WHERE id_tarif = '$pelanggan[id_tarif]'"); 15 | ?> 16 | 17 | 18 | 19 | CETAK STRUK <?php echo $pembayaran['id_pembayaran']; ?> 20 | 25 | 26 | 27 | 29 | 30 | 31 | 32 |
33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 82 | 83 | 84 | 85 | 86 | 87 | 88 |
STRUK PEMBAYARAN TAGIHAN LISTRIK
IDPEL:   BL/TH:bulan_substr($bulan);echo substr($tahun, 2,2); ?>
NAMA:   STAND METER:
TARIF/DAYA:
RP. TAG PLN:rupiah($pembayaran['jumlah_bayar']) ; ?>
JFA REF:
PLN Menyatakan struk ini seabgai bukti pembayaran yang sah
ADMIN BANK:rupiah($pembayaran['biaya_admin']) ?>
TOTAL BAYAR:rupiah($pembayaran['total_akhir']) ?>
TERIMA KASIH 81 |
Rincian Tagihan dapat diakses di www.pln.co.id, Informasi Hubungi Call Center:123
PPOB SETROOM PAYMENT/
89 | 90 | -------------------------------------------------------------------------------- /app/agen/profil.php: -------------------------------------------------------------------------------- 1 | caridata("agen WHERE id_agen = '$_SESSION[id_agen]'"); 7 | $field = array( 8 | 'username'=>@$_POST['username'], 9 | 'password'=>@$_POST['password'], 10 | 'nama'=>@$_POST['nama'], 11 | 'alamat'=>@$_POST['alamat'], 12 | 'no_telepon'=>@$_POST['no'], 13 | 'biaya_admin'=>@$_POST['admin'], 14 | ); 15 | 16 | @$cek_user = $aksi->cekdata("agen WHERE username = '$_POST[username]' AND username != '$_SESSION[username_agen]'"); 17 | if (isset($_POST['ubah'])) { 18 | if($cek_user > 0){ 19 | $aksi->pesan("username sudah ada !!!"); 20 | }else{ 21 | $aksi->update("agen",$field,"id_agen = '$_SESSION[id_agen]'"); 22 | $aksi->alert("Data Berhasil diubah","?menu=profil"); 23 | $_SESSION['nama_agen']=@$_POST['nama']; 24 | $_SESSION['username_agen']=@$_POST['username']; 25 | $_SESSION['biaya_admin']=@$_POST['admin']; 26 | } 27 | } 28 | ?> 29 | 30 | 31 | 32 | PROFIL 33 | 34 | 35 |
36 |
37 |
38 |
39 |
40 |
41 |

UBAH DATA DIRI

42 |
43 |
44 |
45 |
46 | 47 | 48 |
49 |
50 | 51 | 52 |
53 |
54 | 55 | 56 |
57 |
58 | 59 | 60 |
61 |
62 | 63 | 64 |
65 |
66 | 67 | 68 |
69 |
70 | 71 | 72 |
73 |
74 | 75 | 76 |
77 |
78 | 79 |
80 |
81 |
82 |
83 | 84 |
85 |
86 |
87 |
88 |
89 | 90 | -------------------------------------------------------------------------------- /app/pln/profil.php: -------------------------------------------------------------------------------- 1 | caridata("petugas WHERE id_petugas = '$_SESSION[id_petugas]'"); 7 | $field = array( 8 | 'username'=>@$_POST['username'], 9 | 'password'=>@$_POST['password'], 10 | 'nama'=>@$_POST['nama'], 11 | 'alamat'=>@$_POST['alamat'], 12 | 'no_telepon'=>@$_POST['no'], 13 | 'jk'=>@$_POST['jk'], 14 | ); 15 | 16 | @$cek_user = $aksi->cekdata("petugas WHERE username = '$_POST[username]' AND username != '$_SESSION[username_petugas]'"); 17 | if (isset($_POST['ubah'])) { 18 | if ($cek_user > 0) { 19 | $aksi->pesan("username sudah ada !!!"); 20 | }else{ 21 | $aksi->update("petugas",$field,"id_petugas = '$_SESSION[id_petugas]'"); 22 | $aksi->alert("Data Berhasil diubah","?menu=profil"); 23 | $_SESSION['nama_petugas']=@$_POST['nama']; 24 | $_SESSION['username_petugas']=@$_POST['username']; 25 | } 26 | } 27 | ?> 28 | 29 | 30 | 31 | PROFIL 32 | 33 | 34 |
35 |
36 |
37 |
38 |
39 |
40 |

UBAH DATA DIRI

41 |
42 |
43 |
44 |
45 | 46 | 47 |
48 |
49 | 50 | 51 |
52 |
53 | 54 | 55 |
56 |
57 | 58 | 59 |
60 |
61 | 62 | 63 |
64 |
65 | 66 | 70 |
71 |
72 | 73 | 74 |
75 |
76 | 77 | 78 |
79 |
80 | 81 |
82 |
83 |
84 |
85 | 86 |
87 |
88 |
89 |
90 |
91 | 92 | -------------------------------------------------------------------------------- /app/agen/riwayat.php: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | 20 | RIWAYAT 21 | 22 | 23 |
24 |
25 |
26 |
27 |
DAFTAR RIWAYAT PEMBAYARAN
28 |
29 |
30 |
31 |
32 | 33 |
34 | 35 | 36 |
37 |
38 |
39 |
40 |
41 |
42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | tampil("qw_pembayaran",$cari," order by id_pembayaran desc"); 62 | if ($data=="") { 63 | $aksi->no_record(13); 64 | }else{ 65 | foreach ($data as $r) { 66 | $no++; ?> 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 |
No.ID PembayaranID PelangganNama PelangganWaktuBulan Bayar
Jumlah Bayar
Biaya Admin
Total Akhir
Bayar
Kembali
Petugas
Cetak
Struk
.bulan($r['bulan_bayar']);echo " ".$r['tahun_bayar']; ?>rupiah($r['jumlah_bayar']); ?>rupiah($r['biaya_admin']); ?>rupiah($r['total_akhir']); ?>rupiah($r['bayar']); ?>rupiah($r['kembali']); ?>CETAK
86 |
87 |
88 |
89 | 90 |
91 |
92 |
93 |
94 | 95 | -------------------------------------------------------------------------------- /app/agen/print.php: -------------------------------------------------------------------------------- 1 | caridata("agen WHERE id_agen = '$_SESSION[id_agen]'"); 15 | 16 | if(isset($_GET['excel'])){ 17 | header("Content-type:aplication/vnd-ms-excel"); 18 | header("Content-type: application/image/png"); 19 | header("Content-disposition:attachment; filename=".$filename.".xls"); 20 | } 21 | 22 | ?> 23 | 24 | 25 | 26 | PRINT LAPORAN 27 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 51 | 52 | 57 | 58 | 59 | 60 | 61 |
  49 | 50 | 53 |

PERUSAHAAN PEMBAYARAN LISTRIK

54 |

PT. PAYMENT SETROOM

55 |
Jl. Cikopo Selatan No.25, Desa Sukamahi Kec.Megamendung Kab.Bogor 16670
56 |

bulan($bulanini);echo " TAHUN $tahunini"; ?>

62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | tampil($table,$cari," order by id_pembayaran desc"); 83 | if ($data=="") { 84 | $aksi->no_record(13); 85 | }else{ 86 | foreach ($data as $r) { 87 | $no++; ?> 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 |
No.ID PelangganNama PelangganWaktuBulan Bayar
Jumlah Bayar
Biaya Admin
Total Akhir
Bayar
Kembali
Petugas
.bulan($r['bulan_bayar']);echo " ".$r['tahun_bayar']; ?>rupiah($r['jumlah_bayar']); ?>rupiah($r['biaya_admin']); ?>rupiah($r['total_akhir']); ?>rupiah($r['bayar']); ?>rupiah($r['kembali']); ?>
105 | 106 | 107 | 108 | 127 | 128 | 129 | -------------------------------------------------------------------------------- /app/agen/hal_utama.php: -------------------------------------------------------------------------------- 1 |

2 | alert("Harap Login Dulu !!!","index.php"); 12 | } 13 | 14 | if (isset($_GET['logout'])) { 15 | unset($_SESSION['username_agen']); 16 | unset($_SESSION['id_agen']); 17 | unset($_SESSION['nama_agen']); 18 | unset($_SESSION['biaya_admin']); 19 | unset($_SESSION['akses_agen']); 20 | $aksi->alert("logout Berhasil !!!","index.php"); 21 | } 22 | 23 | ?> 24 | 25 | 26 | 27 | PT. SETROOMPAYMENT 28 | 29 | 34 | 35 | 36 |
37 |
38 |
39 | 108 |
109 |
110 |
111 |
";include'riwayat.php'; break; 115 | case 'pembayaran':echo "

";include'pembayaran.php'; break; 116 | case 'laporan':echo "

";include'laporan.php'; break; 117 | case 'profil':echo "

";include'profil.php'; break; 118 | // case 'struk':include'struk.php'; break; 119 | default:$aksi->redirect("?menu=home");break; 120 | } 121 | ?> 122 | 123 |

124 | 131 | 132 | 133 | 134 | 151 | 152 | -------------------------------------------------------------------------------- /app/pln/tagihan.php: -------------------------------------------------------------------------------- 1 | 23 | 24 | 25 | 26 | TAGIHAN 27 | 28 | 29 |
30 |
31 |
32 |
33 |
34 | DAFTAR TAGIHAN 35 |
36 |
37 |
38 |
39 |
40 | 41 |
42 | JENIS 43 | 47 | BULAN 48 | 60 |
TAHUN
61 | 68 |
69 | 70 | 71 |
72 |
73 |
74 | 75 |
76 | 77 |
78 | 79 |
80 | 81 | 82 |
83 |
84 |
85 |
86 |
87 | 88 |
89 |
90 |
91 |
92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | tampil("qw_tagihan",$cari,"ORDER BY status ASC"); 107 | if (empty($a)) { 108 | $aksi->no_record(8); 109 | }else{ 110 | foreach ($a as $r) { 111 | $no++; 112 | ?> 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 |
No.
ID PelangganNama PelangganBulanJumlah MeterJumlah BayarNama PetugasStatus
.bulan($r['bulan']);echo " ".$r['tahun']; ?>rupiah($r['jumlah_bayar']); ?>
126 |
127 |
128 |
129 | 130 |
131 |
132 |
133 |
134 | 135 | -------------------------------------------------------------------------------- /app/agen/laporan.php: -------------------------------------------------------------------------------- 1 | 15 | 16 | 17 | 18 | LAPORAN 19 | 20 | 21 |
22 |
23 |
24 |
25 |
26 | LAPORAN RIWAYAT TRANSAKSI 27 |
28 |
  
29 |    30 |
  
31 |
32 |
33 |
34 |
35 |
36 |
37 |
Bulan
38 | 51 |
Tahun
52 | 59 |
60 | 61 | 62 |
63 |
64 |
65 |
66 | 68 |
69 |
70 |
71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | tampil("qw_pembayaran",@$cari," order by id_pembayaran desc"); 90 | if ($data=="") { 91 | $aksi->no_record(13); 92 | }else{ 93 | foreach ($data as $r) { 94 | $no++; ?> 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 |
No.ID PembayaranID PelangganNama PelangganWaktuBulan Bayar
Jumlah Bayar
Biaya Admin
Total Akhir
Bayar
Kembali
Petugas
.bulan($r['bulan_bayar']);echo " ".$r['tahun_bayar']; ?>rupiah($r['jumlah_bayar']); ?>rupiah($r['biaya_admin']); ?>rupiah($r['total_akhir']); ?>rupiah($r['bayar']); ?>rupiah($r['kembali']); ?>
113 |
114 |
115 | 116 | 121 | 122 |
123 |
124 |
125 |
126 |
127 | 128 | -------------------------------------------------------------------------------- /app/library/fungsi.php: -------------------------------------------------------------------------------- 1 | $value) { 7 | $sql.= "$key = '$value',"; 8 | } 9 | $sql = rtrim($sql, ','); 10 | $jalan = mysql_query($sql); 11 | } 12 | 13 | function tampil($table,$where,$cari){ 14 | $sql = mysql_query("SELECT * FROM $table $where $cari"); 15 | while ($data = mysql_fetch_array($sql)) 16 | @$jalan[] = $data; 17 | return @$jalan; 18 | } 19 | 20 | function edit($table,$where){ 21 | $sql = "SELECT * FROM $table WHERE $where"; 22 | $jalan = mysql_fetch_array(mysql_query($sql)); 23 | return $jalan; 24 | } 25 | 26 | function hapus($table,$where){ 27 | $sql = mysql_query("DELETE FROM $table WHERE $where"); 28 | return $sql; 29 | } 30 | 31 | function update($table,array $field,$where){ 32 | $sql = "UPDATE $table SET "; 33 | foreach ($field as $key => $value) { 34 | $sql.="$key = '$value',"; 35 | } 36 | $sql=rtrim($sql,','); 37 | $sql .=" WHERE $where"; 38 | $jalan = mysql_query($sql); 39 | } 40 | 41 | function caridata($table){ 42 | $sql = mysql_fetch_array(mysql_query("SELECT * FROM $table")); 43 | return $sql; 44 | } 45 | 46 | function cekdata($table){ 47 | $sql = mysql_num_rows(mysql_query("SELECT * FROM $table")); 48 | return $sql; 49 | } 50 | 51 | 52 | function pesan($pesan){ 53 | echo ""; 54 | } 55 | 56 | function alert($pesan,$alamat){ 57 | echo ""; 58 | } 59 | 60 | function redirect($alamat){ 61 | echo ""; 62 | } 63 | 64 | function no_record($col){ 65 | echo "Data Tidak Ada !!!"; 66 | } 67 | 68 | function rupiah($uang){ 69 | echo "Rp. ".number_format($uang,0,',','.').",-"; 70 | } 71 | 72 | function bulan($bulan){ 73 | switch ($bulan) { 74 | case '01':$bln="Januari";break; 75 | case '02':$bln="Februari";break; 76 | case '03':$bln="Maret";break; 77 | case '04':$bln="April";break; 78 | case '05':$bln="Mei";break; 79 | case '06':$bln="Juni";break; 80 | case '07':$bln="Juli";break; 81 | case '08':$bln="Agustus";break; 82 | case '09':$bln="September";break; 83 | case '10':$bln="Oktober";break; 84 | case '11':$bln="November";break; 85 | case '12':$bln="Desember";break; 86 | default:$bln="";break; 87 | } 88 | echo $bln; 89 | } 90 | 91 | function bulan_substr($bulan){ 92 | switch ($bulan) { 93 | case '01':$bln="JAN";break; 94 | case '02':$bln="FEB";break; 95 | case '03':$bln="MAR";break; 96 | case '04':$bln="APR";break; 97 | case '05':$bln="MEI";break; 98 | case '06':$bln="JUN";break; 99 | case '07':$bln="JUL";break; 100 | case '08':$bln="AGU";break; 101 | case '09':$bln="SEP";break; 102 | case '10':$bln="OKT";break; 103 | case '11':$bln="NOV";break; 104 | case '12':$bln="DES";break; 105 | default:$bln="";break; 106 | } 107 | echo $bln; 108 | } 109 | 110 | function format_tanggal($tanggal){ 111 | $tahun = substr($tanggal, 0,4); 112 | $bulan = substr($tanggal, 5,2); 113 | $tanggal = substr($tanggal, 8,2); 114 | switch ($bulan) { 115 | case '01':$bln="Januari";break; 116 | case '02':$bln="Februari";break; 117 | case '03':$bln="Maret";break; 118 | case '04':$bln="April";break; 119 | case '05':$bln="Mei";break; 120 | case '06':$bln="Juni";break; 121 | case '07':$bln="Juli";break; 122 | case '08':$bln="Agustus";break; 123 | case '09':$bln="September";break; 124 | case '10':$bln="Oktober";break; 125 | case '11':$bln="November";break; 126 | case '12':$bln="Desember";break; 127 | default:$bln="";break; 128 | } 129 | echo $tanggal." ".$bln." ".$tahun; 130 | } 131 | 132 | function hari($today){ 133 | switch ($today) { 134 | case '1': @$hari="Senin"; break; 135 | case '2': @$hari="Selasa"; break; 136 | case '3': @$hari="Rabu"; break; 137 | case '4': @$hari="Kamis"; break; 138 | case '5': @$hari="Jumat"; break; 139 | case '6': @$hari="Sabtu"; break; 140 | case '7': @$hari="Minggu"; break; 141 | default: @$hari=""; break; 142 | } 143 | echo @$hari; 144 | } 145 | 146 | function login($table,$username,$password,$alamat){ 147 | @session_start(); 148 | $sql = mysql_query("SELECT * FROM $table WHERE username = '$username' AND password = '$password'"); 149 | $cek = mysql_num_rows($sql); 150 | $data = mysql_fetch_array($sql); 151 | if ($cek > 0) { 152 | if ($table == "petugas") { 153 | @$_SESSION['username_petugas'] = $data['username']; 154 | @$_SESSION['id_petugas'] = $data['id_petugas']; 155 | @$_SESSION['nama_petugas'] = $data['nama']; 156 | @$_SESSION['akses_petugas'] = $data['akses']; 157 | $this->alert("Login Berhasil, Selamat Datang ".$data['nama'],$alamat); 158 | }elseif($table == "agen"){ 159 | @$_SESSION['username_agen'] = $data['username']; 160 | @$_SESSION['biaya_admin'] = $data['biaya_admin']; 161 | @$_SESSION['id_agen'] = $data['id_agen']; 162 | @$_SESSION['nama_agen'] = $data['nama']; 163 | @$_SESSION['akses_agen'] = $data['akses']; 164 | $this->alert("Login Berhasil, Selamat Datang ".$data['nama'],$alamat); 165 | } 166 | }else{ 167 | $this->pesan("username atau password salah"); 168 | } 169 | } 170 | 171 | function upload($tempat){ 172 | @$alamatfile = $_FILES['foto']['tmp_name']; 173 | @$namafile = $_FILES['foto']['name']; 174 | move_uploaded_file($alamatfile,"$tempat/$namafile"); 175 | return $namafile; 176 | } 177 | 178 | } 179 | ?> -------------------------------------------------------------------------------- /app/pln/hal_utama.php: -------------------------------------------------------------------------------- 1 |



2 | alert("Harap Login Dulu !!!","index.php"); 12 | } 13 | 14 | if (isset($_GET['logout'])) { 15 | unset($_SESSION['username_petugas']); 16 | unset($_SESSION['id_petugas']); 17 | unset($_SESSION['nama_petugas']); 18 | unset($_SESSION['akses_petugas']); 19 | $aksi->alert("logout Berhasil !!!","index.php"); 20 | } 21 | ?> 22 | 23 | 24 | 25 | PT. PLN PERSERO 26 | 27 | 28 | 29 |
30 |
31 |
32 | 127 |
128 |
129 |
130 | redirect("?menu=home");break; 142 | } 143 | ?> 144 | 145 |

146 | 153 | 154 | 155 | 156 | 157 | 158 | -------------------------------------------------------------------------------- /app/pln/test.php: -------------------------------------------------------------------------------- 1 | 2 | tampil($table,$cari,""); 15 | 16 | $link_print = "print.php?tagihan_periode&status=$status&bulan_dari=$bulan_dari&tahun_dari=$tahun_dari&bulan_sampai=$bulan_sampai&tahun_sampai=$tahun_sampai"; 17 | $link_excel = "print.php?excel&tagihan_periode&status=$status&bulan_dari=$bulan_dari&tahun_dari=$tahun_dari&bulan_sampai=$bulan_sampai&tahun_sampai=$tahun_sampai"; 18 | }else{ 19 | @$data =""; 20 | } 21 | ?> 22 |
23 |
24 | LAPORAN TAGIHAN PER-PERIODE 25 |
26 |
  
27 |    28 |
  
29 |
30 |
31 |
32 |
33 |
34 |
35 |
STATUS
36 | 41 |
Dari Bulan
42 | 55 |
Tahun
56 | 64 |
Sampai Bulan
65 | 78 |
Tahun
79 | 87 |
88 | 89 |  REFRESH 90 |
91 |
92 |
93 |
94 | 95 |
96 |
97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | no_record(8); 113 | }else{ 114 | foreach ($data as $r) { 115 | $no++; 116 | ?> 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 |
No.
ID Pelanggan
Nama Pelanggan
Bulan
Jumlah Meter
Jumlah Bayar
Status
Petugas
.bulan($r['bulan']);echo " ".$r['tahun'];?>rupiah($r['jumlah_bayar'])?>
132 |
133 |
134 |
135 |
136 | -------------------------------------------------------------------------------- /app/pln/tarif.php: -------------------------------------------------------------------------------- 1 | $kode_tarif, 19 | 'golongan'=>$golongan, 20 | 'daya'=>$daya, 21 | 'tarif_perkwh'=>$tarif, 22 | ); 23 | 24 | $cek = $aksi->cekdata("tarif WHERE kode_tarif = '$kode_tarif'"); 25 | if (isset($_POST['bsimpan'])) { 26 | if ($cek > 0) { 27 | $aksi->pesan("Data sudah ada"); 28 | }else{ 29 | $aksi->simpan($table,$data); 30 | $aksi->alert("Data Berhasil Disimpan",$redirect); 31 | } 32 | } 33 | 34 | if (isset($_POST['bubah'])) { 35 | @$cek = $aksi->cekdata("tarif WHERE kode_tarif = '$kode_tarif' AND kode_tarif != '$edit[kode_tarif]'"); 36 | if ($cek > 0) { 37 | $aksi->pesan("Data sudah ada"); 38 | }else{ 39 | $aksi->update($table,$data,$where); 40 | $aksi->alert("Data Berhasil Diubah",$redirect); 41 | } 42 | } 43 | 44 | if (isset($_GET['edit'])) { 45 | $edit = $aksi->edit($table,$where); 46 | } 47 | 48 | if (isset($_GET['hapus'])) { 49 | $aksi->hapus($table,$where); 50 | $aksi->alert("Data Berhasil Dihapus",$redirect); 51 | } 52 | 53 | if (isset($_POST['bcari'])) { 54 | $text = $_POST['tcari']; 55 | $cari = "WHERE id_tarif LIKE '%$text%' OR kode_tarif LIKE '%$text%' OR daya LIKE '%$text%' OR golongan LIKE '%$text%' OR tarif_perkwh LIKE '%$text%'"; 56 | }else{ 57 | $cari=""; 58 | } 59 | 60 | 61 | 62 | 63 | 64 | ?> 65 | 66 | 67 | 68 | TARIF 69 | 70 | 71 |
72 |
73 |
74 |
75 |
76 | 77 |
INPUT TARIF
78 | 79 |
UBAH TARIF
80 | 81 |
82 |
83 |
84 |
85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 |
94 |
95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 |
103 |
104 | 105 | 106 |
107 |
108 | 110 | 111 | 112 | 113 | 114 | 115 | RESET 116 |
117 |
118 |
119 |
120 | 121 |
122 |
123 |
124 |
125 |
DAFTAR TARIF
126 |
127 |
128 |
129 |
130 | 131 |
132 | 133 | 134 |
135 |
136 |
137 |
138 |
139 |
140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | tampil($table,$cari,""); 153 | if ($data=="") { 154 | $aksi->no_record(7); 155 | }else{ 156 | foreach ($data as $r) { 157 | $cek = $aksi->cekdata("pelanggan WHERE id_tarif = '$r[id_tarif]'"); 158 | $no++; ?> 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 0){?> 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 |
No.Kode TarifGolonganDayaTarif/KWh
AKSI
.rupiah($r['tarif_perkwh']) ?> 
178 |
179 |
180 |
181 | 182 |
183 |
184 |
185 |
186 |
187 | 188 | -------------------------------------------------------------------------------- /app/pln/agen.php: -------------------------------------------------------------------------------- 1 | caridata("agen WHERE id_agen LIKE '%$today%' ORDER BY id_agen DESC"); 14 | if (empty($agen)) { 15 | $id_agen="A".$today."001"; 16 | }else{ 17 | $kode = substr($agen['id_agen'], 9,3)+1; 18 | $id_agen = sprintf("A".$today.'%03s',$kode); 19 | } 20 | 21 | // cek username 22 | @$cek_user = $aksi->cekdata("agen WHERE username = '$_POST[username]'"); 23 | $field = array( 24 | 'id_agen'=>@$_POST['id'], 25 | 'username'=>@$_POST['username'], 26 | 'password'=>@$_POST['password'], 27 | 'akses'=>@$_POST['akses'], 28 | 'nama'=>@$_POST['nama'], 29 | 'alamat'=>@$_POST['alamat'], 30 | 'no_telepon'=>@$_POST['no'], 31 | 'akses'=>"agen", 32 | 'biaya_admin'=>@$_POST['admin'], 33 | ); 34 | 35 | $field_ubah = array( 36 | 'username'=>@$_POST['username'], 37 | 'password'=>@$_POST['password'], 38 | 'nama'=>@$_POST['nama'], 39 | 'alamat'=>@$_POST['alamat'], 40 | 'no_telepon'=>@$_POST['no'], 41 | 'biaya_admin'=>@$_POST['admin'], 42 | ); 43 | //crud 44 | if (isset($_POST['simpan'])) { 45 | if ($cek_user > 0) { 46 | $aksi->pesan("username sudah ada !!!"); 47 | }else{ 48 | $aksi->simpan($table,$field); 49 | $aksi->alert("Data berhasil disimpan",$redirect); 50 | } 51 | } 52 | 53 | 54 | if (isset($_GET['edit'])) { 55 | $edit = $aksi->edit($table,$where); 56 | } 57 | 58 | if (isset($_POST['ubah'])) { 59 | if ($cek_user > 0) { 60 | $aksi->pesan("username sudah ada !!!"); 61 | }else{ 62 | $aksi->update($table,$field_ubah,$where); 63 | $aksi->alert("Data berhasil diubah",$redirect); 64 | } 65 | } 66 | 67 | if (isset($_GET['hapus'])) { 68 | $aksi->hapus($table,$where); 69 | $aksi->alert("Data berhasil dihapus",$redirect); 70 | } 71 | ?> 72 | 73 | 74 | 75 | AGEN 76 | 77 | 78 |
79 |
80 |
81 |
82 |
83 |
84 | 91 |
92 |
93 |
94 |
95 |
96 | 97 | " readonly required> 98 |
99 |
100 | 101 | 102 |
103 |
104 | 105 | 106 |
107 |
108 | 109 | 110 |
111 |
112 | 113 | 114 |
115 |
116 | 117 | 118 |
119 |
120 | 121 | 122 |
123 |
124 | 126 | 127 | 128 | 129 | 130 | RESET 131 |
132 |
133 |
134 |
135 | 136 |
137 |
138 |
139 |
140 |
DAFTAR AGEN
141 |
142 |
143 | 151 |
152 |
153 | 154 |
155 | 156 | 157 |
158 |
159 |
160 |
161 |
162 |
163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | tampil($table,$cari,"ORDER BY id_agen DESC"); 180 | if ($a=="") { 181 | $aksi->no_record(11); 182 | }else{ 183 | foreach ($a as $r) { 184 | $cek = $aksi->cekdata(" pembayaran WHERE id_agen = '$r[id_agen]'"); 185 | $no++; 186 | ?> 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 199 | 204 | 205 | 206 | 207 | 212 | 213 | 214 | 215 | 216 |
No.ID AgenNamaNo.TeleponAlamatBiaya
Admin
UsernamePasswordAksesAksi
.rupiah($r['biaya_admin']); ?> 200 | 201 | 202 | 203 |   208 | 209 | 210 | 211 |
217 |
218 |
219 |
220 | 221 |
222 |
223 |
224 |
225 |
226 | 227 | -------------------------------------------------------------------------------- /app/pln/petugas.php: -------------------------------------------------------------------------------- 1 | caridata("petugas WHERE id_petugas LIKE '%$today%' ORDER BY id_petugas DESC"); 14 | $kode = substr($petugas['id_petugas'], 9,3)+1; 15 | $id_petugas = sprintf("P".$today.'%03s',$kode); 16 | 17 | // cek username 18 | @$cek_user = $aksi->cekdata("petugas WHERE username = '$_POST[username]'"); 19 | $field = array( 20 | 'id_petugas'=>@$_POST['id'], 21 | 'username'=>@$_POST['username'], 22 | 'password'=>@$_POST['password'], 23 | 'akses'=>@$_POST['akses'], 24 | 'nama'=>@$_POST['nama'], 25 | 'alamat'=>@$_POST['alamat'], 26 | 'no_telepon'=>@$_POST['no'], 27 | 'akses'=>"petugas", 28 | 'jk'=>@$_POST['jk'], 29 | ); 30 | 31 | $field_ubah = array( 32 | 'username'=>@$_POST['username'], 33 | 'password'=>@$_POST['password'], 34 | 'nama'=>@$_POST['nama'], 35 | 'alamat'=>@$_POST['alamat'], 36 | 'no_telepon'=>@$_POST['no'], 37 | 'jk'=>@$_POST['jk'], 38 | ); 39 | //crud 40 | if (isset($_POST['simpan'])) { 41 | if ($cek_user > 0) { 42 | $aksi->pesan("username sudah ada !!!"); 43 | }else{ 44 | $aksi->simpan($table,$field); 45 | $aksi->alert("Data berhasil disimpan",$redirect); 46 | } 47 | } 48 | 49 | 50 | if (isset($_GET['edit'])) { 51 | $edit = $aksi->edit($table,$where); 52 | } 53 | 54 | if (isset($_POST['ubah'])) { 55 | @$cek_user = $aksi->cekdata("petugas WHERE username = '$_POST[username]' AND username != '$edit[username]'"); 56 | if ($cek_user > 0) { 57 | $aksi->pesan("username sudah ada !!!"); 58 | }else{ 59 | $aksi->update($table,$field_ubah,$where); 60 | $aksi->alert("Data berhasil diubah",$redirect); 61 | } 62 | } 63 | 64 | if (isset($_GET['hapus'])) { 65 | $aksi->hapus($table,$where); 66 | $aksi->alert("Data berhasil dihapus",$redirect); 67 | } 68 | ?> 69 | 70 | 71 | 72 | PETUGAS 73 | 74 | 75 |
76 |
77 |
78 |
79 |
80 |
81 | 88 |
89 |
90 |
91 |
92 |
93 | 94 | " readonly required> 95 |
96 |
97 | 98 | 99 |
100 |
101 | 102 | 103 |
104 |
105 | 106 | 110 |
111 |
112 | 113 | 114 |
115 |
116 | 117 | 118 |
119 |
120 | 121 | 122 |
123 |
124 | 125 | 126 |
127 |
128 | 130 | 131 | 132 | 133 | 134 | RESET 135 |
136 |
137 |
138 |
139 | 140 |
141 |
142 |
143 |
144 |
DAFTAR PETUGAS
145 |
146 |
147 | 155 |
156 |
157 | 158 |
159 | 160 | 161 |
162 |
163 |
164 |
165 |
166 |
167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | tampil($table,$cari,"ORDER BY id_petugas DESC"); 184 | if ($a=="") { 185 | $aksi->no_record(11); 186 | }else{ 187 | foreach ($a as $r) { 188 | $cek = $aksi->cekdata(" penggunaan WHERE id_petugas = '$r[id_petugas]'"); 189 | if($r['id_petugas']!=$_SESSION['id_petugas']){ 190 | $no++; 191 | 192 | ?> 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 206 | 211 | 212 | 213 | 214 | 219 | 220 | 221 | 222 | 223 |
No.ID PetugasNamaNo.TeleponAlamatJKUsernamePasswordAksesAksi
. 207 | 208 | 209 | 210 |   215 | 216 | 217 | 218 |
224 |
225 |
226 |
227 | 228 |
229 |
230 |
231 |
232 |
233 | 234 | -------------------------------------------------------------------------------- /app/pln/pelanggan.php: -------------------------------------------------------------------------------- 1 | $id_pelanggan, 31 | 'no_meter'=>$no_meter, 32 | 'nama'=>$nama, 33 | 'alamat'=>$alamat, 34 | 'tenggang'=>$tenggang, 35 | 'id_tarif'=>$id_tarif, 36 | ); 37 | 38 | $ubah_pelanggan = array( 39 | 'nama'=>$nama, 40 | 'alamat'=>$alamat, 41 | 'id_tarif'=>$id_tarif, 42 | ); 43 | 44 | //untuk penggunaan default meter awal 45 | if (date("d") > 25) { 46 | if(date("m") <10){ 47 | $bln = date("m")+1; 48 | $bulan = "0".$bln; 49 | }else{ 50 | $bulan = date("m")+1; 51 | } 52 | $tahun = date("Y"); 53 | }elseif(date("d") > 25 && date("m")==12 ){ 54 | $bln = date("m")+1; 55 | $bulan = "0".$bln; 56 | $tahun = date("Y")+1; 57 | }else{ 58 | $bulan = date("m"); 59 | $tahun = date("Y"); 60 | } 61 | 62 | echo $bulan." ".$tahun; 63 | 64 | $simpan_penggunaan = array( 65 | 'id_penggunaan'=>$id_pelanggan.$bulan.$tahun, 66 | 'id_pelanggan'=>$id_pelanggan, 67 | 'bulan'=>$bulan, 68 | 'tahun'=>$tahun, 69 | 'meter_awal'=>0, 70 | ); 71 | 72 | if (isset($_POST['bsimpan'])) { 73 | $aksi->simpan("penggunaan",$simpan_penggunaan); 74 | $aksi->simpan($table,$simpan_pelanggan); 75 | $aksi->alert("Data Berhasil Disimpan",$redirect); 76 | } 77 | 78 | if (isset($_POST['bubah'])) { 79 | $aksi->update($table,$ubah_pelanggan,$where); 80 | $aksi->alert("Data Berhasil Diubah",$redirect); 81 | } 82 | 83 | if (isset($_GET['edit'])) { 84 | $edit = $aksi->edit($table,$where); 85 | } 86 | 87 | if (isset($_GET['hapus'])) { 88 | $aksi->hapus("penggunaan","id_pelanggan = '$id'"); 89 | $aksi->hapus($table,$where); 90 | $aksi->alert("Data Berhasil Dihapus",$redirect); 91 | } 92 | 93 | if (isset($_POST['bcari'])) { 94 | $text = $_POST['tcari']; 95 | $cari = "WHERE id_pelanggan LIKE '%$text%' OR nama LIKE '%$text%' OR no_meter LIKE '%$text%' OR alamat LIKE '%$text%' OR tenggang LIKE '%$text%'"; 96 | }else{ 97 | $cari=""; 98 | } 99 | 100 | 101 | 102 | 103 | 104 | ?> 105 | 106 | 107 | 108 | PELANGGAN 109 | 110 | 111 |
112 |
113 |
114 |
115 |
116 | 117 |
INPUT PELANGGAN
118 | 119 |
UBAH PELANGGAN
120 | 121 |
122 |
123 |
124 |
125 | 126 | "> 127 |
128 |
129 | 130 | "> 131 |
132 |
133 | 134 | 135 |
136 |
137 | 138 | 139 |
140 |
141 | 142 | 155 |
156 |
157 | 159 | 160 | 161 | 162 | 163 | 164 | RESET 165 |
166 |
167 |
168 |
169 | 170 |
171 |
172 |
173 |
174 |
DAFTAR PELANGGAN
175 |
176 |
177 |
178 |
179 | 180 |
181 | 182 | 183 |
184 |
185 |
186 |
187 |
188 | 189 |
190 |
191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | tampil($table,$cari,""); 206 | if ($data=="") { 207 | $aksi->no_record(9); 208 | }else{ 209 | foreach ($data as $r) { 210 | $a = $aksi->caridata("tarif WHERE id_tarif = '$r[id_tarif]'"); 211 | $cek = $aksi->cekdata("penggunaan WHERE id_pelanggan ='$r[id_pelanggan]' AND meter_awal = '0' AND meter_akhir = '0'"); 212 | $cek2 = $aksi->cekdata("tagihan WHERE id_pelanggan = '$r[id_pelanggan]' AND status = 'Belum Bayar'"); 213 | $no++; ?> 214 | = 3){ ?> 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 |
No.ID PelangganNo.MeterNamaAlamatTenggangKode Tarif
AKSI
. 
238 |
239 |
240 |
241 | 242 |
243 |
244 |
245 |
246 |
247 | 248 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/linux,macos,windows,sublimetext,visualstudio 3 | 4 | ### Linux ### 5 | *~ 6 | 7 | # temporary files which can be created if a process still has a handle open of a deleted file 8 | .fuse_hidden* 9 | 10 | # KDE directory preferences 11 | .directory 12 | 13 | # Linux trash folder which might appear on any partition or disk 14 | .Trash-* 15 | 16 | # .nfs files are created when an open file is removed but is still being accessed 17 | .nfs* 18 | 19 | ### macOS ### 20 | # General 21 | .DS_Store 22 | .AppleDouble 23 | .LSOverride 24 | 25 | # Icon must end with two \r 26 | Icon 27 | 28 | # Thumbnails 29 | ._* 30 | 31 | # Files that might appear in the root of a volume 32 | .DocumentRevisions-V100 33 | .fseventsd 34 | .Spotlight-V100 35 | .TemporaryItems 36 | .Trashes 37 | .VolumeIcon.icns 38 | .com.apple.timemachine.donotpresent 39 | 40 | # Directories potentially created on remote AFP share 41 | .AppleDB 42 | .AppleDesktop 43 | Network Trash Folder 44 | Temporary Items 45 | .apdisk 46 | 47 | ### SublimeText ### 48 | # Cache files for Sublime Text 49 | *.tmlanguage.cache 50 | *.tmPreferences.cache 51 | *.stTheme.cache 52 | 53 | # Workspace files are user-specific 54 | *.sublime-workspace 55 | 56 | # Project files should be checked into the repository, unless a significant 57 | # proportion of contributors will probably not be using Sublime Text 58 | # *.sublime-project 59 | 60 | # SFTP configuration file 61 | sftp-config.json 62 | 63 | # Package control specific files 64 | Package Control.last-run 65 | Package Control.ca-list 66 | Package Control.ca-bundle 67 | Package Control.system-ca-bundle 68 | Package Control.cache/ 69 | Package Control.ca-certs/ 70 | Package Control.merged-ca-bundle 71 | Package Control.user-ca-bundle 72 | oscrypto-ca-bundle.crt 73 | bh_unicode_properties.cache 74 | 75 | # Sublime-github package stores a github token in this file 76 | # https://packagecontrol.io/packages/sublime-github 77 | GitHub.sublime-settings 78 | 79 | ### Windows ### 80 | # Windows thumbnail cache files 81 | Thumbs.db 82 | ehthumbs.db 83 | ehthumbs_vista.db 84 | 85 | # Dump file 86 | *.stackdump 87 | 88 | # Folder config file 89 | [Dd]esktop.ini 90 | 91 | # Recycle Bin used on file shares 92 | $RECYCLE.BIN/ 93 | 94 | # Windows Installer files 95 | *.cab 96 | *.msi 97 | *.msix 98 | *.msm 99 | *.msp 100 | 101 | # Windows shortcuts 102 | *.lnk 103 | 104 | ### VisualStudio ### 105 | ## Ignore Visual Studio temporary files, build results, and 106 | ## files generated by popular Visual Studio add-ons. 107 | ## 108 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 109 | 110 | # User-specific files 111 | *.suo 112 | *.user 113 | *.userosscache 114 | *.sln.docstates 115 | 116 | # User-specific files (MonoDevelop/Xamarin Studio) 117 | *.userprefs 118 | 119 | # Build results 120 | [Dd]ebug/ 121 | [Dd]ebugPublic/ 122 | [Rr]elease/ 123 | [Rr]eleases/ 124 | x64/ 125 | x86/ 126 | bld/ 127 | [Bb]in/ 128 | [Oo]bj/ 129 | [Ll]og/ 130 | 131 | # Visual Studio 2015/2017 cache/options directory 132 | .vs/ 133 | # Uncomment if you have tasks that create the project's static files in wwwroot 134 | #wwwroot/ 135 | 136 | # Visual Studio 2017 auto generated files 137 | Generated\ Files/ 138 | 139 | # MSTest test Results 140 | [Tt]est[Rr]esult*/ 141 | [Bb]uild[Ll]og.* 142 | 143 | # NUNIT 144 | *.VisualState.xml 145 | TestResult.xml 146 | 147 | # Build Results of an ATL Project 148 | [Dd]ebugPS/ 149 | [Rr]eleasePS/ 150 | dlldata.c 151 | 152 | # Benchmark Results 153 | BenchmarkDotNet.Artifacts/ 154 | 155 | # .NET Core 156 | project.lock.json 157 | project.fragment.lock.json 158 | artifacts/ 159 | 160 | # StyleCop 161 | StyleCopReport.xml 162 | 163 | # Files built by Visual Studio 164 | *_i.c 165 | *_p.c 166 | *_i.h 167 | *.ilk 168 | *.meta 169 | *.obj 170 | *.iobj 171 | *.pch 172 | *.pdb 173 | *.ipdb 174 | *.pgc 175 | *.pgd 176 | *.rsp 177 | *.sbr 178 | *.tlb 179 | *.tli 180 | *.tlh 181 | *.tmp 182 | *.tmp_proj 183 | *.log 184 | *.vspscc 185 | *.vssscc 186 | .builds 187 | *.pidb 188 | *.svclog 189 | *.scc 190 | 191 | # Chutzpah Test files 192 | _Chutzpah* 193 | 194 | # Visual C++ cache files 195 | ipch/ 196 | *.aps 197 | *.ncb 198 | *.opendb 199 | *.opensdf 200 | *.sdf 201 | *.cachefile 202 | *.VC.db 203 | *.VC.VC.opendb 204 | 205 | # Visual Studio profiler 206 | *.psess 207 | *.vsp 208 | *.vspx 209 | *.sap 210 | 211 | # Visual Studio Trace Files 212 | *.e2e 213 | 214 | # TFS 2012 Local Workspace 215 | $tf/ 216 | 217 | # Guidance Automation Toolkit 218 | *.gpState 219 | 220 | # ReSharper is a .NET coding add-in 221 | _ReSharper*/ 222 | *.[Rr]e[Ss]harper 223 | *.DotSettings.user 224 | 225 | # JustCode is a .NET coding add-in 226 | .JustCode 227 | 228 | # TeamCity is a build add-in 229 | _TeamCity* 230 | 231 | # DotCover is a Code Coverage Tool 232 | *.dotCover 233 | 234 | # AxoCover is a Code Coverage Tool 235 | .axoCover/* 236 | !.axoCover/settings.json 237 | 238 | # Visual Studio code coverage results 239 | *.coverage 240 | *.coveragexml 241 | 242 | # NCrunch 243 | _NCrunch_* 244 | .*crunch*.local.xml 245 | nCrunchTemp_* 246 | 247 | # MightyMoose 248 | *.mm.* 249 | AutoTest.Net/ 250 | 251 | # Web workbench (sass) 252 | .sass-cache/ 253 | 254 | # Installshield output folder 255 | [Ee]xpress/ 256 | 257 | # DocProject is a documentation generator add-in 258 | DocProject/buildhelp/ 259 | DocProject/Help/*.HxT 260 | DocProject/Help/*.HxC 261 | DocProject/Help/*.hhc 262 | DocProject/Help/*.hhk 263 | DocProject/Help/*.hhp 264 | DocProject/Help/Html2 265 | DocProject/Help/html 266 | 267 | # Click-Once directory 268 | publish/ 269 | 270 | # Publish Web Output 271 | *.[Pp]ublish.xml 272 | *.azurePubxml 273 | # Note: Comment the next line if you want to checkin your web deploy settings, 274 | # but database connection strings (with potential passwords) will be unencrypted 275 | *.pubxml 276 | *.publishproj 277 | 278 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 279 | # checkin your Azure Web App publish settings, but sensitive information contained 280 | # in these scripts will be unencrypted 281 | PublishScripts/ 282 | 283 | # NuGet Packages 284 | *.nupkg 285 | # The packages folder can be ignored because of Package Restore 286 | **/[Pp]ackages/* 287 | # except build/, which is used as an MSBuild target. 288 | !**/[Pp]ackages/build/ 289 | # Uncomment if necessary however generally it will be regenerated when needed 290 | #!**/[Pp]ackages/repositories.config 291 | # NuGet v3's project.json files produces more ignorable files 292 | *.nuget.props 293 | *.nuget.targets 294 | 295 | # Microsoft Azure Build Output 296 | csx/ 297 | *.build.csdef 298 | 299 | # Microsoft Azure Emulator 300 | ecf/ 301 | rcf/ 302 | 303 | # Windows Store app package directories and files 304 | AppPackages/ 305 | BundleArtifacts/ 306 | Package.StoreAssociation.xml 307 | _pkginfo.txt 308 | *.appx 309 | 310 | # Visual Studio cache files 311 | # files ending in .cache can be ignored 312 | *.[Cc]ache 313 | # but keep track of directories ending in .cache 314 | !*.[Cc]ache/ 315 | 316 | # Others 317 | ClientBin/ 318 | ~$* 319 | *.dbmdl 320 | *.dbproj.schemaview 321 | *.jfm 322 | *.pfx 323 | *.publishsettings 324 | orleans.codegen.cs 325 | 326 | # Including strong name files can present a security risk 327 | # (https://github.com/github/gitignore/pull/2483#issue-259490424) 328 | #*.snk 329 | 330 | # Since there are multiple workflows, uncomment next line to ignore bower_components 331 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 332 | #bower_components/ 333 | 334 | # RIA/Silverlight projects 335 | Generated_Code/ 336 | 337 | # Backup & report files from converting an old project file 338 | # to a newer Visual Studio version. Backup files are not needed, 339 | # because we have git ;-) 340 | _UpgradeReport_Files/ 341 | Backup*/ 342 | UpgradeLog*.XML 343 | UpgradeLog*.htm 344 | ServiceFabricBackup/ 345 | *.rptproj.bak 346 | 347 | # SQL Server files 348 | *.mdf 349 | *.ldf 350 | *.ndf 351 | 352 | # Business Intelligence projects 353 | *.rdl.data 354 | *.bim.layout 355 | *.bim_*.settings 356 | *.rptproj.rsuser 357 | 358 | # Microsoft Fakes 359 | FakesAssemblies/ 360 | 361 | # GhostDoc plugin setting file 362 | *.GhostDoc.xml 363 | 364 | # Node.js Tools for Visual Studio 365 | .ntvs_analysis.dat 366 | node_modules/ 367 | 368 | # Visual Studio 6 build log 369 | *.plg 370 | 371 | # Visual Studio 6 workspace options file 372 | *.opt 373 | 374 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 375 | *.vbw 376 | 377 | # Visual Studio LightSwitch build output 378 | **/*.HTMLClient/GeneratedArtifacts 379 | **/*.DesktopClient/GeneratedArtifacts 380 | **/*.DesktopClient/ModelManifest.xml 381 | **/*.Server/GeneratedArtifacts 382 | **/*.Server/ModelManifest.xml 383 | _Pvt_Extensions 384 | 385 | # Paket dependency manager 386 | .paket/paket.exe 387 | paket-files/ 388 | 389 | # FAKE - F# Make 390 | .fake/ 391 | 392 | # JetBrains Rider 393 | .idea/ 394 | *.sln.iml 395 | 396 | # CodeRush 397 | .cr/ 398 | 399 | # Python Tools for Visual Studio (PTVS) 400 | __pycache__/ 401 | *.pyc 402 | 403 | # Cake - Uncomment if you are using it 404 | # tools/** 405 | # !tools/packages.config 406 | 407 | # Tabs Studio 408 | *.tss 409 | 410 | # Telerik's JustMock configuration file 411 | *.jmconfig 412 | 413 | # BizTalk build output 414 | *.btp.cs 415 | *.btm.cs 416 | *.odx.cs 417 | *.xsd.cs 418 | 419 | # OpenCover UI analysis results 420 | OpenCover/ 421 | 422 | # Azure Stream Analytics local run output 423 | ASALocalRun/ 424 | 425 | # MSBuild Binary and Structured Log 426 | *.binlog 427 | 428 | # NVidia Nsight GPU debugger configuration file 429 | *.nvuser 430 | 431 | # MFractors (Xamarin productivity tool) working folder 432 | .mfractor/ 433 | 434 | ### VisualStudio Patch ### 435 | # By default, sensitive information, such as encrypted password 436 | # should be stored in the .pubxml.user file. 437 | *.pubxml.user 438 | 439 | 440 | # End of https://www.gitignore.io/api/linux,macos,windows,sublimetext,visualstudio -------------------------------------------------------------------------------- /app/pln/penggunaan.php: -------------------------------------------------------------------------------- 1 | caridata("penggunaan WHERE id_pelanggan = '$id_pel' AND meter_akhir = '0'"); 14 | if ($penggunaan == "") { 15 | $aksi->pesan('Data Bulan ini sudah diinput'); 16 | } 17 | }elseif(isset($_GET['hapus']) OR isset($_GET['edit'])){ 18 | $penggunaan = $aksi->caridata("penggunaan WHERE id_penggunaan = '$id'"); 19 | $id_pel = $penggunaan['id_pelanggan']; 20 | } 21 | 22 | @$pelanggan = $aksi->caridata("pelanggan WHERE id_pelanggan = '$id_pel'"); 23 | @$tarif = $aksi->caridata("tarif WHERE id_tarif = '$pelanggan[id_tarif]'"); 24 | @$tarif_perkwh = $tarif['tarif_perkwh']; 25 | @$id_guna = $penggunaan['id_penggunaan']; 26 | @$mawal = $penggunaan['meter_awal']; 27 | @$bulan = $penggunaan['bulan']; 28 | @$tahun = $penggunaan['tahun']; 29 | 30 | if ($bulan==12) { 31 | if($bulan<10){ 32 | $bln = ($bulan+1); 33 | $next_bulan = "0".$bln; 34 | }else{ 35 | $next_bulan = $bulan+1; 36 | } 37 | $next_tahun = $tahun+1; 38 | }else{ 39 | if ($bulan<10) { 40 | $bln = ($bulan+1); 41 | $next_bulan = "0".$bln; 42 | }else{ 43 | $next_bulan = $bulan+1; 44 | } 45 | $next_tahun = $tahun; 46 | } 47 | // echo $next_tahun."-".$next_bulan."-".$mawal."-".@$id_pel."
"; 48 | 49 | @$id_pelanggan = $_POST['id_pelanggan']; 50 | @$meter_akhir = $_POST['meter_akhir']; 51 | @$meter_awal = $_POST['meter_awal']; 52 | @$tgl_cek = $_POST['tgl_cek']; 53 | @$jumlah_meter = ($meter_akhir-$mawal); 54 | @$jumlah_bayar = ($jumlah_meter*$tarif_perkwh); 55 | @$id_penggunaan_next = $id_pel.$next_bulan.$next_tahun; 56 | 57 | // echo $id_penggunaan_next."-".$tahun."-".$bulan; 58 | @$field_next = array( 59 | 'id_penggunaan'=>$id_penggunaan_next, 60 | 'id_pelanggan'=>$id_pelanggan, 61 | 'bulan'=>$next_bulan, 62 | 'tahun'=>$next_tahun, 63 | 'meter_awal'=>$meter_akhir, 64 | ); 65 | 66 | 67 | @$field = array( 68 | 'meter_akhir'=>$meter_akhir, 69 | 'tgl_cek'=>$tgl_cek, 70 | 'id_petugas'=>$_SESSION['id_petugas'], 71 | ); 72 | 73 | @$field_update = array('meter_awal'=>$meter_akhir,); 74 | 75 | @$field_tagihan = array( 76 | 'id_pelanggan'=>$id_pelanggan, 77 | 'bulan'=>$bulan, 78 | 'tahun'=>$tahun, 79 | 'jumlah_meter'=>$jumlah_meter, 80 | 'tarif_perkwh'=>$tarif_perkwh, 81 | 'jumlah_bayar'=>$jumlah_bayar, 82 | 'status'=>"Belum Bayar", 83 | 'id_petugas'=>$_SESSION['id_petugas'], 84 | ); 85 | 86 | @$field_tagihan_update = array( 87 | 'jumlah_meter'=>$jumlah_meter, 88 | 'tarif_perkwh'=>$tarif_perkwh, 89 | 'jumlah_bayar'=>$jumlah_bayar, 90 | 'status'=>"Belum Bayar", 91 | 'id_petugas'=>$_SESSION['id_petugas'], 92 | ); 93 | 94 | if (isset($_POST['bsimpan'])) { 95 | if ($meter_akhir <= $meter_awal) { 96 | $aksi->pesan("Meter Akhir Tidak Mungkin Kurang dari Meter Awal"); 97 | }else{ 98 | $aksi->simpan("tagihan",$field_tagihan); 99 | $aksi->update($table,$field,"id_penggunaan = '$id_guna'"); 100 | $aksi->simpan($table,$field_next); 101 | $aksi->alert("Data Berhasil Disimpan",$redirect); 102 | } 103 | } 104 | 105 | 106 | if (isset($_POST['bubah'])) { 107 | // echo "
".$id_penggunaan_next."-".$bulan."-".$tahun; 108 | $aksi->update($table,$field_update,"id_penggunaan = '$id_penggunaan_next'"); 109 | $aksi->update("tagihan",$field_tagihan_update,"id_pelanggan = '$id_pel' AND bulan = '$bulan' AND tahun = '$tahun'"); 110 | $aksi->update($table,$field,$where); 111 | $aksi->alert("Data Berhasil Diubah",$redirect); 112 | } 113 | 114 | if (isset($_GET['edit'])) { 115 | $edit = $aksi->edit($table,$where); 116 | } 117 | 118 | if (isset($_GET['hapus'])) { 119 | $aksi->update("penggunaan", 120 | array( 121 | 'meter_akhir'=>0, 122 | 'tgl_cek'=>"", 123 | 'id_petugas'=>"",), 124 | $where); 125 | $aksi->hapus("penggunaan","id_penggunaan = '$id_penggunaan_next'"); 126 | $aksi->hapus("tagihan","id_pelanggan = '$id_pel' AND bulan = '$bulan' AND tahun = '$tahun'"); 127 | $aksi->alert("Data Berhasil Dihapus",$redirect); 128 | } 129 | 130 | if (isset($_POST['bcari'])) { 131 | $text = $_POST['tcari']; 132 | $cari = "WHERE id_pelanggan LIKE '%$text%' OR id_penggunaan LIKE '%$text%' OR meter_awal LIKE '%$text%' OR meter_akhir LIKE '%$text%' OR tahun LIKE '%$text%' OR nama_pelanggan LIKE '%$text%' OR nama_petugas LIKE '%$text%'"; 133 | }else{ 134 | $cari=" WHERE meter_akhir != 0"; 135 | } 136 | ?> 137 | 138 | 139 | 140 | PELANGGAN 141 | 142 | 143 |
144 |
145 |
146 |
147 |
148 |
149 | 150 |
INPUT PENGGUNAAN
151 | 152 |
UBAH PENGGUNAAN -
153 | 154 |
155 |
156 |
157 |
158 |   [TEKAN TAB] 159 | " list="id_pel" onkeypress='return event.charCode >=48 && event.charCode <=57' > 160 | 161 | 164 | 165 | 166 | 167 |
168 |
169 | 170 | bulan(@$bulan);echo " ".@$tahun;}else{@$aksi->bulan(@$edit['bulan']);echo " ".@$edit['tahun'];} ?>"> 171 |
172 |
173 | 174 | "> 175 |
176 |
177 | 178 | 179 |
180 |
181 | 182 | 183 |
184 | 185 |
186 | 188 | 189 | 190 | 191 | 192 | 193 | RESET 194 |
195 |
196 |
197 |
198 | 199 |
200 |
201 |
202 | 203 |
204 |
205 |
DAFTAR PENGGUNAAN
206 |
207 |
208 |
209 |
210 | 211 |
212 | 213 | 214 |
215 |
216 |
217 |
218 | 219 |
220 |
221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | tampil("qw_penggunaan",$cari,"ORDER BY tgl_cek DESC"); 238 | if ($data=="") { 239 | $aksi->no_record(8); 240 | }else{ 241 | foreach ($data as $r) { 242 | $cek = $aksi->cekdata("tagihan WHERE id_pelanggan = '$r[id_pelanggan]' AND bulan = '$r[bulan]' AND tahun = '$r[tahun]' AND status = 'Belum Bayar'"); 243 | $no++; ?> 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 |
No.
Kode PenggunaanID PelangganNamaBulanMeter AwalMeter AkhirTanggal CekPetugas
AKSI
.bulan($r['bulan']);echo " ".$r['tahun'];?>format_tanggal($r['tgl_cek']); ?>
267 |
268 |
269 |
270 | 271 |
272 |
273 |
274 |
275 | 276 | -------------------------------------------------------------------------------- /app/agen/pembayaran.php: -------------------------------------------------------------------------------- 1 | 36 | 37 | 38 | 39 | PEMBAYARAN 40 | 41 | 42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
INPUT PEMBAYARAN -
50 |
51 |
52 | 53 |
54 | " placeholder="Masukan ID Pelanggan ...." onkeypress='return event.charCode >=48 && event.charCode <=57' list="list"> 55 | 56 | 59 | 60 | 61 | 62 |
63 | 64 |
65 | 66 |
67 |
68 |
69 |
70 |
71 | caridata("pelanggan WHERE id_pelanggan = '$id_pelanggan'"); 74 | $tagihan = $aksi->cekdata("tagihan WHERE id_pelanggan = '$id_pelanggan' AND status ='Belum Bayar'"); 75 | $tarif = $aksi->caridata("tarif WHERE id_tarif = '$pelanggan[id_tarif]'"); 76 | 77 | if($pelanggan==""){ 78 | echo "

ID PELANGGAN TIDAK DITEMUKAN

"; 79 | }elseif($tagihan == 0){ 80 | $aksi->pesan("ID Pelangan Tidak Memiliki Tunggakan Tagihan"); 81 | }else{ 82 | ?> 83 | 84 |
85 |
86 |
87 |
DETAIL TAGIHAN -
88 |
89 |
90 |
91 |
92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 |
ID Pelanggan:
Nama:
No.Meter:
Alamat:
Tarif:"; $aksi->rupiah($tarif['tarif_perkwh']); ?>
119 |
120 |
121 |
122 |
123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | tampil("tagihan","WHERE id_pelanggan = '$id_pelanggan' AND status = 'Belum Bayar' "," order by bulan asc"); 139 | if ($data=="") { 140 | $aksi->no_record(8); 141 | }else{ 142 | foreach ($data as $r) { 143 | // $tagihan = $aksi->caridata("tagihan WHERE id_pelanggan = '$id_pelanggan' AND status ='Belum Bayar' "); 144 | $penggunaan = $aksi->caridata("penggunaan WHERE id_pelanggan = '$r[id_pelanggan]' AND bulan = '$r[bulan]' AND tahun = '$r[tahun]'"); 145 | $no++; ?> 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 163 | 164 | 165 | 166 | 167 | 170 | 171 | 172 | 173 |
No.ID PelangganBulan
Meter Awal
Meter Akhir
Jumlah Meter
Tarif/
KWh
Jumlah Bayar
AKSI
.bulan($r['bulan']);echo " ".$r['tahun'] ?>rupiah($r['tarif_perkwh']) ?>rupiah($r['jumlah_bayar']) ?>BAYAR
TOTAL TAGIHAN: 168 | 169 |
174 |
175 |
176 |
177 |
178 | 179 |
180 |
181 | caridata("penggunaan WHERE id_pelanggan = '$_GET[id_pelanggan]' AND bulan = '$_GET[bulan]' AND tahun = '$_GET[tahun]'"); 183 | $tagihan = $aksi->caridata("tagihan WHERE id_pelanggan = '$_GET[id_pelanggan]' AND bulan = '$_GET[bulan]' AND tahun = '$_GET[tahun]'"); 184 | $sum_akhir = ($tagihan['jumlah_bayar']+$_SESSION['biaya_admin']); 185 | 186 | @$biaya_admin = $_POST['biaya_admin']; 187 | @$total_bayar = $_POST['total_bayar']; 188 | @$total_akhir = $_POST['total_akhir']; 189 | @$bayar = $_POST['bayar']; 190 | @$kembali = $_POST['kembali']; 191 | @$tanggal = date("Y-m-d"); 192 | @$id_agen = $_SESSION['id_agen']; 193 | 194 | @$id_pel = $_GET['id_pelanggan']; 195 | @$bln = $_GET['bulan']; 196 | @$thn = $_GET['tahun']; 197 | @$field = array( 198 | 'id_pembayaran'=>$id_pembayaran, 199 | 'id_pelanggan'=>$id_pel, 200 | 'tgl_bayar'=>$tanggal, 201 | 'jumlah_bayar'=>$total_bayar, 202 | 'biaya_admin'=>$biaya_admin, 203 | 'bulan_bayar'=>$bln, 204 | 'tahun_bayar'=>$thn, 205 | 'total_akhir'=>$total_akhir, 206 | 'bayar'=>$bayar, 207 | 'kembali'=>$kembali, 208 | 'id_agen'=>$id_agen, 209 | ); 210 | 211 | if (isset($_POST['bbayar'])) { 212 | if ($bayar < $total_akhir) { 213 | $aksi->pesan("Maaf Uang Tidak Mencukupi"); 214 | }else{ 215 | $aksi->update("tagihan",array('status'=>"Terbayar"),"id_pelanggan = '$id_pel' AND bulan = '$bln' AND tahun = '$thn' AND status = 'Belum Bayar'"); 216 | $aksi->simpan($table,$field); 217 | $aksi->alert("Data Berhasil Disimpan","struk.php?id_pelanggan=".$id_pel."&bulan=".$bln."&tahun=".$thn); 218 | } 219 | } 220 | 221 | ?> 222 |
223 |
224 |
225 |
226 |
PEMBAYARAN - bulan(@$_GET['bulan']); echo " ".@$_GET['tahun']; ?>
227 |
228 |
229 |
230 | 231 | 232 | BULAN PENGGUNAAN 233 | 234 | " readonly class="form-control" required> 235 | 236 | 237 | 238 | METER AWAL 239 | 240 | 241 | 242 | 243 | 244 | METER AKHIR 245 | 246 | 247 | 248 | 249 | 250 | JUMLAH METER 251 | 252 | 253 | 254 | 255 | 256 | TARIF/KWH 257 | 258 | 259 | 260 | 261 | 262 | TAGIHAN PLN 263 | 264 | 265 | 266 | 267 | 268 | BIAYA ADMIN : 269 | 270 | 271 | 272 | 273 | 274 | TOTAL AKHIR: 275 | 276 | 277 | 278 | 279 | 280 | BAYAR: 281 | 282 | 283 | 284 | 285 | 286 | KEMBALI: 287 | 288 | 289 | 290 | 291 | 292 |   293 | 294 | 295 | 296 | 297 | 298 |
299 |
300 |
301 |
302 |
303 |
304 | 305 |
306 |
307 | 308 | -------------------------------------------------------------------------------- /app/pln/print.php: -------------------------------------------------------------------------------- 1 | caridata("pelanggan WHERE id_pelanggan = '$id_pelanggan'"); 73 | 74 | $cari = "WHERE id_pelanggan = '$id_pelanggan' AND tahun = '$tahun'"; 75 | 76 | $judul = "LAPORAN RIWAYAT PENGGUNNAN ".strtoupper($pelanggan['nama'])." ($id_pelanggan) PADA TAHUN $tahun"; 77 | $filename = $judul; 78 | if(isset($_GET['excel'])){ 79 | header("Content-type:aplication/vnd-ms-excel"); 80 | header("Content-type: application/image/png"); 81 | header("Content-disposition:attachment; filename=".$filename.".xls"); 82 | } 83 | 84 | } 85 | 86 | ?> 87 | 88 | 89 | 90 | PRINT LAPORAN 91 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 115 | 116 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 |
  113 | 114 | 117 |

PERUSAHAAN LISTRIK MILIK NEGARA

118 |

PT. PLN PERSERO

119 |
JL. Kapten Muslihat No.2, Paledang, Bogor Tengah, Kota Bogor, Jawa Barat 16122
120 |

bulan($bulan);echo " TAHUN $tahun"; ?>

129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | tampil($table,$cari,"ORDER BY golongan ASC"); 145 | if ($data=="") { 146 | $aksi->no_record(5); 147 | }else{ 148 | foreach ($data as $r) { 149 | $no++; ?> 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 |
No.
Kode Tarif
Golongan
Daya
Tarif/KWh
.rupiah($r['tarif_perkwh']) ?>
162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | tampil($table,$cari,"ORDER BY id_pelanggan"); 178 | if ($data=="") { 179 | $aksi->no_record(9); 180 | }else{ 181 | foreach ($data as $r) { 182 | $a = $aksi->caridata("tarif WHERE id_tarif = '$r[id_tarif]'"); 183 | $no++; ?> 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 |
No.
ID Pelanggan
No.Meter
Nama
Alamat
Tenggang
Kode Tarif
.
197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | tampil($table,$cari,"ORDER BY id_agen DESC"); 212 | if ($a=="") { 213 | $aksi->no_record(7); 214 | }else{ 215 | foreach ($a as $r) { 216 | $cek = $aksi->cekdata(" pembayaran WHERE id_agen = '$r[id_agen]'"); 217 | $no++; 218 | ?> 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 |
No.
ID Agen
Nama
No.Telepon
Alamat
Biaya Admin
.rupiah($r['biaya_admin']); ?>
231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | tampil($table,$cari,""); 248 | if ($data=="") { 249 | $aksi->no_record(8); 250 | }else{ 251 | foreach ($data as $r) { 252 | $no++; 253 | ?> 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 |
No.
ID Pelanggan
Nama Pelanggan
Bulan
Jumlah Meter
Jumlah Bayar
Status
Petugas
.bulan($r['bulan']);echo " ".$r['tahun'];?>rupiah($r['jumlah_bayar'])?>
268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | tampil($table,$cari,"ORDER BY nama ASC"); 287 | if ($data=="") { 288 | $aksi->no_record(8); 289 | }else{ 290 | foreach ($data as $r) { 291 | $cek = $aksi->cekdata("tagihan WHERE id_pelanggan = '$r[id_pelanggan]' AND status = 'Belum Bayar'"); 292 | ?> 293 | = 3){ 295 | $no++; 296 | $sum = mysql_fetch_array(mysql_query("SELECT id_pelanggan,COUNT(bulan) as bln_tunggak,sum(jumlah_bayar) jml_bayar,SUM(jumlah_meter) as jml_meter,tarif_perkwh FROM tagihan WHERE id_pelanggan = '$r[id_pelanggan]' AND status = 'Belum Bayar'")); 297 | $bulan = mysql_query("SELECT * FROM tagihan WHERE id_pelanggan = '$r[id_pelanggan]' AND status = 'Belum Bayar' "); 298 | ?> 299 | 300 | 301 | 302 | 303 | 304 | 305 | 311 | 312 | 313 | 314 | 315 | 316 | 317 |
No.
ID Pelanggan
Nama Pelanggan
Alamat
Banyak Tunggakan
Bulan
Total Meter
Tarif/Kwh
Total Tunggakan
. Bulan 306 | bulan_substr($bln['bulan']);echo substr($bln['tahun'], 2,2).","; 308 | } ?> 309 | 310 | rupiah($sum['tarif_perkwh']); ?>rupiah($sum['jml_bayar']); ?>
318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | tampil($table,$cari,"ORDER BY bulan ASC"); 336 | if ($data=="") { 337 | $aksi->no_record(9); 338 | }else{ 339 | foreach ($data as $r) { 340 | $no++; 341 | $penggunaan = $aksi->caridata("penggunaan WHERE id_pelanggan = '$r[id_pelanggan]' AND bulan = '$r[bulan]' AND tahun = '$r[tahun]'"); 342 | ?> 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 |
No.
ID Pelanggan
Nama Pelanggan
Bulan
Meter Awal
Meter Akhir
Jumlah Meter
Tarif/KWh
Jumlah Bayar
.bulan($r['bulan']);echo " ".$r['tahun']; ?>rupiah($r['tarif_perkwh']); ?>rupiah($r['jumlah_bayar']); ?>
TOTAL METER :TOTAL BAYAR :rupiah($sum['bayar']); ?>
367 | 368 | 369 | 370 | 371 | 390 | 391 | 392 | -------------------------------------------------------------------------------- /database/11505071_zidun.sql: -------------------------------------------------------------------------------- 1 | -- phpMyAdmin SQL Dump 2 | -- version 3.5.2.2 3 | -- http://www.phpmyadmin.net 4 | -- 5 | -- Host: 127.0.0.1 6 | -- Generation Time: Feb 01, 2018 at 09:35 AM 7 | -- Server version: 5.5.27 8 | -- PHP Version: 5.4.7 9 | 10 | SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; 11 | SET time_zone = "+00:00"; 12 | 13 | 14 | /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; 15 | /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; 16 | /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; 17 | /*!40101 SET NAMES utf8 */; 18 | 19 | -- 20 | -- Database: `11505071_zidun` 21 | -- 22 | 23 | -- -------------------------------------------------------- 24 | 25 | -- 26 | -- Table structure for table `agen` 27 | -- 28 | 29 | CREATE TABLE IF NOT EXISTS `agen` ( 30 | `id_agen` varchar(12) NOT NULL, 31 | `nama` varchar(50) NOT NULL, 32 | `alamat` text NOT NULL, 33 | `no_telepon` varchar(15) NOT NULL, 34 | `saldo` double NOT NULL, 35 | `biaya_admin` double NOT NULL, 36 | `username` varchar(30) NOT NULL, 37 | `password` varchar(30) NOT NULL, 38 | `akses` varchar(20) NOT NULL, 39 | PRIMARY KEY (`id_agen`) 40 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 41 | 42 | -- 43 | -- Dumping data for table `agen` 44 | -- 45 | 46 | INSERT INTO `agen` (`id_agen`, `nama`, `alamat`, `no_telepon`, `saldo`, `biaya_admin`, `username`, `password`, `akses`) VALUES 47 | ('A20180125001', 'Zidun', 'Sukabirus', '085817725512', 0, 2000, 'agen', 'agen123', 'agen'), 48 | ('A20180129001', 'Muhammad Ramdan', 'Bogor', '083811941421', 0, 5000, 'zidun', 'zidun123', 'agen'); 49 | 50 | -- -------------------------------------------------------- 51 | 52 | -- 53 | -- Table structure for table `pelanggan` 54 | -- 55 | 56 | CREATE TABLE IF NOT EXISTS `pelanggan` ( 57 | `id_pelanggan` varchar(14) NOT NULL, 58 | `no_meter` varchar(12) NOT NULL, 59 | `nama` varchar(50) NOT NULL, 60 | `alamat` text NOT NULL, 61 | `tenggang` varchar(2) NOT NULL, 62 | `id_tarif` int(11) NOT NULL, 63 | PRIMARY KEY (`id_pelanggan`) 64 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 65 | 66 | -- 67 | -- Dumping data for table `pelanggan` 68 | -- 69 | 70 | INSERT INTO `pelanggan` (`id_pelanggan`, `no_meter`, `nama`, `alamat`, `tenggang`, `id_tarif`) VALUES 71 | ('20180126081200', '025180150800', 'Muhammad Ramdan', 'Ciaiw', '26', 4), 72 | ('20180126081257', '025180150857', 'Zidun', 'Bogor', '26', 3), 73 | ('20180126081804', '025180150804', 'Syamsul Hidayatullah', 'Bandung', '26', 5), 74 | ('20180126165945', '025180151645', 'Muhammad romi', 'Sukabirus', '26', 8), 75 | ('20180128141026', '027180171426', 'Fajar Firdaus', 'Tajur', '28', 5), 76 | ('20180128141049', '027180171449', 'Muhamad Segafi Kurniawan', 'Cibogo', '28', 4), 77 | ('20180128141130', '027180171430', 'Muhammad Junaedi', 'Pasir Muncang', '28', 8), 78 | ('20180128141244', '027180171444', 'Muhammad Nur Alfi', 'Tajur', '28', 4), 79 | ('20180128141336', '027180171436', 'Ramadhan Yoga Pratam', 'Cengkareng, Jakarta', '28', 4), 80 | ('20180128141409', '027180171409', 'Rizaldy Sukma Perkasa', 'Ciawi', '28', 4), 81 | ('20180129132711', '028180111311', 'Muhammad ', 'Ciawi', '29', 10), 82 | ('20180129135850', '028180111350', 'Alwi Gunawan', 'Cireketeg', '29', 4), 83 | ('20180130165747', '029180121647', 'Muhammmad zidun', 'Ciawi', '30', 4), 84 | ('20180131085951', '030180130851', 'Zainul Fahri', 'Ciawi', '31', 3), 85 | ('20180201092427', '031180240927', 'Ari Aliansyah', 'gadog', '01', 3); 86 | 87 | -- -------------------------------------------------------- 88 | 89 | -- 90 | -- Table structure for table `pembayaran` 91 | -- 92 | 93 | CREATE TABLE IF NOT EXISTS `pembayaran` ( 94 | `id_pembayaran` varchar(15) NOT NULL, 95 | `id_pelanggan` varchar(14) NOT NULL, 96 | `tgl_bayar` date NOT NULL, 97 | `waktu_bayar` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 98 | `bulan_bayar` varchar(2) NOT NULL, 99 | `tahun_bayar` year(4) NOT NULL, 100 | `jumlah_bayar` double NOT NULL, 101 | `biaya_admin` double NOT NULL, 102 | `total_akhir` double NOT NULL, 103 | `bayar` double NOT NULL, 104 | `kembali` double NOT NULL, 105 | `id_agen` varchar(12) NOT NULL, 106 | PRIMARY KEY (`id_pembayaran`) 107 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 108 | 109 | -- 110 | -- Dumping data for table `pembayaran` 111 | -- 112 | 113 | INSERT INTO `pembayaran` (`id_pembayaran`, `id_pelanggan`, `tgl_bayar`, `waktu_bayar`, `bulan_bayar`, `tahun_bayar`, `jumlah_bayar`, `biaya_admin`, `total_akhir`, `bayar`, `kembali`, `id_agen`) VALUES 114 | ('BYR201801260001', '20180126081200', '2018-01-26', '2018-01-26 08:07:41', '02', 2018, 15000, 2000, 17000, 20000, 3000, 'A20180125001'), 115 | ('BYR201801260002', '20180126081804', '2018-01-26', '2018-01-26 09:22:34', '02', 2018, 75000, 2000, 77000, 80000, 3000, 'A20180125001'), 116 | ('BYR201801260003', '20180126165945', '2018-01-26', '2018-01-26 10:04:01', '02', 2018, 150000, 2000, 152000, 160000, 8000, 'A20180125001'), 117 | ('BYR201801280001', '20180126081200', '2018-01-28', '2018-01-28 10:17:20', '03', 2018, 135000, 2000, 137000, 140000, 3000, 'A20180125001'), 118 | ('BYR201801280002', '20180126081200', '2018-01-28', '2018-01-28 10:18:52', '04', 2018, 1350000, 2000, 1352000, 1400000, 48000, 'A20180125001'), 119 | ('BYR201801290001', '20180129132711', '2018-01-29', '2018-01-29 06:29:58', '02', 2018, 140000, 2000, 142000, 150000, 8000, 'A20180125001'), 120 | ('BYR201801290002', '20180128141130', '2018-01-29', '2018-01-29 06:41:50', '02', 2018, 1500000, 2000, 1502000, 1510000, 8000, 'A20180125001'), 121 | ('BYR201801300001', '20180130165747', '2018-01-30', '2018-01-30 10:01:59', '02', 2018, 150000, 2000, 152000, 160000, 8000, 'A20180125001'), 122 | ('BYR201802010001', '20180128141026', '2018-02-01', '2018-02-01 01:33:50', '02', 2018, 75000, 2000, 77000, 80000, 3000, 'A20180125001'), 123 | ('BYR201802010002', '20180128141026', '2018-02-01', '2018-02-01 02:22:32', '03', 2018, 37500, 2000, 39500, 40000, 500, 'A20180125001'); 124 | 125 | -- -------------------------------------------------------- 126 | 127 | -- 128 | -- Table structure for table `penggunaan` 129 | -- 130 | 131 | CREATE TABLE IF NOT EXISTS `penggunaan` ( 132 | `id_penggunaan` varchar(20) NOT NULL, 133 | `id_pelanggan` varchar(14) NOT NULL, 134 | `bulan` varchar(2) NOT NULL, 135 | `tahun` year(4) NOT NULL, 136 | `meter_awal` int(11) NOT NULL, 137 | `meter_akhir` int(11) NOT NULL, 138 | `tgl_cek` date NOT NULL, 139 | `id_petugas` varchar(12) NOT NULL, 140 | PRIMARY KEY (`id_penggunaan`) 141 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 142 | 143 | -- 144 | -- Dumping data for table `penggunaan` 145 | -- 146 | 147 | INSERT INTO `penggunaan` (`id_penggunaan`, `id_pelanggan`, `bulan`, `tahun`, `meter_awal`, `meter_akhir`, `tgl_cek`, `id_petugas`) VALUES 148 | ('20180126081200022018', '20180126081200', '02', 2018, 0, 10, '2018-02-23', 'P20180125001'), 149 | ('20180126081200032018', '20180126081200', '03', 2018, 10, 100, '2018-02-26', 'P20180125001'), 150 | ('20180126081200042018', '20180126081200', '04', 2018, 100, 1000, '2018-04-26', 'P20180125001'), 151 | ('20180126081200052018', '20180126081200', '05', 2018, 1000, 0, '0000-00-00', ''), 152 | ('20180126081257022018', '20180126081257', '02', 2018, 0, 80, '2018-02-26', 'P20180125001'), 153 | ('20180126081257032018', '20180126081257', '03', 2018, 80, 0, '0000-00-00', ''), 154 | ('20180126081804022018', '20180126081804', '02', 2018, 0, 100, '2018-02-26', 'P20180125001'), 155 | ('20180126081804032018', '20180126081804', '03', 2018, 100, 0, '0000-00-00', ''), 156 | ('20180126165945022018', '20180126165945', '02', 2018, 0, 100, '2018-02-26', 'P20180125001'), 157 | ('20180126165945032018', '20180126165945', '03', 2018, 100, 0, '0000-00-00', ''), 158 | ('20180128141026022018', '20180128141026', '02', 2018, 0, 100, '2018-02-01', 'P20180125001'), 159 | ('20180128141026032018', '20180128141026', '03', 2018, 100, 150, '2018-03-01', 'P20180125001'), 160 | ('20180128141026042018', '20180128141026', '04', 2018, 150, 200, '2018-04-23', 'P20180125001'), 161 | ('20180128141026052018', '20180128141026', '05', 2018, 200, 0, '0000-00-00', ''), 162 | ('20180128141049022018', '20180128141049', '02', 2018, 0, 0, '0000-00-00', ''), 163 | ('20180128141130022018', '20180128141130', '02', 2018, 0, 1000, '2018-02-26', 'P20180125001'), 164 | ('20180128141130032018', '20180128141130', '03', 2018, 1000, 2000, '2018-01-01', 'P20180125001'), 165 | ('20180128141130042018', '20180128141130', '04', 2018, 2000, 0, '0000-00-00', ''), 166 | ('20180128141244022018', '20180128141244', '02', 2018, 0, 0, '0000-00-00', ''), 167 | ('20180128141336022018', '20180128141336', '02', 2018, 0, 0, '0000-00-00', ''), 168 | ('20180128141409022018', '20180128141409', '02', 2018, 0, 0, '0000-00-00', ''), 169 | ('20180129132711022018', '20180129132711', '02', 2018, 0, 100, '2018-01-29', 'P20180125001'), 170 | ('20180129132711032018', '20180129132711', '03', 2018, 100, 0, '0000-00-00', ''), 171 | ('20180129135850022018', '20180129135850', '02', 2018, 0, 50, '2018-02-25', 'P20180125001'), 172 | ('20180129135850032018', '20180129135850', '03', 2018, 50, 70, '2018-03-25', 'P20180125001'), 173 | ('20180129135850042018', '20180129135850', '04', 2018, 70, 0, '0000-00-00', ''), 174 | ('20180130165747022018', '20180130165747', '02', 2018, 0, 100, '2018-02-21', 'P20180125001'), 175 | ('20180130165747032018', '20180130165747', '03', 2018, 100, 0, '0000-00-00', ''), 176 | ('20180131085951022018', '20180131085951', '02', 2018, 0, 100, '2018-02-21', 'P20180125001'), 177 | ('20180131085951032018', '20180131085951', '03', 2018, 100, 120, '2018-03-21', 'P20180125001'), 178 | ('20180131085951042018', '20180131085951', '04', 2018, 120, 200, '2018-04-25', 'P20180125001'), 179 | ('20180131085951052018', '20180131085951', '05', 2018, 200, 0, '0000-00-00', ''), 180 | ('20180201075546022018', '20180201075546', '02', 2018, 0, 0, '0000-00-00', ''), 181 | ('20180201092427022018', '20180201092427', '02', 2018, 0, 100, '2018-02-21', 'P20180125001'), 182 | ('20180201092427032018', '20180201092427', '03', 2018, 100, 0, '0000-00-00', ''); 183 | 184 | -- -------------------------------------------------------- 185 | 186 | -- 187 | -- Table structure for table `petugas` 188 | -- 189 | 190 | CREATE TABLE IF NOT EXISTS `petugas` ( 191 | `id_petugas` varchar(12) NOT NULL, 192 | `nama` varchar(50) NOT NULL, 193 | `alamat` text NOT NULL, 194 | `no_telepon` varchar(15) NOT NULL, 195 | `jk` varchar(1) NOT NULL, 196 | `username` varchar(30) NOT NULL, 197 | `password` varchar(30) NOT NULL, 198 | `akses` varchar(20) NOT NULL, 199 | PRIMARY KEY (`id_petugas`) 200 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 201 | 202 | -- 203 | -- Dumping data for table `petugas` 204 | -- 205 | 206 | INSERT INTO `petugas` (`id_petugas`, `nama`, `alamat`, `no_telepon`, `jk`, `username`, `password`, `akses`) VALUES 207 | ('P20180125001', 'Muhammad Ramdan', 'Sukabirus', '083811941421', 'L', 'petugas', 'petugas123', 'petugas'), 208 | ('P20180129001', 'Muhammad Ramdan', '12', '12', 'L', 'ramdan', 'aku123', 'petugas'); 209 | 210 | -- -------------------------------------------------------- 211 | 212 | -- 213 | -- Stand-in structure for view `qw_pembayaran` 214 | -- 215 | CREATE TABLE IF NOT EXISTS `qw_pembayaran` ( 216 | `id_pembayaran` varchar(15) 217 | ,`id_pelanggan` varchar(14) 218 | ,`tgl_bayar` date 219 | ,`waktu_bayar` timestamp 220 | ,`bulan_bayar` varchar(2) 221 | ,`tahun_bayar` year(4) 222 | ,`jumlah_bayar` double 223 | ,`biaya_admin` double 224 | ,`total_akhir` double 225 | ,`bayar` double 226 | ,`kembali` double 227 | ,`id_agen` varchar(12) 228 | ,`nama_pelanggan` varchar(50) 229 | ,`nama_agen` varchar(50) 230 | ); 231 | -- -------------------------------------------------------- 232 | 233 | -- 234 | -- Stand-in structure for view `qw_penggunaan` 235 | -- 236 | CREATE TABLE IF NOT EXISTS `qw_penggunaan` ( 237 | `id_penggunaan` varchar(20) 238 | ,`id_pelanggan` varchar(14) 239 | ,`bulan` varchar(2) 240 | ,`tahun` year(4) 241 | ,`meter_awal` int(11) 242 | ,`meter_akhir` int(11) 243 | ,`tgl_cek` date 244 | ,`id_petugas` varchar(12) 245 | ,`nama_pelanggan` varchar(50) 246 | ,`nama_petugas` varchar(50) 247 | ); 248 | -- -------------------------------------------------------- 249 | 250 | -- 251 | -- Stand-in structure for view `qw_tagihan` 252 | -- 253 | CREATE TABLE IF NOT EXISTS `qw_tagihan` ( 254 | `id_tagihan` int(11) 255 | ,`id_pelanggan` varchar(14) 256 | ,`bulan` varchar(2) 257 | ,`tahun` year(4) 258 | ,`jumlah_meter` int(11) 259 | ,`tarif_perkwh` double 260 | ,`jumlah_bayar` double 261 | ,`status` varchar(15) 262 | ,`id_petugas` varchar(12) 263 | ,`nama_pelanggan` varchar(50) 264 | ,`id_tarif` int(11) 265 | ,`nama_petugas` varchar(50) 266 | ); 267 | -- -------------------------------------------------------- 268 | 269 | -- 270 | -- Table structure for table `tagihan` 271 | -- 272 | 273 | CREATE TABLE IF NOT EXISTS `tagihan` ( 274 | `id_tagihan` int(11) NOT NULL AUTO_INCREMENT, 275 | `id_pelanggan` varchar(14) NOT NULL, 276 | `bulan` varchar(2) NOT NULL, 277 | `tahun` year(4) NOT NULL, 278 | `jumlah_meter` int(11) NOT NULL, 279 | `tarif_perkwh` double NOT NULL, 280 | `jumlah_bayar` double NOT NULL, 281 | `status` varchar(15) NOT NULL, 282 | `id_petugas` varchar(12) NOT NULL, 283 | PRIMARY KEY (`id_tagihan`) 284 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=25 ; 285 | 286 | -- 287 | -- Dumping data for table `tagihan` 288 | -- 289 | 290 | INSERT INTO `tagihan` (`id_tagihan`, `id_pelanggan`, `bulan`, `tahun`, `jumlah_meter`, `tarif_perkwh`, `jumlah_bayar`, `status`, `id_petugas`) VALUES 291 | (5, '20180126081200', '02', 2018, 10, 1500, 15000, 'Terbayar', 'P20180125001'), 292 | (6, '20180126081200', '03', 2018, 90, 1500, 135000, 'Terbayar', 'P20180125001'), 293 | (7, '20180126081804', '02', 2018, 100, 750, 75000, 'Terbayar', 'P20180125001'), 294 | (8, '20180126165945', '02', 2018, 100, 1500, 150000, 'Terbayar', 'P20180125001'), 295 | (9, '20180126081257', '02', 2018, 80, 1000, 80000, 'Belum Bayar', 'P20180125001'), 296 | (10, '20180126081200', '04', 2018, 900, 1500, 1350000, 'Terbayar', 'P20180125001'), 297 | (11, '20180129132711', '02', 2018, 100, 1400, 140000, 'Terbayar', 'P20180125001'), 298 | (12, '20180128141130', '02', 2018, 1000, 1500, 1500000, 'Terbayar', 'P20180125001'), 299 | (13, '20180128141130', '03', 2018, 1000, 1500, 1500000, 'Belum Bayar', 'P20180125001'), 300 | (14, '20180129135850', '02', 2018, 50, 1500, 75000, 'Belum Bayar', 'P20180125001'), 301 | (15, '20180129135850', '03', 2018, 20, 1500, 30000, 'Belum Bayar', 'P20180125001'), 302 | (16, '20180128141026', '02', 2018, 100, 750, 75000, 'Terbayar', 'P20180125001'), 303 | (17, '20180128141026', '03', 2018, 50, 750, 37500, 'Terbayar', 'P20180125001'), 304 | (18, '20180128141026', '04', 2018, 50, 750, 37500, 'Belum Bayar', 'P20180125001'), 305 | (19, '20180130165747', '02', 2018, 100, 1500, 150000, 'Terbayar', 'P20180125001'), 306 | (20, '20180131085951', '02', 2018, 100, 1000, 100000, 'Belum Bayar', 'P20180125001'), 307 | (21, '20180131085951', '03', 2018, 20, 1000, 20000, 'Belum Bayar', 'P20180125001'), 308 | (22, '20180131085951', '04', 2018, 80, 1000, 80000, 'Belum Bayar', 'P20180125001'), 309 | (24, '20180201092427', '02', 2018, 100, 1000, 100000, 'Belum Bayar', 'P20180125001'); 310 | 311 | -- -------------------------------------------------------- 312 | 313 | -- 314 | -- Table structure for table `tarif` 315 | -- 316 | 317 | CREATE TABLE IF NOT EXISTS `tarif` ( 318 | `id_tarif` int(11) NOT NULL AUTO_INCREMENT, 319 | `kode_tarif` varchar(20) NOT NULL, 320 | `golongan` varchar(10) NOT NULL, 321 | `daya` varchar(10) NOT NULL, 322 | `tarif_perkwh` double NOT NULL, 323 | PRIMARY KEY (`id_tarif`) 324 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=17 ; 325 | 326 | -- 327 | -- Dumping data for table `tarif` 328 | -- 329 | 330 | INSERT INTO `tarif` (`id_tarif`, `kode_tarif`, `golongan`, `daya`, `tarif_perkwh`) VALUES 331 | (3, 'R3/450VA', 'R3', '450VA', 1000), 332 | (4, 'R1/900VA', 'R1', '900VA', 1500), 333 | (5, 'R2/450VA', 'R2', '450VA', 750), 334 | (8, 'R2/900VA', 'R2', '900VA', 1500), 335 | (9, 'B1/1500VA', 'B1', '1500VA', 2000), 336 | (10, 'R3/900VA', 'R3', '900VA', 1400), 337 | (13, 'R1/450VA', 'R1', '450VA', 1000), 338 | (16, 'R3/1300VA', 'R3', '1300VA', 1500); 339 | 340 | -- -------------------------------------------------------- 341 | 342 | -- 343 | -- Structure for view `qw_pembayaran` 344 | -- 345 | DROP TABLE IF EXISTS `qw_pembayaran`; 346 | 347 | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `qw_pembayaran` AS select `pembayaran`.`id_pembayaran` AS `id_pembayaran`,`pembayaran`.`id_pelanggan` AS `id_pelanggan`,`pembayaran`.`tgl_bayar` AS `tgl_bayar`,`pembayaran`.`waktu_bayar` AS `waktu_bayar`,`pembayaran`.`bulan_bayar` AS `bulan_bayar`,`pembayaran`.`tahun_bayar` AS `tahun_bayar`,`pembayaran`.`jumlah_bayar` AS `jumlah_bayar`,`pembayaran`.`biaya_admin` AS `biaya_admin`,`pembayaran`.`total_akhir` AS `total_akhir`,`pembayaran`.`bayar` AS `bayar`,`pembayaran`.`kembali` AS `kembali`,`pembayaran`.`id_agen` AS `id_agen`,`pelanggan`.`nama` AS `nama_pelanggan`,`agen`.`nama` AS `nama_agen` from ((`pembayaran` join `pelanggan` on((`pelanggan`.`id_pelanggan` = `pembayaran`.`id_pelanggan`))) join `agen` on((`agen`.`id_agen` = `pembayaran`.`id_agen`))); 348 | 349 | -- -------------------------------------------------------- 350 | 351 | -- 352 | -- Structure for view `qw_penggunaan` 353 | -- 354 | DROP TABLE IF EXISTS `qw_penggunaan`; 355 | 356 | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `qw_penggunaan` AS select `penggunaan`.`id_penggunaan` AS `id_penggunaan`,`penggunaan`.`id_pelanggan` AS `id_pelanggan`,`penggunaan`.`bulan` AS `bulan`,`penggunaan`.`tahun` AS `tahun`,`penggunaan`.`meter_awal` AS `meter_awal`,`penggunaan`.`meter_akhir` AS `meter_akhir`,`penggunaan`.`tgl_cek` AS `tgl_cek`,`penggunaan`.`id_petugas` AS `id_petugas`,`pelanggan`.`nama` AS `nama_pelanggan`,`petugas`.`nama` AS `nama_petugas` from ((`penggunaan` join `pelanggan` on((`penggunaan`.`id_pelanggan` = `pelanggan`.`id_pelanggan`))) join `petugas` on((`penggunaan`.`id_petugas` = `petugas`.`id_petugas`))); 357 | 358 | -- -------------------------------------------------------- 359 | 360 | -- 361 | -- Structure for view `qw_tagihan` 362 | -- 363 | DROP TABLE IF EXISTS `qw_tagihan`; 364 | 365 | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `qw_tagihan` AS select `tagihan`.`id_tagihan` AS `id_tagihan`,`tagihan`.`id_pelanggan` AS `id_pelanggan`,`tagihan`.`bulan` AS `bulan`,`tagihan`.`tahun` AS `tahun`,`tagihan`.`jumlah_meter` AS `jumlah_meter`,`tagihan`.`tarif_perkwh` AS `tarif_perkwh`,`tagihan`.`jumlah_bayar` AS `jumlah_bayar`,`tagihan`.`status` AS `status`,`tagihan`.`id_petugas` AS `id_petugas`,`pelanggan`.`nama` AS `nama_pelanggan`,`pelanggan`.`id_tarif` AS `id_tarif`,`petugas`.`nama` AS `nama_petugas` from ((`tagihan` join `pelanggan` on((`pelanggan`.`id_pelanggan` = `tagihan`.`id_pelanggan`))) join `petugas` on((`petugas`.`id_petugas` = `tagihan`.`id_petugas`))); 366 | 367 | /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; 368 | /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; 369 | /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; 370 | -------------------------------------------------------------------------------- /app/css/bootstrap-theme.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.3.7 (http://getbootstrap.com) 3 | * Copyright 2011-2016 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} 6 | /*# sourceMappingURL=bootstrap-theme.min.css.map */ -------------------------------------------------------------------------------- /app/pln/laporan.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 14 | LAPORAN 15 | 16 | 17 |
18 |
19 |
20 | 21 | 29 |
30 |
31 | LAPORAN DAFTAR TARIF 32 |
33 |
  
34 |    35 |
  
36 |
37 |
38 |
39 |
40 |
41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | tampil($table,$cari,"ORDER BY golongan ASC"); 53 | if ($data=="") { 54 | $aksi->no_record(5); 55 | }else{ 56 | foreach ($data as $r) { 57 | $no++; ?> 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 |
No.
Kode Tarif
Golongan
Daya
Tarif/KWh
.rupiah($r['tarif_perkwh']) ?>
70 |
71 |
72 |
73 | 74 | 75 | 76 | 83 |
84 |
85 | LAPORAN DAFTAR PELANGGAN 86 |
87 |
  
88 |    89 |
  
90 |
91 |
92 |
93 |
94 |
95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | tampil($table,$cari,"ORDER BY id_pelanggan"); 109 | if ($data=="") { 110 | $aksi->no_record(9); 111 | }else{ 112 | foreach ($data as $r) { 113 | $a = $aksi->caridata("tarif WHERE id_tarif = '$r[id_tarif]'"); 114 | $no++; ?> 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 |
No.
ID Pelanggan
No.Meter
Nama
Alamat
Tenggang
Kode Tarif
.
128 |
129 |
130 |
131 | 132 | 133 | 134 | 141 |
142 |
143 | LAPORAN DAFTAR AGEN 144 |
145 |
  
146 |    147 |
  
148 |
149 |
150 |
151 |
152 | 153 |
154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | tampil($table,$cari,"ORDER BY id_agen DESC"); 167 | if ($a=="") { 168 | $aksi->no_record(7); 169 | }else{ 170 | foreach ($a as $r) { 171 | $cek = $aksi->cekdata(" pembayaran WHERE id_agen = '$r[id_agen]'"); 172 | $no++; 173 | ?> 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 |
No.
ID Agen
Nama
No.Telepon
Alamat
Biaya Admin
.rupiah($r['biaya_admin']); ?>
186 |
187 |
188 |
189 | 190 | 191 | 192 | tampil($table,$cari,""); 203 | $link_print = "print.php?tagihan_bulan&status=$status&bulan=$bulanini&tahun=$tahunini"; 204 | $link_excel = "print.php?excel&tagihan_bulan&status=$status&bulan=$bulanini&tahun=$tahunini"; 205 | $judul = "LAPORAN TAGIHAN ".strtoupper($status)." BULAN ".strtoupper($bulanini)." TAHUN $tahunini"; 206 | }else{ 207 | @$data =""; 208 | } 209 | ?> 210 |
211 |
212 | LAPORAN TAGIHAN PER-BULAN 213 |
214 |
  
215 |    216 |
  
217 |
218 |
219 |
220 |
221 |
222 |
223 |
STATUS
224 | 229 |
Bulan
230 | 243 |
Tahun
244 | 252 |
253 | 254 |  REFRESH 255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | no_record(8); 278 | }else{ 279 | foreach ($data as $r) { 280 | $no++; 281 | ?> 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 |
No.
ID Pelanggan
Nama Pelanggan
Bulan
Jumlah Meter
Jumlah Bayar
Status
Petugas
.bulan($r['bulan']);echo " ".$r['tahun'];?>rupiah($r['jumlah_bayar'])?>
297 |
298 |
299 |
300 |
301 | 302 | 303 | 304 | 311 |
312 |
313 | LAPORAN DAFTAR PELANGGAN YANG MEMILIKI TUNGGAKAN 314 |
315 |
  
316 |    317 |
  
318 |
319 |
320 |
321 |
322 |
323 |
324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | tampil("pelanggan","","ORDER BY nama ASC"); 341 | if ($data=="") { 342 | $aksi->no_record(8); 343 | }else{ 344 | foreach ($data as $r) { 345 | $cek = $aksi->cekdata("tagihan WHERE id_pelanggan = '$r[id_pelanggan]' AND status = 'Belum Bayar'"); 346 | ?> 347 | = 3){ 349 | $no++; 350 | $sum = mysql_fetch_array(mysql_query("SELECT id_pelanggan,COUNT(bulan) as bln_tunggak,sum(jumlah_bayar) jml_bayar,SUM(jumlah_meter) as jml_meter,tarif_perkwh FROM tagihan WHERE id_pelanggan = '$r[id_pelanggan]' AND status = 'Belum Bayar'")); 351 | $bulan = mysql_query("SELECT * FROM tagihan WHERE id_pelanggan = '$r[id_pelanggan]' AND status = 'Belum Bayar' "); 352 | ?> 353 | 354 | 355 | 356 | 357 | 358 | 359 | 365 | 366 | 367 | 368 | 369 | 370 | 371 |
No.
ID Pelanggan
Nama Pelanggan
Alamat
Banyak Tunggakan
Bulan
Total Meter
Tarif/Kwh
Total Tunggakan
. Bulan 360 | bulan_substr($bln['bulan']);echo substr($bln['tahun'], 2,2).","; 362 | } ?> 363 | 364 | rupiah($sum['tarif_perkwh']); ?>rupiah($sum['jml_bayar']); ?>
372 |
373 |
374 |
375 |
376 | 377 | 378 | 379 | caridata("pelanggan WHERE id_pelanggan = '$id_pelanggan'"); 384 | $tahun = $_POST['tahun']; 385 | 386 | $cari = "WHERE id_pelanggan = '$id_pelanggan' AND tahun = '$tahun'"; 387 | $data = $aksi->tampil($table,$cari,"ORDER BY bulan ASC"); 388 | 389 | $link_print = "print.php?riwayat_penggunaan&id_pelanggan=$id_pelanggan&tahun=$tahun"; 390 | $link_excel = "print.php?excel&riwayat_penggunaan&id_pelanggan=$id_pelanggan&tahun=$tahun"; 391 | $judul = "LAPORAN RIWAYAT PENGGUNNAN $id_pelanggan - ".strtoupper($pelanggan['nama'])." PADA TAHUN $tahun"; 392 | }else{ 393 | $data =""; 394 | } 395 | ?> 396 |
397 |
398 | LAPORAN RIWAYAT PENGGUNNAN PERTAHUN 399 |
400 |
  
401 |    402 |
  
403 |
404 |
405 |
406 |
407 |
408 |
409 |
ID PELANGGAN
410 | > 411 | 412 | 415 | 416 | 417 | 418 |
Tahun
419 | 427 |
428 | 429 |  REFRESH 430 |
431 |
432 |
433 |
434 |
435 |
436 |
437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 | no_record(9); 454 | }else{ 455 | foreach ($data as $r) { 456 | $no++; 457 | $penggunaan = $aksi->caridata("penggunaan WHERE id_pelanggan = '$r[id_pelanggan]' AND bulan = '$r[bulan]' AND tahun = '$r[tahun]'"); 458 | ?> 459 | 460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 | 469 | 470 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 |
No.
ID Pelanggan
Nama Pelanggan
Bulan
Meter Awal
Meter Akhir
Jumlah Meter
Tarif/KWh
Jumlah Bayar
.bulan($r['bulan']);echo " ".$r['tahun']; ?>rupiah($r['tarif_perkwh']); ?>rupiah($r['jumlah_bayar']); ?>
TOTAL METER :TOTAL BAYAR :rupiah($sum['bayar']); ?>
483 |
484 |
485 |
486 |
487 | 488 | 489 | 490 |
491 |
492 |
493 | 494 | --------------------------------------------------------------------------------