first commit -> move some files from one-api
This commit is contained in:
@@ -0,0 +1,607 @@
|
||||
<?php
|
||||
|
||||
class PurchaseRequest extends MY_Controller
|
||||
{
|
||||
var $db;
|
||||
|
||||
public function index()
|
||||
{
|
||||
echo "Purchase Request/Requester API";
|
||||
}
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
function search()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
|
||||
$payload = $this->sys_input;
|
||||
$userId = $this->sys_user["M_UserID"];
|
||||
|
||||
$query = "SELECT prd.*, mu.M_UserFullName as M_RequesterFullName
|
||||
FROM purchase_request_direct as prd
|
||||
JOIN m_user as mu ON prd.PurchaseRequestCreatedUserID = mu.M_UserID
|
||||
WHERE PurchaseRequestDirectIsActive = 'Y'
|
||||
AND PurchaseRequestCreatedUserID = {$userId}
|
||||
AND PurchaseRequestDirectNumber LIKE '%" . $payload["search"] . "%'";
|
||||
$queryCount = "SELECT count(*) as total
|
||||
FROM purchase_request_direct as prd
|
||||
JOIN m_user as mu ON prd.PurchaseRequestCreatedUserID = mu.M_UserID
|
||||
WHERE PurchaseRequestDirectIsActive = 'Y'
|
||||
AND PurchaseRequestCreatedUserID = {$userId}
|
||||
AND PurchaseRequestDirectNumber LIKE '%" . $payload["search"] . "%'";
|
||||
|
||||
if ((isset($payload["startDate"]) && isset($payload["endDate"])) && (trim($payload["startDate"]) !== "" && trim($payload["endDate"]) !== "")) {
|
||||
$query .= " AND (PurchaseRequestDirectDate BETWEEN '{$payload["startDate"]} 00:00:00' AND '{$payload["endDate"]} 23:59:59' OR PurchaseRequestDirectDateUse BETWEEN '{$payload["startDate"]} 00:00:00' AND '{$payload["endDate"]} 23:59:59')";
|
||||
$queryCount .= " AND (PurchaseRequestDirectDate BETWEEN '{$payload["startDate"]} 00:00:00' AND '{$payload["endDate"]} 23:59:59' OR PurchaseRequestDirectDateUse BETWEEN '{$payload["startDate"]} 00:00:00' AND '{$payload["endDate"]} 23:59:59')";
|
||||
}
|
||||
|
||||
if ($payload["status"]) {
|
||||
$query .= " AND PurchaseRequestDirectStatus = {$payload["status"]}";
|
||||
$queryCount .= " AND PurchaseRequestDirectStatus = {$payload["status"]}";
|
||||
}
|
||||
|
||||
$exec = $this->db->query($queryCount, []);
|
||||
|
||||
$numberLimit = 20;
|
||||
$numberOffset = 0;
|
||||
if ($payload["currentPage"] > 0) {
|
||||
$numberOffset = ($payload["currentPage"] - 1) * $numberLimit;
|
||||
}
|
||||
|
||||
$totalCount = 0;
|
||||
$totalPage = 0;
|
||||
|
||||
if ($exec) {
|
||||
$totalCount = $exec->result_array()[0]["total"];
|
||||
$totalPage = ceil($totalCount / $numberLimit);
|
||||
} else {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("select purchase request", $this->db);;
|
||||
exit;
|
||||
}
|
||||
|
||||
$query .= " ORDER BY PurchaseRequestDirectNumber DESC
|
||||
LIMIT {$numberLimit} OFFSET {$numberOffset}";
|
||||
$exec = $this->db->query($query, []);
|
||||
|
||||
if ($exec) {
|
||||
$rows = $exec->result_array();
|
||||
} else {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("select purchase request", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$result = array(
|
||||
"total" => $totalPage,
|
||||
"totalFilter" => $totalCount,
|
||||
"records" => $rows,
|
||||
"sql" => $this->db->last_query()
|
||||
);
|
||||
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function searchDetail()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
exit;
|
||||
}
|
||||
|
||||
$payload = $this->sys_input;
|
||||
|
||||
$queryCount = "SELECT count(*) as total
|
||||
FROM purchase_request_direct_detail
|
||||
WHERE PurchaseRequestDirectDetailIsActive = 'Y'
|
||||
AND PurchaseRequestDirectDetailPurchaseRequestDirectID = {$payload['PRID']}";
|
||||
$exec = $this->db->query($queryCount, []);
|
||||
|
||||
$totalCount = 0;
|
||||
|
||||
if ($exec) {
|
||||
$totalCount = $exec->result_array()[0]["total"];
|
||||
} else {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("select purchase request detail", $this->db);;
|
||||
exit;
|
||||
}
|
||||
|
||||
$query = "SELECT *,
|
||||
ROW_NUMBER() OVER(ORDER BY PurchaseRequestDirectDetailID) RowNumber
|
||||
FROM purchase_request_direct_detail
|
||||
WHERE PurchaseRequestDirectDetailIsActive = 'Y'
|
||||
AND PurchaseRequestDirectDetailPurchaseRequestDirectID = {$payload['PRID']}
|
||||
ORDER BY PurchaseRequestDirectDetailStatus ASC,
|
||||
PurchaseRequestDirectDetailID ASC";
|
||||
$exec = $this->db->query($query, []);
|
||||
|
||||
if ($exec) {
|
||||
$rows = $exec->result_array();
|
||||
} else {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("select purchase request detail", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$result = array(
|
||||
"totalFilter" => $totalCount,
|
||||
"records" => $rows,
|
||||
"sql" => $this->db->last_query()
|
||||
);
|
||||
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function getBranch()
|
||||
{
|
||||
try {
|
||||
$query = "SELECT DISTINCT
|
||||
M_BranchCode,
|
||||
M_BranchName
|
||||
FROM m_branch
|
||||
WHERE M_BranchIsActive = 'Y'
|
||||
ORDER BY M_BranchName ASC";
|
||||
$exec = $this->db->query($query, []);
|
||||
if ($exec) {
|
||||
$rows = $exec->result_array();
|
||||
} else {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("select branch", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$result = array(
|
||||
"records" => $rows,
|
||||
"sql" => $this->db->last_query()
|
||||
);
|
||||
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function saveRequest()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
}
|
||||
|
||||
$this->db->trans_begin();
|
||||
|
||||
$payload = $this->sys_input;
|
||||
$userId = $this->sys_user["M_UserID"];
|
||||
|
||||
$pdSql = "SELECT `fn_numbering`('PD') AS PD";
|
||||
$exec = $this->db->query($pdSql, []);
|
||||
$pd = "";
|
||||
$dateNow = date('Y-m-d');
|
||||
|
||||
if (!$exec) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("purchase request insert error", $this->db);
|
||||
exit;
|
||||
} else {
|
||||
$pd = $exec->result_array()[0]["PD"];
|
||||
}
|
||||
|
||||
$sql = "INSERT INTO purchase_request_direct(
|
||||
PurchaseRequestDirectNumber,
|
||||
PurchaseRequestDirectDate,
|
||||
PurchaseRequestDirectDateUse,
|
||||
PurchaseRequestDirectM_BranchCode,
|
||||
PurchaseRequestDirectDescription,
|
||||
PurchaseRequestDirectNote,
|
||||
PurchaseRequestDirectTotalEstimation,
|
||||
PurchaseRequestDirectTotalPaid,
|
||||
PurchaseRequestDirectTotalRealitation,
|
||||
PurchaseRequestDirectStatus,
|
||||
PurchaseRequestApprovedDate,
|
||||
PurchaseRequestApprovedBy,
|
||||
PurchaseRequestConfirmedDate,
|
||||
PurchaseRequestConfirmedBy,
|
||||
PurchaseRequestPaidDate,
|
||||
PurchaseRequestPaidBy,
|
||||
PurchaseRequestDirectIsActive,
|
||||
PurchaseRequestCreated,
|
||||
PurchaseRequestLastUpdated,
|
||||
PurchaseRequestDeleted,
|
||||
PurchaseRequestCreatedUserID,
|
||||
PurchaseRequestLastUpdatedUserID,
|
||||
PurchaseRequestDeletedUserID
|
||||
) VALUES ('{$pd}', '{$dateNow}', '{$payload['PRDateUse']}', '{$payload['PRBranch']}', '{$payload['PRDescription']}', NULL, 0, 0, 0, 'Draft', NULL, NULL, NULL, NULL, NULL, NULL, 'Y', NOW(), NULL, NULL, {$userId}, NULL, NULL)";
|
||||
$exec = $this->db->query($sql, []);
|
||||
|
||||
if (!$exec) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("purchase request insert error", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$this->db->trans_commit();
|
||||
|
||||
$newInsert = "SELECT * FROM purchase_request_direct WHERE PurchaseRequestDirectNumber = '{$pd}' AND PurchaseRequestDirectIsActive = 'Y'";
|
||||
$records = $this->db->query($newInsert, [])->result_array();
|
||||
|
||||
$result = array("total" => 1, "records" => $records);
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function updateRequest()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
}
|
||||
|
||||
$this->db->trans_begin();
|
||||
|
||||
$payload = $this->sys_input;
|
||||
$userId = $this->sys_user["M_UserID"];
|
||||
|
||||
$sql = "UPDATE purchase_request_direct SET
|
||||
PurchaseRequestDirectDateUse = '{$payload['PRDateUse']}',
|
||||
PurchaseRequestDirectM_BranchCode = '{$payload['PRBranch']}',
|
||||
PurchaseRequestDirectDescription = '{$payload['PRDescription']}',
|
||||
PurchaseRequestLastUpdated = NOW(),
|
||||
PurchaseRequestLastUpdatedUserID = {$userId}
|
||||
WHERE PurchaseRequestDirectID = {$payload['PRID']}";
|
||||
$exec = $this->db->query($sql, []);
|
||||
|
||||
if (!$exec) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("purchase request update error", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$this->db->trans_commit();
|
||||
|
||||
$newUpdate = "SELECT * FROM purchase_request_direct WHERE PurchaseRequestDirectID = {$payload['PRID']} AND PurchaseRequestDirectIsActive = 'Y'";
|
||||
$records = $this->db->query($newUpdate, [])->result_array();
|
||||
|
||||
$result = array("total" => 1, "records" => $records);
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function deleteRequest()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
}
|
||||
|
||||
$this->db->trans_begin();
|
||||
|
||||
$payload = $this->sys_input;
|
||||
$userId = $this->sys_user["M_UserID"];
|
||||
|
||||
$sql = "UPDATE purchase_request_direct SET
|
||||
PurchaseRequestDeleted = NOW(),
|
||||
PurchaseRequestDeletedUserID = {$userId},
|
||||
PurchaseRequestDirectIsActive = 'N'
|
||||
WHERE PurchaseRequestDirectID = {$payload['PRID']}";
|
||||
$exec = $this->db->query($sql, []);
|
||||
|
||||
if (!$exec) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("purchase request delete error", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$this->db->trans_commit();
|
||||
$result = array("total" => 1, "records" => array("xId" => 0));
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function saveDetail()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
}
|
||||
|
||||
$this->db->trans_begin();
|
||||
|
||||
$payload = $this->sys_input;
|
||||
$userId = $this->sys_user["M_UserID"];
|
||||
$PRDTotalPrice = intval($payload['PRDAmountRequest']) * intval($payload['PRDEstimationPrice']);
|
||||
|
||||
$query = "SELECT COUNT(*) as exist
|
||||
FROM purchase_request_direct_detail
|
||||
WHERE PurchaseRequestDirectDetailIsActive = 'Y'
|
||||
AND PurchaseRequestDirectDescription = '{$payload['PRDDescriptionDetail']}'
|
||||
AND PurchaseRequestDirectDetailPurchaseRequestDirectID = {$payload['PRID']}";
|
||||
$exist = $this->db->query($query, []);
|
||||
if ($exist) {
|
||||
$row = $exist->row()->exist;
|
||||
} else {
|
||||
$this->sys_error_db("exist error", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($row == 0) {
|
||||
$sql = "INSERT INTO purchase_request_direct_detail(
|
||||
PurchaseRequestDirectDetailPurchaseRequestDirectID,
|
||||
PurchaseRequestDirectDescription,
|
||||
PurchaseRequestDirectDetailAmountRequest,
|
||||
PurchaseRequestDirectDetailAmount,
|
||||
PurchaseRequestDirectDetailEstimationPrice,
|
||||
PurchaseRequestDirectDetailTotalEstimationPrice,
|
||||
PurchaseRequestDirectDetailTotalRealitationPrice,
|
||||
PurchaseRequestDirectDetailStatus,
|
||||
PurchaseRequestDirectDetailIsActive,
|
||||
PurchaseRequestDirectDetailCreated,
|
||||
PurchaseRequestDirectDetailLastUpdated,
|
||||
PurchaseRequestDirectDetailDeleted,
|
||||
PurchaseRequestDirectDetailCreatedUserID,
|
||||
PurchaseRequestDirectDetailLastUpdatedUserID,
|
||||
PurchaseRequestDirectDetailDeletedUserID
|
||||
) VALUES ({$payload['PRID']}, '{$payload['PRDDescriptionDetail']}', {$payload['PRDAmountRequest']}, NULL, {$payload['PRDEstimationPrice']}, {$PRDTotalPrice}, NULL, 'Pending', 'Y', NOW(), NULL, NULL, {$userId}, NULL, NULL)";
|
||||
$exec = $this->db->query($sql, []);
|
||||
|
||||
if (!$exec) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("request insert error", $this->db);
|
||||
exit;
|
||||
} else {
|
||||
$sqlTotalPrice = "SELECT SUM(PurchaseRequestDirectDetailTotalEstimationPrice) AS Total
|
||||
FROM purchase_request_direct_detail
|
||||
WHERE PurchaseRequestDirectDetailPurchaseRequestDirectID = {$payload['PRID']}
|
||||
AND PurchaseRequestDirectDetailIsActive = 'Y'";
|
||||
$exec = $this->db->query($sqlTotalPrice, []);
|
||||
$total = 0;
|
||||
|
||||
if (!$exec) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("order purchase request error", $this->db);
|
||||
exit;
|
||||
} else {
|
||||
$total = $exec->result_array()[0]["Total"];
|
||||
}
|
||||
|
||||
$sql = "UPDATE purchase_request_direct SET
|
||||
PurchaseRequestDirectTotalEstimation = {$total},
|
||||
PurchaseRequestLastUpdated = NOW(),
|
||||
PurchaseRequestLastUpdatedUserID = {$userId}
|
||||
WHERE PurchaseRequestDirectID = {$payload['PRID']}
|
||||
AND PurchaseRequestDirectIsActive = 'Y'";
|
||||
$exec = $this->db->query($sql, []);
|
||||
}
|
||||
|
||||
$this->db->trans_commit();
|
||||
|
||||
$result = array("total" => 1, "records" => array("xId" => 0));
|
||||
$this->sys_ok($result);
|
||||
} else {
|
||||
$errors = array();
|
||||
if ($row != 0) {
|
||||
array_push($errors, array('msg' => 'Data sudah ada'));
|
||||
}
|
||||
|
||||
$result = array("total" => -1, "errors" => $errors, "records" => array('status' => 'ERROR'));
|
||||
$this->sys_ok($result);
|
||||
}
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function updateDetail()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
}
|
||||
|
||||
$this->db->trans_begin();
|
||||
|
||||
$payload = $this->sys_input;
|
||||
$userId = $this->sys_user["M_UserID"];
|
||||
$PRDTotalPrice = intval($payload["PRDAmountRequest"]) * intval($payload["PRDEstimationPrice"]);
|
||||
|
||||
|
||||
$sql = "UPDATE purchase_request_direct_detail SET
|
||||
PurchaseRequestDirectDescription = '{$payload["PRDDescriptionDetail"]}',
|
||||
PurchaseRequestDirectDetailAmountRequest = {$payload["PRDAmountRequest"]},
|
||||
PurchaseRequestDirectDetailEstimationPrice = {$payload["PRDEstimationPrice"]},
|
||||
PurchaseRequestDirectDetailTotalEstimationPrice = {$PRDTotalPrice},
|
||||
PurchaseRequestDirectDetailLastUpdated = NOW(),
|
||||
PurchaseRequestDirectDetailLastUpdatedUserID = {$userId}
|
||||
WHERE PurchaseRequestDirectDetailID = {$payload["PRDID"]}";
|
||||
$exec = $this->db->query($sql, []);
|
||||
|
||||
if (!$exec) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("request update error", $this->db);
|
||||
exit;
|
||||
} else {
|
||||
$sqlTotalPrice = "SELECT SUM(PurchaseRequestDirectDetailTotalEstimationPrice) AS Total
|
||||
FROM purchase_request_direct_detail
|
||||
WHERE PurchaseRequestDirectDetailPurchaseRequestDirectID = {$payload["PRID"]}
|
||||
AND PurchaseRequestDirectDetailIsActive = 'Y'";
|
||||
$exec = $this->db->query($sqlTotalPrice, []);
|
||||
$total = 0;
|
||||
|
||||
if (!$exec) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("order purchase request error", $this->db);
|
||||
exit;
|
||||
} else {
|
||||
$total = $exec->result_array()[0]["Total"];
|
||||
}
|
||||
|
||||
$sql = "UPDATE purchase_request_direct SET
|
||||
PurchaseRequestDirectTotalEstimation = {$total},
|
||||
PurchaseRequestLastUpdated = NOW(),
|
||||
PurchaseRequestLastUpdatedUserID = {$userId}
|
||||
WHERE PurchaseRequestDirectID = {$payload["PRID"]}
|
||||
AND PurchaseRequestDirectIsActive = 'Y'";
|
||||
$exec = $this->db->query($sql, []);
|
||||
}
|
||||
|
||||
$this->db->trans_commit();
|
||||
|
||||
$result = array("total" => 1, "records" => array("xId" => $payload["PRDID"]));
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function deleteDetail()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
}
|
||||
|
||||
$this->db->trans_begin();
|
||||
|
||||
$payload = $this->sys_input;
|
||||
$userId = $this->sys_user["M_UserID"];
|
||||
|
||||
$sql = "UPDATE purchase_request_direct_detail SET
|
||||
PurchaseRequestDirectDetailDeleted = NOW(),
|
||||
PurchaseRequestDirectDetailDeletedUserID = {$userId},
|
||||
PurchaseRequestDirectDetailIsActive = 'N'
|
||||
WHERE PurchaseRequestDirectDetailID = {$payload["PRDID"]}";
|
||||
$exec = $this->db->query($sql, []);
|
||||
|
||||
if (!$exec) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("request delete error", $this->db);
|
||||
exit;
|
||||
} else {
|
||||
$sqlTotalPrice = "SELECT SUM(PurchaseRequestDirectDetailTotalEstimationPrice) AS Total
|
||||
FROM purchase_request_direct_detail
|
||||
WHERE PurchaseRequestDirectDetailPurchaseRequestDirectID = {$payload["PRID"]}
|
||||
AND PurchaseRequestDirectDetailIsActive = 'Y'";
|
||||
$exec = $this->db->query($sqlTotalPrice, []);
|
||||
$total = 0;
|
||||
|
||||
if (!$exec) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("order purchase request error", $this->db);
|
||||
exit;
|
||||
} else {
|
||||
$total = $exec->result_array()[0]["Total"] ?? 0;
|
||||
}
|
||||
|
||||
$sql = "UPDATE purchase_request_direct SET
|
||||
PurchaseRequestDirectTotalEstimation = {$total},
|
||||
PurchaseRequestLastUpdated = NOW(),
|
||||
PurchaseRequestLastUpdatedUserID = {$userId}
|
||||
WHERE PurchaseRequestDirectID = {$payload["PRID"]}
|
||||
AND PurchaseRequestDirectIsActive = 'Y'";
|
||||
$exec = $this->db->query($sql, []);
|
||||
}
|
||||
|
||||
$this->db->trans_commit();
|
||||
$result = array("total" => 1, "records" => array("xId" => 0));
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
|
||||
function orderRequest()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("Invalid Token");
|
||||
}
|
||||
|
||||
$this->db->trans_begin();
|
||||
|
||||
$payload = $this->sys_input;
|
||||
$userId = $this->sys_user["M_UserID"];
|
||||
|
||||
$sqlDetail = "UPDATE purchase_request_direct_detail SET
|
||||
PurchaseRequestDirectDetailLastUpdated = NOW(),
|
||||
PurchaseRequestDirectDetailLastUpdatedUserID = {$userId}
|
||||
WHERE PurchaseRequestDirectDetailPurchaseRequestDirectID = {$payload["PRID"]}
|
||||
AND PurchaseRequestDirectDetailIsActive = 'Y'
|
||||
AND PurchaseRequestDirectDetailStatus = 'Pending'";
|
||||
$exec = $this->db->query($sqlDetail, []);
|
||||
|
||||
if (!$exec) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("order purchase request error", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "UPDATE purchase_request_direct SET
|
||||
PurchaseRequestDirectStatus = 'Pending',
|
||||
PurchaseRequestLastUpdated = NOW(),
|
||||
PurchaseRequestLastUpdatedUserID = {$userId}
|
||||
WHERE PurchaseRequestDirectID = {$payload["PRID"]}
|
||||
AND PurchaseRequestDirectIsActive = 'Y'";
|
||||
$exec = $this->db->query($sql, []);
|
||||
|
||||
if (!$exec) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("order purchase request error", $this->db);
|
||||
exit;
|
||||
}
|
||||
|
||||
$this->db->trans_commit();
|
||||
|
||||
$sql = "SELECT *,
|
||||
ROW_NUMBER() OVER(ORDER BY PurchaseRequestDirectNumber) RowNumber
|
||||
FROM purchase_request_direct
|
||||
WHERE PurchaseRequestDirectIsActive = 'Y'
|
||||
AND PurchaseRequestCreatedUserID = {$userId}
|
||||
AND PurchaseRequestDirectID = {$payload["PRID"]}";
|
||||
$exec = $this->db->query($sql, []);
|
||||
|
||||
$row = [];
|
||||
if (!$exec) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("order purchase request error", $this->db);
|
||||
exit;
|
||||
} else {
|
||||
$row = $exec->result_array();
|
||||
}
|
||||
$result = array("total" => 1, "records" => $row);
|
||||
$this->sys_ok($result);
|
||||
} catch (Exception $exc) {
|
||||
$message = $exc->getMessage();
|
||||
$this->sys_error($message);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user