erp-construccion-backend/dist/modules/construction/services/proyecto.service.d.ts

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