refazendo o order service

This commit is contained in:
unknown
2025-03-30 20:02:24 -03:00
parent 32bd7c14b3
commit 2fd5ae2b1f
13 changed files with 735 additions and 849 deletions

View File

@@ -1,78 +0,0 @@
import { Injectable } from '@nestjs/common';
import { DataSource } from 'typeorm';
import { InjectDataSource } from '@nestjs/typeorm';
@Injectable()
export class InvoiceRepository {
constructor(
@InjectDataSource() private readonly dataSource: DataSource,
) {}
async findInvoiceByChave(chavenfe: string) {
const queryRunner = this.dataSource.createQueryRunner();
await queryRunner.connect();
try {
const sql = `
SELECT
pcnfsaid.codfilial AS "storeId",
pcnfsaid.dtsaida AS "invoiceDate",
pcnfsaid.numped AS "orderId",
pcnfsaid.numnota AS "invoiceId",
pcnfsaid.numtransvenda AS "transactionId",
pcnfsaid.codcli AS "customerId",
pcclient.cliente AS "customer",
pcnfsaid.codusur AS "sellerId",
pcusuari.nome AS "sellerName",
(
SELECT SUM(pcmov.qt)
FROM pcmov
WHERE pcmov.numtransvenda = pcnfsaid.numtransvenda
) AS "itensQt",
NULL AS "itens"
FROM pcnfsaid, pcclient, pcusuari
WHERE
pcnfsaid.codcli = pcclient.codcli
AND pcnfsaid.codusur = pcusuari.codusur
AND pcnfsaid.chavenfe = :chavenfe
`;
return await queryRunner.manager.query(sql, [chavenfe]);
} finally {
await queryRunner.release();
}
}
async findInvoiceItems(transactionId: number) {
const queryRunner = this.dataSource.createQueryRunner();
await queryRunner.connect();
try {
const sql = `
SELECT
pcmov.codprod AS "productId",
pcprodut.descricao AS "productName",
pcprodut.embalagem AS "package",
pcmov.qt AS "qt",
pcprodut.codauxiliar AS "ean",
pcprodut.multiplo AS "multiple",
pcprodut.tipoproduto AS "productType",
REPLACE(
CASE
WHEN INSTR(PCPRODUT.URLIMAGEM, ';') > 0 THEN
SUBSTR(PCPRODUT.URLIMAGEM, 1, INSTR(PCPRODUT.URLIMAGEM, ';') - 1)
WHEN PCPRODUT.URLIMAGEM IS NOT NULL THEN
PCPRODUT.URLIMAGEM
ELSE NULL
END,
'167.249.211.178:8001',
'10.1.1.191'
) AS "image"
FROM pcmov, pcprodut
WHERE
pcmov.codprod = pcprodut.codprod
AND pcmov.numtransvenda = :transactionId
`;
return await queryRunner.manager.query(sql, [transactionId]);
} finally {
await queryRunner.release();
}
}
}