Files
BE_CPONE/application/controllers/tools/Ssjpa.php
2026-04-27 10:26:26 +07:00

131 lines
6.0 KiB
PHP

<?php
class SsJpa extends CI_Controller
{
function __construct() {
parent::__construct();
$this->db = $this->load->database("onedev", true);
}
function jpa($date) {
$sql = "select M_BranchCode from m_branch where M_BranchIsActive = 'Y'
and M_BranchIsDefault = 'Y'";
$qry = $this->db->query($sql);
$branchCode ="";
if($qry) {
$rows = $qry->result_array();
if (count($rows) > 0 ) $branchCode = $rows[0]["M_BranchCode"];
}
if ($branchCode == "") {
echo "Err : Branch Not Defined \n";
return;
}
// Order hari ini
$sql = "select
'$branchCode' M_BranchCode,
T_OrderHeaderID,
T_OrderHeaderM_patientID M_PatientID,
date(T_OrderHeaderDate) as OrderDate,
T_OrderHeaderLabNumber as Noreg,
T_OrderHeaderSenderM_DoctorID,
T_OrderHeaderM_CompanyID M_CompanyID,
T_OrderHeaderSenderM_DoctorAddressID,
T_OrderHeaderM_MouID,
T_TestID, T_TestName,
T_OrderDetailPrice, T_OrderDetailTotal,
Nat_JPADetailDiscount,Nat_JPAGroupName,
M_DoctorAddressDescription,
case
when Nat_JPADetailDiscount <= Nat_JpaGroupMaxJpaDisc
then T_OrderDetailTotal*(Nat_JPADetailDiscount/100)
else
0
end as JpaAmount,
Nat_JpaGroupMaxJpaDisc
from
t_orderheader
join m_doctoraddress on T_OrderHeaderSenderM_DoctorAddressID = M_DoctorAddressID and M_DoctorAddressIsActive = 'Y'
join m_doctor on M_DoctorAddressM_DoctorID = M_DoctorID and M_DoctorIsMarketingConfirm = 'Y'
join t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
join t_test ON T_OrderDetailT_TestID = T_TestID and T_TestIsPrice = 'Y' AND T_TestIsActive = 'Y'
join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
join jpa_test on JPA_TestNat_TestID = Nat_TestID and JPA_TestIsActive = 'Y'
join nat_jpa on M_DoctorAddressNat_JpaID = Nat_JpaID and Nat_JpaIsActive = 'Y'
join nat_jpagroup on JPA_TestNat_JpaGroupID = Nat_JPAGroupID and Nat_JPAGroupIsActive = 'Y'
join nat_jpadetail on Nat_JPADetailNat_JPAID = Nat_JPAID
and Nat_JPAGroupID = Nat_JPADetailNat_JPAGroupID and Nat_JPADetailIsActive = 'Y'
where
DATE(T_OrderHeaderDate) = ?
order by T_OrderHeaderID" ;
$qry = $this->db->query($sql, array($date));
$rows = array();
if ($qry) {
$rows = $qry->result_array();
}
//order yg di update hari ini
$sql = "select
'$branchCode' M_BranchCode,
T_OrderHeaderID,
T_OrderHeaderM_patientID M_PatientID,
date(T_OrderHeaderDate) as OrderDate,
T_OrderHeaderLabNumber as Noreg,
T_OrderHeaderSenderM_DoctorID,
T_OrderHeaderM_CompanyID M_CompanyID,
T_OrderHeaderSenderM_DoctorAddressID,
T_OrderHeaderM_MouID,
T_TestID, T_TestName,
T_OrderDetailPrice, T_OrderDetailTotal,
Nat_JPADetailDiscount,Nat_JPAGroupName,
M_DoctorAddressDescription,
case
when Nat_JPADetailDiscount <= Nat_JpaGroupMaxJpaDisc
then T_OrderDetailTotal*(Nat_JPADetailDiscount/100)
else
0
end as JpaAmount,
Nat_JpaGroupMaxJpaDisc
from
t_orderheader
join m_doctoraddress on T_OrderHeaderSenderM_DoctorAddressID = M_DoctorAddressID and M_DoctorAddressIsActive = 'Y'
join m_doctor on M_DoctorAddressM_DoctorID = M_DoctorID and M_DoctorIsMarketingConfirm = 'Y'
join t_orderdetail ON T_OrderDetailT_OrderHeaderID = T_OrderHeaderID AND T_OrderDetailIsActive = 'Y'
join t_test ON T_OrderDetailT_TestID = T_TestID and T_TestIsPrice = 'Y' AND T_TestIsActive = 'Y'
join nat_test oN T_TestNat_TestID = Nat_TestID aND Nat_TestIsActive = 'Y'
join jpa_test on JPA_TestNat_TestID = Nat_TestID and JPA_TestIsActive = 'Y'
join nat_jpa on M_DoctorAddressNat_JpaID = Nat_JpaID and Nat_JpaIsActive = 'Y'
join nat_jpagroup on JPA_TestNat_JpaGroupID = Nat_JPAGroupID and Nat_JPAGroupIsActive = 'Y'
join nat_jpadetail on Nat_JPADetailNat_JPAID = Nat_JPAID
and Nat_JPAGroupID = Nat_JPADetailNat_JPAGroupID and Nat_JPADetailIsActive = 'Y'
where
DATE(T_OrderHeaderLastUpdated) = ?
and
DATE(T_OrderHeaderDate) < ?
order by T_OrderHeaderID" ;
$qry2 = $this->db->query($sql, array($date,$date));
$rows2 = array();
if ($qry2) {
$rows2 = $qry2->result_array();
}
$rows = array_merge($rows,$rows2);
if (count($rows) > 0 ) {
$data = json_encode($rows);
$result = $this->post("http://bandung.aplikasi.web.id/one-api/tools/ssjpa/jpa", $data);
print_r($result);
}
}
function post($url,$data) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data))
);
$result = curl_exec($ch);
return $result;
}
function expertisi() {
echo "Expertisi";
}
}