Alterado end point api/v1/delivery/schedule para mostrar a capacidade e saldo da capacidade com 3 casas decimais e criado peso adicional para mostrar a data de entrega na abertura da venda
This commit is contained in:
@@ -4,6 +4,7 @@ import { Connection, getConnection } from 'typeorm';
|
||||
import { ResultModel } from '../../domain/models/result.model';
|
||||
import { Esvretiralojascliente } from '../../domain/entity/views/esventregaslojascliente.entity';
|
||||
import { EsvRetiraLojas } from '../../domain/entity/views/esvretiralojas.entity';
|
||||
import { connectionOptions } from 'src/configs/typeorm.config';
|
||||
|
||||
@Injectable()
|
||||
export class ShippingService {
|
||||
@@ -154,6 +155,62 @@ export class ShippingService {
|
||||
} finally {
|
||||
await queryRunner.release();
|
||||
}
|
||||
}
|
||||
|
||||
async getDeliverySchedule() {
|
||||
|
||||
const connection = new Connection(connectionOptions);
|
||||
await connection.connect();
|
||||
const queryRunner = connection.createQueryRunner();
|
||||
await queryRunner.connect();
|
||||
|
||||
try {
|
||||
|
||||
const sql = `SELECT PCDIASUTEIS.DATA as "dateDelivery",
|
||||
NVL (PCDIASUTEIS.DIAROTA, 'N') as "delivery",
|
||||
(PARAMFILIAL.OBTERCOMONUMBER ('CAPACIDADE_LOGISTICA', 12)) as "deliverySize",
|
||||
ROUND ( (NVL (VENDAS.TOTPESO, 0) / 1000), 3) as "saleWeigth",
|
||||
ROUND (
|
||||
GREATEST (
|
||||
( ( PARAMFILIAL.OBTERCOMONUMBER ('CAPACIDADE_LOGISTICA',
|
||||
12)
|
||||
* 1000)
|
||||
- NVL (VENDAS.TOTPESO, 0))
|
||||
/ 1000,
|
||||
0),
|
||||
3) as "avaliableDelivery"
|
||||
FROM PCDIASUTEIS,
|
||||
( SELECT PCPEDC.DTENTREGA, SUM (PCPEDC.TOTPESO) TOTPESO
|
||||
FROM PCPEDC
|
||||
WHERE PCPEDC.POSICAO IN ('L', 'M')
|
||||
AND PCPEDC.CONDVENDA = 8
|
||||
AND PCPEDC.CODFILIAL IN (12, 13, 4, 6)
|
||||
AND EXISTS
|
||||
(SELECT TV7.NUMPED
|
||||
FROM PCPEDC TV7
|
||||
WHERE TV7.NUMPED = PCPEDC.NUMPEDENTFUT
|
||||
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'
|
||||
AND PCDIASUTEIS.DATA = VENDAS.DTENTREGA(+)
|
||||
ORDER BY PCDIASUTEIS.DATA `;
|
||||
|
||||
const data = await queryRunner.query(sql);
|
||||
|
||||
const sqlDeliveryDate = `SELECT TRUNC(SYSDATE) + esf_calcular_prazo_entrega_programada(TRUNC(SYSDATE),
|
||||
'12',
|
||||
129, '', 0, 500) as "date"
|
||||
FROM DUAL`;
|
||||
const dataDeliveryDate = await queryRunner.query(sqlDeliveryDate);
|
||||
|
||||
const dataComplete = { dateDelivery: dataDeliveryDate[0].date, deliveries: [...data] };
|
||||
|
||||
return dataComplete;
|
||||
|
||||
} finally {
|
||||
await queryRunner.release();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user