add api file from used in s_menu fe accone

This commit is contained in:
2026-07-06 16:44:35 +07:00
parent f3dba31445
commit 5ecf65a820
30 changed files with 23347 additions and 32 deletions

View File

@@ -0,0 +1,665 @@
<?php
class Approvalallrequest extends MY_Controller
{
var $db;
public function index()
{
echo "API APPROVAL ALL";
// $cek = $this->db->query("select database() as current_db")->result();
// print_r($cek);
}
public function __construct()
{
parent::__construct();
}
public function listApprove()
{
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$sql = "SELECT S_MenuID,
S_MenuName as menuname,
S_MenuName as name,
S_MenuRegional,
S_MenuUrl,
S_MenuIcon,
S_MenuParentS_MenuID,
S_MenuLevel,
S_MenuIsParent,
S_MenuOrder,
S_MenuIsActive
FROM s_menu
WHERE S_MenuID IN (31, 69, 82)";
$qry = $this->db->query($sql);
if (!$qry) {
$this->sys_error_db("Error get list menu");
exit;
}
$rows = $qry->result_array();
$result = array(
"records" => $rows
);
$this->sys_ok($result);
}
public function search()
{
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$user = $this->sys_user;
$regionalID = $user['S_RegionalID'];
$branchCode = $user['M_BranchCode'];
$userID = $user['M_UserID'];
$approveLevelID = $user['M_UserM_ApproveLevelID'];
$loginType = $user['M_UserLocationFlag'];
$sqlBranch = '';
if ($loginType == 'B' || $loginType == 'RB') {
$sqlBranch = "AND PurchaseRequestM_BranchCode = '{$branchCode}'";
}
$sql = "SELECT m_approve_level.* FROM m_user
JOIN m_approve_level
ON M_UserM_ApproveLevelID = M_ApproveLevelID
WHERE M_UserID = ?;";
$qry = $this->db->query($sql, [$userID]);
if (!$qry) {
$this->sys_error_db("Error cek approval level");
exit;
}
$approvalLevel = $qry->result_array();
if (count($approvalLevel) == 0) {
$result = array(
'total' => 0,
'records' => []
);
$this->sys_ok($result);
exit;
}
$totalStart = $approvalLevel[0]['M_ApproveLevelStartTotal'];
$totalEnd = $approvalLevel[0]['M_ApproveLevelEndTotal'];
$params = [$regionalID, $regionalID];
if ($approveLevelID == '1') {
// manager -> verifikator
$sqlSupplierPayment = " AND SupplierPaymentIsVerif = 'N' AND SupplierPaymentStatus != 'Verif' ";
$sqlStockRequest = " AND (PurchaseRequestVerifiedBy = 0 OR PurchaseRequestVerifiedBy IS NULL) ";
$sqlPurchaseOrder = " AND PurchaseOrderApprovedManagerUserID = 0";
$sqlRIO = " AND RequestItemOutVerifiedUserID = 0";
} else if ($approveLevelID == '2') {
// kacab / regional -> approver
$sqlSupplierPayment = " AND SupplierPaymentIsApproved = 'N' AND SupplierPaymentStatus = 'Verif'";
$sqlStockRequest = " AND PurchaseRequestApprovedBy IS NULL";
$sqlPurchaseOrder = " AND PurchaseOrderApprovedUserID IS NULL";
$sqlRIO = " AND RequestItemOutVerifiedUserID != 0";
}
$sqlSelect = "SELECT
COUNT(*) total,
GROUP_CONCAT(PurchaseRequestNumber SEPARATOR ', ') AS number,
MIN(PurchaseRequestDate) AS date,
PurchaseRequestStatus as status,
'STOCK REQUEST (P)' as type,
'p' as flag
FROM purchase_request
WHERE PurchaseRequestIsActive = 'Y'
AND PurchaseRequestStatus = 'Pending'
AND PurchaseRequestItemCategoryID = 1
AND PurchaseRequestS_RegionalID = ?
$sqlBranch
$sqlStockRequest
UNION
SELECT
COUNT(*) total,
GROUP_CONCAT(PurchaseRequestNumber SEPARATOR ', ') AS number,
MIN(PurchaseRequestDate) AS date,
PurchaseRequestStatus as status,
'PURCHASE REQUEST (NP)' as type,
'np' as flag
FROM purchase_request
WHERE PurchaseRequestIsActive = 'Y'
AND PurchaseRequestStatus = 'Pending'
AND PurchaseRequestItemCategoryID <> 1
AND PurchaseRequestS_RegionalID = ?
$sqlBranch
$sqlStockRequest
UNION
SELECT COUNT(*) as total,
GROUP_CONCAT(PurchaseOrderNumber SEPARATOR ', ') AS number,
MIN(PurchaseOrderDate) AS date,
PurchaseOrderStatus as status,
'PURCHASE ORDER' as type,
'po' as flag
FROM purchase_order
WHERE PurchaseOrderIsActive = 'Y'
AND PurchaseOrderStatus = 'Pending'
$sqlPurchaseOrder
UNION
SELECT COUNT(*) as total,
GROUP_CONCAT(PurchaseRequestDirectNumber SEPARATOR ', ') as number,
MIN(PurchaseRequestDirectDate) as date,
PurchaseRequestDirectStatus as status,
'PURCHASE REQUEST DIRECT' as type,
'prd' as flag
FROM purchase_request_direct
WHERE PurchaseRequestDirectStatus = 'Pending'
AND PurchaseRequestDirectTotalEstimation BETWEEN $totalStart AND $totalEnd
AND PurchaseRequestDirectIsActive = 'Y'
UNION
SELECT COUNT(*) as total,
GROUP_CONCAT(PaymentVoucherNumber SEPARATOR ', ') as number,
MIN(DATE(PaymentVoucherDate)) as date,
PaymentVoucherStatus as status,
'KASIR (REALISASI)' as type,
'r' as flag
FROM payment_voucher
WHERE PaymentVoucherIsActive = 'Y'
AND PaymentVoucherStatus = 'Paid'
UNION
SELECT
COUNT(*) as total,
GROUP_CONCAT(SupplierInvoiceNumber SEPARATOR ', ') as number,
MIN(DATE(SupplierInvoiceDraftPaymentDate)) as date,
SupplierPaymentStatus as status,
'PAYMENT APPROVED' as type,
'pa' as flag
FROM supplier_payment
LEFT JOIN supplier_invoice ON SupplierPaymentSupplierInvoiceID = SupplierInvoiceID
WHERE SupplierPaymentIsActive = 'Y'
$sqlSupplierPayment
UNION
SELECT COUNT(*) as total,
GROUP_CONCAT(RequestItemOutNumber SEPARATOR ', ') as number,
MIN(DATE(RequestItemOutDate)) as date,
IF(RequestItemOutStatus = 'Send Request' , 'SendRequest', '') as status,
'REQUEST PENGELUARAN BARANG' as type,
'rio' as flag
FROM request_item_out
WHERE RequestItemOutIsActive = 'Y'
AND RequestItemOutStatus = 'Send Request'
$sqlRIO
";
$qry_end = $this->db->query($sqlSelect, $params);
if ($qry_end) {
$rows = $qry_end->result_array();
} else {
$this->sys_error_db("Error searching");
exit;
}
// echo $this->db->last_query();
// exit;
$result = array(
'records' => $rows,
"qry" => $this->db->last_query()
);
$this->sys_ok($result);
}
public function searchold()
{
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$search = '%' . $prm['search'] . '%';
$date = $prm['date'];
$status = $prm['status'];
$page = $prm['page'];
$user = $this->sys_user;
$regionalID = $user['S_RegionalID'];
$branchCode = $user['M_BranchCode'];
$loginType = $user['M_UserLocationFlag'];
$userID = $user['M_UserID'];
$sqlBranch = '';
if ($loginType == 'B' || $loginType == 'RB') {
$sqlBranch = "AND PurchaseRequestM_BranchCode = '{$branchCode}'";
}
$sql = "SELECT m_approve_level.* FROM m_user
JOIN m_approve_level
ON M_UserM_ApproveLevelID = M_ApproveLevelID
WHERE M_UserID = ?;";
$qry = $this->db->query($sql, [$userID]);
if (!$qry) {
$this->sys_error_db("Error cek approval level");
exit;
}
$approvalLevel = $qry->result_array();
if (count($approvalLevel) == 0) {
$result = array(
'total' => 0,
'records' => []
);
$this->sys_ok($result);
exit;
}
$params = [$search, $search, $regionalID, $search];
// $sql = "SELECT
// PurchaseRequestID prID,
// DATE_FORMAT(PurchaseRequestDate, '%d-%m-%Y') prDate,
// PurchaseRequestNumber prNumber,
// PurchaseRequestRefNumber prRefNumber,
// PurchaseRequestNote prNote,
// PurchaseRequestTotal prTotal,
// PurchaseRequestItemCategoryID prItemType,
// ItemCategoryName prItemTypeName,
// PurchaseRequestStatus prStatus,
// DATE_FORMAT(PurchaseRequestApprovedDate, '%d-%m-%Y %H:%i') prApprovedDate,
// a.M_userUserName prApprovedBy,
// b.M_UserID prRequestedByID,
// b.M_userUserName prRequestedBy,
// b.M_UserM_BranchID prRequestedByFromBranch,
// S_RegionalName prRegionalName,
// M_BranchName prBranchName,
// IFNULL(`fn_getitemnamebyprid`(PurchaseRequestID), '') prItemName
// FROM purchase_request
// JOIN s_regional
// ON PurchaseRequestS_RegionalID = S_RegionalID
// AND S_RegionalIsActive = 'Y'
// JOIN item_category
// ON PurchaseRequestItemCategoryID = ItemCategoryID
// AND ItemCategoryIsActive = 'Y'
// JOIN m_user b
// ON PurchaseRequestRequestedBy = b.M_UserID
// AND b.M_UserIsActive = 'Y'
// LEFT JOIN m_user a
// ON PurchaseRequestApprovedBy = a.M_UserID
// AND a.M_UserIsActive = 'Y'
// LEFT JOIN
// m_branch
// ON PurchaseRequestM_BranchCode = M_BranchCode
// WHERE PurchaseRequestIsActive = 'Y'
// AND (PurchaseRequestNumber LIKE ? OR PurchaseRequestRefNumber LIKE ? OR PurchaseRequestRequestedBy LIKE ?)
// AND PurchaseRequestS_RegionalID = ?
// AND PurchaseRequestStatus = 'Pending'
// $sqlBranch
// ORDER BY prDate,prNumber
// DESC
// LIMIT ? OFFSET ?";
$sqlSelect = "SELECT
PurchaseRequestID AS ID,
'PR' AS SourceType,
DATE_FORMAT(PurchaseRequestDate, '%d-%m-%Y') AS Date,
PurchaseRequestNumber AS Number,
PurchaseRequestRefNumber AS RefNumber,
PurchaseRequestNote AS Note,
PurchaseRequestTotal AS Total,
PurchaseRequestItemCategoryID AS ItemCategoryID,
ItemCategoryName AS ItemCategoryName,
PurchaseRequestStatus AS Status,
DATE_FORMAT(PurchaseRequestApprovedDate, '%d-%m-%Y %H:%i') AS ApprovedDate,
a.M_userUserName AS ApprovedBy,
b.M_UserID AS RequestedByID,
b.M_userUserName AS RequestedBy,
b.M_UserM_BranchID AS RequestedByFromBranch,
S_RegionalName AS RegionalName,
M_BranchName AS BranchName,
IFNULL(`fn_getitemnamebyprid`(PurchaseRequestID), '') AS ItemName,
NULL AS DiscountType,
NULL AS DiscountAmount,
NULL AS TaxAmount,
NULL AS SupplierCode,
NULL AS SupplierName,
NULL AS WarehouseCode,
NULL AS WarehouseName,
NULL AS DisplayDate
FROM purchase_request
JOIN s_regional ON PurchaseRequestS_RegionalID = S_RegionalID AND S_RegionalIsActive = 'Y'
JOIN item_category ON PurchaseRequestItemCategoryID = ItemCategoryID AND ItemCategoryIsActive = 'Y'
JOIN m_user b ON PurchaseRequestRequestedBy = b.M_UserID AND b.M_UserIsActive = 'Y'
LEFT JOIN m_user a ON PurchaseRequestApprovedBy = a.M_UserID AND a.M_UserIsActive = 'Y'
LEFT JOIN m_branch ON PurchaseRequestM_BranchCode = M_BranchCode
WHERE PurchaseRequestIsActive = 'Y'
AND PurchaseRequestStatus = 'Pending'
$sqlBranch
AND (PurchaseRequestNumber LIKE ? OR PurchaseRequestRefNumber LIKE ?)
AND PurchaseRequestS_RegionalID = ?
UNION
(
SELECT
PurchaseOrderID AS ID,
'PO' AS SourceType,
DATE_FORMAT(PurchaseOrderDate, '%d-%m-%Y') AS Date,
PurchaseOrderNumber AS Number,
NULL AS RefNumber,
PurchaseOrderNote AS Note,
0 AS Total,
itemCategoryID AS ItemCategoryID,
itemCategoryName AS ItemCategoryName,
PurchaseOrderStatus AS Status,
NULL AS ApprovedDate,
NULL AS ApprovedBy,
NULL AS RequestedByID,
NULL AS RequestedBy,
NULL AS RequestedByFromBranch,
S_RegionalName AS RegionalName,
M_BranchName AS BranchName,
NULL AS ItemName,
CASE
WHEN PurchaseOrderDiscountPercent = 0 THEN 'Absolute'
WHEN PurchaseOrderDiscountAmount = 0 THEN 'Percentage'
ELSE ''
END AS DiscountType,
CASE
WHEN PurchaseOrderDiscountPercent <> 0 THEN (PurchaseOrderDiscountPercent / 100) * PurchaseOrderSubTotal
WHEN PurchaseOrderDiscountAmount <> 0 THEN PurchaseOrderDiscountAmount
ELSE 0
END AS DiscountAmount,
PurchaseOrderTaxAmountPph + PurchaseOrderTaxAmountPpn AS TaxAmount,
SupplierCode,
SupplierName,
WarehouseCode,
CASE
WHEN WarehouseType = 'B' THEN CONCAT(WarehouseCode,' ', WarehouseName, ' - ', M_BranchName)
WHEN WarehouseType = 'R' THEN CONCAT(WarehouseCode,' ', WarehouseName, ' - ', S_RegionalName)
ELSE ''
END AS WarehouseName,
DATE_FORMAT(PurchaseOrderDate, '%d %M %Y') AS DisplayDate
FROM purchase_order
LEFT JOIN item_category ON PurchaseOrderItemCategoryID = itemCategoryID
LEFT JOIN supplier ON SupplierID = PurchaseOrderSupplierID
LEFT JOIN warehouse ON WarehouseID = PurchaseOrderWarehouseID
LEFT JOIN s_regional ON S_RegionalID = WarehouseS_RegionalID
LEFT JOIN m_branch ON M_BranchID = WarehouseM_BranchID
WHERE PurchaseOrderIsActive = 'Y'
AND PurchaseOrderStatus = 'Pending'
AND PurchaseOrderNumber LIKE ?
)";
$sqlTotal = "SELECT COUNT(*) AS total FROM ($sqlSelect) AS x";
$qry = $this->db->query($sqlTotal, $params);
$number_limit = 20;
$number_offset = 0;
if ($page > 0) {
$number_offset = ($prm['page'] - 1) * $number_limit;
}
$totalCount = 0;
$totalPage = 0;
if ($qry) {
$totalCount = $qry->row_array()["total"];
$totalPage = ceil($totalCount / $number_limit);
} else {
$this->sys_error_db("Error searching count");
exit;
}
$sql_painated = $sqlSelect . " LIMIT ? OFFSET ?";
$params_paginated = array_merge($params, [$number_limit, $number_offset]);
$qry_end = $this->db->query($sql_painated, $params_paginated);
if ($qry_end) {
$rows = $qry_end->result_array();
} else {
$this->sys_error_db("Error searching");
exit;
}
// echo $this->db->last_query();
// exit;
$result = array(
'total' => $totalPage,
'records' => $rows,
// "qry" => $this->db->last_query()
);
$this->sys_ok($result);
}
public function search_x()
{
if (! $this->isLogin) {
$this->sys_error("Invalid Token");
exit;
}
$prm = $this->sys_input;
$search = '%' . $prm['search'] . '%';
$date = $prm['date'];
$status = $prm['status'];
$page = $prm['page'];
$user = $this->sys_user;
$regionalID = $user['S_RegionalID'];
$branchCode = $user['M_BranchCode'];
$loginType = $user['M_UserLocationFlag'];
$userID = $user['M_UserID'];
$sqlBranch = '';
if ($loginType == 'B' || $loginType == 'RB') {
$sqlBranch = "AND PurchaseRequestM_BranchCode = '{$branchCode}'";
}
$sql = "SELECT m_approve_level.* FROM m_user
JOIN m_approve_level
ON M_UserM_ApproveLevelID = M_ApproveLevelID
WHERE M_UserID = ?;";
$qry = $this->db->query($sql, [$userID]);
if (!$qry) {
$this->sys_error_db("Error cek approval level");
exit;
}
$approvalLevel = $qry->result_array();
if (count($approvalLevel) == 0) {
$result = array(
'total' => 0,
'records' => []
);
$this->sys_ok($result);
exit;
}
$params = [$search, $search, $regionalID, $search];
$sql = "SELECT
PurchaseRequestID prID,
DATE_FORMAT(PurchaseRequestDate, '%d-%m-%Y') prDate,
PurchaseRequestNumber prNumber,
PurchaseRequestRefNumber prRefNumber,
PurchaseRequestNote prNote,
PurchaseRequestTotal prTotal,
PurchaseRequestItemCategoryID prItemType,
ItemCategoryName prItemTypeName,
PurchaseRequestStatus prStatus,
DATE_FORMAT(PurchaseRequestApprovedDate, '%d-%m-%Y %H:%i') prApprovedDate,
a.M_userUserName prApprovedBy,
b.M_UserID prRequestedByID,
b.M_userUserName prRequestedBy,
b.M_UserM_BranchID prRequestedByFromBranch,
S_RegionalName prRegionalName,
M_BranchName prBranchName,
IFNULL(`fn_getitemnamebyprid`(PurchaseRequestID), '') prItemName
FROM purchase_request
JOIN s_regional
ON PurchaseRequestS_RegionalID = S_RegionalID
AND S_RegionalIsActive = 'Y'
JOIN item_category
ON PurchaseRequestItemCategoryID = ItemCategoryID
AND ItemCategoryIsActive = 'Y'
JOIN m_user b
ON PurchaseRequestRequestedBy = b.M_UserID
AND b.M_UserIsActive = 'Y'
LEFT JOIN m_user a
ON PurchaseRequestApprovedBy = a.M_UserID
AND a.M_UserIsActive = 'Y'
LEFT JOIN
m_branch
ON PurchaseRequestM_BranchCode = M_BranchCode
WHERE PurchaseRequestIsActive = 'Y'
AND (PurchaseRequestNumber LIKE ? OR PurchaseRequestRefNumber LIKE ? OR PurchaseRequestRequestedBy LIKE ?)
AND PurchaseRequestS_RegionalID = ?
AND PurchaseRequestStatus = 'Pending'
$sqlBranch
ORDER BY prDate,prNumber
DESC
LIMIT ? OFFSET ?";
$sqlSelect = "(SELECT
PurchaseRequestID AS ID,
'PR' AS SourceType,
DATE_FORMAT(PurchaseRequestDate, '%d-%m-%Y') AS Date,
PurchaseRequestNumber AS Number,
PurchaseRequestRefNumber AS RefNumber,
PurchaseRequestNote AS Note,
PurchaseRequestTotal AS Total,
PurchaseRequestItemCategoryID AS ItemCategoryID,
ItemCategoryName AS ItemCategoryName,
PurchaseRequestStatus AS Status,
DATE_FORMAT(PurchaseRequestApprovedDate, '%d-%m-%Y %H:%i') AS ApprovedDate,
a.M_userUserName AS ApprovedBy,
b.M_UserID AS RequestedByID,
b.M_userUserName AS RequestedBy,
b.M_UserM_BranchID AS RequestedByFromBranch,
S_RegionalName AS RegionalName,
M_BranchName AS BranchName,
IFNULL(`fn_getitemnamebyprid`(PurchaseRequestID), '') AS ItemName,
NULL AS DiscountType,
NULL AS DiscountAmount,
NULL AS TaxAmount,
NULL AS SupplierCode,
NULL AS SupplierName,
NULL AS WarehouseCode,
NULL AS WarehouseName,
NULL AS DisplayDate
FROM purchase_request
JOIN s_regional ON PurchaseRequestS_RegionalID = S_RegionalID AND S_RegionalIsActive = 'Y'
JOIN item_category ON PurchaseRequestItemCategoryID = ItemCategoryID AND ItemCategoryIsActive = 'Y'
JOIN m_user b ON PurchaseRequestRequestedBy = b.M_UserID AND b.M_UserIsActive = 'Y'
LEFT JOIN m_user a ON PurchaseRequestApprovedBy = a.M_UserID AND a.M_UserIsActive = 'Y'
LEFT JOIN m_branch ON PurchaseRequestM_BranchCode = M_BranchCode
WHERE PurchaseRequestIsActive = 'Y'
AND PurchaseRequestStatus = 'Pending'
$sqlBranch
AND (PurchaseRequestNumber LIKE ? OR PurchaseRequestRefNumber LIKE ?)
AND PurchaseRequestS_RegionalID = ?
)
UNION
(
SELECT
PurchaseOrderID AS ID,
'PO' AS SourceType,
DATE_FORMAT(PurchaseOrderDate, '%d-%m-%Y') AS Date,
PurchaseOrderNumber AS Number,
NULL AS RefNumber,
PurchaseOrderNote AS Note,
0 AS Total,
itemCategoryID AS ItemCategoryID,
itemCategoryName AS ItemCategoryName,
PurchaseOrderStatus AS Status,
NULL AS ApprovedDate,
NULL AS ApprovedBy,
NULL AS RequestedByID,
NULL AS RequestedBy,
NULL AS RequestedByFromBranch,
S_RegionalName AS RegionalName,
M_BranchName AS BranchName,
NULL AS ItemName,
CASE
WHEN PurchaseOrderDiscountPercent = 0 THEN 'Absolute'
WHEN PurchaseOrderDiscountAmount = 0 THEN 'Percentage'
ELSE ''
END AS DiscountType,
CASE
WHEN PurchaseOrderDiscountPercent <> 0 THEN (PurchaseOrderDiscountPercent / 100) * PurchaseOrderSubTotal
WHEN PurchaseOrderDiscountAmount <> 0 THEN PurchaseOrderDiscountAmount
ELSE 0
END AS DiscountAmount,
PurchaseOrderTaxAmountPph + PurchaseOrderTaxAmountPpn AS TaxAmount,
SupplierCode,
SupplierName,
WarehouseCode,
CASE
WHEN WarehouseType = 'B' THEN CONCAT(WarehouseCode,' ', WarehouseName, ' - ', M_BranchName)
WHEN WarehouseType = 'R' THEN CONCAT(WarehouseCode,' ', WarehouseName, ' - ', S_RegionalName)
ELSE ''
END AS WarehouseName,
DATE_FORMAT(PurchaseOrderDate, '%d %M %Y') AS DisplayDate
FROM purchase_order
LEFT JOIN item_category ON PurchaseOrderItemCategoryID = itemCategoryID
LEFT JOIN supplier ON SupplierID = PurchaseOrderSupplierID
LEFT JOIN warehouse ON WarehouseID = PurchaseOrderWarehouseID
LEFT JOIN s_regional ON S_RegionalID = WarehouseS_RegionalID
LEFT JOIN m_branch ON M_BranchID = WarehouseM_BranchID
WHERE PurchaseOrderIsActive = 'Y'
AND PurchaseOrderStatus = 'Pending'
AND PurchaseOrderNumber LIKE ?
)
ORDER BY Date DESC";
$sqlTotal = "SELECT COUNT(*) AS total FROM ($sqlSelect) AS x";
$qry = $this->db->query($sqlTotal, $params);
$number_limit = 20;
$number_offset = 0;
if ($page > 0) {
$number_offset = ($prm['page'] - 1) * $number_limit;
}
$totalCount = 0;
$totalPage = 0;
if ($qry) {
$totalCount = $qry->row_array()["total"];
$totalPage = ceil($totalCount / $number_limit);
} else {
$this->sys_error_db("Error searching count");
exit;
}
$sql_painated = $sqlSelect . " LIMIT ? OFFSET ?";
$params_paginated = array_merge($params, [$number_limit, $number_offset]);
$qry_end = $this->db->query($sql_painated, $params_paginated);
if ($qry_end) {
$rows = $qry_end->result_array();
} else {
$this->sys_error_db("Error searching");
exit;
}
echo $this->db->last_query();
exit;
$result = array(
'total' => $totalPage,
'records' => $rows,
// "qry" => $this->db->last_query()
);
$this->sys_ok($result);
}
}