Atualizações em data-consult e products
This commit is contained in:
@@ -83,6 +83,20 @@ export class DataConsultController {
|
||||
return this.dataConsultService.customers(filter);
|
||||
}
|
||||
|
||||
@UseGuards(JwtAuthGuard)
|
||||
@ApiBearerAuth()
|
||||
@Get('products/codauxiliar/:codauxiliar')
|
||||
@ApiOperation({ summary: 'Busca produtos por código auxiliar (EAN)' })
|
||||
@ApiParam({ name: 'codauxiliar', description: 'Código auxiliar (EAN) do produto' })
|
||||
@ApiResponse({
|
||||
status: 200,
|
||||
description: 'Lista de produtos encontrados por código auxiliar',
|
||||
type: [ProductDto],
|
||||
})
|
||||
async productsByCodauxiliar(@Param('codauxiliar') codauxiliar: string): Promise<ProductDto[]> {
|
||||
return this.dataConsultService.productsByCodauxiliar(codauxiliar);
|
||||
}
|
||||
|
||||
@UseGuards(JwtAuthGuard)
|
||||
@ApiBearerAuth()
|
||||
@Get('products/:filter')
|
||||
|
||||
@@ -126,6 +126,17 @@ export class DataConsultRepository {
|
||||
return results.map((result) => new ProductDto(result));
|
||||
}
|
||||
|
||||
async findProductsByCodauxiliar(codauxiliar: string): Promise<ProductDto[]> {
|
||||
const sql = `
|
||||
SELECT PCPRODUT.CODPROD as "id",
|
||||
PCPRODUT.CODPROD || ' - ' || PCPRODUT.DESCRICAO || ' ( ' || PCPRODUT.CODFAB || ' )' as "description"
|
||||
FROM PCPRODUT
|
||||
WHERE REGEXP_REPLACE(PCPRODUT.CODAUXILIAR, '[^0-9]', '') = REGEXP_REPLACE(:codauxiliar, '[^0-9]', '')
|
||||
`;
|
||||
const results = await this.dataSource.query(sql, [codauxiliar]);
|
||||
return results.map((result) => new ProductDto(result));
|
||||
}
|
||||
|
||||
async findAllProducts(): Promise<ProductDto[]> {
|
||||
const sql = `
|
||||
SELECT PCPRODUT.CODPROD as "id",
|
||||
|
||||
@@ -227,6 +227,23 @@ export class DataConsultService {
|
||||
}
|
||||
}
|
||||
|
||||
async productsByCodauxiliar(codauxiliar: string): Promise<ProductDto[]> {
|
||||
this.logger.log(`Buscando produtos por codauxiliar: ${codauxiliar}`);
|
||||
try {
|
||||
if (!codauxiliar || typeof codauxiliar !== 'string') {
|
||||
throw new HttpException('Código auxiliar inválido', HttpStatus.BAD_REQUEST);
|
||||
}
|
||||
const products = await this.repository.findProductsByCodauxiliar(codauxiliar);
|
||||
return products.map((product) => new ProductDto(product));
|
||||
} catch (error) {
|
||||
this.logger.error('Erro ao buscar produtos por codauxiliar', error);
|
||||
throw new HttpException(
|
||||
'Erro ao buscar produtos por codauxiliar',
|
||||
HttpStatus.INTERNAL_SERVER_ERROR,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
async getAllProducts(): Promise<ProductDto[]> {
|
||||
this.logger.log('Buscando todos os produtos');
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user