feat(cardex): enhance stock movement retrieval with additional fields and optimized mapping
refactor(migration): update Stock_Movements table to include counterInventoryId and customerId, add foreign key constraints, and implement triggers for inventory management
This commit is contained in:
@@ -26,31 +26,29 @@ export class CardexService {
|
||||
|
||||
const items = await this.prisma.stockMovement.findMany({
|
||||
where,
|
||||
include: { product: true, inventory: true },
|
||||
include: {
|
||||
product: { select: { id: true, name: true, sku: true } },
|
||||
inventory: { select: { id: true, name: true } },
|
||||
counterInventory: {
|
||||
select: { id: true, name: true },
|
||||
},
|
||||
supplier: {
|
||||
select: { id: true, firstName: true, lastName: true },
|
||||
},
|
||||
customer: {
|
||||
select: { id: true, firstName: true, lastName: true },
|
||||
},
|
||||
},
|
||||
omit: {
|
||||
productId: true,
|
||||
inventoryId: true,
|
||||
counterInventoryId: true,
|
||||
supplierId: true,
|
||||
customerId: true,
|
||||
},
|
||||
orderBy: { createdAt: 'desc' },
|
||||
})
|
||||
|
||||
const mapped = items.map(i => ({
|
||||
id: i.id,
|
||||
type: i.type,
|
||||
quantity: Number(i.quantity),
|
||||
fee: Number(i.fee),
|
||||
totalCost: Number(i.totalCost),
|
||||
referenceType: i.referenceType,
|
||||
referenceId: i.referenceId,
|
||||
createdAt: i.createdAt,
|
||||
avgCost: Number(i.avgCost),
|
||||
product: {
|
||||
name: i.product.name,
|
||||
sku: i.product.sku,
|
||||
id: i.productId,
|
||||
},
|
||||
inventory: {
|
||||
name: i.inventory.name,
|
||||
id: i.inventoryId,
|
||||
},
|
||||
}))
|
||||
|
||||
return ResponseMapper.list(mapped)
|
||||
return ResponseMapper.list(items)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user