/** * ComparativoService - Servicio de comparativos de cotizaciones * * Gestión de cuadros comparativos para selección de proveedores. * * @module Purchase */ import { Repository } from 'typeorm'; import { ComparativoCotizaciones, ComparativoStatus } from '../entities/comparativo-cotizaciones.entity'; import { ComparativoProveedor } from '../entities/comparativo-proveedor.entity'; import { ComparativoProducto } from '../entities/comparativo-producto.entity'; import { ServiceContext, PaginatedResult } from '../../../shared/services/base.service'; export interface CreateComparativoDto { requisicionId?: string; name: string; comparisonDate: Date; notes?: string; } export interface AddProveedorDto { supplierId: string; quotationNumber?: string; quotationDate?: Date; deliveryDays?: number; paymentConditions?: string; evaluationNotes?: string; } export interface AddProductoDto { productId: string; quantity: number; unitPrice: number; notes?: string; } export interface ComparativoFilters { requisicionId?: string; status?: ComparativoStatus; dateFrom?: Date; dateTo?: Date; } export declare class ComparativoService { private readonly comparativoRepository; private readonly proveedorRepository; private readonly productoRepository; constructor(comparativoRepository: Repository, proveedorRepository: Repository, productoRepository: Repository); private generateCode; findWithFilters(ctx: ServiceContext, filters?: ComparativoFilters, page?: number, limit?: number): Promise>; findById(ctx: ServiceContext, id: string): Promise; findWithDetails(ctx: ServiceContext, id: string): Promise; create(ctx: ServiceContext, dto: CreateComparativoDto): Promise; addProveedor(ctx: ServiceContext, comparativoId: string, dto: AddProveedorDto): Promise; addProducto(ctx: ServiceContext, proveedorId: string, dto: AddProductoDto): Promise; startEvaluation(ctx: ServiceContext, id: string): Promise; selectWinner(ctx: ServiceContext, id: string, supplierId: string): Promise; cancel(ctx: ServiceContext, id: string): Promise; updateProveedorTotal(ctx: ServiceContext, proveedorId: string): Promise; softDelete(ctx: ServiceContext, id: string): Promise; } //# sourceMappingURL=comparativo.service.d.ts.map