app = $app; $this->db = $db; $this->reg_name = (string) $session->get('WEB_APP')['REG_NAME']; $this->max_level = (int) $session->get('APP_GEL')['MAX_LEVEL'] ?? 5; $this->mode_detail = Param::Get("mode_detail", ""); $this->kode_rek = Param::Get("Kode_Rek", ""); } public function table_detail() { if (in_array($this->mode_detail, ["insert","update","delete"])) { $sql = new SQL($this->app); $sql->set_table("gel_acc"); $sql->add_param("Kode_Induk"); $sql->add_param("Nama_Rek"); $sql->add_param("Grup_RekID"); $sql->add_param("Level"); $sql->add_param("Mode"); $sql->add_param("Kas_Rek"); $sql->add_param("Aktif"); $sql->add_param_userid(); $sql->add_where("Kode_Rek"); if ($this->mode_detail === "insert") { $sql->add_param("Kode_Rek"); $sql->InsertDB(); } else if ($this->mode_detail === "update") { $sql->UpdateDB(); } else if ($this->mode_detail === "delete") { $sql->DeleteDB(); } } $tcari = Param::Get("Cari_Rek"); $tsql = ''; $asql = []; if (!empty($tcari)) { $tsql = 'CONCAT(A.Kode_Rek,A.Nama_Rek) LIKE ?'; $asql[] = '%'. $tcari .'%'; } $obj = new Table($this->app); $obj->set_table("gel_acc A LEFT JOIN gel_acc_grup G ON (A.Grup_RekID=G.Grup_RekID)", "A.*,G.Nama_Grup", $tsql, $asql); $obj->add_field("Kode_Rek", "Kode", "c"); $obj->add_field("Nama_Rek", "Nama Rekening", "awr"); $obj->add_field("Nama_Grup", "Grup", "l"); $obj->add_field("Level", "Level", "c"); $obj->add_field("Mode", "Mode", "c"); $obj->add_field("Aktif", "Aktif", "c", "checkbox"); $obj->set_row_color("Mode", "G", "rblue"); $obj->set_field_order("Kode_Rek", "A"); $obj->add_row_btn("clipboard", "Ubah", "RekJS.detail_ubah"); $obj->add_row_btn("trash", "Hapus", "RekJS.detail_hapus"); $obj->set_func_btn("RekJS.detail_tambah", "+ Rekening"); $this->app->json([ $obj->json_table("divDetail") ]); } public function form_rek() { $atabel = [ 'Kode_Rek'=>0, 'Nama_Rek'=>"", 'Kode_Induk'=>0, 'Grup_RekID'=>0, 'Level'=>1, 'Mode'=>"D", 'Kas_Rek'=>0, 'Aktif'=>1 ]; if (!empty($this->kode_rek)) { $atabel = $this->db->fetchRow("SELECT * FROM gel_acc WHERE Kode_Rek=?", [$this->kode_rek]); } $form = new Form($this->app); $tgrup = $form->option_db("_", "Grup_RekID", $atabel['Grup_RekID'], true, false, "gel_acc_grup", ["Grup_RekID","Nama_Grup"], "Aktif=1 ORDER BY Grup_RekID"); $tinduk = $form->option_db("_", "Kode_Induk", $atabel['Kode_Induk'], true, false, "gel_acc", ["Kode_Rek","Nama_Rek"], "Mode='G' AND Aktif=1 ORDER BY Kode_Rek", [0,"TOP LEVEL"]); $tkode = $form->textbox("_", "Kode_Rek", $atabel['Kode_Rek'], true, false, "text", "kode rekening"); $tnama = $form->textbox("_", "Nama_Rek", $atabel['Nama_Rek'], true, true, "text", "nama rekening"); $tlevel = $form->option("_", "Level", $atabel['Level'], true, false, $this->Level_Array()); $tmode = $form->radio("_", "Mode", $atabel['Mode'], true, true, ['G'=>"Grup",'D'=>"Detail"]); $tkas_rek = $form->radio("_", "Kas_Rek", $atabel['Kas_Rek'], true, true, ['1'=>"Ya",'0'=>"Tidak"]); $taktif = $form->radio("_", "Aktif", $atabel['Aktif'], true, true, ['1'=>"Aktif",'0'=>"Tidak"]); $ajson['html'] = '