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() {
|
window.openBillDialog = async function() {
|
||||||
billState = { payment: '', doc: '', nip: '', company: null, selectedBillId: null };
|
billState = { payment: '', doc: '', nip: '', company: null, selectedBillId: null };
|
||||||
document.getElementById("billModal").classList.add("active");
|
document.getElementById("billModal").classList.add("active");
|
||||||
|
document.body.style.overflow = 'hidden'; // Zablokuj scroll tła
|
||||||
|
|
||||||
document.getElementById("billLoading").classList.remove("hidden");
|
document.getElementById("billLoading").classList.remove("hidden");
|
||||||
document.getElementById("billListContainer").classList.add("hidden");
|
document.getElementById("billListContainer").classList.add("hidden");
|
||||||
@@ -515,6 +516,7 @@ const params = new URLSearchParams(location.search);
|
|||||||
|
|
||||||
window.closeBillDialog = function() {
|
window.closeBillDialog = function() {
|
||||||
document.getElementById("billModal").classList.remove("active");
|
document.getElementById("billModal").classList.remove("active");
|
||||||
|
document.body.style.overflow = ''; // Odblokuj scroll tła
|
||||||
};
|
};
|
||||||
|
|
||||||
window.goToStep = function(stepId) {
|
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