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