feat(pos): update createOrder method to accept posId and retrieve inventoryId
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user