added new stuff for asset management

This commit is contained in:
Luca Haid
2025-06-27 10:48:32 +02:00
parent 62956e1539
commit fe73aa22ab
8 changed files with 690 additions and 210 deletions
@@ -6,6 +6,7 @@ class AssetManagementJournalModel extends TTCrudBaseModel {
public int $userId;
public string $site;
public int $borrowDate;
public ?int $expectedReturnDate;
public ?int $returnDate;
public ?string $borrowReason;
public ?string $returnReason;
@@ -16,11 +17,15 @@ class AssetManagementJournalModel extends TTCrudBaseModel {
public static function getLatestOpenEntries($assetIds): array {
$db = self::getDB();
$table = self::getFullyQualifiedTable();
$sql = "SELECT j1.*
FROM AssetManagementJournal j1
LEFT JOIN AssetManagementJournal j2
ON j1.assetId = j2.assetId AND j1.borrowDate < j2.borrowDate
WHERE j2.id IS NULL AND j1.assetId IN (" . implode(',', $assetIds) . ")";
$assetIdString = implode(',', array_map('intval', (array)$assetIds));
$sql = "
SELECT j.*
FROM (
SELECT *, ROW_NUMBER() OVER (PARTITION BY assetId ORDER BY borrowDate DESC, id DESC) as rn
FROM AssetManagementJournal
WHERE assetId IN ($assetIdString)
) j
WHERE j.rn = 1";
$result = $db->query($sql);
$entries = [];