Compare commits
67 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d323d8a5c9 | ||
|
|
5c0f876d05 | ||
|
|
8e2d75d1d6 | ||
|
|
43a860d108 | ||
|
|
9f348e05b8 | ||
|
|
ca8955fa4e | ||
|
|
dcb1981e70 | ||
|
|
d449975a54 | ||
|
|
e31cee76a7 | ||
|
|
f6b390f7f0 | ||
|
|
8070f5cdb5 | ||
|
|
7c3fcdcb2c | ||
|
|
b0ba2a4df2 | ||
|
|
c529c5e0b3 | ||
|
|
9ec94ad3e1 | ||
|
|
5e5b0047b4 | ||
|
|
90483835bc | ||
|
|
a4a2c74f1d | ||
|
|
7493768c5b | ||
|
|
58be9960eb | ||
|
|
3d9a34c713 | ||
|
|
9709192ae8 | ||
|
|
e4c6ff7cb1 | ||
|
|
31824206fd | ||
|
|
76d9b1bbd7 | ||
|
|
75bfadc077 | ||
|
|
74a8c24138 | ||
|
|
64514cfdc8 | ||
|
|
69270d1962 | ||
|
|
83310f88a4 | ||
|
|
e66c10d5e6 | ||
|
|
45090dd254 | ||
|
|
0efe3bfcc0 | ||
|
|
1cd92dce7c | ||
|
|
b5d95eb695 | ||
|
|
67fc5c9a6b | ||
|
|
968b7677ac | ||
|
|
6bc67edca6 | ||
|
|
9a53d00468 | ||
|
|
3e79feb1a6 | ||
|
|
0c509735e6 | ||
|
|
e0565bfa21 | ||
|
|
3fb064375b | ||
|
|
1bbc38a481 | ||
|
|
3ef0a7bbb0 | ||
|
|
b4648c67b3 | ||
|
|
ff29d10f24 | ||
|
|
e85db5f5b2 | ||
|
|
be68c655f5 | ||
|
|
4dc20ac087 | ||
|
|
9157d8061a | ||
|
|
fd72ab2534 | ||
|
|
aa31a93939 | ||
|
|
69fcc8e464 | ||
|
|
3ff3840378 | ||
|
|
57b039cf83 | ||
|
|
b2692fd797 | ||
|
|
b99321e56b | ||
|
|
d1e489ea45 | ||
|
|
06a0f9943e | ||
|
|
b8cc6f5977 | ||
|
|
55569e96d1 | ||
|
|
fefe36db53 | ||
|
|
206ee53221 | ||
|
|
670a3367a6 | ||
|
|
4fc51b8250 | ||
|
|
1ef987c7c6 |
@ -133,7 +133,7 @@ class App extends BaseConfig
|
||||
* @see https://www.php.net/manual/en/timezones.php for list of timezones
|
||||
* supported by PHP.
|
||||
*/
|
||||
public string $appTimezone = 'UTC';
|
||||
public string $appTimezone = 'Asia/Makassar';
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
|
||||
@ -11,15 +11,16 @@ class API_Dashboard extends ResourceController {
|
||||
// Mengetahui Apakah User Login adalah Bali atau Surabaya
|
||||
$cityid = session()->get('usercityid');
|
||||
if ($cityid == 1) {
|
||||
$filter_query = " AND (sr.HOSTORDERNUMBER LIKE 'B%' OR sr.HOSTORDERNUMBER LIKE 'Z%')";
|
||||
$filter_query = " AND (tr.REQNUMBER LIKE 'B%' OR tr.REQNUMBER LIKE 'Z%')";
|
||||
} elseif ($cityid == 2) {
|
||||
$filter_query = " AND (sr.HOSTORDERNUMBER LIKE 'S%' OR sr.HOSTORDERNUMBER LIKE 'X%')";
|
||||
$filter_query = " AND (tr.REQNUMBER LIKE 'S%' OR tr.REQNUMBER LIKE 'X%')";
|
||||
} else { $filter_query = " "; }
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
$date1 = $this->request->getPost('date1');
|
||||
$date2 = $this->request->getPost('date2');
|
||||
$sql = "select sr.COLLECTIONDATE, sr.SP_ACCESSNUMBER, sr.HOSTORDERNUMBER, p.PATNUMBER, concat(p.FIRSTNAMESK, ' ', p.NAME) as NAME,
|
||||
$sql = "SELECT
|
||||
sr.COLLECTIONDATE, sr.SP_ACCESSNUMBER, sr.HOSTORDERNUMBER as REFFID, tr.REQNUMBER as HOSTORDERNUMBER, tr.REQSTATUS, p.PATNUMBER, concat(tp.FIRSTNAME, ' ', tp.lastname) as NAME,
|
||||
TESTS=stuff(( select ', '+'('+T.SP_TESTCODE+')' from
|
||||
( select T.SP_TESTCODE from SP_TESTS T
|
||||
where T.SP_ACCESSNUMBER=sr.SP_ACCESSNUMBER
|
||||
@ -58,8 +59,11 @@ class API_Dashboard extends ResourceController {
|
||||
else 'Pend'
|
||||
end STATS
|
||||
from SP_REQUESTS sr
|
||||
left join PATIENTS p on p.PATID=sr.PATID
|
||||
left join REQUESTS r on r.ACCESSNUMBER=sr.SP_ACCESSNUMBER
|
||||
left join cmod.dbo.CM_TM_REQUESTS tr on tr.REFFID = sr.HOSTORDERNUMBER
|
||||
--left join cmod.dbo.CM_TM_PATIENTS tp on tr.PATID = tp.PATID
|
||||
left join PATIENTS p on sr.PATID = p.PATID
|
||||
left join cmod.dbo.CM_TM_PATIENTS tp on tp.PATNUMBER = LTRIM(p.patnumber, '0')
|
||||
where sr.COLLECTIONDATE between '$date1 00:00' and '$date2 23:59'"
|
||||
.$filter_query.
|
||||
"order by sr.COLLECTIONDATE desc";
|
||||
|
||||
@ -21,7 +21,7 @@ class API_Tubes extends BaseController {
|
||||
|
||||
public function uncollect($access, $sample) {
|
||||
$db = \Config\Database::connect();
|
||||
$sql = "UPDATE cmod.dbo.CM_TUBES set COLLSTATUS=0 where ACCESSNUMBER='$access' and SAMPLETYPE='$sample'";
|
||||
$sql = "UPDATE cmod.dbo.CM_TUBES set COLLSTATUS=0, COLLECTIONDATE=null where ACCESSNUMBER='$access' and SAMPLETYPE='$sample'";
|
||||
$query = $db->query($sql);
|
||||
}
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ class AdminController extends BaseController {
|
||||
$data['usercityid'] = session()->get('usercityid');
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
$sql = "SELECT sr.HOSTORDERNUMBER, tu.SAMPLETYPE, ds.SHORTTEXT, tu.TUBESTATUS, ct.COLLSTATUS, ct.TUBECOMMENT from SP_TUBES tu
|
||||
$sql = "SELECT sr.HOSTORDERNUMBER, tu.SAMPLETYPE, ds.FULLTEXT as SHORTTEXT, tu.TUBESTATUS, ct.COLLSTATUS, ct.TUBECOMMENT from SP_TUBES tu
|
||||
left join SP_REQUESTS sr on tu.SP_ACCESSNUMBER=sr.SP_ACCESSNUMBER
|
||||
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
|
||||
|
||||
@ -14,7 +14,7 @@ class FoController extends BaseController {
|
||||
$data['usercityid'] = session()->get('usercityid');
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
$sql = "SELECT sr.HOSTORDERNUMBER, tu.SAMPLETYPE, ds.SHORTTEXT, tu.TUBESTATUS, ct.COLLSTATUS, ct.TUBECOMMENT from SP_TUBES tu
|
||||
$sql = "SELECT sr.HOSTORDERNUMBER, tu.SAMPLETYPE, ds.FULLTEXT as SHORTTEXT, tu.TUBESTATUS, ct.COLLSTATUS, ct.TUBECOMMENT from SP_TUBES tu
|
||||
left join SP_REQUESTS sr on tu.SP_ACCESSNUMBER=sr.SP_ACCESSNUMBER
|
||||
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
|
||||
|
||||
@ -11,9 +11,9 @@ class PrintLabel extends BaseController {
|
||||
}
|
||||
|
||||
public function printerSampling() {
|
||||
exec('net use S: \\\\10.148.3.169\\Labelshare /user:Administrator 2>&1', $output, $return_var);
|
||||
$pathNetworkFolder = 'S:/Sampling_Labels/';
|
||||
$letterPath = 'S:';
|
||||
exec('net use K: \\\\10.148.5.68\\Labelshare /user:Administrator 2>&1', $output, $return_var);
|
||||
$pathNetworkFolder = 'K:/Sampling_Labels/';
|
||||
$letterPath = 'K:';
|
||||
return array($pathNetworkFolder, $letterPath);
|
||||
}
|
||||
|
||||
@ -55,11 +55,12 @@ class PrintLabel extends BaseController {
|
||||
$networkPath = "";
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
$sql = "select p.PATNUMBER as UHID, sr.HOSTORDERNUMBER as BV, concat (p.FIRSTNAMESK, ' ', p.NAME) as NAME, p.SEX,
|
||||
$sql = "SELECT p.PATNUMBER as UHID, ctr.REQNUMBER as BV, concat (p.FIRSTNAMESK, ' ', p.NAME) as NAME, p.SEX,
|
||||
DATEDIFF(YEAR, BirthDate, GETDATE()) -
|
||||
CASE WHEN MONTH(BirthDate) > MONTH(GETDATE()) OR (MONTH(BirthDate) = MONTH(GETDATE()) AND DAY(BirthDate) > DAY(GETDATE())) THEN 1
|
||||
ELSE 0 END AS AGE, sr.COLLECTIONDATE, p.BIRTHDATE
|
||||
from SP_REQUESTS sr
|
||||
left join cmod.dbo.CM_TM_REQUESTS ctr on ctr.REFFID=sr.HOSTORDERNUMBER
|
||||
left join SP_REQUESTS st on sr.SP_ACCESSNUMBER=st.SP_ACCESSNUMBER
|
||||
left join PATIENTS p on p.PATID=sr.PATID
|
||||
where st.SP_ACCESSNUMBER='$access'";
|
||||
@ -67,7 +68,7 @@ class PrintLabel extends BaseController {
|
||||
$results = $query->getResultArray();
|
||||
$item = $results[0];
|
||||
|
||||
$uhid = substr($item['UHID'], -10);
|
||||
$uhid = ltrim($item['UHID'], '0');
|
||||
$bv = $item['BV'];
|
||||
$sex = $item['SEX'] == 1 ? "M" : "F";
|
||||
$title = $item['SEX'] == 1 ? "Mr" : "Mrs";
|
||||
@ -101,23 +102,43 @@ class PrintLabel extends BaseController {
|
||||
|
||||
$label="";
|
||||
$role = session()->get('userrole');
|
||||
// Ruang Analis Printer POSTEK C168/200s
|
||||
// Ruang Analis Printer POSTEK C168/200s + 16 untuk sudut
|
||||
if ($role == 'admin' || $role == 'user') {
|
||||
/*
|
||||
$label = "N
|
||||
OD
|
||||
q400
|
||||
Q200,10+0
|
||||
I8,A,001
|
||||
D10
|
||||
A4,3,0,2,1,1,N,\"$title.$name1\"
|
||||
A$jarak,20,0,2,1,1,N,\"$name2\"
|
||||
A4,42,0,1,1,1,N,\"DoB: $birthdate\"
|
||||
A337,42,0,1,1,1,N,\"$sex {$age}Y\"
|
||||
B15,57,0,1,4,8,70,N,\"$access\"
|
||||
A120,132,0,1,1,1,N,\"REQ# $access\"
|
||||
A4,164,0,2,1,1,N,\"RM:$uhid\"
|
||||
A4,147,0,2,1,1,N,\"VN:$bv\"
|
||||
A195,164,0,2,1,1,N,\"$collectiondate\"
|
||||
A5,19,0,2,1,1,N,\"$title.$name1\"
|
||||
A$jarak,36,0,2,1,1,N,\"$name2\"
|
||||
A5,58,0,1,1,1,N,\"DoB: $birthdate\"
|
||||
A337,58,0,1,1,1,N,\"$sex {$age}Y\"
|
||||
B16,73,0,1,4,8,70,N,\"$access\"
|
||||
A120,148,0,1,1,1,N,\"REQ# $access\"
|
||||
A5,165,0,2,1,1,N,\"VN:$bv\"
|
||||
A5,182,0,2,1,1,N,\"RM:$uhid\"
|
||||
A195,182,0,2,1,1,N,\"$collectiondate\"
|
||||
|
||||
P1
|
||||
";
|
||||
*/
|
||||
$label = "N
|
||||
OD
|
||||
q400
|
||||
Q200,10+0
|
||||
I8,A,001
|
||||
D10
|
||||
A5,4,0,2,1,1,N,\"$title.$name1\"
|
||||
A$jarak,21,0,2,1,1,N,\"$name2\"
|
||||
A5,43,0,1,1,1,N,\"DoB: $birthdate\"
|
||||
A337,43,0,1,1,1,N,\"$sex {$age}Y\"
|
||||
B16,58,0,1,4,8,70,N,\"$access\"
|
||||
A120,133,0,1,1,1,N,\"REQ# $access\"
|
||||
A5,150,0,2,1,1,N,\"VN:$bv\"
|
||||
A5,167,0,2,1,1,N,\"RM:$uhid\"
|
||||
A195,167,0,2,1,1,N,\"$collectiondate\"
|
||||
|
||||
P1
|
||||
";
|
||||
@ -192,22 +213,42 @@ P1
|
||||
$jarak = '53';
|
||||
}
|
||||
|
||||
// Printer Posteck
|
||||
// Printer Posteck + 16 untuk sudut
|
||||
/*
|
||||
$sampleLabel ="N
|
||||
OD
|
||||
q400
|
||||
Q200,10+0
|
||||
I8,A,001
|
||||
D10
|
||||
A4,3,0,2,1,1,N,\"$title.$name1\"
|
||||
A$jarak,20,0,2,1,1,N,\"$name2\"
|
||||
A325,25,0,2,1,1,N,\"$sex {$age}Y\"
|
||||
A4,47,0,2,1,1,N,\"$sample\"
|
||||
A204,47,0,2,1,1,N,\"DoB: $birthdate\"
|
||||
B37,68,0,1,4,8,70,N,\"$barcode\"
|
||||
A115,143,0,2,1,1,N,\"SAM# $barcode\"
|
||||
A4,165,0,2,1,1,N,\"RM:$uhid\"
|
||||
A195,165,0,2,1,1,N,\"$collection_date\"
|
||||
A5,21,0,2,1,1,N,\"$title.$name1\"
|
||||
A$jarak,38,0,2,1,1,N,\"$name2\"
|
||||
A325,43,0,2,1,1,N,\"$sex {$age}Y\"
|
||||
A5,65,0,2,1,1,N,\"$sample\"
|
||||
A204,65,0,2,1,1,N,\"DoB: $birthdate\"
|
||||
B37,86,0,1,4,8,70,N,\"$barcode\"
|
||||
A115,161,0,2,1,1,N,\"SAM# $barcode\"
|
||||
A5,183,0,2,1,1,N,\"RM:$uhid\"
|
||||
A195,183,0,2,1,1,N,\"$collection_date\"
|
||||
|
||||
P1
|
||||
";
|
||||
*/
|
||||
$sampleLabel ="N
|
||||
OD
|
||||
q400
|
||||
Q200,10+0
|
||||
I8,A,001
|
||||
D10
|
||||
A5,6,0,2,1,1,N,\"$title.$name1\"
|
||||
A$jarak,23,0,2,1,1,N,\"$name2\"
|
||||
A325,28,0,2,1,1,N,\"$sex {$age}Y\"
|
||||
A5,50,0,2,1,1,N,\"$sample\"
|
||||
A204,50,0,2,1,1,N,\"DoB: $birthdate\"
|
||||
B37,71,0,1,4,8,70,N,\"$barcode\"
|
||||
A115,146,0,2,1,1,N,\"SAM# $barcode\"
|
||||
A5,168,0,2,1,1,N,\"RM:$uhid\"
|
||||
A195,168,0,2,1,1,N,\"$collection_date\"
|
||||
|
||||
P1
|
||||
";
|
||||
@ -261,7 +302,7 @@ P1
|
||||
DATEDIFF(YEAR, BirthDate, GETDATE()) -
|
||||
CASE WHEN MONTH(BirthDate) > MONTH(GETDATE()) OR (MONTH(BirthDate) = MONTH(GETDATE()) AND DAY(BirthDate) > DAY(GETDATE())) THEN 1
|
||||
ELSE 0 END AS AGE,
|
||||
ds.FULLTEXT, st.SAMPLETYPE+right(sr.SP_ACCESSNUMBER,5) as BARCODE, sr.COLLECTIONDATE, p.BIRTHDATE
|
||||
ds.SHORTTEXT AS FULLTEXT, st.SAMPLETYPE+right(sr.SP_ACCESSNUMBER,5) as BARCODE, sr.COLLECTIONDATE, p.BIRTHDATE
|
||||
from SP_TUBES st
|
||||
left join SP_REQUESTS sr on st.SP_ACCESSNUMBER=sr.SP_ACCESSNUMBER
|
||||
left join PATIENTS p on p.PATID=sr.PATID
|
||||
@ -272,7 +313,7 @@ P1
|
||||
$results = $query->getResultArray();
|
||||
$item = $results[0];
|
||||
|
||||
$uhid = substr($item['UHID'], -10);
|
||||
$uhid = ltrim($item['UHID'], '0');
|
||||
$bv = $item['BV'];
|
||||
$sex = $item['SEX'] == 1 ? "M" : "F";
|
||||
$title = $item['SEX'] == 1 ? "Mr" : "Mrs";
|
||||
|
||||
@ -161,9 +161,17 @@ class PrintLabelSby extends BaseController {
|
||||
|
||||
|
||||
public function printerLab() {
|
||||
exec('net use Y: \\\\10.0.10.30\\Labelshare /user:Administrator 2>&1', $output, $return_var);
|
||||
$pathNetworkFolder = 'Y:/Sampling_Labels/';
|
||||
$letterPath = 'Y:';
|
||||
|
||||
// IP PC Lab
|
||||
// exec('net use Y: \\\\10.0.10.30\\Labelshare /user:Administrator 2>&1', $output, $return_var);
|
||||
// $pathNetworkFolder = 'Y:/Sampling_Labels/';
|
||||
// $letterPath = 'Y:';
|
||||
|
||||
// IP PC Sampling
|
||||
exec('net use V: \\\\10.0.2.125\\Labelshare /user:Administrator 2>&1', $output, $return_var);
|
||||
$pathNetworkFolder = 'V:/Sampling_Labels/';
|
||||
$letterPath = 'V:';
|
||||
|
||||
return array($pathNetworkFolder, $letterPath);
|
||||
}
|
||||
|
||||
@ -181,7 +189,7 @@ class PrintLabelSby extends BaseController {
|
||||
DATEDIFF(YEAR, BirthDate, GETDATE()) -
|
||||
CASE WHEN MONTH(BirthDate) > MONTH(GETDATE()) OR (MONTH(BirthDate) = MONTH(GETDATE()) AND DAY(BirthDate) > DAY(GETDATE())) THEN 1
|
||||
ELSE 0 END AS AGE,
|
||||
ds.FULLTEXT, st.SAMPLETYPE+right(sr.SP_ACCESSNUMBER,5) as BARCODE, sr.COLLECTIONDATE, p.BIRTHDATE
|
||||
ds.SHORTTEXT AS FULLTEXT, st.SAMPLETYPE+right(sr.SP_ACCESSNUMBER,5) as BARCODE, sr.COLLECTIONDATE, p.BIRTHDATE
|
||||
from SP_TUBES st
|
||||
left join SP_REQUESTS sr on st.SP_ACCESSNUMBER=sr.SP_ACCESSNUMBER
|
||||
left join PATIENTS p on p.PATID=sr.PATID
|
||||
|
||||
@ -489,13 +489,13 @@ class PrintResult extends BaseController {
|
||||
if ($hostordernumber[0] == 'B' || $hostordernumber[0] == 'Z') {
|
||||
|
||||
if ($uservalidator != null){
|
||||
$doctor = "dr. I Komang Parwata Sp.PK";
|
||||
$doctor = "dr. I Komang Parwata, SpPK Subsp.B.D.K.T.(K)";
|
||||
$analyst = "Mrs. Gusti Ayu Riska Mastari";
|
||||
$noreg = "Reg. No: 570/SIPDS/0001/I/DPMPTSP/2023";
|
||||
$signature = "<img src='http://cmod.id/assets/img/ttd_dr_komang.png' alt=''>";
|
||||
$signature = "<td class='margin_right_img_bali'><img id='ttd_k' src='http://cmod.id/assets/img/ttdnewdokpar3.png' alt=''></td>";
|
||||
$enteredby = "<td><u>Entered By</u></td>";
|
||||
$labtech = "<td>Lab Technician</td>";
|
||||
$verifiedby = "<td align='right'><u>Verified By</u></td>";
|
||||
$verifiedby = "<td class='margin_right'><u>Verified By</u></td>";
|
||||
|
||||
} else {
|
||||
$verifiedby = "<td align='right' class='red_font'><b><u>Waiting for Validation</u></b></td>";
|
||||
@ -504,17 +504,17 @@ class PrintResult extends BaseController {
|
||||
$doctor = "";
|
||||
$analyst = "";
|
||||
$noreg = "";
|
||||
$signature = "";
|
||||
$signature = "<td class='margin_right'></td>";
|
||||
}
|
||||
|
||||
} elseif ($hostordernumber[0] == 'S' || $hostordernumber[0] == 'X') {
|
||||
|
||||
$doctor = "dr. I.G.A.A Putri Sri Rejeki, Sp.PK";
|
||||
$noreg = "SIP : 503.446/1091/B/IP.DS/436.7.15/2022";
|
||||
$signature = "<img id='ttd_p' src='http://cmod.id/assets/img/ttd_dr_putri.jpg' alt=''>";
|
||||
$signature = "<td class='margin_right_sby_img'><img id='ttd_p' src='http://cmod.id/assets/img/ttd_dr_putri.jpg' alt=''></td>";
|
||||
$enteredby = "<td><u>Entered By</u></td>";
|
||||
$labtech = "<td>Lab Technician</td>";
|
||||
$verifiedby = "<td align='right'><u>Verified By</u></td>";
|
||||
$verifiedby = "<td class='margin_right_sby'><u>Verified By</u></td>";
|
||||
|
||||
if ($uservalidator == "MG") {
|
||||
$analyst = "Mrs. Mega Rahayu Ningsih";
|
||||
@ -527,7 +527,7 @@ class PrintResult extends BaseController {
|
||||
$doctor = "";
|
||||
$analyst = "";
|
||||
$noreg = "";
|
||||
$signature = "";
|
||||
$signature = "<td class='margin_right'></td>";
|
||||
}
|
||||
|
||||
}
|
||||
@ -538,7 +538,7 @@ class PrintResult extends BaseController {
|
||||
$doctor = "";
|
||||
$analyst = "";
|
||||
$noreg = "";
|
||||
$signature = "";
|
||||
$signature = "<td class='margin_right'></td>";
|
||||
}
|
||||
|
||||
// Khusus untuk value Header
|
||||
@ -549,34 +549,45 @@ class PrintResult extends BaseController {
|
||||
$sex = $data[0]['SEX'] == 1 ? "Male" : "Female";
|
||||
|
||||
$rm_number = $data[0]['PATNUMBER'];
|
||||
$rm_number = substr($rm_number, -10);
|
||||
$rm_number = \ltrim($rm_number, "0");
|
||||
|
||||
$first_name = $data[0]['FIRSTNAME'];
|
||||
$last_name = $data[0]['NAME'];
|
||||
$first_name = strtoupper($data[0]['FIRSTNAME']);
|
||||
$last_name = strtoupper($data[0]['NAME']);
|
||||
|
||||
$birth_date = $data[0]['BIRTHDATE'];
|
||||
$birth_date = \DateTime::createFromFormat('Y-m-d H:i:s.u', $birth_date);
|
||||
if ($birth_date) { $birth_date = $birth_date->format('d-m-Y'); }
|
||||
if ($birth_date) { $birth_date = $birth_date->format('d F Y'); }
|
||||
|
||||
if ($hostordernumber[0] == 'B' || $hostordernumber[0] == 'Z') {
|
||||
$branch = "PMG Bali";
|
||||
} elseif ($hostordernumber[0] == 'S' || $hostordernumber[0] == 'X') {
|
||||
$branch = "PMG Surabaya";
|
||||
} else {
|
||||
$branch = "Unknown";
|
||||
$branch = "Testing";
|
||||
}
|
||||
|
||||
$collection_date = $data[0]['COLLECTIONDATE'];
|
||||
$dateTimeCol = \DateTime::createFromFormat('Y-m-d H:i:s.u', $collection_date);
|
||||
if ($dateTimeCol) {
|
||||
$collection_date = $dateTimeCol->format('d-m-Y H:i');
|
||||
$collection_date = $dateTimeCol->format('d F Y H:i');
|
||||
}
|
||||
|
||||
$result_date = end($resultData);
|
||||
$result_date = $result_date["RESDATE_FIX"];
|
||||
$dateTimeRes = \DateTime::createFromFormat('Y-m-d H:i:s.u', $result_date);
|
||||
if ($dateTimeRes) {
|
||||
$result_date = $dateTimeRes->format('d-m-Y H:i');
|
||||
|
||||
// Ambil tahun dari tanggal
|
||||
$year = (int) $dateTimeRes->format('Y');
|
||||
|
||||
// Jika tahun < 2000, kosongkan result_date
|
||||
if ($year < 2020) {
|
||||
$result_date = "";
|
||||
} else {
|
||||
$result_date = $dateTimeRes->format('d F Y H:i');
|
||||
}
|
||||
|
||||
// $result_date = $dateTimeRes->format('d-m-Y H:i');
|
||||
}
|
||||
|
||||
$company = $data[0]['AGENT'];
|
||||
@ -610,35 +621,28 @@ class PrintResult extends BaseController {
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td style='width:50%' align='left' class='left-pad'><pre><b>RM Number:</b> $rm_number</pre></td>
|
||||
|
||||
|
||||
<td style='width:50%' align='left' class='left-pad'><pre><b>Visit Number:</b> $hostordernumber</pre></td>
|
||||
<td style='width:50%' align='left' class='left-pad'><pre><b>RM Number :</b> $rm_number</pre></td>
|
||||
<td style='width:50%' align='left' class='left-pad'><pre><b>Visit Number :</b> $hostordernumber</pre></td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align='left' class='left-pad'><pre><b>Name:</b> $first_name $last_name</pre></td>
|
||||
|
||||
<td align='left' class='left-pad'><pre><b>Company:</b> $company</pre></td>
|
||||
|
||||
<td align='left' class='left-pad'><pre><b>Name :</b> $first_name $last_name</pre></td>
|
||||
<td align='left' class='left-pad'><pre><b>Company :</b> $company</pre></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align='left' class='left-pad'><pre><b>DOB:</b> $birth_date</pre></td>
|
||||
|
||||
<td align='left' class='left-pad'><pre><b>Visit Type:</b> $visittype</pre></td>
|
||||
|
||||
<td align='left' class='left-pad'><pre><b>DOB :</b> $birth_date</pre></td>
|
||||
<td align='left' class='left-pad'><pre><b>Visit Type :</b> $visittype</pre></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align='left' class='left-pad'><pre><b>Gender:</b> $sex</pre></td>
|
||||
<td align='left' class='left-pad'><pre><b>Order Date / Time:</b> $collection_date</pre></td>
|
||||
<td align='left' class='left-pad'><pre><b>Gender :</b> $sex</pre></td>
|
||||
<td align='left' class='left-pad'><pre><b>Order Date / Time :</b> $collection_date</pre></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td align='left' class='left-pad'><pre><b>Branch:</b> $branch</pre></td>
|
||||
<td align='left' class='left-pad'><pre><b>Result Date / Time:</b> $result_date</pre></td>
|
||||
|
||||
<td align='left' class='left-pad'><pre><b>Branch :</b> $branch</pre></td>
|
||||
<td align='left' class='left-pad'><pre><b>Result Date / Time :</b> $result_date</pre></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
@ -714,7 +718,7 @@ class PrintResult extends BaseController {
|
||||
<table class='table_footer t_center'>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td align='right'>".$signature."</td>
|
||||
$signature
|
||||
</tr>
|
||||
<tr>
|
||||
".$enteredby
|
||||
@ -738,6 +742,11 @@ class PrintResult extends BaseController {
|
||||
$i=0;
|
||||
foreach ($resultData as $item) {
|
||||
|
||||
// Jika tidak ada nama
|
||||
if ($item['test_eng'] == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Untuk Spasi Depth
|
||||
$space="";
|
||||
if ($item['RESULT'] != null) {
|
||||
@ -763,7 +772,14 @@ class PrintResult extends BaseController {
|
||||
if ($item["RESULT"] == null) {
|
||||
$serum_type = "";
|
||||
}else {
|
||||
$serum_type = $item["serum_type"];
|
||||
|
||||
// Khusus untuk test indeirect bilirubin, rasio albumin, globulin dan chol
|
||||
$test_serum = ['2107C', '2110C', '2111C', 'CHOL'];
|
||||
if ( in_array($item["TESTCODE"], $test_serum) ) {
|
||||
$serum_type = "Serum";
|
||||
} else {
|
||||
$serum_type = $item["serum_type"];
|
||||
}
|
||||
}
|
||||
|
||||
$resflag = $item["RESFLAG"] == "N" ? '' : $item["RESFLAG"];
|
||||
@ -775,7 +791,7 @@ class PrintResult extends BaseController {
|
||||
$i++;
|
||||
|
||||
// Melebihi batas Kertas
|
||||
if($i % 23 == 0) {
|
||||
if($i % 27 == 0) {
|
||||
$resultTest .= "</table></div>";
|
||||
$fullPage .= $headPage.$resultTest.$footerPage.$lastDiv;
|
||||
$i=0;
|
||||
@ -790,23 +806,25 @@ class PrintResult extends BaseController {
|
||||
|
||||
<colgroup>
|
||||
<col style='width: 35%;'>
|
||||
<col style='width: 20%;'>
|
||||
<col style='width: 13%;'>
|
||||
<col style='width: 19%;'>
|
||||
<col style='width: 1%;'>
|
||||
<col style='width: 12%;'>
|
||||
<col style='width: 20%;'>
|
||||
<col style='width: 12%;'>
|
||||
</colgroup>
|
||||
<tr style='border: none;'>
|
||||
<th colspan='5' style='border: none;'>
|
||||
<th colspan='6' style='border: none;'>
|
||||
</th>
|
||||
<tr>
|
||||
<tr class='padmaColor'>
|
||||
<th colspan='5' class='text-left left-pad'>
|
||||
<th colspan='6' class='text-left left-pad'>
|
||||
$tempChapEng
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Parameter</th>
|
||||
<th>Result</th>
|
||||
<th class='khusus-kanan-h'>Result</th>
|
||||
<th class='khusus-kiri-h'></th>
|
||||
<th>Unit</th>
|
||||
<th>Normal Range</th>
|
||||
<th>Sample</th>
|
||||
@ -815,7 +833,7 @@ class PrintResult extends BaseController {
|
||||
}
|
||||
|
||||
// Melebihi batas Kertas
|
||||
if($i % 23 == 0 && $i!=0) {
|
||||
if($i % 27 == 0 && $i!=0) {
|
||||
$resultTest .= "</table></div>";
|
||||
$fullPage .= $headPage.$resultTest.$footerPage.$lastDiv;
|
||||
$i=0;
|
||||
@ -830,7 +848,8 @@ class PrintResult extends BaseController {
|
||||
} else {
|
||||
$resvalue = $item['RESVALUE'];
|
||||
}
|
||||
$reff = $item["REFRANGE"];
|
||||
|
||||
$reff = $item["FIX_REFRANGE"];
|
||||
$refftext = $item["REFFTEXT"];
|
||||
if($refftext !='') {$reff = $refftext;}
|
||||
$unit = $item['UNIT'];
|
||||
@ -839,8 +858,30 @@ class PrintResult extends BaseController {
|
||||
|
||||
// Untuk mewarnai value yang tidak beda dengan nilai normal
|
||||
$color = "";
|
||||
if ($resflag == 'L' || $resflag == 'H') {
|
||||
$resflag .= " ";
|
||||
|
||||
// Untuk Hema Tidak Perlu Merah
|
||||
if($item['CHAPID']==1) {
|
||||
// Pengecualian Untuk Test dengan code FE atau Ferittin Pada Chapter Hematologi
|
||||
if ($item["TESTCODE"] == 'FE') {
|
||||
$color = "red_font";
|
||||
} else {
|
||||
$color = "";
|
||||
$resflag = "";
|
||||
}
|
||||
} elseif ($resflag == 'L' ) {
|
||||
|
||||
// Pengecualian Khusus Untuk Test Berikut
|
||||
$excludedred = ["HBsAg", "Anti HIV", "VDRL/Anti TP", "Anti HCV", "Anti HBs"];
|
||||
if (in_array($item['SHORTTEXT'], $excludedred)) {
|
||||
$color = "";
|
||||
} else { // Normal
|
||||
$color = "red_font";
|
||||
|
||||
if ($item['SHORTTEXT'] == "HBs-Ab" && $resflag != 'H') {
|
||||
$color = "";
|
||||
}
|
||||
}
|
||||
} else if ($resflag == 'H'){
|
||||
$color = "red_font";
|
||||
}
|
||||
|
||||
@ -849,24 +890,32 @@ class PrintResult extends BaseController {
|
||||
if ($item['code_type'] == 6 && $item['REFFTEXT'] != null) {
|
||||
|
||||
if ($range == true) { // Jika nilai masih dalam rentang nilai normal misal : 0 - 1
|
||||
|
||||
$color = "";
|
||||
|
||||
} elseif ($range == false) { // Jika nilai bukan merupakan rentang alias hanya code
|
||||
$redWord = ["positive", "reactive"];
|
||||
if (in_array(strtolower($item['RESULT']), $redWord)) {
|
||||
$color = "red_font";
|
||||
|
||||
$excludedred = ["fibers", "fat"];
|
||||
if ( in_array(strtolower($item['SHORTTEXT']), $excludedred)) { // Khusus Shorttex Ini jika Positive maka tidak perlu merah
|
||||
|
||||
$color = "";
|
||||
|
||||
} else { //Jika Hasil positive atau reactive maka beri wanra merah
|
||||
$redWord = ["positive", "reactive"];
|
||||
if (in_array(strtolower($item['RESULT']), $redWord)) {
|
||||
$color = "red_font";
|
||||
}
|
||||
}
|
||||
}
|
||||
else { // Jika Rentang diatas nilai normal
|
||||
|
||||
} else { // Jika Rentang diatas nilai normal
|
||||
|
||||
$color = "red_font";
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// Hanya Untuk Kondisi Ada Komentar Dibawah Result
|
||||
if ($item['RESCOMMENT'] != null) {
|
||||
$redWord = ["positive", "reactive", "pos", "reac"];
|
||||
if (in_array(strtolower($item['RESCOMMENT']), $redWord)) {
|
||||
$color = "red_font";
|
||||
}
|
||||
|
||||
$comment = $item['RESCOMMENT'];
|
||||
// Kondisi Sangat Khusus
|
||||
@ -881,7 +930,6 @@ class PrintResult extends BaseController {
|
||||
$rescomment = "";
|
||||
}
|
||||
|
||||
|
||||
$test = "";
|
||||
// Untuk Nama Test Apakah lebih dari 25 karaktera
|
||||
if ( strlen($item['test_eng']) > 25 || strlen($item['test_ind']) > 25) {
|
||||
@ -891,20 +939,21 @@ class PrintResult extends BaseController {
|
||||
}
|
||||
|
||||
// Untuk Mengeluarkan Result
|
||||
if ($item['code_type'] == 5) { //Jika dia adalah Komentar
|
||||
// ubah colspan jadi 4 soalnya kalau Freetext sampelnya kurang ke kanan 1 kolom : haris
|
||||
if ($item['code_type'] == 5) { //Jika dia adalah Komentar
|
||||
$resultTest .= "
|
||||
<tr>
|
||||
<td colspan='1' class=''>
|
||||
".$test."
|
||||
</td>
|
||||
<td colspan='3' class='left-pad ".$color."'>" . $resflag ." ". $resvalue . $rescomment ."</td>
|
||||
<td colspan='4' class='left-pad ".$color."'>$resflag " . $resvalue . $rescomment ."</td>
|
||||
<td class='left-pad'>" . $serum_type . "</td>
|
||||
</tr>
|
||||
";
|
||||
} else if ($resvalue==null && $rescomment == null && $unit == null && $reff==null && $serum_type == null) { //Jika Ini adalah nama chapter
|
||||
$resultTest .= "
|
||||
<tr>
|
||||
<td colspan='5' class=''>
|
||||
<td colspan='6' class=''>
|
||||
".$test."
|
||||
</td>
|
||||
</tr>
|
||||
@ -912,19 +961,20 @@ class PrintResult extends BaseController {
|
||||
} else {
|
||||
$resultTest .= "
|
||||
<tr>
|
||||
<td colspan='1' class=''>
|
||||
<td style='width: 35%;' colspan='1' class=''>
|
||||
".$test."
|
||||
</td>
|
||||
<td class='left-pad ".$color."'>" . $resflag ." ". $resvalue . $rescomment ."</td>
|
||||
<td class='left-pad'>" . "<pre>" .$unit. "<pre>" . "</td>
|
||||
<td class='left-pad'>" . "<pre>" .$reff. "<pre>" . "</td>
|
||||
<td class='left-pad'>" . $serum_type . "</td>
|
||||
<td style='width: 19%;' class='right-pad khusus-kanan-d $color'>" . $resvalue . $rescomment ."</td>
|
||||
<td style='width: 2%;' class='$color khusus-kiri-d'>" . "<pre>" .$resflag. "<pre>" . "</td>
|
||||
<td style='width: 12%;' class='left-pad'>" . "<pre>" .$unit. "<pre>" . "</td>
|
||||
<td style='width: 20%;' class='left-pad'>" . "<pre>" .$reff. "<pre>" . "</td>
|
||||
<td style='width: 12%;' class='left-pad'>" . $serum_type . "</td>
|
||||
</tr>
|
||||
";
|
||||
}
|
||||
|
||||
// Melebihi batas Kertas
|
||||
if($i % 23 == 0 && $i != 0) {
|
||||
if($i % 27 == 0 && $i != 0) {
|
||||
$resultTest .= "</table></div>";
|
||||
$fullPage .= $headPage.$resultTest.$footerPage.$lastDiv;
|
||||
$i=0;
|
||||
@ -958,11 +1008,11 @@ class PrintResult extends BaseController {
|
||||
}
|
||||
// Untuk Header
|
||||
$sql = "SELECT
|
||||
p.PATNUMBER,
|
||||
p.FIRSTNAMESK AS FIRSTNAME,
|
||||
p.NAME,
|
||||
ctp.PATNUMBER,
|
||||
ctp.FIRSTNAME,
|
||||
ctp.LASTNAME AS NAME,
|
||||
p.BIRTHDATE,
|
||||
sr.HOSTORDERNUMBER,
|
||||
ctr.REQNUMBER as HOSTORDERNUMBER,
|
||||
sr.COLLECTIONDATE,
|
||||
sr.SP_ACCESSNUMBER,
|
||||
p.SEX,
|
||||
@ -973,7 +1023,7 @@ class PrintResult extends BaseController {
|
||||
FROM PATIENTS p
|
||||
LEFT JOIN SP_REQUESTS sr ON p.PATID = sr.PATID
|
||||
LEFT JOIN cmod.dbo.CM_TM_REQUESTS ctr ON ctr.REFFID = sr.HOSTORDERNUMBER
|
||||
|
||||
LEFT JOIN cmod.dbo.CM_TM_PATIENTS ctp ON ctp.PATID = ctr.PATID
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
@ -1004,10 +1054,10 @@ class PrintResult extends BaseController {
|
||||
}
|
||||
// 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,
|
||||
ds.FULLTEXT AS SHORTTEXT,
|
||||
FORMAT(ct.COLLECTIONDATE, 'dd-MM-yyyy') AS colldate,
|
||||
FORMAT(tu.LABRECEPTIONDATE, 'dd-MM-yyyy') AS recvdate,
|
||||
FORMAT(tu.LABRECEPTIONDATE, 'HH:mm') AS recvtime,
|
||||
".$filter_query_collection."
|
||||
FROM
|
||||
SP_TUBES tu
|
||||
@ -1016,7 +1066,7 @@ class PrintResult extends BaseController {
|
||||
LEFT JOIN
|
||||
cmod.dbo.CM_TUBES ct ON ct.SAMPLETYPE = tu.SAMPLETYPE AND ct.ACCESSNUMBER = tu.SP_ACCESSNUMBER
|
||||
WHERE
|
||||
tu.SP_ACCESSNUMBER = '$access';";
|
||||
tu.SP_ACCESSNUMBER = '$access'";
|
||||
$query = $db->query($sql);
|
||||
$results = $query->getResultArray();
|
||||
$collection = $results;
|
||||
@ -1035,7 +1085,7 @@ class PrintResult extends BaseController {
|
||||
dc.CHAPID,
|
||||
dc.FULLTEXT as chap_eng,
|
||||
dc.FULLTEXT as chap_ind,
|
||||
st.FULLTEXT as serum_type,
|
||||
st.SHORTTEXT as serum_type,
|
||||
cdt.TEXT1 as test_eng,
|
||||
cdt.TEXT2 as test_ind,
|
||||
COALESCE(dt.UNITS, cdt.UNIT) as UNITTEXT,
|
||||
@ -1047,6 +1097,15 @@ class PrintResult extends BaseController {
|
||||
t.VALIDATIONINITIALS as validator,
|
||||
dt.SHORTTEXT,
|
||||
RESULT = case when t.RESVALUE is null then tx.FULLTEXT else t.RESVALUE end,
|
||||
COALESCE(
|
||||
cr.refrange,
|
||||
CASE
|
||||
WHEN t.MINIMUM IS NOT NULL AND t.MAXIMUM IS NOT NULL THEN CONCAT(t.MINIMUM, ' - ', t.MAXIMUM)
|
||||
WHEN t.MINIMUM IS NOT NULL AND t.MAXIMUM IS NULL THEN CONCAT('>= ', t.MINIMUM)
|
||||
WHEN t.MAXIMUM IS NOT NULL AND t.MINIMUM IS NULL THEN CONCAT('<= ', t.MAXIMUM)
|
||||
ELSE ''
|
||||
END
|
||||
) AS FIX_REFRANGE,
|
||||
" . $filter_query_resdate . "
|
||||
cr.*
|
||||
from REQUESTS r
|
||||
@ -1057,8 +1116,11 @@ class PrintResult extends BaseController {
|
||||
left join DICT_TEST_SAMPLES ts on ts.TESTID=t.TESTID and dt.TESTID=ts.TESTID
|
||||
left join DICT_SAMPLES_TYPES st on st.SAMPTYPEID=ts.SAMPTYPEID
|
||||
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
|
||||
left join cmod.dbo.CM_RESULTS cr on cr.ACCESSNUMBER=r.ACCESSNUMBER and cr.TESTCODE=cdt.TESTCODE and cr.TESTCODE=dt.TESTCODE
|
||||
-- and t.RESUPDDATE = cr.RESDATE
|
||||
-- and dt.SHORTTEXT <> 'EGFR'
|
||||
where r.ACCESSNUMBER='$access'
|
||||
and t.NOTPRINTABLE is null
|
||||
ORDER BY t.TESTORDER";
|
||||
$query = $db->query($sql);
|
||||
$results = $query->getResultArray();
|
||||
@ -1114,7 +1176,9 @@ class PrintResult extends BaseController {
|
||||
$serum_type = $item["serum_type"];
|
||||
$chapter_eng = $item['chap_eng'];
|
||||
$printable = $item['NOTPRINTABLE'];
|
||||
return $serum_type != 'Feces' && $serum_type != 'Urine' && $chapter_eng != 'Note' && $serum_type != 'Swab Tenggorokan' && $printable !=1;
|
||||
$tesscode = $item["TESTCODE"];
|
||||
|
||||
return $serum_type != 'Feces' && $serum_type != 'Urine' && $chapter_eng != 'Note' && $serum_type != 'Swab Tenggorokan' && $printable !=1 && $tesscode!='EGFR' && $tesscode!='RAG' && $tesscode!='GLOB' && $tesscode!='BILIN';
|
||||
});
|
||||
|
||||
$notes = array_filter($results, function($item) {
|
||||
@ -1127,6 +1191,30 @@ class PrintResult extends BaseController {
|
||||
$note = $notes["RESULT"] ?? "-"; // Ambil nilai RESULT, atau null jika tidak ada
|
||||
|
||||
$fullPage = "";
|
||||
|
||||
|
||||
// KHUSUS ATUR UNTUK URUTAN CHAPTER(BIOCHEMISTRY diatas ENDOCHRONOLOGY_63)
|
||||
// Salin data ENDOCHRONOLOGY_63 ke variabel baru
|
||||
$ENDOCHRONOLOGY_63 = array_filter($data_others, function($row) {
|
||||
return $row['CHAPID'] == 63;
|
||||
});
|
||||
// Hapus Data CHAPID ENDOCHRONOLOGY_63 dari array utama
|
||||
$data_others = array_filter($data_others, function($row) {
|
||||
return $row['CHAPID'] != 63;
|
||||
});
|
||||
$data_others = array_values($data_others);
|
||||
// Cari CHAPID ke 23 yaitu BIOCHEMISTRY
|
||||
$index_last_23 = null;
|
||||
foreach ($data_others as $index => $row) {
|
||||
if ($row['CHAPID'] == 23) {
|
||||
$index_last_23 = $index;
|
||||
}
|
||||
}
|
||||
// Letakkan ENDOCHRONOLOGY_63 dibawah urutan BIOCHEMISTRY
|
||||
if ($index_last_23 !== null) {
|
||||
array_splice($data_others, $index_last_23 + 1, 0, $ENDOCHRONOLOGY_63);
|
||||
}
|
||||
|
||||
|
||||
if ($data_others != null) {
|
||||
$fullPage .= $this->pdfViewerNew($data_others, $data, $note);
|
||||
|
||||
@ -14,7 +14,7 @@ class SamplingController extends BaseController {
|
||||
$data['usercityid'] = session()->get('usercityid');
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
$sql = "SELECT sr.HOSTORDERNUMBER, tu.SAMPLETYPE, ds.SHORTTEXT, tu.TUBESTATUS, ct.COLLSTATUS, ct.TUBECOMMENT from SP_TUBES tu
|
||||
$sql = "SELECT sr.HOSTORDERNUMBER, tu.SAMPLETYPE, ds.FULLTEXT as SHORTTEXT, tu.TUBESTATUS, ct.COLLSTATUS, ct.TUBECOMMENT from SP_TUBES tu
|
||||
left join SP_REQUESTS sr on tu.SP_ACCESSNUMBER=sr.SP_ACCESSNUMBER
|
||||
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
|
||||
|
||||
@ -14,7 +14,7 @@ class UserController extends BaseController {
|
||||
$data['usercityid'] = session()->get('usercityid');
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
$sql = "SELECT sr.HOSTORDERNUMBER, tu.SAMPLETYPE, ds.SHORTTEXT, tu.TUBESTATUS, ct.COLLSTATUS, ct.TUBECOMMENT from SP_TUBES tu
|
||||
$sql = "SELECT sr.HOSTORDERNUMBER, tu.SAMPLETYPE, ds.FULLTEXT as SHORTTEXT, tu.TUBESTATUS, ct.COLLSTATUS, ct.TUBECOMMENT from SP_TUBES tu
|
||||
left join SP_REQUESTS sr on tu.SP_ACCESSNUMBER=sr.SP_ACCESSNUMBER
|
||||
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
|
||||
|
||||
@ -33,9 +33,10 @@
|
||||
<th width="12%">Patient#</th>
|
||||
<th width="17%">Patient Name</th>
|
||||
<th class='text-start' width="10%">Access#</th>
|
||||
<th width="9%">Reff#</th>
|
||||
<th width="10%">Visit#</th>
|
||||
<th width="10%">HIS#</th>
|
||||
<th>Test</th>
|
||||
<th>Status</th>
|
||||
<th width="5%">Status</th>
|
||||
<th></th>
|
||||
</thead>
|
||||
<tbody id="table-body" class='text-start'>
|
||||
@ -56,7 +57,10 @@
|
||||
|
||||
<?= $this->section('script') ?>
|
||||
<script>
|
||||
let curDate = new Date().toJSON().slice(0, 10);
|
||||
date = new Date();
|
||||
//console.log (new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toJSON());
|
||||
//let curDate = new Date().toJSON().slice(0, 10);
|
||||
let curDate = (new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toJSON()).slice(0, 10);
|
||||
$('.date1').val(curDate);
|
||||
$('.date2').val(curDate);
|
||||
index();
|
||||
@ -106,13 +110,16 @@ function index() {
|
||||
$("#myTable").DataTable().destroy();
|
||||
$("#table-body").html("");
|
||||
var data = response['data'];
|
||||
// console.log(data);
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
colldate = data[i].COLLECTIONDATE.slice(0,10);
|
||||
colltime = data[i].COLLECTIONDATE.slice(10,16);
|
||||
|
||||
if (data[i].PATNUMBER != null) {
|
||||
patnumber = data[i].PATNUMBER.substr(-16,16);
|
||||
patnumber = patnumber.substring(patnumber.length - 10);
|
||||
// patnumber = data[i].PATNUMBER;
|
||||
patnumber = data[i].PATNUMBER.replace(/^0+/, '');
|
||||
// patnumber = data[i].PATNUMBER.substr(-16,16);
|
||||
// patnumber = patnumber.substring(patnumber.length - 10);
|
||||
} else {
|
||||
patnumber = ' NULL ';
|
||||
}
|
||||
@ -129,50 +136,76 @@ function index() {
|
||||
testing_test = "";
|
||||
}
|
||||
}
|
||||
if (data[i].REFFID != null) {
|
||||
// patnumber = data[i].PATNUMBER;
|
||||
reffid = data[i].REFFID;
|
||||
// patnumber = data[i].PATNUMBER.substr(-16,16);
|
||||
// patnumber = patnumber.substring(patnumber.length - 10);
|
||||
} else {
|
||||
reffid = ' NULL ';
|
||||
}
|
||||
|
||||
tests = data[i].TESTS;
|
||||
stat = data[i].STATS;
|
||||
if(stat == 'Pend') {
|
||||
bgcolor = 'bg-orange';
|
||||
datafilter = "data-filterrow='0'";
|
||||
stattext = 'Pending';
|
||||
} else if(stat == 'PartColl') {
|
||||
bgcolor = 'bg-peach';
|
||||
datafilter = "data-filterrow='1'";
|
||||
stattext = 'Part Collected';
|
||||
} else if(stat == 'Coll') {
|
||||
bgcolor = 'bg-pink';
|
||||
datafilter = "data-filterrow='2'";
|
||||
stattext = 'Collected';
|
||||
} else if(stat == 'PartRecv') {
|
||||
bgcolor = 'bg-soft-blue';
|
||||
datafilter = "data-filterrow='3'";
|
||||
stattext = 'Part Received';
|
||||
} else if(stat == 'Recv') {
|
||||
bgcolor = 'bg-blue';
|
||||
datafilter = "data-filterrow='4'";
|
||||
stattext = 'Received';
|
||||
} else if(stat == 'Inc') {
|
||||
bgcolor = 'bg-grey';
|
||||
datafilter = "data-filterrow='5'";
|
||||
stattext = 'Incomplete';
|
||||
} else if(stat == 'PartVal') {
|
||||
bgcolor = 'bg-soft-green';
|
||||
datafilter = "data-filterrow='6'";
|
||||
stattext = 'Part Validated';
|
||||
} else if(stat == 'Comp') {
|
||||
bgcolor = 'bg-green';
|
||||
datafilter = "data-filterrow='7'";
|
||||
stattext = 'Validated';
|
||||
reqstatus = String(data[i].REQSTATUS);
|
||||
trcolor = '';
|
||||
if (reqstatus != '1') {
|
||||
if(stat == 'Pend') {
|
||||
bgcolor = 'bg-orange';
|
||||
datafilter = "data-filterrow='0'";
|
||||
stattext = 'Pending';
|
||||
} else if(stat == 'PartColl') {
|
||||
bgcolor = 'bg-peach';
|
||||
datafilter = "data-filterrow='1'";
|
||||
stattext = 'Part Collected';
|
||||
} else if(stat == 'Coll') {
|
||||
bgcolor = 'bg-pink';
|
||||
datafilter = "data-filterrow='2'";
|
||||
stattext = 'Collected';
|
||||
} else if(stat == 'PartRecv') {
|
||||
bgcolor = 'bg-soft-blue';
|
||||
datafilter = "data-filterrow='3'";
|
||||
stattext = 'Part Received';
|
||||
} else if(stat == 'Recv') {
|
||||
bgcolor = 'bg-blue';
|
||||
datafilter = "data-filterrow='4'";
|
||||
stattext = 'Received';
|
||||
} else if(stat == 'Inc') {
|
||||
bgcolor = 'bg-grey';
|
||||
datafilter = "data-filterrow='5'";
|
||||
stattext = 'Incomplete';
|
||||
} else if(stat == 'PartVal') {
|
||||
bgcolor = 'bg-soft-green';
|
||||
datafilter = "data-filterrow='6'";
|
||||
stattext = 'Part Validated';
|
||||
} else if(stat == 'Comp') {
|
||||
bgcolor = 'bg-green';
|
||||
datafilter = "data-filterrow='7'";
|
||||
stattext = 'Validated';
|
||||
}
|
||||
} else {
|
||||
trcolor = ' table-danger-custom ';
|
||||
bgcolor = ' table-danger-custom ';
|
||||
datafilter = "data-filterrow='8'";
|
||||
stattext = 'Cancelled';
|
||||
}
|
||||
let datarow = "<tr class='align-middle'" + datafilter +" >" +
|
||||
"<td class='text-start'>" + colldate + '<br>'+ colltime +'</td> <td>' + patnumber + '</td> <td>' + patname.trim() + "</td> <td class='text-start' style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + accessnumber +"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span>" +"</td> <td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + testing_test + hon +"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td> <td>" + tests + '</td>' +
|
||||
"<td role='button' class='"+bgcolor+" text-center align-middle pointercol' onclick='viewAccess("+accessnumber+")'>"+stattext+"</td>" +
|
||||
"<td role='button' class='text-center align-middle' onclick='resultPdfAccess("+accessnumber+ ",event" +")'> <h4 class='p-0 m-0'><i class='bi bi-filetype-pdf'></i></h4> </td>" +'</tr>';
|
||||
let datarow = "<tr class='align-middle" + trcolor +"'" + datafilter + " >" +
|
||||
"<td class='text-start'>" + colldate + '<br>'+ colltime +'</td>'+
|
||||
"<td class='text-start' style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + patnumber + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>" +
|
||||
"<td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + patname.trim() + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>" +
|
||||
"<td class='text-start' style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + accessnumber +"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>" +
|
||||
"<td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + testing_test + hon +"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>"+
|
||||
"<td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>"+reffid+"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>"+
|
||||
"<td>" + tests + '</td>' +
|
||||
"<td role='button' class='"+bgcolor+" text-center align-middle pointercol' onclick='viewAccess("+accessnumber+")'>"+stattext+"</td>" +
|
||||
"<td role='button' class='text-center align-middle' onclick='resultPdfAccess("+accessnumber+ ",event" +")'> <h4 class='p-0 m-0'><i class='bi bi-filetype-pdf'></i></h4> </td>" +
|
||||
'</tr>';
|
||||
$("#table-body").append(datarow);
|
||||
}
|
||||
$('#myTable').DataTable({
|
||||
"pageLength": 25, // Ganti sesuai kebutuhan
|
||||
"lengthMenu": [25, 50, 100] // Pilihan dropdown entries per halaman
|
||||
"order": [0, "desc"], // Urutan Tanggal Desc
|
||||
"pageLength": 50, // Ganti sesuai kebutuhan
|
||||
"lengthMenu": [50, 75, 100] // Pilihan dropdown entries per halaman
|
||||
});
|
||||
|
||||
// datatable filter
|
||||
|
||||
@ -3,9 +3,9 @@
|
||||
if(isset($data[0])) {
|
||||
$row = $data[0];
|
||||
|
||||
if (strlen($patnumber) < 10) {
|
||||
$patnumber = str_pad($patnumber, 10, "0", STR_PAD_LEFT);
|
||||
}
|
||||
// if (strlen($patnumber) < 10) {
|
||||
// $patnumber = str_pad($patnumber, 10, "0", STR_PAD_LEFT);
|
||||
// }
|
||||
?>
|
||||
<div class="modal-header bg-soft-green text-white">
|
||||
<h1 class="modal-title fs-5" id="exampleModalToggleLabel">Detail Request </h1>
|
||||
@ -63,7 +63,7 @@ if(isset($data[0])) {
|
||||
<button type='button' class='btn btn-dark m-0 px-2 py-1' onclick="printAllLabel(<?=$accessnumber;?>, <?=$usercityid;?>)"> <h6 class='p-0 m-0'><i class='bi bi-printer'></i></h6> </button>
|
||||
<button type='button' class='btn btn-success m-0 px-2 py-1' onclick='collectAll(<?=$accessnumber;?>)'><h6 class='p-0 m-0'>Coll.</h6></button>
|
||||
<!-- <button class='badge bg-black text-white m-0 px-2 py-1' onclick='uncollectAll(<?=$accessnumber;?>)'>un-collect</button> -->
|
||||
<button type='button' class='btn btn-primary m-0 px-2 py-1' onclick='unreceiveAll(<?=$accessnumber;?>)'><h6 class='p-0 m-0'>Un-Rec.</h6></button>
|
||||
<!-- <button type='button' class='btn btn-primary m-0 px-2 py-1' onclick='unreceiveAll(<?=$accessnumber;?>)'><h6 class='p-0 m-0'>Un-Rec.</h6></button> -->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -99,7 +99,7 @@ if(isset($data[0])) {
|
||||
<button type='button' class='btn btn-dark m-0 px-2 py-1' " . "onclick='printSingleLabel($accessnumber, $sampletype, $usercityid)'" . "><h6 class='p-0 m-0'><i class='bi bi-printer'></i></h6></button>
|
||||
<button type='button' class='btn btn-success m-0 px-2 py-1' onclick='collect($sampletype, $accessnumber)'><h6 class='p-0 m-0'>Coll.</h6></button>
|
||||
<button type='button' class='btn btn-warning m-0 px-2 py-1' onclick='uncollect($sampletype, $accessnumber)'><h6 class='p-0 m-0'>Un-Coll.</h6></button>
|
||||
<button type='button' class='btn btn-primary m-0 px-2 py-1' onclick='unreceive($sampletype, $accessnumber)'><h6 class='p-0 m-0'>Un-Rec.</h6></button>
|
||||
<button type='button' class='btn btn-primary m-0 px-2 py-1' onclick='unreceive($sampletype, $accessnumber)'><h6 class='p-0 m-0'>Un-Rec.</h6></button>
|
||||
</td> ";
|
||||
echo "<td id='comment$sampletype'>$comment <h6 class='p-0 m-0'><i class='bi bi-pencil-square' role='button' onclick='comment($sampletype, $accessnumber, \"$sampletext\", \"$comment\")'></i></h6></td>";
|
||||
echo " </tr>";
|
||||
|
||||
@ -33,9 +33,10 @@
|
||||
<th width="12%">Patient#</th>
|
||||
<th width="17%">Patient Name</th>
|
||||
<th class='text-start' width="10%">Access#</th>
|
||||
<th width="9%">Reff#</th>
|
||||
<th width="10%">Visit#</th>
|
||||
<th width="10%">HIS#</th>
|
||||
<th>Test</th>
|
||||
<th>Status</th>
|
||||
<th width="5%">Status</th>
|
||||
<th></th>
|
||||
</thead>
|
||||
<tbody id="table-body" class='text-start'>
|
||||
@ -56,7 +57,10 @@
|
||||
|
||||
<?= $this->section('script') ?>
|
||||
<script>
|
||||
let curDate = new Date().toJSON().slice(0, 10);
|
||||
// let curDate = new Date().toJSON().slice(0, 10);
|
||||
date = new Date();
|
||||
let curDate = (new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toJSON()).slice(0, 10);
|
||||
|
||||
$('.date1').val(curDate);
|
||||
$('.date2').val(curDate);
|
||||
index();
|
||||
@ -111,8 +115,9 @@ function index() {
|
||||
colltime = data[i].COLLECTIONDATE.slice(10,16);
|
||||
|
||||
if (data[i].PATNUMBER != null) {
|
||||
patnumber = data[i].PATNUMBER.substr(-16,16);
|
||||
patnumber = patnumber.substring(patnumber.length - 10);
|
||||
patnumber = data[i].PATNUMBER.replace(/^0+/, '');
|
||||
// patnumber = data[i].PATNUMBER.substr(-16,16);
|
||||
// patnumber = patnumber.substring(patnumber.length - 10);
|
||||
} else {
|
||||
patnumber = ' NULL ';
|
||||
}
|
||||
@ -126,50 +131,75 @@ function index() {
|
||||
} else {
|
||||
testing_test = "";
|
||||
}
|
||||
if (data[i].REFFID != null) {
|
||||
// patnumber = data[i].PATNUMBER;
|
||||
reffid = data[i].REFFID;
|
||||
// patnumber = data[i].PATNUMBER.substr(-16,16);
|
||||
// patnumber = patnumber.substring(patnumber.length - 10);
|
||||
} else {
|
||||
reffid = ' NULL ';
|
||||
}
|
||||
tests = data[i].TESTS;
|
||||
stat = data[i].STATS;
|
||||
if(stat == 'Pend') {
|
||||
bgcolor = 'bg-orange';
|
||||
datafilter = "data-filterrow='0'";
|
||||
stattext = 'Pending';
|
||||
} else if(stat == 'PartColl') {
|
||||
bgcolor = 'bg-peach';
|
||||
datafilter = "data-filterrow='1'";
|
||||
stattext = 'Part Collected';
|
||||
} else if(stat == 'Coll') {
|
||||
bgcolor = 'bg-pink';
|
||||
datafilter = "data-filterrow='2'";
|
||||
stattext = 'Collected';
|
||||
} else if(stat == 'PartRecv') {
|
||||
bgcolor = 'bg-soft-blue';
|
||||
datafilter = "data-filterrow='3'";
|
||||
stattext = 'Part Received';
|
||||
} else if(stat == 'Recv') {
|
||||
bgcolor = 'bg-blue';
|
||||
datafilter = "data-filterrow='4'";
|
||||
stattext = 'Received';
|
||||
} else if(stat == 'Inc') {
|
||||
bgcolor = 'bg-grey';
|
||||
datafilter = "data-filterrow='5'";
|
||||
stattext = 'Incomplete';
|
||||
} else if(stat == 'PartVal') {
|
||||
bgcolor = 'bg-soft-green';
|
||||
datafilter = "data-filterrow='6'";
|
||||
stattext = 'Part Validated';
|
||||
} else if(stat == 'Comp') {
|
||||
bgcolor = 'bg-green';
|
||||
datafilter = "data-filterrow='7'";
|
||||
stattext = 'Validated';
|
||||
reqstatus = String(data[i].REQSTATUS);
|
||||
trcolor = '';
|
||||
if (reqstatus != '1') {
|
||||
if(stat == 'Pend') {
|
||||
bgcolor = 'bg-orange';
|
||||
datafilter = "data-filterrow='0'";
|
||||
stattext = 'Pending';
|
||||
} else if(stat == 'PartColl') {
|
||||
bgcolor = 'bg-peach';
|
||||
datafilter = "data-filterrow='1'";
|
||||
stattext = 'Part Collected';
|
||||
} else if(stat == 'Coll') {
|
||||
bgcolor = 'bg-pink';
|
||||
datafilter = "data-filterrow='2'";
|
||||
stattext = 'Collected';
|
||||
} else if(stat == 'PartRecv') {
|
||||
bgcolor = 'bg-soft-blue';
|
||||
datafilter = "data-filterrow='3'";
|
||||
stattext = 'Part Received';
|
||||
} else if(stat == 'Recv') {
|
||||
bgcolor = 'bg-blue';
|
||||
datafilter = "data-filterrow='4'";
|
||||
stattext = 'Received';
|
||||
} else if(stat == 'Inc') {
|
||||
bgcolor = 'bg-grey';
|
||||
datafilter = "data-filterrow='5'";
|
||||
stattext = 'Incomplete';
|
||||
} else if(stat == 'PartVal') {
|
||||
bgcolor = 'bg-soft-green';
|
||||
datafilter = "data-filterrow='6'";
|
||||
stattext = 'Part Validated';
|
||||
} else if(stat == 'Comp') {
|
||||
bgcolor = 'bg-green';
|
||||
datafilter = "data-filterrow='7'";
|
||||
stattext = 'Validated';
|
||||
}
|
||||
} else {
|
||||
trcolor = ' table-danger-custom ';
|
||||
bgcolor = ' table-danger-custom ';
|
||||
datafilter = "data-filterrow='8'";
|
||||
stattext = 'Cancelled';
|
||||
}
|
||||
let datarow = "<tr class='align-middle'" + datafilter +" >" +
|
||||
"<td class='text-start'>" + colldate + '<br>'+ colltime +'</td> <td>' + patnumber + '</td> <td>' + patname.trim() + "</td> <td class='text-start' style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + accessnumber + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span>" +"</td> <td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + testing_test + hon + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td> <td>" + tests + '</td>' +
|
||||
"<td role='button' class='"+bgcolor+" text-center align-middle pointercol' onclick='viewAccess("+accessnumber+")'>"+stattext+"</td>" +
|
||||
"<td role='button' class='text-center align-middle' onclick='resultPdfAccess("+accessnumber+ ",event" +")'> <h4 class='p-0 m-0'><i class='bi bi-filetype-pdf'></i></h4> </td>" +'</tr>';
|
||||
let datarow = "<tr class='align-middle" + trcolor +"'" + datafilter + " >" +
|
||||
"<td class='text-start'>" + colldate + '<br>'+ colltime +'</td>'+
|
||||
"<td class='text-start' style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + patnumber + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>" +
|
||||
"<td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + patname.trim() + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>" +
|
||||
"<td class='text-start' style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + accessnumber +"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>" +
|
||||
"<td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + testing_test + hon +"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>"+
|
||||
"<td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>"+reffid+"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>"+
|
||||
"<td>" + tests + '</td>' +
|
||||
"<td role='button' class='"+bgcolor+" text-center align-middle pointercol' onclick='viewAccess("+accessnumber+")'>"+stattext+"</td>" +
|
||||
"<td role='button' class='text-center align-middle' onclick='resultPdfAccess("+accessnumber+ ",event" +")'> <h4 class='p-0 m-0'><i class='bi bi-filetype-pdf'></i></h4> </td>" +
|
||||
'</tr>';
|
||||
$("#table-body").append(datarow);
|
||||
}
|
||||
$('#myTable').DataTable({
|
||||
"pageLength": 25, // Ganti sesuai kebutuhan
|
||||
"lengthMenu": [25, 50, 100] // Pilihan dropdown entries per halaman
|
||||
"order": [0, "desc"], // Urutan Tanggal Desc
|
||||
"pageLength": 50, // Ganti sesuai kebutuhan
|
||||
"lengthMenu": [50, 75, 100] // Pilihan dropdown entries per halaman
|
||||
});
|
||||
|
||||
// datatable filter
|
||||
|
||||
@ -3,9 +3,9 @@
|
||||
if(isset($data[0])) {
|
||||
$row = $data[0];
|
||||
|
||||
if (strlen($patnumber) < 10) {
|
||||
$patnumber = str_pad($patnumber, 10, "0", STR_PAD_LEFT);
|
||||
}
|
||||
// if (strlen($patnumber) < 10) {
|
||||
// $patnumber = str_pad($patnumber, 10, "0", STR_PAD_LEFT);
|
||||
// }
|
||||
?>
|
||||
<div class="modal-header bg-soft-green text-white">
|
||||
<h1 class="modal-title fs-5" id="exampleModalToggleLabel">Detail Request </h1>
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
<?php
|
||||
if ($site[0] == 'S' || $site[0] == 's' || $site[0] == 'X' || $site[0] == 'x') {
|
||||
$image = 'sby_bcg.jpg';
|
||||
$image = 'sby_bcg_rev_2.png';
|
||||
} else {
|
||||
$image = 'bali_bcg.jpg';
|
||||
$image = 'bali_bcg.png';
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
|
||||
@ -33,9 +33,10 @@
|
||||
<th width="12%">Patient#</th>
|
||||
<th width="17%">Patient Name</th>
|
||||
<th class='text-start' width="10%">Access#</th>
|
||||
<th width="9%">Reff#</th>
|
||||
<th width="10%">Visit#</th>
|
||||
<th width="10%">HIS#</th>
|
||||
<th>Test</th>
|
||||
<th>Status</th>
|
||||
<th width="5%">Status</th>
|
||||
<th></th>
|
||||
</thead>
|
||||
<tbody id="table-body" class='text-start'>
|
||||
@ -56,7 +57,9 @@
|
||||
|
||||
<?= $this->section('script') ?>
|
||||
<script>
|
||||
let curDate = new Date().toJSON().slice(0, 10);
|
||||
// let curDate = new Date().toJSON().slice(0, 10);
|
||||
date = new Date();
|
||||
let curDate = (new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toJSON()).slice(0, 10);
|
||||
$('.date1').val(curDate);
|
||||
$('.date2').val(curDate);
|
||||
index();
|
||||
@ -111,8 +114,9 @@ function index() {
|
||||
colltime = data[i].COLLECTIONDATE.slice(10,16);
|
||||
|
||||
if (data[i].PATNUMBER != null) {
|
||||
patnumber = data[i].PATNUMBER.substr(-16,16);
|
||||
patnumber = patnumber.substring(patnumber.length - 10);
|
||||
patnumber = data[i].PATNUMBER.replace(/^0+/, '');
|
||||
// patnumber = data[i].PATNUMBER.substr(-16,16);
|
||||
// patnumber = patnumber.substring(patnumber.length - 10);
|
||||
} else {
|
||||
patnumber = ' NULL ';
|
||||
}
|
||||
@ -126,50 +130,75 @@ function index() {
|
||||
} else {
|
||||
testing_test = "";
|
||||
}
|
||||
if (data[i].REFFID != null) {
|
||||
// patnumber = data[i].PATNUMBER;
|
||||
reffid = data[i].REFFID;
|
||||
// patnumber = data[i].PATNUMBER.substr(-16,16);
|
||||
// patnumber = patnumber.substring(patnumber.length - 10);
|
||||
} else {
|
||||
reffid = ' NULL ';
|
||||
}
|
||||
tests = data[i].TESTS;
|
||||
stat = data[i].STATS;
|
||||
if(stat == 'Pend') {
|
||||
bgcolor = 'bg-orange';
|
||||
datafilter = "data-filterrow='0'";
|
||||
stattext = 'Pending';
|
||||
} else if(stat == 'PartColl') {
|
||||
bgcolor = 'bg-peach';
|
||||
datafilter = "data-filterrow='1'";
|
||||
stattext = 'Part Collected';
|
||||
} else if(stat == 'Coll') {
|
||||
bgcolor = 'bg-pink';
|
||||
datafilter = "data-filterrow='2'";
|
||||
stattext = 'Collected';
|
||||
} else if(stat == 'PartRecv') {
|
||||
bgcolor = 'bg-soft-blue';
|
||||
datafilter = "data-filterrow='3'";
|
||||
stattext = 'Part Received';
|
||||
} else if(stat == 'Recv') {
|
||||
bgcolor = 'bg-blue';
|
||||
datafilter = "data-filterrow='4'";
|
||||
stattext = 'Received';
|
||||
} else if(stat == 'Inc') {
|
||||
bgcolor = 'bg-grey';
|
||||
datafilter = "data-filterrow='5'";
|
||||
stattext = 'Incomplete';
|
||||
} else if(stat == 'PartVal') {
|
||||
bgcolor = 'bg-soft-green';
|
||||
datafilter = "data-filterrow='6'";
|
||||
stattext = 'Part Validated';
|
||||
} else if(stat == 'Comp') {
|
||||
bgcolor = 'bg-green';
|
||||
datafilter = "data-filterrow='7'";
|
||||
stattext = 'Validated';
|
||||
reqstatus = String(data[i].REQSTATUS);
|
||||
trcolor = '';
|
||||
if (reqstatus != '1') {
|
||||
if(stat == 'Pend') {
|
||||
bgcolor = 'bg-orange';
|
||||
datafilter = "data-filterrow='0'";
|
||||
stattext = 'Pending';
|
||||
} else if(stat == 'PartColl') {
|
||||
bgcolor = 'bg-peach';
|
||||
datafilter = "data-filterrow='1'";
|
||||
stattext = 'Part Collected';
|
||||
} else if(stat == 'Coll') {
|
||||
bgcolor = 'bg-pink';
|
||||
datafilter = "data-filterrow='2'";
|
||||
stattext = 'Collected';
|
||||
} else if(stat == 'PartRecv') {
|
||||
bgcolor = 'bg-soft-blue';
|
||||
datafilter = "data-filterrow='3'";
|
||||
stattext = 'Part Received';
|
||||
} else if(stat == 'Recv') {
|
||||
bgcolor = 'bg-blue';
|
||||
datafilter = "data-filterrow='4'";
|
||||
stattext = 'Received';
|
||||
} else if(stat == 'Inc') {
|
||||
bgcolor = 'bg-grey';
|
||||
datafilter = "data-filterrow='5'";
|
||||
stattext = 'Incomplete';
|
||||
} else if(stat == 'PartVal') {
|
||||
bgcolor = 'bg-soft-green';
|
||||
datafilter = "data-filterrow='6'";
|
||||
stattext = 'Part Validated';
|
||||
} else if(stat == 'Comp') {
|
||||
bgcolor = 'bg-green';
|
||||
datafilter = "data-filterrow='7'";
|
||||
stattext = 'Validated';
|
||||
}
|
||||
} else {
|
||||
trcolor = ' table-danger-custom ';
|
||||
bgcolor = ' table-danger-custom ';
|
||||
datafilter = "data-filterrow='8'";
|
||||
stattext = 'Cancelled';
|
||||
}
|
||||
let datarow = "<tr class='align-middle'" + datafilter +" >" +
|
||||
"<td class='text-start'>" + colldate + '<br>'+ colltime +'</td> <td>' + patnumber + '</td> <td>' + patname.trim() + "</td> <td class='text-start' style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + accessnumber + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span>" +"</td> <td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + testing_test + hon + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td> <td>" + tests + '</td>' +
|
||||
"<td role='button' class='"+bgcolor+" text-center align-middle pointercol' onclick='viewAccess("+accessnumber+")'>"+stattext+"</td>" +
|
||||
"<td role='button' class='text-center align-middle' onclick='resultPdfAccess("+accessnumber+ ",event" +")'> <h4 class='p-0 m-0'><i class='bi bi-filetype-pdf'></i></h4> </td>" +'</tr>';
|
||||
let datarow = "<tr class='align-middle" + trcolor +"'" + datafilter + " >" +
|
||||
"<td class='text-start'>" + colldate + '<br>'+ colltime +'</td>'+
|
||||
"<td class='text-start' style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + patnumber + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>" +
|
||||
"<td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + patname.trim() + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>" +
|
||||
"<td class='text-start' style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + accessnumber +"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>" +
|
||||
"<td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + testing_test + hon +"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>"+
|
||||
"<td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>"+reffid+"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>"+
|
||||
"<td>" + tests + '</td>' +
|
||||
"<td role='button' class='"+bgcolor+" text-center align-middle pointercol' onclick='viewAccess("+accessnumber+")'>"+stattext+"</td>" +
|
||||
"<td role='button' class='text-center align-middle' onclick='resultPdfAccess("+accessnumber+ ",event" +")'> <h4 class='p-0 m-0'><i class='bi bi-filetype-pdf'></i></h4> </td>" +
|
||||
'</tr>';
|
||||
$("#table-body").append(datarow);
|
||||
}
|
||||
$('#myTable').DataTable({
|
||||
"pageLength": 25, // Ganti sesuai kebutuhan
|
||||
"lengthMenu": [25, 50, 100] // Pilihan dropdown entries per halaman
|
||||
"order": [0, "desc"], // Urutan Tanggal Desc
|
||||
"pageLength": 50, // Ganti sesuai kebutuhan
|
||||
"lengthMenu": [50, 75, 100] // Pilihan dropdown entries per halaman
|
||||
});
|
||||
|
||||
// datatable filter
|
||||
|
||||
@ -3,9 +3,9 @@
|
||||
if(isset($data[0])) {
|
||||
$row = $data[0];
|
||||
|
||||
if (strlen($patnumber) < 10) {
|
||||
$patnumber = str_pad($patnumber, 10, "0", STR_PAD_LEFT);
|
||||
}
|
||||
// if (strlen($patnumber) < 10) {
|
||||
// $patnumber = str_pad($patnumber, 10, "0", STR_PAD_LEFT);
|
||||
// }
|
||||
?>
|
||||
<div class="modal-header bg-soft-green text-white">
|
||||
<h1 class="modal-title fs-5" id="exampleModalToggleLabel">Detail Request </h1>
|
||||
@ -63,7 +63,7 @@ if(isset($data[0])) {
|
||||
<button type='button' class='btn btn-dark m-0 px-2 py-1' onclick="printAllLabel(<?=$accessnumber;?>, <?=$usercityid;?>)"> <h6 class='p-0 m-0'><i class='bi bi-printer'></i></h6> </button>
|
||||
<button type='button' class='btn btn-success m-0 px-2 py-1' onclick='collectAll(<?=$accessnumber;?>)'><h6 class='p-0 m-0'>Coll.</h6></button>
|
||||
<!-- <button class='badge bg-black text-white m-0 px-2 py-1' onclick='uncollectAll(<?=$accessnumber;?>)'>un-collect</button> -->
|
||||
<button type='button' class='btn btn-primary m-0 px-2 py-1' onclick='unreceiveAll(<?=$accessnumber;?>)'><h6 class='p-0 m-0'>Un-Rec.</h6></button>
|
||||
<!-- <button type='button' class='btn btn-primary m-0 px-2 py-1' onclick='unreceiveAll(<?=$accessnumber;?>)'><h6 class='p-0 m-0'>Un-Rec.</h6></button> -->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -99,7 +99,7 @@ if(isset($data[0])) {
|
||||
<button type='button' class='btn btn-dark m-0 px-2 py-1' " . "onclick='printSingleLabel($accessnumber, $sampletype, $usercityid)'" . "><h6 class='p-0 m-0'><i class='bi bi-printer'></i></h6></button>
|
||||
<button type='button' class='btn btn-success m-0 px-2 py-1' onclick='collect($sampletype, $accessnumber)'><h6 class='p-0 m-0'>Coll.</h6></button>
|
||||
<button type='button' class='btn btn-warning m-0 px-2 py-1' onclick='uncollect($sampletype, $accessnumber)'><h6 class='p-0 m-0'>Un-Coll.</h6></button>
|
||||
<button type='button' class='btn btn-primary m-0 px-2 py-1' onclick='unreceive($sampletype, $accessnumber)'><h6 class='p-0 m-0'>Un-Rec.</h6></button>
|
||||
<button type='button' class='btn btn-primary m-0 px-2 py-1' onclick='unreceive($sampletype, $accessnumber)'><h6 class='p-0 m-0'>Un-Rec.</h6></button>
|
||||
</td> ";
|
||||
echo "<td id='comment$sampletype'>$comment <h6 class='p-0 m-0'><i class='bi bi-pencil-square' role='button' onclick='comment($sampletype, $accessnumber, \"$sampletext\", \"$comment\")'></i></h6></td>";
|
||||
echo " </tr>";
|
||||
|
||||
@ -33,9 +33,10 @@
|
||||
<th width="12%">Patient#</th>
|
||||
<th width="17%">Patient Name</th>
|
||||
<th class='text-start' width="10%">Access#</th>
|
||||
<th width="9%">Reff#</th>
|
||||
<th width="10%">Visit#</th>
|
||||
<th width="10%">HIS#</th>
|
||||
<th>Test</th>
|
||||
<th>Status</th>
|
||||
<th width="5%">Status</th>
|
||||
<th></th>
|
||||
</thead>
|
||||
<tbody id="table-body" class='text-start'>
|
||||
@ -56,7 +57,9 @@
|
||||
|
||||
<?= $this->section('script') ?>
|
||||
<script>
|
||||
let curDate = new Date().toJSON().slice(0, 10);
|
||||
// let curDate = new Date().toJSON().slice(0, 10);
|
||||
date = new Date();
|
||||
let curDate = (new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toJSON()).slice(0, 10);
|
||||
$('.date1').val(curDate);
|
||||
$('.date2').val(curDate);
|
||||
index();
|
||||
@ -111,8 +114,9 @@ function index() {
|
||||
colltime = data[i].COLLECTIONDATE.slice(10,16);
|
||||
|
||||
if (data[i].PATNUMBER != null) {
|
||||
patnumber = data[i].PATNUMBER.substr(-16,16);
|
||||
patnumber = patnumber.substring(patnumber.length - 10);
|
||||
patnumber = data[i].PATNUMBER.replace(/^0+/, '');
|
||||
// patnumber = data[i].PATNUMBER.substr(-16,16);
|
||||
// patnumber = patnumber.substring(patnumber.length - 10);
|
||||
} else {
|
||||
patnumber = ' NULL ';
|
||||
}
|
||||
@ -126,50 +130,75 @@ function index() {
|
||||
} else {
|
||||
testing_test = "";
|
||||
}
|
||||
if (data[i].REFFID != null) {
|
||||
// patnumber = data[i].PATNUMBER;
|
||||
reffid = data[i].REFFID;
|
||||
// patnumber = data[i].PATNUMBER.substr(-16,16);
|
||||
// patnumber = patnumber.substring(patnumber.length - 10);
|
||||
} else {
|
||||
reffid = ' NULL ';
|
||||
}
|
||||
tests = data[i].TESTS;
|
||||
stat = data[i].STATS;
|
||||
if(stat == 'Pend') {
|
||||
bgcolor = 'bg-orange';
|
||||
datafilter = "data-filterrow='0'";
|
||||
stattext = 'Pending';
|
||||
} else if(stat == 'PartColl') {
|
||||
bgcolor = 'bg-peach';
|
||||
datafilter = "data-filterrow='1'";
|
||||
stattext = 'Part Collected';
|
||||
} else if(stat == 'Coll') {
|
||||
bgcolor = 'bg-pink';
|
||||
datafilter = "data-filterrow='2'";
|
||||
stattext = 'Collected';
|
||||
} else if(stat == 'PartRecv') {
|
||||
bgcolor = 'bg-soft-blue';
|
||||
datafilter = "data-filterrow='3'";
|
||||
stattext = 'Part Received';
|
||||
} else if(stat == 'Recv') {
|
||||
bgcolor = 'bg-blue';
|
||||
datafilter = "data-filterrow='4'";
|
||||
stattext = 'Received';
|
||||
} else if(stat == 'Inc') {
|
||||
bgcolor = 'bg-grey';
|
||||
datafilter = "data-filterrow='5'";
|
||||
stattext = 'Incomplete';
|
||||
} else if(stat == 'PartVal') {
|
||||
bgcolor = 'bg-soft-green';
|
||||
datafilter = "data-filterrow='6'";
|
||||
stattext = 'Part Validated';
|
||||
} else if(stat == 'Comp') {
|
||||
bgcolor = 'bg-green';
|
||||
datafilter = "data-filterrow='7'";
|
||||
stattext = 'Validated';
|
||||
reqstatus = String(data[i].REQSTATUS);
|
||||
trcolor = '';
|
||||
if (reqstatus != '1') {
|
||||
if(stat == 'Pend') {
|
||||
bgcolor = 'bg-orange';
|
||||
datafilter = "data-filterrow='0'";
|
||||
stattext = 'Pending';
|
||||
} else if(stat == 'PartColl') {
|
||||
bgcolor = 'bg-peach';
|
||||
datafilter = "data-filterrow='1'";
|
||||
stattext = 'Part Collected';
|
||||
} else if(stat == 'Coll') {
|
||||
bgcolor = 'bg-pink';
|
||||
datafilter = "data-filterrow='2'";
|
||||
stattext = 'Collected';
|
||||
} else if(stat == 'PartRecv') {
|
||||
bgcolor = 'bg-soft-blue';
|
||||
datafilter = "data-filterrow='3'";
|
||||
stattext = 'Part Received';
|
||||
} else if(stat == 'Recv') {
|
||||
bgcolor = 'bg-blue';
|
||||
datafilter = "data-filterrow='4'";
|
||||
stattext = 'Received';
|
||||
} else if(stat == 'Inc') {
|
||||
bgcolor = 'bg-grey';
|
||||
datafilter = "data-filterrow='5'";
|
||||
stattext = 'Incomplete';
|
||||
} else if(stat == 'PartVal') {
|
||||
bgcolor = 'bg-soft-green';
|
||||
datafilter = "data-filterrow='6'";
|
||||
stattext = 'Part Validated';
|
||||
} else if(stat == 'Comp') {
|
||||
bgcolor = 'bg-green';
|
||||
datafilter = "data-filterrow='7'";
|
||||
stattext = 'Validated';
|
||||
}
|
||||
} else {
|
||||
trcolor = ' table-danger-custom ';
|
||||
bgcolor = ' table-danger-custom ';
|
||||
datafilter = "data-filterrow='8'";
|
||||
stattext = 'Cancelled';
|
||||
}
|
||||
let datarow = "<tr class='align-middle'" + datafilter +" >" +
|
||||
"<td class='text-start'>" + colldate + '<br>'+ colltime +'</td> <td>' + patnumber + '</td> <td>' + patname.trim() + "</td> <td class='text-start' style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + accessnumber + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span>" +"</td> <td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + testing_test + hon + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td> <td>" + tests + '</td>' +
|
||||
"<td role='button' class='"+bgcolor+" text-center align-middle pointercol' onclick='viewAccess("+accessnumber+")'>"+stattext+"</td>" +
|
||||
"<td role='button' class='text-center align-middle' onclick='resultPdfAccess("+accessnumber+ ",event" +")'> <h4 class='p-0 m-0'><i class='bi bi-filetype-pdf'></i></h4> </td>" +'</tr>';
|
||||
let datarow = "<tr class='align-middle" + trcolor +"'" + datafilter + " >" +
|
||||
"<td class='text-start'>" + colldate + '<br>'+ colltime +'</td>'+
|
||||
"<td class='text-start' style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + patnumber + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>" +
|
||||
"<td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + patname.trim() + "<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>" +
|
||||
"<td class='text-start' style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + accessnumber +"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>" +
|
||||
"<td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>" + testing_test + hon +"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>"+
|
||||
"<td style='cursor: pointer;' ondblclick='copyToClipboard(this)'>"+reffid+"<br><span class='copy-message badge text-bg-success' style='display: none;'>Disalin</span></td>"+
|
||||
"<td>" + tests + '</td>' +
|
||||
"<td role='button' class='"+bgcolor+" text-center align-middle pointercol' onclick='viewAccess("+accessnumber+")'>"+stattext+"</td>" +
|
||||
"<td role='button' class='text-center align-middle' onclick='resultPdfAccess("+accessnumber+ ",event" +")'> <h4 class='p-0 m-0'><i class='bi bi-filetype-pdf'></i></h4> </td>" +
|
||||
'</tr>';
|
||||
$("#table-body").append(datarow);
|
||||
}
|
||||
$('#myTable').DataTable({
|
||||
"pageLength": 25, // Ganti sesuai kebutuhan
|
||||
"lengthMenu": [25, 50, 100] // Pilihan dropdown entries per halaman
|
||||
"order": [0, "desc"], // Urutan Tanggal Desc
|
||||
"pageLength": 50, // Ganti sesuai kebutuhan
|
||||
"lengthMenu": [50, 75, 100] // Pilihan dropdown entries per halaman
|
||||
});
|
||||
|
||||
// datatable filter
|
||||
|
||||
@ -3,9 +3,9 @@
|
||||
if(isset($data[0])) {
|
||||
$row = $data[0];
|
||||
|
||||
if (strlen($patnumber) < 10) {
|
||||
$patnumber = str_pad($patnumber, 10, "0", STR_PAD_LEFT);
|
||||
}
|
||||
// if (strlen($patnumber) < 10) {
|
||||
// $patnumber = str_pad($patnumber, 10, "0", STR_PAD_LEFT);
|
||||
// }
|
||||
?>
|
||||
<div class="modal-header bg-soft-green text-white">
|
||||
<h1 class="modal-title fs-5" id="exampleModalToggleLabel">Detail Request </h1>
|
||||
@ -63,7 +63,7 @@ if(isset($data[0])) {
|
||||
<button type='button' class='btn btn-dark m-0 px-2 py-1' onclick="printAllLabel(<?=$accessnumber;?>, <?=$usercityid;?>)"> <h6 class='p-0 m-0'><i class='bi bi-printer'></i></h6> </button>
|
||||
<button type='button' class='btn btn-success m-0 px-2 py-1' onclick='collectAll(<?=$accessnumber;?>)'><h6 class='p-0 m-0'>Coll.</h6></button>
|
||||
<!-- <button class='badge bg-black text-white m-0 px-2 py-1' onclick='uncollectAll(<?=$accessnumber;?>)'>un-collect</button> -->
|
||||
<button type='button' class='btn btn-primary m-0 px-2 py-1' onclick='unreceiveAll(<?=$accessnumber;?>)'><h6 class='p-0 m-0'>Un-Rec.</h6></button>
|
||||
<!-- <button type='button' class='btn btn-primary m-0 px-2 py-1' onclick='unreceiveAll(<?=$accessnumber;?>)'><h6 class='p-0 m-0'>Un-Rec.</h6></button> -->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@ -32,7 +32,7 @@ body {
|
||||
text-align: justify;
|
||||
}
|
||||
#dinfo {
|
||||
margin-top: 130px;
|
||||
margin-top: 118px;
|
||||
background-size: 100% auto;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
@ -40,7 +40,8 @@ body {
|
||||
#dresult {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 18.47cm;
|
||||
/* height: 18.47cm; */
|
||||
height: 19cm;
|
||||
}
|
||||
.result {
|
||||
/* table-layout:fixed; */
|
||||
@ -61,17 +62,44 @@ table {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
.t_right {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
th,td {
|
||||
/* padding-left: 1rem; */
|
||||
padding-top: 5px ;
|
||||
padding-bottom: 5px ;
|
||||
padding-top: 3.5px;
|
||||
padding-bottom: 3.5px ;
|
||||
line-height:1.5;
|
||||
border: 1px solid rgb(0, 0, 0);
|
||||
}
|
||||
|
||||
th.khusus-kanan-h {
|
||||
border-right: none;
|
||||
}
|
||||
th.khusus-kiri-h {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
td.khusus-kanan-d {
|
||||
border-right: none;
|
||||
}
|
||||
td.khusus-kiri-d {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
th.left-pad, td.left-pad {
|
||||
padding-left: 0.5rem;
|
||||
}
|
||||
td.right-pad {
|
||||
padding-right: 0.5rem;
|
||||
text-align: right;
|
||||
}
|
||||
td.center-pad {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.result th,td {
|
||||
line-height: 1.1 ;
|
||||
@ -123,6 +151,7 @@ tr.chapter td {
|
||||
|
||||
.table_collection tr td{
|
||||
/* font-size: 2em; */
|
||||
padding: 1px;
|
||||
/* border:solid 1px black; */
|
||||
border: none;
|
||||
}
|
||||
@ -141,11 +170,33 @@ tr.chapter td {
|
||||
border-collapse:collapse;
|
||||
}
|
||||
.table_footer tr td {
|
||||
padding: 4px;
|
||||
padding: 2px;
|
||||
border: none;
|
||||
/* border:solid 1px black; */
|
||||
}
|
||||
|
||||
.table_footer tr td.margin_right {
|
||||
padding-right: 80px;
|
||||
text-align: right;
|
||||
/* background-color: aqua; */
|
||||
}
|
||||
.table_footer tr td.margin_right_img_bali {
|
||||
padding-right: 55px;
|
||||
text-align: right;
|
||||
/* background-color: aqua; */
|
||||
}
|
||||
|
||||
.table_footer tr td.margin_right_sby_img {
|
||||
padding-right: 5px;
|
||||
text-align: right;
|
||||
/* background-color: aqua; */
|
||||
}
|
||||
.table_footer tr td.margin_right_sby {
|
||||
padding-right: 50px;
|
||||
text-align: right;
|
||||
/* background-color: aqua; */
|
||||
}
|
||||
|
||||
.text-left {
|
||||
text-align: left;
|
||||
}
|
||||
@ -153,8 +204,12 @@ tr.chapter td {
|
||||
.img { width:200mm; margin-left:0.5cm }
|
||||
|
||||
#ttd_p {
|
||||
width: 25%;
|
||||
width: 25%;
|
||||
}
|
||||
#ttd_k {
|
||||
width: 23%;
|
||||
}
|
||||
|
||||
|
||||
@media print {
|
||||
@page { margin:0; size:210mm 297mm; }
|
||||
|
||||
@ -1911,6 +1911,20 @@ progress {
|
||||
border-color: var(--bs-table-border-color);
|
||||
}
|
||||
|
||||
.table-danger-custom {
|
||||
--bs-table-color: #000;
|
||||
--bs-table-bg: #e72838d0;
|
||||
--bs-table-border-color: #dfc2c4;
|
||||
--bs-table-striped-bg: #eccccf;
|
||||
--bs-table-striped-color: #000;
|
||||
--bs-table-active-bg: #dfc2c4;
|
||||
--bs-table-active-color: #000;
|
||||
--bs-table-hover-bg: #e5c7ca;
|
||||
--bs-table-hover-color: #000;
|
||||
color: var(--bs-table-color);
|
||||
border-color: var(--bs-table-border-color);
|
||||
}
|
||||
|
||||
.table-light {
|
||||
--bs-table-color: #000;
|
||||
--bs-table-bg: #f8f9fa;
|
||||
|
||||
BIN
public/assets/img/bali_bcg.png
Normal file
|
After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
BIN
public/assets/img/sby_bcg.png
Normal file
|
After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
BIN
public/assets/img/sby_bcg_rev.png
Normal file
|
After Width: | Height: | Size: 80 KiB |
BIN
public/assets/img/sby_bcg_rev_2.png
Normal file
|
After Width: | Height: | Size: 80 KiB |
BIN
public/assets/img/ttdnewdokpar.jpg
Normal file
|
After Width: | Height: | Size: 173 KiB |
BIN
public/assets/img/ttdnewdokpar3.png
Normal file
|
After Width: | Height: | Size: 12 KiB |