Initial import
This commit is contained in:
183
application/controllers/tools/Fisik_organ.php
Normal file
183
application/controllers/tools/Fisik_organ.php
Normal file
@@ -0,0 +1,183 @@
|
||||
<?php
|
||||
|
||||
class Fisik_organ extends MY_Controller
|
||||
{
|
||||
var $db_smartone;
|
||||
public function index()
|
||||
{
|
||||
echo "Fisik Organ API";
|
||||
}
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
public function generate($labnumber) {
|
||||
if (isset($labnumber)) {
|
||||
// cari orderid
|
||||
$sql = "SELECT DISTINCT T_OrderHeaderID
|
||||
FROM t_orderheader
|
||||
WHERE T_OrderHeaderOldLabNumber = '{$labnumber}'";
|
||||
$qry = $this->db->query($sql);
|
||||
// echo $this->db->last_query();
|
||||
if (!$qry) {
|
||||
echo json_encode([
|
||||
"status" => "ERR",
|
||||
"message" => "Error get t_orderheader | " . $this->db->error()["message"]
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
$rows = $qry->row();
|
||||
if ( count($rows) > 0 ) {
|
||||
$orderid = $rows->T_OrderHeaderID;
|
||||
//echo $orderid;
|
||||
//cari detailid
|
||||
$sql = "SELECT T_OrderDetailID
|
||||
FROM t_orderdetail
|
||||
WHERE T_OrderDetailT_OrderHeaderID = {$orderid}
|
||||
AND T_OrderDetailT_TestID = 2562
|
||||
AND T_OrderDetailIsActive = 'Y'
|
||||
";
|
||||
$qry = $this->db->query($sql);
|
||||
|
||||
if (!$qry) {
|
||||
echo json_encode([
|
||||
"status" => "ERR",
|
||||
"message" => "Error get t_orderdetail | " . $this->db->error()["message"]
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
|
||||
$row_details = $qry->row();
|
||||
if(count($row_details) > 0 ){
|
||||
$detailid = $row_details->T_OrderDetailID;
|
||||
// print_r($row_details);
|
||||
$qry = "SELECT COUNT(*) as exist FROM so_resultentry WHERE So_ResultEntryT_OrderHeaderID = {$orderid}
|
||||
AND So_ResultEntryT_OrderDetailID = {$detailid}
|
||||
AND So_ResultEntryNonlab_TemplateID = 27
|
||||
AND So_ResultEntryIsActive = 'Y'";
|
||||
$exist_data = $this->db->query($qry)->row()->exist;
|
||||
if($exist_data == 0){
|
||||
$sql = "INSERT INTO so_resultentry(So_ResultEntryT_OrderHeaderID,
|
||||
So_ResultEntryT_OrderDetailID,
|
||||
So_ResultEntryNonlab_TemplateID,
|
||||
So_ResultEntryNonlab_TemplateName,
|
||||
So_ResultEntryCreated)
|
||||
VALUES({$orderid},
|
||||
{$detailid},
|
||||
27,
|
||||
'Fisik Umum',
|
||||
now())";
|
||||
$query = $this->db->query($sql);
|
||||
if (!$query) {
|
||||
echo json_encode([
|
||||
"status" => "ERR",
|
||||
"message" => "Error insert so_resultentry | " . $this->db->error()["message"]
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
$so_id = $this->db->insert_id();
|
||||
}else{
|
||||
$qry = "SELECT So_ResultEntryID FROM so_resultentry WHERE So_ResultEntryT_OrderHeaderID = {$orderid}
|
||||
AND So_ResultEntryT_OrderDetailID = {$detailid}
|
||||
AND So_ResultEntryNonlab_TemplateID = 27
|
||||
AND So_ResultEntryIsActive = 'Y'";
|
||||
$so_id = $this->db->query($qry)->row()->So_ResultEntryID;
|
||||
}
|
||||
// echo 'so id '.$so_id;
|
||||
|
||||
//PROSES
|
||||
$arr_map = $this->getArrayMap();
|
||||
$sql = "select * from x_adm_rekap_fisik_organ where REG_NO = '{$labnumber}'";
|
||||
$qry = $this->db->query($sql, [$reg_no]);
|
||||
if (!$qry) {
|
||||
echo json_encode([
|
||||
"status" => "ERR",
|
||||
"message" => "Error get x_adm_rekap_fisik_organ | " . $this->db->error()["message"]
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
$rows = $qry->result_array();
|
||||
foreach ($rows as $r) {
|
||||
foreach ($r as $key => $value) {
|
||||
if ($key == "REG_NO") continue;
|
||||
list($id_code, $templateID) = $arr_map[$key];
|
||||
list($soResultEntryFisikUmumID, $strJsonAwal) = $this->getSoResultEntryFisikUmumID($so_id, $templateID);
|
||||
$jsonAwal = json_decode($strJsonAwal, true);
|
||||
// update jsonAwal sesuai dengan id_code dan value nya
|
||||
// kalau sudah update ke so_resultentryfisikumum
|
||||
switch ($id_code) {
|
||||
case "gizi_1":
|
||||
//update jsonAwal utk gizi_1
|
||||
break;
|
||||
case "gizi_2":
|
||||
//update jsonAwal utk gizi_1
|
||||
break;
|
||||
}
|
||||
print_r($jsonAwal);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
echo json_encode([
|
||||
"status" => "ERR",
|
||||
"message" => "Tidak ditemukan data"
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
function getArrayMap()
|
||||
{
|
||||
$sql = "select * from x_map_fisik_organ";
|
||||
$qry = $this->db->query($sql);
|
||||
if (!$qry) {
|
||||
echo json_encode([
|
||||
"status" => "ERR",
|
||||
"message" => "Error get x_map_fisik_organ | " . $this->db->error()["message"]
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
$arr_map = [];
|
||||
$rows = $qry->result_array();
|
||||
foreach ($rows as $r) {
|
||||
$arr_map[$r["name"]] = [$r["code_id"], $r["templateID"]];
|
||||
}
|
||||
return $arr_map;
|
||||
}
|
||||
function getSoResultEntryFisikUmumID($soResultEntryID, $templateID)
|
||||
{
|
||||
$so_resultentryid = $soResultEntryID;
|
||||
$templateid = $templateID;
|
||||
$sql = "SELECT *
|
||||
FROM so_resultentry_fisik_umum
|
||||
WHERE So_ResultEntryFisikUmumSo_ResultEntryID = ?
|
||||
AND So_ResultEntryFisikUmumFisikTemplateID = ?
|
||||
AND So_ResultEntryFisikUmumIsActive = 'Y'";
|
||||
$qry = $this->db->query($sql);
|
||||
if (!$qry) {
|
||||
echo json_encode([
|
||||
"status" => "ERR",
|
||||
"message" => "Error get so_resultentry_fisik_umum | " . $this->db->error()["message"]
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
$arr_map = [];
|
||||
$rows = $qry->result_array();
|
||||
|
||||
foreach ($rows as $r) {
|
||||
$arr_map[$r["So_ResultEntryFisikUmumID"]] = [$r["So_ResultEntryFisikUmumID"], $r["So_ResultEntryFisikUmumDetails"]];
|
||||
}
|
||||
|
||||
print_r($arr_map);
|
||||
exit;
|
||||
|
||||
return $arr_map;
|
||||
|
||||
//cari di so_resultentryfisikumum
|
||||
// jika ketemu returnkan So_ResultEntryFisikUmumDetails
|
||||
// jika tidak ketemu cari dari fisik template , FisikTemplateJSON
|
||||
// insertkan ke so_resultentryfisikumum
|
||||
|
||||
//retun nya [So_ResultEntryFisikUmumID, JSON]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user