app = $app; $this->db = $db; $this->reg_name = (string) $session->get('WEB_APP')['REG_NAME']; $this->mode_detail = Param::Get("mode_detail", ""); $this->id_member = (int) Param::Get("MemberID", 0); } public function table_detail() { if (in_array($this->mode_detail, ["insert","update","delete"])) { $sql = new SQL($this->app); $sql->set_table("para_member"); $sql->add_param("Grup_MemberID"); $sql->add_param("Kode_Member"); $sql->add_param("Nama_Member"); $sql->add_param("Alamat_Member"); $sql->add_param("Kota_Member"); $sql->add_param("Telp_Member"); $sql->add_param("KTP_Member"); $sql->add_param_date("Tgl_Lahir"); $sql->add_param_date("Tgl_Daftar"); $sql->add_param("IM"); $sql->add_param("Aktif"); $sql->add_param_userid(); $sql->add_where("MemberID"); if ($this->mode_detail === "insert") { $sql->InsertDB(); } else if ($this->mode_detail === "update") { $sql->UpdateDB(); } else if ($this->mode_detail === "delete") { $sql->DeleteDB(); } } $tcari = Param::Get("Cari_Member"); $tsql = ''; $asql = []; if (!empty($tcari)) { $tsql = 'CONCAT(Kode_Member,Nama_Member,Telp_Member) LIKE ?'; $asql[] = '%'. $tcari .'%'; } $obj = new Table($this->app); $obj->set_table("para_member", "*", $tsql, $asql); $obj->add_field("MemberID", "ID", "hid"); $obj->add_field("Kode_Member", "Kode / ID", "c"); $obj->add_field("Nama_Member", "Nama Member", "awr"); $obj->add_field("Alamat_Member", "Alamat", "awr"); $obj->add_field("Telp_Member", "No. Telp", "l"); $obj->add_field("IM", "Member", "c", "checkbox"); $obj->add_field("Aktif", "Aktif", "c", "checkbox"); $obj->set_field_order("Kode_Member", "A"); $obj->add_row_btn("clipboard", "Ubah", "MemberJS.detail_ubah"); $obj->add_row_btn("trash", "Hapus", "MemberJS.detail_hapus"); $obj->set_func_btn("MemberJS.detail_tambah", "+ Member"); $this->app->json([ $obj->db_table("divDetail") ]); } public function form_member() { $atabel = Invesa::A_Member_Member(); if ($this->id_member > 0) { $atabel = $this->db->fetchRow("SELECT * FROM para_member WHERE MemberID=?", [$this->id_member]); } $form = new Form($this->app); $tgrup = $form->option_db("_", "Grup_MemberID", $atabel['Grup_MemberID'], true, false, "para_member_grup", ["Grup_MemberID","Nama_Grup"], "Aktif=1 ORDER BY Nama_Grup"); $tkode = $form->textbox("_", "Kode_Member", $atabel['Kode_Member'], true, false, "text", "kode member"); $tnama = $form->textbox("_", "Nama_Member", $atabel['Nama_Member'], true, true, "text", "nama member"); $talamat = $form->textarea("_", "Alamat_Member", $atabel['Alamat_Member'], true, true, 2); $tkota = $form->textbox("_", "Kota_Member", $atabel['Kota_Member'], true, true, "text", "kota member"); $ttelp = $form->textbox("_", "Telp_Member", $atabel['Telp_Member'], true, true, "text", "telp member"); $tktp = $form->textbox("_", "KTP_Member", $atabel['KTP_Member'], true, true, "text", "ktp member"); $tlahir = $form->datebox("_", "Tgl_Lahir", $atabel['Tgl_Lahir'], true, true); $tdaftar = $form->datebox("_", "Tgl_Daftar", $atabel['Tgl_Daftar'], true, true); $tim = $form->checkbox("_", "IM", $atabel['IM'], true, true, [1,0]); $taktif = $form->radio("_", "Aktif", $atabel['Aktif'], true, true, [1=>"Ya",0=>"Tidak"]); $ajson['html'] = '
'.$tgrup.'
'.$taktif.'
Member ?
'.$tim.'
'.$tkode.Invesa::Form_Info("Kode / ID Barcode Member (Scan dari Kartu Member). Contoh : 17000017.").'
'.$tdaftar.'
'.$tktp.'
'.$tlahir.'
'.$tnama.'
'.$talamat.'
'.$tkota.'
'.$ttelp.'
'; $this->app->json($ajson); } public function detail_print() { $form = new Form($this->app); $tgrup = $form->option_db("_", "Grup_MemberID", 0, true, false, "para_member_grup", ["Grup_MemberID","Nama_Grup"], "Aktif=1 ORDER BY Nama_Grup", [0,"SEMUA GRUP MEMBER"]); $taktif = $form->radio("_", "Aktif", 9, true, true, [9=>"Semua",'1'=>"Ya",'0'=>"Tidak"]); $ttgl = $form->datebox("_", "Tgl_Cetak", tgl_ymd(), true, false); $ajson['html'] = '
'.$tgrup.'
'.$taktif.'
'.$ttgl.'
'; $this->app->json($ajson); } public function print_member() { $id_grup = Param::Get("Grup_MemberID", 0); $aktif = Param::Get("Aktif", 9); $nama_grup = ""; $nama_aktif = ($aktif==0) ? "Tidak Aktif" : "Aktif"; if ($id_grup > 0) $nama_grup = $this->db->fetchField("SELECT Nama_Grup FROM para_member_grup WHERE Grup_MemberID=?", [$id_grup]); // generate report header $tglheader = "Tanggal Cetak : ".Param::Get("Tgl_Cetak"); $tsql = ''; $asql = []; if ($id_grup > 0) { $tsql .= " AND Grup_MemberID=?"; $asql[] = $id_grup; } if ($aktif < 9) { $tsql .= " AND Aktif=?"; $asql[] = $aktif; } $tsql = (strlen($tsql) > 0) ? ' WHERE '.substr($tsql, 4) : ''; // query data laporan $stat = $this->db->runQuery("SELECT * FROM para_member".$tsql." ORDER BY Nama_Member", $asql); $pre = new PrintHTML($this->app); $pre->add_title([strtoupper($this->reg_name), "Laporan Daftar Member", $tglheader]); $pre->add_field("No",10,"C"); $pre->add_field("Nama Member",80, "L"); $pre->add_field("Alamat",12, "L"); $pre->add_field("Kota",12, "L"); if ($id_grup > 0) $pre->add_sub_title("Grup Member : ".$nama_grup); if ($aktif < 9) $pre->add_sub_title("Status Aktif : ".$nama_aktif); $pre->show_titles(); $pre->show_headers(); $nomor = 1; while ($row = $stat->fetch(SimplePdo::FETCH_ASSOC)) { $pre->add_row([ $nomor++, $row['Nama_Member'], $row['Alamat_Member'], $row['Kota_Member'] ]); } $pre->add_stamp(0, true); $pre->show(); } public function index() { $this->app->json(['html' => '
Daftar Member
 
' ]); } }