10062601CPONE - sync filter tanggal result entry electromedis v9

This commit is contained in:
sas.fajri
2026-06-10 17:17:04 +07:00
parent eeb864bfec
commit bfff0267f6

View File

@@ -179,15 +179,17 @@ class Resultentry extends MY_Controller
$search = $prm["search"];
$status = $prm["stationid"];
$startdate = $prm["startdate"];
$enddate = $prm["enddate"];
$groupid = 2;
$subgroupid = $prm["subgroupid"];
$companyid = $prm['companyid'];
$filter_company = '';
$filter_company_exclude = "";
if (($companyid != 0 || $companyid != '0') && $prm["switch_exclude"])
// $filter_company_exclude = "WHERE CorporateID <> {$companyid}";
$filter_company = "AND T_OrderHeaderCorporateID <> {$companyid}";
$enddate = $prm["enddate"];
$groupid = 2;
$subgroupid = $prm["subgroupid"];
$companyid = $prm['companyid'];
$dateFilter = "(T_OrderHeaderDate >= '{$startdate} 00:00:00'
AND T_OrderHeaderDate < '{$startdate} 23:59:59' )";
$filter_company = '';
$filter_company_exclude = "";
if (($companyid != 0 || $companyid != '0') && $prm["switch_exclude"])
// $filter_company_exclude = "WHERE CorporateID <> {$companyid}";
$filter_company = "AND T_OrderHeaderCorporateID <> {$companyid}";
if (($companyid != 0 || $companyid != '0') && !$prm["switch_exclude"]) {
$filter_company = " AND T_OrderHeaderCorporateID = {$companyid}";
}
@@ -200,28 +202,23 @@ class Resultentry extends MY_Controller
//$join_group = "JOIN nat_subgroup ON T_TestNat_SubgroupID = Nat_SubgroupID AND Nat_SubgroupID = {$subgroupid}";
}
if (!isset($prm['current_page']))
$prm['current_page'] = 1;
$sql_where = "WHERE (T_SamplingSoDoneDate >= '{$startdate} 00:00:00'
AND T_SamplingSoDoneDate < '{$startdate} 23:59:59' ) AND T_OrderDetailIsActive = 'Y' ";
$number_limit = 10;
$number_offset = ($prm['current_page'] - 1) * $number_limit;
//$sql_param = array();
/*if ($search != "") {
$sql_where = " WHERE (T_OrderHeaderLabNumber like '%$search%' OR M_PatientName like '%$search%' ) ";
}*/
$filterTanpaKeyword = '';
if ($search == "") {
$filterTanpaKeyword = "AND (T_OrderHeaderDate >= '{$startdate} 00:00:00'
AND T_OrderHeaderDate < '{$startdate} 23:59:59' ) ";
}
$filterDenganKeyword = '';
if ($search != "") {
$filterDenganKeyword = " AND (T_OrderHeaderDate >= '{$startdate} 00:00:00'
AND T_OrderHeaderDate < '{$startdate} 23:59:59' ) AND (T_OrderHeaderLabNumber like '%$search%' OR M_PatientName like '%$search%' ) ";
}
if (!isset($prm['current_page']))
$prm['current_page'] = 1;
$number_limit = 10;
$number_offset = ($prm['current_page'] - 1) * $number_limit;
//$sql_param = array();
/*if ($search != "") {
$sql_where = " WHERE (T_OrderHeaderLabNumber like '%$search%' OR M_PatientName like '%$search%' ) ";
}*/
$filterTanpaKeyword = '';
if ($search == "") {
$filterTanpaKeyword = "AND {$dateFilter} ";
}
$filterDenganKeyword = '';
if ($search != "") {
$filterDenganKeyword = " AND {$dateFilter} AND (T_OrderHeaderLabNumber like '%$search%' OR M_PatientName like '%$search%' ) ";
}
$sql = "SELECT count(*) as total
@@ -1233,19 +1230,9 @@ AND T_OrderHeaderDate < '{$startdate} 23:59:59' ) AND (T_OrderHeaderLabNumber li
exit;
}
$search = $prm["search"];
//$status = $prm["stationid"];
$startdate = $prm["startdate"];
$enddate = $prm["enddate"];
$sql_where = "WHERE
DATE(T_SamplingSoDoneDate) = '{$startdate}' AND
T_OrderDetailIsActive = 'Y' AND
T_OrderDetailT_TestIsResult = 'Y' AND
T_OrderDetailT_TestIsActive = 'Y'
";
$rows = [];
$startdate = $prm["startdate"];
$rows = [];
// $query = "SELECT
// T_TestID as id,
// T_TestName as name
@@ -1290,43 +1277,36 @@ AND T_OrderHeaderDate < '{$startdate} 23:59:59' ) AND (T_OrderHeaderLabNumber li
JOIN m_patient ON T_OrderHeaderM_PatientID = M_PatientID
";*/
$query = "WITH active_sampling AS (
SELECT s.T_SamplingSoT_OrderHeaderID AS order_header_id
FROM t_samplingso s
WHERE s.T_SamplingSoFlag = 'D'
AND s.T_SamplingSoDoneDate = '{$startdate}'
),
eligible_tests AS (
SELECT DISTINCT grd.Group_ResultDetailT_TestID AS test_id
FROM group_result gr
JOIN group_resultdetail grd
ON grd.Group_ResultDetailGroup_ResultID = gr.Group_ResultID
$query = "WITH eligible_tests AS (
SELECT DISTINCT grd.Group_ResultDetailT_TestID AS test_id
FROM group_result gr
JOIN group_resultdetail grd
ON grd.Group_ResultDetailGroup_ResultID = gr.Group_ResultID
WHERE gr.Group_ResultIsActive = 'Y'
AND grd.Group_ResultDetailIsActive = 'Y'
AND gr.Group_ResultName IN ('Elektromedik','Spirometri','Audiometri')
)
SELECT DISTINCT t.T_TestID AS id,
t.T_TestName AS name
FROM t_orderdetail od
JOIN t_test t
ON t.T_TestID = od.T_OrderDetailT_TestID
JOIN t_orderheader oh
ON oh.T_OrderHeaderID = od.T_OrderDetailT_OrderHeaderID
JOIN active_sampling sas
ON sas.order_header_id = oh.T_OrderHeaderID
JOIN eligible_tests et
ON et.test_id = t.T_TestID
LEFT JOIN so_resultentry sr
ON sr.So_ResultEntryT_OrderDetailID = od.T_OrderDetailID
FROM t_orderdetail od
JOIN t_test t
ON t.T_TestID = od.T_OrderDetailT_TestID
JOIN t_orderheader oh
ON oh.T_OrderHeaderID = od.T_OrderDetailT_OrderHeaderID
JOIN eligible_tests et
ON et.test_id = t.T_TestID
LEFT JOIN so_resultentry sr
ON sr.So_ResultEntryT_OrderDetailID = od.T_OrderDetailID
AND sr.So_ResultEntryIsActive = 'Y'
LEFT JOIN m_doctor d
ON d.M_DoctorID = sr.So_ResultEntryM_DoctorID
JOIN corporate c
ON c.CorporateID = oh.T_OrderHeaderCorporateID
JOIN m_patient p
ON p.M_PatientID = oh.T_OrderHeaderM_PatientID
WHERE od.T_OrderDetailIsActive = 'Y'
AND od.T_OrderDetailT_TestIsResult = 'Y';";
JOIN m_patient p
ON p.M_PatientID = oh.T_OrderHeaderM_PatientID
WHERE od.T_OrderDetailIsActive = 'Y'
AND od.T_OrderDetailT_TestIsResult = 'Y'
AND DATE(oh.T_OrderHeaderDate) = '{$startdate}';";
//echo $query;
$rows = $this->db_onedev->query($query)->result_array();
//print_r($statuses);