db_one= $this->load->database("onedev", true); } function detail(){ try { if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $id = $prm['id']; $sql = "select * from r_reportdetail left join r_reportparam on R_ReportDetailR_ReportParamID = R_ReportParamID left join r_inputtype on R_ReportParamR_InputTypeID = R_InputTypeID and R_ReportDetailIsActive = 'Y' where R_ReportDetailR_ReportID = ? order by R_ReportDetailID, R_ReportDetailPriority desc"; // echo $sql; $qry = $this->db_one->query($sql, array($id) ); $last_q = $this->db_one->last_query(); if ($qry) { $rows = $qry->result_array(); foreach($rows as $idx => $r) { $rows[$idx]["model"] = ""; $rows[$idx]["tmp_date"] = false; } $result = array ("total" => count($rows), "records" => $rows); $this->sys_ok($result); } else { $message = "Err Report Query"; $this->sys_error($message,$this->db_one); } } catch(Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function list(){ try { if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $search = $prm['search']; $q_search = ""; $q_param = array(); if ($search !== "") { $q_search = " where ( R_ReportCode like ? or R_ReportName like ? ) "; $q_param[] = "%$search%"; $q_param[] = "%$search%"; } $sql = "select R_ReportGroupID, R_ReportGroupName, R_ReportGroupColor, R_ReportID, R_ReportCode, R_ReportName, R_ReportUrl from r_report join r_reportgroup on R_ReportGroupID = R_ReportR_ReportGroupID and R_ReportIsActive = 'Y' $q_search ORDER BY R_ReportGroupName ASC, R_ReportCode ASC"; //echo $sql; if ($q_search == "" ) { $qry = $this->db_one->query($sql); } else { $qry = $this->db_one->query($sql,$q_param); } $last_q = $this->db_one->last_query(); if ($qry) { $rows = $qry->result_array(); $reports = array(); $prev_group = 0; $idx = -1; foreach($rows as $r) { if ($prev_group != $r["R_ReportGroupID"] ) { $idx++; $reports[] = array("id"=>$r["R_ReportGroupID"], "name" => $r["R_ReportGroupName"], "color" => $r["R_ReportGroupColor"], "reports" => array()); } $prev_group = $r["R_ReportGroupID"]; $reports[$idx]["reports"][] = $r; } $result = array ("total" => count($reports), "records" => $reports); $this->sys_ok($result); } else { $message = "Err Report Query"; $this->sys_error($message,$this->db_one); } } catch(Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } public function lookupparam() { try { //# cek token valid if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $search = $prm['search']; $limit = ''; if($all == 'N'){ $limit = ' LIMIT 10'; } $number_limit = 10; $number_offset = ($prm['current_page'] - 1) * $number_limit ; $sql = "select COUNT(*) as total from r_reportparam LEFT JOIN r_inputtype ON R_ReportParamR_InputTypeID = R_InputTypeID AND R_InputTypeIsActive = 'Y' where (R_ReportParamName LIKE CONCAT('%','{$search}','%') OR IFNULL(R_InputTypeName,'') LIKE CONCAT('%','{$search}','%') OR IFNULL(R_ReportParamLabel,'') LIKE CONCAT('%','{$search}','%')) AND R_ReportParamIsActive = 'Y'"; $sql_param = array($search); // $total = $this->db_onedev->query($sql,$sql_param)->row()->total; $query = $this->db_onedev->query($sql); $tot_count = 0; $tot_page = 0; if ($query) { $tot_count = $query->result_array()[0]["total"]; $tot_page = ceil($tot_count/$number_limit); } else { $this->sys_error_db("r_reportparam count", $this->db_onedev); exit; } $sql = "select R_ReportParamID as id, R_InputTypeName, r_reportparam.* from r_reportparam LEFT JOIN r_inputtype ON R_ReportParamR_InputTypeID = R_InputTypeID AND R_InputTypeIsActive = 'Y' where (R_ReportParamName LIKE CONCAT('%','{$search}','%') OR IFNULL(R_InputTypeName,'') LIKE CONCAT('%','{$search}','%') OR IFNULL(R_ReportParamLabel,'') LIKE CONCAT('%','{$search}','%')) AND R_ReportParamIsActive = 'Y' GROUP BY R_ReportParamID ORDER BY R_ReportParamName ASC limit $number_limit offset $number_offset"; $sql_param = array($search); $query = $this->db_onedev->query($sql); //echo $this->db_onedev->last_query(); if ($query) { $rows = $query->result_array(); } else { $this->sys_error_db("r_reportparam select"); exit; } $result = array ("total" => $tot_page, "total_filter"=>count($rows),"records" => $rows); $this->sys_ok($result); } catch(Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } }