added addTime
This commit is contained in:
@@ -1,11 +1,10 @@
|
||||
import { IsInt, IsNotEmpty, Min } from "class-validator";
|
||||
import { IsInt, IsNotEmpty, Min } from 'class-validator';
|
||||
|
||||
export class chargePrintDto {
|
||||
|
||||
@IsInt()
|
||||
@IsNotEmpty()
|
||||
@Min(1)
|
||||
monto:number
|
||||
monto: number;
|
||||
|
||||
@IsInt()
|
||||
@Min(1)
|
||||
@@ -15,4 +14,8 @@ export class chargePrintDto {
|
||||
@IsInt()
|
||||
@IsNotEmpty()
|
||||
id_cuenta: number;
|
||||
|
||||
@IsInt()
|
||||
@IsNotEmpty()
|
||||
id_servicio: number;
|
||||
}
|
||||
|
||||
@@ -20,5 +20,19 @@ export class OperationsController {
|
||||
const id_usuario = req.user.id;
|
||||
return this.operationsService.addCredit(data, id_usuario);
|
||||
}
|
||||
|
||||
// @UseGuards(JwtAuthGuard)
|
||||
// @Post('registration')
|
||||
// async addReceiptInscription(@Body() data, @Req() req: any) {
|
||||
// const id_usuario = req.user.id;
|
||||
// return this.operationsService.addReceiptInscription(data, id_usuario);
|
||||
// }
|
||||
|
||||
@UseGuards(JwtAuthGuard)
|
||||
@Post('time')
|
||||
async addTime(@Body() data, @Req() req: any) {
|
||||
const id_usuario = req.user.id;
|
||||
return this.operationsService.addTime(data, id_usuario);
|
||||
}
|
||||
}
|
||||
//IO
|
||||
//IO
|
||||
|
||||
@@ -8,6 +8,7 @@ import { DetalleServicioModule } from 'src/detalle_servicio/detalle_servicio.mod
|
||||
import { AlumnoModule } from 'src/alumno/student.module';
|
||||
import { UserModule } from 'src/user/user.module';
|
||||
import { ReciboModule } from 'src/recibo/recibo.module';
|
||||
import { AlumnoInscritoModule } from 'src/alumno_inscrito/alumno_inscrito.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -16,6 +17,7 @@ import { ReciboModule } from 'src/recibo/recibo.module';
|
||||
AlumnoModule,
|
||||
UserModule,
|
||||
ReciboModule,
|
||||
AlumnoInscritoModule
|
||||
],
|
||||
controllers: [OperationsController],
|
||||
providers: [OperationsService],
|
||||
|
||||
@@ -9,19 +9,21 @@ import { DataSource } from 'typeorm';
|
||||
import { chargePrintDto } from './dto/operations.dto';
|
||||
import { UserService } from 'src/user/user.service';
|
||||
import { ReciboService } from 'src/recibo/recibo.service';
|
||||
import { AlumnoInscritoService } from 'src/alumno_inscrito/alumno_inscrito.service';
|
||||
|
||||
@Injectable()
|
||||
export class OperationsService {
|
||||
constructor(
|
||||
private readonly dataSource: DataSource,
|
||||
private readonly alumnoService: AlumnoService,
|
||||
private readonly alumnoInscritoService: AlumnoInscritoService,
|
||||
private readonly detalleServicioService: DetalleServicioService,
|
||||
private readonly userService: UserService,
|
||||
private readonly reciboService: ReciboService,
|
||||
) {}
|
||||
|
||||
async chargePrint(data: chargePrintDto, id_usuario: number) {
|
||||
const { monto, id_cuenta } = data;
|
||||
const { monto, id_cuenta, id_servicio, numero_hojas } = data;
|
||||
|
||||
const queryRunner = this.dataSource.createQueryRunner();
|
||||
await queryRunner.connect();
|
||||
@@ -38,11 +40,12 @@ export class OperationsService {
|
||||
const alum = await this.alumnoService.findOne(id_cuenta);
|
||||
|
||||
const detalleData = {
|
||||
servicio: 1,
|
||||
servicio: id_servicio,
|
||||
user,
|
||||
alum,
|
||||
monto,
|
||||
fecha_operacion: new Date(),
|
||||
numero_hojas,
|
||||
};
|
||||
|
||||
await this.detalleServicioService.Create(
|
||||
@@ -104,4 +107,66 @@ export class OperationsService {
|
||||
await queryRunner.release();
|
||||
}
|
||||
}
|
||||
|
||||
async addTime(data, id_usuario: number) {
|
||||
const {
|
||||
monto,
|
||||
id_cuenta,
|
||||
idPlataforma,
|
||||
folio_recibo,
|
||||
fecha_recibo,
|
||||
} = data;
|
||||
|
||||
const studentRegister = await this.alumnoInscritoService.findRegister(
|
||||
id_cuenta,
|
||||
idPlataforma,
|
||||
);
|
||||
|
||||
const queryRunner = this.dataSource.createQueryRunner();
|
||||
await queryRunner.connect();
|
||||
await queryRunner.startTransaction();
|
||||
|
||||
const user = await this.userService.findOne(id_usuario);
|
||||
const alum = await this.alumnoService.findOne(id_cuenta);
|
||||
|
||||
try {
|
||||
const detalleRecibo = {
|
||||
folio_recibo,
|
||||
user,
|
||||
alum,
|
||||
fecha_recibo,
|
||||
monto,
|
||||
};
|
||||
|
||||
await this.reciboService.create(detalleRecibo, queryRunner.manager);
|
||||
|
||||
const detalleData = {
|
||||
servicio: 5,
|
||||
user,
|
||||
alum,
|
||||
monto,
|
||||
fecha_operacion: new Date(),
|
||||
};
|
||||
|
||||
await this.detalleServicioService.Create(
|
||||
detalleData,
|
||||
queryRunner.manager,
|
||||
);
|
||||
|
||||
studentRegister.tiempo_disponible += 3600;
|
||||
|
||||
await this.alumnoInscritoService.save(
|
||||
studentRegister,
|
||||
queryRunner.manager,
|
||||
);
|
||||
|
||||
await queryRunner.commitTransaction();
|
||||
return { studentRegister};
|
||||
} catch (error) {
|
||||
await queryRunner.rollbackTransaction();
|
||||
throw new InternalServerErrorException(error.message);
|
||||
} finally {
|
||||
await queryRunner.release();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user