Compare commits
No commits in common. "54d0048d5d4d32fdb9fa400a03fcfb0806dc9ab7" and "9d33dbfa228f3c346a80af584adddfcbabbb06ae" have entirely different histories.
54d0048d5d
...
9d33dbfa22
Binary file not shown.
BIN
database-backups/vigilanzaturni_v1.0.7_20251017_080727.sql.gz
Normal file
BIN
database-backups/vigilanzaturni_v1.0.7_20251017_080727.sql.gz
Normal file
Binary file not shown.
@ -669,27 +669,6 @@ export async function registerRoutes(app: Express): Promise<Server> {
|
|||||||
.from(sites)
|
.from(sites)
|
||||||
.where(eq(sites.isActive, true));
|
.where(eq(sites.isActive, true));
|
||||||
|
|
||||||
// Filtra siti con contratto valido per la data selezionata
|
|
||||||
const sitesWithValidContract = allSites.filter((site: any) => {
|
|
||||||
// Se il sito non ha date contrattuali, lo escludiamo
|
|
||||||
if (!site.contractStartDate || !site.contractEndDate) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Normalizza date per confronto day-only
|
|
||||||
const selectedDate = new Date(dateStr);
|
|
||||||
selectedDate.setHours(0, 0, 0, 0);
|
|
||||||
|
|
||||||
const contractStart = new Date(site.contractStartDate);
|
|
||||||
contractStart.setHours(0, 0, 0, 0);
|
|
||||||
|
|
||||||
const contractEnd = new Date(site.contractEndDate);
|
|
||||||
contractEnd.setHours(23, 59, 59, 999);
|
|
||||||
|
|
||||||
// Verifica che la data selezionata sia dentro il periodo contrattuale
|
|
||||||
return selectedDate >= contractStart && selectedDate <= contractEnd;
|
|
||||||
});
|
|
||||||
|
|
||||||
// Ottieni turni del giorno con assegnazioni
|
// Ottieni turni del giorno con assegnazioni
|
||||||
const dayShifts = await db
|
const dayShifts = await db
|
||||||
.select({
|
.select({
|
||||||
@ -707,8 +686,8 @@ export async function registerRoutes(app: Express): Promise<Server> {
|
|||||||
)
|
)
|
||||||
.groupBy(shifts.id);
|
.groupBy(shifts.id);
|
||||||
|
|
||||||
// Calcola copertura per ogni sito con contratto valido
|
// Calcola copertura per ogni sito
|
||||||
const sitesWithCoverage = sitesWithValidContract.map((site: any) => {
|
const sitesWithCoverage = allSites.map((site: any) => {
|
||||||
const siteShifts = dayShifts.filter((s: any) => s.shift.siteId === site.id);
|
const siteShifts = dayShifts.filter((s: any) => s.shift.siteId === site.id);
|
||||||
|
|
||||||
// Verifica copertura per ogni turno
|
// Verifica copertura per ogni turno
|
||||||
@ -757,7 +736,7 @@ export async function registerRoutes(app: Express): Promise<Server> {
|
|||||||
res.json({
|
res.json({
|
||||||
date: dateStr,
|
date: dateStr,
|
||||||
uncoveredSites: sortedUncoveredSites,
|
uncoveredSites: sortedUncoveredSites,
|
||||||
totalSites: sitesWithValidContract.length,
|
totalSites: allSites.length,
|
||||||
totalUncovered: uncoveredSites.length
|
totalUncovered: uncoveredSites.length
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
10
version.json
10
version.json
@ -1,13 +1,7 @@
|
|||||||
{
|
{
|
||||||
"version": "1.0.17",
|
"version": "1.0.16",
|
||||||
"lastUpdate": "2025-10-17T15:41:26.844Z",
|
"lastUpdate": "2025-10-17T15:19:44.130Z",
|
||||||
"changelog": [
|
"changelog": [
|
||||||
{
|
|
||||||
"version": "1.0.17",
|
|
||||||
"date": "2025-10-17",
|
|
||||||
"type": "patch",
|
|
||||||
"description": "Deployment automatico v1.0.17"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"version": "1.0.16",
|
"version": "1.0.16",
|
||||||
"date": "2025-10-17",
|
"date": "2025-10-17",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user