PageRenderTime 27ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/application/controllers/member.php

https://gitlab.com/zetrosoft/pos-accounting
PHP | 270 lines | 255 code | 8 blank | 7 comment | 4 complexity | 37f21c5515e1d15b9acccd29c33cc0bc MD5 | raw file
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2. //class member
  3. class Member extends CI_Controller{
  4. function __construct(){
  5. parent::__construct();
  6. $this->load->model("Admin_model");
  7. $this->load->model("member_model");
  8. $this->load->model('inv_model');
  9. $this->load->library("zetro_auth");
  10. $this->load->helper("print_report");
  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. function index(){
  28. $this->zetro_auth->menu_id(array('anggotabaru','auploadphoto'));
  29. $this->list_data($this->zetro_auth->auth());
  30. $this->View('member/member_view');
  31. }
  32. function member_list(){
  33. empty($_POST['id_dept'])?$where='':$where="where ID_Dept='".$_POST['id_dept']."'";
  34. empty($_POST['ordby'])? $ordby='order by noUrut':$ordby='order by '.$_POST['ordby'];
  35. $datax=$this->Admin_model->show_list('mst_anggota',$where.' '.$ordby);
  36. $this->zetro_auth->menu_id(array('member__member_list'));//array('list'),array($datax))
  37. $this->list_data($this->zetro_auth->auth());
  38. $this->View('member/member_list');
  39. }
  40. function filter_by(){
  41. $datax=array();$n=0;
  42. (empty($_POST['id_dept'])||$_POST['id_dept']=='all')?$where="where id_jenis='1'":$where="where ID_Jenis='1' and ID_Dept='".$_POST['id_dept']."'";
  43. (empty($_POST['ordby']) || $_POST['ordby']=='undefined')? $ordby='order by Nama':$ordby='order by '.str_replace('-',',',$_POST['ordby']);
  44. (empty($_POST['stat'])||$_POST['stat']=='all')? $where .='':
  45. $where .=" and id_Aktif='".$_POST['stat']."'";
  46. empty($_POST['searchby'])? $where .='':$where .=" and Nama like '%".$_POST['searchby']."%'";
  47. echo $where.$ordby;
  48. $datax=$this->Admin_model->show_list('mst_anggota',$where.' '.$ordby);
  49. //print_r($datax);
  50. if(count($datax)>0){
  51. foreach($datax as $row){
  52. $n++;//title='Double click for detail view' ondblclick=\"show_member_detail('".$row->ID."');\
  53. echo "<tr onclick='' class='xx' ondblclick=\"images_click('".$row->ID."','edit');\">
  54. <td width='5%' class='kotak' align='center'>$n</td>
  55. <td width='10%' class='kotak' align='center'>".$row->No_Agt."</td>
  56. <td width='15%' class='kotak' nowrap>".rdb('mst_departemen','Departemen','',"where ID='".$row->ID_Dept."'")."</td>
  57. <td width='10%' class='kotak'>".$row->NIP."</td>
  58. <td width='40%' class='kotak'>".$row->Nama."</td>
  59. <td width='10%' class='kotak' >".substr($this->zetro_manager->rContent("Sex",$row->ID_Kelamin,"asset/bin/zetro_member.frm"),2,10)."</td>
  60. <td width='8%' class='kotak'>".rdb('Keaktifan','Keaktifan','Keaktifan',"where ID='".$row->ID_Aktif."'")."</td>
  61. <td width='8%' class='kotak' align='center'>".img_aksi($row->ID)."</td>
  62. </tr>";
  63. }
  64. }else{
  65. echo "<tr><td colspan='7' class='kotak'>
  66. <img src='".base_url()."asset/images/16/warning_16.png'> &nbsp;No Database found in &quot;departement or keaktifan&quot; selected, please try again </td></tr>";
  67. }
  68. //echo $data['list']=count($datax);
  69. }
  70. function set_anggota(){
  71. //table mst_anggota
  72. $data=array();
  73. $data['ID'] =empty($_POST['idne'])?'':$_POST['idne'];
  74. $data['No_Agt'] =$_POST['No_Agt'];
  75. $data['NoUrut'] =$_POST['No_Agt'];
  76. $data['ID_Dept'] =$_POST['ID_Dept'];
  77. $data['NIP'] =$_POST['NIP'];
  78. $data['Nama'] =addslashes($_POST['Nama']);
  79. $data['ID_Kelamin'] =$_POST['ID_Kelamin'];
  80. $data['Alamat'] =$_POST['Alamat'];
  81. $data['Kota'] =addslashes(ucwords($_POST['Kota']));
  82. $data['Propinsi'] =addslashes(ucwords($_POST['Propinsi']));
  83. $data['Telepon'] =$_POST['Telepon'];
  84. $data['Faksimili'] =$_POST['Faksimili'];
  85. $data['ID_Aktif'] =empty($_POST['ID_Aktif'])?'1':$_POST['ID_Aktif'];
  86. $data['ID_Jenis'] ='1';
  87. $data['PhotoLink'] =empty($_POST['Photolink'])?'':$_POST['Photolink'];
  88. $data['TanggalMasuk']=empty($_POST['TanggalMasuk'])?'0000-00-00':tgltoSql($_POST['TanggalMasuk']);
  89. $data['TanggalKeluar']=empty($_POST['TanggalKeluar'])?'0000-00-00':tgltoSql($_POST['TanggalKeluar']);
  90. echo ($this->Admin_model->replace_data('mst_anggota',$data))?"Data berhasil di update":"Ada kesalahan data please check";
  91. }
  92. function get_nomor_anggota(){
  93. echo $this->member_model->nomor_anggota();
  94. }
  95. function get_anggota(){
  96. $arr=array();
  97. $str =$_GET['str'];
  98. $limit =$_GET['limit'];
  99. $ID_Dept=empty($_GET['dept'])?'':$_GET['dept'];
  100. $datax=$this->member_model->get_anggota($str,$limit,$ID_Dept);
  101. echo json_encode($datax);
  102. }
  103. function get_kota(){
  104. $arr=array();
  105. $str=$_GET['str'];
  106. $datax=$this->member_model->get_kota($str);
  107. echo json_encode($datax);
  108. }
  109. function get_propinsi(){
  110. $arr=array();
  111. $str=$_GET['str'];
  112. $datax=$this->member_model->get_propinsi($str);
  113. echo json_encode($datax);
  114. }
  115. function do_upload()
  116. { //upload foto anggota to uploads/member
  117. $datax=array();
  118. ($this->input->post('NIP')!='')?$nip="(".$this->input->post('NIP').")":$nip="";
  119. $config['allowed_types'] = 'pdf|gif|jpg|png';
  120. $config['upload_path'] ='./uploads/member';
  121. $config['file_name']=str_replace(".",'_',$this->input->post('Nama')).$nip;
  122. $config['max_size'] = '0';
  123. $config['max_width'] = '0';
  124. $config['max_height'] = '0';
  125. $config['overwrite']=true;
  126. $this->load->library('upload', $config);
  127. $this->upload->initialize($config);
  128. if ( ! $this->upload->do_upload('PhotoLink'))
  129. {
  130. $this->zetro_auth->menu_id(array('anggotabaru','auploadphoto'));
  131. $data=$this->zetro_auth->auth(array('upload_data','panel','d_photo','error','nama','nip'),
  132. array($this->upload->data(),'uploadphoto','block',$this->upload->display_errors(),$this->input->post('Nama'),$this->input->post('NIP')));
  133. $this->Header();
  134. $this->load->view('member/member_view', $data);
  135. $this->Footer();
  136. }
  137. else
  138. {
  139. $this->zetro_auth->menu_id(array('anggotabaru','auploadphoto'));
  140. $data=$this->zetro_auth->auth(array('upload_data','panel','d_photo','error','nama','nip','nourut'),
  141. array($this->upload->data(),'uploadphoto','block',$this->upload->display_errors(),$this->input->post('Nama'),$this->input->post('NIP'),$this->input->post('no_agt')));
  142. $this->Header();
  143. $this->load->view('member/member_view', $data);
  144. $this->Footer();
  145. }
  146. }
  147. function simpan_photo(){
  148. $no_anggota=$_POST['nourut'];
  149. $photo_anggota=$_POST['gambar'];
  150. $this->Admin_model->upd_data('mst_anggota',"set PhotoLink='".$photo_anggota."'","where NoUrut='$no_anggota'");
  151. echo "Tersimpan";
  152. }
  153. function field_orderby(){
  154. $data=$this->member_model->show_field('mst_anggota');
  155. echo json_encode($data);
  156. }
  157. function get_nama_simpanan(){
  158. $data=$this->member_model->jenis_simpanan($_POST['id']);
  159. echo $data;
  160. }
  161. function member_detail(){
  162. $data=array();
  163. $no_anggota =$_POST['no_anggota'];
  164. $data['kunci'] =$no_anggota;
  165. $data['no_anggota'] =$this->Admin_model->show_single_field('mst_anggota','No_Agt',"where ID='".$no_anggota."'");
  166. $data['nm_anggota'] =$this->Admin_model->show_single_field('mst_anggota','Nama',"where ID='".$no_anggota."'");
  167. $data['id_department'] =rdb('mst_departemen','Departemen','Departemen',"where ID='".
  168. $this->Admin_model->show_single_field('mst_anggota','ID_Dept',"where ID='".$no_anggota."'")."'");
  169. $data['transaksi']=$this->member_model->summary_member_data($no_anggota);
  170. $this->load->view('member/member_detail',$data);
  171. }
  172. function member_detail_trans(){
  173. $n=0;$total_debet=0;$total_kredit=0;$saldoAwal=0;
  174. $ID_Agt =$_POST['ID_Agt'];
  175. $ID_Jenis =$_POST['ID_Jenis'];
  176. $saldoAwal =rdb('perkiraan','SaldoAwal','SaldoAwal',"Where ID_Agt='".$ID_Agt."' and ID_Simpanan='".$ID_Jenis."'");
  177. $data=$this->member_model->detail_member_data($ID_Agt,$ID_Jenis);
  178. echo "<tr class='xx list_genap'>
  179. <td class='kotak'>&nbsp;</td>
  180. <td class='kotak' colspan='4'>Saldo Awal</td>
  181. <td class='kotak' align='right'>".number_format($saldoAwal,2)."</td></tr>";
  182. foreach($data->result() as $trn){
  183. $n++;
  184. echo "<tr class='xx' align='center'>
  185. <td class='kotak'>$n</td>
  186. <td class='kotak'>".tglfromSql($trn->Tanggal)."</td>
  187. <td class='kotak'>".$trn->Nomor."</td>
  188. <td class='kotak' align='left'>".$trn->Keterangan."</td>
  189. <td class='kotak' align='right'>".number_format($trn->Debet,2)."</td>
  190. <td class='kotak' align='right'>".number_format($trn->Kredit,2)."</td>
  191. </tr>";
  192. $total_debet +=$trn->Debet;
  193. $total_kredit +=$trn->Kredit;
  194. };
  195. echo "<tr class='xx'>
  196. <td class='kotak list_genap' colspan='4' align='right'>TOTAL &nbsp;&nbsp;</td>
  197. <td class='kotak list_genap' align='right'><b>".number_format($total_debet,2)."</b></td>
  198. <td class='kotak list_genap' align='right'><b>".number_format(($total_kredit+$saldoAwal),2)."</b></td>
  199. </tr>";
  200. }
  201. function member_biodata(){
  202. $datax=array();
  203. $no_anggota =$_POST['no_anggota'];
  204. $data=$this->member_model->biodata_member($no_anggota);
  205. foreach($data->result() as $rr){
  206. $datax=$rr;
  207. }
  208. echo json_encode($datax);
  209. }
  210. function member_print(){
  211. $data=array();
  212. $n=0;$total_debet=0;$total_kredit=0;
  213. $ID_Agt =$_POST['ID_Agt'];
  214. $ID_Jenis =$_POST['ID_Jenis'];
  215. $data['nama'] =$_POST['nm_angg'];
  216. $data['dept'] =$_POST['nm_dept'];
  217. $data['jsimp'] =rdb('jenis_simpanan','jenis','jenis',"where ID='".$ID_Jenis."'");
  218. $data['ID_Calc']=rdb('jenis_simpanan','ID_Calc','ID_Calc',"where ID='".$ID_Jenis."'");
  219. $data['temp_rec']=$this->member_model->detail_member_data($ID_Agt,$ID_Jenis);
  220. $this->zetro_auth->menu_id(array('trans_beli'));
  221. $this->list_data($data);
  222. $this->View("member/member_print");
  223. }
  224. //simpanan anggota
  225. function member_saving(){
  226. $this->zetro_auth->menu_id(array('simpananpokok','simpananwajib','simpanankhusus'));
  227. $this->list_data($this->zetro_auth->auth());
  228. $this->View('member/member_simpanan');
  229. }
  230. //API untuk data di web site
  231. function api_anggota(){
  232. //ambil data anggota
  233. $data=array();
  234. $nomor_anggota=$_POST['nama'];
  235. $data=$this->member_model->get_api_member($nomor_anggota);
  236. $dumy[0]=array('Nama'=>'nothing');
  237. echo empty($data)?json_encode($dumy[0]):json_encode($data[0]);
  238. }
  239. function update_hp_anggota(){
  240. $id=$_POST['id_agt'];
  241. $hp=$_POST['no_hp'];
  242. $this->Admin_model->upd_data('mst_anggota',"set Telepon='".$hp."'","where ID='".$id."'");
  243. echo $this->Admin_model->show_single_field('mst_anggota','ID_Dept',"where ID='".$id."'");
  244. }
  245. function api_data_simpanan(){
  246. $data=array();$total=0;
  247. $id=$_POST['id_agt'];
  248. $where=" and js.ID not in('4','5')";
  249. $data=$this->member_model->summary_member_data($id,$where);
  250. echo "<ul>";
  251. foreach($data->result() as $r){
  252. echo ($r->ID=='1')?
  253. "<li class='li-class'>".tabel().tr().td($r->Jenis.str_repeat(' ',15),'left\' width=\'30%').td(':','center\' width=\'5%').td(number_format($r->SaldoAwal,2),'right\' width=\'40%').td('','right\' width=\'24%')._tr()._tabel()."</li>":
  254. "<li class='li-class'>".tabel().tr().td($r->Jenis.str_repeat(' ',15),'left\' width=\'30%').td(':','center\' width=\'5%').td(number_format($r->SaldoAkhir,2),'right\' width=\'40%').td('','right\' width=\'24%')._tr()._tabel()."</li>";
  255. $total=($r->SaldoAwal+$r->SaldoAkhir);
  256. }
  257. echo"<hr>
  258. <li class='li-class'>".tabel().tr().td('<b>Total</b>','left\' width=\'30%').td(':','center\' width=\'5%').td(number_format($total,2),'right\' width=\'40%').td('','right\' width=\'24%')._tr()._tabel()."</li>";
  259. echo "</ul>";
  260. }
  261. }
  262. ?>