multa reparado
This commit is contained in:
+4
-4
@@ -10,14 +10,14 @@ import { Socket, Server } from 'socket.io';
|
||||
@WebSocketGateway({
|
||||
cors: {
|
||||
origin: [
|
||||
// 'http://localhost:3176',
|
||||
// 'http://localhost:3186',
|
||||
'http://localhost:3176',
|
||||
'http://localhost:3186',
|
||||
// 'http://132.248.80.196:3155',
|
||||
// 'http://132.248.80.196:3185',
|
||||
// 'https://pmodulospcpuma.unam.mx',
|
||||
// 'https://pmodulospcpuma.unam.mx:3015',
|
||||
'https://modulospcpuma.unam.mx',
|
||||
'https://modulospcpuma.unam.mx:3015',
|
||||
// 'https://modulospcpuma.unam.mx',
|
||||
// 'https://modulospcpuma.unam.mx:3015',
|
||||
],
|
||||
},
|
||||
})
|
||||
|
||||
@@ -318,6 +318,7 @@ export class EquipoService {
|
||||
findInfoEquipoByNumeroInventario(
|
||||
institucion: Institucion,
|
||||
numero_inventario: string,
|
||||
validarNoExiste = true,
|
||||
) {
|
||||
return this.informacionEquipoView
|
||||
.findOne({
|
||||
@@ -327,20 +328,22 @@ export class EquipoService {
|
||||
},
|
||||
})
|
||||
.then((infoEquipo) => {
|
||||
if (!infoEquipo)
|
||||
throw new NotFoundException(
|
||||
'No existe un equipo de cómputo con este número de inventario.',
|
||||
);
|
||||
if (!infoEquipo) {
|
||||
if (validarNoExiste)
|
||||
throw new NotFoundException(
|
||||
'No existe un equipo de cómputo con este número de inventario.',
|
||||
);
|
||||
return null;
|
||||
}
|
||||
return this.viewToEquipo(infoEquipo);
|
||||
});
|
||||
}
|
||||
|
||||
async findInfoEquipoByEquipo(id_carrito: number | Carrito, equipo: string) {
|
||||
const carrito =
|
||||
typeof id_carrito === 'number'
|
||||
? await this.carritoService.findInfoCarritoById(id_carrito)
|
||||
: id_carrito;
|
||||
|
||||
async findInfoEquipoByEquipo(
|
||||
carrito: Carrito,
|
||||
equipo: string,
|
||||
validarNoExiste = true,
|
||||
) {
|
||||
return this.informacionEquipoView
|
||||
.findOne({
|
||||
where: {
|
||||
@@ -349,10 +352,13 @@ export class EquipoService {
|
||||
},
|
||||
})
|
||||
.then((infoEquipo) => {
|
||||
if (!infoEquipo)
|
||||
throw new NotFoundException(
|
||||
'No existe un equipo de cómputo con este número de inventario.',
|
||||
);
|
||||
if (!infoEquipo) {
|
||||
if (validarNoExiste)
|
||||
throw new NotFoundException(
|
||||
'No existe un equipo de cómputo con este número de inventario.',
|
||||
);
|
||||
return null;
|
||||
}
|
||||
return this.viewToEquipo(infoEquipo);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@ import { Infraccion } from './entity/infraccion.entity';
|
||||
import { InstitucionInfraccion } from './entity/institucion-infraccion.entity';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { InstitucionService } from '../institucion/institucion.service';
|
||||
import { Institucion } from 'src/institucion/entity/institucion.entity';
|
||||
|
||||
@Injectable()
|
||||
export class InstitucionInfraccionService {
|
||||
@@ -87,6 +88,17 @@ export class InstitucionInfraccionService {
|
||||
});
|
||||
}
|
||||
|
||||
findSinInfraccion(institucion: Institucion) {
|
||||
return this.institucionInfraccionRepository
|
||||
.createQueryBuilder('ii')
|
||||
.innerJoinAndSelect('ii.infraccion', 'inf')
|
||||
.innerJoinAndSelect('ii.institucion', 'i')
|
||||
.where('i.id_institucion = :id_institucion && inf.id_infraccion = 1', {
|
||||
id_institucion: institucion.id_institucion,
|
||||
})
|
||||
.getOne();
|
||||
}
|
||||
|
||||
update(admin: Operador, attrs: Partial<InstitucionInfraccion>) {
|
||||
return this.findById(attrs.id_institucion_infraccion)
|
||||
.then((institucionInfraccion) => {
|
||||
|
||||
@@ -21,6 +21,16 @@ export class InstitucionUsuarioService {
|
||||
}));
|
||||
}
|
||||
|
||||
findAllByIdUsuario(id_usuario: number) {
|
||||
return this.repository.find({
|
||||
join: {
|
||||
alias: 'iu',
|
||||
innerJoinAndSelect: { ic: 'iu.institucionCarrera' },
|
||||
},
|
||||
where: { usuario: { id_usuario } },
|
||||
});
|
||||
}
|
||||
|
||||
findById(id_institucion_usuario: number) {
|
||||
return this.repository
|
||||
.findOne({ where: { id_institucion_usuario } })
|
||||
|
||||
@@ -53,6 +53,7 @@ export class InstitucionService {
|
||||
'responsable',
|
||||
],
|
||||
where: busqueda,
|
||||
order: { institucion: 'ASC' },
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import { Usuario } from '../../../usuario/entity/usuario.entity';
|
||||
.addSelect('ii.id_infraccion', 'id_infraccion')
|
||||
.addSelect('om.id_institucion', 'id_institucion')
|
||||
.addSelect('om.operador', 'operador')
|
||||
.addSelect('p.id_equipo', 'id_equipo')
|
||||
.addSelect('p.id_usuario', 'id_usuario')
|
||||
.addSelect('inf.infraccion', 'infraccion')
|
||||
.addSelect('i.institucion', 'institucion')
|
||||
@@ -45,7 +46,7 @@ export class FullInformacionMultaView {
|
||||
id_multa: number;
|
||||
|
||||
@ViewColumn()
|
||||
activo: boolean;
|
||||
activo: number;
|
||||
|
||||
@ViewColumn()
|
||||
descripcion: string;
|
||||
@@ -56,6 +57,9 @@ export class FullInformacionMultaView {
|
||||
@ViewColumn()
|
||||
fecha_inicio: Date;
|
||||
|
||||
@ViewColumn()
|
||||
id_equipo: number;
|
||||
|
||||
@ViewColumn()
|
||||
id_institucion: number;
|
||||
|
||||
@@ -87,7 +91,7 @@ export class FullInformacionMultaView {
|
||||
operador: string;
|
||||
|
||||
@ViewColumn()
|
||||
retraso: boolean;
|
||||
retraso: number;
|
||||
|
||||
@ViewColumn()
|
||||
usuario: string;
|
||||
|
||||
@@ -98,7 +98,7 @@ export class MultaController {
|
||||
const operador: Operador = req.user.operador;
|
||||
|
||||
this.validarUsuarioService.validarAdminOperador(operador);
|
||||
return this.multaService.findAll(query);
|
||||
return this.multaService.findFullInfoMultaAll(query);
|
||||
}
|
||||
|
||||
@Serealize(MultasEquipoOutputDto)
|
||||
|
||||
+115
-93
@@ -1,9 +1,10 @@
|
||||
import * as moment from 'moment';
|
||||
import { ConflictException, Injectable } from '@nestjs/common';
|
||||
import { InjectRepository } from '@nestjs/typeorm';
|
||||
import { Repository } from 'typeorm';
|
||||
import { InstitucionInfraccion } from '../institucion-infraccion/entity/institucion-infraccion.entity';
|
||||
import { DeepPartial, FindOptionsWhere, Like, Repository } from 'typeorm';
|
||||
import { Multa } from './entity/multa.entity';
|
||||
import { FullInformacionMultaView } from './entity/views/full-informacion-multa.view';
|
||||
import { InformacionMultaView } from './entity/views/informacion-multa.view';
|
||||
import { Operador } from '../operador/entity/operador.entity';
|
||||
import { Prestamo } from '../prestamo/entity/prestamo.entity';
|
||||
import { EquipoService } from '../equipo/equipo.service';
|
||||
@@ -18,6 +19,10 @@ import { UsuarioService } from '../usuario/usuario.service';
|
||||
export class MultaService {
|
||||
constructor(
|
||||
@InjectRepository(Multa) private repository: Repository<Multa>,
|
||||
@InjectRepository(FullInformacionMultaView)
|
||||
private fullInformacionMultaView: Repository<FullInformacionMultaView>,
|
||||
@InjectRepository(InformacionMultaView)
|
||||
private informacionMultaView: Repository<InformacionMultaView>,
|
||||
private equipoService: EquipoService,
|
||||
private institucionService: InstitucionService,
|
||||
private institucionInfraccionService: InstitucionInfraccionService,
|
||||
@@ -43,21 +48,13 @@ export class MultaService {
|
||||
typeof id_operador === 'number'
|
||||
? await this.operadorService.findById(id_operador)
|
||||
: id_operador;
|
||||
const data: {
|
||||
descripcion: string;
|
||||
fecha_inicio: Date;
|
||||
operadorMulta: Operador;
|
||||
prestamo: Prestamo;
|
||||
fecha_fin?: Date;
|
||||
institucionInfraccion?: InstitucionInfraccion;
|
||||
retraso?: boolean;
|
||||
} = {
|
||||
const data: DeepPartial<Multa> = {
|
||||
descripcion,
|
||||
fecha_inicio: ahora.toDate(),
|
||||
operadorMulta: operador,
|
||||
prestamo,
|
||||
};
|
||||
const institucionInfraccion = id_institucion_infraccion
|
||||
let institucionInfraccion = id_institucion_infraccion
|
||||
? await this.institucionInfraccionService.findById(
|
||||
id_institucion_infraccion,
|
||||
)
|
||||
@@ -67,10 +64,16 @@ export class MultaService {
|
||||
throw new ConflictException(
|
||||
'No se puede multar a un usuario con un préstamo que fue cancelado.',
|
||||
);
|
||||
if (!retraso && !institucionInfraccion)
|
||||
throw new ConflictException(
|
||||
'No se mandó ningún motivo para multar a este alumno.',
|
||||
);
|
||||
if (!institucionInfraccion) {
|
||||
if (!retraso)
|
||||
throw new ConflictException(
|
||||
'No se mandó ningún motivo para multar a este alumno.',
|
||||
);
|
||||
institucionInfraccion =
|
||||
await this.institucionInfraccionService.findSinInfraccion(
|
||||
operador.institucion,
|
||||
);
|
||||
}
|
||||
return this.repository
|
||||
.findOne({ where: { prestamo } })
|
||||
.then((existeMulta) => {
|
||||
@@ -89,16 +92,19 @@ export class MultaService {
|
||||
data.fecha_fin = ahora.toDate();
|
||||
return this.repository.save(this.repository.create(data));
|
||||
})
|
||||
.then((_) => {
|
||||
for (let i = 0; prestamo.usuario.instituciones.length; i++) {
|
||||
const institucionUsuario = prestamo.usuario.instituciones[i];
|
||||
|
||||
.then((_) =>
|
||||
this.institucionUsuarioService.findAllByIdUsuario(
|
||||
prestamo.usuario.id_usuario,
|
||||
),
|
||||
)
|
||||
.then(async (instituciones) => {
|
||||
for (let i = 0; i < instituciones.length; i++) {
|
||||
if (
|
||||
institucionUsuario.institucionCarrera.institucion.id_institucion ===
|
||||
instituciones[i].institucionCarrera.institucion.id_institucion ===
|
||||
operador.institucion.id_institucion
|
||||
) {
|
||||
institucionUsuario.multa = true;
|
||||
return this.institucionUsuarioService.update(institucionUsuario);
|
||||
instituciones[i].multa = true;
|
||||
await this.institucionUsuarioService.update(instituciones[i]);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -132,7 +138,7 @@ export class MultaService {
|
||||
});
|
||||
}
|
||||
|
||||
async findAll(filtros: {
|
||||
async findFullInfoMultaAll(filtros: {
|
||||
pagina: string;
|
||||
id_institucion?: string;
|
||||
usuario?: string;
|
||||
@@ -142,88 +148,70 @@ export class MultaService {
|
||||
parseInt(filtros.id_institucion),
|
||||
)
|
||||
: null;
|
||||
const query = this.repository
|
||||
.createQueryBuilder('mu')
|
||||
.innerJoinAndSelect('mu.institucionInfraccion', 'ii')
|
||||
.innerJoinAndSelect('mu.operadorMulta', 'om')
|
||||
.innerJoinAndSelect('mu.prestamo', 'p')
|
||||
.innerJoinAndSelect('ii.infraccion', 'inf')
|
||||
.innerJoinAndSelect('om.tipoUsuario', 'tu')
|
||||
.innerJoinAndSelect('p.equipo', 'e')
|
||||
.innerJoinAndSelect('p.usuario', 'u')
|
||||
.innerJoinAndSelect('e.carrito', 'c')
|
||||
.innerJoinAndSelect('u.instituciones', 'is')
|
||||
.innerJoinAndSelect('c.modulo', 'm')
|
||||
.innerJoinAndSelect('c.tipoCarrito', 'tc')
|
||||
.innerJoinAndSelect('is.institucionCarrera', 'ic')
|
||||
.innerJoinAndSelect('m.institucion', 'i')
|
||||
.innerJoinAndSelect('ic.carrera', 'ca')
|
||||
.innerJoinAndSelect('ic.institucion', 'in')
|
||||
.orderBy('i.institucion')
|
||||
.addOrderBy('mu.activo', 'DESC')
|
||||
.addOrderBy('mu.id_multa', 'DESC')
|
||||
.addOrderBy('u.usuario')
|
||||
.skip((parseInt(filtros.pagina) - 1) * 25)
|
||||
.take(25);
|
||||
const busqueda: FindOptionsWhere<FullInformacionMultaView> = {};
|
||||
|
||||
if (filtros.usuario)
|
||||
query.andWhere('u.usuario LIKE :usuario', {
|
||||
usuario: `%${filtros.usuario}%`,
|
||||
if (filtros.usuario) busqueda.usuario = Like(`%${filtros.usuario}%`);
|
||||
if (institucion) busqueda.id_institucion = institucion.id_institucion;
|
||||
return this.fullInformacionMultaView
|
||||
.findAndCount({
|
||||
where: busqueda,
|
||||
order: {
|
||||
institucion: 'ASC',
|
||||
activo: 'DESC',
|
||||
id_multa: 'DESC',
|
||||
id_usuario: 'ASC',
|
||||
},
|
||||
skip: (parseInt(filtros.pagina) - 1) * 25,
|
||||
take: 25,
|
||||
})
|
||||
.then((infoMultas) => {
|
||||
const multas: Multa[] = [];
|
||||
|
||||
for (let i = 0; i < infoMultas[0].length; i++)
|
||||
multas.push(
|
||||
this.repository.create(this.fullViewToMulta(infoMultas[0][i])),
|
||||
);
|
||||
return [multas, infoMultas[1]];
|
||||
});
|
||||
if (institucion)
|
||||
query.andWhere('i.id_institucion = :id_institucion', {
|
||||
id_institucion: institucion.id_institucion,
|
||||
});
|
||||
return query.getManyAndCount();
|
||||
}
|
||||
|
||||
findAllByIdEquipo(id_equipo: number, pagina: number) {
|
||||
return this.equipoService.findInfoEquipoById(id_equipo).then((equipo) =>
|
||||
this.repository
|
||||
.createQueryBuilder('mu')
|
||||
.innerJoinAndSelect('mu.institucionInfraccion', 'ii')
|
||||
.innerJoinAndSelect('mu.operadorMulta', 'om')
|
||||
.innerJoinAndSelect('mu.prestamo', 'p')
|
||||
.innerJoinAndSelect('ii.infraccion', 'inf')
|
||||
.innerJoinAndSelect('ii.institucion', 'i')
|
||||
.innerJoinAndSelect('om.tipoUsuario', 'tu')
|
||||
.innerJoinAndSelect('p.equipo', 'e', 'e.id_equipo = :id_equipo', {
|
||||
id_equipo: equipo.id_equipo,
|
||||
this.fullInformacionMultaView
|
||||
.findAndCount({
|
||||
where: { id_equipo: equipo.id_equipo },
|
||||
skip: (pagina - 1) * 25,
|
||||
take: 25,
|
||||
})
|
||||
.innerJoinAndSelect('p.usuario', 'u')
|
||||
.innerJoinAndSelect('u.instituciones', 'is')
|
||||
.innerJoinAndSelect('is.institucionCarrera', 'ic')
|
||||
.innerJoinAndSelect('ic.carrera', 'ca')
|
||||
.innerJoinAndSelect('ic.institucion', 'in')
|
||||
.orderBy('mu.id_multa', 'DESC')
|
||||
.skip((pagina - 1) * 25)
|
||||
.take(25)
|
||||
.getManyAndCount(),
|
||||
.then((infoMultas) => {
|
||||
const multas: Multa[] = [];
|
||||
|
||||
for (let i = 0; i < infoMultas[0].length; i++)
|
||||
multas.push(
|
||||
this.repository.create(this.fullViewToMulta(infoMultas[0][i])),
|
||||
);
|
||||
return [multas, infoMultas[1]];
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
findAllByIdUsuario(id_usuario: number, pagina: number) {
|
||||
return this.usuarioService.findById(id_usuario).then((usuario) =>
|
||||
this.repository
|
||||
.createQueryBuilder('mu')
|
||||
.innerJoinAndSelect('mu.institucionInfraccion', 'ii')
|
||||
.innerJoinAndSelect('mu.operadorMulta', 'om')
|
||||
.innerJoinAndSelect('mu.prestamo', 'p')
|
||||
.innerJoinAndSelect('ii.infraccion', 'inf')
|
||||
.innerJoinAndSelect('ii.institucion', 'i')
|
||||
.innerJoinAndSelect('om.tipoUsuario', 'tu')
|
||||
.innerJoinAndSelect('p.equipo', 'e')
|
||||
.innerJoinAndSelect('p.usuario', 'u', 'u.id_usuario = :id_usuario', {
|
||||
id_usuario: usuario.id_usuario,
|
||||
this.fullInformacionMultaView
|
||||
.findAndCount({
|
||||
where: { id_usuario: usuario.id_usuario },
|
||||
skip: (pagina - 1) * 25,
|
||||
take: 25,
|
||||
})
|
||||
.innerJoinAndSelect('e.carrito', 'c')
|
||||
.innerJoinAndSelect('c.modulo', 'm')
|
||||
.innerJoinAndSelect('c.tipoCarrito', 'tc')
|
||||
.innerJoinAndSelect('m.institucion', 'in')
|
||||
.orderBy('mu.id_multa', 'DESC')
|
||||
.skip((pagina - 1) * 25)
|
||||
.take(25)
|
||||
.getManyAndCount(),
|
||||
.then((infoMultas) => {
|
||||
const multas: Multa[] = [];
|
||||
|
||||
for (let i = 0; i < infoMultas[0].length; i++)
|
||||
multas.push(
|
||||
this.repository.create(this.fullViewToMulta(infoMultas[0][i])),
|
||||
);
|
||||
return [multas, infoMultas[1]];
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -242,6 +230,40 @@ export class MultaService {
|
||||
);
|
||||
}
|
||||
|
||||
private fullViewToMulta(infoMulta: FullInformacionMultaView) {
|
||||
return this.repository.create({
|
||||
id_multa: infoMulta.id_multa,
|
||||
activo: infoMulta.activo === 1,
|
||||
descripcion: infoMulta.descripcion,
|
||||
fecha_fin: infoMulta.fecha_fin,
|
||||
fecha_inicio: infoMulta.fecha_inicio,
|
||||
retraso: infoMulta.retraso === 1,
|
||||
institucionInfraccion: {
|
||||
id_institucion_infraccion: infoMulta.id_institucion_infraccion,
|
||||
infraccion: {
|
||||
id_infraccion: infoMulta.id_infraccion,
|
||||
infraccion: infoMulta.infraccion,
|
||||
},
|
||||
},
|
||||
operadorMulta: {
|
||||
id_operador: infoMulta.id_operador,
|
||||
operador: infoMulta.operador,
|
||||
institucion: {
|
||||
id_institucion: infoMulta.id_institucion,
|
||||
institucion: infoMulta.institucion,
|
||||
},
|
||||
},
|
||||
prestamo: {
|
||||
id_prestamo: infoMulta.id_prestamo,
|
||||
usuario: {
|
||||
id_usuario: infoMulta.id_usuario,
|
||||
usuario: infoMulta.usuario,
|
||||
nombre: infoMulta.nombre,
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
async quitarMulta(id_institucion_usuario: number) {
|
||||
const institucionUsuario = await this.institucionUsuarioService.findById(
|
||||
id_institucion_usuario,
|
||||
|
||||
@@ -157,34 +157,34 @@ export class PrestamoService {
|
||||
)
|
||||
: null;
|
||||
|
||||
if (ahora.weekday() === 0)
|
||||
throw new ConflictException('No hay servicio los días domingo.');
|
||||
this.validarInstitucionUsuario(usuario.instituciones, modulo);
|
||||
if (!institucionDia.activo)
|
||||
throw new ConflictException(
|
||||
'El día de hoy no hay servicio de préstamo de equipos.',
|
||||
);
|
||||
if (ahora < horaMin)
|
||||
throw new ConflictException(
|
||||
`El servicio inicia a las ${institucionDia.hora_inicio} el día de hoy.`,
|
||||
);
|
||||
if (ahora >= horaExtra)
|
||||
throw new ConflictException(
|
||||
`El servicio terminó a las ${institucionDia.hora_extra} el día de hoy.`,
|
||||
);
|
||||
for (let i = 0; i < institucionDia.horasExcepcion.length; i++) {
|
||||
const horaFin = moment(
|
||||
`${ahoraStr} ${institucionDia.horasExcepcion[i].hora_fin}`,
|
||||
);
|
||||
const horaInicio = moment(
|
||||
`${ahoraStr} ${institucionDia.horasExcepcion[i].hora_inicio}`,
|
||||
);
|
||||
// if (ahora.weekday() === 0)
|
||||
// throw new ConflictException('No hay servicio los días domingo.');
|
||||
// this.validarInstitucionUsuario(usuario.instituciones, modulo);
|
||||
// if (!institucionDia.activo)
|
||||
// throw new ConflictException(
|
||||
// 'El día de hoy no hay servicio de préstamo de equipos.',
|
||||
// );
|
||||
// if (ahora < horaMin)
|
||||
// throw new ConflictException(
|
||||
// `El servicio inicia a las ${institucionDia.hora_inicio} el día de hoy.`,
|
||||
// );
|
||||
// if (ahora >= horaExtra)
|
||||
// throw new ConflictException(
|
||||
// `El servicio terminó a las ${institucionDia.hora_extra} el día de hoy.`,
|
||||
// );
|
||||
// for (let i = 0; i < institucionDia.horasExcepcion.length; i++) {
|
||||
// const horaFin = moment(
|
||||
// `${ahoraStr} ${institucionDia.horasExcepcion[i].hora_fin}`,
|
||||
// );
|
||||
// const horaInicio = moment(
|
||||
// `${ahoraStr} ${institucionDia.horasExcepcion[i].hora_inicio}`,
|
||||
// );
|
||||
|
||||
if (ahora > horaInicio && ahora < horaFin)
|
||||
throw new ConflictException(
|
||||
`Se suspendió temporalmente el servicio de ${institucionDia.horasExcepcion[i].hora_inicio} a ${institucionDia.horasExcepcion[i].hora_fin}.`,
|
||||
);
|
||||
}
|
||||
// if (ahora > horaInicio && ahora < horaFin)
|
||||
// throw new ConflictException(
|
||||
// `Se suspendió temporalmente el servicio de ${institucionDia.horasExcepcion[i].hora_inicio} a ${institucionDia.horasExcepcion[i].hora_fin}.`,
|
||||
// );
|
||||
// }
|
||||
return this.informacionPrestamoView
|
||||
.findOne({ where: { activo: 1, id_usuario: usuario.id_usuario } })
|
||||
.then((existePrestamo) => {
|
||||
|
||||
@@ -217,6 +217,7 @@ export class UploadFileService {
|
||||
? await this.equipoService.findInfoEquipoByEquipo(
|
||||
carrito,
|
||||
dataEquipo.equipo,
|
||||
false,
|
||||
)
|
||||
: null;
|
||||
|
||||
@@ -251,6 +252,7 @@ export class UploadFileService {
|
||||
equipo = await this.equipoService.findInfoEquipoByNumeroInventario(
|
||||
institucion,
|
||||
dataEquipo.numero_inventario,
|
||||
false,
|
||||
);
|
||||
if (equipo) {
|
||||
errores.push(
|
||||
|
||||
@@ -261,7 +261,12 @@ export class UsuarioService {
|
||||
throw new ConflictException(
|
||||
'Tu institución no te asignó un correo institucional, dirigete al módulo ',
|
||||
);
|
||||
message = `Se creó correctamente tu cuenta, mandamos un correo al email: ${usuario.correo} con tus credenciales para acceder a este servicio.`;
|
||||
|
||||
const arrobaIndex = usuario.correo.indexOf('@');
|
||||
|
||||
message = `Se creó correctamente tu cuenta, mandamos un correo a ...${usuario.correo.slice(
|
||||
arrobaIndex - 3,
|
||||
)} con tus credenciales para acceder a este servicio.`;
|
||||
usuario.telefono = telefono;
|
||||
usuario.password = this.bcryptService.encriptar(password);
|
||||
return this.repository.save(usuario);
|
||||
|
||||
Reference in New Issue
Block a user