db_onedev = $this->load->database("onedev", true); } public function search() { $prm = $this->sys_input; if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $number_limit = 10; $number_offset = ($prm['current_page'] - 1) * $number_limit ; $sql_join_result_email = ''; $sql_having = 'HAVING check_ver_status <> 0'; $sql_where = ''; if($prm['filter_work'] == 'manual'){ $sql_having .= ' AND another_delivery = 0 '; } if($prm['filter_work'] == 'auto'){ $sql_having .= ' AND another_delivery > 0 '; } if($prm['filter_status'] == 'ready'){ $sql_where .= " AND ISNULL(Result_EmailID)"; $sql_join_result_email = 'LEFT JOIN result_email ON Result_EmailT_OrderHeaderID = T_OrderHeaderID AND Result_EmailT_OrderPromiseID = T_OrderPromiseID AND Result_EmailT_OrderDeliveryID = T_OrderDeliveryID AND Result_EmailIsActive = "Y"'; }else{ $sql_join_result_email = 'JOIN result_email ON Result_EmailT_OrderHeaderID = T_OrderHeaderID AND Result_EmailT_OrderPromiseID = T_OrderPromiseID AND Result_EmailT_OrderDeliveryID = T_OrderDeliveryID AND Result_EmailIsActive = "Y"'; $sql_where .= " AND Result_EmailStatus = '{$prm['filter_status']}'"; } if($prm['name'] != '') $sql_where .= " AND M_PatientName LIKE CONCAT('%','{$prm['name']}','%')"; if($prm['nolab'] != '') $sql_where .= " AND T_OrderHeaderLabNumber LIKE CONCAT('%','{$prm['nolab']}','%')"; $sql = " SELECT count(*) as total FROM ( SELECT IFNULL(Result_EmailID,0) as xid, T_OrderHeaderID as orderid, T_OrderPromiseID as promiseid, T_OrderDeliveryID as orderdeliveryid, Nat_GroupID as group_id, CONCAT(T_OrderHeaderID,'.',T_OrderPromiseID) as uniqid, T_OrderHeaderLabNumber as labnumber, CONCAT(IFNULL(M_TitleName,''),' ',M_PatientName) as patient_fullname, T_OrderDeliveryDestination as old_email_address, T_OrderDeliveryDestination as email_address, DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y') as date_order, DATE_FORMAT(T_OrderPromiseDateTime,'%d-%m-%Y %H:%i') as date_promise, '' as xgroups, fn_check_delivery_other_email(T_OrderHeaderID) as another_delivery, fn_sum_print_by_order_promise(T_OrderHeaderID,T_OrderPromiseID) as sum_print, fn_result_handling_check_status_verification(T_OrderHeaderID) as check_ver_status, 'N' as edit_email, fn_result_handling_color_row(T_OrderPromiseDateTime) as color_row FROM t_orderdetail JOIN t_test ON T_OrderDetailT_TestID = T_TestID JOIN nat_group ON T_TestNat_GroupID = Nat_GroupID JOIN t_orderdelivery ON T_OrderDeliveryT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND T_OrderDeliveryM_DeliveryTypeID = 3 AND T_OrderDeliveryIsActive = 'Y' JOIN t_orderpromise ON T_OrderDetailT_OrderPromiseID = T_OrderPromiseID AND T_OrderPromiseIsActive = 'Y' JOIN t_orderheader ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID LEFT JOIN m_title ON M_PatientM_TitleID = M_TitleID $sql_join_result_email WHERE T_OrderDetailIsActive = 'Y' AND T_OrderPromiseDateTime < CONCAT('{$prm['datepromise']}',' 23:59:59') $sql_where GROUP BY T_OrderHeaderID, T_OrderPromiseID $sql_having ) xs "; //echo $sql; $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("t_samplestorageout count", $this->db_onedev); exit; } $sql = "SELECT IFNULL(Result_EmailID,0) as xid, T_OrderHeaderID as orderid, T_OrderPromiseID as promiseid, T_OrderDeliveryID as orderdeliveryid, Nat_GroupID as group_id, CONCAT(T_OrderHeaderID,'.',T_OrderPromiseID) as uniqid, T_OrderHeaderLabNumber as labnumber, CONCAT(IFNULL(M_TitleName,''),' ',M_PatientName) as patient_fullname, GROUP_CONCAT(DISTINCT T_OrderDeliveryDestination SEPARATOR ' , ') as old_email_address, GROUP_CONCAT(DISTINCT T_OrderDeliveryDestination SEPARATOR ' , ') as email_address, GROUP_CONCAT(DISTINCT CONCAT(T_OrderDeliveryID,'-',T_OrderDeliveryDestination) SEPARATOR 'xfajrix') as xemail, DATE_FORMAT(T_OrderHeaderDate,'%d-%m-%Y') as date_order, DATE_FORMAT(T_OrderPromiseDateTime,'%d-%m-%Y %H:%i') as date_promise, '' as xgroups, fn_check_delivery_other_email(T_OrderHeaderID) as another_delivery, fn_sum_print_by_order_promise(T_OrderHeaderID,T_OrderPromiseID) as sum_print, fn_result_handling_check_status_verification(T_OrderHeaderID) as check_ver_status, 'N' as edit_email, fn_result_handling_color_row(T_OrderPromiseDateTime) as color_row FROM t_orderdetail JOIN t_test ON T_OrderDetailT_TestID = T_TestID JOIN nat_group ON T_TestNat_GroupID = Nat_GroupID JOIN t_orderdelivery ON T_OrderDeliveryT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND T_OrderDeliveryM_DeliveryTypeID = 3 AND T_OrderDeliveryIsActive = 'Y' JOIN t_orderpromise ON T_OrderDetailT_OrderPromiseID = T_OrderPromiseID AND T_OrderPromiseIsActive = 'Y' JOIN t_orderheader ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID LEFT JOIN m_title ON M_PatientM_TitleID = M_TitleID $sql_join_result_email WHERE T_OrderDetailIsActive = 'Y' AND T_OrderDetailT_TestIsResult = 'Y' AND T_OrderPromiseDateTime < CONCAT('{$prm['datepromise']}',' 23:59:59') $sql_where GROUP BY T_OrderHeaderID, T_OrderPromiseID $sql_having ORDER BY T_OrderHeaderLabNumber ASC limit $number_limit offset $number_offset"; $query = $this->db_onedev->query($sql); //echo $this->db_onedev->last_query(); $rows = $query->result_array(); if($rows){ foreach($rows as $k => $v){ $sql = "SELECT IF(T_TestIsNonLab = '','LAB',T_TestIsNonLab) as xgroup, if({$v['another_delivery']} = '0','manual','auto') as type_work, IFNULL(Result_AuthorizationID,0) as xauth_id, SUM(T_OrderDetailPrintCount) as print_count, fn_result_handling_get_cout_print_by_type(T_OrderDetailT_OrderHeaderID,T_OrderDetailT_OrderPromiseID,T_TestIsNonLab) as print_type, fn_result_handling_status_button(T_OrderDetailT_OrderHeaderID,T_OrderDetailT_OrderPromiseID,T_TestIsNonLab) as status FROM t_orderdetail JOIN t_test ON T_OrderDetailT_TestID = T_TestID JOIN t_orderpromise ON T_OrderDetailT_OrderPromiseID = T_OrderPromiseID LEFT JOIN result_authorization ON Result_AuthorizationT_OrderHeaderID = T_OrderDetailT_OrderHeaderID AND Result_AuthorizationT_OrderPromiseID = T_OrderPromiseID AND Result_AuthorizationT_TestIsNonLab = T_TestIsNonLab AND Result_AuthorizationIsActive = 'Y' WHERE T_OrderDetailT_OrderHeaderID = {$v['orderid']} AND T_OrderDetailT_OrderPromiseID = {$v['promiseid']} AND T_OrderDetailT_TestIsResult = 'Y' AND T_OrderDetailIsActive = 'Y' GROUP BY T_TestIsNonLab"; //echo $sql; $rows[$k]['xgroups'] = $this->db_onedev->query($sql)->result(); } } //$tot_count = 25; //$this->_add_address($rows); $result = array("total" => $tot_page, "records" => $rows, "sql"=> $this->db_onedev->last_query()); $this->sys_ok($result); exit; } function getstaffs(){ if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $rows = []; $query =" SELECT M_StaffID as id, M_StaffName as name FROM m_staff WHERE M_StaffIsActive = 'Y' "; //echo $query; $rows['staffs'] = $this->db_onedev->query($query)->result_array(); $result = array( "total" => count($rows) , "records" => $rows, ); $this->sys_ok($result); exit; } function getrackcontent(){ if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $rows = []; $query =" SELECT Summary_SampleStorageM_AlmariID as almarid, Summary_SampleStorageM_RackID as rackid , Summary_SampleStorageRowPosition as row, Summary_SampleStorageColPosition as col FROM summary_samplestorage WHERE Summary_SampleStorageStatus = 'FILLED' AND Summary_SampleStorageM_AlmariID = {$prm['almariid']} AND Summary_SampleStorageM_RackID = {$prm['rackid']} "; //echo $query; $filledrows = $this->db_onedev->query($query)->result_array(); $query =" SELECT {$prm['almariid']} as almariid, M_RackID as id, CONCAT(M_RackCode,' ( ',M_RackRows,' x ',M_RackColumns,' )') as name, M_RackCode as code, M_RackRows as row, M_RackColumns as col, '' as rackcontens FROM m_rack WHERE M_RackID = {$prm['rackid']} AND M_RackIsActive = 'Y' "; //echo $query; $datarows = $this->db_onedev->query($query)->row_array(); $rows = $datarows['row']; $cols = $datarows['col']; $rackcontens = array(); for ($x = 1; $x <= $rows; $x++) { $children = array(); for ($i = 1; $i <= $cols; $i++) { $content = $x.' x '.$i; $xrow = $x; $xcol = $i; $status = $this->checkexistfilled($filledrows, $datarows['id'],$xrow,$xcol); $selected = 'N'; if($xcol == $prm['col'] && $xrow == $prm['row']){ $selected = 'T'; } array_push($children,array('content'=>$content,'row'=>$xrow,'col'=>$xcol,'status'=>$status,'selected'=>$selected)); } array_push($rackcontens,$children); } $result = array( "total" => count($rackcontens) , "records" => $rackcontens, ); $this->sys_ok($result); exit; } function checkexistfilled($datas,$rackid,$row,$col){ $rtn = 'N'; foreach($datas as $k => $v){ if($v['rackid'] == $rackid && $v['row'] == $row && $v['col'] == $col){ $rtn = 'Y'; } } return $rtn; } function save(){ if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $userid = $this->sys_user["M_UserID"]; $numbering = $this->db_onedev->query("SELECT fn_numbering('SD') as numbering")->row()->numbering; $xdate = date('Y-m-d',strtotime($prm["date"])); $query ="INSERT INTO t_samplestoragedestroy ( T_SampleStorageDestroyNumbering, T_SampleStorageDestroyDate, T_SampleStorageDestroyTime, T_SampleStorageDestroySampleWeight, T_SampleStorageDestroyM_StaffID, T_SampleStorageDestroyNote, T_SampleStorageDestroyUserID, T_SampleStorageDestroyCreated ) VALUES( '{$numbering}', '{$xdate}', '{$prm['time']}', '{$prm['sampleweight']}', '{$prm['staffid']}', '{$prm['note']}', '{$userid}', NOW() ) "; //echo $query; $saveheader = $this->db_onedev->query($query); $last_id = $this->db_onedev->insert_id(); if($saveheader){ if($prm['details']){ foreach($prm['details'] as $k => $v){ $query ="INSERT INTO t_samplestoragedestroy_detail ( T_SampleStorageDestroyDetailT_SampleStorageDestroyID, T_SampleStorageDestroyDetailT_OrderSampleID, T_SampleStorageDestroyDetailBarcode, T_SampleStorageDestroyDetailM_AlmariID, T_SampleStorageDestroyDetailM_RackID, T_SampleStorageDestroyDetailRowPosition, T_SampleStorageDestroyDetailColPosition, T_SampleStorageDestroyDetailUserID, T_SampleStorageDestroyDetailCreated ) VALUES( '{$last_id}', '{$v['ordersampleid']}', '{$v['barcode']}', '{$v['almari']['id']}', '{$v['rack']['id']}', '{$v['row']}', '{$v['col']}', '{$userid}', NOW() )"; //echo $query; $savedetail = $this->db_onedev->query($query); } } if($prm['detailnonsamples']){ foreach($prm['detailnonsamples'] as $k => $v){ $query ="INSERT INTO t_samplestoragedestroy_detailnonsample ( T_SampleStorageDestroyDetailNonSampleT_SampleStorageDestroyID, T_SampleStorageDestroyDetailNonSampleM_NonSampleID, T_SampleStorageDestroyDetailNonSampleWeight, T_SampleStorageDestroyDetailNonSampleUserID, T_SampleStorageDestroyDetailNonSampleCreated ) VALUES( '{$last_id}', '{$v['id']}', '{$v['weight']}', '{$userid}', NOW() )"; //echo $query; $savedetailnonsample = $this->db_onedev->query($query); } } } $sql = "SELECT * FROM t_samplestoragedestroy WHERE T_SampleStorageDestroyID = {$last_id}"; $data_log_header = $this->db_onedev->query($sql)->result(); $sql = "SELECT * FROM t_samplestoragedestroy_detail WHERE T_SampleStorageDestroyDetailT_SampleStorageDestroyID = {$last_id}"; $data_log_details = $this->db_onedev->query($sql)->result(); $sql = "SELECT * FROM t_samplestoragedestroy_detailnonsample WHERE T_SampleStorageDestroyDetailNonSampleT_SampleStorageDestroyID = {$last_id}"; $data_log_non_details = $this->db_onedev->query($sql)->result(); $data_log = json_encode(array('header'=>$data_log_header,'samples'=>$data_log_details,'nonsamples'=>$data_log_non_details)); $sql = "INSERT INTO one_log.log_samplestorage ( Log_SampleStorageCode, Log_SampleStorageDate, Log_SampleStorageJSON, Log_SampleStorageUserID ) VALUES( 'CREATED.DESTROY', CURDATE(), '{$data_log}', {$userid} )"; //echo $sql; $this->db_onedev->query($sql); $result = array( "total" => 1 , "records" => array('status'=>'OK'), "numbering" => $numbering, "id" => $last_id ); $this->sys_ok($result); exit; } function deletetrx(){ if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $userid = $this->sys_user["M_UserID"]; $datarows = []; $query ="UPDATE t_samplestoragedestroy SET T_SampleStorageDestroyIsActive = 'N', T_SampleStorageDestroyUserID = '{$userid}' WHERE T_SampleStorageDestroyID = '{$prm['id']}'"; //echo $query; $datarows = $this->db_onedev->query($query); $last_id = $prm['id']; $sql = "SELECT * FROM t_samplestoragedestroy WHERE T_SampleStorageDestroyID = {$last_id}"; $data_log_header = $this->db_onedev->query($sql)->result(); $sql = "SELECT * FROM t_samplestoragedestroy_detail WHERE T_SampleStorageDestroyDetailT_SampleStorageDestroyID = {$last_id}"; $data_log_details = $this->db_onedev->query($sql)->result(); $sql = "SELECT * FROM t_samplestoragedestroy_detailnonsample WHERE T_SampleStorageDestroyDetailNonSampleT_SampleStorageDestroyID = {$last_id}"; $data_log_non_details = $this->db_onedev->query($sql)->result(); $data_log = json_encode(array('header'=>$data_log_header,'samples'=>$data_log_details,'nonsamples'=>$data_log_non_details)); $sql = "INSERT INTO one_log.log_samplestorage ( Log_SampleStorageCode, Log_SampleStorageDate, Log_SampleStorageJSON, Log_SampleStorageUserID ) VALUES( 'CANCEL.DESTROY', CURDATE(), '{$data_log}', {$userid} )"; //echo $sql; $this->db_onedev->query($sql); $result = array( "total" => 1, "records" => $prm ); $this->sys_ok($result); exit; } function doauthorization(){ if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $userid = $this->sys_user["M_UserID"]; if($prm['type'] == 'LAB'){ $prm['type'] = ''; } $sql = "INSERT INTO result_authorization ( Result_AuthorizationDateTime, Result_AuthorizationM_StaffID, Result_AuthorizationT_OrderHeaderID, Result_AuthorizationT_OrderPromiseID, Result_AuthorizationNat_GroupID, Result_AuthorizationT_TestIsNonLab, Result_AuthorizationUserID, Result_AuthorizationCreated ) VALUES( NOW(), {$prm['staff']['id']}, {$prm['orderid']}, {$prm['promiseid']}, {$prm['groupid']}, '{$prm['type']}', {$userid}, NOW() )"; $insert_auth = $this->db_onedev->query($sql); $id_auth = $this->db_onedev->insert_id(); if($insert_auth){ $sql = "SELECT T_OrderDetailID as id FROM t_orderdetail JOIN t_test ON T_OrderDetailT_TestID = T_TestID AND T_TestIsNonLab = '{$prm['type']}' LEFT JOIN t_orderauthorization ON T_OrderAuthorizationT_OrderDetailID = T_OrderDetailID AND T_OrderAuthorizationIsActive = 'Y' WHERE T_OrderDetailPrintCount > 0 AND T_OrderDetailT_OrderHeaderID = {$prm['orderid']} AND T_OrderDetailT_OrderPromiseID = {$prm['promiseid']} AND T_OrderDetailT_TestIsResult = 'Y' AND ISNULL(T_OrderAuthorizationID) AND T_OrderDetailIsActive = 'Y'"; // echo $sql; $dt_rst_detail = $this->db_onedev->query($sql)->result(); foreach($dt_rst_detail as $k => $v){ $sql = "INSERT INTO t_orderauthorization ( T_OrderAuthorizationT_OrderDetailID, T_OrderAuthorizationResult_AuthorizationID, T_OrderAuthorizationCreated, T_OrderAuthorizationUserID ) VALUES( {$v->id}, {$id_auth}, NOW(), {$userid} )"; $this->db_onedev->query($sql); } $sql = "SELECT COUNT(*) as count_x FROM t_orderdetail JOIN t_test ON T_OrderDetailT_TestID = T_TestID JOIN t_orderpromise ON T_OrderDetailT_OrderPromiseID = T_OrderPromiseID LEFT JOIN t_orderauthorization ON T_OrderAuthorizationT_OrderDetailID = T_OrderDetailID AND T_OrderAuthorizationIsActive = 'Y' WHERE ISNULL(T_OrderAuthorizationID) AND T_OrderDetailT_OrderHeaderID = {$prm['orderid']} AND T_OrderPromiseID = {$prm['promiseid']} "; //echo $sql; //echo 'ENTER'; $count_x = $this->db_onedev->query($sql)->row()->count_x; //echo $count_x ; //echo $xcount_type; if($count_x == 0){ $sql = "SELECT * FROM t_orderdelivery WHERE T_OrderDeliveryM_DeliveryTypeID = 3 AND T_OrderDeliveryT_OrderHeaderID = {$prm['orderid']} AND T_OrderDeliveryIsActive = 'Y'"; //echo $sql; $xrst_email = $this->db_onedev->query($sql)->result_array(); if($xrst_email){ foreach($xrst_email as $k => $v){ $sql = "INSERT INTO result_email ( Result_EmailT_OrderHeaderID, Result_EmailT_OrderPromiseID, Result_EmailT_OrderDeliveryID, Result_EmailUserID, Result_EmailCreated ) VALUES( {$prm['orderid']}, {$prm['promiseid']}, {$v['T_OrderDeliveryID']}, {$userid}, NOW() )"; //echo $sql; $this->db_onedev->query($sql); } } } } $result = array( "total" => 1, "records" => $prm ); $this->sys_ok($result); exit; } function updateemail(){ $prm = $this->sys_input; if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $email_address = ''; $email = ''; $userid = $this->sys_user["M_UserID"]; if(isset($prm['emails'])){ foreach($prm['emails'] as $k => $v){ $sql = "UPDATE t_orderdelivery SET T_OrderDeliveryDestination = '{$v['address']}', T_OrderDeliveryUserID = {$userid} WHERE T_OrderDeliveryID = {$v['id']}"; $this->db_onedev->query($sql); $email .= $v['id'].'-'.$v['address']; if($email != '') $email .= 'xfajrix'; $email_address .= $v['address']; if($email_address != '') $email_address .= ' , '; } } $result = array( "total" => 1, "records" => array('email'=>$email,'email_address'=>$email_address) ); $this->sys_ok($result); exit; } function lookupsamples() { $prm = $this->sys_input; if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $search = $prm["search"]; if($search){ $sql_where = "WHERE ( T_OrderHeaderLabNumber LIKE CONCAT('%',?,'%') OR M_PatientName LIKE CONCAT('%',?,'%')) AND Summary_SampleStorageStatus = 'FILLED'"; $sql_param = array($search,$search); } else{ $sql_where = "WHERE Summary_SampleStorageStatus = 'FILLED'"; $sql_param = array(); } $sql = " SELECT count(*) as total FROM summary_samplestorage JOIN t_ordersample ON T_OrderSampleID = Summary_SampleStorageT_OrderSampleID JOIN t_orderheader ON T_OrderSampleT_OrderHeaderID = T_OrderHeaderID JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID LEFT JOIN m_title ON M_PatientM_TitleID = M_TitleID JOIN m_almari ON Summary_SampleStorageM_AlmariID = M_AlmariID JOIN m_rack ON Summary_SampleStorageM_AlmariID = M_RackID $sql_where "; //echo $sql; $query = $this->db_onedev->query($sql, $sql_param); $tot_count = 0; if ($query) { $tot_count = $query->result_array()[0]["total"]; } else { $this->sys_error_db("t_samplestorageout count", $this->db_onedev); exit; } $sql = "SELECT Summary_SampleStorageID as id, T_OrderSampleBarcode as barcode, '' as almari, '' as rack, Summary_SampleStorageRowPosition as row, Summary_SampleStorageColPosition as col, m_almari.*, m_rack.*, CONCAT(IFNULL(M_TitleName,''),' ',M_PatientName) as patientname, Summary_SampleStorageT_OrderSampleID as ordersampleid FROM summary_samplestorage JOIN t_ordersample ON T_OrderSampleID = Summary_SampleStorageT_OrderSampleID JOIN t_orderheader ON T_OrderSampleT_OrderHeaderID = T_OrderHeaderID JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID LEFT JOIN m_title ON M_PatientM_TitleID = M_TitleID JOIN m_almari ON Summary_SampleStorageM_AlmariID = M_AlmariID JOIN m_rack ON Summary_SampleStorageM_RackID = M_RackID $sql_where ORDER BY T_OrderHeaderID ASC limit 0,20"; $query = $this->db_onedev->query($sql, $sql_param); //echo $this->db_onedev->last_query(); $rows = $query->result(); if($rows){ foreach($rows as $kx => $vx){ $vx->almari = array('id'=>$vx->M_AlmariID,'name'=>'[ '.$vx->M_AlmariCode.' ] '.$vx->M_AlmariName,'code'=>$vx->M_AlmariCode); $vx->rack = array('id'=>$vx->M_RackID,'name'=>$vx->M_RackCode.' ( '.$vx->M_RackRows.' x '.$vx->M_RackColumns.' )','code'=>$vx->M_RackCode); } } //$this->_add_address($rows); $result = array("total" => $tot_count, "records" => $rows, "sql"=> $this->db_onedev->last_query()); $this->sys_ok($result); exit; } function lookupnonsamples() { $prm = $this->sys_input; if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $search = $prm["search"]; if($search){ $sql_where = "WHERE M_NonSampleName LIKE CONCAT('%',?,'%')) AND M_NonSampleIsActive = 'Y'"; $sql_param = array($search,$search); } else{ $sql_where = "WHERE M_NonSampleIsActive = 'Y'"; $sql_param = array(); } $sql = " SELECT count(*) as total FROM m_nonsample $sql_where "; //echo $sql; $query = $this->db_onedev->query($sql, $sql_param); $tot_count = 0; if ($query) { $tot_count = $query->result_array()[0]["total"]; } else { $this->sys_error_db("t_samplestorageout count", $this->db_onedev); exit; } $sql = "SELECT M_NonSampleID as id, M_NonSampleName as name FROM m_nonsample $sql_where ORDER BY M_NonSampleName ASC limit 0,20"; $query = $this->db_onedev->query($sql, $sql_param); //echo $this->db_onedev->last_query(); $rows = $query->result(); //$this->_add_address($rows); $result = array("total" => $tot_count, "records" => $rows, "sql"=> $this->db_onedev->last_query()); $this->sys_ok($result); exit; } function savenewvendor(){ if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $userid = $this->sys_user["M_UserID"]; $query ="INSERT INTO m_vendorsample ( M_VendorSampleName, M_VendorSampleAddress, M_VendorSampleCreated, M_VendorSampleUserID ) VALUES( '{$prm['vendor_name']}', '{$prm['vendor_address']}', NOW(), '{$userid}' ) "; //echo $query; $savevendor = $this->db_onedev->query($query); $query =" SELECT M_VendorSampleID as id, M_VendorSampleName as name FROM m_vendorsample WHERE M_VendorSampleIsActive = 'Y' "; //echo $query; $rows = $this->db_onedev->query($query)->result_array(); $result = array( "total" => 1 , "records" => $rows ); $this->sys_ok($result); exit; } function savenewitem(){ if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $userid = $this->sys_user["M_UserID"]; $query ="INSERT INTO m_nonsample ( M_NonSampleName, M_NonSampleCreated, M_NonSampleUserID ) VALUES( '{$prm['name']}', NOW(), '{$userid}' ) "; //echo $query; $savevendor = $this->db_onedev->query($query); $query =" SELECT M_NonSampleID as id, M_NonSampleName as name FROM m_nonsample WHERE M_NonSampleIsActive = 'Y' "; //echo $query; $rows = $this->db_onedev->query($query)->result_array(); $result = array( "total" => 1 , "records" => $rows ); $this->sys_ok($result); exit; } function searchstaff(){ if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $max_rst = 12; $tot_count =0; $q = [ 'search' => '%' ]; if ($prm['search'] != '') { $q['search'] = "%{$prm['search']}%"; } // QUERY TOTAL $sql = "SELECT count(*) as total FROM m_staff WHERE M_StaffName like ? AND M_StaffIsActive = 'Y'"; $query = $this->db_onedev->query($sql,$q['search']); //echo $query; if ($query) { $tot_count = $query->result_array()[0]["total"]; } else { $this->sys_error_db("m_staff count",$this->db_onedev); exit; } $sql = " SELECT * FROM m_staff WHERE M_StaffName like ? AND M_StaffIsActive = 'Y' ORDER BY M_StaffName DESC "; $query = $this->db_onedev->query($sql, array($q['search'])); if ($query) { $rows = $query->result_array(); //echo $this->db_onedev->last_query(); $result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows)); $this->sys_ok($result); } else { $this->sys_error_db("m_staff rows",$this->db_onedev); exit; } } }