Ein Termin von-bis belegt jeden Tag dazwischen
Zwei Fehler, nicht einer. Der sichtbare: Die Kachel stand nur am Anfangstag. Wer im Monatsraster auf den Mittwoch sah, sah nichts -- obwohl die Aktion von Montag bis Freitag lief. Der unsichtbare, und der ist der schlimmere: Der SERVER suchte Eintraege, deren ANFANG im sichtbaren Fenster liegt. Eine Aktion vom 28.09. bis zum 05.10. kam im Oktober deshalb ueberhaupt nicht an -- nicht "nur am ersten Tag markiert", sondern gar nicht da. Wer im Oktober plante, sah eine freie Woche, die belegt war. Jetzt entscheidet die UEBERSCHNEIDUNG, nicht der Anfang. Gebaut wurde es in nachTag() -- der einzigen Stelle, an der Eintraege auf Tage verteilt werden. Monat, Woche, Liste und Zeitstrahl holen sich alle dort; vier Ansichten einzeln nachzuruesten waeren vier Stellen, an denen die fuenfte vergessen wird. Das Ende wird abgeleitet, nicht gepflegt: aus event_ende ODER aus Uhrzeit plus Dauer. Ein Live von 22:00 ueber vier Stunden endet um 02:00 am naechsten Tag -- das stand bisher nirgends, obwohl die Zahlen da waren. Der Tagesdialog filterte selbst auf den Anfangstag. Im Raster war der Mittwoch markiert, tippte man ihn an, stand da "An diesem Tag steht nichts." Jetzt fragt er dieselbe Stelle wie das Raster. pruef-zeitraum.mjs: 16 Pruefungen, beide Fehler einzeln, mit drei Gegenproben (vor dem Anfang, nach dem Ende, Punkttermin). pruef-terminregel.mjs weiterhin 35/0. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -36,7 +36,7 @@ import { sichtbarEintrag, BEREICHE } from "./workspace-bereiche.js";
|
||||
laufen auseinander, und dann zeigt die Karte etwas anderes als der
|
||||
Kalender. */
|
||||
import {
|
||||
TERMIN_TAG_SQL, TERMIN_BEDINGUNG_SQL, TERMIN_GRUND_SQL, OHNE_ZUSTAENDE,
|
||||
TERMIN_TAG_SQL, TERMIN_ENDE_SQL, TERMIN_BEDINGUNG_SQL, TERMIN_GRUND_SQL, OHNE_ZUSTAENDE,
|
||||
} from "./workspace-termin-regel.js";
|
||||
|
||||
export const kalenderRouter = express.Router();
|
||||
@@ -463,10 +463,17 @@ kalenderRouter.get("/workspace/api/termine", (req, res) => {
|
||||
WHERE ${eintragRegel.wo}
|
||||
AND e.status NOT IN (${OHNE_ZUSTAENDE.map(() => "?").join(", ")})
|
||||
AND ${TERMIN_BEDINGUNG_SQL}
|
||||
AND ${TERMIN_TAG_SQL} >= ?
|
||||
/* UEBERSCHNEIDUNG, NICHT ANFANG (20.09.2026).
|
||||
Vorher stand hier zweimal TERMIN_TAG_SQL -- also: „faengt
|
||||
im sichtbaren Fenster an". Eine Aktion vom 28.09. bis zum
|
||||
05.10. fiel damit im Oktober komplett heraus. Richtig ist
|
||||
die Frage, ob sich Zeitraum und Fenster BERUEHREN:
|
||||
faengt vor dem Fensterende an UND hoert nach dem
|
||||
Fensteranfang auf. */
|
||||
AND ${TERMIN_TAG_SQL} <= ?
|
||||
AND ${TERMIN_ENDE_SQL} >= ?
|
||||
ORDER BY wann, e.uhrzeit, e.id`)
|
||||
.all(...eintragRegel.werte, ...OHNE_ZUSTAENDE, heuteLokal(), von, bis) : [];
|
||||
.all(...eintragRegel.werte, ...OHNE_ZUSTAENDE, heuteLokal(), bis, von) : [];
|
||||
|
||||
/* DER NAME DES BRETTS KOMMT MIT -- und zwar aus dem Katalog, nicht
|
||||
als abgeschriebene Liste im Browser. Ein Brett, das morgen
|
||||
|
||||
Reference in New Issue
Block a user