From ae033cb03ea378bfead457f534ad35ef617a68f7 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Fri, 15 Mar 2024 20:24:39 +0000 Subject: [PATCH] code fixes --- Admin/Installer.php | 1 + Controller/ApiController.php | 4 ++-- Models/StockMapper.php | 13 +++++++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Admin/Installer.php b/Admin/Installer.php index 9e24ff3..8941fef 100755 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -165,6 +165,7 @@ final class Installer extends InstallerAbstract ? \Modules\ClientManagement\Models\ClientMapper::class : \Modules\SupplierManagement\Models\SupplierMapper::class; + /** @var \Modules\ClientManagement\Models\Client|\Modules\SupplierManagement\Models\Supplier $person */ foreach ($mapper::yield()->execute() as $person) { $response = new HttpResponse(); $request = new HttpRequest(); diff --git a/Controller/ApiController.php b/Controller/ApiController.php index 2ab2929..b9860db 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -117,8 +117,8 @@ final class ApiController extends Controller $stock->unit = $request->getDataInt('unit') ?? 1; $stock->inventory = $request->getDataBool('inventory') ?? false; - $stock->client = $request->hasData('client') ? new NullClient($request->getDataInt('client')) : null; - $stock->supplier = $request->hasData('supplier') ? new NullSupplier($request->getDataInt('supplier')) : null; + $stock->client = $request->hasData('client') ? new NullClient((int) $request->getData('client')) : null; + $stock->supplier = $request->hasData('supplier') ? new NullSupplier((int) $request->getData('supplier')) : null; return $stock; } diff --git a/Models/StockMapper.php b/Models/StockMapper.php index f8be1de..2c869b8 100755 --- a/Models/StockMapper.php +++ b/Models/StockMapper.php @@ -16,7 +16,6 @@ namespace Modules\WarehouseManagement\Models; use Modules\Admin\Models\AddressMapper; use Modules\ClientManagement\Models\ClientMapper; -use Modules\ItemManagement\Models\Item; use Modules\ItemManagement\Models\StockIdentifierType; use Modules\SupplierManagement\Models\SupplierMapper; use phpOMS\DataStorage\Database\Mapper\DataMapperFactory; @@ -97,6 +96,15 @@ final class StockMapper extends DataMapperFactory */ public const PRIMARYFIELD = 'warehousemgmt_stock_id'; + /** + * Get stock distributions + * + * @param int[] $items Items + * + * @return array{dists:array, reserved:array, ordered:array} + * + * @since 1.0.0 + */ public static function getStockDistribution(array $items) : array { $dists = []; @@ -114,6 +122,7 @@ final class StockMapper extends DataMapperFactory $itemIdsString = \implode(',', $items); // @todo only select sales stock. Therefore we need a place to define the sales stock(s) + /** @var \Modules\WarehouseManagement\Models\StockDistribution[] $temp */ $temp = StockDistributionMapper::getAll() ->where('item', $items, 'IN') ->execute(); @@ -151,7 +160,7 @@ final class StockMapper extends DataMapperFactory SQL; $query = new Builder(self::$db); - $results = $query->raw($sql)->execute()->fetchAll(\PDO::FETCH_ASSOC); + $results = $query->raw($sql)->execute()?->fetchAll(\PDO::FETCH_ASSOC) ?? []; foreach ($results as $result) { if (!isset($reserved[(int) $result['billing_bill_element_item']])) {