Files
2026-05-25 20:01:37 +07:00

269 lines
9.8 KiB
PHP

<?php
class Updatestatusreg extends MY_Controller
{
var $db;
function __construct()
{
parent::__construct();
}
function index()
{
echo "Api: UPDATE STATUS X/R";
}
function reply($resp)
{
echo json_encode($resp);
}
function reply_gz($resp, $debug = "")
{
if ($debug != "") {
echo json_encode($resp);
} else {
echo gzcompress(json_encode($resp));
}
}
function get_param()
{
$body = file_get_contents("php://input");
return json_decode($body, true);
}
function get_param_z()
{
$body_z = file_get_contents("php://input");
$body = gzuncompress($body_z);
return json_decode($body, true);
}
function updatestatusorder()
{
try {
$prm = $this->get_param_z();
$orderList = $prm['order'];
$waList = $prm['wa'];
$success = [];
$error = [];
$errorMsg = [];
$successWa = [];
$errorWa = [];
$errorMsgWa = [];
for ($i = 0; $i < count($orderList); $i++) {
$sql_update = "UPDATE one_mitra.t_order
SET T_OrderStatus = 'Y'
WHERE T_OrderIsActive = 'Y'
AND T_OrderID = ?";
$qry_update = $this->db->query($sql_update, [$orderList[$i]]);
if (!$qry_update) {
$error[] = $orderList[$i];
$errorMsg[] = $this->db->error();
} else {
$success[] = $orderList[$i];
}
}
for ($i = 0; $i < count($waList); $i++) {
$sql_update = "UPDATE one_mitra.t_order
SET T_OrderStatusQR = 'S'
WHERE T_OrderIsActive = 'Y'
AND T_OrderID = ?";
$qry_update = $this->db->query($sql_update, $waList[$i]);
if (!$qry_update) {
$errorWa[] = $waList[$i];
$errorMsgWa[] = $this->db->error();
} else {
$successWa[] = $waList[$i];
}
}
$resultOrder = [
"success" => $success,
"error" => $error,
"message" => $errorMsg,
];
$resultWa = [
"success" => $successWa,
"error" => $errorWa,
"message" => $errorMsgWa,
];
$result = [
"order" => $resultOrder,
"wa" => $resultWa
];
$this->reply_gz($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function updatestatus()
{
try {
$prm = $this->sys_input;
$successUpdate = array();
$errorUpdate = array();
$errorMsg = array();
for ($i = 0; $i < count($prm); $i++) {
$sql = "UPDATE one_mitra.t_order
SET T_OrderStatus = ?
WHERE T_OrderID = ?
AND T_OrderIsActive ='Y'";
$query = $this->db->query($sql, [$prm[$i]['T_OrderStatus'], $prm[$i]['T_OrderID']]);
if (!$query) {
$message = $this->db->error();
// $this->sys_error($message);
$errorUpdate[] = $prm[$i]['T_OrderID'];
$errorMsg[] = $message;
} else {
for ($j = 0; $j < count($prm[$i]['sample']); $j++) {
if ($prm[$i]['sample'][$j]['type'] == "S") {
$sql_update = "UPDATE one_mitra.t_orderdetailsample
SET T_OrderDetailSampleStatus = ?
WHERE T_OrderDetailSampleID = ?
AND T_OrderDetailSampleIsActive = 'Y'";
$query_update = $this->db->query($sql_update, [
$prm[$i]['sample'][$j]['status'],
$prm[$i]['sample'][$j]['id']
]);
if (!$query_update) {
$message = $this->db->error();
// $this->sys_error($message);
$errorMsg[] = $message;
}
} else if ($prm[$i]['sample'][$j]['type'] == "B") {
$sql_update = "UPDATE one_mitra.t_orderdetailbahan
SET T_OrderDetailBahanStatus = ?
WHERE T_OrderDetailBahanID = ?
AND T_OrderDetailBahanIsActive = 'Y'";
$query_update = $this->db->query($sql_update, [
$prm[$i]['sample'][$j]['status'],
$prm[$i]['sample'][$j]['id']
]);
if (!$query_update) {
$message = $this->db->error();
// $this->sys_error($message);
$errorMsg[] = $message;
}
}
}
$successUpdate[] = $prm[$i]['T_OrderID'];
}
}
// $result = $query->result_array();
// $z_param = gzcompress(json_encode($result));
$result = [
"success" => $successUpdate,
"error" => $errorUpdate,
"msg" => $errorMsg,
];
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function updatestatuspq()
{
try {
$prm = $this->sys_input;
$successUpdate = array();
$errorUpdate = array();
$errorMsg = array();
for ($i = 0; $i < count($prm); $i++) {
$sql = "UPDATE one_mitra.t_order
SET T_OrderStatus = ?
WHERE T_OrderID = ?
AND T_OrderIsActive ='Y'";
$query = $this->db->query($sql, [$prm[$i]['status'], $prm[$i]['orderID']]);
if (!$query) {
$message = $this->db->error();
// $this->sys_error($message);
$errorUpdate[] = $prm[$i]['orderID'];
$errorMsg[] = $message;
} else {
$successUpdate[] = $prm[$i]['orderID'];
}
}
// $result = $query->result_array();
// $z_param = gzcompress(json_encode($result));
$result = [
"success" => $successUpdate,
"error" => $errorUpdate,
"msg" => $errorMsg,
];
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
function checkorderdone()
{
try {
$sql = "SELECT
T_OrderID AS orderID,
T_OrderNumber AS orderNumber,
YEAR(T_OrderDate) AS year,
T_OrderM_CompanyID AS company_id
FROM one_mitra.t_order
WHERE T_OrderStatus IN ('P', 'Q')
AND T_OrderIsActive = 'Y'";
$query = $this->db->query($sql, []);
if (!$query) {
$message = $this->db->error();
$this->sys_error($message);
exit;
}
$rst = $query->result_array();
// $a = glob("/data-s3/$companyID/$yearFull/$orderNum*pdf");
// $rst[] = [
// "company_id" => "1710",
// "year" => "2023",
// "orderNumber" => "MT231010001"
// ];
$orderList = [];
$error = [];
$errorMsg = [];
$success = [];
for ($i = 0; $i < count($rst); $i++) {
$companyID = $rst[$i]["company_id"];
$year = $rst[$i]["year"];
$orderNumber = $rst[$i]["orderNumber"];
$a = glob("/data-s3/$companyID/$year/$orderNumber*pdf");
if (count($a) > 0) {
$sql = "UPDATE one_mitra.t_order
SET T_OrderStatus = 'D'
WHERE T_OrderID = ?
AND T_OrderIsActive = 'Y'";
$query = $this->db->query($sql, [$rst[$i]["orderID"]]);
if (!$query) {
$error[] = $rst[$i]["orderNumber"];
$errorMsg[] = $this->db->error();
} {
$success[] = $rst[$i]["orderNumber"];
}
}
$orderList[] = $orderNumber;
}
$result = [
"list_order" => $orderList,
"error" => $error,
"success" => $success,
"errorMsg" => $errorMsg
];
$this->sys_ok($result);
} catch (Exception $exc) {
$message = $exc->getMessage();
$this->sys_error($message);
}
}
}