Initial import
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,577 @@
|
||||
<?php
|
||||
class Confirm extends MY_Controller
|
||||
{
|
||||
var $db_onedev;
|
||||
public function index()
|
||||
{
|
||||
echo "Register API";
|
||||
}
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
}
|
||||
|
||||
public function search()
|
||||
{
|
||||
$prm = $this->sys_input;
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$norm = $prm["snorm"];
|
||||
$nama = $prm["nama"];
|
||||
|
||||
// echo $norm;
|
||||
|
||||
$sql_where = "WHERE T_ReceiveReferenceHeaderIsActive = 'Y' AND T_ReceiveReferenceHeaderIsSent = 'Y'";
|
||||
$sql_param = array();
|
||||
if ($nama != "") {
|
||||
if ($sql_where != "") {
|
||||
$sql_where .=" and ";
|
||||
}
|
||||
$sql_where .= " M_CompanyName like ? ";
|
||||
$sql_param[] = "%$nama%";
|
||||
}
|
||||
if ($norm != "") {
|
||||
if ($sql_where != "") {
|
||||
$sql_where .=" and ";
|
||||
}
|
||||
$sql_where .= " T_ReceiveReferenceHeaderNumber like ? ";
|
||||
$sql_param[] = "%$norm%";
|
||||
}
|
||||
|
||||
//if ($sql_where != "") $sql_where .= " and ";
|
||||
|
||||
// Order masih dalam status registrasi
|
||||
//$sql_where .= " M_PatientIsActive = 'Y' ";
|
||||
|
||||
|
||||
$sql = " SELECT count(*) as total
|
||||
FROM t_receivereferenceheader
|
||||
JOIN m_company ON T_ReceiveReferenceHeaderM_CompanyID = M_CompanyID
|
||||
LEFT JOIN m_mou ON T_ReceiveReferenceHeaderM_MouID = M_MouID
|
||||
$sql_where
|
||||
";
|
||||
//echo $sql;
|
||||
$query = $this->db_onedev->query($sql, $sql_param);
|
||||
|
||||
$tot_count = 0;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
} else {
|
||||
$this->sys_error_db("t_receivereferenceheader count", $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "SELECT
|
||||
T_ReceiveReferenceHeaderID,
|
||||
T_ReceiveReferenceHeaderM_CompanyID,
|
||||
M_CompanyName,
|
||||
T_ReceiveReferenceHeaderM_MouID,
|
||||
M_MouName,
|
||||
DATE_FORMAT(T_ReceiveReferenceHeaderDate,'%d-%m-%Y') as T_ReceiveReferenceHeaderDate,
|
||||
T_ReceiveReferenceHeaderNumber,
|
||||
T_ReceiveReferenceHeaderNote,
|
||||
T_ReceiveReferenceHeaderIsSent,
|
||||
T_ReceiveReferenceHeaderSentDate,
|
||||
T_ReceiveReferenceHeaderIsConfirm,
|
||||
T_ReceiveReferenceHeaderConfirmDate,
|
||||
IF(T_ReceiveReferenceHeaderIsConfirm = 'Y', 'Telah Konfirmasi','Belum Konfirmasi') as konfirmasi
|
||||
|
||||
|
||||
FROM t_receivereferenceheader
|
||||
JOIN m_company ON T_ReceiveReferenceHeaderM_CompanyID = M_CompanyID
|
||||
LEFT JOIN m_mou ON T_ReceiveReferenceHeaderM_MouID = M_MouID
|
||||
$sql_where
|
||||
ORDER BY T_ReceiveReferenceHeaderNumber DESC
|
||||
limit 0,20";
|
||||
|
||||
$query = $this->db_onedev->query($sql, $sql_param);
|
||||
$rows = $query->result_array();
|
||||
if($rows){
|
||||
foreach($rows as $k => $v){
|
||||
//$rows[$k]['verification_px'] = $this->add_verification_test($v['M_PatientID']);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//$this->_add_address($rows);
|
||||
$result = array("total" => $tot_count, "records" => $rows, "sql"=> $this->db_onedev->last_query());
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function searchcompany(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
|
||||
$max_rst = 12;
|
||||
$tot_count =0;
|
||||
|
||||
$q = [
|
||||
'search' => '%'
|
||||
];
|
||||
|
||||
if ($prm['search'] != '')
|
||||
{
|
||||
$q['search'] = "%{$prm['search']}%";
|
||||
}
|
||||
|
||||
// QUERY TOTAL
|
||||
$sql = "SELECT count(*) as total
|
||||
FROM m_company
|
||||
WHERE
|
||||
M_CompanyName like ?
|
||||
AND M_CompanyIsActive = 'Y' AND M_CompanyIsLabFrom = 'Y'";
|
||||
$query = $this->db_onedev->query($sql,$q['search']);
|
||||
//echo $query;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("m_company count",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "
|
||||
SELECT *
|
||||
FROM m_company
|
||||
WHERE
|
||||
M_CompanyName like ?
|
||||
AND M_CompanyIsActive = 'Y' AND M_CompanyIsLabFrom = 'Y'
|
||||
ORDER BY M_CompanyName DESC
|
||||
";
|
||||
$query = $this->db_onedev->query($sql, array($q['search']));
|
||||
|
||||
if ($query) {
|
||||
$rows = $query->result_array();
|
||||
//echo $this->db_onedev->last_query();
|
||||
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
|
||||
$this->sys_ok($result);
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("m_company rows",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
function getmou(){
|
||||
$prm = $this->sys_input;
|
||||
$query =" SELECT *
|
||||
FROM m_mou
|
||||
WHERE
|
||||
M_MouIsActive = 'Y' AND M_MouM_CompanyID = ?
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query,array($prm['id']))->result_array();
|
||||
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function getsexreg(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$rows = [];
|
||||
$query =" SELECT *
|
||||
FROM m_sex
|
||||
WHERE
|
||||
M_SexIsActive = 'Y'
|
||||
";
|
||||
//echo $query;
|
||||
$rows['sexes'] = $this->db_onedev->query($query)->result_array();
|
||||
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function save(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$pdob = date('Y-m-d',strtotime($prm['M_PatientDOB']));
|
||||
$query ="UPDATE m_patient SET
|
||||
M_PatientM_TitleID = '{$prm['M_PatientM_TitleID']}',
|
||||
M_PatientName = '{$prm['M_PatientName']}',
|
||||
M_PatientDOB = '{$pdob}',
|
||||
M_PatientM_SexID = '{$prm['M_PatientM_SexID']}',
|
||||
M_PatientM_ReligionID = '{$prm['M_PatientM_ReligionID']}',
|
||||
M_PatientEmail = '{$prm['M_PatientEmail']}',
|
||||
M_PatientHP = '{$prm['M_PatientHP']}',
|
||||
M_PatientPhone = '{$prm['M_PatientPhone']}',
|
||||
M_PatientM_IdTypeID = '{$prm['M_PatientM_IdTypeID']}',
|
||||
M_PatientIDNumber = '{$prm['M_PatientIDNumber']}',
|
||||
M_PatientNote = '{$prm['M_PatientNote']}'
|
||||
WHERE
|
||||
M_PatientID = '{$prm['M_PatientID']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function newreceivereference(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$pdate = date('Y-m-d',strtotime($prm['sdate']));
|
||||
$query ="INSERT INTO t_receivereferenceheader (
|
||||
T_ReceiveReferenceHeaderM_CompanyID,
|
||||
T_ReceiveReferenceHeaderM_MouID,
|
||||
T_ReceiveReferenceHeaderDate,
|
||||
T_ReceiveReferenceHeaderNote,
|
||||
T_ReceiveReferenceHeaderCreated
|
||||
)
|
||||
VALUES(
|
||||
'{$prm['companyid']}',
|
||||
'{$prm['mouid']}',
|
||||
'{$pdate}',
|
||||
'{$prm['note']}',
|
||||
NOW()
|
||||
)
|
||||
";
|
||||
// echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
$last_id = $this->db_onedev->insert_id();
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK'),
|
||||
"id" => $last_id
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function confirmreference(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
$query ="UPDATE t_receivereferenceheader SET
|
||||
T_ReceiveReferenceHeaderIsConfirm = 'Y',
|
||||
T_ReceiveReferenceHeaderConfirmDate = now(),
|
||||
T_ReceiveReferenceHeaderUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferenceHeaderID = '{$prm['T_ReceiveReferenceHeaderID']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$querylog ="INSERT INTO g_receivereferenceheaderstatuslog (
|
||||
G_ReceiveReferenceHeaderStatusLogDate,
|
||||
G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_UserID,
|
||||
G_ReceiveReferenceHeaderStatusLogUserID,
|
||||
G_ReceiveReferenceHeaderStatusLogCreated,
|
||||
G_ReceiveReferenceHeaderStatusLogLastUpdated
|
||||
)
|
||||
VALUES(
|
||||
NOW(),
|
||||
'{$prm['T_ReceiveReferenceHeaderID']}',
|
||||
'3',
|
||||
'1',
|
||||
'1',
|
||||
NOW(),
|
||||
NOW()
|
||||
)";
|
||||
//echo $querylog;
|
||||
$insert_new_log = $this->db_onedev->query($querylog);
|
||||
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function getpatient(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$query =" SELECT t_receivereferencepatient.*,
|
||||
DATE_FORMAT(T_ReceiveReferencePatientDOB,'%d-%m-%Y') as T_ReceiveReferencePatientDOB,
|
||||
M_SexName,
|
||||
IF(T_ReceiveReferencePatientIsConfirm = 'Y', 'Telah Konfirmasi','Belum Konfirmasi') as konfirmasi,
|
||||
'' as tes,
|
||||
'xxx' as tests,
|
||||
'' as action,
|
||||
IF(T_ReceiveReferencePatientDPAmount > 0, CONCAT(FORMAT(T_ReceiveReferencePatientTotal,0),' (DP: ',FORMAT(T_ReceiveReferencePatientDPAmount,0),')'),FORMAT(T_ReceiveReferencePatientTotal,0)) as totallab
|
||||
FROM t_receivereferencepatient
|
||||
JOIN m_sex ON T_ReceiveReferencePatientM_SexID = M_SexID
|
||||
LEFT JOIN t_receivereferencetest ON T_ReceiveReferencePatientID = T_ReceiveReferenceTestT_ReceiveReferencePatientID AND T_ReceiveReferenceTestIsActive = 'Y'
|
||||
WHERE
|
||||
T_ReceiveReferencePatientIsActive = 'Y' AND T_ReceiveReferencePatientT_ReceiveReferenceHeaderID = ?
|
||||
GROUP BY T_ReceiveReferencePatientID
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query,array($prm['id']))->result_array();
|
||||
if($rows){
|
||||
|
||||
foreach($rows as $k => $v){
|
||||
$x = $this->db_onedev->query("select concat( '[', group_concat( json_object('id', T_ReceiveReferenceTestID, 'testname', T_ReceiveReferenceTestT_TestName, 'status', T_ReceiveReferenceTestStatus) separator ',' ), ']' )
|
||||
as n from t_receivereferencetest
|
||||
WHERE T_ReceiveReferenceTestT_ReceiveReferencePatientID = '{$v['T_ReceiveReferencePatientID']}' AND T_ReceiveReferenceTestIsActive = 'Y'")->row();
|
||||
$rows[$k]['tesx'] = json_decode($x->n);
|
||||
$rows[$k]['tests'] = $this->add_test($v['T_ReceiveReferencePatientID']);
|
||||
$rows[$k]['action'] = '<v-icon color="error" @click="deleteAddress(props.item)">delete</v-icon>';
|
||||
$rows[$k]['action'] .= '<v-icon color="primary" @click="deleteAddress(props.item)">edit</v-icon>';
|
||||
|
||||
}
|
||||
}
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function add_test($orderid){
|
||||
$query =" SELECT t_receivereferencetest.*, t_test.*, t_price.*, 'Y' as editable, T_ReceiveReferenceTestT_TestID as xid,
|
||||
T_PriceAmount - ((T_PriceDisc/100) * T_PriceAmount) - T_PriceDiscRp as total
|
||||
FROM t_receivereferencetest
|
||||
JOIN t_receivereferencepatient ON T_ReceiveReferenceTestT_ReceiveReferencePatientID = T_ReceiveReferencePatientID
|
||||
JOIN t_receivereferenceheader ON T_ReceiveReferencePatientT_ReceiveReferenceHeaderID = T_ReceiveReferenceHeaderID
|
||||
JOIN t_test ON T_ReceiveReferenceTestT_TestID = T_TestID
|
||||
JOIN t_price ON T_PriceT_TestID = T_TestID AND T_PriceIsCito = 'N' AND T_PriceM_MouID = T_ReceiveReferenceHeaderM_MouID
|
||||
WHERE
|
||||
T_ReceiveReferenceTestT_ReceiveReferencePatientID = {$orderid} AND T_ReceiveReferenceTestIsActive = 'Y'
|
||||
GROUP BY T_ReceiveReferenceTestID";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query)->result_array();
|
||||
if(!$rows)
|
||||
$rows = array();
|
||||
return $rows;
|
||||
}
|
||||
|
||||
function savenewpatient(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$pdob = date('Y-m-d',strtotime($prm['T_ReceiveReferencePatientDOB']));
|
||||
$query ="INSERT INTO t_receivereferencepatient (
|
||||
T_ReceiveReferencePatientT_ReceiveReferenceHeaderID,
|
||||
T_ReceiveReferencePatientNoRef,
|
||||
T_ReceiveReferencePatientName,
|
||||
T_ReceiveReferencePatientDOB,
|
||||
T_ReceiveReferencePatientM_SexID,
|
||||
T_ReceiveReferencePatientCreated
|
||||
)
|
||||
VALUES(
|
||||
'{$prm['T_ReceiveReferencePatientT_ReceiveReferenceHeaderID']}',
|
||||
'{$prm['T_ReceiveReferencePatientNoRef']}',
|
||||
'{$prm['T_ReceiveReferencePatientName']}',
|
||||
'{$pdob}',
|
||||
'{$prm['T_ReceiveReferencePatientM_SexID']}',
|
||||
NOW()
|
||||
)
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
$orderpatient_id = $this->db_onedev->insert_id();
|
||||
foreach($prm['ordertests'] as $k=>$v){
|
||||
$query = "INSERT INTO t_receivereferencetest (
|
||||
T_ReceiveReferenceTestT_ReceiveReferencePatientID,
|
||||
T_ReceiveReferenceTestT_TestID,
|
||||
T_ReceiveReferenceTestT_TestCode,
|
||||
T_ReceiveReferenceTestT_TestName,
|
||||
T_ReceiveReferenceTestCreated,
|
||||
T_ReceiveReferenceTestLastUpdated
|
||||
)
|
||||
VALUE(
|
||||
?,?,?,?,now(),now()
|
||||
)";
|
||||
$insert_new_test = $this->db_onedev->query($query,array(
|
||||
$orderpatient_id,
|
||||
$v['T_TestID'],
|
||||
$v['T_TestCode'],
|
||||
$v['T_TestName']
|
||||
));
|
||||
}
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function saveeditpatient(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$order_id = $prm['T_ReceiveReferencePatientID'];
|
||||
$pdob = date('Y-m-d',strtotime($prm['T_ReceiveReferencePatientDOB']));
|
||||
$query ="UPDATE t_receivereferencepatient SET
|
||||
T_ReceiveReferencePatientT_ReceiveReferenceHeaderID = '{$prm['T_ReceiveReferencePatientT_ReceiveReferenceHeaderID']}',
|
||||
T_ReceiveReferencePatientNoRef = '{$prm['T_ReceiveReferencePatientNoRef']}',
|
||||
T_ReceiveReferencePatientName = '{$prm['T_ReceiveReferencePatientName']}',
|
||||
T_ReceiveReferencePatientDOB = '{$pdob}',
|
||||
T_ReceiveReferencePatientM_SexID = '{$prm['T_ReceiveReferencePatientM_SexID']}'
|
||||
WHERE
|
||||
T_ReceiveReferencePatientID = '{$prm['T_ReceiveReferencePatientID']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
foreach($prm['ordertests'] as $k=>$v){
|
||||
if($v['xid'] == 0 || $v['xid'] == '0'){
|
||||
$query = "INSERT INTO t_receivereferencetest (
|
||||
T_ReceiveReferenceTestT_ReceiveReferencePatientID,
|
||||
T_ReceiveReferenceTestT_TestID,
|
||||
T_ReceiveReferenceTestT_TestCode,
|
||||
T_ReceiveReferenceTestT_TestName,
|
||||
T_ReceiveReferenceTestCreated,
|
||||
T_ReceiveReferenceTestLastUpdated
|
||||
)
|
||||
VALUE(
|
||||
?,?,?,?,now(),now()
|
||||
)";
|
||||
$insert_new_test = $this->db_onedev->query($query,array(
|
||||
$order_id,
|
||||
$v['T_TestID'],
|
||||
$v['T_TestCode'],
|
||||
$v['T_TestName']
|
||||
));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(isset($prm['deleted_ordertests'])){
|
||||
foreach($prm['deleted_ordertests'] as $i=>$del){
|
||||
|
||||
$query = "UPDATE t_receivereferencetest SET
|
||||
T_ReceiveReferenceTestIsActive = 'N',
|
||||
T_ReceiveReferenceTestLastUpdated = now()
|
||||
WHERE
|
||||
T_ReceiveReferenceTestT_TestID = ?
|
||||
";
|
||||
$delete_exist_test = $this->db_onedev->query($query,array($del['xid']));
|
||||
}
|
||||
}
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function confirmpatient(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
|
||||
$query ="UPDATE t_receivereferencepatient SET
|
||||
T_ReceiveReferencePatientIsConfirm = 'Y'
|
||||
WHERE
|
||||
T_ReceiveReferencePatientID = '{$prm['T_ReceiveReferencePatientID']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function searchtest(){
|
||||
$prm = $this->sys_input;
|
||||
|
||||
$max_rst = 12;
|
||||
$tot_count = 0;
|
||||
|
||||
$q = [
|
||||
'search' => '%'
|
||||
];
|
||||
|
||||
if ($prm['search'] != '')
|
||||
{
|
||||
$q['search'] = "%{$prm['search']}%";
|
||||
}
|
||||
|
||||
$mou_id = $prm['mouid'];
|
||||
// QUERY TOTAL
|
||||
$sql = "SELECT count(*) as total
|
||||
FROM t_test
|
||||
JOIN t_price ON T_PriceT_TestID = T_TestID AND T_PriceIsCito = 'N' AND T_PriceM_MouID = '{$mou_id}'
|
||||
WHERE
|
||||
T_TestName like ? AND
|
||||
T_TestIsActive = 'Y'
|
||||
ORDER BY T_TestName ASC";
|
||||
$query = $this->db_onedev->query($sql,$q['search']);
|
||||
//echo $query;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("test count",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "
|
||||
SELECT 'Y' as editable, 0 as xid, T_TestID, T_TestCode, T_TestName, T_PriceAmount, T_PriceDisc, T_PriceDiscRp, T_PriceAmount - ((T_PriceDisc/100) * T_PriceAmount) - T_PriceDiscRp as total
|
||||
FROM one.t_test
|
||||
JOIN one.t_price ON T_PriceT_TestID = T_TestID AND T_PriceIsCito = 'N'
|
||||
JOIN one_preorder_dev.conf_system ON Conf_SystemIsActive = 'Y' AND Conf_SystemMOUID = T_PriceM_MouID
|
||||
WHERE
|
||||
T_TestName like ? AND
|
||||
T_TestIsActive = 'Y'
|
||||
ORDER BY T_TestName ASC
|
||||
";
|
||||
$query = $this->db_onedev->query($sql, array($q['search']));
|
||||
|
||||
if ($query) {
|
||||
$rows = $query->result_array();
|
||||
//echo $this->db_onedev->last_query();
|
||||
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
|
||||
$this->sys_ok($result);
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("test rows",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,555 @@
|
||||
<?php
|
||||
class Delivery extends MY_Controller
|
||||
{
|
||||
var $db_onedev;
|
||||
public function index()
|
||||
{
|
||||
echo "Delivery API";
|
||||
}
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
$this->load->helper(array('form', 'url'));
|
||||
}
|
||||
|
||||
|
||||
function getcompanycouriers(){
|
||||
$rows = [];
|
||||
|
||||
$sql = "SELECT M_CompanyID as id,
|
||||
M_CompanyName as name
|
||||
FROM m_company
|
||||
WHERE
|
||||
M_CompanyIsActive = 'Y'";
|
||||
//echo $sql;
|
||||
$rows['companys'] = $this->db_onedev->query($sql)->result_array();
|
||||
|
||||
$sql = "SELECT M_StaffID as id,
|
||||
M_StaffName as name
|
||||
FROM m_courier
|
||||
JOIN m_staff ON M_StaffID = M_CourierM_StaffID
|
||||
WHERE
|
||||
M_CourierIsActive = 'Y'";
|
||||
//echo $sql;
|
||||
$rows['couriers'] = $this->db_onedev->query($sql)->result_array();
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
function getdetails($id){
|
||||
$rows = [];
|
||||
|
||||
$sql = "SELECT t_receivereferencedeliverydetail.*, M_SexName,
|
||||
T_ReceiveReferencePatientName as patient_fullname,
|
||||
T_SampleTypeName as samplename,
|
||||
T_ReceiveReferencePatientNoRef as labnumberref,
|
||||
T_OrderHeaderLabNumber as labnumber,
|
||||
'Y' as active,
|
||||
T_ReceiveReferenceDeliveryDetailID as idx,
|
||||
T_ReceiveReferencePatientID as orderid,
|
||||
T_SampleTypeID as sampleid
|
||||
FROM t_receivereferencedeliverydetail
|
||||
JOIN t_receivereferenceheader ON T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceHeaderID = T_ReceiveReferenceHeaderID
|
||||
JOIN t_receivereferencepatient ON T_ReceiveReferenceDeliveryDetailT_ReceiveReferencePatientID = T_ReceiveReferencePatientID
|
||||
LEFT JOIN t_orderheader ON T_ReceiveReferencePatientT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN t_sampletype ON T_ReceiveReferenceDeliveryDetailT_SampleTypeID = T_SampleTypeID
|
||||
JOIN m_sex ON T_ReceiveReferencePatientM_SexID = M_SexID
|
||||
WHERE
|
||||
T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceDeliveryID = {$id} AND T_ReceiveReferenceDeliveryDetailIsActive = 'Y'";
|
||||
//echo $sql;
|
||||
$rows = $this->db_onedev->query($sql)->result_array();
|
||||
return $rows;
|
||||
|
||||
}
|
||||
|
||||
public function search()
|
||||
{
|
||||
$prm = $this->sys_input;
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
|
||||
$search = $prm["namelab"];
|
||||
$status = $prm["stationid"];
|
||||
$startdate = $prm["startdate"];
|
||||
$enddate = $prm["enddate"];
|
||||
|
||||
$sql_where = "WHERE T_ReceiveReferenceDeliveryStatus = '{$status}' AND ( T_ReceiveReferenceDeliveryDate BETWEEN '{$startdate} 00:00:00' AND '{$enddate} 23:59:59' ) AND T_ReceiveReferenceDeliveryIsActive = 'Y'";
|
||||
|
||||
//$sql_param = array();
|
||||
if ($search != "") {
|
||||
if ($sql_where != "") {
|
||||
$sql_where .=" and ";
|
||||
}
|
||||
$sql_where .= " ( T_ReceiveReferenceDeliveryNumber like '%$search%' ) ";
|
||||
//$sql_param[] = "%$nama%";
|
||||
}
|
||||
|
||||
|
||||
$sql = " SELECT count(*) as total
|
||||
FROM t_receivereferencedelivery
|
||||
JOIN m_company ON T_ReceiveReferenceDeliveryM_CompanyID = M_CompanyID
|
||||
LEFT JOIN m_staff ON T_ReceiveReferenceDeliveryM_StaffID = M_StaffID
|
||||
$sql_where
|
||||
";
|
||||
//echo $sql;
|
||||
$query = $this->db_onedev->query($sql);
|
||||
|
||||
$tot_count = 0;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
} else {
|
||||
$this->sys_error_db("m_company count", $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "SELECT t_receivereferencedelivery.*, IFNULL(M_StaffName,'-') as courier_name,
|
||||
T_ReceiveReferenceDeliveryID as trx_id,
|
||||
T_ReceiveReferenceDeliveryNumber as trx_numbering,
|
||||
T_ReceiveReferenceDeliveryDate as trx_date,
|
||||
DATE_FORMAT(T_ReceiveReferenceDeliveryDate,'%d-%m-%Y') as trx_date_ina,
|
||||
T_ReceiveReferenceDeliveryNote as trx_note,
|
||||
T_ReceiveReferenceDeliveryStatus as status,
|
||||
M_CompanyName as company_fullname,
|
||||
'' as details,
|
||||
CASE
|
||||
WHEN T_ReceiveReferenceDeliveryStatus = 'CREATED' THEN 'BARU'
|
||||
WHEN T_ReceiveReferenceDeliveryStatus = 'RELEASEC' THEN 'RILIS SURAT JALAN'
|
||||
WHEN T_ReceiveReferenceDeliveryStatus = 'RCVDOC' THEN 'DITERIMA DOKTER'
|
||||
WHEN T_ReceiveReferenceDeliveryStatus = 'PARTDONE' THEN 'SELESAI SEBAGIAN'
|
||||
ELSE 'SELESAI'
|
||||
END as status_name
|
||||
FROM t_receivereferencedelivery
|
||||
JOIN m_company ON T_ReceiveReferenceDeliveryM_CompanyID = M_CompanyID
|
||||
LEFT JOIN m_staff ON T_ReceiveReferenceDeliveryM_StaffID = M_StaffID
|
||||
$sql_where
|
||||
ORDER BY T_ReceiveReferenceDeliveryID DESC
|
||||
limit 0,20";
|
||||
//echo $sql;
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $this->db_onedev->last_query();
|
||||
$rows = $query->result_array();
|
||||
if($rows){
|
||||
foreach($rows as $k => $v){
|
||||
//$rows[$k]['companys'] = $this->getcompanys();
|
||||
$rows[$k]['details'] = $this->getdetails($v['T_ReceiveReferenceDeliveryID']);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//$this->_add_address($rows);
|
||||
$result = array("total" => $tot_count, "records" => $rows, "sql"=> $this->db_onedev->last_query());
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function getordersamples(){
|
||||
$prm = $this->sys_input;
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$companyid = $prm['companyid'];
|
||||
$sql = "SELECT * FROM
|
||||
(SELECT 0 as idx,
|
||||
M_SexName,
|
||||
CONCAT(T_ReceiveReferencePatientName, '\n', '[',M_SexName,' | ',DATE_FORMAT(T_ReceiveReferencePatientDOB,'%d-%m-%Y'),']') as patient_fullname,
|
||||
T_SampleTypeName as samplename,
|
||||
T_ReceiveReferencePatientNoRef as labnumberref,
|
||||
T_OrderHeaderLabNumber as labnumber,
|
||||
T_ReceiveReferencePatientID as rpatientid,
|
||||
T_ReceiveReferencePatientT_ReceiveReferenceHeaderID as rheaderid,
|
||||
T_SampleTypeID as sampleid,
|
||||
'Y' as active,
|
||||
T_ReceiveReferenceDeliveryDetailID
|
||||
FROM t_receivereferenceheader
|
||||
LEFT JOIN t_receivereferencepatient ON T_ReceiveReferencePatientT_ReceiveReferenceHeaderID= T_ReceiveReferenceHeaderID AND T_ReceiveReferencePatientIsActive = 'Y'
|
||||
LEFT JOIN t_orderheader ON T_ReceiveReferencePatientT_OrderHeaderID = T_OrderHeaderID
|
||||
LEFT JOIN t_receivereferencetest ON T_ReceiveReferenceTestT_ReceiveReferencePatientID = T_ReceiveReferencePatientID AND T_ReceiveReferenceTestIsActive = 'Y'
|
||||
LEFT JOIN t_test p ON T_ReceiveReferenceTestT_TestID = p.T_TestID
|
||||
join t_test c on c.T_TestSasCode like concat(p.T_TestSasCode,'%') and c.T_TestT_SampleTypeID > 1
|
||||
LEFT JOIN t_sampletype ON c.T_TestT_SampleTypeID = T_SampleTypeID
|
||||
LEFT JOIN m_sex ON T_ReceiveReferencePatientM_SexID = M_SexID
|
||||
LEFT JOIN t_receivereferencedeliverydetail ON T_ReceiveReferencePatientID = T_ReceiveReferenceDeliveryDetailT_ReceiveReferencePatientID AND T_ReceiveReferenceDeliveryDetailIsActive = 'Y'
|
||||
WHERE
|
||||
T_ReceiveReferenceHeaderM_CompanyID = {$companyid} AND T_ReceiveReferenceHeaderIsActive = 'Y'
|
||||
AND T_ReceiveReferenceHeaderIsConfirm = 'Y'
|
||||
GROUP BY T_ReceiveReferencePatientID,T_SampleTypeID) a
|
||||
WHERE T_ReceiveReferenceDeliveryDetailID IS NULL";
|
||||
//echo $sql;
|
||||
$rows = $this->db_onedev->query($sql)->result_array();
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
function getstation(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$rows = [];
|
||||
$query =" SELECT T_SampleStationID as id, T_SampleStationName as name
|
||||
FROM t_samplestation
|
||||
WHERE
|
||||
T_SampleStationIsActive = 'Y'
|
||||
";
|
||||
//echo $query;
|
||||
$rows['stations'] = $this->db_onedev->query($query)->result_array();
|
||||
//print_r($statuses);
|
||||
foreach($statuses as $k=>$v){
|
||||
array_push($rows['statuses'],$v);
|
||||
}
|
||||
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function getcompanyaddress(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$query =" SELECT M_CompanyAddressID as id, M_CompanyAddressDescription as name
|
||||
FROM m_companyaddress
|
||||
WHERE
|
||||
M_CompanyAddressM_CompanyID = {$prm['id']} AND M_CompanyAddressIsActive = 'Y'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query)->result_array();
|
||||
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
function save(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
|
||||
$xdate = date('Y-m-d',strtotime($prm["trx_date"]));
|
||||
if($prm['trx_id'] == '0' || $prm['trx_id'] == 0){
|
||||
$numbering = $this->db_onedev->query("SELECT fn_numbering('REF.DELIV') as numbering")->row()->numbering;
|
||||
$query ="INSERT INTO t_receivereferencedelivery (
|
||||
T_ReceiveReferenceDeliveryNumber,
|
||||
T_ReceiveReferenceDeliveryDate,
|
||||
T_ReceiveReferenceDeliveryNote,
|
||||
T_ReceiveReferenceDeliveryM_StaffID,
|
||||
T_ReceiveReferenceDeliveryM_CompanyID,
|
||||
T_ReceiveReferenceDeliveryCreated,
|
||||
T_ReceiveReferenceDeliveryUserID
|
||||
)
|
||||
VALUES(
|
||||
'{$numbering}',
|
||||
'{$xdate}',
|
||||
'{$prm['trx_note']}',
|
||||
'{$prm['courier']['id']}',
|
||||
'{$prm['company']['id']}',
|
||||
NOW(),
|
||||
'{$userid}'
|
||||
)
|
||||
";
|
||||
//echo $query;
|
||||
$saveheader = $this->db_onedev->query($query);
|
||||
$last_id = $this->db_onedev->insert_id();
|
||||
}else{
|
||||
$numbering = $this->db_onedev->query("SELECT T_ReceiveReferenceDeliveryNumber as numbering FROM t_receivereferencedelivery WHERE T_ReceiveReferenceDeliveryID = {$prm['trx_id']}")->row()->numbering;
|
||||
$query ="UPDATE t_receivereferencedelivery SET
|
||||
T_ReceiveReferenceDeliveryDate = '{$xdate}',
|
||||
T_ReceiveReferenceDeliveryNote = '{$prm['trx_note']}',
|
||||
T_ReceiveReferenceDeliveryM_StaffID = '{$prm['courier']['id']}',
|
||||
T_ReceiveReferenceDeliveryCreated = NOW(),
|
||||
T_ReceiveReferenceDeliveryUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferenceDeliveryID = {$prm['trx_id']}
|
||||
";
|
||||
//echo $query;
|
||||
$saveheader = $this->db_onedev->query($query);
|
||||
$last_id = $prm['trx_id'];
|
||||
}
|
||||
|
||||
if($saveheader){
|
||||
foreach($prm['details'] as $k => $v){
|
||||
if($v['active'] === 'Y' && ($v['idx'] == 0 || $v['idx'] == '0')){
|
||||
$query ="INSERT INTO t_receivereferencedeliverydetail (
|
||||
T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceDeliveryID,
|
||||
T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceHeaderID,
|
||||
T_ReceiveReferenceDeliveryDetailT_ReceiveReferencePatientID,
|
||||
T_ReceiveReferenceDeliveryDetailT_SampleTypeID,
|
||||
T_ReceiveReferenceDeliveryDetailCreated,
|
||||
T_ReceiveReferenceDeliveryDetailUserID
|
||||
)
|
||||
VALUES(
|
||||
'{$last_id}',
|
||||
'{$v['rheaderid']}',
|
||||
'{$v['rpatientid']}',
|
||||
'{$v['sampleid']}',
|
||||
NOW(),
|
||||
'{$userid}'
|
||||
)";
|
||||
//echo $query;
|
||||
$savedetail = $this->db_onedev->query($query);
|
||||
$querystatus = "SELECT COUNT(*) as exist FROM g_receivereferenceheaderstatuslog WHERE G_ReceiveReferenceHeaderStatusLogIsActive = 'Y' AND G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID = '{$v['rheaderid']}' AND G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID = '4'";
|
||||
$exist_id = $this->db_onedev->query($querystatus)->row()->exist;
|
||||
if($exist_id == 0){
|
||||
$querylog ="INSERT INTO g_receivereferenceheaderstatuslog (
|
||||
G_ReceiveReferenceHeaderStatusLogDate,
|
||||
G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_UserID,
|
||||
G_ReceiveReferenceHeaderStatusLogUserID,
|
||||
G_ReceiveReferenceHeaderStatusLogCreated,
|
||||
G_ReceiveReferenceHeaderStatusLogLastUpdated
|
||||
)
|
||||
VALUES(
|
||||
NOW(),
|
||||
'{$v['rheaderid']}',
|
||||
'4',
|
||||
'{$userid}',
|
||||
'1',
|
||||
NOW(),
|
||||
NOW()
|
||||
)";
|
||||
//echo $querylog;
|
||||
$insert_new_log = $this->db_onedev->query($querylog);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if($v['active'] === 'Y' && ($v['idx'] != 0 || $v['idx'] != '0')){
|
||||
$query ="UPDATE t_receivereferencedeliverydetail SET
|
||||
T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceDeliveryID = '{$last_id}',
|
||||
T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceHeaderID = '{$v['T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceHeaderID']}',
|
||||
T_ReceiveReferenceDeliveryDetailT_ReceiveReferencePatientID = '{$v['T_ReceiveReferenceDeliveryDetailT_ReceiveReferencePatientID']}',
|
||||
T_ReceiveReferenceDeliveryDetailT_SampleTypeID = '{$v['sampleid']}',
|
||||
T_ReceiveReferenceDeliveryDetailUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferenceDeliveryDetailID = {$v['idx']}
|
||||
";
|
||||
//echo $query;
|
||||
$savedetail = $this->db_onedev->query($query);
|
||||
}
|
||||
|
||||
if($v['active'] === 'N' && $v['idx'] != 0){
|
||||
$query ="UPDATE t_receivereferencedeliverydetail SET
|
||||
T_ReceiveReferenceDeliveryDetailIsActive = 'N',
|
||||
T_ReceiveReferenceDeliveryDetailUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferenceDeliveryDetailID = {$v['idx']}
|
||||
";
|
||||
//echo $query;
|
||||
$savedetail = $this->db_onedev->query($query);
|
||||
}
|
||||
}
|
||||
}
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK'),
|
||||
"numbering" => $numbering,
|
||||
"id" => $last_id
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function deletetrx(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
|
||||
$query ="UPDATE t_receivereferencedelivery SET
|
||||
T_ReceiveReferenceDeliveryIsActive = 'N',
|
||||
T_ReceiveReferenceDeliveryUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferenceDeliveryID = {$prm['trx_id']}
|
||||
";
|
||||
//echo $query;
|
||||
$saveheader = $this->db_onedev->query($query);
|
||||
$last_id = $prm['trx_id'];
|
||||
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK'),
|
||||
"numbering" => $prm['trx_numbering'],
|
||||
"id" => $prm['trx_id']
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
function doaction(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
|
||||
if($prm['act'] == 'RELEASEC'){
|
||||
$sql = "UPDATE t_receivereferencedelivery SET
|
||||
T_ReceiveReferenceDeliveryStatus = '{$prm['act']}',
|
||||
T_ReceiveReferenceDeliveryNote = '{$prm['trx_note']}',
|
||||
T_ReceiveReferenceDeliveryUserID = {$userid}
|
||||
WHERE
|
||||
T_ReceiveReferenceDeliveryID = {$prm['trx']['trx_id']}
|
||||
";
|
||||
$this->db_onedev->query($sql);
|
||||
|
||||
$details = $prm['details'];
|
||||
foreach($details as $k => $v){
|
||||
$querystatus = "SELECT COUNT(*) as exist FROM g_receivereferenceheaderstatuslog WHERE G_ReceiveReferenceHeaderStatusLogIsActive = 'Y' AND G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID = '{$v['T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceHeaderID']}' AND G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID = '5'";
|
||||
$exist_id = $this->db_onedev->query($querystatus)->row()->exist;
|
||||
if($exist_id == 0){
|
||||
$querylog ="INSERT INTO g_receivereferenceheaderstatuslog (
|
||||
G_ReceiveReferenceHeaderStatusLogDate,
|
||||
G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_UserID,
|
||||
G_ReceiveReferenceHeaderStatusLogUserID,
|
||||
G_ReceiveReferenceHeaderStatusLogCreated,
|
||||
G_ReceiveReferenceHeaderStatusLogLastUpdated
|
||||
)
|
||||
VALUES(
|
||||
NOW(),
|
||||
'{$v['T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceHeaderID']}',
|
||||
'5',
|
||||
'{$userid}',
|
||||
'{$userid}',
|
||||
NOW(),
|
||||
NOW()
|
||||
)";
|
||||
//echo $querylog;
|
||||
$insert_new_log = $this->db_onedev->query($querylog);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
if($prm['act'] === 'RCVLAB' ){
|
||||
$sql = "UPDATE t_receivereferencedelivery SET
|
||||
T_ReceiveReferenceDeliveryStatus = '{$prm['act']}',
|
||||
T_ReceiveReferenceDeliveryNote = '{$prm['trx_note']}',
|
||||
T_ReceiveReferenceDeliveryUserID = {$userid}
|
||||
WHERE
|
||||
T_ReceiveReferenceDeliveryID = {$prm['trx']['trx_id']}
|
||||
";
|
||||
$this->db_onedev->query($sql);
|
||||
|
||||
$details = $prm['details'];
|
||||
foreach($details as $k => $v){
|
||||
$querystatus = "SELECT COUNT(*) as exist FROM g_receivereferenceheaderstatuslog WHERE G_ReceiveReferenceHeaderStatusLogIsActive = 'Y' AND G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID = '{$v['T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceHeaderID']}' AND G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID = '6'";
|
||||
$exist_id = $this->db_onedev->query($querystatus)->row()->exist;
|
||||
if($exist_id == 0){
|
||||
$querylog ="INSERT INTO g_receivereferenceheaderstatuslog (
|
||||
G_ReceiveReferenceHeaderStatusLogDate,
|
||||
G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_UserID,
|
||||
G_ReceiveReferenceHeaderStatusLogUserID,
|
||||
G_ReceiveReferenceHeaderStatusLogCreated,
|
||||
G_ReceiveReferenceHeaderStatusLogLastUpdated
|
||||
)
|
||||
VALUES(
|
||||
NOW(),
|
||||
'{$v['T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceHeaderID']}',
|
||||
'6',
|
||||
'{$userid}',
|
||||
'{$userid}',
|
||||
NOW(),
|
||||
NOW()
|
||||
)";
|
||||
//echo $querylog;
|
||||
$insert_new_log = $this->db_onedev->query($querylog);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
if($prm['act'] === 'DONE'){
|
||||
$details = $prm['details'];
|
||||
$count_n = 0;
|
||||
foreach($details as $k => $v){
|
||||
if($v['flag_image_receive'] === 'N'){
|
||||
$count_n++;
|
||||
}
|
||||
if($v['flag_result_receive'] === 'N'){
|
||||
$count_n++;
|
||||
}
|
||||
$query ="UPDATE t_receivereferencedeliverydetail SET
|
||||
T_ReceiveReferenceDeliveryDetailFlagReceiveImage = '{$v['flag_image_receive']}',
|
||||
T_ReceiveReferenceDeliveryDetailFlagReceiveResult = '{$v['flag_result_receive']}',
|
||||
T_ReceiveReferenceDeliveryDetailUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferenceDeliveryDetailID = {$v['idx']}
|
||||
";
|
||||
//echo $query;
|
||||
$savedetail = $this->db_onedev->query($query);
|
||||
}
|
||||
$status = 'DONE';
|
||||
if($count_n > 0){
|
||||
$status = 'PARTDONE';
|
||||
}
|
||||
$sql = "UPDATE t_receivereferencedelivery SET
|
||||
T_ReceiveReferenceDeliveryStatus = '{$status}',
|
||||
T_ReceiveReferenceDeliveryNote = '{$prm['trx_note']}',
|
||||
T_ReceiveReferenceDeliveryUserID = {$userid}
|
||||
WHERE
|
||||
T_ReceiveReferenceDeliveryID = {$prm['trx']['trx_id']}
|
||||
";
|
||||
$this->db_onedev->query($sql);
|
||||
}
|
||||
|
||||
if($prm['act'] == 'FORCEDONE'){
|
||||
$sql = "UPDATE t_receivereferencedelivery SET
|
||||
T_ReceiveReferenceDeliveryNote = '{$prm['trx_note']}',
|
||||
T_ReceiveReferenceDeliveryStatus = 'DONE',
|
||||
T_ReceiveReferenceDeliveryUserID = {$userid}
|
||||
WHERE
|
||||
T_ReceiveReferenceDeliveryID = {$prm['trx']['trx_id']}
|
||||
";
|
||||
$this->db_onedev->query($sql);
|
||||
}
|
||||
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,612 @@
|
||||
<?php
|
||||
class Distributioncourier extends MY_Controller
|
||||
{
|
||||
var $db_onedev;
|
||||
public function index()
|
||||
{
|
||||
echo "Distribution Courier API";
|
||||
}
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
$this->load->helper(array('form', 'url'));
|
||||
}
|
||||
|
||||
|
||||
function getcompanycouriers(){
|
||||
$rows = [];
|
||||
|
||||
$sql = "SELECT M_CompanyID as id,
|
||||
M_CompanyName as name
|
||||
FROM m_company
|
||||
WHERE
|
||||
M_CompanyIsActive = 'Y' AND M_CompanyIsLabFrom = 'Y'";
|
||||
//echo $sql;
|
||||
$rows['companys'] = $this->db_onedev->query($sql)->result_array();
|
||||
|
||||
$sql = "SELECT M_StaffID as id,
|
||||
M_StaffName as name
|
||||
FROM m_courier
|
||||
JOIN m_staff ON M_StaffID = M_CourierM_StaffID
|
||||
WHERE
|
||||
M_CourierIsActive = 'Y'";
|
||||
//echo $sql;
|
||||
$rows['couriers'] = $this->db_onedev->query($sql)->result_array();
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
function getdetails($id){
|
||||
$rows = [];
|
||||
|
||||
$sql = "SELECT t_receiverefdistributcourierdetail.*,
|
||||
DATE_FORMAT(T_ReceiveReferenceDeliveryDate,'%d-%m-%Y') as tanggalsj,
|
||||
T_ReceiveReferenceDeliveryNumber as nosj,
|
||||
M_CompanyName as namaperusahaan,
|
||||
M_CompanyAddress as alamatperusahaan,
|
||||
'Y' as active,
|
||||
T_ReceiverefDistributCourierDetailID as idx,
|
||||
T_ReceiverefDistributCourierDetailT_ReceiveReferenceDeliveryID as sjid,
|
||||
'xxx' as labs
|
||||
|
||||
FROM t_receiverefdistributcourierdetail
|
||||
JOIN t_receivereferencedelivery ON T_ReceiverefDistributCourierDetailT_ReceiveReferenceDeliveryID = T_ReceiveReferenceDeliveryID
|
||||
JOIN m_company ON T_ReceiveReferenceDeliveryM_CompanyID = M_CompanyID
|
||||
WHERE
|
||||
T_ReceiverefDistributCourierDetailT_ReceiverefDistributCourierID = {$id} AND T_ReceiverefDistributCourierDetailIsActive = 'Y'";
|
||||
//echo $sql;
|
||||
$rows = $this->db_onedev->query($sql)->result_array();
|
||||
if($rows){
|
||||
|
||||
foreach($rows as $k => $v){
|
||||
$rows[$k]['labs'] = $this->add_lab($v['T_ReceiverefDistributCourierDetailT_ReceiveReferenceDeliveryID']);
|
||||
|
||||
}
|
||||
}
|
||||
return $rows;
|
||||
|
||||
}
|
||||
function add_lab($orderid){
|
||||
$query ="SELECT t_receivereferencedeliverydetail.*, M_SexName,
|
||||
T_ReceiveReferencePatientName as patient_fullname,
|
||||
T_SampleTypeName as samplename,
|
||||
T_ReceiveReferencePatientNoRef as labnumberref,
|
||||
T_OrderHeaderLabNumber as labnumber,
|
||||
'Y' as active,
|
||||
T_ReceiveReferenceDeliveryDetailID as idx,
|
||||
T_ReceiveReferencePatientID as orderid,
|
||||
T_SampleTypeID as sampleid,
|
||||
DATE_FORMAT(T_ReceiveReferencePatientDOB,'%d-%m-%Y') as dob
|
||||
FROM t_receivereferencedeliverydetail
|
||||
JOIN t_receivereferenceheader ON T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceHeaderID = T_ReceiveReferenceHeaderID
|
||||
JOIN t_receivereferencepatient ON T_ReceiveReferenceDeliveryDetailT_ReceiveReferencePatientID = T_ReceiveReferencePatientID
|
||||
LEFT JOIN t_orderheader ON T_ReceiveReferencePatientT_OrderHeaderID = T_OrderHeaderID
|
||||
JOIN t_sampletype ON T_ReceiveReferenceDeliveryDetailT_SampleTypeID = T_SampleTypeID
|
||||
JOIN m_sex ON T_ReceiveReferencePatientM_SexID = M_SexID
|
||||
WHERE
|
||||
T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceDeliveryID = {$orderid} AND T_ReceiveReferenceDeliveryDetailIsActive = 'Y'";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query)->result_array();
|
||||
if(!$rows)
|
||||
$rows = array();
|
||||
return $rows;
|
||||
}
|
||||
public function search()
|
||||
{
|
||||
$prm = $this->sys_input;
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
|
||||
$search = $prm["namelab"];
|
||||
$status = $prm["stationid"];
|
||||
$startdate = $prm["startdate"];
|
||||
$enddate = $prm["enddate"];
|
||||
|
||||
$sql_where = "WHERE T_ReceiverefDistributCourierStatus = '{$status}' AND ( T_ReceiverefDistributCourierDate BETWEEN '{$startdate} 00:00:00' AND '{$enddate} 23:59:59' ) AND T_ReceiverefDistributCourierIsActive = 'Y'";
|
||||
|
||||
//$sql_param = array();
|
||||
if ($search != "") {
|
||||
if ($sql_where != "") {
|
||||
$sql_where .=" and ";
|
||||
}
|
||||
$sql_where .= " ( T_ReceiverefDistributCourierNumber like '%$search%' ) ";
|
||||
//$sql_param[] = "%$nama%";
|
||||
}
|
||||
|
||||
|
||||
$sql = " SELECT count(*) as total
|
||||
FROM t_receiverefdistributcourier
|
||||
LEFT JOIN m_staff ON T_ReceiverefDistributCourierM_StaffID = M_StaffID
|
||||
$sql_where
|
||||
";
|
||||
//echo $sql;
|
||||
$query = $this->db_onedev->query($sql);
|
||||
|
||||
$tot_count = 0;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
} else {
|
||||
$this->sys_error_db("m_company count", $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "SELECT t_receiverefdistributcourier.*, IFNULL(M_StaffName,'-') as courier_name,
|
||||
T_ReceiverefDistributCourierID as trx_id,
|
||||
T_ReceiverefDistributCourierNumber as trx_numbering,
|
||||
T_ReceiverefDistributCourierDPAmount as trx_totaldp,
|
||||
T_ReceiverefDistributCourierDate as trx_date,
|
||||
DATE_FORMAT(T_ReceiverefDistributCourierDate,'%d-%m-%Y') as trx_date_ina,
|
||||
T_ReceiverefDistributCourierNote as trx_note,
|
||||
T_ReceiverefDistributCourierStatus as status,
|
||||
'' as details,
|
||||
CASE
|
||||
WHEN T_ReceiverefDistributCourierStatus = 'CREATED' THEN 'BARU'
|
||||
WHEN T_ReceiverefDistributCourierStatus = 'RELEASEC' THEN 'DISERAHKAN KURIR'
|
||||
WHEN T_ReceiverefDistributCourierStatus = 'RCVDOC' THEN 'DITERIMA DOKTER'
|
||||
WHEN T_ReceiverefDistributCourierStatus = 'PARTDONE' THEN 'SELESAI SEBAGIAN'
|
||||
ELSE 'SELESAI'
|
||||
END as status_name
|
||||
FROM t_receiverefdistributcourier
|
||||
LEFT JOIN m_staff ON T_ReceiverefDistributCourierM_StaffID = M_StaffID
|
||||
$sql_where
|
||||
ORDER BY T_ReceiverefDistributCourierID DESC
|
||||
limit 0,20";
|
||||
//echo $sql;
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $this->db_onedev->last_query();
|
||||
$rows = $query->result_array();
|
||||
if($rows){
|
||||
foreach($rows as $k => $v){
|
||||
//$rows[$k]['companys'] = $this->getcompanys();
|
||||
$rows[$k]['details'] = $this->getdetails($v['T_ReceiverefDistributCourierID']);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//$this->_add_address($rows);
|
||||
$result = array("total" => $tot_count, "records" => $rows, "sql"=> $this->db_onedev->last_query());
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function getordersamples(){
|
||||
$prm = $this->sys_input;
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$courierid = $prm['courierid'];
|
||||
$sql = "SELECT * FROM
|
||||
(SELECT 0 as idx,
|
||||
DATE_FORMAT(T_ReceiveReferenceDeliveryDate,'%d-%m-%Y') as tanggalsj,
|
||||
T_ReceiveReferenceDeliveryNumber as nosj,
|
||||
M_CompanyName as namaperusahaan,
|
||||
M_CompanyAddress as alamatperusahaan,
|
||||
'Y' as active,
|
||||
T_ReceiveReferenceDeliveryID as sjid,
|
||||
T_ReceiverefDistributCourierDetailID
|
||||
|
||||
FROM t_receivereferencedelivery
|
||||
LEFT JOIN m_company ON T_ReceiveReferenceDeliveryM_CompanyID = M_CompanyID
|
||||
LEFT JOIN t_receiverefdistributcourierdetail ON T_ReceiveReferenceDeliveryID = T_ReceiverefDistributCourierDetailT_ReceiveReferenceDeliveryID AND T_ReceiverefDistributCourierDetailIsActive = 'Y'
|
||||
WHERE
|
||||
T_ReceiveReferenceDeliveryM_StaffID = {$courierid} AND T_ReceiveReferenceDeliveryIsActive = 'Y'
|
||||
AND T_ReceiveReferenceDeliveryStatus = 'RELEASEC'
|
||||
GROUP BY T_ReceiveReferenceDeliveryID) a
|
||||
WHERE T_ReceiverefDistributCourierDetailID IS NULL";
|
||||
//echo $sql;
|
||||
$rows = $this->db_onedev->query($sql)->result_array();
|
||||
if($rows){
|
||||
|
||||
foreach($rows as $k => $v){
|
||||
$rows[$k]['labs'] = $this->add_lab($v['sjid']);
|
||||
|
||||
}
|
||||
}
|
||||
// return $rows;
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
|
||||
|
||||
}
|
||||
|
||||
function getstation(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$rows = [];
|
||||
$query =" SELECT T_SampleStationID as id, T_SampleStationName as name
|
||||
FROM t_samplestation
|
||||
WHERE
|
||||
T_SampleStationIsActive = 'Y'
|
||||
";
|
||||
//echo $query;
|
||||
$rows['stations'] = $this->db_onedev->query($query)->result_array();
|
||||
//print_r($statuses);
|
||||
foreach($statuses as $k=>$v){
|
||||
array_push($rows['statuses'],$v);
|
||||
}
|
||||
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function getcompanyaddress(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$query =" SELECT M_CompanyAddressID as id, M_CompanyAddressDescription as name
|
||||
FROM m_companyaddress
|
||||
WHERE
|
||||
M_CompanyAddressM_CompanyID = {$prm['id']} AND M_CompanyAddressIsActive = 'Y'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query)->result_array();
|
||||
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
function save(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
|
||||
$xdate = date('Y-m-d',strtotime($prm["trx_date"]));
|
||||
if($prm['trx_id'] == '0' || $prm['trx_id'] == 0){
|
||||
$numbering = $this->db_onedev->query("SELECT fn_numbering('REF.DISTRIB') as numbering")->row()->numbering;
|
||||
$query ="INSERT INTO t_receiverefdistributcourier (
|
||||
T_ReceiverefDistributCourierNumber,
|
||||
T_ReceiverefDistributCourierDate,
|
||||
T_ReceiverefDistributCourierNote,
|
||||
T_ReceiverefDistributCourierM_StaffID,
|
||||
T_ReceiverefDistributCourierCreated,
|
||||
T_ReceiverefDistributCourierUserID
|
||||
)
|
||||
VALUES(
|
||||
'{$numbering}',
|
||||
'{$xdate}',
|
||||
'{$prm['trx_note']}',
|
||||
'{$prm['courier']['id']}',
|
||||
NOW(),
|
||||
'{$userid}'
|
||||
)
|
||||
";
|
||||
//echo $query;
|
||||
$saveheader = $this->db_onedev->query($query);
|
||||
$last_id = $this->db_onedev->insert_id();
|
||||
}else{
|
||||
$numbering = $this->db_onedev->query("SELECT T_ReceiverefDistributCourierNumber as numbering FROM t_receiverefdistributcourier WHERE T_ReceiverefDistributCourierID = {$prm['trx_id']}")->row()->numbering;
|
||||
$query ="UPDATE t_receiverefdistributcourier SET
|
||||
T_ReceiverefDistributCourierDate = '{$xdate}',
|
||||
T_ReceiverefDistributCourierNote = '{$prm['trx_note']}',
|
||||
T_ReceiverefDistributCourierM_StaffID = '{$prm['courier']['id']}',
|
||||
T_ReceiverefDistributCourierCreated = NOW(),
|
||||
T_ReceiverefDistributCourierUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiverefDistributCourierID = {$prm['trx_id']}
|
||||
";
|
||||
//echo $query;
|
||||
$saveheader = $this->db_onedev->query($query);
|
||||
$last_id = $prm['trx_id'];
|
||||
}
|
||||
// DP
|
||||
|
||||
if($saveheader){
|
||||
foreach($prm['details'] as $k => $v){
|
||||
if($v['active'] === 'Y' && ($v['idx'] == 0 || $v['idx'] == '0')){
|
||||
$query ="INSERT INTO t_receiverefdistributcourierdetail (
|
||||
T_ReceiverefDistributCourierDetailT_ReceiverefDistributCourierID,
|
||||
T_ReceiverefDistributCourierDetailT_ReceiveReferenceDeliveryID,
|
||||
T_ReceiverefDistributCourierDetailCreated,
|
||||
T_ReceiverefDistributCourierDetailUserID
|
||||
)
|
||||
VALUES(
|
||||
'{$last_id}',
|
||||
'{$v['sjid']}',
|
||||
NOW(),
|
||||
'{$userid}'
|
||||
)";
|
||||
//echo $query;
|
||||
$savedetail = $this->db_onedev->query($query);
|
||||
/* $querystatus = "SELECT COUNT(*) as exist FROM g_receivereferenceheaderstatuslog WHERE G_ReceiveReferenceHeaderStatusLogIsActive = 'Y' AND G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID = '{$v['rheaderid']}' AND G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID = '4'";
|
||||
$exist_id = $this->db_onedev->query($querystatus)->row()->exist;
|
||||
if($exist_id == 0){
|
||||
$querylog ="INSERT INTO g_receivereferenceheaderstatuslog (
|
||||
G_ReceiveReferenceHeaderStatusLogDate,
|
||||
G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_UserID,
|
||||
G_ReceiveReferenceHeaderStatusLogUserID,
|
||||
G_ReceiveReferenceHeaderStatusLogCreated,
|
||||
G_ReceiveReferenceHeaderStatusLogLastUpdated
|
||||
)
|
||||
VALUES(
|
||||
NOW(),
|
||||
'{$v['rheaderid']}',
|
||||
'4',
|
||||
'{$userid}',
|
||||
'1',
|
||||
NOW(),
|
||||
NOW()
|
||||
)";
|
||||
//echo $querylog;
|
||||
$insert_new_log = $this->db_onedev->query($querylog);
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
if($v['active'] === 'Y' && ($v['idx'] != 0 || $v['idx'] != '0')){
|
||||
$query ="UPDATE t_receiverefdistributcourierdetail SET
|
||||
T_ReceiverefDistributCourierDetailT_ReceiverefDistributCourierID = '{$last_id}',
|
||||
T_ReceiverefDistributCourierDetailT_ReceiveReferenceDeliveryID = '{$v['sjid']}',
|
||||
T_ReceiverefDistributCourierDetailUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiverefDistributCourierDetailID = {$v['idx']}
|
||||
";
|
||||
//echo $query;
|
||||
$savedetail = $this->db_onedev->query($query);
|
||||
}
|
||||
|
||||
if($v['active'] === 'N' && $v['idx'] != 0){
|
||||
$query ="UPDATE t_receiverefdistributcourierdetail SET
|
||||
T_ReceiverefDistributCourierDetailIsActive = 'N',
|
||||
T_ReceiverefDistributCourierDetailUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiverefDistributCourierDetailID = {$v['idx']}
|
||||
";
|
||||
//echo $query;
|
||||
$savedetail = $this->db_onedev->query($query);
|
||||
}
|
||||
}
|
||||
|
||||
$totaldp = $this->db_onedev->query("SELECT SUM(T_ReceiveReferencePatientDPAmount) as totaldp
|
||||
FROM t_receiverefdistributcourierdetail
|
||||
JOIN t_receivereferencedeliverydetail ON T_ReceiverefDistributCourierDetailT_ReceiveReferenceDeliveryID = T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceDeliveryID AND T_ReceiveReferenceDeliveryDetailIsActive = 'Y'
|
||||
JOIN t_receivereferenceheader ON T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceHeaderID = T_ReceiveReferenceHeaderID
|
||||
JOIN t_receivereferencepatient ON T_ReceiveReferenceDeliveryDetailT_ReceiveReferencePatientID = T_ReceiveReferencePatientID
|
||||
WHERE
|
||||
T_ReceiverefDistributCourierDetailT_ReceiverefDistributCourierID = {$last_id} AND T_ReceiverefDistributCourierDetailIsActive = 'Y'")->row()->totaldp;
|
||||
|
||||
$query ="UPDATE t_receiverefdistributcourier SET
|
||||
T_ReceiverefDistributCourierDPAmount = '{$totaldp}',
|
||||
T_ReceiverefDistributCourierUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiverefDistributCourierID = {$last_id}
|
||||
";
|
||||
//echo $query;
|
||||
$savedetail = $this->db_onedev->query($query);
|
||||
|
||||
}
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK'),
|
||||
"numbering" => $numbering,
|
||||
"id" => $last_id
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function deletetrx(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
|
||||
$query ="UPDATE t_receiverefdistributcourier SET
|
||||
T_ReceiverefDistributCourierIsActive = 'N',
|
||||
T_ReceiverefDistributCourierUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiverefDistributCourierID = {$prm['trx_id']}
|
||||
";
|
||||
//echo $query;
|
||||
$saveheader = $this->db_onedev->query($query);
|
||||
$last_id = $prm['trx_id'];
|
||||
|
||||
|
||||
$query ="UPDATE t_receiverefdistributcourierdetail SET
|
||||
T_ReceiverefDistributCourierDetailIsActive = 'N',
|
||||
T_ReceiverefDistributCourierDetailUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiverefDistributCourierDetailT_ReceiverefDistributCourierID = {$prm['trx_id']}
|
||||
";
|
||||
//echo $query;
|
||||
$savedetail = $this->db_onedev->query($query);
|
||||
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK'),
|
||||
"numbering" => $prm['trx_numbering'],
|
||||
"id" => $prm['trx_id']
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
function doaction(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
|
||||
if($prm['act'] == 'RELEASEC'){
|
||||
$sql = "UPDATE t_receiverefdistributcourier SET
|
||||
T_ReceiverefDistributCourierStatus = '{$prm['act']}',
|
||||
T_ReceiverefDistributCourierNote = '{$prm['trx_note']}',
|
||||
T_ReceiverefDistributCourierUserID = {$userid}
|
||||
WHERE
|
||||
T_ReceiverefDistributCourierID = {$prm['trx']['trx_id']}
|
||||
";
|
||||
$this->db_onedev->query($sql);
|
||||
|
||||
$details = $prm['details'];
|
||||
|
||||
foreach($details as $k => $v){
|
||||
$querystatus = "SELECT COUNT(*) as exist FROM g_receivereferenceheaderstatuslog WHERE G_ReceiveReferenceHeaderStatusLogIsActive = 'Y' AND G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID = '{$v['T_ReceiverefDistributCourierDetailT_ReceiveReferenceHeaderID']}' AND G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID = '5'";
|
||||
$exist_id = $this->db_onedev->query($querystatus)->row()->exist;
|
||||
$queryheaderid = "SELECT T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceHeaderID as headerid FROM t_receiverefdistributcourierdetail
|
||||
LEFT JOIN t_receivereferencedelivery ON T_ReceiverefDistributCourierDetailT_ReceiveReferenceDeliveryID = T_ReceiveReferenceDeliveryID
|
||||
LEFT JOIN t_receivereferencedeliverydetail ON T_ReceiveReferenceDeliveryID = T_ReceiveReferenceDeliveryDetailT_ReceiveReferenceDeliveryID";
|
||||
$header_id = $this->db_onedev->query($queryheaderid)->row()->headerid;
|
||||
if($exist_id == 0){
|
||||
$querylog ="INSERT INTO g_receivereferenceheaderstatuslog (
|
||||
G_ReceiveReferenceHeaderStatusLogDate,
|
||||
G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_UserID,
|
||||
G_ReceiveReferenceHeaderStatusLogUserID,
|
||||
G_ReceiveReferenceHeaderStatusLogCreated,
|
||||
G_ReceiveReferenceHeaderStatusLogLastUpdated
|
||||
)
|
||||
VALUES(
|
||||
NOW(),
|
||||
'{$header_id}',
|
||||
'6',
|
||||
'{$userid}',
|
||||
'{$userid}',
|
||||
NOW(),
|
||||
NOW()
|
||||
)";
|
||||
//echo $querylog;
|
||||
$insert_new_log = $this->db_onedev->query($querylog);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if($prm['act'] === 'RCVLAB' ){
|
||||
$sql = "UPDATE t_receiverefdistributcourier SET
|
||||
T_ReceiverefDistributCourierStatus = '{$prm['act']}',
|
||||
T_ReceiverefDistributCourierNote = '{$prm['trx_note']}',
|
||||
T_ReceiverefDistributCourierUserID = {$userid}
|
||||
WHERE
|
||||
T_ReceiverefDistributCourierID = {$prm['trx']['trx_id']}
|
||||
";
|
||||
$this->db_onedev->query($sql);
|
||||
|
||||
$details = $prm['details'];
|
||||
foreach($details as $k => $v){
|
||||
$querystatus = "SELECT COUNT(*) as exist FROM g_receivereferenceheaderstatuslog WHERE G_ReceiveReferenceHeaderStatusLogIsActive = 'Y' AND G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID = '{$v['T_ReceiverefDistributCourierDetailT_ReceiveReferenceHeaderID']}' AND G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID = '6'";
|
||||
$exist_id = $this->db_onedev->query($querystatus)->row()->exist;
|
||||
if($exist_id == 0){
|
||||
$querylog ="INSERT INTO g_receivereferenceheaderstatuslog (
|
||||
G_ReceiveReferenceHeaderStatusLogDate,
|
||||
G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_UserID,
|
||||
G_ReceiveReferenceHeaderStatusLogUserID,
|
||||
G_ReceiveReferenceHeaderStatusLogCreated,
|
||||
G_ReceiveReferenceHeaderStatusLogLastUpdated
|
||||
)
|
||||
VALUES(
|
||||
NOW(),
|
||||
'{$v['T_ReceiverefDistributCourierDetailT_ReceiveReferenceHeaderID']}',
|
||||
'6',
|
||||
'{$userid}',
|
||||
'{$userid}',
|
||||
NOW(),
|
||||
NOW()
|
||||
)";
|
||||
//echo $querylog;
|
||||
$insert_new_log = $this->db_onedev->query($querylog);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
if($prm['act'] === 'DONE'){
|
||||
$details = $prm['details'];
|
||||
$count_n = 0;
|
||||
foreach($details as $k => $v){
|
||||
if($v['flag_image_receive'] === 'N'){
|
||||
$count_n++;
|
||||
}
|
||||
if($v['flag_result_receive'] === 'N'){
|
||||
$count_n++;
|
||||
}
|
||||
$query ="UPDATE t_receiverefdistributcourierdetail SET
|
||||
T_ReceiverefDistributCourierDetailFlagReceiveImage = '{$v['flag_image_receive']}',
|
||||
T_ReceiverefDistributCourierDetailFlagReceiveResult = '{$v['flag_result_receive']}',
|
||||
T_ReceiverefDistributCourierDetailUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiverefDistributCourierDetailID = {$v['idx']}
|
||||
";
|
||||
//echo $query;
|
||||
$savedetail = $this->db_onedev->query($query);
|
||||
}
|
||||
$status = 'DONE';
|
||||
if($count_n > 0){
|
||||
$status = 'PARTDONE';
|
||||
}
|
||||
$sql = "UPDATE t_receiverefdistributcourier SET
|
||||
T_ReceiverefDistributCourierStatus = '{$status}',
|
||||
T_ReceiverefDistributCourierNote = '{$prm['trx_note']}',
|
||||
T_ReceiverefDistributCourierUserID = {$userid}
|
||||
WHERE
|
||||
T_ReceiverefDistributCourierID = {$prm['trx']['trx_id']}
|
||||
";
|
||||
$this->db_onedev->query($sql);
|
||||
}
|
||||
|
||||
if($prm['act'] == 'FORCEDONE'){
|
||||
$sql = "UPDATE t_receiverefdistributcourier SET
|
||||
T_ReceiverefDistributCourierNote = '{$prm['trx_note']}',
|
||||
T_ReceiverefDistributCourierStatus = 'DONE',
|
||||
T_ReceiverefDistributCourierUserID = {$userid}
|
||||
WHERE
|
||||
T_ReceiverefDistributCourierID = {$prm['trx']['trx_id']}
|
||||
";
|
||||
$this->db_onedev->query($sql);
|
||||
}
|
||||
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,754 @@
|
||||
<?php
|
||||
class Register extends MY_Controller
|
||||
{
|
||||
var $db_onedev;
|
||||
public function index()
|
||||
{
|
||||
echo "Register API";
|
||||
}
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
}
|
||||
|
||||
public function search()
|
||||
{
|
||||
$prm = $this->sys_input;
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$norm = $prm["snorm"];
|
||||
$nama = $prm["nama"];
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
$sql = $this->db_onedev->query("SELECT M_UserM_CompanyID, M_CompanyName, M_MouID, M_MouName FROM m_user
|
||||
LEFT JOIN m_company ON M_UserM_CompanyID = M_CompanyID
|
||||
LEFT JOIN m_mou ON M_CompanyID = M_MouM_CompanyID AND M_MouIsActive = 'Y' WHERE M_UserID = $userid
|
||||
ORDER BY M_MouID DESC LIMIT 1")->row();
|
||||
$companyid = $sql->M_UserM_CompanyID;
|
||||
$companyname = $sql->M_CompanyName;
|
||||
$mouid = $sql->M_MouID;
|
||||
$mouname = $sql->M_MouName;
|
||||
//echo $companyid;
|
||||
|
||||
$sql_where = "WHERE T_ReceiveReferenceHeaderIsActive = 'Y' AND T_ReceiveReferenceHeaderM_CompanyID = $companyid";
|
||||
$sql_param = array();
|
||||
if ($nama != "") {
|
||||
if ($sql_where != "") {
|
||||
$sql_where .=" and ";
|
||||
}
|
||||
$sql_where .= " M_CompanyName like ? ";
|
||||
$sql_param[] = "%$nama%";
|
||||
}
|
||||
if ($norm != "") {
|
||||
if ($sql_where != "") {
|
||||
$sql_where .=" and ";
|
||||
}
|
||||
$sql_where .= " T_ReceiveReferenceHeaderNumber like ? ";
|
||||
$sql_param[] = "%$norm%";
|
||||
}
|
||||
|
||||
//if ($sql_where != "") $sql_where .= " and ";
|
||||
|
||||
// Order masih dalam status registrasi
|
||||
//$sql_where .= " M_PatientIsActive = 'Y' ";
|
||||
|
||||
|
||||
$sql = " SELECT count(*) as total
|
||||
FROM t_receivereferenceheader
|
||||
JOIN m_company ON T_ReceiveReferenceHeaderM_CompanyID = M_CompanyID
|
||||
LEFT JOIN m_mou ON T_ReceiveReferenceHeaderM_MouID = M_MouID
|
||||
$sql_where
|
||||
";
|
||||
//echo $sql;
|
||||
$query = $this->db_onedev->query($sql, $sql_param);
|
||||
|
||||
$tot_count = 0;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
} else {
|
||||
$this->sys_error_db("t_receivereferenceheader count", $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "SELECT
|
||||
T_ReceiveReferenceHeaderID,
|
||||
T_ReceiveReferenceHeaderM_CompanyID,
|
||||
M_CompanyID,
|
||||
M_CompanyName,
|
||||
M_MouIsBill,
|
||||
M_MouMinDP,
|
||||
M_MouIsAgingOnHold,
|
||||
M_MouIsAgingOnHoldNote,
|
||||
T_ReceiveReferenceHeaderM_MouID,
|
||||
M_MouName,
|
||||
DATE_FORMAT(T_ReceiveReferenceHeaderDate,'%d-%m-%Y') as T_ReceiveReferenceHeaderDate,
|
||||
DATE_FORMAT(T_ReceiveReferenceHeaderDate,'%d%m%Y') as sdate,
|
||||
T_ReceiveReferenceHeaderNumber,
|
||||
T_ReceiveReferenceHeaderNote,
|
||||
T_ReceiveReferenceHeaderIsSent,
|
||||
T_ReceiveReferenceHeaderSentDate,
|
||||
T_ReceiveReferenceHeaderIsConfirm,
|
||||
T_ReceiveReferenceHeaderConfirmDate,
|
||||
(SELECT `fn_receivereference_get_status`(T_ReceiveReferenceHeaderID)) as aksi
|
||||
FROM t_receivereferenceheader
|
||||
JOIN m_company ON T_ReceiveReferenceHeaderM_CompanyID = M_CompanyID
|
||||
LEFT JOIN m_mou ON T_ReceiveReferenceHeaderM_MouID = M_MouID
|
||||
$sql_where
|
||||
ORDER BY T_ReceiveReferenceHeaderNumber DESC
|
||||
limit 0,$tot_count";
|
||||
|
||||
$query = $this->db_onedev->query($sql, $sql_param);
|
||||
$rows = $query->result_array();
|
||||
if($rows){
|
||||
foreach($rows as $k => $v){
|
||||
$x = $this->db_onedev->query("select concat( '[', group_concat( json_object('id', G_ReceiveReferenceHeaderStatusLogID, 'status', M_StatusReferenceDisplayName, 'waktu', DATE_FORMAT(G_ReceiveReferenceHeaderStatusLogCreated,'%d-%m-%Y %H:%i'), 'user' , M_UserUsername) separator ',' ), ']' )
|
||||
as n from g_receivereferenceheaderstatuslog
|
||||
LEFT JOIN m_statusreference ON G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID = M_StatusReferenceID
|
||||
LEFT JOIN m_user ON G_ReceiveReferenceHeaderStatusLogM_UserID = M_UserID
|
||||
LEFT JOIN m_staff ON M_UserM_StaffID = M_StaffID
|
||||
WHERE G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID = '{$v['T_ReceiveReferenceHeaderID']}' AND G_ReceiveReferenceHeaderStatusLogIsActive = 'Y'")->row();
|
||||
$rows[$k]['statuss'] = json_decode($x->n);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//$this->_add_address($rows);
|
||||
$result = array("total" => $tot_count, "records" => $rows, "sql"=> $this->db_onedev->last_query(),"companyid" => $companyid,"companyname" =>$companyname,"mouid"=>$mouid,"mouname"=>$mouname);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
function searchcompany(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
|
||||
$max_rst = 12;
|
||||
$tot_count =0;
|
||||
|
||||
$q = [
|
||||
'search' => '%'
|
||||
];
|
||||
|
||||
if ($prm['search'] != '')
|
||||
{
|
||||
$q['search'] = "%{$prm['search']}%";
|
||||
}
|
||||
|
||||
// QUERY TOTAL
|
||||
$sql = "SELECT count(*) as total
|
||||
FROM m_company
|
||||
WHERE
|
||||
M_CompanyName like ?
|
||||
AND M_CompanyIsActive = 'Y'";
|
||||
$query = $this->db_onedev->query($sql,$q['search']);
|
||||
//echo $query;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("m_company count",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "
|
||||
SELECT *
|
||||
FROM m_company
|
||||
WHERE
|
||||
M_CompanyName like ?
|
||||
AND M_CompanyIsActive = 'Y'
|
||||
ORDER BY M_CompanyName DESC
|
||||
";
|
||||
$query = $this->db_onedev->query($sql, array($q['search']));
|
||||
|
||||
if ($query) {
|
||||
$rows = $query->result_array();
|
||||
//echo $this->db_onedev->last_query();
|
||||
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
|
||||
$this->sys_ok($result);
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("m_company rows",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
function getmou(){
|
||||
$prm = $this->sys_input;
|
||||
$query =" SELECT *
|
||||
FROM m_mou
|
||||
WHERE
|
||||
M_MouIsActive = 'Y' AND M_MouM_CompanyID = ? AND M_MouIsApproved = 'Y'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query,array($prm['id']))->result_array();
|
||||
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function getsexreg(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$sexid = $prm['sexid'];
|
||||
$rows = [];
|
||||
$query =" SELECT *
|
||||
FROM m_title
|
||||
JOIN m_sex ON M_TitleM_SexID = M_SexID
|
||||
WHERE
|
||||
M_TitleIsActive = 'Y'
|
||||
";
|
||||
//echo $query;
|
||||
$rows['titles'] = $this->db_onedev->query($query)->result_array();
|
||||
$query =" SELECT *
|
||||
FROM m_sex
|
||||
WHERE
|
||||
($sexid = 0 or ($sexid > 0 and M_SexID = $sexid))
|
||||
";
|
||||
//echo $query;
|
||||
$rows['sexes'] = $this->db_onedev->query($query)->result_array();
|
||||
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function save(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$pdate = date('Y-m-d',strtotime($prm['sdate']));
|
||||
$query ="UPDATE t_receivereferenceheader SET
|
||||
T_ReceiveReferenceHeaderM_MouID = '{$prm['mouid']}',
|
||||
T_ReceiveReferenceHeaderDate = '{$pdate}',
|
||||
T_ReceiveReferenceHeaderNote = '{$prm['note']}',
|
||||
T_ReceiveReferenceHeaderUserID = '{$userid}',
|
||||
T_ReceiveReferenceHeaderLastUpdated = now()
|
||||
WHERE
|
||||
T_ReceiveReferenceHeaderID = '{$prm['id']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function newreceivereference(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$pdate = date('Y-m-d',strtotime($prm['sdate']));
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
$query ="INSERT INTO t_receivereferenceheader (
|
||||
T_ReceiveReferenceHeaderM_CompanyID,
|
||||
T_ReceiveReferenceHeaderM_MouID,
|
||||
T_ReceiveReferenceHeaderDate,
|
||||
T_ReceiveReferenceHeaderNote,
|
||||
T_ReceiveReferenceHeaderUserID,
|
||||
T_ReceiveReferenceHeaderCreated
|
||||
)
|
||||
VALUES(
|
||||
'{$prm['companyid']}',
|
||||
'{$prm['mouid']}',
|
||||
'{$pdate}',
|
||||
'{$prm['note']}',
|
||||
'{$userid}',
|
||||
NOW()
|
||||
)
|
||||
";
|
||||
// echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
$last_id = $this->db_onedev->insert_id();
|
||||
|
||||
$querylog ="INSERT INTO g_receivereferenceheaderstatuslog (
|
||||
G_ReceiveReferenceHeaderStatusLogDate,
|
||||
G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_UserID,
|
||||
G_ReceiveReferenceHeaderStatusLogUserID,
|
||||
G_ReceiveReferenceHeaderStatusLogCreated,
|
||||
G_ReceiveReferenceHeaderStatusLogLastUpdated
|
||||
)
|
||||
VALUES(
|
||||
NOW(),
|
||||
'{$last_id}',
|
||||
'1',
|
||||
'{$userid}',
|
||||
'{$userid}',
|
||||
NOW(),
|
||||
NOW()
|
||||
)";
|
||||
//echo $querylog;
|
||||
$insert_new_log = $this->db_onedev->query($querylog);
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK'),
|
||||
"id" => $last_id
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function sendorder(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
|
||||
$query ="UPDATE t_receivereferenceheader SET
|
||||
T_ReceiveReferenceHeaderIsSent = 'Y',
|
||||
T_ReceiveReferenceHeaderSentDate = now(),
|
||||
T_ReceiveReferenceHeaderUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferenceHeaderID = '{$prm['T_ReceiveReferenceHeaderID']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$querylog ="INSERT INTO g_receivereferenceheaderstatuslog (
|
||||
G_ReceiveReferenceHeaderStatusLogDate,
|
||||
G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_UserID,
|
||||
G_ReceiveReferenceHeaderStatusLogUserID,
|
||||
G_ReceiveReferenceHeaderStatusLogCreated,
|
||||
G_ReceiveReferenceHeaderStatusLogLastUpdated
|
||||
)
|
||||
VALUES(
|
||||
NOW(),
|
||||
'{$prm['T_ReceiveReferenceHeaderID']}',
|
||||
'2',
|
||||
'{$userid}',
|
||||
'{$userid}',
|
||||
NOW(),
|
||||
NOW()
|
||||
)";
|
||||
//echo $querylog;
|
||||
$insert_new_log = $this->db_onedev->query($querylog);
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function getpatient(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$query =" SELECT t_receivereferencepatient.*,
|
||||
CONCAT(T_ReceiveReferencePatientName, ' (', M_SexCode, ')') as pasienname,
|
||||
IF(T_ReceiveReferencePatientDPAmount > 0, CONCAT(FORMAT(T_ReceiveReferencePatientTotal,0),' (DP: ',FORMAT(T_ReceiveReferencePatientDPAmount,0),')'),FORMAT(T_ReceiveReferencePatientTotal,0)) as total,
|
||||
DATE_FORMAT(T_ReceiveReferencePatientDOB,'%d-%m-%Y') as T_ReceiveReferencePatientDOB,
|
||||
M_SexName,
|
||||
M_TitleName,
|
||||
'' as tes,
|
||||
'xxx' as tests,
|
||||
'' as action,
|
||||
T_ReceiveReferenceHeaderIsSent
|
||||
FROM t_receivereferencepatient
|
||||
JOIN m_sex ON T_ReceiveReferencePatientM_SexID = M_SexID
|
||||
JOIN m_title ON T_ReceiveReferencePatientM_TitleID = M_TitleID
|
||||
JOIN t_receivereferenceheader ON T_ReceiveReferencePatientT_ReceiveReferenceHeaderID = T_ReceiveReferenceHeaderID
|
||||
WHERE
|
||||
T_ReceiveReferencePatientIsActive = 'Y' AND T_ReceiveReferencePatientT_ReceiveReferenceHeaderID = ?
|
||||
GROUP BY T_ReceiveReferencePatientID
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query,array($prm['id']))->result_array();
|
||||
if($rows){
|
||||
|
||||
foreach($rows as $k => $v){
|
||||
$x = $this->db_onedev->query("select concat( '[', group_concat( json_object('id', T_ReceiveReferenceTestID, 'testname', T_ReceiveReferenceTestT_TestName, 'status', T_ReceiveReferenceTestStatus) separator ',' ), ']' )
|
||||
as n from t_receivereferencetest
|
||||
WHERE T_ReceiveReferenceTestT_ReceiveReferencePatientID = '{$v['T_ReceiveReferencePatientID']}' AND T_ReceiveReferenceTestIsActive = 'Y'")->row();
|
||||
$rows[$k]['tesx'] = json_decode($x->n);
|
||||
$rows[$k]['tests'] = $this->add_test($v['T_ReceiveReferencePatientID']);
|
||||
$rows[$k]['action'] = '<v-icon color="error" @click="deleteAddress(props.item)">delete</v-icon>';
|
||||
$rows[$k]['action'] .= '<v-icon color="primary" @click="deleteAddress(props.item)">edit</v-icon>';
|
||||
|
||||
}
|
||||
}
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function add_test($orderid){
|
||||
$query =" SELECT t_receivereferencetest.*, t_test.*,'Y' as editable, T_ReceiveReferenceTestT_TestID as xid,
|
||||
T_ReceiveReferenceTestT_TestPrice as T_PriceAmount,
|
||||
T_ReceiveReferenceTestT_TestDisc as T_PriceDisc,
|
||||
T_ReceiveReferenceTestT_TestDiscRp as T_PriceDiscRp,
|
||||
T_ReceiveReferenceTestT_TestTotal as total
|
||||
FROM t_receivereferencetest
|
||||
JOIN t_receivereferencepatient ON T_ReceiveReferenceTestT_ReceiveReferencePatientID = T_ReceiveReferencePatientID
|
||||
JOIN t_receivereferenceheader ON T_ReceiveReferencePatientT_ReceiveReferenceHeaderID = T_ReceiveReferenceHeaderID
|
||||
JOIN t_test ON T_ReceiveReferenceTestT_TestID = T_TestID
|
||||
WHERE
|
||||
T_ReceiveReferenceTestT_ReceiveReferencePatientID = {$orderid} AND T_ReceiveReferenceTestIsActive = 'Y'
|
||||
GROUP BY T_ReceiveReferenceTestID";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query)->result_array();
|
||||
if(!$rows)
|
||||
$rows = array();
|
||||
return $rows;
|
||||
}
|
||||
|
||||
function savenewpatient(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$pdob = date('Y-m-d',strtotime($prm['T_ReceiveReferencePatientDOB']));
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
$query ="INSERT INTO t_receivereferencepatient (
|
||||
T_ReceiveReferencePatientT_ReceiveReferenceHeaderID,
|
||||
T_ReceiveReferencePatientNoRef,
|
||||
T_ReceiveReferencePatientName,
|
||||
T_ReceiveReferencePatientDOB,
|
||||
T_ReceiveReferencePatientM_TitleID,
|
||||
T_ReceiveReferencePatientM_SexID,
|
||||
T_ReceiveReferencePatientUserID,
|
||||
T_ReceiveReferencePatientTotal,
|
||||
T_ReceiveReferencePatientDPPercent,
|
||||
T_ReceiveReferencePatientDPAmount,
|
||||
T_ReceiveReferencePatientCreated
|
||||
)
|
||||
VALUES(
|
||||
'{$prm['T_ReceiveReferencePatientT_ReceiveReferenceHeaderID']}',
|
||||
'{$prm['T_ReceiveReferencePatientNoRef']}',
|
||||
'{$prm['T_ReceiveReferencePatientName']}',
|
||||
'{$pdob}',
|
||||
'{$prm['T_ReceiveReferencePatientM_TitleID']}',
|
||||
'{$prm['T_ReceiveReferencePatientM_SexID']}',
|
||||
'{$userid}',
|
||||
'{$prm['T_ReceiveReferencePatientTotal']}',
|
||||
'{$prm['T_ReceiveReferencePatientDPPercent']}',
|
||||
'{$prm['T_ReceiveReferencePatientDPAmount']}',
|
||||
NOW()
|
||||
)
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
$orderpatient_id = $this->db_onedev->insert_id();
|
||||
foreach($prm['ordertests'] as $k=>$v){
|
||||
$query = "INSERT INTO t_receivereferencetest (
|
||||
T_ReceiveReferenceTestT_ReceiveReferencePatientID,
|
||||
T_ReceiveReferenceTestT_TestID,
|
||||
T_ReceiveReferenceTestT_TestCode,
|
||||
T_ReceiveReferenceTestT_TestName,
|
||||
T_ReceiveReferenceTestT_TestPrice,
|
||||
T_ReceiveReferenceTestT_TestDisc,
|
||||
T_ReceiveReferenceTestT_TestDiscRp,
|
||||
T_ReceiveReferenceTestT_TestTotal,
|
||||
T_ReceiveReferenceTestUserID,
|
||||
T_ReceiveReferenceTestCreated,
|
||||
T_ReceiveReferenceTestLastUpdated
|
||||
)
|
||||
VALUE(
|
||||
?,?,?,?,?,?,?,?,?, now(),now()
|
||||
)";
|
||||
$insert_new_test = $this->db_onedev->query($query,array(
|
||||
$orderpatient_id,
|
||||
$v['T_TestID'],
|
||||
$v['T_TestCode'],
|
||||
$v['T_TestName'],
|
||||
$v['T_PriceAmount'],
|
||||
$v['T_PriceDisc'],
|
||||
$v['T_PriceDiscRp'],
|
||||
$v['total'],
|
||||
$userid
|
||||
));
|
||||
}
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function saveeditpatient(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$order_id = $prm['T_ReceiveReferencePatientID'];
|
||||
$pdob = date('Y-m-d',strtotime($prm['T_ReceiveReferencePatientDOB']));
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
$query ="UPDATE t_receivereferencepatient SET
|
||||
T_ReceiveReferencePatientT_ReceiveReferenceHeaderID = '{$prm['T_ReceiveReferencePatientT_ReceiveReferenceHeaderID']}',
|
||||
T_ReceiveReferencePatientNoRef = '{$prm['T_ReceiveReferencePatientNoRef']}',
|
||||
T_ReceiveReferencePatientName = '{$prm['T_ReceiveReferencePatientName']}',
|
||||
T_ReceiveReferencePatientDOB = '{$pdob}',
|
||||
T_ReceiveReferencePatientM_TitleID = '{$prm['T_ReceiveReferencePatientM_TitleID']}',
|
||||
T_ReceiveReferencePatientM_SexID = '{$prm['T_ReceiveReferencePatientM_SexID']}',
|
||||
T_ReceiveReferencePatientTotal = '{$prm['T_ReceiveReferencePatientTotal']}',
|
||||
T_ReceiveReferencePatientDPPercent = '{$prm['T_ReceiveReferencePatientDPPercent']}',
|
||||
T_ReceiveReferencePatientDPAmount = '{$prm['T_ReceiveReferencePatientDPAmount']}',
|
||||
T_ReceiveReferencePatientUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferencePatientID = '{$prm['T_ReceiveReferencePatientID']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
foreach($prm['ordertests'] as $k=>$v){
|
||||
if($v['xid'] == 0 || $v['xid'] == '0'){
|
||||
$query = "INSERT INTO t_receivereferencetest (
|
||||
T_ReceiveReferenceTestT_ReceiveReferencePatientID,
|
||||
T_ReceiveReferenceTestT_TestID,
|
||||
T_ReceiveReferenceTestT_TestCode,
|
||||
T_ReceiveReferenceTestT_TestName,
|
||||
T_ReceiveReferenceTestT_TestPrice,
|
||||
T_ReceiveReferenceTestUserID,
|
||||
T_ReceiveReferenceTestCreated,
|
||||
T_ReceiveReferenceTestLastUpdated
|
||||
)
|
||||
VALUE(
|
||||
?,?,?,?,?,?,now(),now()
|
||||
)";
|
||||
$insert_new_test = $this->db_onedev->query($query,array(
|
||||
$order_id,
|
||||
$v['T_TestID'],
|
||||
$v['T_TestCode'],
|
||||
$v['T_TestName'],
|
||||
$v['total'],
|
||||
$userid
|
||||
));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(isset($prm['deleted_ordertests'])){
|
||||
foreach($prm['deleted_ordertests'] as $i=>$del){
|
||||
|
||||
$query = "UPDATE t_receivereferencetest SET
|
||||
T_ReceiveReferenceTestIsActive = 'N',
|
||||
T_ReceiveReferenceTestUserID = '{$userid}',
|
||||
T_ReceiveReferenceTestLastUpdated = now()
|
||||
WHERE
|
||||
T_ReceiveReferenceTestID = ?
|
||||
";
|
||||
$delete_exist_test = $this->db_onedev->query($query,array($del['T_ReceiveReferenceTestID'],));
|
||||
}
|
||||
}
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function delete(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
$query ="UPDATE t_receivereferenceheader SET
|
||||
T_ReceiveReferenceHeaderIsActive = 'N',
|
||||
T_ReceiveReferenceHeaderUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferenceHeaderID = '{$prm['T_ReceiveReferenceHeaderID']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
$query ="UPDATE t_receivereferencepatient SET
|
||||
T_ReceiveReferencePatientIsActive = 'N',
|
||||
T_ReceiveReferencePatientUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferencePatientT_ReceiveReferenceHeaderID = '{$prm['T_ReceiveReferenceHeaderID']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function deletepatient(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
$query ="UPDATE t_receivereferencepatient SET
|
||||
T_ReceiveReferencePatientIsActive = 'N',
|
||||
T_ReceiveReferencePatientUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferencePatientID = '{$prm['T_ReceiveReferencePatientID']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$query ="UPDATE t_receivereferencetest SET
|
||||
T_ReceiveReferenceTestIsActive = 'N',
|
||||
T_ReceiveReferenceTestUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferenceTestT_ReceiveReferencePatientID = '{$prm['T_ReceiveReferencePatientID']}' AND T_ReceiveReferenceTestIsActive = 'Y'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function searchtest(){
|
||||
$prm = $this->sys_input;
|
||||
|
||||
$max_rst = 12;
|
||||
$tot_count = 0;
|
||||
|
||||
$q = [
|
||||
'search' => '%'
|
||||
];
|
||||
|
||||
if ($prm['search'] != '')
|
||||
{
|
||||
$q['search'] = "%{$prm['search']}%";
|
||||
}
|
||||
|
||||
$mou_id = $prm['mouid'];
|
||||
// QUERY TOTAL
|
||||
$sql = "SELECT count(*) as total
|
||||
FROM t_test
|
||||
JOIN t_price ON T_PriceT_TestID = T_TestID AND T_PriceIsCito = 'N' AND T_PriceM_MouID = '{$mou_id}'
|
||||
JOIN m_mou ON M_MouID = '{$mou_id}' AND M_MouIsApproved = 'Y'
|
||||
WHERE
|
||||
T_TestName like ? AND
|
||||
T_TestIsActive = 'Y'
|
||||
ORDER BY T_TestName ASC";
|
||||
$query = $this->db_onedev->query($sql,$q['search']);
|
||||
//echo $query;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("test count",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "
|
||||
SELECT 'Y' as editable, 0 as xid, T_TestID, T_TestCode, T_TestName, T_PriceAmount, T_PriceDisc, T_PriceDiscRp, T_PriceAmount - ((T_PriceDisc/100) * T_PriceAmount) - T_PriceDiscRp as total,
|
||||
M_CompanyID,'N' as M_CompanyIsBill, 0 as M_CompanyMinDP
|
||||
FROM one.t_test
|
||||
JOIN one.t_price ON T_PriceT_TestID = T_TestID AND T_PriceIsCito = 'N' AND T_PriceM_MouID = '{$mou_id}'
|
||||
JOIN one.m_mou ON M_MouID = '{$mou_id}'
|
||||
JOIN one.m_company ON M_MouM_CompanyID = M_CompanyID
|
||||
WHERE
|
||||
T_TestName like ? AND
|
||||
T_TestIsActive = 'Y'
|
||||
ORDER BY T_TestName ASC
|
||||
";
|
||||
$query = $this->db_onedev->query($sql, array($q['search']));
|
||||
|
||||
if ($query) {
|
||||
$rows = $query->result_array();
|
||||
//echo $this->db_onedev->last_query();
|
||||
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
|
||||
$this->sys_ok($result);
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("test rows",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
function searchtestfavorit(){
|
||||
$prm = $this->sys_input;
|
||||
|
||||
$max_rst = 12;
|
||||
$tot_count = 0;
|
||||
|
||||
|
||||
$mou_id = $prm['mouid'];
|
||||
// QUERY TOTAL
|
||||
$sql = "SELECT count(*) as total
|
||||
FROM t_test
|
||||
JOIN t_price ON T_PriceT_TestID = T_TestID AND T_PriceIsCito = 'N' AND T_PriceM_MouID = '{$mou_id}'
|
||||
JOIN t_favorite ON T_TestID = T_FavoriteT_TestID AND T_FavoriteIsActive = 'Y'
|
||||
WHERE
|
||||
T_TestIsActive = 'Y'
|
||||
ORDER BY T_TestName ASC";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
//echo $query;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("test count",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "
|
||||
SELECT 'Y' as editable, 0 as xid, T_TestID, T_TestCode, T_TestName, T_PriceAmount, T_PriceDisc, T_PriceDiscRp, T_PriceAmount - ((T_PriceDisc/100) * T_PriceAmount) - T_PriceDiscRp as total,
|
||||
M_CompanyID,'N' as M_CompanyIsBill, 0 as M_CompanyMinDP
|
||||
FROM one.t_test
|
||||
JOIN one.t_price ON T_PriceT_TestID = T_TestID AND T_PriceIsCito = 'N' AND T_PriceM_MouID = '{$mou_id}'
|
||||
JOIN one.m_mou ON M_MouID = '{$mou_id}'
|
||||
JOIN one.m_company ON M_MouM_CompanyID = M_CompanyID
|
||||
JOIN t_favorite ON T_TestID = T_FavoriteT_TestID AND T_FavoriteIsActive = 'Y'
|
||||
WHERE
|
||||
T_TestIsActive = 'Y'
|
||||
ORDER BY T_TestName ASC
|
||||
LIMIT 0,20
|
||||
";
|
||||
$query = $this->db_onedev->query($sql);
|
||||
|
||||
if ($query) {
|
||||
$rows = $query->result_array();
|
||||
//echo $this->db_onedev->last_query();
|
||||
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
|
||||
$this->sys_ok($result);
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("test rows",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,654 @@
|
||||
<?php
|
||||
class Result extends MY_Controller
|
||||
{
|
||||
var $db_onedev;
|
||||
public function index()
|
||||
{
|
||||
echo "Result API";
|
||||
}
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->db_onedev = $this->load->database("onedev", true);
|
||||
}
|
||||
|
||||
public function search()
|
||||
{
|
||||
$prm = $this->sys_input;
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$norm = $prm["snorm"];
|
||||
$nama = $prm["nama"];
|
||||
|
||||
// echo $norm;
|
||||
|
||||
$sql_where = "WHERE T_ReceiveReferenceHeaderIsActive = 'Y' ";
|
||||
$sql_param = array();
|
||||
if ($nama != "") {
|
||||
if ($sql_where != "") {
|
||||
$sql_where .=" and ";
|
||||
}
|
||||
$sql_where .= " M_CompanyName like ? ";
|
||||
$sql_param[] = "%$nama%";
|
||||
}
|
||||
if ($norm != "") {
|
||||
if ($sql_where != "") {
|
||||
$sql_where .=" and ";
|
||||
}
|
||||
$sql_where .= " T_ReceiveReferenceHeaderNumber like ? ";
|
||||
$sql_param[] = "%$norm%";
|
||||
}
|
||||
|
||||
//if ($sql_where != "") $sql_where .= " and ";
|
||||
|
||||
// Order masih dalam status registrasi
|
||||
//$sql_where .= " M_PatientIsActive = 'Y' ";
|
||||
|
||||
|
||||
$sql = " SELECT count(*) as total
|
||||
FROM t_receivereferenceheader
|
||||
JOIN m_company ON T_ReceiveReferenceHeaderM_CompanyID = M_CompanyID
|
||||
LEFT JOIN m_mou ON T_ReceiveReferenceHeaderM_MouID = M_MouID
|
||||
$sql_where
|
||||
";
|
||||
//echo $sql;
|
||||
$query = $this->db_onedev->query($sql, $sql_param);
|
||||
|
||||
$tot_count = 0;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
} else {
|
||||
$this->sys_error_db("t_receivereferenceheader count", $this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "SELECT
|
||||
T_ReceiveReferenceHeaderID,
|
||||
T_ReceiveReferenceHeaderM_CompanyID,
|
||||
M_CompanyName,
|
||||
T_ReceiveReferenceHeaderM_MouID,
|
||||
M_MouName,
|
||||
DATE_FORMAT(T_ReceiveReferenceHeaderDate,'%d-%m-%Y') as T_ReceiveReferenceHeaderDate,
|
||||
T_ReceiveReferenceHeaderNumber,
|
||||
T_ReceiveReferenceHeaderNote,
|
||||
T_ReceiveReferenceHeaderIsSent,
|
||||
T_ReceiveReferenceHeaderSentDate,
|
||||
T_ReceiveReferenceHeaderIsConfirm,
|
||||
T_ReceiveReferenceHeaderConfirmDate,
|
||||
(SELECT `fn_receivereference_get_status`(T_ReceiveReferenceHeaderID)) as aksi
|
||||
FROM t_receivereferenceheader
|
||||
JOIN m_company ON T_ReceiveReferenceHeaderM_CompanyID = M_CompanyID
|
||||
LEFT JOIN m_mou ON T_ReceiveReferenceHeaderM_MouID = M_MouID
|
||||
$sql_where
|
||||
ORDER BY T_ReceiveReferenceHeaderNumber DESC
|
||||
limit 0,$tot_count";
|
||||
|
||||
$query = $this->db_onedev->query($sql, $sql_param);
|
||||
$rows = $query->result_array();
|
||||
if($rows){
|
||||
foreach($rows as $k => $v){
|
||||
$x = $this->db_onedev->query("select concat( '[', group_concat( json_object('id', G_ReceiveReferenceHeaderStatusLogID, 'status', M_StatusReferenceDisplayName, 'waktu', DATE_FORMAT(G_ReceiveReferenceHeaderStatusLogCreated,'%d-%m-%Y %H:%i'), 'user' , M_UserUsername) separator ',' ), ']' )
|
||||
as n from g_receivereferenceheaderstatuslog
|
||||
LEFT JOIN m_statusreference ON G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID = M_StatusReferenceID
|
||||
LEFT JOIN m_user ON G_ReceiveReferenceHeaderStatusLogM_UserID = M_UserID
|
||||
LEFT JOIN m_staff ON M_UserM_StaffID = M_StaffID
|
||||
WHERE G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID = '{$v['T_ReceiveReferenceHeaderID']}' AND G_ReceiveReferenceHeaderStatusLogIsActive = 'Y'")->row();
|
||||
$rows[$k]['statuss'] = json_decode($x->n);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//$this->_add_address($rows);
|
||||
$result = array("total" => $tot_count, "records" => $rows, "sql"=> $this->db_onedev->last_query());
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
|
||||
}
|
||||
|
||||
function searchcompany(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
|
||||
$max_rst = 12;
|
||||
$tot_count =0;
|
||||
|
||||
$q = [
|
||||
'search' => '%'
|
||||
];
|
||||
|
||||
if ($prm['search'] != '')
|
||||
{
|
||||
$q['search'] = "%{$prm['search']}%";
|
||||
}
|
||||
|
||||
// QUERY TOTAL
|
||||
$sql = "SELECT count(*) as total
|
||||
FROM m_company
|
||||
WHERE
|
||||
M_CompanyName like ?
|
||||
AND M_CompanyIsActive = 'Y' AND M_CompanyIsLabFrom = 'Y'";
|
||||
$query = $this->db_onedev->query($sql,$q['search']);
|
||||
//echo $query;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("m_company count",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "
|
||||
SELECT *
|
||||
FROM m_company
|
||||
WHERE
|
||||
M_CompanyName like ?
|
||||
AND M_CompanyIsActive = 'Y' AND M_CompanyIsLabFrom = 'Y'
|
||||
ORDER BY M_CompanyName DESC
|
||||
";
|
||||
$query = $this->db_onedev->query($sql, array($q['search']));
|
||||
|
||||
if ($query) {
|
||||
$rows = $query->result_array();
|
||||
//echo $this->db_onedev->last_query();
|
||||
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
|
||||
$this->sys_ok($result);
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("m_company rows",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
function getmou(){
|
||||
$prm = $this->sys_input;
|
||||
$query =" SELECT *
|
||||
FROM m_mou
|
||||
WHERE
|
||||
M_MouIsActive = 'Y' AND M_MouM_CompanyID = ?
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query,array($prm['id']))->result_array();
|
||||
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function getsexreg(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$rows = [];
|
||||
$query =" SELECT *
|
||||
FROM m_sex
|
||||
WHERE
|
||||
M_SexIsActive = 'Y'
|
||||
";
|
||||
//echo $query;
|
||||
$rows['sexes'] = $this->db_onedev->query($query)->result_array();
|
||||
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function save(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$pdob = date('Y-m-d',strtotime($prm['M_PatientDOB']));
|
||||
$query ="UPDATE m_patient SET
|
||||
M_PatientM_TitleID = '{$prm['M_PatientM_TitleID']}',
|
||||
M_PatientName = '{$prm['M_PatientName']}',
|
||||
M_PatientDOB = '{$pdob}',
|
||||
M_PatientM_SexID = '{$prm['M_PatientM_SexID']}',
|
||||
M_PatientM_ReligionID = '{$prm['M_PatientM_ReligionID']}',
|
||||
M_PatientEmail = '{$prm['M_PatientEmail']}',
|
||||
M_PatientHP = '{$prm['M_PatientHP']}',
|
||||
M_PatientPhone = '{$prm['M_PatientPhone']}',
|
||||
M_PatientM_IdTypeID = '{$prm['M_PatientM_IdTypeID']}',
|
||||
M_PatientIDNumber = '{$prm['M_PatientIDNumber']}',
|
||||
M_PatientNote = '{$prm['M_PatientNote']}'
|
||||
WHERE
|
||||
M_PatientID = '{$prm['M_PatientID']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function newreceivereference(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$pdate = date('Y-m-d',strtotime($prm['sdate']));
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
$query ="INSERT INTO t_receivereferenceheader (
|
||||
T_ReceiveReferenceHeaderM_CompanyID,
|
||||
T_ReceiveReferenceHeaderM_MouID,
|
||||
T_ReceiveReferenceHeaderDate,
|
||||
T_ReceiveReferenceHeaderNote,
|
||||
T_ReceiveReferenceHeaderUserID,
|
||||
T_ReceiveReferenceHeaderCreated
|
||||
)
|
||||
VALUES(
|
||||
'{$prm['companyid']}',
|
||||
'{$prm['mouid']}',
|
||||
'{$pdate}',
|
||||
'{$prm['note']}',
|
||||
'{$userid}',
|
||||
NOW()
|
||||
)
|
||||
";
|
||||
// echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
$last_id = $this->db_onedev->insert_id();
|
||||
|
||||
$querylog ="INSERT INTO g_receivereferenceheaderstatuslog (
|
||||
G_ReceiveReferenceHeaderStatusLogDate,
|
||||
G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_UserID,
|
||||
G_ReceiveReferenceHeaderStatusLogUserID,
|
||||
G_ReceiveReferenceHeaderStatusLogCreated,
|
||||
G_ReceiveReferenceHeaderStatusLogLastUpdated
|
||||
)
|
||||
VALUES(
|
||||
NOW(),
|
||||
'{$last_id}',
|
||||
'1',
|
||||
'{$userid}',
|
||||
'{$userid}',
|
||||
NOW(),
|
||||
NOW()
|
||||
)";
|
||||
//echo $querylog;
|
||||
$insert_new_log = $this->db_onedev->query($querylog);
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK'),
|
||||
"id" => $last_id
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function sendorder(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
|
||||
$query ="UPDATE t_receivereferenceheader SET
|
||||
T_ReceiveReferenceHeaderIsSent = 'Y',
|
||||
T_ReceiveReferenceHeaderSentDate = now(),
|
||||
T_ReceiveReferenceHeaderUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferenceHeaderID = '{$prm['T_ReceiveReferenceHeaderID']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$querylog ="INSERT INTO g_receivereferenceheaderstatuslog (
|
||||
G_ReceiveReferenceHeaderStatusLogDate,
|
||||
G_ReceiveReferenceHeaderStatusLogT_ReceiveReferenceHeaderID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_StatusReferenceID,
|
||||
G_ReceiveReferenceHeaderStatusLogM_UserID,
|
||||
G_ReceiveReferenceHeaderStatusLogUserID,
|
||||
G_ReceiveReferenceHeaderStatusLogCreated,
|
||||
G_ReceiveReferenceHeaderStatusLogLastUpdated
|
||||
)
|
||||
VALUES(
|
||||
NOW(),
|
||||
'{$prm['T_ReceiveReferenceHeaderID']}',
|
||||
'2',
|
||||
'{$userid}',
|
||||
'{$userid}',
|
||||
NOW(),
|
||||
NOW()
|
||||
)";
|
||||
//echo $querylog;
|
||||
$insert_new_log = $this->db_onedev->query($querylog);
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function getpatient(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$query =" SELECT t_receivereferencepatient.*,
|
||||
CONCAT(T_ReceiveReferencePatientName, ' (', IF(M_SexCode = 'F','P','L'), ')') as pasienname,
|
||||
IF(T_ReceiveReferencePatientDPAmount > 0, CONCAT(FORMAT(T_ReceiveReferencePatientTotal,0),' (DP: ',FORMAT(T_ReceiveReferencePatientDPAmount,0),')'),FORMAT(T_ReceiveReferencePatientTotal,0)) as total,
|
||||
DATE_FORMAT(T_ReceiveReferencePatientDOB,'%d-%m-%Y') as T_ReceiveReferencePatientDOB,
|
||||
M_SexName,
|
||||
'' as tes,
|
||||
'xxx' as tests,
|
||||
'' as action,
|
||||
T_ReceiveReferenceHeaderIsSent,
|
||||
'N' as show_detail,
|
||||
T_OrderHeaderLabNumber
|
||||
|
||||
FROM t_receivereferencepatient
|
||||
JOIN m_sex ON T_ReceiveReferencePatientM_SexID = M_SexID
|
||||
JOIN t_receivereferenceheader ON T_ReceiveReferencePatientT_ReceiveReferenceHeaderID = T_ReceiveReferenceHeaderID
|
||||
LEFT JOIN t_orderheader ON T_ReceiveReferencePatientT_OrderHeaderID = T_OrderHeaderID
|
||||
WHERE
|
||||
T_ReceiveReferencePatientIsActive = 'Y' AND T_ReceiveReferencePatientT_ReceiveReferenceHeaderID = ?
|
||||
GROUP BY T_ReceiveReferencePatientID
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query,array($prm['id']))->result_array();
|
||||
if($rows){
|
||||
|
||||
foreach($rows as $k => $v){
|
||||
$x = $this->db_onedev->query("select concat( '[', group_concat( json_object('id', T_ReceiveReferenceTestID, 'testname', T_ReceiveReferenceTestT_TestName, 'status', T_ReceiveReferenceTestStatus) separator ',' ), ']' )
|
||||
as n from t_receivereferencetest
|
||||
WHERE T_ReceiveReferenceTestT_ReceiveReferencePatientID = '{$v['T_ReceiveReferencePatientID']}' AND T_ReceiveReferenceTestIsActive = 'Y'")->row();
|
||||
$rows[$k]['tesx'] = json_decode($x->n);
|
||||
$rows[$k]['tests'] = $this->add_test($v['T_ReceiveReferencePatientID']);
|
||||
$rows[$k]['action'] = '<v-icon color="error" @click="deleteAddress(props.item)">delete</v-icon>';
|
||||
$rows[$k]['action'] .= '<v-icon color="primary" @click="deleteAddress(props.item)">edit</v-icon>';
|
||||
|
||||
}
|
||||
}
|
||||
$result = array(
|
||||
"total" => count($rows) ,
|
||||
"records" => $rows,
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function add_test($orderid){
|
||||
$query =" SELECT t_receivereferencetest.*, t_test.*,'Y' as editable, T_ReceiveReferenceTestT_TestID as xid,
|
||||
T_ReceiveReferenceTestT_TestPrice as T_PriceAmount,
|
||||
T_ReceiveReferenceTestT_TestDisc as T_PriceDisc,
|
||||
T_ReceiveReferenceTestT_TestDiscRp as T_PriceDiscRp,
|
||||
T_ReceiveReferenceTestT_TestTotal as total,
|
||||
T_ReceiveReferenceTestID as idx,
|
||||
T_OrderDetailResult,
|
||||
T_OrderDetailNote
|
||||
FROM t_receivereferencetest
|
||||
JOIN t_receivereferencepatient ON T_ReceiveReferenceTestT_ReceiveReferencePatientID = T_ReceiveReferencePatientID
|
||||
JOIN t_receivereferenceheader ON T_ReceiveReferencePatientT_ReceiveReferenceHeaderID = T_ReceiveReferenceHeaderID
|
||||
LEFT JOIN t_orderheader ON T_ReceiveReferencePatientT_OrderHeaderID = T_OrderHeaderID
|
||||
LEFT JOIN t_orderdetail ON T_OrderHeaderID = T_OrderDetailT_OrderHeaderID
|
||||
JOIN t_test ON T_ReceiveReferenceTestT_TestID = T_TestID
|
||||
WHERE
|
||||
T_ReceiveReferenceTestT_ReceiveReferencePatientID = {$orderid} AND T_ReceiveReferenceTestIsActive = 'Y'
|
||||
GROUP BY T_ReceiveReferenceTestID";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query)->result_array();
|
||||
if(!$rows)
|
||||
$rows = array();
|
||||
return $rows;
|
||||
}
|
||||
|
||||
function savenewpatient(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$pdob = date('Y-m-d',strtotime($prm['T_ReceiveReferencePatientDOB']));
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
$query ="INSERT INTO t_receivereferencepatient (
|
||||
T_ReceiveReferencePatientT_ReceiveReferenceHeaderID,
|
||||
T_ReceiveReferencePatientNoRef,
|
||||
T_ReceiveReferencePatientName,
|
||||
T_ReceiveReferencePatientDOB,
|
||||
T_ReceiveReferencePatientM_SexID,
|
||||
T_ReceiveReferencePatientUserID,
|
||||
T_ReceiveReferencePatientTotal,
|
||||
T_ReceiveReferencePatientDPPercent,
|
||||
T_ReceiveReferencePatientDPAmount,
|
||||
T_ReceiveReferencePatientCreated
|
||||
)
|
||||
VALUES(
|
||||
'{$prm['T_ReceiveReferencePatientT_ReceiveReferenceHeaderID']}',
|
||||
'{$prm['T_ReceiveReferencePatientNoRef']}',
|
||||
'{$prm['T_ReceiveReferencePatientName']}',
|
||||
'{$pdob}',
|
||||
'{$prm['T_ReceiveReferencePatientM_SexID']}',
|
||||
'{$userid}',
|
||||
'{$prm['T_ReceiveReferencePatientTotal']}',
|
||||
'{$prm['T_ReceiveReferencePatientDPPercent']}',
|
||||
'{$prm['T_ReceiveReferencePatientDPAmount']}',
|
||||
NOW()
|
||||
)
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
$orderpatient_id = $this->db_onedev->insert_id();
|
||||
foreach($prm['ordertests'] as $k=>$v){
|
||||
$query = "INSERT INTO t_receivereferencetest (
|
||||
T_ReceiveReferenceTestT_ReceiveReferencePatientID,
|
||||
T_ReceiveReferenceTestT_TestID,
|
||||
T_ReceiveReferenceTestT_TestCode,
|
||||
T_ReceiveReferenceTestT_TestName,
|
||||
T_ReceiveReferenceTestT_TestPrice,
|
||||
T_ReceiveReferenceTestT_TestDisc,
|
||||
T_ReceiveReferenceTestT_TestDiscRp,
|
||||
T_ReceiveReferenceTestT_TestTotal,
|
||||
T_ReceiveReferenceTestUserID,
|
||||
T_ReceiveReferenceTestCreated,
|
||||
T_ReceiveReferenceTestLastUpdated
|
||||
)
|
||||
VALUE(
|
||||
?,?,?,?,?,?,?,?,?, now(),now()
|
||||
)";
|
||||
$insert_new_test = $this->db_onedev->query($query,array(
|
||||
$orderpatient_id,
|
||||
$v['T_TestID'],
|
||||
$v['T_TestCode'],
|
||||
$v['T_TestName'],
|
||||
$v['T_PriceAmount'],
|
||||
$v['T_PriceDisc'],
|
||||
$v['T_PriceDiscRp'],
|
||||
$v['total'],
|
||||
$userid
|
||||
));
|
||||
}
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function saveeditpatient(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$order_id = $prm['T_ReceiveReferencePatientID'];
|
||||
$pdob = date('Y-m-d',strtotime($prm['T_ReceiveReferencePatientDOB']));
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
$query ="UPDATE t_receivereferencepatient SET
|
||||
T_ReceiveReferencePatientT_ReceiveReferenceHeaderID = '{$prm['T_ReceiveReferencePatientT_ReceiveReferenceHeaderID']}',
|
||||
T_ReceiveReferencePatientNoRef = '{$prm['T_ReceiveReferencePatientNoRef']}',
|
||||
T_ReceiveReferencePatientName = '{$prm['T_ReceiveReferencePatientName']}',
|
||||
T_ReceiveReferencePatientDOB = '{$pdob}',
|
||||
T_ReceiveReferencePatientM_SexID = '{$prm['T_ReceiveReferencePatientM_SexID']}',
|
||||
T_ReceiveReferencePatientTotal = '{$prm['T_ReceiveReferencePatientTotal']}',
|
||||
T_ReceiveReferencePatientDPPercent = '{$prm['T_ReceiveReferencePatientDPPercent']}',
|
||||
T_ReceiveReferencePatientDPAmount = '{$prm['T_ReceiveReferencePatientDPAmount']}',
|
||||
T_ReceiveReferencePatientUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferencePatientID = '{$prm['T_ReceiveReferencePatientID']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
foreach($prm['ordertests'] as $k=>$v){
|
||||
if($v['xid'] == 0 || $v['xid'] == '0'){
|
||||
$query = "INSERT INTO t_receivereferencetest (
|
||||
T_ReceiveReferenceTestT_ReceiveReferencePatientID,
|
||||
T_ReceiveReferenceTestT_TestID,
|
||||
T_ReceiveReferenceTestT_TestCode,
|
||||
T_ReceiveReferenceTestT_TestName,
|
||||
T_ReceiveReferenceTestT_TestPrice,
|
||||
T_ReceiveReferenceTestUserID,
|
||||
T_ReceiveReferenceTestCreated,
|
||||
T_ReceiveReferenceTestLastUpdated
|
||||
)
|
||||
VALUE(
|
||||
?,?,?,?,?,?,now(),now()
|
||||
)";
|
||||
$insert_new_test = $this->db_onedev->query($query,array(
|
||||
$order_id,
|
||||
$v['T_TestID'],
|
||||
$v['T_TestCode'],
|
||||
$v['T_TestName'],
|
||||
$v['total'],
|
||||
$userid
|
||||
));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(isset($prm['deleted_ordertests'])){
|
||||
foreach($prm['deleted_ordertests'] as $i=>$del){
|
||||
|
||||
$query = "UPDATE t_receivereferencetest SET
|
||||
T_ReceiveReferenceTestIsActive = 'N',
|
||||
T_ReceiveReferenceTestUserID = '{$userid}',
|
||||
T_ReceiveReferenceTestLastUpdated = now()
|
||||
WHERE
|
||||
T_ReceiveReferenceTestID = ?
|
||||
";
|
||||
$delete_exist_test = $this->db_onedev->query($query,array($del['T_ReceiveReferenceTestID'],));
|
||||
}
|
||||
}
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
|
||||
function deletepatient(){
|
||||
if (! $this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
$prm = $this->sys_input;
|
||||
$userid = $this->sys_user["M_UserID"];
|
||||
$query ="UPDATE t_receivereferencepatient SET
|
||||
T_ReceiveReferencePatientIsActive = 'N',
|
||||
T_ReceiveReferencePatientUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferencePatientID = '{$prm['T_ReceiveReferencePatientID']}'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$query ="UPDATE t_receivereferencetest SET
|
||||
T_ReceiveReferenceTestIsActive = 'N',
|
||||
T_ReceiveReferenceTestUserID = '{$userid}'
|
||||
WHERE
|
||||
T_ReceiveReferenceTestT_ReceiveReferencePatientID = '{$prm['T_ReceiveReferencePatientID']}' AND T_ReceiveReferenceTestIsActive = 'Y'
|
||||
";
|
||||
//echo $query;
|
||||
$rows = $this->db_onedev->query($query);
|
||||
|
||||
$result = array(
|
||||
"total" => 1 ,
|
||||
"records" => array('status'=>'OK')
|
||||
);
|
||||
$this->sys_ok($result);
|
||||
exit;
|
||||
}
|
||||
function searchtest(){
|
||||
$prm = $this->sys_input;
|
||||
|
||||
$max_rst = 12;
|
||||
$tot_count = 0;
|
||||
|
||||
$q = [
|
||||
'search' => '%'
|
||||
];
|
||||
|
||||
if ($prm['search'] != '')
|
||||
{
|
||||
$q['search'] = "%{$prm['search']}%";
|
||||
}
|
||||
|
||||
$mou_id = $prm['mouid'];
|
||||
// QUERY TOTAL
|
||||
$sql = "SELECT count(*) as total
|
||||
FROM t_test
|
||||
JOIN t_price ON T_PriceT_TestID = T_TestID AND T_PriceIsCito = 'N' AND T_PriceM_MouID = '{$mou_id}'
|
||||
WHERE
|
||||
T_TestName like ? AND
|
||||
T_TestIsActive = 'Y'
|
||||
ORDER BY T_TestName ASC";
|
||||
$query = $this->db_onedev->query($sql,$q['search']);
|
||||
//echo $query;
|
||||
if ($query) {
|
||||
$tot_count = $query->result_array()[0]["total"];
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("test count",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "
|
||||
SELECT 'Y' as editable, 0 as xid, T_TestID, T_TestCode, T_TestName, T_PriceAmount, T_PriceDisc, T_PriceDiscRp, T_PriceAmount - ((T_PriceDisc/100) * T_PriceAmount) - T_PriceDiscRp as total,
|
||||
M_CompanyID, M_CompanyIsBill, M_CompanyMinDP
|
||||
FROM one.t_test
|
||||
JOIN one.t_price ON T_PriceT_TestID = T_TestID AND T_PriceIsCito = 'N' AND T_PriceM_MouID = '{$mou_id}'
|
||||
JOIN one.m_mou ON M_MouID = '{$mou_id}'
|
||||
JOIN one.m_company ON M_MouM_CompanyID = M_CompanyID
|
||||
WHERE
|
||||
T_TestName like ? AND
|
||||
T_TestIsActive = 'Y'
|
||||
ORDER BY T_TestName ASC
|
||||
";
|
||||
$query = $this->db_onedev->query($sql, array($q['search']));
|
||||
|
||||
if ($query) {
|
||||
$rows = $query->result_array();
|
||||
//echo $this->db_onedev->last_query();
|
||||
$result = array("total" => $tot_count, "records" => $rows, "total_display" => sizeof($rows));
|
||||
$this->sys_ok($result);
|
||||
}
|
||||
else {
|
||||
$this->sys_error_db("test rows",$this->db_onedev);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user