App erstellt
This commit is contained in:
+14
-7
@@ -1,17 +1,24 @@
|
||||
{
|
||||
"gitSyncId": "6a61e887eeb7b478efb4d43d_fd6147fe-e2bf-4150-bd3f-3b2705b1865c",
|
||||
"id": "Page1_JSObject1.TeilnehmerprimaryColumnscustomColumn1onClick",
|
||||
"gitSyncId": "6a6869faa8b745bffc91aca9_a23dd8b9-ad48-4651-a61c-115904ae2a40",
|
||||
"id": "Page1_CheckinData.quantity",
|
||||
"pluginId": "js-plugin",
|
||||
"pluginType": "JS",
|
||||
"unpublishedAction": {
|
||||
"actionConfiguration": {
|
||||
"encodeParamsToggle": true,
|
||||
"jsArguments": [],
|
||||
"jsArguments": [
|
||||
{
|
||||
"name": "value"
|
||||
},
|
||||
{
|
||||
"name": "fallback",
|
||||
"value": "{{0}}"
|
||||
}
|
||||
],
|
||||
"paginationType": "NONE",
|
||||
"timeoutInMillisecond": 10000
|
||||
},
|
||||
"clientSideExecution": true,
|
||||
"collectionId": "Page1_JSObject1",
|
||||
"collectionId": "Page1_CheckinData",
|
||||
"confirmBeforeExecute": false,
|
||||
"datasource": {
|
||||
"isAutoGenerated": false,
|
||||
@@ -23,8 +30,8 @@
|
||||
"key": "body"
|
||||
}
|
||||
],
|
||||
"fullyQualifiedName": "JSObject1.TeilnehmerprimaryColumnscustomColumn1onClick",
|
||||
"name": "TeilnehmerprimaryColumnscustomColumn1onClick",
|
||||
"fullyQualifiedName": "CheckinData.quantity",
|
||||
"name": "quantity",
|
||||
"pageId": "Page1",
|
||||
"runBehaviour": "MANUAL",
|
||||
"userSetOnLoad": false
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"gitSyncId": "6a6869faa8b745bffc91aca9_dbdaaa85-b218-4a6c-a2e1-30e6b7046b41",
|
||||
"id": "Page1_CheckinData.saveAusgabe",
|
||||
"pluginId": "js-plugin",
|
||||
"pluginType": "JS",
|
||||
"unpublishedAction": {
|
||||
"actionConfiguration": {
|
||||
"encodeParamsToggle": true,
|
||||
"jsArguments": [
|
||||
{
|
||||
"name": "personId"
|
||||
},
|
||||
{
|
||||
"name": "schluessel"
|
||||
},
|
||||
{
|
||||
"name": "stirnlampe"
|
||||
}
|
||||
],
|
||||
"paginationType": "NONE",
|
||||
"timeoutInMillisecond": 10000
|
||||
},
|
||||
"collectionId": "Page1_CheckinData",
|
||||
"confirmBeforeExecute": false,
|
||||
"datasource": {
|
||||
"isAutoGenerated": false,
|
||||
"name": "UNUSED_DATASOURCE",
|
||||
"pluginId": "js-plugin"
|
||||
},
|
||||
"dynamicBindingPathList": [
|
||||
{
|
||||
"key": "body"
|
||||
}
|
||||
],
|
||||
"fullyQualifiedName": "CheckinData.saveAusgabe",
|
||||
"name": "saveAusgabe",
|
||||
"pageId": "Page1",
|
||||
"runBehaviour": "MANUAL",
|
||||
"userSetOnLoad": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"gitSyncId": "6a6869faa8b745bffc91aca9_2e3e8c29-eae6-41ae-b866-42230123e371",
|
||||
"id": "Page1_CheckinData.saveRueckgabe",
|
||||
"pluginId": "js-plugin",
|
||||
"pluginType": "JS",
|
||||
"unpublishedAction": {
|
||||
"actionConfiguration": {
|
||||
"encodeParamsToggle": true,
|
||||
"jsArguments": [
|
||||
{
|
||||
"name": "personId"
|
||||
},
|
||||
{
|
||||
"name": "schluesselRetour"
|
||||
},
|
||||
{
|
||||
"name": "stirnlampeRetour"
|
||||
}
|
||||
],
|
||||
"paginationType": "NONE",
|
||||
"timeoutInMillisecond": 10000
|
||||
},
|
||||
"collectionId": "Page1_CheckinData",
|
||||
"confirmBeforeExecute": false,
|
||||
"datasource": {
|
||||
"isAutoGenerated": false,
|
||||
"name": "UNUSED_DATASOURCE",
|
||||
"pluginId": "js-plugin"
|
||||
},
|
||||
"dynamicBindingPathList": [
|
||||
{
|
||||
"key": "body"
|
||||
}
|
||||
],
|
||||
"fullyQualifiedName": "CheckinData.saveRueckgabe",
|
||||
"name": "saveRueckgabe",
|
||||
"pageId": "Page1",
|
||||
"runBehaviour": "MANUAL",
|
||||
"userSetOnLoad": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"gitSyncId": "6a6869faa8b745bffc91aca9_9e0a4cd5-348e-4d47-94e2-a5971d349175",
|
||||
"id": "Page1_qryDiagnoseTermin",
|
||||
"pluginId": "mssql-plugin",
|
||||
"pluginType": "DB",
|
||||
"unpublishedAction": {
|
||||
"actionConfiguration": {
|
||||
"body": "DECLARE @IDReise bigint =\n {{ Termin.selectedOptionValue }};\n\nSELECT\n @IDReise AS AusgewaehlteIDReise,\n\n R.Code AS Reisecode,\n R.Bezeichnung AS Reise,\n P.Bezeichnung AS Produkt,\n R.TerminVon,\n R.TerminBis,\n\n COUNT(DISTINCT B.IDBuchung)\n AS AnzahlBuchungen,\n\n COUNT(BT.IDBuchungTN)\n AS AnzahlTeilnehmende,\n\n SUM(\n CASE\n WHEN BT.Status = N'F'\n THEN 1\n ELSE 0\n END\n ) AS Status_F,\n\n SUM(\n CASE\n WHEN BT.Status = N'O'\n THEN 1\n ELSE 0\n END\n ) AS Status_O,\n\n SUM(\n CASE\n WHEN COALESCE(BT.Status, N'') = N''\n THEN 1\n ELSE 0\n END\n ) AS Status_Leer,\n\n SUM(\n CASE\n WHEN BT.Status NOT IN (N'F', N'O')\n AND COALESCE(BT.Status, N'') <> N''\n THEN 1\n ELSE 0\n END\n ) AS Andere_Status\n\nFROM dbo.Reise R\n\nINNER JOIN dbo.Produkt P\n ON P.IDProdukt = R.IDProdukt_FS\n\nLEFT JOIN dbo.Buchung B\n ON B.IDReise_FS = R.IDReise\n\nLEFT JOIN dbo.BuchungTN BT\n ON BT.IDBuchung_FS = B.IDBuchung\n\nWHERE\n R.IDReise = @IDReise\n\nGROUP BY\n R.Code,\n R.Bezeichnung,\n P.Bezeichnung,\n R.TerminVon,\n R.TerminBis;",
|
||||
"encodeParamsToggle": true,
|
||||
"paginationType": "NONE",
|
||||
"pluginSpecifiedTemplates": [
|
||||
{
|
||||
"value": true
|
||||
}
|
||||
],
|
||||
"timeoutInMillisecond": 10000
|
||||
},
|
||||
"confirmBeforeExecute": false,
|
||||
"datasource": {
|
||||
"id": "Buspro Datenbank",
|
||||
"isAutoGenerated": false,
|
||||
"name": "Buspro Datenbank",
|
||||
"pluginId": "mssql-plugin"
|
||||
},
|
||||
"dynamicBindingPathList": [
|
||||
{
|
||||
"key": "body"
|
||||
}
|
||||
],
|
||||
"name": "qryDiagnoseTermin",
|
||||
"pageId": "Page1",
|
||||
"runBehaviour": "MANUAL",
|
||||
"userSetOnLoad": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
DECLARE @IDReise bigint =
|
||||
{{ Termin.selectedOptionValue }};
|
||||
|
||||
SELECT
|
||||
@IDReise AS AusgewaehlteIDReise,
|
||||
|
||||
R.Code AS Reisecode,
|
||||
R.Bezeichnung AS Reise,
|
||||
P.Bezeichnung AS Produkt,
|
||||
R.TerminVon,
|
||||
R.TerminBis,
|
||||
|
||||
COUNT(DISTINCT B.IDBuchung)
|
||||
AS AnzahlBuchungen,
|
||||
|
||||
COUNT(BT.IDBuchungTN)
|
||||
AS AnzahlTeilnehmende,
|
||||
|
||||
SUM(
|
||||
CASE
|
||||
WHEN BT.Status = N'F'
|
||||
THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
) AS Status_F,
|
||||
|
||||
SUM(
|
||||
CASE
|
||||
WHEN BT.Status = N'O'
|
||||
THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
) AS Status_O,
|
||||
|
||||
SUM(
|
||||
CASE
|
||||
WHEN COALESCE(BT.Status, N'') = N''
|
||||
THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
) AS Status_Leer,
|
||||
|
||||
SUM(
|
||||
CASE
|
||||
WHEN BT.Status NOT IN (N'F', N'O')
|
||||
AND COALESCE(BT.Status, N'') <> N''
|
||||
THEN 1
|
||||
ELSE 0
|
||||
END
|
||||
) AS Andere_Status
|
||||
|
||||
FROM dbo.Reise R
|
||||
|
||||
INNER JOIN dbo.Produkt P
|
||||
ON P.IDProdukt = R.IDProdukt_FS
|
||||
|
||||
LEFT JOIN dbo.Buchung B
|
||||
ON B.IDReise_FS = R.IDReise
|
||||
|
||||
LEFT JOIN dbo.BuchungTN BT
|
||||
ON BT.IDBuchung_FS = B.IDBuchung
|
||||
|
||||
WHERE
|
||||
R.IDReise = @IDReise
|
||||
|
||||
GROUP BY
|
||||
R.Code,
|
||||
R.Bezeichnung,
|
||||
P.Bezeichnung,
|
||||
R.TerminVon,
|
||||
R.TerminBis;
|
||||
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"gitSyncId": "6a6869faa8b745bffc91aca9_fbfc060a-c297-4a06-8fd6-b0f16db3e35b",
|
||||
"id": "Page1_qryHaeuser",
|
||||
"pluginId": "mssql-plugin",
|
||||
"pluginType": "DB",
|
||||
"unpublishedAction": {
|
||||
"actionConfiguration": {
|
||||
"body": "WITH ProdukteMitTrennern AS\n(\n SELECT\n P.Bezeichnung,\n T1.Position1,\n T2.Position2\n\n FROM dbo.Produkt P\n\n CROSS APPLY\n (\n SELECT\n CHARINDEX(\n N' - ',\n P.Bezeichnung\n ) AS Position1\n ) T1\n\n CROSS APPLY\n (\n SELECT\n CHARINDEX(\n N' - ',\n P.Bezeichnung,\n T1.Position1 + 3\n ) AS Position2\n ) T2\n\n WHERE\n COALESCE(P.Status, N'') <> N'L'\n AND P.Bezeichnung LIKE N'%Sportclub%'\n),\n\nRoheHaeuser AS\n(\n SELECT\n LTRIM(RTRIM(\n SUBSTRING(\n Bezeichnung,\n Position1 + 3,\n Position2 - Position1 - 3\n )\n )) AS Haus\n\n FROM ProdukteMitTrennern\n\n WHERE\n Position1 > 0\n AND Position2 > Position1\n),\n\nBereinigteHaeuser AS\n(\n SELECT\n REPLACE(\n REPLACE(\n REPLACE(\n REPLACE(\n Haus,\n NCHAR(160),\n N' '\n ),\n NCHAR(8203),\n N''\n ),\n CHAR(13),\n N''\n ),\n CHAR(10),\n N''\n ) AS Haus\n\n FROM RoheHaeuser\n),\n\nKanonischeHaeuser AS\n(\n SELECT\n CASE\n WHEN Haus LIKE N'Sportclub Steinach%'\n THEN N'Sportclub Steinachhof'\n\n WHEN Haus LIKE N'Sportclub Wal%schlössli'\n THEN N'Sportclub Waldschlössli'\n\n ELSE Haus\n END AS Haus\n\n FROM BereinigteHaeuser\n)\n\nSELECT DISTINCT\n Haus AS label,\n Haus AS value\n\nFROM KanonischeHaeuser\n\nWHERE\n NULLIF(Haus, N'') IS NOT NULL\n\nORDER BY\n label;",
|
||||
"encodeParamsToggle": true,
|
||||
"paginationType": "NONE",
|
||||
"pluginSpecifiedTemplates": [
|
||||
{
|
||||
"value": true
|
||||
}
|
||||
],
|
||||
"timeoutInMillisecond": 10000
|
||||
},
|
||||
"confirmBeforeExecute": false,
|
||||
"datasource": {
|
||||
"id": "Buspro Datenbank",
|
||||
"isAutoGenerated": false,
|
||||
"name": "Buspro Datenbank",
|
||||
"pluginId": "mssql-plugin"
|
||||
},
|
||||
"dynamicBindingPathList": [],
|
||||
"name": "qryHaeuser",
|
||||
"pageId": "Page1",
|
||||
"runBehaviour": "ON_PAGE_LOAD",
|
||||
"userSetOnLoad": true
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
WITH ProdukteMitTrennern AS
|
||||
(
|
||||
SELECT
|
||||
P.Bezeichnung,
|
||||
T1.Position1,
|
||||
T2.Position2
|
||||
|
||||
FROM dbo.Produkt P
|
||||
|
||||
CROSS APPLY
|
||||
(
|
||||
SELECT
|
||||
CHARINDEX(
|
||||
N' - ',
|
||||
P.Bezeichnung
|
||||
) AS Position1
|
||||
) T1
|
||||
|
||||
CROSS APPLY
|
||||
(
|
||||
SELECT
|
||||
CHARINDEX(
|
||||
N' - ',
|
||||
P.Bezeichnung,
|
||||
T1.Position1 + 3
|
||||
) AS Position2
|
||||
) T2
|
||||
|
||||
WHERE
|
||||
COALESCE(P.Status, N'') <> N'L'
|
||||
AND P.Bezeichnung LIKE N'%Sportclub%'
|
||||
),
|
||||
|
||||
RoheHaeuser AS
|
||||
(
|
||||
SELECT
|
||||
LTRIM(RTRIM(
|
||||
SUBSTRING(
|
||||
Bezeichnung,
|
||||
Position1 + 3,
|
||||
Position2 - Position1 - 3
|
||||
)
|
||||
)) AS Haus
|
||||
|
||||
FROM ProdukteMitTrennern
|
||||
|
||||
WHERE
|
||||
Position1 > 0
|
||||
AND Position2 > Position1
|
||||
),
|
||||
|
||||
BereinigteHaeuser AS
|
||||
(
|
||||
SELECT
|
||||
REPLACE(
|
||||
REPLACE(
|
||||
REPLACE(
|
||||
REPLACE(
|
||||
Haus,
|
||||
NCHAR(160),
|
||||
N' '
|
||||
),
|
||||
NCHAR(8203),
|
||||
N''
|
||||
),
|
||||
CHAR(13),
|
||||
N''
|
||||
),
|
||||
CHAR(10),
|
||||
N''
|
||||
) AS Haus
|
||||
|
||||
FROM RoheHaeuser
|
||||
),
|
||||
|
||||
KanonischeHaeuser AS
|
||||
(
|
||||
SELECT
|
||||
CASE
|
||||
WHEN Haus LIKE N'Sportclub Steinach%'
|
||||
THEN N'Sportclub Steinachhof'
|
||||
|
||||
WHEN Haus LIKE N'Sportclub Wal%schlössli'
|
||||
THEN N'Sportclub Waldschlössli'
|
||||
|
||||
ELSE Haus
|
||||
END AS Haus
|
||||
|
||||
FROM BereinigteHaeuser
|
||||
)
|
||||
|
||||
SELECT DISTINCT
|
||||
Haus AS label,
|
||||
Haus AS value
|
||||
|
||||
FROM KanonischeHaeuser
|
||||
|
||||
WHERE
|
||||
NULLIF(Haus, N'') IS NOT NULL
|
||||
|
||||
ORDER BY
|
||||
label;
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"gitSyncId": "6a6869faa8b745bffc91aca9_e28f767d-84ec-4b17-9922-6e732ebf2aac",
|
||||
"id": "Page1_qryReisen",
|
||||
"pluginId": "mssql-plugin",
|
||||
"pluginType": "DB",
|
||||
"unpublishedAction": {
|
||||
"actionConfiguration": {
|
||||
"body": "DECLARE @Haus nvarchar(200) =\n {{ Hausauswahl.selectedOptionValue }};\n\nDECLARE @Heute date =\n CAST(GETDATE() AS date);\n\nSELECT\n CONCAT(\n CONVERT(varchar(10), R.TerminVon, 104),\n N' – ',\n CONVERT(varchar(10), R.TerminBis, 104),\n N' | ',\n P.Bezeichnung,\n CASE\n WHEN NULLIF(R.Code, N'') IS NOT NULL\n THEN CONCAT(N' | ', R.Code)\n ELSE N''\n END\n ) AS label,\n\n R.IDReise AS value,\n\n R.IDReise,\n R.Code AS Reisecode,\n R.Bezeichnung AS Reise,\n P.Bezeichnung AS Produkt,\n R.TerminVon,\n R.TerminBis\nFROM dbo.Reise R\nINNER JOIN dbo.Produkt P\n ON P.IDProdukt = R.IDProdukt_FS\nWHERE\n COALESCE(R.Status, N'') <> N'L'\n AND COALESCE(P.Status, N'') <> N'L'\n AND CHARINDEX(@Haus, P.Bezeichnung) > 0\n\n -- Reise überschneidet den Zeitraum heute -7 bis heute +20\n AND CAST(R.TerminBis AS date) >=\n DATEADD(DAY, -7, @Heute)\n\n AND CAST(R.TerminVon AS date) <=\n DATEADD(DAY, 20, @Heute)\nORDER BY\n R.TerminVon,\n P.Bezeichnung,\n R.Code;",
|
||||
"encodeParamsToggle": true,
|
||||
"paginationType": "NONE",
|
||||
"pluginSpecifiedTemplates": [
|
||||
{
|
||||
"value": true
|
||||
}
|
||||
],
|
||||
"timeoutInMillisecond": 10000
|
||||
},
|
||||
"confirmBeforeExecute": false,
|
||||
"datasource": {
|
||||
"id": "Buspro Datenbank",
|
||||
"isAutoGenerated": false,
|
||||
"name": "Buspro Datenbank",
|
||||
"pluginId": "mssql-plugin"
|
||||
},
|
||||
"dynamicBindingPathList": [
|
||||
{
|
||||
"key": "body"
|
||||
}
|
||||
],
|
||||
"name": "qryReisen",
|
||||
"pageId": "Page1",
|
||||
"runBehaviour": "AUTOMATIC",
|
||||
"userSetOnLoad": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
DECLARE @Haus nvarchar(200) =
|
||||
{{ Hausauswahl.selectedOptionValue }};
|
||||
|
||||
DECLARE @Heute date =
|
||||
CAST(GETDATE() AS date);
|
||||
|
||||
SELECT
|
||||
CONCAT(
|
||||
CONVERT(varchar(10), R.TerminVon, 104),
|
||||
N' – ',
|
||||
CONVERT(varchar(10), R.TerminBis, 104),
|
||||
N' | ',
|
||||
P.Bezeichnung,
|
||||
CASE
|
||||
WHEN NULLIF(R.Code, N'') IS NOT NULL
|
||||
THEN CONCAT(N' | ', R.Code)
|
||||
ELSE N''
|
||||
END
|
||||
) AS label,
|
||||
|
||||
R.IDReise AS value,
|
||||
|
||||
R.IDReise,
|
||||
R.Code AS Reisecode,
|
||||
R.Bezeichnung AS Reise,
|
||||
P.Bezeichnung AS Produkt,
|
||||
R.TerminVon,
|
||||
R.TerminBis
|
||||
FROM dbo.Reise R
|
||||
INNER JOIN dbo.Produkt P
|
||||
ON P.IDProdukt = R.IDProdukt_FS
|
||||
WHERE
|
||||
COALESCE(R.Status, N'') <> N'L'
|
||||
AND COALESCE(P.Status, N'') <> N'L'
|
||||
AND CHARINDEX(@Haus, P.Bezeichnung) > 0
|
||||
|
||||
-- Reise überschneidet den Zeitraum heute -7 bis heute +20
|
||||
AND CAST(R.TerminBis AS date) >=
|
||||
DATEADD(DAY, -7, @Heute)
|
||||
|
||||
AND CAST(R.TerminVon AS date) <=
|
||||
DATEADD(DAY, 20, @Heute)
|
||||
ORDER BY
|
||||
R.TerminVon,
|
||||
P.Bezeichnung,
|
||||
R.Code;
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"gitSyncId": "6a6869faa8b745bffc91aca9_90a268fa-09ba-4502-adc1-fa6a57538075",
|
||||
"id": "Page1_qryTeilnehmer",
|
||||
"pluginId": "mssql-plugin",
|
||||
"pluginType": "DB",
|
||||
"unpublishedAction": {
|
||||
"actionConfiguration": {
|
||||
"body": "DECLARE @IDReise bigint =\n {{ Termin.selectedOptionValue }};\n\nSELECT\n BT.IDBuchungTN AS TeilnehmerID,\n B.Vorgang,\n AP.Name,\n AP.Vorname,\n\n COALESCE(\n NULLIF(E.Mailadresse, N''),\n N''\n ) AS [E-Mail],\n\n CONVERT(\n varchar(10),\n AP.Geburtsdatum,\n 104\n ) AS [Geb.-Datum],\n\n COALESCE(\n W.Zus_Wunsch,\n N''\n ) AS Zus_Wunsch,\n\n COALESCE(\n LJSON.LeistungenJSON,\n N'[]'\n ) AS LeistungenJSON,\n\n COALESCE(\n SP.Skipassnummer,\n N''\n ) AS Skipassnummer\n\nFROM dbo.Buchung B\n\nINNER JOIN dbo.BuchungTN BT\n ON BT.IDBuchung_FS = B.IDBuchung\n\nINNER JOIN dbo.AdressePerson AP\n ON AP.IDAdressePerson =\n BT.IDAdressePerson_FS\n\nOUTER APPLY\n(\n SELECT TOP (1)\n AK.Wert AS Mailadresse\n FROM dbo.AdresseKommunikation AK\n WHERE\n AK.IDAdressePerson_FS =\n AP.IDAdressePerson\n\n AND AK.Wert LIKE N'%@%'\n\n ORDER BY\n AK.IDAdresseKommunikation\n) E\n\nOUTER APPLY\n(\n SELECT\n STRING_AGG(\n NULLIF(\n LTRIM(RTRIM(BTW.Text)),\n N''\n ),\n N' · '\n ) AS Zus_Wunsch\n\n FROM dbo.BuchungTNWunsch BTW\n\n WHERE\n BTW.IDBuchungTN_FS =\n BT.IDBuchungTN\n) W\n\nOUTER APPLY\n(\n SELECT\n (\n SELECT\n X.Bezeichnung AS [name],\n X.Wert AS [value]\n\n FROM\n (\n SELECT DISTINCT\n L.Bezeichnung,\n\n CASE\n WHEN NULLIF(\n LTRIM(RTRIM(BTL.Nummer)),\n N''\n ) IS NOT NULL\n THEN BTL.Nummer\n\n ELSE N'1'\n END AS Wert\n\n FROM dbo.BuchungTNLeistung BTL\n\n INNER JOIN dbo.Leistung L\n ON L.IDLeistung =\n BTL.IDLeistung_FS\n\n WHERE\n BTL.IDBuchungTN_FS =\n BT.IDBuchungTN\n\n AND COALESCE(\n L.Status,\n N''\n ) <> N'L'\n\n AND EXISTS\n (\n SELECT 1\n\n FROM dbo.BuchungTNLeistungPreis BTLP\n\n INNER JOIN dbo.BuchungTNPreis BTP\n ON BTP.IDBuchungTNPreis =\n BTLP.IDBuchungTNPreis_FS\n\n WHERE\n BTLP.IDBuchungTNLeistung_FS =\n BTL.IDBuchungTNLeistung\n\n AND BTP.Status IN\n (N'F', N'O')\n )\n ) X\n\n ORDER BY\n X.Bezeichnung\n\n FOR JSON PATH\n ) AS LeistungenJSON\n) LJSON\n\nOUTER APPLY\n(\n SELECT TOP (1)\n BTL.Nummer AS Skipassnummer\n\n FROM dbo.BuchungTNLeistung BTL\n\n INNER JOIN dbo.Leistung L\n ON L.IDLeistung =\n BTL.IDLeistung_FS\n\n WHERE\n BTL.IDBuchungTN_FS =\n BT.IDBuchungTN\n\n AND L.Bezeichnung LIKE N'%Skipass%'\n\n AND NULLIF(\n LTRIM(RTRIM(BTL.Nummer)),\n N''\n ) IS NOT NULL\n\n AND EXISTS\n (\n SELECT 1\n\n FROM dbo.BuchungTNLeistungPreis BTLP\n\n INNER JOIN dbo.BuchungTNPreis BTP\n ON BTP.IDBuchungTNPreis =\n BTLP.IDBuchungTNPreis_FS\n\n WHERE\n BTLP.IDBuchungTNLeistung_FS =\n BTL.IDBuchungTNLeistung\n\n AND BTP.Status IN\n (N'F', N'O')\n )\n\n ORDER BY\n BTL.IDBuchungTNLeistung\n) SP\n\nWHERE\n B.IDReise_FS = @IDReise\n AND BT.Status = N'F'\n\nORDER BY\n B.Vorgang,\n AP.Name,\n AP.Vorname,\n BT.Position;",
|
||||
"encodeParamsToggle": true,
|
||||
"paginationType": "NONE",
|
||||
"pluginSpecifiedTemplates": [
|
||||
{
|
||||
"value": true
|
||||
}
|
||||
],
|
||||
"timeoutInMillisecond": 10000
|
||||
},
|
||||
"confirmBeforeExecute": false,
|
||||
"datasource": {
|
||||
"id": "Buspro Datenbank",
|
||||
"isAutoGenerated": false,
|
||||
"name": "Buspro Datenbank",
|
||||
"pluginId": "mssql-plugin"
|
||||
},
|
||||
"dynamicBindingPathList": [
|
||||
{
|
||||
"key": "body"
|
||||
}
|
||||
],
|
||||
"name": "qryTeilnehmer",
|
||||
"pageId": "Page1",
|
||||
"runBehaviour": "AUTOMATIC",
|
||||
"userSetOnLoad": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,194 @@
|
||||
DECLARE @IDReise bigint =
|
||||
{{ Termin.selectedOptionValue }};
|
||||
|
||||
SELECT
|
||||
BT.IDBuchungTN AS TeilnehmerID,
|
||||
B.Vorgang,
|
||||
AP.Name,
|
||||
AP.Vorname,
|
||||
|
||||
COALESCE(
|
||||
NULLIF(E.Mailadresse, N''),
|
||||
N''
|
||||
) AS [E-Mail],
|
||||
|
||||
CONVERT(
|
||||
varchar(10),
|
||||
AP.Geburtsdatum,
|
||||
104
|
||||
) AS [Geb.-Datum],
|
||||
|
||||
COALESCE(
|
||||
W.Zus_Wunsch,
|
||||
N''
|
||||
) AS Zus_Wunsch,
|
||||
|
||||
COALESCE(
|
||||
LJSON.LeistungenJSON,
|
||||
N'[]'
|
||||
) AS LeistungenJSON,
|
||||
|
||||
COALESCE(
|
||||
SP.Skipassnummer,
|
||||
N''
|
||||
) AS Skipassnummer
|
||||
|
||||
FROM dbo.Buchung B
|
||||
|
||||
INNER JOIN dbo.BuchungTN BT
|
||||
ON BT.IDBuchung_FS = B.IDBuchung
|
||||
|
||||
INNER JOIN dbo.AdressePerson AP
|
||||
ON AP.IDAdressePerson =
|
||||
BT.IDAdressePerson_FS
|
||||
|
||||
OUTER APPLY
|
||||
(
|
||||
SELECT TOP (1)
|
||||
AK.Wert AS Mailadresse
|
||||
FROM dbo.AdresseKommunikation AK
|
||||
WHERE
|
||||
AK.IDAdressePerson_FS =
|
||||
AP.IDAdressePerson
|
||||
|
||||
AND AK.Wert LIKE N'%@%'
|
||||
|
||||
ORDER BY
|
||||
AK.IDAdresseKommunikation
|
||||
) E
|
||||
|
||||
OUTER APPLY
|
||||
(
|
||||
SELECT
|
||||
STRING_AGG(
|
||||
NULLIF(
|
||||
LTRIM(RTRIM(BTW.Text)),
|
||||
N''
|
||||
),
|
||||
N' · '
|
||||
) AS Zus_Wunsch
|
||||
|
||||
FROM dbo.BuchungTNWunsch BTW
|
||||
|
||||
WHERE
|
||||
BTW.IDBuchungTN_FS =
|
||||
BT.IDBuchungTN
|
||||
) W
|
||||
|
||||
OUTER APPLY
|
||||
(
|
||||
SELECT
|
||||
(
|
||||
SELECT
|
||||
X.Bezeichnung AS [name],
|
||||
X.Wert AS [value]
|
||||
|
||||
FROM
|
||||
(
|
||||
SELECT DISTINCT
|
||||
L.Bezeichnung,
|
||||
|
||||
CASE
|
||||
WHEN NULLIF(
|
||||
LTRIM(RTRIM(BTL.Nummer)),
|
||||
N''
|
||||
) IS NOT NULL
|
||||
THEN BTL.Nummer
|
||||
|
||||
ELSE N'1'
|
||||
END AS Wert
|
||||
|
||||
FROM dbo.BuchungTNLeistung BTL
|
||||
|
||||
INNER JOIN dbo.Leistung L
|
||||
ON L.IDLeistung =
|
||||
BTL.IDLeistung_FS
|
||||
|
||||
WHERE
|
||||
BTL.IDBuchungTN_FS =
|
||||
BT.IDBuchungTN
|
||||
|
||||
AND COALESCE(
|
||||
L.Status,
|
||||
N''
|
||||
) <> N'L'
|
||||
|
||||
AND EXISTS
|
||||
(
|
||||
SELECT 1
|
||||
|
||||
FROM dbo.BuchungTNLeistungPreis BTLP
|
||||
|
||||
INNER JOIN dbo.BuchungTNPreis BTP
|
||||
ON BTP.IDBuchungTNPreis =
|
||||
BTLP.IDBuchungTNPreis_FS
|
||||
|
||||
WHERE
|
||||
BTLP.IDBuchungTNLeistung_FS =
|
||||
BTL.IDBuchungTNLeistung
|
||||
|
||||
AND BTP.Status IN
|
||||
(N'F', N'O')
|
||||
)
|
||||
) X
|
||||
|
||||
ORDER BY
|
||||
X.Bezeichnung
|
||||
|
||||
FOR JSON PATH
|
||||
) AS LeistungenJSON
|
||||
) LJSON
|
||||
|
||||
OUTER APPLY
|
||||
(
|
||||
SELECT TOP (1)
|
||||
BTL.Nummer AS Skipassnummer
|
||||
|
||||
FROM dbo.BuchungTNLeistung BTL
|
||||
|
||||
INNER JOIN dbo.Leistung L
|
||||
ON L.IDLeistung =
|
||||
BTL.IDLeistung_FS
|
||||
|
||||
WHERE
|
||||
BTL.IDBuchungTN_FS =
|
||||
BT.IDBuchungTN
|
||||
|
||||
AND L.Bezeichnung LIKE N'%Skipass%'
|
||||
|
||||
AND NULLIF(
|
||||
LTRIM(RTRIM(BTL.Nummer)),
|
||||
N''
|
||||
) IS NOT NULL
|
||||
|
||||
AND EXISTS
|
||||
(
|
||||
SELECT 1
|
||||
|
||||
FROM dbo.BuchungTNLeistungPreis BTLP
|
||||
|
||||
INNER JOIN dbo.BuchungTNPreis BTP
|
||||
ON BTP.IDBuchungTNPreis =
|
||||
BTLP.IDBuchungTNPreis_FS
|
||||
|
||||
WHERE
|
||||
BTLP.IDBuchungTNLeistung_FS =
|
||||
BTL.IDBuchungTNLeistung
|
||||
|
||||
AND BTP.Status IN
|
||||
(N'F', N'O')
|
||||
)
|
||||
|
||||
ORDER BY
|
||||
BTL.IDBuchungTNLeistung
|
||||
) SP
|
||||
|
||||
WHERE
|
||||
B.IDReise_FS = @IDReise
|
||||
AND BT.Status = N'F'
|
||||
|
||||
ORDER BY
|
||||
B.Vorgang,
|
||||
AP.Name,
|
||||
AP.Vorname,
|
||||
BT.Position;
|
||||
Reference in New Issue
Block a user