mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-22 22:48:15 +02:00
Merge pull request #83 from R0m1k3/1.1
Update order and delivery details to show quantity and units
This commit is contained in:
2 files changed
+60
-34
No files matched your search
Binary file not shown.
|
After Width: | Height: | Size: 235 KiB |
+60
-34
@@ -306,10 +306,10 @@ export class DatabaseStorage implements IStorage {
|
|||||||
id: orders.id,
|
id: orders.id,
|
||||||
supplierId: orders.supplierId,
|
supplierId: orders.supplierId,
|
||||||
groupId: orders.groupId,
|
groupId: orders.groupId,
|
||||||
expectedDate: orders.expectedDate,
|
plannedDate: orders.plannedDate,
|
||||||
status: orders.status,
|
status: orders.status,
|
||||||
palettes: orders.palettes,
|
quantity: orders.quantity,
|
||||||
packages: orders.packages,
|
unit: orders.unit,
|
||||||
notes: orders.notes,
|
notes: orders.notes,
|
||||||
createdBy: orders.createdBy,
|
createdBy: orders.createdBy,
|
||||||
createdAt: orders.createdAt,
|
createdAt: orders.createdAt,
|
||||||
@@ -334,10 +334,10 @@ export class DatabaseStorage implements IStorage {
|
|||||||
id: orders.id,
|
id: orders.id,
|
||||||
supplierId: orders.supplierId,
|
supplierId: orders.supplierId,
|
||||||
groupId: orders.groupId,
|
groupId: orders.groupId,
|
||||||
expectedDate: orders.expectedDate,
|
plannedDate: orders.plannedDate,
|
||||||
status: orders.status,
|
status: orders.status,
|
||||||
palettes: orders.palettes,
|
quantity: orders.quantity,
|
||||||
packages: orders.packages,
|
unit: orders.unit,
|
||||||
notes: orders.notes,
|
notes: orders.notes,
|
||||||
createdBy: orders.createdBy,
|
createdBy: orders.createdBy,
|
||||||
createdAt: orders.createdAt,
|
createdAt: orders.createdAt,
|
||||||
@@ -350,22 +350,22 @@ export class DatabaseStorage implements IStorage {
|
|||||||
.leftJoin(groups, eq(orders.groupId, groups.id))
|
.leftJoin(groups, eq(orders.groupId, groups.id))
|
||||||
.where(
|
.where(
|
||||||
and(
|
and(
|
||||||
gte(orders.expectedDate, startDate),
|
gte(orders.plannedDate, startDate),
|
||||||
lte(orders.expectedDate, endDate)
|
lte(orders.plannedDate, endDate)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (groupIds && groupIds.length > 0) {
|
if (groupIds && groupIds.length > 0) {
|
||||||
query = query.where(
|
query = query.where(
|
||||||
and(
|
and(
|
||||||
gte(orders.expectedDate, startDate),
|
gte(orders.plannedDate, startDate),
|
||||||
lte(orders.expectedDate, endDate),
|
lte(orders.plannedDate, endDate),
|
||||||
inArray(orders.groupId, groupIds)
|
inArray(orders.groupId, groupIds)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return await query.orderBy(desc(orders.expectedDate));
|
return await query.orderBy(desc(orders.plannedDate));
|
||||||
}
|
}
|
||||||
|
|
||||||
async getOrder(id: number): Promise<OrderWithRelations | undefined> {
|
async getOrder(id: number): Promise<OrderWithRelations | undefined> {
|
||||||
@@ -374,10 +374,10 @@ export class DatabaseStorage implements IStorage {
|
|||||||
id: orders.id,
|
id: orders.id,
|
||||||
supplierId: orders.supplierId,
|
supplierId: orders.supplierId,
|
||||||
groupId: orders.groupId,
|
groupId: orders.groupId,
|
||||||
expectedDate: orders.expectedDate,
|
plannedDate: orders.plannedDate,
|
||||||
status: orders.status,
|
status: orders.status,
|
||||||
palettes: orders.palettes,
|
quantity: orders.quantity,
|
||||||
packages: orders.packages,
|
unit: orders.unit,
|
||||||
notes: orders.notes,
|
notes: orders.notes,
|
||||||
createdBy: orders.createdBy,
|
createdBy: orders.createdBy,
|
||||||
createdAt: orders.createdAt,
|
createdAt: orders.createdAt,
|
||||||
@@ -422,8 +422,8 @@ export class DatabaseStorage implements IStorage {
|
|||||||
scheduledDate: deliveries.scheduledDate,
|
scheduledDate: deliveries.scheduledDate,
|
||||||
deliveredDate: deliveries.deliveredDate,
|
deliveredDate: deliveries.deliveredDate,
|
||||||
status: deliveries.status,
|
status: deliveries.status,
|
||||||
palettes: deliveries.palettes,
|
quantity: deliveries.quantity,
|
||||||
packages: deliveries.packages,
|
unit: deliveries.unit,
|
||||||
blNumber: deliveries.blNumber,
|
blNumber: deliveries.blNumber,
|
||||||
blAmount: deliveries.blAmount,
|
blAmount: deliveries.blAmount,
|
||||||
invoiceReference: deliveries.invoiceReference,
|
invoiceReference: deliveries.invoiceReference,
|
||||||
@@ -458,8 +458,8 @@ export class DatabaseStorage implements IStorage {
|
|||||||
scheduledDate: deliveries.scheduledDate,
|
scheduledDate: deliveries.scheduledDate,
|
||||||
deliveredDate: deliveries.deliveredDate,
|
deliveredDate: deliveries.deliveredDate,
|
||||||
status: deliveries.status,
|
status: deliveries.status,
|
||||||
palettes: deliveries.palettes,
|
quantity: deliveries.quantity,
|
||||||
packages: deliveries.packages,
|
unit: deliveries.unit,
|
||||||
blNumber: deliveries.blNumber,
|
blNumber: deliveries.blNumber,
|
||||||
blAmount: deliveries.blAmount,
|
blAmount: deliveries.blAmount,
|
||||||
invoiceReference: deliveries.invoiceReference,
|
invoiceReference: deliveries.invoiceReference,
|
||||||
@@ -506,8 +506,8 @@ export class DatabaseStorage implements IStorage {
|
|||||||
scheduledDate: deliveries.scheduledDate,
|
scheduledDate: deliveries.scheduledDate,
|
||||||
deliveredDate: deliveries.deliveredDate,
|
deliveredDate: deliveries.deliveredDate,
|
||||||
status: deliveries.status,
|
status: deliveries.status,
|
||||||
palettes: deliveries.palettes,
|
quantity: deliveries.quantity,
|
||||||
packages: deliveries.packages,
|
unit: deliveries.unit,
|
||||||
blNumber: deliveries.blNumber,
|
blNumber: deliveries.blNumber,
|
||||||
blAmount: deliveries.blAmount,
|
blAmount: deliveries.blAmount,
|
||||||
invoiceReference: deliveries.invoiceReference,
|
invoiceReference: deliveries.invoiceReference,
|
||||||
@@ -610,11 +610,10 @@ export class DatabaseStorage implements IStorage {
|
|||||||
let query = db
|
let query = db
|
||||||
.select({
|
.select({
|
||||||
id: publicities.id,
|
id: publicities.id,
|
||||||
name: publicities.name,
|
pubNumber: publicities.pubNumber,
|
||||||
description: publicities.description,
|
designation: publicities.designation,
|
||||||
startDate: publicities.startDate,
|
startDate: publicities.startDate,
|
||||||
endDate: publicities.endDate,
|
endDate: publicities.endDate,
|
||||||
imageUrl: publicities.imageUrl,
|
|
||||||
year: publicities.year,
|
year: publicities.year,
|
||||||
createdBy: publicities.createdBy,
|
createdBy: publicities.createdBy,
|
||||||
createdAt: publicities.createdAt,
|
createdAt: publicities.createdAt,
|
||||||
@@ -628,7 +627,7 @@ export class DatabaseStorage implements IStorage {
|
|||||||
|
|
||||||
const results = await query.orderBy(desc(publicities.createdAt));
|
const results = await query.orderBy(desc(publicities.createdAt));
|
||||||
|
|
||||||
const publicityIds = results.map(p => p.id);
|
const publicityIds = results.map((p: any) => p.id);
|
||||||
const participations = publicityIds.length > 0
|
const participations = publicityIds.length > 0
|
||||||
? await db
|
? await db
|
||||||
.select({
|
.select({
|
||||||
@@ -641,11 +640,11 @@ export class DatabaseStorage implements IStorage {
|
|||||||
.where(inArray(publicityParticipations.publicityId, publicityIds))
|
.where(inArray(publicityParticipations.publicityId, publicityIds))
|
||||||
: [];
|
: [];
|
||||||
|
|
||||||
return results.map(publicity => ({
|
return results.map((publicity: any) => ({
|
||||||
...publicity,
|
...publicity,
|
||||||
participations: participations
|
participations: participations
|
||||||
.filter(p => p.publicityId === publicity.id)
|
.filter((p: any) => p.publicityId === publicity.id)
|
||||||
.map(p => ({
|
.map((p: any) => ({
|
||||||
publicityId: p.publicityId,
|
publicityId: p.publicityId,
|
||||||
groupId: p.groupId,
|
groupId: p.groupId,
|
||||||
group: p.group!,
|
group: p.group!,
|
||||||
@@ -839,8 +838,13 @@ export class MemStorage implements IStorage {
|
|||||||
id: 'admin',
|
id: 'admin',
|
||||||
username: 'admin',
|
username: 'admin',
|
||||||
email: 'admin@example.com',
|
email: 'admin@example.com',
|
||||||
passwordHash: 'admin', // In real app, this would be hashed
|
name: 'Admin',
|
||||||
|
firstName: 'Admin',
|
||||||
|
lastName: 'User',
|
||||||
|
profileImageUrl: null,
|
||||||
|
password: 'admin', // In real app, this would be hashed
|
||||||
role: 'admin',
|
role: 'admin',
|
||||||
|
passwordChanged: false,
|
||||||
createdAt: new Date(),
|
createdAt: new Date(),
|
||||||
updatedAt: new Date(),
|
updatedAt: new Date(),
|
||||||
};
|
};
|
||||||
@@ -851,6 +855,13 @@ export class MemStorage implements IStorage {
|
|||||||
id: 1,
|
id: 1,
|
||||||
name: 'Magasin Test',
|
name: 'Magasin Test',
|
||||||
color: '#3B82F6',
|
color: '#3B82F6',
|
||||||
|
nocodbConfigId: null,
|
||||||
|
nocodbTableName: null,
|
||||||
|
invoiceColumnName: null,
|
||||||
|
nocodbBlColumnName: null,
|
||||||
|
nocodbAmountColumnName: null,
|
||||||
|
nocodbSupplierColumnName: null,
|
||||||
|
webhookUrl: null,
|
||||||
createdAt: new Date(),
|
createdAt: new Date(),
|
||||||
updatedAt: new Date(),
|
updatedAt: new Date(),
|
||||||
};
|
};
|
||||||
@@ -861,9 +872,9 @@ export class MemStorage implements IStorage {
|
|||||||
const testSupplier: Supplier = {
|
const testSupplier: Supplier = {
|
||||||
id: 1,
|
id: 1,
|
||||||
name: 'Fournisseur Test',
|
name: 'Fournisseur Test',
|
||||||
email: 'test@supplier.com',
|
contact: 'test@supplier.com',
|
||||||
phone: '0123456789',
|
phone: '0123456789',
|
||||||
address: '123 Rue Test',
|
hasDlc: false,
|
||||||
automaticReconciliation: false,
|
automaticReconciliation: false,
|
||||||
createdAt: new Date(),
|
createdAt: new Date(),
|
||||||
updatedAt: new Date(),
|
updatedAt: new Date(),
|
||||||
@@ -1033,8 +1044,14 @@ export class MemStorage implements IStorage {
|
|||||||
|
|
||||||
async createNocodbConfig(config: InsertNocodbConfig): Promise<NocodbConfig> {
|
async createNocodbConfig(config: InsertNocodbConfig): Promise<NocodbConfig> {
|
||||||
const newConfig: NocodbConfig = {
|
const newConfig: NocodbConfig = {
|
||||||
...config,
|
|
||||||
id: 1,
|
id: 1,
|
||||||
|
name: config.name,
|
||||||
|
baseUrl: config.baseUrl,
|
||||||
|
projectId: config.projectId,
|
||||||
|
apiToken: config.apiToken,
|
||||||
|
description: config.description || null,
|
||||||
|
isActive: config.isActive ?? true,
|
||||||
|
createdBy: config.createdBy || null,
|
||||||
createdAt: new Date(),
|
createdAt: new Date(),
|
||||||
updatedAt: new Date(),
|
updatedAt: new Date(),
|
||||||
};
|
};
|
||||||
@@ -1048,9 +1065,9 @@ export class MemStorage implements IStorage {
|
|||||||
baseUrl: config.baseUrl || 'https://nocodb.example.com',
|
baseUrl: config.baseUrl || 'https://nocodb.example.com',
|
||||||
projectId: config.projectId || 'test-project',
|
projectId: config.projectId || 'test-project',
|
||||||
apiToken: config.apiToken || 'test-token',
|
apiToken: config.apiToken || 'test-token',
|
||||||
description: config.description || 'Development configuration',
|
description: config.description || null,
|
||||||
isActive: config.isActive ?? true,
|
isActive: config.isActive ?? true,
|
||||||
createdBy: config.createdBy || 'admin',
|
createdBy: config.createdBy || null,
|
||||||
createdAt: new Date(),
|
createdAt: new Date(),
|
||||||
updatedAt: new Date(),
|
updatedAt: new Date(),
|
||||||
};
|
};
|
||||||
@@ -1067,8 +1084,17 @@ export class MemStorage implements IStorage {
|
|||||||
|
|
||||||
async createInvoiceVerificationCache(cache: InsertInvoiceVerificationCache): Promise<InvoiceVerificationCache> {
|
async createInvoiceVerificationCache(cache: InsertInvoiceVerificationCache): Promise<InvoiceVerificationCache> {
|
||||||
const newCache: InvoiceVerificationCache = {
|
const newCache: InvoiceVerificationCache = {
|
||||||
...cache,
|
|
||||||
id: 1,
|
id: 1,
|
||||||
|
cacheKey: cache.cacheKey,
|
||||||
|
groupId: cache.groupId,
|
||||||
|
invoiceReference: cache.invoiceReference,
|
||||||
|
supplierName: cache.supplierName || null,
|
||||||
|
exists: cache.exists,
|
||||||
|
matchType: cache.matchType,
|
||||||
|
errorMessage: cache.errorMessage || null,
|
||||||
|
cacheHit: cache.cacheHit || false,
|
||||||
|
apiCallTime: cache.apiCallTime || null,
|
||||||
|
expiresAt: cache.expiresAt,
|
||||||
createdAt: new Date(),
|
createdAt: new Date(),
|
||||||
updatedAt: new Date(),
|
updatedAt: new Date(),
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in new issue
Block a user