db_onedev = $this->load->database("onedev", true); } public function index() { echo "request upload"; } public function search() { try { # cek token valid if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $search = $prm["search"]; // if (isset($prm['search'])) { // $search = trim($prm["search"]); // if ($search != "") { // $search = '%' . $prm['search'] . '%'; // }else{ // $search = '%%'; // } // } $where = ""; $startdate = $prm['startdate']; $enddate = $prm['enddate']; // $str_search_T_OrderHeaderDate = ""; // $str_search_M_PatientName = ""; // $str_search_T_OrderHeaderLabNumber = ""; // $str_search_T_OrderHeaderLabNumberExt = ""; $filter_date = " DATE(T_OrderHeaderDate) BETWEEN '{$startdate}' AND '{$enddate}'"; if($startdate != '' && $enddate !=''){ $where = "$filter_date "; // $str_search_T_OrderHeaderDate = " AND $filter_date"; } if($search != ''){ $where .= " AND ( M_PatientName LIKE '%{$search}%' OR T_OrderHeaderLabNumber LIKE '%{$search}%' OR T_OrderHeaderLabNumberExt LIKE '%{$search}%' ) "; // $str_search_M_PatientName = "AND M_PatientName LIKE '%{$search}%' "; // $str_search_T_OrderHeaderLabNumber = "OR T_OrderHeaderLabNumber LIKE '%{$search}%' "; // $str_search_T_OrderHeaderLabNumberExt = "OR T_OrderHeaderLabNumberExt LIKE '%{$search}%' "; } $sortBy = $prm['sortBy']; // $sortStatus = $prm['sortStatus']; $q_sort = ''; $limit = ''; if($sortBy){ $q_sort = "ORDER BY ".$sortBy; } if($all == 'N'){ $limit = ' LIMIT 10'; } $number_limit = 20; // $number_offset = ($prm['current_page'] - 1) * $number_limit ; $number_offset = 0; if($prm['current_page'] > 0) { $number_offset = ($prm['current_page'] - 1) * $number_limit; } $sql_filter = "select count(*) as total from ( select T_OrderHeaderLabNumber as no_reg, concat(M_TitleName, ' ', ifnull(M_PatientPrefix,' '), M_PatientName, ifnull(M_PatientSuffix,'') ) as nama_pasien, M_CompanyName as nama_company, M_MouName as nama_mou, T_OrderHeaderTotal as total, if(Mitra_UploadIsUploaded is NULL,'N',Mitra_UploadIsUploaded) as RequestIsUploaded from t_orderheader join one_mitra.t_order ON T_OrderT_OrderHeaderID = T_OrderHeaderID AND T_OrderIsActive = 'Y' AND T_OrderHeaderIsActive = 'Y' left join mitra_upload ON T_OrderHeaderID = Mitra_UploadT_OrderHeaderID AND Mitra_UploadIsActive = 'Y' AND Mitra_UploadIsUploaded = 'N' join m_company ON M_CompanyID = T_OrderHeaderM_CompanyID join m_mou ON T_OrderM_MouID = M_MouID AND M_MouIsActive = 'Y' AND M_MouIsBill = 'Y' join m_patient ON T_OrderHeaderM_PatientID = M_PatientID join m_title on M_PatientM_TitleID = M_TitleID JOIN result_processtooffice ON T_OrderHeaderID = Result_ProcessToOfficeT_OrderHeaderID AND Result_ProcessToOfficeIsActive = 'Y' where $where group by T_OrderHeaderID UNION select T_OrderHeaderLabNumber as no_reg, concat(M_TitleName, ' ', ifnull(M_PatientPrefix,' '), M_PatientName, ifnull(M_PatientSuffix,'') ) as nama_pasien, M_CompanyName as nama_company, M_MouName as nama_mou, T_OrderHeaderTotal as total, if(Mitra_UploadIsUploaded is NULL,'N',Mitra_UploadIsUploaded) as RequestIsUploaded from t_orderheader join one_mitra.t_order ON T_OrderT_OrderHeaderID = T_OrderHeaderID AND T_OrderIsActive = 'Y' AND T_OrderHeaderIsActive = 'Y' left join mitra_upload ON T_OrderHeaderID = Mitra_UploadT_OrderHeaderID AND Mitra_UploadIsActive = 'Y' AND Mitra_UploadIsUploaded = 'N' join m_company ON M_CompanyID = T_OrderHeaderM_CompanyID join m_mou ON T_OrderM_MouID = M_MouID AND M_MouIsActive = 'Y' join m_patient ON T_OrderHeaderM_PatientID = M_PatientID join m_title on M_PatientM_TitleID = M_TitleID JOIN result_processtooffice ON T_OrderHeaderID = Result_ProcessToOfficeT_OrderHeaderID AND Result_ProcessToOfficeIsActive = 'Y' join f_payment ON t_orderheader.T_OrderHeaderID = F_PaymentT_OrderHeaderID AND F_PaymentIsActive = 'Y' join f_payment_orderheader ON F_PaymentID = F_Payment_OrderHeaderF_PaymentID AND F_Payment_OrderHeaderIsLunas = 'Y' where $where group by T_OrderHeaderID ) x"; // $sql_param = array($search); // $total = $this->db_onedev->query($sql,$sql_param)->row()->total; $query_filter = $this->db_onedev->query($sql_filter); $tot_count = 0; $tot_page = 0; if ($query_filter) { $tot_count = $query_filter->result_array()[0]["total"]; $tot_page = ceil($tot_count/$number_limit); } else { $this->db_onedev->trans_rollback(); $this->sys_error_db("mitra_upload count", $this->db); exit; } $sql_data = " select ifnull(Mitra_UploadIsUploaded,'x') as Mitra_UploadIsUploaded, if(Mitra_UploadLastUpdated is null,'', DATE_FORMAT(Mitra_UploadLastUpdated,'%d-%m-%Y %H:%i')) as Mitra_UploadLastUpdated, T_OrderHeaderID, T_OrderID, T_OrderHeaderLabNumber as no_reg, concat(M_TitleName, ' ', ifnull(M_PatientPrefix,' '), M_PatientName, ifnull(M_PatientSuffix,'') ) as nama_pasien, M_CompanyName as nama_company, M_MouName as nama_mou, T_OrderHeaderTotal as total, '' as test from t_orderheader join one_mitra.t_order ON T_OrderT_OrderHeaderID = T_OrderHeaderID AND T_OrderIsActive = 'Y' AND T_OrderHeaderIsActive = 'Y' left join mitra_upload ON T_OrderHeaderID = Mitra_UploadT_OrderHeaderID AND Mitra_UploadIsActive = 'Y' AND Mitra_UploadIsUploaded = 'N' join m_company ON M_CompanyID = T_OrderHeaderM_CompanyID join m_mou ON T_OrderM_MouID = M_MouID AND M_MouIsActive = 'Y' AND M_MouIsBill = 'Y' join m_patient ON T_OrderHeaderM_PatientID = M_PatientID join m_title on M_PatientM_TitleID = M_TitleID JOIN result_processtooffice ON T_OrderHeaderID = Result_ProcessToOfficeT_OrderHeaderID AND Result_ProcessToOfficeIsActive = 'Y' where $where group by T_OrderHeaderID UNION select ifnull(Mitra_UploadIsUploaded,'x') as Mitra_UploadIsUploaded, if(Mitra_UploadLastUpdated is null,'', DATE_FORMAT(Mitra_UploadLastUpdated,'%d-%m-%Y %H:%i')) as Mitra_UploadLastUpdated, T_OrderHeaderID, T_OrderID, T_OrderHeaderLabNumber as no_reg, concat(M_TitleName, ' ', ifnull(M_PatientPrefix,' '), M_PatientName, ifnull(M_PatientSuffix,'') ) as nama_pasien, M_CompanyName as nama_company, M_MouName as nama_mou, T_OrderHeaderTotal as total, '' as test from t_orderheader join one_mitra.t_order ON T_OrderT_OrderHeaderID = T_OrderHeaderID AND T_OrderIsActive = 'Y' AND T_OrderHeaderIsActive = 'Y' left join mitra_upload ON T_OrderHeaderID = Mitra_UploadT_OrderHeaderID AND Mitra_UploadIsActive = 'Y' AND Mitra_UploadIsUploaded = 'N' join m_company ON M_CompanyID = T_OrderHeaderM_CompanyID join m_mou ON T_OrderM_MouID = M_MouID AND M_MouIsActive = 'Y' join m_patient ON T_OrderHeaderM_PatientID = M_PatientID join m_title on M_PatientM_TitleID = M_TitleID JOIN result_processtooffice ON T_OrderHeaderID = Result_ProcessToOfficeT_OrderHeaderID AND Result_ProcessToOfficeIsActive = 'Y' join f_payment ON t_orderheader.T_OrderHeaderID = F_PaymentT_OrderHeaderID AND F_PaymentIsActive = 'Y' join f_payment_orderheader ON F_PaymentID = F_Payment_OrderHeaderF_PaymentID AND F_Payment_OrderHeaderIsLunas = 'Y' where $where group by T_OrderHeaderID limit $number_limit offset $number_offset"; // $sql_param = array($search); $query_data = $this->db_onedev->query($sql_data); //echo $this->db_onedev->last_query(); if ($query_data) { $rows = $query_data->result_array(); if(count($rows) > 0){ $sql_dt = ""; foreach($rows as $k => $v){ $order_id = $v['T_OrderHeaderID']; $dt_test = []; $sql_dt = "SELECT T_OrderDetailT_TestName as x_test from t_orderdetail join t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsActive = 'Y' WHERE T_OrderDetailT_OrderHeaderID = $order_id AND T_OrderDetailIsActive = 'Y' AND T_OrderDetailT_TestIsPrice = 'Y' "; // echo $sql_dt; $xdt_test = $this->db_onedev->query($sql_dt); // print_r($xdt_test); if(!$xdt_test){ $this->db_onedev->trans_rollback(); $this->sys_error_db("order detail"); exit; }else{ $testArr = $xdt_test->result_array(); $rows[$k]['test'] = $testArr; $xno = ($k + 1) + $number_offset; $rows[$k]['rownumber'] = $xno; } } } } else { $this->db_onedev->trans_rollback(); $this->sys_error_db("mitra_upload select"); exit; } $result = array( "total" => $tot_page, "total_all" => $tot_count, "total_filter" => count($rows), "records" => $rows, "sql" => $this->db_onedev->last_query(), "sql_data" => ($sql_data) ); // $result = array ("total" => $tot_page, "total_filter"=>count($rows),"records" => $rows, 'sql'=> $this->db_onedev->last_query()); $this->sys_ok($result); } catch(Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } public function change_reupload() { try { # cek token valid if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $userID = $this->sys_user['M_UserID']; $Mitra_UploadT_OrderHeaderID = $prm['Mitra_UploadT_OrderHeaderID']; $Mitra_UploadT_OrderID = $prm['Mitra_UploadT_OrderID']; // echo $Mitra_UploadT_OrderHeaderID; // echo $Mitra_UploadT_OrderID; $sql_update = "UPDATE mitra_upload SET Mitra_UploadIsUploaded = 'N' WHERE Mitra_UploadT_OrderHeaderID = ? AND Mitra_UploadT_OrderID = ?"; $qry = $this->db_onedev->query($sql_update,[ $Mitra_UploadT_OrderHeaderID, $Mitra_UploadT_OrderID ]); if(!$qry){ $this->db_onedev->trans_rollback(); $this->sys_error_db("update Mitra_UploadIsUploaded to N failed"); exit; } $result = array( "total" => 1 , "records" => $prm ); $this->sys_ok($result); exit; } catch(Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } public function process_request_upload() { try { # cek token valid if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $userID = $this->sys_user['M_UserID']; $Mitra_UploadT_OrderHeaderID = $prm['Mitra_UploadT_OrderHeaderID']; $Mitra_UploadT_OrderID = $prm['Mitra_UploadT_OrderID']; // echo $Mitra_UploadT_OrderHeaderID; // echo $Mitra_UploadT_OrderID; $sql_insert = "INSERT INTO mitra_upload( Mitra_UploadT_OrderHeaderID, Mitra_UploadT_OrderID, Mitra_UploadUserID ) values ( ?, ?, ? )"; $qry = $this->db_onedev->query($sql_insert,[ $Mitra_UploadT_OrderHeaderID, $Mitra_UploadT_OrderID, $userID ]); if(!$qry){ $this->db_onedev->trans_rollback(); $this->sys_error_db("insert request upload failed"); exit; } $result = array( "total" => 1 , "records" => $prm ); $this->sys_ok($result); exit; } catch(Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } } ?>