mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-21 14:08:15 +02:00
Merge pull request #95 from R0m1k3/1.1
Show who created each order and delivery in the system
This commit is contained in:
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,
|
updatedAt: orders.updatedAt,
|
||||||
supplier: suppliers,
|
supplier: suppliers,
|
||||||
group: groups,
|
group: groups,
|
||||||
|
creator: {
|
||||||
|
id: users.id,
|
||||||
|
firstName: users.firstName,
|
||||||
|
lastName: users.lastName,
|
||||||
|
username: users.username,
|
||||||
|
email: users.email
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.from(orders)
|
.from(orders)
|
||||||
.leftJoin(suppliers, eq(orders.supplierId, suppliers.id))
|
.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) {
|
if (groupIds && groupIds.length > 0) {
|
||||||
query = query.where(inArray(orders.groupId, groupIds));
|
query = query.where(inArray(orders.groupId, groupIds));
|
||||||
@@ -345,10 +353,18 @@ export class DatabaseStorage implements IStorage {
|
|||||||
updatedAt: orders.updatedAt,
|
updatedAt: orders.updatedAt,
|
||||||
supplier: suppliers,
|
supplier: suppliers,
|
||||||
group: groups,
|
group: groups,
|
||||||
|
creator: {
|
||||||
|
id: users.id,
|
||||||
|
firstName: users.firstName,
|
||||||
|
lastName: users.lastName,
|
||||||
|
username: users.username,
|
||||||
|
email: users.email
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.from(orders)
|
.from(orders)
|
||||||
.leftJoin(suppliers, eq(orders.supplierId, suppliers.id))
|
.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))
|
||||||
.where(
|
.where(
|
||||||
and(
|
and(
|
||||||
gte(orders.plannedDate, startDate),
|
gte(orders.plannedDate, startDate),
|
||||||
@@ -385,10 +401,18 @@ export class DatabaseStorage implements IStorage {
|
|||||||
updatedAt: orders.updatedAt,
|
updatedAt: orders.updatedAt,
|
||||||
supplier: suppliers,
|
supplier: suppliers,
|
||||||
group: groups,
|
group: groups,
|
||||||
|
creator: {
|
||||||
|
id: users.id,
|
||||||
|
firstName: users.firstName,
|
||||||
|
lastName: users.lastName,
|
||||||
|
username: users.username,
|
||||||
|
email: users.email
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.from(orders)
|
.from(orders)
|
||||||
.leftJoin(suppliers, eq(orders.supplierId, suppliers.id))
|
.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))
|
||||||
.where(eq(orders.id, id));
|
.where(eq(orders.id, id));
|
||||||
|
|
||||||
return order;
|
return order;
|
||||||
@@ -437,10 +461,18 @@ export class DatabaseStorage implements IStorage {
|
|||||||
updatedAt: deliveries.updatedAt,
|
updatedAt: deliveries.updatedAt,
|
||||||
supplier: suppliers,
|
supplier: suppliers,
|
||||||
group: groups,
|
group: groups,
|
||||||
|
creator: {
|
||||||
|
id: users.id,
|
||||||
|
firstName: users.firstName,
|
||||||
|
lastName: users.lastName,
|
||||||
|
username: users.username,
|
||||||
|
email: users.email
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.from(deliveries)
|
.from(deliveries)
|
||||||
.leftJoin(suppliers, eq(deliveries.supplierId, suppliers.id))
|
.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) {
|
if (groupIds && groupIds.length > 0) {
|
||||||
query = query.where(inArray(deliveries.groupId, groupIds));
|
query = query.where(inArray(deliveries.groupId, groupIds));
|
||||||
@@ -473,10 +505,18 @@ export class DatabaseStorage implements IStorage {
|
|||||||
updatedAt: deliveries.updatedAt,
|
updatedAt: deliveries.updatedAt,
|
||||||
supplier: suppliers,
|
supplier: suppliers,
|
||||||
group: groups,
|
group: groups,
|
||||||
|
creator: {
|
||||||
|
id: users.id,
|
||||||
|
firstName: users.firstName,
|
||||||
|
lastName: users.lastName,
|
||||||
|
username: users.username,
|
||||||
|
email: users.email
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.from(deliveries)
|
.from(deliveries)
|
||||||
.leftJoin(suppliers, eq(deliveries.supplierId, suppliers.id))
|
.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))
|
||||||
.where(
|
.where(
|
||||||
and(
|
and(
|
||||||
gte(deliveries.scheduledDate, startDate),
|
gte(deliveries.scheduledDate, startDate),
|
||||||
@@ -521,10 +561,18 @@ export class DatabaseStorage implements IStorage {
|
|||||||
updatedAt: deliveries.updatedAt,
|
updatedAt: deliveries.updatedAt,
|
||||||
supplier: suppliers,
|
supplier: suppliers,
|
||||||
group: groups,
|
group: groups,
|
||||||
|
creator: {
|
||||||
|
id: users.id,
|
||||||
|
firstName: users.firstName,
|
||||||
|
lastName: users.lastName,
|
||||||
|
username: users.username,
|
||||||
|
email: users.email
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.from(deliveries)
|
.from(deliveries)
|
||||||
.leftJoin(suppliers, eq(deliveries.supplierId, suppliers.id))
|
.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))
|
||||||
.where(eq(deliveries.id, id));
|
.where(eq(deliveries.id, id));
|
||||||
|
|
||||||
return delivery;
|
return delivery;
|
||||||
@@ -655,8 +703,8 @@ export class DatabaseStorage implements IStorage {
|
|||||||
// Calculer les totaux de palettes et colis du mois (SEULEMENT livraisons delivered)
|
// Calculer les totaux de palettes et colis du mois (SEULEMENT livraisons delivered)
|
||||||
// IMPORTANT: Utiliser deliveredDate pour filtrer par le mois de livraison effective
|
// IMPORTANT: Utiliser deliveredDate pour filtrer par le mois de livraison effective
|
||||||
let deliveredWhereCondition = and(
|
let deliveredWhereCondition = and(
|
||||||
gte(deliveries.deliveredDate, startDate),
|
gte(deliveries.deliveredDate, sql`${startDate}::timestamp`),
|
||||||
lt(deliveries.deliveredDate, endDate),
|
lt(deliveries.deliveredDate, sql`${endDate}::timestamp`),
|
||||||
eq(deliveries.status, 'delivered'),
|
eq(deliveries.status, 'delivered'),
|
||||||
isNotNull(deliveries.deliveredDate)
|
isNotNull(deliveries.deliveredDate)
|
||||||
);
|
);
|
||||||
@@ -1514,6 +1562,7 @@ export class MemStorage implements IStorage {
|
|||||||
const order: CustomerOrder = {
|
const order: CustomerOrder = {
|
||||||
id,
|
id,
|
||||||
...orderData,
|
...orderData,
|
||||||
|
notes: orderData.notes || null,
|
||||||
status: orderData.status || 'En attente de Commande',
|
status: orderData.status || 'En attente de Commande',
|
||||||
quantity: orderData.quantity || 1,
|
quantity: orderData.quantity || 1,
|
||||||
deposit: orderData.deposit || "0.00" as any,
|
deposit: orderData.deposit || "0.00" as any,
|
||||||
@@ -1580,6 +1629,7 @@ export class MemStorage implements IStorage {
|
|||||||
const product: DlcProduct = {
|
const product: DlcProduct = {
|
||||||
id,
|
id,
|
||||||
...productData,
|
...productData,
|
||||||
|
notes: productData.notes || null,
|
||||||
status: productData.status || 'en_cours',
|
status: productData.status || 'en_cours',
|
||||||
quantity: productData.quantity || 1,
|
quantity: productData.quantity || 1,
|
||||||
unit: productData.unit || 'unité',
|
unit: productData.unit || 'unité',
|
||||||
@@ -1670,6 +1720,7 @@ export class MemStorage implements IStorage {
|
|||||||
const task: Task = {
|
const task: Task = {
|
||||||
id,
|
id,
|
||||||
...taskData,
|
...taskData,
|
||||||
|
description: taskData.description || null,
|
||||||
status: taskData.status || 'pending',
|
status: taskData.status || 'pending',
|
||||||
priority: taskData.priority || 'medium',
|
priority: taskData.priority || 'medium',
|
||||||
completedAt: null,
|
completedAt: null,
|
||||||
@@ -1694,7 +1745,7 @@ export class MemStorage implements IStorage {
|
|||||||
customerEmail: null,
|
customerEmail: null,
|
||||||
productDesignation: 'Table de jardin',
|
productDesignation: 'Table de jardin',
|
||||||
productReference: null,
|
productReference: null,
|
||||||
gencode: null,
|
gencode: null as string | null,
|
||||||
quantity: 2,
|
quantity: 2,
|
||||||
deposit: '150.00' as any,
|
deposit: '150.00' as any,
|
||||||
status: 'En attente de Commande',
|
status: 'En attente de Commande',
|
||||||
@@ -1716,7 +1767,7 @@ export class MemStorage implements IStorage {
|
|||||||
customerEmail: null,
|
customerEmail: null,
|
||||||
productDesignation: 'Chaises pliantes x4',
|
productDesignation: 'Chaises pliantes x4',
|
||||||
productReference: null,
|
productReference: null,
|
||||||
gencode: null,
|
gencode: null as string | null,
|
||||||
quantity: 1,
|
quantity: 1,
|
||||||
deposit: '80.00' as any,
|
deposit: '80.00' as any,
|
||||||
status: 'Commande passée',
|
status: 'Commande passée',
|
||||||
|
|||||||
Reference in new issue
Block a user