feat: adiciona campo codusur2 no método findOrders com filtro de busca

This commit is contained in:
joelson brito
2025-11-11 17:25:38 -03:00
parent c07df023dd
commit 99b3cfbd44
2 changed files with 32 additions and 1 deletions

View File

@@ -53,6 +53,13 @@ export class FindOrdersDto {
@ApiPropertyOptional() @ApiPropertyOptional()
partnerId?: string; partnerId?: string;
@IsOptional()
@IsString()
@ApiPropertyOptional({
description: 'Código do usuário 2 (pode ser múltiplos valores separados por vírgula)',
})
codusur2?: string;
@IsOptional() @IsOptional()
@IsString() @IsString()
@ApiPropertyOptional() @ApiPropertyOptional()

View File

@@ -234,6 +234,7 @@ WHERE
,PCPEDC.CODCLI as "customerId" ,PCPEDC.CODCLI as "customerId"
,PCPEDC.CODCLI||' - '||PCCLIENT.CLIENTE as "customerName" ,PCPEDC.CODCLI||' - '||PCCLIENT.CLIENTE as "customerName"
,PCPEDC.CODUSUR as "sellerId" ,PCPEDC.CODUSUR as "sellerId"
,PCPEDC.CODUSUR2 as "codusur2"
,PCPEDC.CODUSUR3 as "partnerId" ,PCPEDC.CODUSUR3 as "partnerId"
,PCPEDC.HORAFAT as "HORA FATURAMENTO" ,PCPEDC.HORAFAT as "HORA FATURAMENTO"
,PCPEDC.MINUTOFAT as "MINUTO FATURAMENTO" ,PCPEDC.MINUTOFAT as "MINUTO FATURAMENTO"
@@ -410,6 +411,18 @@ WHERE
if (query.partnerId) { if (query.partnerId) {
conditions.push(`AND PCPEDC.CODUSUR3 = :partnerId`); conditions.push(`AND PCPEDC.CODUSUR3 = :partnerId`);
} }
if (query.codusur2) {
const codusur2List = query.codusur2
.split(',')
.map((c) => c.trim())
.filter((c) => c)
.map((c) => Number(c))
.filter((c) => !isNaN(c));
const codusur2Condition = codusur2List.length === 1
? `AND PCPEDC.CODUSUR2 = :codusur2`
: `AND PCPEDC.CODUSUR2 IN (${codusur2List.join(',')})`;
conditions.push(codusur2Condition);
}
if (query.orderId) { if (query.orderId) {
conditions.push( conditions.push(
`AND (PCPEDC.NUMPED = :orderId OR PCPEDC.NUMPEDENTFUT = :orderId)`, `AND (PCPEDC.NUMPED = :orderId OR PCPEDC.NUMPEDENTFUT = :orderId)`,
@@ -560,7 +573,7 @@ WHERE
sql += '\n' + conditions.join('\n'); sql += '\n' + conditions.join('\n');
sql += sql +=
'\nGROUP BY PCPEDC.DATA, PCPEDC.CODFILIAL, PCPEDC.CODFILIALLOJA, PCPEDC.NUMPED, PCPEDC.CODCLI, PCPEDC.CODENDENTCLI, PCPEDC.CODPRACA, PCPEDC.CODUSUR, PCPEDC.CODUSUR3, PCPEDC.CODSUPERVISOR, PCPEDC.CONDVENDA, PCPEDC.VLATEND, PCPEDC.VLTOTAL, PCPEDC.DTENTREGA, PCPEDC.TIPOPRIORIDADEENTREGA, PCPEDC.NUMCAR, PCPEDC.DTLIBERA, PCPEDC.CODFUNCLIBERA, PCPEDC.NUMTRANSVENDA, PCPEDC.CODPLPAG, PCPEDC.CODCOB, PCPEDC.DTFAT, PCPEDC.HORAFAT, PCPEDC.MINUTOFAT, PCPEDC.NUMNOTA, PCPEDC.MOTIVOPOSICAO, PCPEDC.TOTPESO, PCPEDC.POSICAO, PCPEDC.DTFINALSEP, PCPEDC.NUMPEDENTFUT, PCPEDC.CODFORNECFRETE, PCPEDC.CODEMITENTE, PCCLIENT.CLIENTE, PCUSUARI.NOME, PCSUPERV.NOME, PCCARREG.DTSAIDA, PCCARREG.DATAMON, PCCARREG.DTFECHA, PCCARREG.CODFUNCFAT, PCNFSAID.CODEMITENTE, PCPLPAG.DESCRICAO, PCCOB.COBRANCA, PCNFSAID.DTCANHOTO, MOTORISTA.MATRICULA, MOTORISTA.NOME, PCVEICUL.DESCRICAO, PCVEICUL.PLACA, PCFORNEC.FORNECEDOR, PCPEDCTEMP.DTENTREGAORIG, ESTPARCEIRO.NOME'; '\nGROUP BY PCPEDC.DATA, PCPEDC.CODFILIAL, PCPEDC.CODFILIALLOJA, PCPEDC.NUMPED, PCPEDC.CODCLI, PCPEDC.CODENDENTCLI, PCPEDC.CODPRACA, PCPEDC.CODUSUR, PCPEDC.CODUSUR2, PCPEDC.CODUSUR3, PCPEDC.CODSUPERVISOR, PCPEDC.CONDVENDA, PCPEDC.VLATEND, PCPEDC.VLTOTAL, PCPEDC.DTENTREGA, PCPEDC.TIPOPRIORIDADEENTREGA, PCPEDC.NUMCAR, PCPEDC.DTLIBERA, PCPEDC.CODFUNCLIBERA, PCPEDC.NUMTRANSVENDA, PCPEDC.CODPLPAG, PCPEDC.CODCOB, PCPEDC.DTFAT, PCPEDC.HORAFAT, PCPEDC.MINUTOFAT, PCPEDC.NUMNOTA, PCPEDC.MOTIVOPOSICAO, PCPEDC.TOTPESO, PCPEDC.POSICAO, PCPEDC.DTFINALSEP, PCPEDC.NUMPEDENTFUT, PCPEDC.CODFORNECFRETE, PCPEDC.CODEMITENTE, PCCLIENT.CLIENTE, PCUSUARI.NOME, PCSUPERV.NOME, PCCARREG.DTSAIDA, PCCARREG.DATAMON, PCCARREG.DTFECHA, PCCARREG.CODFUNCFAT, PCNFSAID.CODEMITENTE, PCPLPAG.DESCRICAO, PCCOB.COBRANCA, PCNFSAID.DTCANHOTO, MOTORISTA.MATRICULA, MOTORISTA.NOME, PCVEICUL.DESCRICAO, PCVEICUL.PLACA, PCFORNEC.FORNECEDOR, PCPEDCTEMP.DTENTREGAORIG, ESTPARCEIRO.NOME';
sql += '\nORDER BY PCPEDC.NUMPED DESC'; sql += '\nORDER BY PCPEDC.NUMPED DESC';
sql += '\nFETCH FIRST 5000 ROWS ONLY'; sql += '\nFETCH FIRST 5000 ROWS ONLY';
@@ -588,6 +601,17 @@ WHERE
if (query.partnerId) { if (query.partnerId) {
parameters.partnerId = query.partnerId; parameters.partnerId = query.partnerId;
} }
if (query.codusur2) {
const codusur2List = query.codusur2
.split(',')
.map((c) => c.trim())
.filter((c) => c)
.map((c) => Number(c))
.filter((c) => !isNaN(c));
if (codusur2List.length === 1) {
parameters.codusur2 = codusur2List[0];
}
}
if (query.orderId) { if (query.orderId) {
parameters.orderId = query.orderId; parameters.orderId = query.orderId;
} }