feat(pos): update createOrder method to accept posId and retrieve inventoryId

This commit is contained in:
2025-12-28 17:52:07 +03:30
parent af9695e23c
commit b35a3633ed
3 changed files with 20 additions and 8 deletions
@@ -63,7 +63,7 @@ export class InventoriesService {
pageSize = 10,
) {
const groups = await this.prisma.stockMovement.groupBy({
by: ['referenceId'],
by: ['referenceId', 'referenceType'],
where: { inventoryId, type },
_count: { id: true },
orderBy: { referenceId: 'desc' },
@@ -74,7 +74,13 @@ export class InventoriesService {
const result = await Promise.all(
groups.map(async group => {
const movements = await this.prisma.stockMovement.findMany({
where: { inventoryId, referenceId: group.referenceId, type },
where: {
inventoryId,
AND: {
referenceId: group.referenceId,
AND: { referenceType: group.referenceType },
},
},
include: {
product: true,
counterInventory: {
@@ -83,6 +89,8 @@ export class InventoriesService {
},
})
let info = null as any
console.log(movements)
const mapped = movements.map(movement => {
const { id, quantity, fee, totalCost, avgCost, product } = movement
if (info === null) {
+3 -5
View File
@@ -33,10 +33,8 @@ export class PosController {
return this.posService.getProductCategories(Number(posId))
}
@Post('/orders/create')
async createOrder(@Body() dto: CreateOrderDto) {
const inventoryId = await this.posService.getDefaultInventoryId()
return this.posService.createOrder(dto, inventoryId!)
@Post('/:posId/orders/create')
async createOrder(@Param('posId') posId: string, @Body() dto: CreateOrderDto) {
return this.posService.createOrder(Number(posId), dto)
}
}
+7 -1
View File
@@ -173,7 +173,13 @@ export class PosService {
return ResponseMapper.list(categories)
}
async createOrder(data: CreateOrderDto, inventoryId: number) {
async createOrder(posId: number, data: CreateOrderDto) {
const pos = await this.prisma.posAccount.findUniqueOrThrow({
where: { id: posId },
select: { inventoryId: true },
})
const inventoryId = pos.inventoryId
const { customerId, ...res } = data
const preparedOrder = { ...res } as any
const lastCode = await this.prisma.salesInvoice