PageRenderTime 43ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/application/controllers/simpanan.php

https://gitlab.com/zetrosoft/pos-accounting
PHP | 300 lines | 272 code | 7 blank | 21 comment | 4 complexity | fb31ccd87c3d0e141ba95dbe3f86746b MD5 | raw file
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2. //class name : Simpanan
  3. //version : 1.0
  4. //Author : Iswan Putera
  5. class Simpanan extends CI_Controller{
  6. function __construct(){
  7. parent::__construct();
  8. $this->load->model("Admin_model");
  9. $this->load->model("member_model");
  10. $this->load->library("zetro_auth");
  11. $this->userid=$this->session->userdata('idlevel');
  12. }
  13. function Header(){
  14. $this->load->view('admin/header');
  15. }
  16. function Footer(){
  17. $this->load->view('admin/footer');
  18. }
  19. function list_data($data){
  20. $this->data=$data;
  21. }
  22. function View($view){
  23. $this->Header();
  24. $this->load->view($view,$this->data);
  25. $this->Footer();
  26. }
  27. //process transaksi simpanan anggota kredit maupun debit
  28. function t_simpanan(){
  29. $this->zetro_auth->menu_id(array('transaksisimpanan'));
  30. $this->list_data($this->zetro_auth->auth());
  31. $this->View('member/member_simpanan');
  32. }
  33. //teknik membercepat loading database mst_anggota dengan memasukan data yang di pilih
  34. //table copy
  35. function set_copy_agt(){
  36. $ID_Dept=$_POST['ID_Dept'];
  37. $ID_pinj=empty($_POST['ID_Pinj'])?'':$_POST['ID_Pinj'];
  38. echo $this->member_model->copy_agt($ID_Dept,$ID_pinj);
  39. }
  40. //baca data setup simpanan wajib dan pokok anggota
  41. function get_jml_simpanan(){
  42. $ID=$_POST['ID'];
  43. $data=$this->member_model->jml_simpanan($ID);
  44. echo $data;
  45. }
  46. //simpan transaksi simpanan anggota
  47. function set_simpanan(){
  48. $data=array();
  49. $ID_Jenis =$_POST['ID_Jenis'];
  50. $ID_Unit =$_POST['ID_Unit'];
  51. $ID_Simpanan =$_POST['ID_Simpanan'];
  52. $ID_Dept =$_POST['ID_Dept'];
  53. $ID_Perkiraan =$_POST['ID_Perkiraan'];
  54. $jumlah =$_POST['jumlah'];
  55. $data['ID_Unit'] =$ID_Unit;
  56. $data['ID_Dept'] =$ID_Dept;
  57. $data['ID_Klas'] =rdb("jenis_simpanan",'ID_Klasifikasi','ID_Klasifikasi',"where ID='$ID_Simpanan'");
  58. $data['ID_SubKlas'] =rdb("jenis_simpanan",'ID_Klasifikasi','ID_Klasifikasi',"where ID='$ID_Simpanan'");
  59. $data['ID_Perkiraan']=rdb('perkiraan','ID','ID',"where ID_Agt='$ID_Perkiraan' and ID_Simpanan='$ID_Simpanan'");
  60. $data['Debet'] =($ID_Jenis==1)?$jumlah:0;
  61. $data['Kredit'] =($ID_Jenis==2)?$jumlah:0;
  62. $data['Keterangan'] =$_POST['keterangan'];
  63. $data['ID_Stat'] ='0';
  64. $data['ID_Bulan'] =$_POST['ID_Bulan'];
  65. $data['Tahun'] =$_POST['Tahun'];
  66. $data['created_by'] =$this->session->userdata('userid');
  67. echo $this->Admin_model->replace_data('transaksi_temp',$data);
  68. }
  69. //simpan transaksi untuk pembayaran dengan cara potong gaji
  70. function set_potonggaji(){
  71. $ID_Jenis =$_POST['ID_Jenis'];
  72. $ID_Agt =$_POST['ID_Agt'];
  73. $ID_Simpanan=$_POST['ID_Simpanan'];
  74. $jumlah =$_POST['jumlah'];
  75. //collect data to array
  76. $data['ID_Unit'] =rdb('perkiraan','ID_Unit','ID_Unit',"where ID_Agt='$ID_Agt'");
  77. $data['ID_Dept'] =rdb('perkiraan','ID_Dept','ID_Dept',"where ID_Agt='$ID_Agt'");
  78. $data['ID_Klas'] =rdb("jenis_simpanan",'ID_Klasifikasi','ID_Klasifikasi',"where ID='$ID_Simpanan'");
  79. $data['ID_SubKlas'] =rdb("jenis_simpanan",'ID_Klasifikasi','ID_Klasifikasi',"where ID='$ID_Simpanan'");
  80. $data['ID_Perkiraan']=rdb('perkiraan','ID','ID',"where ID_Agt='$ID_Agt' and ID_Simpanan='$ID_Simpanan'");
  81. $data['Debet'] =($ID_Jenis==1)?$jumlah:0;
  82. $data['Kredit'] =($ID_Jenis==2)?$jumlah:0;
  83. $data['Keterangan'] =$_POST['keterangan'];
  84. $data['ID_Stat'] ='0';
  85. $data['ID_Bulan'] =$_POST['ID_Bulan'];
  86. $data['Tahun'] =$_POST['Tahun'];
  87. $data['created_by'] =$this->session->userdata('userid');
  88. echo $this->Admin_model->replace_data('transaksi_temp',$data);
  89. }
  90. //populate daftar anggota yang belum melakukan pembayaran di bulan yang dipilih
  91. function get_agt_blmbayar(){
  92. $data=array();$n=0;
  93. $ID_Dept =$_POST['ID_Dept'];
  94. $ID_Simpanan=$_POST['ID_Simpanan'];
  95. $ID_Bulan =$_POST['ID_Bulan'];
  96. $Tahun =$_POST['Tahun'];
  97. $data=$this->member_model->agt_blmbayar($ID_Dept,$ID_Simpanan,$ID_Bulan,$Tahun);
  98. foreach($data as $r){
  99. $n++;
  100. $kode='';
  101. $kode.=rdb('Klasifikasi','Kode','Kode',"where ID='".
  102. rdb('perkiraan','ID_Klas','ID_Klas',"where ID_Agt='".$r->ID."' and ID_Simpanan='$ID_Simpanan'")."' ");
  103. $kode.=rdb('Sub_Klasifikasi','Kode','Kode',"where ID='".
  104. rdb('perkiraan','ID_SubKlas','ID_SubKlas',"where ID_Agt='".$r->ID."' and ID_Simpanan='$ID_Simpanan'")."'");
  105. $kode.=rdb('unit_jurnal','Kode','Kode',"where ID='".
  106. rdb('perkiraan','ID_Unit','ID_Unit',"where ID_Agt='".$r->ID."' and ID_Simpanan='$ID_Simpanan'")."'");
  107. $kode.=rdb('mst_departemen','Kode','Kode',"where ID='".$r->ID_Dept."'");
  108. $kode.=$r->No_Perkiraan;
  109. $jumlah=rdb('setup_simpanan','min_simpanan','min_simpanan',"where id_simpanan='$ID_Simpanan'");
  110. empty($jumlah)?$jumlah='0':$jumlah=$jumlah;
  111. ($ID_Simpanan=='3')?
  112. $simp_khusus=rdb('transaksi_temp','Kredit','Kredit',"where ID_Perkiraan='".
  113. rdb('perkiraan','ID','ID',"where ID_Agt='".$r->ID."'
  114. and ID_Simpanan='$ID_Simpanan'")."' and concat(ID_Bulan,Tahun)='".$ID_Bulan.$Tahun."'"):
  115. $simp_khusus='0';
  116. echo "<tr class='xx' align='center'>
  117. <td class='kotak'>$n</td>
  118. <td class='kotak'>".$kode."</td>
  119. <td class='kotak' align='left'>".$r->Nama."</td>
  120. <td class='kotak' align='right'>";
  121. ($ID_Simpanan!='3')?$enabl='':$enabl="disabled='disabled'";
  122. echo ($ID_Simpanan!='3')?number_format($jumlah,2):
  123. "<input type='text' id='t-".$r->ID."' class='angka' value='$simp_khusus' onkeyup=\"simkh('".$r->ID."');\" onmouseout=\"lostfocus('".$r->ID."');\">";
  124. echo "</td>
  125. <td class='kotak'><input type='checkbox' id='n-".$r->ID."' onClick=\"bayar('".$r->ID."','".$jumlah."','".$ID_Simpanan."');\" $enabl></td>
  126. </tr>";
  127. }
  128. }
  129. //transaksi pinjaman uang dan barang
  130. //pinjaman barang dari toko masuk pada class penjualan toko
  131. function t_pinjaman(){
  132. $this->zetro_auth->menu_id(array('pinjaman','setoranpinjaman'));
  133. $this->list_data($this->zetro_auth->auth());
  134. $this->View('member/member_pinjaman');
  135. }
  136. function set_pinjaman(){
  137. $data=array();$datax=array();
  138. //simpan ke table pinjaman
  139. $data['ID_Agt'] =$_POST['ID_Agt'];
  140. $data['ID_Bulan'] =$_POST['ID_Bulan'];
  141. $data['Tahun'] =$_POST['Tahun'];
  142. $data['ID_Unit'] =$_POST['ID_Unit'];
  143. $data['ID_Dept'] =$_POST['ID_Dept'];
  144. $data['pinjaman '] =$_POST['Pinjaman'];
  145. $data['cicilan'] =$_POST['cicilan'];
  146. $data['cicilan_end']=$_POST['cicilan_end'];
  147. $data['lama_cicilan']=$_POST['lama_cicilan'];
  148. $data['cara_bayar'] =$_POST['cara_bayar'];
  149. $data['mulai_bayar']=$_POST['mulai_bayar'];
  150. $data['keterangan'] =$_POST['keterangan'];
  151. $data['created_by'] =$this->session->userdata('userid');
  152. echo $this->Admin_model->replace_data('pinjaman',$data);
  153. //simpan kredit to table transaksi_temp / jurnal temporary
  154. $datax['ID_Unit'] =$_POST['ID_Unit'];
  155. $datax['ID_Dept'] =$_POST['ID_Dept'];
  156. $datax['ID_Klas'] =rdb('perkiraan','ID_Klas','ID_Klas',"where ID_Agt='".$_POST['ID_Agt']."' and ID_Simpanan='".$_POST['ID_Pinjaman']."'");
  157. $datax['ID_SubKlas']=rdb('perkiraan','ID_SubKlas','ID_SubKlas',"where ID_Agt='".$_POST['ID_Agt']."' and ID_Simpanan='".$_POST['ID_Pinjaman']."'");
  158. $datax['ID_Perkiraan']=rdb('perkiraan','ID','ID',"where ID_Agt='".$_POST['ID_Agt']."' and ID_Simpanan='".$_POST['ID_Pinjaman']."'");
  159. $datax['Debet'] =$_POST['Pinjaman'];
  160. $datax['keterangan']=$_POST['keterangan'];
  161. $datax['ID_Bulan'] =$_POST['ID_Bulan'];
  162. $datax['Tahun'] =$_POST['Tahun'];
  163. $datax['created_by'] =$this->session->userdata('userid');
  164. echo $this->Admin_model->replace_data('transaksi_temp',$datax);
  165. }
  166. function get_total_pinjaman(){
  167. $data=array();
  168. $ID_Agt =$_POST['ID_Agt'];
  169. $data=$this->member_model->total_pinjaman($ID_Agt);
  170. echo json_encode($data);
  171. }
  172. function set_bayar_pinjaman(){
  173. $data=array();$jml_bayar=0;
  174. $debet=rdb("pinjaman_bayar","Debet","sum(Debet) as Debet","where ID_Pinjaman='".$_POST['ID_Pinj']."'");
  175. //$kredit=rdb("pinjaman_bayar","sum(Kredit) as Kredit","Kredit","where ID_Pinjaman='".$_POST['ID_Pinj']."'");
  176. $data['ID_Pinjaman']=$_POST['ID_Pinj'];
  177. $data['ID_Agt'] =$_POST['ID_Agt'];
  178. $data['ID_Bulan'] =$_POST['ID_Bulan'];
  179. $data['Tahun'] =$_POST['Tahun'];
  180. $data['Kredit'] =$_POST['Kredit'];
  181. $data['Keterangan'] =$_POST['Keterangan'];
  182. $data['angs_ke'] =$_POST['angs_ke'];
  183. $data['saldo'] =($debet-$_POST['Kredit']);
  184. $data['created_by'] =$this->session->userdata('userid');
  185. echo $this->Admin_model->replace_data('pinjaman_bayar',$data);
  186. //update status pinjaman
  187. $this->Admin_model->upd_data('pinjaman',"set stat_pinjaman='".$_POST['angs_ke']."'","where ID='".$_POST['ID_Pinj']."'");
  188. //simpan kredit to table transaksi_temp / jurnal temporary
  189. //collect jumlah bayar;
  190. $jml_bayar=rdb('pinjaman_bayar','kredit','sum(kredit) as kredit',"where concat(year(doc_date),month(doc_date))='".date('Ym')."' and ID_Pinjaman='".$_POST['ID_Pinj']."'");
  191. $datax['ID_Unit'] =$_POST['ID_Unit'];
  192. $datax['ID_Dept'] =$_POST['ID_Dept'];
  193. $datax['ID_Klas'] =rdb('perkiraan','ID_Klas','ID_Klas',"where ID_Agt='".$_POST['ID_Agt']."' and ID_Simpanan='".$_POST['ID_Pinjaman']."'");
  194. $datax['ID_SubKlas']=rdb('perkiraan','ID_SubKlas','ID_SubKlas',"where ID_Agt='".$_POST['ID_Agt']."' and ID_Simpanan='".$_POST['ID_Pinjaman']."'");
  195. $datax['ID_Perkiraan']=rdb('perkiraan','ID','ID',"where ID_Agt='".$_POST['ID_Agt']."' and ID_Simpanan='".$_POST['ID_Pinjaman']."'");
  196. $datax['Kredit'] =$_POST['Kredit'];
  197. $datax['keterangan']=$_POST['Keterangan'];
  198. $datax['ID_Bulan'] =$_POST['ID_Bulan']."-".$_POST['angs_ke'];
  199. $datax['Tahun'] =$_POST['Tahun'];
  200. $datax['created_by'] =$this->session->userdata('userid');
  201. echo $this->Admin_model->replace_data('transaksi_temp',$datax);
  202. }
  203. function data_pinjaman(){
  204. $data=array();$detail=array();$n=0;$x=0;$stat='';$saldo=0;
  205. $ID_Agt=$_POST['ID_Agt'];$kredit=0;
  206. $data=$this->member_model->data_pinjaman($ID_Agt);
  207. if(is_array($data)){
  208. foreach ($data as $r){
  209. $n++;
  210. echo "<tr class='list_genap' id='n-".$r->ID."'>
  211. <td class='kotak' colspan='2'><b>$n.&nbsp;&nbsp;".$r->keterangan." ".nBulan($r->ID_Bulan)."-".$r->Tahun."</b></td>
  212. <td class='kotak' align='right'><b>".number_format($r->pinjaman,2)."</b></td>
  213. <td class='kotak' colspan='2'>";
  214. echo (($r->lama_cicilan-$r->stat_pinjaman)==0)?'Lunas':"<input type='hidden' id='ID_Pinj' value='".$r->ID."'>";
  215. echo "</td>
  216. </tr>";
  217. if(($r->lama_cicilan-$r->stat_pinjaman)!=0){
  218. $detail=$this->member_model->data_setoran($ID_Agt,$r->ID);
  219. foreach($detail as $d){
  220. $x++;
  221. $kredit=($kredit+$d->Kredit);
  222. $saldo=($r->pinjaman-($kredit));
  223. echo "<tr class='xx'>
  224. <td class='kotak' width='5%' align='center'>$x</td>
  225. <td class='kotak' width='30%'>Angsuran Ke $x</td>
  226. <td class='kotak' width='15%' align='right'>".number_format($d->Kredit,2)."<input type='hidden' class='w70 angka' value='".$d->Kredit."'></td>
  227. <td class='kotak' width='15%' align='right'>".number_format($saldo,2)."</td>
  228. <td class='kotak' width='20%'>".$d->doc_date."</td>
  229. </tr>";
  230. ($d->Kredit==0)?$stat=number_format($d->Kredit,2) : $stat='';
  231. }
  232. for($i=($x+1);$i<=($r->lama_cicilan);$i++){
  233. ($i==$r->lama_cicilan)? $cil=$r->cicilan_end:$cil=$r->cicilan;
  234. //($stat=='')?$stat="<img src='".base_url()."asset/img/checkout.gif' id='g-".$i."' onclick=\"bayar($i);\"":$stat=$stat;
  235. echo "<tr class='xx' id='r-".$i."'>
  236. <td class='kotak' width='5%' align='center'>$i</td>
  237. <td class='kotak' width='30%'>Angsuran Ke ".($i)."</td>
  238. <td class='kotak' width='15%' align='right'>".number_format($cil,2)."</td>
  239. <td class='kotak' width='15%' align='right'>&nbsp;</td>
  240. <td class='kotak' width='20%' align='right'>";
  241. echo ($stat=='')?"<img src='".base_url()."asset/img/checkout.gif' id='g-".$i."' onclick=\"bayar($i);\"":$stat;
  242. echo "</td>
  243. </tr>";
  244. }
  245. }
  246. }
  247. }
  248. }
  249. //list transaksi simpanan pinjaman dan setoran pinjaman
  250. function list_transaksi(){
  251. $this->zetro_auth->menu_id(array('listransaksi'));
  252. $this->list_data($this->zetro_auth->auth());
  253. $this->View('member/member_transaksi');
  254. }
  255. function get_transaksi(){
  256. $data=array();
  257. $ID_Dept =empty($_POST['ID_Dept'])?'' :$_POST['ID_Dept'];
  258. $ID_Aktif =empty($_POST['ID_Aktif'])?'' :$_POST['ID_Aktif'];
  259. $data=$this->member_model->get_transaksi($ID_Dept,$ID_Aktif);
  260. $n=0;$t_debet=0;$t_kredit=0;
  261. foreach($data as $r){
  262. $n++;
  263. echo "<tr class='xx' align='center'>
  264. <td class='kotak'>$n</td>
  265. <td class='kotak'>".tglfromSql(substr($r->Tanggal,0,10))."</td>
  266. <td class='kotak'>".$r->Kode."</td>
  267. <td class='kotak' align='left' nowrap>".$r->Perkiraan."</td>
  268. <td class='kotak' align='right'>".number_format($r->Debet,2)."</td>
  269. <td class='kotak' align='right'>".number_format($r->Kredit,2)."</td>
  270. <td class='kotak' align='left' nowrap>".$r->Keterangan."</td>
  271. <td class='kotak'>";
  272. echo ($r->ID_Stat=='0')?
  273. "<img title='hapus transaksi' src='".base_url()."asset/images/no.png' onclick=\"hapus('".$r->ID."');\">":
  274. "<img title='sudah terjurnal' src='".base_url()."asset/images/5.png'>";
  275. echo "</td>
  276. </tr>";
  277. $t_debet =($t_debet+$r->Debet);
  278. $t_kredit =($t_kredit+$r->Kredit);
  279. }
  280. echo "<tr class='list_genap'>
  281. <td class='kotak' colspan='4' align='right'>TOTAL</td>
  282. <td class='kotak' align='right'><b>".number_format($t_debet,2)."</td>
  283. <td class='kotak' align='right'><b>".number_format($t_kredit,2)."</td>
  284. <td class='kotak' align='right'></td>
  285. <td class='kotak' align='right'></td>
  286. </tr>";
  287. }
  288. function hapus_transaksi(){
  289. $ID =$_POST['ID'];
  290. $this->Admin_model->hps_data('transaksi_temp',"where ID='$ID'");
  291. }
  292. }
  293. ?>