mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
Show who created each order and delivery in the system
Add a `creator` object to the order and delivery retrieval queries, joining the `users` table on the `createdBy` column to include creator details. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 7c468936-2a88-4686-ac0a-84921a45222d Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/7c468936-2a88-4686-ac0a-84921a45222d/jMd9JtM
This commit is contained in:
1 parent
7fcd550147
commit
5ef170b38c
3 files changed
+57
-6
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 71 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 319 KiB |
+57
-6
@@ -317,10 +317,18 @@ export class DatabaseStorage implements IStorage {
|
||||
updatedAt: orders.updatedAt,
|
||||
supplier: suppliers,
|
||||
group: groups,
|
||||
creator: {
|
||||
id: users.id,
|
||||
firstName: users.firstName,
|
||||
lastName: users.lastName,
|
||||
username: users.username,
|
||||
email: users.email
|
||||
}
|
||||
})
|
||||
.from(orders)
|
||||
.leftJoin(suppliers, eq(orders.supplierId, suppliers.id))
|
||||
.leftJoin(groups, eq(orders.groupId, groups.id));
|
||||
.leftJoin(groups, eq(orders.groupId, groups.id))
|
||||
.leftJoin(users, eq(orders.createdBy, users.id));
|
||||
|
||||
if (groupIds && groupIds.length > 0) {
|
||||
query = query.where(inArray(orders.groupId, groupIds));
|
||||
@@ -345,10 +353,18 @@ export class DatabaseStorage implements IStorage {
|
||||
updatedAt: orders.updatedAt,
|
||||
supplier: suppliers,
|
||||
group: groups,
|
||||
creator: {
|
||||
id: users.id,
|
||||
firstName: users.firstName,
|
||||
lastName: users.lastName,
|
||||
username: users.username,
|
||||
email: users.email
|
||||
}
|
||||
})
|
||||
.from(orders)
|
||||
.leftJoin(suppliers, eq(orders.supplierId, suppliers.id))
|
||||
.leftJoin(groups, eq(orders.groupId, groups.id))
|
||||
.leftJoin(users, eq(orders.createdBy, users.id))
|
||||
.where(
|
||||
and(
|
||||
gte(orders.plannedDate, startDate),
|
||||
@@ -385,10 +401,18 @@ export class DatabaseStorage implements IStorage {
|
||||
updatedAt: orders.updatedAt,
|
||||
supplier: suppliers,
|
||||
group: groups,
|
||||
creator: {
|
||||
id: users.id,
|
||||
firstName: users.firstName,
|
||||
lastName: users.lastName,
|
||||
username: users.username,
|
||||
email: users.email
|
||||
}
|
||||
})
|
||||
.from(orders)
|
||||
.leftJoin(suppliers, eq(orders.supplierId, suppliers.id))
|
||||
.leftJoin(groups, eq(orders.groupId, groups.id))
|
||||
.leftJoin(users, eq(orders.createdBy, users.id))
|
||||
.where(eq(orders.id, id));
|
||||
|
||||
return order;
|
||||
@@ -437,10 +461,18 @@ export class DatabaseStorage implements IStorage {
|
||||
updatedAt: deliveries.updatedAt,
|
||||
supplier: suppliers,
|
||||
group: groups,
|
||||
creator: {
|
||||
id: users.id,
|
||||
firstName: users.firstName,
|
||||
lastName: users.lastName,
|
||||
username: users.username,
|
||||
email: users.email
|
||||
}
|
||||
})
|
||||
.from(deliveries)
|
||||
.leftJoin(suppliers, eq(deliveries.supplierId, suppliers.id))
|
||||
.leftJoin(groups, eq(deliveries.groupId, groups.id));
|
||||
.leftJoin(groups, eq(deliveries.groupId, groups.id))
|
||||
.leftJoin(users, eq(deliveries.createdBy, users.id));
|
||||
|
||||
if (groupIds && groupIds.length > 0) {
|
||||
query = query.where(inArray(deliveries.groupId, groupIds));
|
||||
@@ -473,10 +505,18 @@ export class DatabaseStorage implements IStorage {
|
||||
updatedAt: deliveries.updatedAt,
|
||||
supplier: suppliers,
|
||||
group: groups,
|
||||
creator: {
|
||||
id: users.id,
|
||||
firstName: users.firstName,
|
||||
lastName: users.lastName,
|
||||
username: users.username,
|
||||
email: users.email
|
||||
}
|
||||
})
|
||||
.from(deliveries)
|
||||
.leftJoin(suppliers, eq(deliveries.supplierId, suppliers.id))
|
||||
.leftJoin(groups, eq(deliveries.groupId, groups.id))
|
||||
.leftJoin(users, eq(deliveries.createdBy, users.id))
|
||||
.where(
|
||||
and(
|
||||
gte(deliveries.scheduledDate, startDate),
|
||||
@@ -521,10 +561,18 @@ export class DatabaseStorage implements IStorage {
|
||||
updatedAt: deliveries.updatedAt,
|
||||
supplier: suppliers,
|
||||
group: groups,
|
||||
creator: {
|
||||
id: users.id,
|
||||
firstName: users.firstName,
|
||||
lastName: users.lastName,
|
||||
username: users.username,
|
||||
email: users.email
|
||||
}
|
||||
})
|
||||
.from(deliveries)
|
||||
.leftJoin(suppliers, eq(deliveries.supplierId, suppliers.id))
|
||||
.leftJoin(groups, eq(deliveries.groupId, groups.id))
|
||||
.leftJoin(users, eq(deliveries.createdBy, users.id))
|
||||
.where(eq(deliveries.id, id));
|
||||
|
||||
return delivery;
|
||||
@@ -655,8 +703,8 @@ export class DatabaseStorage implements IStorage {
|
||||
// Calculer les totaux de palettes et colis du mois (SEULEMENT livraisons delivered)
|
||||
// IMPORTANT: Utiliser deliveredDate pour filtrer par le mois de livraison effective
|
||||
let deliveredWhereCondition = and(
|
||||
gte(deliveries.deliveredDate, startDate),
|
||||
lt(deliveries.deliveredDate, endDate),
|
||||
gte(deliveries.deliveredDate, sql`${startDate}::timestamp`),
|
||||
lt(deliveries.deliveredDate, sql`${endDate}::timestamp`),
|
||||
eq(deliveries.status, 'delivered'),
|
||||
isNotNull(deliveries.deliveredDate)
|
||||
);
|
||||
@@ -1514,6 +1562,7 @@ export class MemStorage implements IStorage {
|
||||
const order: CustomerOrder = {
|
||||
id,
|
||||
...orderData,
|
||||
notes: orderData.notes || null,
|
||||
status: orderData.status || 'En attente de Commande',
|
||||
quantity: orderData.quantity || 1,
|
||||
deposit: orderData.deposit || "0.00" as any,
|
||||
@@ -1580,6 +1629,7 @@ export class MemStorage implements IStorage {
|
||||
const product: DlcProduct = {
|
||||
id,
|
||||
...productData,
|
||||
notes: productData.notes || null,
|
||||
status: productData.status || 'en_cours',
|
||||
quantity: productData.quantity || 1,
|
||||
unit: productData.unit || 'unité',
|
||||
@@ -1670,6 +1720,7 @@ export class MemStorage implements IStorage {
|
||||
const task: Task = {
|
||||
id,
|
||||
...taskData,
|
||||
description: taskData.description || null,
|
||||
status: taskData.status || 'pending',
|
||||
priority: taskData.priority || 'medium',
|
||||
completedAt: null,
|
||||
@@ -1694,7 +1745,7 @@ export class MemStorage implements IStorage {
|
||||
customerEmail: null,
|
||||
productDesignation: 'Table de jardin',
|
||||
productReference: null,
|
||||
gencode: null,
|
||||
gencode: null as string | null,
|
||||
quantity: 2,
|
||||
deposit: '150.00' as any,
|
||||
status: 'En attente de Commande',
|
||||
@@ -1716,7 +1767,7 @@ export class MemStorage implements IStorage {
|
||||
customerEmail: null,
|
||||
productDesignation: 'Chaises pliantes x4',
|
||||
productReference: null,
|
||||
gencode: null,
|
||||
gencode: null as string | null,
|
||||
quantity: 1,
|
||||
deposit: '80.00' as any,
|
||||
status: 'Commande passée',
|
||||
|
||||
Reference in new issue
Block a user