From c0f97e91cb8e38a06244a4b6f5c9786ce58090e9 Mon Sep 17 00:00:00 2001 From: paulcortez Date: Thu, 17 Apr 2025 10:59:40 +0800 Subject: [PATCH] added itemledger api added itemledger api --- application/config/routes.php | 1 + .../api/StoreFrontAPIController.php | 57 ++++++++++++++++--- application/models/BranchItemLedger.php | 6 ++ 3 files changed, 57 insertions(+), 7 deletions(-) diff --git a/application/config/routes.php b/application/config/routes.php index 9a79c45..d6bd735 100644 --- a/application/config/routes.php +++ b/application/config/routes.php @@ -56,6 +56,7 @@ $route['api/sf'] = 'api/StoreFrontAPIController/index'; $route['api/sfmodel/(:any)'] = 'api/StoreFrontAPIController/itemModel/$1'; $route['api/sficode/(:any)'] = 'api/StoreFrontAPIController/itemCode/$1'; $route['api/sfibranches'] = 'api/StoreFrontAPIController/branchesActive'; +$route['api/abrledger/(:any)'] = 'api/StoreFrontAPIController/auditLedgerByBranch/$1'; $route['(:any)'] = 'pages/$1'; $route['default_controller'] = 'pages/dashboard'; diff --git a/application/controllers/api/StoreFrontAPIController.php b/application/controllers/api/StoreFrontAPIController.php index c1b24c0..33115cc 100644 --- a/application/controllers/api/StoreFrontAPIController.php +++ b/application/controllers/api/StoreFrontAPIController.php @@ -14,6 +14,11 @@ class StoreFrontAPIController extends RestController date_default_timezone_set('Asia/Manila'); } + public function baseImgURL() + { + return "https://itemimg.karatworld.net/"; + } + public function index_get() { // Fetch data logic here $data = ['message' => 'GET request received']; @@ -21,9 +26,6 @@ class StoreFrontAPIController extends RestController } public function itemModel_get($modelno) { - - $baseImgUrl = "https://itemimg.karatworld.net/"; - $this->load->model("Items"); $this->load->model("BranchItemLedger"); @@ -60,7 +62,7 @@ class StoreFrontAPIController extends RestController 'SRP' => number_format($row->srp, 2), //'mrp' => $row->mrp, //'MRP' => '0.00', ---------- requested to remove MRP - 'pic' => $baseImgUrl.basename(str_replace('\\', '/', $row->pic)), + 'pic' => $this->baseImgURL().basename(str_replace('\\', '/', $row->pic)), 'Category' => $row->catCode, 'Gold ID' => $row->goldID, 'Supplier' => $row->supCode, @@ -81,8 +83,6 @@ class StoreFrontAPIController extends RestController } public function itemCode_get($itemcode) { - $baseImgUrl = "https://itemimg.karatworld.net/"; - $this->load->model("Items"); $this->load->model("BranchItemLedger"); @@ -118,7 +118,7 @@ class StoreFrontAPIController extends RestController 'SRP' => number_format($row->srp, 2), //'mrp' => $row->mrp, //'MRP' => '0.00', ---------- requested to remove MRP - 'pic' => $baseImgUrl.basename(str_replace('\\', '/', $row->pic)), + 'pic' => $this->baseImgURL().basename(str_replace('\\', '/', $row->pic)), 'Category' => $row->catCode, 'Gold ID' => $row->goldID, 'Supplier' => $row->supCode, @@ -150,4 +150,47 @@ class StoreFrontAPIController extends RestController $this->response($data, 200); } + + public function auditLedgerByBranch_get($brCode) + { + $this->load->model("BranchItemLedger"); + + $result = $this->BranchItemLedger->getDataViewByBrCodeNoZero($brCode); + + $data = []; + + if($result != null) + { + foreach($result->result() as $row) + { + $item[] = [ + 'Itemcode' => $row->itemcode, + 'Model No' => $row->modelno, + 'Series' => $row->seriescode, + 'Description' => $row->item_desc, + 'Karat' => $row->karat, + 'Size' => $row->size, + 'Grams' => $row->grams, + 'cts' => $row->cts, + 'SRP' => number_format($row->srp, 2), + 'pic' => $this->baseImgURL().basename(str_replace('\\', '/', $row->pic)), + 'Category' => $row->catCode, + 'Gold ID' => $row->goldID, + 'Supplier' => $row->supCode, + 'Modified Date' => $row->modifieddate, + 'Others' => '', + 'Remarks' => '', + 'Quantity' => $row->endingqty + ]; + } + + $data = ['status' => 'FOUND', + 'data' => $item]; + } + else + $data = ['status' => 'NOTFOUND', + 'data' => null]; + + $this->response($data, 200); + } } \ No newline at end of file diff --git a/application/models/BranchItemLedger.php b/application/models/BranchItemLedger.php index 5265ba3..22e5552 100644 --- a/application/models/BranchItemLedger.php +++ b/application/models/BranchItemLedger.php @@ -69,6 +69,12 @@ class BranchItemLedger extends CI_Model return $this->db->query($sql, array($brCode)); } + public function getDataViewByBrCodeNoZero($brCode) + { + $sql = "SELECT branchitemledger.itemcode, items.modelno, items.seriescode, items.item_desc, items.karat, items.size, items.grams, items.cts, items.mrp, items.srp, items.pic, items.manref, items.catCode, items.goldID, items.supCode, items.modifieddate, items.sourceDate, branchitemledger.brCode, branchitemledger.beginningqty, branchitemledger.inqty, branchitemledger.outqty, branchitemledger.sales, branchitemledger.adjustment, branchitemledger.endingqty, branchitemledger.editDate, branchitemledger.creationDate, branchitemledger.remarks FROM branchitemledger LEFT JOIN items ON branchitemledger.itemcode=items.itemcode WHERE branchitemledger.brCode=? AND branchitemledger.endingqty>0 ORDER BY items.catCode, items.modelno"; + return $this->db->query($sql, array($brCode)); + } + public function getItemTransactionHistory($modelno, $brCode) { $sql = "SELECT transID, modelno, (CASE WHEN transType='STOCKIN' THEN qty ELSE 0 END) as InQty, (CASE WHEN transType='STOCKOUT' THEN qty ELSE 0 END) as OutQty, (CASE WHEN transType='SALES' THEN qty ELSE 0 END) AS SalesQty, transType, transDate FROM (SELECT transID, modelno, qty, transDate, 'STOCKIN' AS transType FROM stockin WHERE modelno='".$this->db->escape_str($modelno)."' AND substring(transID, 1, (CHAR_LENGTH(transID)-8))='".$brCode."' UNION SELECT transID, modelno, qty, transDate, 'STOCKOUT' AS transType FROM stockout WHERE modelno='".$this->db->escape_str($modelno)."' AND substring(transID, 1, (CHAR_LENGTH(transID)-8))='".$brCode."' UNION SELECT transID, modelno, qty, transDate, 'SALES' AS transType FROM sales WHERE modelno='".$this->db->escape_str($modelno)."' AND substring(transID, 1, (CHAR_LENGTH(transID)-8))='".$brCode."') AS ItemMovement ORDER BY transDate";