feat: add ShippingService with methods for retrieving customer shippings, shop collections, customer collections, and delivery schedules.

This commit is contained in:
Luis Eduardo Estevao
2026-02-18 13:31:03 -03:00
parent e2a36da1b8
commit 175a1b9ccd

View File

@@ -128,20 +128,20 @@ export class ShippingService {
.getRepository(Esvretiralojascliente)
.createQueryBuilder('ESVRETIRALOJASCLIENTE')
.select([
'codfilial as "codigoFilial"'
,'numped as "numeroPedido"'
,'numnota as "numeroNota"'
,'dtfat as "dataFaturamento"'
,'datapedido as "dataPedido"'
,'codcli as "codigoCliente"'
,'cliente as "nomeCliente"'
,'codfilialretira as "codigoLoja"'
,'razaosocial as "nomeLoja"'
,'qtitens as "quantidadeItens"'
,'quantidade as "quantidade"'
'codfilial as "codigoFilial"'
, 'numped as "numeroPedido"'
, 'numnota as "numeroNota"'
, 'dtfat as "dataFaturamento"'
, 'datapedido as "dataPedido"'
, 'codcli as "codigoCliente"'
, 'cliente as "nomeCliente"'
, 'codfilialretira as "codigoLoja"'
, 'razaosocial as "nomeLoja"'
, 'qtitens as "quantidadeItens"'
, 'quantidade as "quantidade"'
])
.where("email = 'eduardoestevao.gyn@gmail.com'")
.andWhere("codfilial = :codfilial", {codfilial: id})
.andWhere("codfilial = :codfilial", { codfilial: id })
.getRawMany();
return deliveries;
@@ -169,13 +169,13 @@ export class ShippingService {
const sql = `SELECT PCDIASUTEIS.DATA as "dateDelivery",
NVL (PCDIASUTEIS.DIAROTA, 'N') as "delivery",
CASE WHEN NVL (PCDIASUTEIS.DIAROTA, 'N') = 'N' THEN 0
ELSE (PARAMFILIAL.OBTERCOMONUMBER ('CAPACIDADE_LOGISTICA', 12)) END as "deliverySize",
ELSE (PARAMFILIAL.OBTERCOMONUMBER ('CAPACIDADE_LOGISTICA', 1)) END as "deliverySize",
ROUND ( (NVL (VENDAS.TOTPESO, 0) / 1000), 3) as "saleWeigth",
CASE WHEN NVL (PCDIASUTEIS.DIAROTA, 'N') = 'N' THEN 0
ELSE ROUND (
GREATEST (
( ( PARAMFILIAL.OBTERCOMONUMBER ('CAPACIDADE_LOGISTICA',
12)
1)
* 1000)
- NVL (VENDAS.TOTPESO, 0))
/ 1000,
@@ -186,7 +186,9 @@ export class ShippingService {
FROM PCPEDC
WHERE PCPEDC.POSICAO IN ('L', 'M')
AND PCPEDC.CONDVENDA = 8
AND PCPEDC.CODFILIAL IN (12, 13, 4, 6)
AND EXISTS(SELECT 1 FROM PCPEDI
WHERE PCPEDI.NUMPED = PCPEDC.NUMPED
AND PCPEDI.CODFILIALRETIRA IN (1) )
AND EXISTS
(SELECT TV7.NUMPED
FROM PCPEDC TV7
@@ -194,19 +196,19 @@ export class ShippingService {
AND TV7.POSICAO = 'F')
AND PCPEDC.DTENTREGA >= TRUNC (SYSDATE) + 3
GROUP BY PCPEDC.DTENTREGA) VENDAS
WHERE PCDIASUTEIS.CODFILIAL = 12 AND PCDIASUTEIS.DATA BETWEEN TRUNC (SYSDATE) + 3 AND TRUNC(SYSDATE) + 20 --AND NVL(PCDIASUTEIS.DIAROTA,'N') = 'S'
WHERE PCDIASUTEIS.CODFILIAL = 1 AND PCDIASUTEIS.DATA BETWEEN TRUNC (SYSDATE) + 3 AND TRUNC(SYSDATE) + 20 --AND NVL(PCDIASUTEIS.DIAROTA,'N') = 'S'
AND PCDIASUTEIS.DATA = VENDAS.DTENTREGA(+)
ORDER BY PCDIASUTEIS.DATA `;
const data = await queryRunner.query(sql);
const data = await queryRunner.query(sql);
const sqlDeliveryDate = `SELECT TRUNC(SYSDATE) + esf_calcular_prazo_entrega_programada(TRUNC(SYSDATE),
'12',
129, '', 0, 500) as "date"
const sqlDeliveryDate = `SELECT TRUNC(SYSDATE) + esf_calcular_prazo_entrega_programada(TRUNC(SYSDATE),
'1',
169, '', 0, 500) as "date"
FROM DUAL`;
const dataDeliveryDate = await queryRunner.query(sqlDeliveryDate);
const dataDeliveryDate = await queryRunner.query(sqlDeliveryDate);
const dataComplete = { dateDelivery: dataDeliveryDate[0].date, deliveries: [...data] };
const dataComplete = { dateDelivery: dataDeliveryDate[0].date, deliveries: [...data] };
return dataComplete;