feat: add stolik2_api.js for real-time table order tracking and remove obsolete test files.
This commit is contained in:
@@ -1,16 +0,0 @@
|
||||
<?php
|
||||
$serverName = '192.168.20.20';
|
||||
$connectionOptions = ['Database' => 'Gastro', 'Uid' => 'sa', 'PWD' => 'karczma!@#26', 'CharacterSet' => 'UTF-8'];
|
||||
$conn = sqlsrv_connect($serverName, $connectionOptions);
|
||||
|
||||
$tsql = "
|
||||
SELECT
|
||||
r.ID, r.Numer, r.Opis, s.Nazwa as NazwaStolika, r.Status, r.FlgRozliczony, r.DataOtwarcia, r.DataZamkniecia
|
||||
FROM dbo.NGastroDTRachunek r
|
||||
LEFT JOIN dbo.NGastroStolik s ON s.ID = r.StolikID
|
||||
WHERE (r.Opis LIKE '%61%' OR s.Nazwa LIKE '%61%')
|
||||
";
|
||||
$stmt = sqlsrv_query($conn, $tsql);
|
||||
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
echo "Num: {$row['Numer']} | Opis: {$row['Opis']} | Stolik: {$row['NazwaStolika']} | Stat: {$row['Status']} | Rozl: {$row['FlgRozliczony']} | Otw: {$row['DataOtwarcia']->format('Y-m-d H:i')} | Zamkn: {$row['DataZamkniecia']->format('Y-m-d H:i')}\n";
|
||||
}
|
||||
@@ -427,6 +427,7 @@ const params = new URLSearchParams(location.search);
|
||||
window.openBillDialog = async function() {
|
||||
billState = { payment: '', doc: '', nip: '', company: null, selectedBillId: null };
|
||||
document.getElementById("billModal").classList.add("active");
|
||||
document.body.style.overflow = 'hidden'; // Zablokuj scroll tła
|
||||
|
||||
document.getElementById("billLoading").classList.remove("hidden");
|
||||
document.getElementById("billListContainer").classList.add("hidden");
|
||||
@@ -515,6 +516,7 @@ const params = new URLSearchParams(location.search);
|
||||
|
||||
window.closeBillDialog = function() {
|
||||
document.getElementById("billModal").classList.remove("active");
|
||||
document.body.style.overflow = ''; // Odblokuj scroll tła
|
||||
};
|
||||
|
||||
window.goToStep = function(stepId) {
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
<?php
|
||||
$serverName = '192.168.20.20';
|
||||
$connectionOptions = ['Database' => 'Gastro', 'Uid' => 'sa', 'PWD' => 'karczma!@#26', 'CharacterSet' => 'UTF-8'];
|
||||
$conn = sqlsrv_connect($serverName, $connectionOptions);
|
||||
|
||||
$tsql = "
|
||||
SELECT
|
||||
r.ID as RachunekID,
|
||||
r.Numer as RachunekNumer,
|
||||
r.Opis,
|
||||
s.Nazwa as NazwaStolika,
|
||||
r.DataOtwarcia
|
||||
FROM dbo.NGastroDTRachunek r
|
||||
LEFT JOIN dbo.NGastroStolik s ON s.ID = r.StolikID
|
||||
WHERE r.Status = 0
|
||||
";
|
||||
$stmt = sqlsrv_query($conn, $tsql);
|
||||
$count = 0;
|
||||
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
$count++;
|
||||
if ($count <= 20) {
|
||||
echo "Rachunek: " . $row['RachunekNumer'] . " | Opis: " . $row['Opis'] . " | Stolik: " . $row['NazwaStolika'] . " | Otwarcia: " . $row['DataOtwarcia']->format('Y-m-d') . "\n";
|
||||
}
|
||||
}
|
||||
echo "Total open bills: $count\n";
|
||||
@@ -1,134 +0,0 @@
|
||||
<?php
|
||||
|
||||
$_GET['table'] = 'O-47';
|
||||
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
|
||||
$serverName = '192.168.20.20';
|
||||
$connectionOptions = [
|
||||
'Database' => 'Gastro',
|
||||
'Uid' => 'sa',
|
||||
'PWD' => 'karczma!@#26',
|
||||
'CharacterSet' => 'UTF-8',
|
||||
];
|
||||
$conn = sqlsrv_connect($serverName, $connectionOptions);
|
||||
if (!$conn) {
|
||||
die(json_encode(['status' => 'error', 'message' => 'Błąd połączenia.']));
|
||||
}
|
||||
|
||||
$tableParam = isset($_GET['table']) ? strtolower(trim($_GET['table'])) : '';
|
||||
if (!$tableParam) {
|
||||
die(json_encode(['status' => 'success', 'data' => []]));
|
||||
}
|
||||
|
||||
// 1. & 2. & 3. Pobranie dzisiejszych rachunków ze statusem 0
|
||||
$tsqlBills = "
|
||||
SELECT
|
||||
r.ID,
|
||||
r.Numer,
|
||||
r.Opis,
|
||||
s.Nazwa as NazwaStolika
|
||||
FROM dbo.NGastroDTRachunek r
|
||||
LEFT JOIN dbo.NGastroStolik s ON s.ID = r.StolikID
|
||||
WHERE CAST(r.DataOtwarcia as DATE) = CAST(GETDATE() as DATE)
|
||||
AND r.Status = 0
|
||||
";
|
||||
|
||||
$stmtBills = sqlsrv_query($conn, $tsqlBills);
|
||||
if ($stmtBills === false) {
|
||||
die(json_encode(['status' => 'error', 'message' => 'Błąd pobierania rachunków.', 'errors' => sqlsrv_errors()]));
|
||||
}
|
||||
|
||||
$matchedBillIds = [];
|
||||
$bills = [];
|
||||
|
||||
// 4. Filtrujemy rachunki po nazwie stolika (tak jak w JS)
|
||||
while ($row = sqlsrv_fetch_array($stmtBills, SQLSRV_FETCH_ASSOC)) {
|
||||
$stolikNazwa = strtolower($row['NazwaStolika'] ?? '');
|
||||
$opis = strtolower($row['Opis'] ?? '');
|
||||
|
||||
// Elastyczne dopasowanie, uwzględnia literówkę 0 zamiast O
|
||||
$normalizedTableParam = str_replace('o', '0', $tableParam);
|
||||
$normalizedStolikNazwa = str_replace('o', '0', $stolikNazwa);
|
||||
$normalizedOpis = str_replace('o', '0', $opis);
|
||||
|
||||
if (
|
||||
$stolikNazwa === $tableParam ||
|
||||
strpos($stolikNazwa, $tableParam) !== false ||
|
||||
$opis === $tableParam ||
|
||||
strpos($opis, $tableParam) !== false ||
|
||||
$normalizedStolikNazwa === $normalizedTableParam ||
|
||||
strpos($normalizedStolikNazwa, $normalizedTableParam) !== false ||
|
||||
strpos($normalizedOpis, $normalizedTableParam) !== false
|
||||
) {
|
||||
$billId = $row['ID'];
|
||||
$matchedBillIds[] = $billId;
|
||||
$bills[$billId] = [
|
||||
'id' => $billId,
|
||||
'numer' => $row['Numer'],
|
||||
'opis' => $row['Opis'],
|
||||
'suma' => 0,
|
||||
'pozycje' => []
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($matchedBillIds)) {
|
||||
die(json_encode(['status' => 'success', 'data' => []]));
|
||||
}
|
||||
|
||||
// 5. Pobranie pozycji dla dopasowanych rachunków
|
||||
$inClause = implode("','", $matchedBillIds);
|
||||
|
||||
$tsqlItems = "
|
||||
SELECT
|
||||
rp.DTRachunekID,
|
||||
rp.ID as PozycjaID,
|
||||
ISNULL(NULLIF(t.NazwaNaZamowieniu, ''), t.NazwaTowaru) as NazwaTowaru,
|
||||
rp.Ilosc,
|
||||
rp.Cena,
|
||||
rp._c_Wartosc
|
||||
FROM dbo.NGastroDTRachunekPozycja rp
|
||||
LEFT JOIN dbo.NGastroTowar t ON t.ID = rp.TowarID
|
||||
WHERE rp.DTRachunekID IN ('$inClause')
|
||||
";
|
||||
|
||||
$stmtItems = sqlsrv_query($conn, $tsqlItems);
|
||||
if ($stmtItems === false) {
|
||||
die(json_encode(['status' => 'error', 'message' => 'Błąd pobierania pozycji.', 'errors' => sqlsrv_errors()]));
|
||||
}
|
||||
|
||||
while ($row = sqlsrv_fetch_array($stmtItems, SQLSRV_FETCH_ASSOC)) {
|
||||
$billId = $row['DTRachunekID'];
|
||||
|
||||
$nazwa = trim($row['NazwaTowaru'] ?? 'Brak nazwy');
|
||||
$ilosc = floatval($row['Ilosc']);
|
||||
$wartosc = floatval($row['_c_Wartosc']);
|
||||
$cena = floatval($row['Cena']);
|
||||
|
||||
// Grouping
|
||||
$key = $nazwa . "_" . $cena;
|
||||
if (!isset($bills[$billId]['pozycje'][$key])) {
|
||||
$bills[$billId]['pozycje'][$key] = [
|
||||
'nazwa' => $nazwa,
|
||||
'ilosc' => 0,
|
||||
'cena' => $cena,
|
||||
'wartosc' => 0
|
||||
];
|
||||
}
|
||||
|
||||
$bills[$billId]['pozycje'][$key]['ilosc'] += $ilosc;
|
||||
$bills[$billId]['pozycje'][$key]['wartosc'] += $wartosc;
|
||||
$bills[$billId]['suma'] += $wartosc;
|
||||
}
|
||||
|
||||
$finalData = [];
|
||||
foreach ($bills as $bill) {
|
||||
$bill['pozycje'] = array_values($bill['pozycje']);
|
||||
$finalData[] = $bill;
|
||||
}
|
||||
|
||||
echo json_encode([
|
||||
'status' => 'success',
|
||||
'data' => $finalData
|
||||
], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
||||
@@ -1,33 +0,0 @@
|
||||
<?php
|
||||
$serverName = '192.168.20.20';
|
||||
$connectionOptions = ['Database' => 'Gastro', 'Uid' => 'sa', 'PWD' => 'karczma!@#26', 'CharacterSet' => 'UTF-8'];
|
||||
$conn = sqlsrv_connect($serverName, $connectionOptions);
|
||||
|
||||
$tsql = "
|
||||
SELECT
|
||||
r.ID as RachunekID,
|
||||
r.Numer as RachunekNumer,
|
||||
r.Opis,
|
||||
r.DataZamkniecia,
|
||||
r.Status,
|
||||
r.FlgRozliczony,
|
||||
COUNT(rp.ID) as PozycjeCount,
|
||||
SUM(rp._c_Wartosc) as SumaWartosc
|
||||
FROM dbo.NGastroDTRachunek r
|
||||
LEFT JOIN dbo.NGastroDTRachunekPozycja rp ON rp.DTRachunekID = r.ID
|
||||
WHERE CAST(r.DataOtwarcia as DATE) = CAST(GETDATE() as DATE)
|
||||
GROUP BY r.ID, r.Numer, r.Opis, r.DataZamkniecia, r.Status, r.FlgRozliczony
|
||||
ORDER BY r.Numer DESC
|
||||
";
|
||||
|
||||
$stmt = sqlsrv_query($conn, $tsql);
|
||||
if (!$stmt) die(print_r(sqlsrv_errors(), true));
|
||||
|
||||
$bills = [];
|
||||
$count = 0;
|
||||
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
if ($count++ < 10) {
|
||||
print_r($row);
|
||||
}
|
||||
}
|
||||
echo "\nTotal active items: $count\n";
|
||||
23
test_kdz.php
23
test_kdz.php
@@ -1,23 +0,0 @@
|
||||
<?php
|
||||
$serverName = '192.168.20.20';
|
||||
$connectionOptions = ['Database' => 'Gastro', 'Uid' => 'sa', 'PWD' => 'karczma!@#26', 'CharacterSet' => 'UTF-8'];
|
||||
$conn = sqlsrv_connect($serverName, $connectionOptions);
|
||||
|
||||
$tsql = "
|
||||
SELECT TOP 20
|
||||
ISNULL(NULLIF(t.NazwaNaZamowieniu, ''), t.NazwaTowaru) as NazwaTowaru,
|
||||
rp.KonfiguracjaDrukowaniaZamowienID as RP_Konf,
|
||||
t.KonfiguracjaDrukowaniaZamowienID as T_Konf,
|
||||
kdz.SposobDrukowaniaZamowienID,
|
||||
kdz.DrukarkaZamowienID,
|
||||
kdz.DrukarkaFiskalnaID
|
||||
FROM dbo.NGastroDTRachunekPozycja rp
|
||||
LEFT JOIN dbo.NGastroTowar t ON t.ID = rp.TowarID
|
||||
LEFT JOIN dbo.NGastroKonfiguracjaDrukowaniaZamowien kdz ON kdz.ID = ISNULL(rp.KonfiguracjaDrukowaniaZamowienID, t.KonfiguracjaDrukowaniaZamowienID)
|
||||
WHERE CAST(rp.DataDodania AS DATE) = CAST(GETDATE() AS DATE)
|
||||
AND rp.StatusRealizacji = 1
|
||||
";
|
||||
$stmt = sqlsrv_query($conn, $tsql);
|
||||
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
print_r($row);
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
<?php
|
||||
$serverName = '192.168.20.20';
|
||||
$connectionOptions = ['Database' => 'Gastro', 'Uid' => 'sa', 'PWD' => 'karczma!@#26', 'CharacterSet' => 'UTF-8'];
|
||||
$conn = sqlsrv_connect($serverName, $connectionOptions);
|
||||
|
||||
$tableParam = 'O-61';
|
||||
|
||||
$tsql = "
|
||||
SELECT
|
||||
r.ID as RachunekID,
|
||||
r.Numer as RachunekNumer,
|
||||
r.Opis,
|
||||
s.Nazwa as NazwaStolika
|
||||
FROM dbo.NGastroDTRachunek r
|
||||
LEFT JOIN dbo.NGastroStolik s ON s.ID = r.StolikID
|
||||
WHERE CAST(r.DataOtwarcia as DATE) = CAST(GETDATE() as DATE)
|
||||
AND r.Status = 0
|
||||
";
|
||||
$stmt = sqlsrv_query($conn, $tsql);
|
||||
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
echo "Rachunek: " . $row['RachunekNumer'] . " | Opis: " . $row['Opis'] . " | Stolik: " . $row['NazwaStolika'] . "\n";
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
<?php
|
||||
$serverName = '192.168.20.20';
|
||||
$connectionOptions = ['Database' => 'Gastro', 'Uid' => 'sa', 'PWD' => 'karczma!@#26', 'CharacterSet' => 'UTF-8'];
|
||||
$conn = sqlsrv_connect($serverName, $connectionOptions);
|
||||
|
||||
$tsql = "
|
||||
SELECT
|
||||
r.ID as RachunekID,
|
||||
r.Numer as RachunekNumer,
|
||||
r.Opis,
|
||||
s.Nazwa as NazwaStolika,
|
||||
r.DataOtwarcia
|
||||
FROM dbo.NGastroDTRachunek r
|
||||
LEFT JOIN dbo.NGastroStolik s ON s.ID = r.StolikID
|
||||
WHERE CAST(r.DataOtwarcia as DATE) = CAST(GETDATE() as DATE)
|
||||
";
|
||||
$stmt = sqlsrv_query($conn, $tsql);
|
||||
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
|
||||
echo "Rachunek: " . $row['RachunekNumer'] . " | Opis: " . $row['Opis'] . " | Stolik: " . $row['NazwaStolika'] . " | Otwarcia: " . $row['DataOtwarcia']->format('Y-m-d H:i:s') . "\n";
|
||||
}
|
||||
Reference in New Issue
Block a user