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 { DetalleServicioService } from './detalle_servicio.service';
|
||||||
|
import { FindReciboByRangeDto } from 'src/recibo/dto/create-recibo.dto';
|
||||||
|
|
||||||
|
|
||||||
@Controller('detalle-servicio')
|
@Controller('detalle-servicio')
|
||||||
export class DetalleServicioController {
|
export class DetalleServicioController {
|
||||||
constructor(private readonly detalleServicioService: DetalleServicioService) {}
|
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 { Module } from '@nestjs/common';
|
||||||
import { DetalleServicioService } from './detalle_servicio.service';
|
import { DetalleServicioService } from './detalle_servicio.service';
|
||||||
import { DetalleServicioController } from './detalle_servicio.controller';
|
import { DetalleServicioController } from './detalle_servicio.controller';
|
||||||
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||||
|
import { DetalleServicio } from './entities/detalle_servicio.entity';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
|
imports:[TypeOrmModule.forFeature([DetalleServicio])],
|
||||||
controllers: [DetalleServicioController],
|
controllers: [DetalleServicioController],
|
||||||
providers: [DetalleServicioService],
|
providers: [DetalleServicioService],
|
||||||
exports:[DetalleServicioService]
|
exports:[DetalleServicioService]
|
||||||
|
|||||||
@@ -1,13 +1,38 @@
|
|||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable } from '@nestjs/common';
|
||||||
import { DetalleServicio } from './entities/detalle_servicio.entity';
|
import { DetalleServicio } from './entities/detalle_servicio.entity';
|
||||||
import { EntityManager } from 'typeorm';
|
import { EntityManager, Repository } from 'typeorm';
|
||||||
import { CreateDetalleServicioDto } from './dto/create-detalle_servicio.dto';
|
import { InjectRepository } from '@nestjs/typeorm';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class DetalleServicioService {
|
export class DetalleServicioService {
|
||||||
|
constructor(
|
||||||
|
@InjectRepository(DetalleServicio)
|
||||||
|
private readonly detalleServicioRepository: Repository<DetalleServicio>,
|
||||||
|
) {}
|
||||||
|
|
||||||
async Create(data, manager: EntityManager) {
|
async Create(data, manager: EntityManager) {
|
||||||
const repo = manager.getRepository(DetalleServicio);
|
const repo = manager.getRepository(DetalleServicio);
|
||||||
const details = repo.create(data);
|
const details = repo.create(data);
|
||||||
return await repo.save(details);
|
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