44 lines
1.5 KiB
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']);
|
|
}
|
|
}
|