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] } }