51 lines
1.5 KiB
TypeScript
51 lines
1.5 KiB
TypeScript
/**
|
|
* Proyecto Service
|
|
* Servicio para gestión de proyectos de construcción
|
|
*
|
|
* @module Construction
|
|
*/
|
|
import { Proyecto, EstadoProyecto } from '../entities/proyecto.entity';
|
|
export interface CreateProyectoDto {
|
|
tenantId: string;
|
|
codigo: string;
|
|
nombre: string;
|
|
descripcion?: string;
|
|
direccion?: string;
|
|
ciudad?: string;
|
|
estado?: string;
|
|
fechaInicio?: Date;
|
|
fechaFinEstimada?: Date;
|
|
createdById?: string;
|
|
}
|
|
export interface UpdateProyectoDto {
|
|
nombre?: string;
|
|
descripcion?: string;
|
|
direccion?: string;
|
|
ciudad?: string;
|
|
estado?: string;
|
|
fechaInicio?: Date;
|
|
fechaFinEstimada?: Date;
|
|
estadoProyecto?: EstadoProyecto;
|
|
}
|
|
export interface ProyectoFilters {
|
|
tenantId: string;
|
|
estadoProyecto?: EstadoProyecto;
|
|
ciudad?: string;
|
|
}
|
|
export declare class ProyectoService {
|
|
private repository;
|
|
constructor();
|
|
findAll(filters: ProyectoFilters): Promise<Proyecto[]>;
|
|
findById(id: string, tenantId: string): Promise<Proyecto | null>;
|
|
findByCodigo(codigo: string, tenantId: string): Promise<Proyecto | null>;
|
|
create(data: CreateProyectoDto): Promise<Proyecto>;
|
|
update(id: string, tenantId: string, data: UpdateProyectoDto): Promise<Proyecto | null>;
|
|
delete(id: string, tenantId: string): Promise<boolean>;
|
|
getStatistics(tenantId: string): Promise<{
|
|
total: number;
|
|
activos: number;
|
|
completados: number;
|
|
pausados: number;
|
|
}>;
|
|
}
|
|
//# sourceMappingURL=proyecto.service.d.ts.map
|