Files
thetool/application/WarehouseStocktakeLog/WarehouseStocktakeLogModel.php

44 lines
1.5 KiB
PHP

<?php
class WarehouseStocktakeLogModel extends TTCrudBaseModel {
public int $id;
public int $stocktakeId;
public ?int $stocktakeItemId;
public string $action;
public ?string $details;
public int $userId;
public int $create;
/**
* Create a log entry
*/
public static function log(int $stocktakeId, string $action, ?int $stocktakeItemId = null, ?array $details = null, ?int $userId = null): self {
$me = mfValuecache::singleton()->get("me");
$logUserId = $userId ?? ($me ? $me->id : 0);
$log = new self();
$log->stocktakeId = $stocktakeId;
$log->stocktakeItemId = $stocktakeItemId;
$log->action = $action;
$log->details = $details ? json_encode($details) : null;
$log->userId = $logUserId;
$log->create = time();
$db = FronkDB::singleton();
$db->query("INSERT INTO WarehouseStocktakeLog (stocktakeId, stocktakeItemId, action, details, userId, `create`)
VALUES ({$log->stocktakeId}, " . ($log->stocktakeItemId ? $log->stocktakeItemId : "NULL") . ",
'{$db->escape($log->action)}', " . ($log->details ? "'{$db->escape($log->details)}'" : "NULL") . ",
{$log->userId}, {$log->create})");
$log->id = $db->insert_id;
return $log;
}
/**
* Get logs for a stocktake
*/
public static function getLogsForStocktake(int $stocktakeId): array {
return self::getAll(['stocktakeId' => $stocktakeId], 0, 0, ['create' => 'DESC']);
}
}