Update Waktu Collection(Bawah Laporan) dan Result(Atas) pada laporan Hasil Sesuai User Login (Bali/WITA) dan (Sby/WIB)

This commit is contained in:
mikael-zakaria 2025-01-21 17:20:46 +08:00
parent 059cda06cd
commit 780d433c22

View File

@ -3,7 +3,7 @@ namespace App\Controllers;
class PrintResult extends BaseController {
public function otherTests($resultData, $data, $note){
public function otherTests($resultData, $data, $note) {
// Mengetahui Apakah User Login adalah Bali atau Surabaya
$cityid = session()->get('usercityid');
@ -55,15 +55,15 @@ class PrintResult extends BaseController {
$hostordernumber = $data[0]['HOSTORDERNUMBER'];
$collection_date = $data[0]['COLLECTIONDATE'];
$dateTime = \DateTime::createFromFormat('Y-m-d H:i:s.u', $collection_date);
if ($dateTime) {
$collection_date = $dateTime->format('d-m-Y H:i');
$dateTimeCol = \DateTime::createFromFormat('Y-m-d H:i:s.u', $collection_date);
if ($dateTimeCol) {
$collection_date = $dateTimeCol->format('d-m-Y H:i');
}
$result_date = $data[0]['RESULTDATE'];
$dateTime = \DateTime::createFromFormat('Y-m-d H:i:s.u', $result_date);
if ($dateTime) {
$result_date = $dateTime->format('d-m-Y H:i');
$dateTimeRes = \DateTime::createFromFormat('Y-m-d H:i:s.u', $result_date);
if ($dateTimeRes) {
$result_date = $dateTimeRes->format('d-m-Y H:i');
}
} else {
@ -383,8 +383,16 @@ class PrintResult extends BaseController {
}
public function printResultTest($access) {
$cityid = session()->get('usercityid');
$db = \Config\Database::connect();
// Memisahkan Waktu yang ditampilkan pada laporan hasil
$filter_query_result="";
if ($cityid == 1) {
$filter_query_result = " r.MAX_RESDATE AS RESULTDATE ";
} elseif ($cityid == 2) {
$filter_query_result = " FORMAT(DATEADD(HOUR, -1, r.MAX_RESDATE), 'yyyy-MM-dd hh:mm:ss.fff') AS RESULTDATE ";
}
// Untuk Header
$sql = "SELECT
p.PATNUMBER,
@ -395,7 +403,7 @@ class PrintResult extends BaseController {
sr.COLLECTIONDATE,
sr.SP_ACCESSNUMBER,
p.SEX,
r.MAX_RESDATE AS RESULTDATE
".$filter_query_result."
FROM
PATIENTS p
LEFT JOIN
@ -420,45 +428,34 @@ class PrintResult extends BaseController {
$results = $query->getResultArray();
$header = $results[0];
// Memisahkan Waktu yang ditampilkan pada laporan hasil
$filter_query_collection="";
if ($cityid == 1) {
$filter_query_collection = " FORMAT(ct.COLLECTIONDATE, 'hh:mm') AS colltime ";
} elseif ($cityid == 2) {
$filter_query_collection = " FORMAT(DATEADD(HOUR, -1, ct.COLLECTIONDATE), 'hh:mm') AS colltime ";
}
// Untuk Collection
$sql = "select ds.SHORTTEXT,
format(tu.COLLECTIONDATE, 'dd-MM-yyyy') as recvdate, format(tu.COLLECTIONDATE, 'hh:mm') as recvtime,
format(ct.COLLECTIONDATE, 'dd-MM-yyyy') as colldate, format(ct.COLLECTIONDATE, 'hh:mm') as colltime
from SP_TUBES tu
left join DICT_SAMPLES_TYPES ds on ds.SAMPCODE= tu.SAMPLETYPE
left join cmod.dbo.CM_TUBES ct on ct.SAMPLETYPE=tu.SAMPLETYPE and ct.ACCESSNUMBER=tu.SP_ACCESSNUMBER
where tu.SP_ACCESSNUMBER='$access'";
$sql = "SELECT
ds.SHORTTEXT,
FORMAT(tu.COLLECTIONDATE, 'dd-MM-yyyy') AS recvdate,
FORMAT(tu.COLLECTIONDATE, 'hh:mm') AS recvtime,
FORMAT(ct.COLLECTIONDATE, 'dd-MM-yyyy') AS colldate,
".$filter_query_collection."
FROM
SP_TUBES tu
LEFT JOIN
DICT_SAMPLES_TYPES ds ON ds.SAMPCODE = tu.SAMPLETYPE
LEFT JOIN
cmod.dbo.CM_TUBES ct ON ct.SAMPLETYPE = tu.SAMPLETYPE AND ct.ACCESSNUMBER = tu.SP_ACCESSNUMBER
WHERE
tu.SP_ACCESSNUMBER = '$access';";
$query = $db->query($sql);
$results = $query->getResultArray();
$collection = $results;
$data = [$header, $collection];
// var_dump($data[0]['PATNUMBER']);die();
// BACKUP
// $sql = "
// select dc.CHAPID, dc.FULLTEXT as chap_eng,dc.FULLTEXT as chap_ind,
// RESULT=case when cr.RESTYPE in('NM','TX') then cr.RESVALUE when cr.RESTYPE='CE' then tx.FULLTEXT end,
// cr.*, cdt.TEXT1 as test_eng, cdt.TEXT2 as test_ind
// from cmod.dbo.CM_RESULTS cr
// left join REQUESTS r on r.ACCESSNUMBER=cr.ACCESSNUMBER
// left join cmod.dbo.CM_DICT_TESTS cdt on cr.TESTCODE=cdt.TESTCODE
// left join DICT_TESTS dt on dt.TESTCODE=cr.TESTCODE and dt.ENDVALIDDATE is null
// left join TESTS t on t.REQUESTID = r.REQUESTID and t.TESTID=dt.TESTID
// left join DICT_TEXTS tx on tx.TEXTID=t.CODEDRESULTID
// left join DICT_CHAPTERS dc on dc.CHAPID=dt.CHAPID and dc.ENDVALIDDATE is null
// left join cmod.dbo.CM_DICT_CHAPTERS cdc on cdc.CHAPCODE=dc.CHAPCODE
// where cr.ACCESSNUMBER='$access'
// ORDER BY
// CASE
// WHEN cr.TESTCODE = 'NOTE' THEN 1
// ELSE 0
// END,
// t.TESTORDER;
// ";
$sql = "
select
$sql = "SELECT
dc.CHAPID,
dc.FULLTEXT as chap_eng,
dc.FULLTEXT as chap_ind,
@ -485,8 +482,7 @@ class PrintResult extends BaseController {
left join cmod.dbo.CM_DICT_TESTS cdt on dt.TESTCODE=cdt.TESTCODE
left join cmod.dbo.CM_RESULTS cr on cr.ACCESSNUMBER=r.ACCESSNUMBER and cr.TESTCODE=cdt.TESTCODE and cr.TESTCODE=dt.TESTCODE
where r.ACCESSNUMBER='$access'
ORDER BY t.TESTORDER
";
ORDER BY t.TESTORDER";
$query = $db->query($sql);
$results = $query->getResultArray();