app = $app; $this->db = $db; $this->id_member = Param::Int("MemberID", 0); } public function table_point() { $obj = new Table($this->app); $obj->set_table("(SELECT * FROM inv_point_tipe WHERE Aktif=1) P LEFT JOIN (SELECT Point_TipeID,SUM(IF(Nilai_Point>0,Nilai_Point,0)) Tambah_Point,SUM(IF(Nilai_Point<0,-Nilai_Point,0)) Kurang_Point,SUM(Nilai_Point) Sisa_Point FROM inv_point_tx WHERE MemberID=? GROUP BY Point_TipeID ORDER BY Point_TipeID) S ON (S.Point_TipeID=P.Point_TipeID)", "S.*,P.Nama_Tipe", "", [$this->id_member]); $obj->add_field("Nama_Tipe", "Tipe Point", "l"); $obj->add_field("Tambah_Point", "Pengumpulan", "r", "rupiah"); $obj->add_field("Kurang_Point", "Penukaran", "r", "rupiah"); $obj->add_field("Sisa_Point", "Sisa Point", "r", "rupiah"); $obj->set_field_order("Point_TipeID", "A"); $this->app->json([ $obj->json_table("divPOINT", 5) ]); } public function brow_member() { $tcari = Param::Get("Cari_Member"); $tsql = ''; $asql = []; if (!empty($tcari)) { $tsql .= " AND CONCAT(Kode_Member,Nama_Member,Alamat_Member,Telp_Member) LIKE ?"; array_push($asql, '%' . $tcari . '%'); } $obj = new Table($this->app); $obj->set_table("(SELECT * FROM para_member WHERE Aktif=1 AND IM=1".$tsql.") M LEFT JOIN para_member_grup G ON (M.Grup_MemberID=G.Grup_MemberID)", "M.*,G.Nama_Grup", "", $asql); $obj->add_field("MemberID", "ID", "hid"); $obj->add_field("Kode_Member", "Kode", "c"); $obj->add_field("Nama_Member", "Nama Member", "awr"); $obj->add_field("Alamat_Member", "Alamat", "awr"); $obj->add_field("Telp_Member", "Telp.", "awr"); $obj->add_field("Nama_Grup", "Grup", "hid"); $obj->set_field_order("Kode_Member", "A"); $obj->set_func_select("MemberPointJS.member_select"); $this->app->json([ $obj->db_table("divBrowMember") ]); } public function auto_member() { $tcari = Param::Get("Auto_Query", ""); $ajson['autodata'] = []; $bcode = 0; $arec = []; if (is_numeric($tcari) && strlen($tcari) === 8) { // Cari by Barcode // Kode_Member : Grup_Member $_row = $this->db->fetchRow("SELECT M.MemberID,M.Nama_Member,CONCAT(M.Kode_Member,':',G.Nama_Grup) Data2 FROM (SELECT * FROM para_member WHERE Aktif=1 AND IM=1 AND Kode_Member=?) M LEFT JOIN para_member_grup G ON (M.Grup_MemberID=G.Grup_MemberID)", [$tcari]); if ($_row) { $bcode = 1; $arec = $_row->getData(); } } if ($bcode === 1) { $ajson['autodata'][] = ['value'=>$arec['MemberID'], 'text'=>$arec['Nama_Member'], 'data'=>$arec['Data2'], 'bc'=>1]; } else { $stat = $this->db->runQuery("SELECT M.MemberID,M.Kode_Member,M.Nama_Member,CONCAT(M.Kode_Member,':',G.Nama_Grup) Data2 FROM (SELECT * FROM para_member WHERE Aktif=1 AND IM=1 AND CONCAT(Kode_Member,Nama_Member,Alamat_Member,Telp_Member) LIKE ?) M LEFT JOIN para_member_grup G ON (M.Grup_MemberID=G.Grup_MemberID) ORDER BY M.Kode_Member LIMIT 50", ['%'.$tcari.'%']); while ($row = $stat->fetch(SimplePdo::FETCH_ASSOC)) { $ajson['autodata'][] = ['value'=>$row['MemberID'], 'text'=>$row['Nama_Member'], 'html'=>''.$row['Kode_Member'].' '.$row['Nama_Member'], 'data'=>$row['Data2'], 'bc'=>0]; } } $this->app->json($ajson); } public function scan_member() { $tcari = Param::Get("Cari_Member", ""); $scandata = []; // Cari by Barcode // Kode_Member : Grup_Member $_row = $this->db->fetchRow("SELECT M.MemberID,M.Kode_Member,M.Nama_Member Nama_Lengkap,G.Nama_Grup FROM (SELECT * FROM para_member WHERE Aktif=1 AND IM=1 AND Kode_Member=?) M LEFT JOIN para_member_grup G ON (M.Grup_MemberID=G.Grup_MemberID)", [$tcari]); if ($_row) $scandata = array_merge($scandata, $_row->getData()); $this->app->json([ $scandata ]); } public function index() { $form = new Form($this->app); $tmem = $form->textauto("_", "Nama_Member", ['value'=>0, 'text'=>""], true, true, "Scan Barcode / Ketik Nama Member"); $tkode = $form->textbox("_", "Kode_Member", "KODE_MEMBER", false); $tnama = $form->textbox("_", "Nama_Lengkap", "NAMA_MEMBER", false); $tgrup = $form->textbox("_", "Nama_Grup", "GRUP_MEMBER", false); $ajson['html'] = ''; if (isMobile()) { $ajson['html'] .= '