swagger configurado na rota chavenfe

This commit is contained in:
unknown
2025-03-29 15:06:21 -03:00
parent 5e4ef04b4a
commit 32bd7c14b3
29 changed files with 709 additions and 241 deletions

View File

@@ -0,0 +1,78 @@
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();
}
}
}