From fbc4f96a4658939230a8702b94d02a1c37509258 Mon Sep 17 00:00:00 2001 From: marco370 <48531002-marco370@users.noreply.replit.com> Date: Thu, 23 Oct 2025 17:20:00 +0000 Subject: [PATCH] Improve service planning display and guard information retrieval Updates the header text for the service planning page from "Visione Servizi" to "Planning di Servizio". Modifies the backend to retrieve and display guard names by concatenating first and last names, instead of using a single `fullName` field. Adjusts database query ordering for guards and patrol route stops, and refactors the `patrolRouteStops` join condition. Replit-Commit-Author: Agent Replit-Commit-Session-Id: e0b5b11c-5b75-4389-8ea9-5f3cd9332f88 Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/6d543d2c-20b9-4ea6-93fe-70fe9b1d9f80/e0b5b11c-5b75-4389-8ea9-5f3cd9332f88/rjLU1aT --- .replit | 4 ++++ client/src/pages/service-planning.tsx | 2 +- server/routes.ts | 16 ++++++++-------- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.replit b/.replit index 75d108a..84042ea 100644 --- a/.replit +++ b/.replit @@ -19,6 +19,10 @@ externalPort = 80 localPort = 33035 externalPort = 3001 +[[ports]] +localPort = 35903 +externalPort = 6000 + [[ports]] localPort = 41295 externalPort = 5173 diff --git a/client/src/pages/service-planning.tsx b/client/src/pages/service-planning.tsx index 05efa08..a7c30a8 100644 --- a/client/src/pages/service-planning.tsx +++ b/client/src/pages/service-planning.tsx @@ -140,7 +140,7 @@ export default function ServicePlanning() { {/* Header */}
-

Visione Servizi

+

Planning di Servizio

Visualizza orari e dotazioni per agente fisso, agente mobile o per sito

diff --git a/server/routes.ts b/server/routes.ts index 1545548..16941e1 100644 --- a/server/routes.ts +++ b/server/routes.ts @@ -1501,7 +1501,7 @@ export async function registerRoutes(app: Express): Promise { .select() .from(guards) .where(eq(guards.location, location as any)) - .orderBy(guards.fullName); + .orderBy(guards.firstName, guards.lastName); // Ottieni tutti i turni della settimana const allWeekShifts = await db @@ -1579,7 +1579,7 @@ export async function registerRoutes(app: Express): Promise { return { guardId: guard.id, - guardName: guard.fullName, + guardName: `${guard.firstName} ${guard.lastName}`, badgeNumber: guard.badgeNumber, shifts, totalHours, @@ -1616,7 +1616,7 @@ export async function registerRoutes(app: Express): Promise { .select() .from(guards) .where(eq(guards.location, location as any)) - .orderBy(guards.fullName); + .orderBy(guards.firstName, guards.lastName); // Ottieni tutte le patrol routes della settimana per la sede const weekRoutes = await db @@ -1646,7 +1646,7 @@ export async function registerRoutes(app: Express): Promise { }) .from(patrolRouteStops) .innerJoin(sites, eq(patrolRouteStops.siteId, sites.id)) - .where(eq(patrolRouteStops.routeId, routeData.route.id)) + .where(eq(patrolRouteStops.patrolRouteId, routeData.route.id)) .orderBy(asc(patrolRouteStops.sequenceOrder)); return { @@ -1680,7 +1680,7 @@ export async function registerRoutes(app: Express): Promise { return { guardId: guard.id, - guardName: guard.fullName, + guardName: `${guard.firstName} ${guard.lastName}`, badgeNumber: guard.badgeNumber, routes: guardRoutes, totalRoutes, @@ -1723,7 +1723,7 @@ export async function registerRoutes(app: Express): Promise { .select() .from(guards) .where(eq(guards.location, location as any)) - .orderBy(guards.fullName); + .orderBy(guards.firstName, guards.lastName); // Ottieni tutti i turni della settimana per la sede (con JOIN su sites per filtrare location) const weekShifts = await db @@ -1792,7 +1792,7 @@ export async function registerRoutes(app: Express): Promise { return { guardId: guard.id, - guardName: guard.fullName, + guardName: `${guard.firstName} ${guard.lastName}`, badgeNumber: guard.badgeNumber, shifts, totalHours, @@ -1961,7 +1961,7 @@ export async function registerRoutes(app: Express): Promise { .select() .from(guards) .where(eq(guards.location, location as any)) - .orderBy(guards.fullName); + .orderBy(guards.firstName, guards.lastName); // Ottieni tutti i turni del mese per la sede const monthShifts = await db