db->query("select database() as current_db")->result(); // print_r($cek); } function search() { try { if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; $search = "%%"; if (isset($prm["search"])) { $search = trim($prm["search"]); if ($search != "") { $search = "%" . $prm["search"] . "%"; } else { $search = "%%"; } } $bagnumber = ""; if (isset($prm["bagnumber"])) { $bagnumber = $prm["bagnumber"]; } $sortBy = $prm["sortBy"]; $sortStatus = $prm["sortStatus"]; if($sortBy){ $q_sort = "ORDER BY ".$sortBy." ".$sortStatus; } $number_offset = 0; $number_limit = 10; if($prm["current_page"] > 0) { $number_offset = ($prm["current_page"] - 1) * $number_limit; } $sql_filter = "SELECT count(*) as total FROM one_bb.td_baginventory JOIN one_bb.td_source ON Td_BagInventoryTd_SourceID = Td_SourceID AND Td_SourceIsActive = 'Y' JOIN one_bb.td_bloodtype ON Td_BagInventoryTd_BloodTypeID = Td_BloodTypeID AND Td_BloodTypeIsActive = 'Y' JOIN one_bb.td_bloodrhesus ON Td_BagInventoryTd_BloodRhesusID = Td_BloodRhesusID AND Td_BloodRhesusIsActive = 'Y' WHERE Td_BagInventoryIsActive = 'Y' AND Td_BagInventoryNumber LIKE ?"; $qry_filter = $this->db->query($sql_filter, array($search)); $tot_count = 0; $tot_page = 0; if ($qry_filter) { $tot_count = $qry_filter->result_array()[0]["total"]; $tot_page = ceil($tot_count/$number_limit); } else { $this->sys_error_db(" inventory kantong count", $this->db); exit; } $sql_data = "SELECT Td_BagInventoryID, Td_BagInventoryDate, Td_SourceID, Td_SourceName, Td_SourceIsPMI, Td_BagInventoryNumber, Td_BagInventoryVolume, IF(Td_BagInventoryExpDate ='0000-00-00' OR Td_BagInventoryExpDate is NULL, '', DATE_FORMAT(Td_BagInventoryExpDate, '%d-%m-%Y')) as expdate, Td_BloodTypeID, Td_BloodRhesusID, Td_BloodTypeCode, Td_BloodRhesusCode, Td_BagInventoryIsUsed, Td_BagInventoryUsedDate, Td_BagInventoryUsedUserID FROM one_bb.td_baginventory JOIN one_bb.td_source ON Td_BagInventoryTd_SourceID = Td_SourceID AND Td_SourceIsActive = 'Y' JOIN one_bb.td_bloodtype ON Td_BagInventoryTd_BloodTypeID = Td_BloodTypeID AND Td_BloodTypeIsActive = 'Y' JOIN one_bb.td_bloodrhesus ON Td_BagInventoryTd_BloodRhesusID = Td_BloodRhesusID AND Td_BloodRhesusIsActive = 'Y' WHERE Td_BagInventoryIsActive = 'Y' AND Td_BagInventoryNumber LIKE ? $q_sort LIMIT ? OFFSET ?"; $qry_data = $this->db->query($sql_data, array($search, $number_limit, $number_offset)); // $last_qry = $this->db->last_query(); // print_r($last_qry); if ($qry_data) { $rows = $qry_data->result_array(); } else { $this->sys_error_db("inventory kantong select", $this->db); exit; } $result = array( "total" => $tot_page, "total_filter" => $tot_count, "records" => $rows ); $this->sys_ok($result); } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function get_source() { try { if (!$this->isLogin) { $this->sys_error("Invalid Token"); exit; } $sql = "SELECT Td_SourceID as sourceid, Td_SourceName as sourceName, Td_SourceIsPMI FROM one_bb.td_source WHERE Td_SourceIsActive = 'Y'"; $qry = $this->db->query($sql); $last_qry = $this->db->last_query(); if (!$qry) { $this->db->trans_rollback(); $error = array( "message" => $this->db->error()["message"], "sql" => $last_qry ); $this->sys_error_db($error, $this->db); exit; } $rows = $qry->result_array(); $result = array( "records" => $rows ); $this->sys_ok($result); exit; } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function get_bloodtype() { try { if (!$this->isLogin) { $this->sys_error("Invalid Token"); exit; } $sql = "SELECT Td_BloodTypeID as bloodtypeid, Td_BloodTypeCode as bloodTypeCode, Td_BloodTypeName FROM one_bb.td_bloodtype WHERE Td_BloodTypeIsActive = 'Y'"; $qry = $this->db->query($sql); $last_qry = $this->db->last_query(); if (!$qry) { $this->db->trans_rollback(); $error = array( "message" => $this->db->error()["message"], "sql" => $last_qry ); $this->sys_error_db($error, $this->db); exit; } $rows = $qry->result_array(); $result = array( "records" => $rows ); $this->sys_ok($result); exit; } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function get_rhesus() { try { if (!$this->isLogin) { $this->sys_error("Invalid Token"); exit; } $sql = "SELECT Td_BloodRhesusID as bloodrhesusid, Td_BloodRhesusCode as bloodRhesusCode , Td_BloodRhesusName FROM one_bb.td_bloodrhesus WHERE Td_BloodRhesusIsActive = 'Y'"; $qry = $this->db->query($sql); $last_qry = $this->db->last_query(); if (!$qry) { $this->db->trans_rollback(); $error = array( "message" => $this->db->error()["message"], "sql" => $last_qry ); $this->sys_error_db($error, $this->db); exit; } $rows = $qry->result_array(); $result = array( "records" => $rows ); $this->sys_ok($result); exit; } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function add() { try { if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $this->db->trans_begin(); $prm = $this->sys_input; $userid = $this->sys_user['M_UserID']; $bagnumber = ""; if (isset($prm['bagnumber'])) { $bagnumber = trim($prm["bagnumber"]); } $bagvolume = ""; if (isset($prm['bagvolume'])) { $bagvolume = trim($prm["bagvolume"]); } $bagexpdate = date("Y-m-d"); if (isset($prm['bagexpdate'])) { $bagexpdate = trim($prm["bagexpdate"]); } $bagtypeid = ""; if (isset($prm['bagtypeid'])) { $bagtypeid = trim($prm["bagtypeid"]); } $bagrhesusid = ""; if (isset($prm['bagrhesusid'])) { $bagrhesusid = trim($prm["bagrhesusid"]); } $sourceid = ""; if (isset($prm['sourceid'])) { $sourceid = trim($prm["sourceid"]); } $isPMI = ""; if (isset($prm['isPMI'])) { $isPMI = trim($prm["isPMI"]); } $sql = "SELECT Td_SourceID, Td_SourceName, Td_SourceIsPMI FROM one_bb.td_source WHERE Td_SourceIsActive = 'Y' AND Td_SourceID = ?"; $qry = $this->db->query($sql, array($sourceid)); if ($qry) { $rows = $qry->result_array(); } else { $this->sys_error_db("select error source", $this->db); exit; } if (count($rows) > 0) { $isPMI = $rows[0]["Td_SourceIsPMI"]; // print_r($isPMI); // exit; if ($isPMI == 'N') { // Td_SourceIsPMI = N $sql_insert = "INSERT INTO one_bb.td_baginventory( Td_BagInventoryDate, Td_BagInventoryTd_SourceID, Td_BagInventoryNumber, Td_BagInventoryVolume, Td_BagInventoryExpDate, Td_BagInventoryTd_BloodTypeID, Td_BagInventoryTd_BloodRhesusID, Td_BagInventoryIsUsed, Td_BagInventoryUsedDate, Td_BagInventoryUsedUserID, Td_BagInventoryIsActive, Td_BagInventoryCreated, Td_BagInventoryLastUpdated) VALUES( NOW(), ?, (select one_bb.fn_numbering('BAG')), ?, ?, ?, ?, 'N', NOW(), ?, 'Y', NOW(), NOW())"; $qry_insert = $this->db->query($sql_insert, array( $sourceid, $bagvolume, $bagexpdate, $bagtypeid, $bagrhesusid, $userid )); if (!$qry_insert) { $this->db->trans_rollback(); $this->sys_error_db("save baginventory error", $this->db); exit; } } else { // Td_SourceIsPMI = Y $sql_insert = "INSERT INTO one_bb.td_baginventory( Td_BagInventoryDate, Td_BagInventoryTd_SourceID, Td_BagInventoryNumber, Td_BagInventoryVolume, Td_BagInventoryExpDate, Td_BagInventoryTd_BloodTypeID, Td_BagInventoryTd_BloodRhesusID, Td_BagInventoryIsUsed, Td_BagInventoryUsedDate, Td_BagInventoryUsedUserID, Td_BagInventoryIsActive, Td_BagInventoryCreated, Td_BagInventoryLastUpdated) VALUES( NOW(), ?, ?, ?, ?, ?, ?, 'N', NOW(), ?, 'Y', NOW(), NOW())"; $qry_insert = $this->db->query($sql_insert, array( $sourceid, $bagnumber, $bagvolume, $bagexpdate, $bagtypeid, $bagrhesusid, $userid )); if (!$qry_insert) { $this->db->trans_rollbakc(); $this->sys_error_db("save baginventory error", $this->db); exit; } } } // $this->db->trans_rollback(); $this->db->trans_commit(); $result = array( "total" => 1 ); $this->sys_ok($result); } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function edit() { try { if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $this->db->trans_begin(); $prm = $this->sys_input; $userid = $this->sys_user['M_UserID']; $sourceid = ""; if (isset($prm['sourceid'])) { $sourceid = trim($prm["sourceid"]); } $number = ""; if (isset($prm['number'])) { $number = trim($prm["number"]); } $volume = ""; if (isset($prm['volume'])) { $volume = trim($prm["volume"]); } $expdate = date("Y-m-d"); if (isset($prm['expdate'])) { $expdate = trim($prm["expdate"]); } $bloodtypeid = ""; if (isset($prm['bloodtypeid'])) { $bloodtypeid = trim($prm["bloodtypeid"]); } $bloodrhesusid = ""; if (isset($prm['bloodrhesusid'])) { $bloodrhesusid = trim($prm["bloodrhesusid"]); } $id = ""; if (isset($prm['id'])) { $id = trim($prm["id"]); } $sql = "UPDATE one_bb.td_baginventory SET Td_BagInventoryDate = NOW(), Td_BagInventoryTd_SourceID = ?, Td_BagInventoryNumber = ?, Td_BagInventoryVolume = ?, Td_BagInventoryExpDate = ?, Td_BagInventoryTd_BloodTypeID = ?, Td_BagInventoryTd_BloodRhesusID = ?, Td_BagInventoryUsedUserID = ?, Td_BagInventoryLastUpdated = NOW() WHERE Td_BagInventoryID = ?"; $qry = $this->db->query($sql, array( $sourceid, $number, $volume, $expdate, $bloodtypeid, $bloodrhesusid, $userid, $id )); if (!$qry) { $this->db->trans_rollback(); $this->sys_error_db("update baginventory error", $this->db); exit; } $this->db->trans_commit(); $result = array( "total" => 1, "affected_rows" => $this->db->affected_rows() ); $this->sys_ok($result); } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function delete() { try { if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $this->db->trans_begin(); $prm = $this->sys_input; $userid = $this->sys_user['M_UserID']; $id = ""; if (isset($prm['id'])) { $id = trim($prm["id"]); } $sql = "UPDATE one_bb.td_baginventory SET Td_BagInventoryUsedUserID = ?, Td_BagInventoryIsActive = 'N', Td_BagInventoryLastUpdated = NOW() WHERE Td_BagInventoryID = ?"; $qry = $this->db->query($sql, array($userid, $id)); $last_qry = $this->db->last_query(); if (!$qry) { $this->db->trans_rollback(); $error = array( "message" => $this->db->error()["message"], "sql" => $last_qry ); $this->sys_error_db($error, $this->db); exit; } $this->db->trans_commit(); $result = array( "affected_rows" => $this->db->affected_rows() ); $this->sys_ok($result); } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } } ?>