612 lines
21 KiB
PHP
612 lines
21 KiB
PHP
<?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;
|
|
}
|
|
|
|
|
|
|
|
} |