new Ep detalle servicio
This commit is contained in:
@@ -1,9 +1,20 @@
|
||||
import { Controller } from '@nestjs/common';
|
||||
import { Body, Controller, Get, Post } from '@nestjs/common';
|
||||
import { DetalleServicioService } from './detalle_servicio.service';
|
||||
import { FindReciboByRangeDto } from 'src/recibo/dto/create-recibo.dto';
|
||||
|
||||
|
||||
@Controller('detalle-servicio')
|
||||
export class DetalleServicioController {
|
||||
constructor(private readonly detalleServicioService: DetalleServicioService) {}
|
||||
|
||||
@Get()
|
||||
findAll(){
|
||||
return this.detalleServicioService.findAll()
|
||||
}
|
||||
|
||||
@Post('rango')
|
||||
async findByDateRange(@Body() data: FindReciboByRangeDto) {
|
||||
return this.detalleServicioService.findByDateRange(data.desde, data.hasta);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { DetalleServicioService } from './detalle_servicio.service';
|
||||
import { DetalleServicioController } from './detalle_servicio.controller';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { DetalleServicio } from './entities/detalle_servicio.entity';
|
||||
|
||||
@Module({
|
||||
imports:[TypeOrmModule.forFeature([DetalleServicio])],
|
||||
controllers: [DetalleServicioController],
|
||||
providers: [DetalleServicioService],
|
||||
exports:[DetalleServicioService]
|
||||
|
||||
@@ -1,13 +1,38 @@
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import { DetalleServicio } from './entities/detalle_servicio.entity';
|
||||
import { EntityManager } from 'typeorm';
|
||||
import { CreateDetalleServicioDto } from './dto/create-detalle_servicio.dto';
|
||||
import { EntityManager, Repository } from 'typeorm';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
|
||||
@Injectable()
|
||||
export class DetalleServicioService {
|
||||
constructor(
|
||||
@InjectRepository(DetalleServicio)
|
||||
private readonly detalleServicioRepository: Repository<DetalleServicio>,
|
||||
) {}
|
||||
|
||||
async Create(data, manager: EntityManager) {
|
||||
const repo = manager.getRepository(DetalleServicio);
|
||||
const details = repo.create(data);
|
||||
return await repo.save(details);
|
||||
}
|
||||
|
||||
findAll(){
|
||||
return this.detalleServicioRepository.find({take:100})
|
||||
}
|
||||
|
||||
async findByDateRange(fechaInicio: string, fechaFin: string) {
|
||||
return this.detalleServicioRepository
|
||||
.createQueryBuilder('detalle')
|
||||
.innerJoin('detalle.servicio', 'servicio')
|
||||
.select('servicio.id_servicio', 'id_servicio')
|
||||
.addSelect('servicio.servicio', 'servicio')
|
||||
.addSelect('COUNT(detalle.monto)', 'total')
|
||||
.where('detalle.fecha_operacion >= :inicio', { inicio: fechaInicio })
|
||||
.andWhere('detalle.fecha_operacion < DATE_ADD(:fin, INTERVAL 1 DAY)', {
|
||||
fin: fechaFin,
|
||||
})
|
||||
.groupBy('servicio.id_servicio')
|
||||
.addGroupBy('servicio.servicio')
|
||||
.getRawMany();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user