127 lines
7.7 KiB
PHP
127 lines
7.7 KiB
PHP
<?php
|
|
|
|
class Omsetperproduct extends MY_Controller
|
|
{
|
|
|
|
function getdatas(){
|
|
$prm = $this->sys_input;
|
|
//print_r($prm);
|
|
$this->db_onedev = $this->load->database("onedev", true);
|
|
|
|
$rst = array();
|
|
if($prm['type'] == 'month'){
|
|
$sql = "
|
|
select
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID = '1',T_OrderDetailTotal, '0')) ,0)/1000000,2) as Hematologi,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('2','3','4','9'), T_OrderDetailTotal, '0')) ,0)/1000000,2) as KlinikRutin,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID = '5',T_OrderDetailTotal, '0')) ,0)/1000000,2) as Kimia,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID = '6',T_OrderDetailTotal, '0')) ,0)/1000000,2) as Immunologi,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('7','8'),T_OrderDetailTotal, '0')) ,0)/1000000,2) as Mikrobiologi,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('12','13','14','15','16'),T_OrderDetailTotal, '0')) ,0)/1000000,2) as Elektromedis,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID = '22',T_OrderDetailTotal, '0')) ,0)/1000000,2) as USG,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('17','18','19','20','21'),T_OrderDetailTotal, '0')) ,0)/1000000,2) as Xray,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('24','25','26','27','28'),T_OrderDetailTotal, '0')) ,0)/1000000,2) as Jasa,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('10','11','23'),T_OrderDetailTotal, '0')) ,0)/1000000,2) as Other
|
|
from t_orderdetail
|
|
join t_orderheader on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderHeaderIsActive = 'Y'
|
|
join t_test on T_OrderDetailT_TestID = T_TestID
|
|
join nat_subgroup on T_TestNat_SubgroupID = Nat_SubGroupID
|
|
join m_company on T_OrderHeaderM_CompanyID = M_CompanyID and M_CompanyIsActive = 'Y'
|
|
join m_companytype on M_CompanyM_CompanyTypeID = M_CompanyTypeID and M_CompanyTypeIsActive = 'Y'
|
|
join m_mou on T_OrderHeaderM_MouID = M_MouID
|
|
join m_patient on T_OrderHeaderM_PatientID = M_PatientID
|
|
join m_omzettype on M_MouM_OmzetTypeID = M_OmzetTypeID
|
|
join m_title ON M_PatientM_TitleID = M_TitleID AND M_TitleIsActive = 'Y'
|
|
where
|
|
MONTH(T_OrderHeaderDate) = MONTH(NOW()) AND
|
|
YEAR(T_OrderHeaderDate) = YEAR(NOW())
|
|
";
|
|
$r = $this->db_onedev->query($sql)->row();
|
|
|
|
}
|
|
if($prm['type'] == 'day'){
|
|
|
|
|
|
$sql = "SELECT ROUND(SUM(Hematologi),2) as Hematologi,
|
|
ROUND(SUM(KlinikRutin),2) as KlinikRutin,
|
|
ROUND(SUM(Kimia),2) as Kimia,
|
|
ROUND(SUM(Immunologi),2) as Immunologi,
|
|
ROUND(SUM(Mikrobiologi),2) as Mikrobiologi,
|
|
ROUND(SUM(Elektromedis),2) as Elektromedis,
|
|
ROUND(SUM(USG),2) as USG,
|
|
ROUND(SUM(Xray),2) as Xray,
|
|
ROUND(SUM(Jasa),2) as Jasa,
|
|
ROUND(SUM(Other),2) as Other
|
|
FROM (
|
|
select
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID = '1',T_OrderDetailTotal, '0')) ,0)/1000000,2) as Hematologi,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('2','3','4','9'), T_OrderDetailTotal, '0')) ,0)/1000000,2) as KlinikRutin,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID = '5',T_OrderDetailTotal, '0')) ,0)/1000000,2) as Kimia,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID = '6',T_OrderDetailTotal, '0')) ,0)/1000000,2) as Immunologi,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('7','8'),T_OrderDetailTotal, '0')) ,0)/1000000,2) as Mikrobiologi,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('12','13','14','15','16'),T_OrderDetailTotal, '0')) ,0)/1000000,2) as Elektromedis,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID = '22',T_OrderDetailTotal, '0')) ,0)/1000000,2) as USG,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('17','18','19','20','21'),T_OrderDetailTotal, '0')) ,0)/1000000,2) as Xray,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('24','25','26','27','28'),T_OrderDetailTotal, '0')) ,0)/1000000,2) as Jasa,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('10','11','23'),T_OrderDetailTotal, '0')) ,0)/1000000,2) as Other
|
|
from t_orderdetail
|
|
join t_orderheader on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderHeaderIsActive = 'Y'
|
|
JOIN t_orderheaderaddon ON T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID AND ISNULL(T_OrderHeaderAddOnLabNumberOrigin)
|
|
join t_test on T_OrderDetailT_TestID = T_TestID
|
|
join nat_subgroup on T_TestNat_SubgroupID = Nat_SubGroupID
|
|
where date(T_OrderHeaderDate) = date(NOW()) AND T_OrderDetailIsActive = 'Y'
|
|
UNION
|
|
select
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID = '1',(T_PacketDetailPriceSubTotal-fn_get_pro_rata(T_PacketID)), '0')) ,0)/1000000,2) as Hematologi,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('2','3','4','9'), (T_PacketDetailPriceSubTotal-fn_get_pro_rata(T_PacketID)), '0')) ,0)/1000000,2) as KlinikRutin,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID = '5',(T_PacketDetailPriceSubTotal-fn_get_pro_rata(T_PacketID)), '0')) ,0)/1000000,2) as Kimia,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID = '6',(T_PacketDetailPriceSubTotal-fn_get_pro_rata(T_PacketID)), '0')) ,0)/1000000,2) as Immunologi,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('7','8'),(T_PacketDetailPriceSubTotal-fn_get_pro_rata(T_PacketID)), '0')) ,0)/1000000,2) as Mikrobiologi,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('12','13','14','15','16'),(T_PacketDetailPriceSubTotal-fn_get_pro_rata(T_PacketID)), '0')) ,0)/1000000,2) as Elektromedis,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID = '22',(T_PacketDetailPriceSubTotal-fn_get_pro_rata(T_PacketID)), '0')) ,0)/1000000,2) as USG,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('17','18','19','20','21'),(T_PacketDetailPriceSubTotal-fn_get_pro_rata(T_PacketID)), '0')) ,0)/1000000,2) as Xray,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('24','25','26','27','28'),(T_PacketDetailPriceSubTotal-fn_get_pro_rata(T_PacketID)), '0')) ,0)/1000000,2) as Jasa,
|
|
ROUND(IFNULL( sum(if(Nat_SubGroupID IN ('10','11','23'),(T_PacketDetailPriceSubTotal-fn_get_pro_rata(T_PacketID)), '0')) ,0)/1000000,2) as Other
|
|
from t_orderdetail
|
|
join t_orderheader on T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderHeaderIsActive = 'Y'
|
|
JOIN t_orderheaderaddon ON T_OrderHeaderAddOnT_OrderHeaderID = T_OrderHeaderID AND ISNULL(T_OrderHeaderAddOnLabNumberOrigin)
|
|
join t_orderdetailaddon on T_OrderDetailAddOnIsPacket = 'Y' AND T_OrderDetailAddOnT_OrderDetailID = T_OrderDetailID
|
|
join t_packet ON T_OrderDetailAddOnT_PacketID = T_PacketID
|
|
join t_packetdetail ON T_PacketDetailT_PacketID = T_PacketID
|
|
join t_test on T_PacketDetailT_TestID = T_TestID
|
|
join nat_subgroup on T_TestNat_SubgroupID = Nat_SubGroupID
|
|
where date(T_OrderHeaderDate) = date(NOW()) AND T_OrderDetailIsActive = 'Y'
|
|
) x";
|
|
//echo $sql;
|
|
$r = $this->db_onedev->query($sql)->row();
|
|
|
|
}
|
|
|
|
$xdata = array('label'=>'Hematologi','total'=>$r->Hematologi);
|
|
array_push($rst,$xdata);
|
|
$xdata = array('label'=>'Klinik Rutin','total'=>$r->KlinikRutin);
|
|
array_push($rst,$xdata);
|
|
$xdata = array('label'=>'Kimia','total'=>$r->Kimia);
|
|
array_push($rst,$xdata);
|
|
$xdata = array('label'=>'Immunologi','total'=>$r->Immunologi);
|
|
array_push($rst,$xdata);
|
|
$xdata = array('label'=>'Mikrobiologi','total'=>$r->Mikrobiologi);
|
|
array_push($rst,$xdata);
|
|
$xdata = array('label'=>'Elektromedis','total'=>$r->Elektromedis);
|
|
array_push($rst,$xdata);
|
|
$xdata = array('label'=>'USG','total'=>$r->USG);
|
|
array_push($rst,$xdata);
|
|
$xdata = array('label'=>'Xray','total'=>$r->Xray);
|
|
array_push($rst,$xdata);
|
|
$xdata = array('label'=>'Jasa','total'=>$r->Jasa);
|
|
array_push($rst,$xdata);
|
|
$xdata = array('label'=>'Other','total'=>$r->Other);
|
|
array_push($rst,$xdata);
|
|
|
|
echo json_encode(array('status'=>'OK','datas'=>$rst));
|
|
exit;
|
|
}
|
|
|
|
}
|
|
?>
|