- Prefijo v2: MCH - TRACEABILITY-MASTER.yml creado - Listo para integracion como submodulo Workspace: v2.0.0 | SIMCO: v4.0.0
27 lines
1.3 KiB
TypeScript
27 lines
1.3 KiB
TypeScript
import { Repository } from 'typeorm';
|
|
import { Sale } from './entities/sale.entity';
|
|
import { SaleItem } from './entities/sale-item.entity';
|
|
import { Product } from '../products/entities/product.entity';
|
|
import { Tenant } from '../auth/entities/tenant.entity';
|
|
import { CreateSaleDto, CancelSaleDto, SalesFilterDto } from './dto/sale.dto';
|
|
export interface TodaySummary {
|
|
totalSales: number;
|
|
totalRevenue: number;
|
|
totalTax: number;
|
|
avgTicket: number;
|
|
}
|
|
export declare class SalesService {
|
|
private readonly saleRepository;
|
|
private readonly saleItemRepository;
|
|
private readonly productRepository;
|
|
private readonly tenantRepository;
|
|
constructor(saleRepository: Repository<Sale>, saleItemRepository: Repository<SaleItem>, productRepository: Repository<Product>, tenantRepository: Repository<Tenant>);
|
|
findAll(tenantId: string, filters: SalesFilterDto): Promise<Sale[]>;
|
|
findOne(tenantId: string, id: string): Promise<Sale>;
|
|
findByTicketNumber(tenantId: string, ticketNumber: string): Promise<Sale>;
|
|
create(tenantId: string, dto: CreateSaleDto): Promise<Sale>;
|
|
cancel(tenantId: string, id: string, dto: CancelSaleDto): Promise<Sale>;
|
|
getTodaySummary(tenantId: string): Promise<TodaySummary>;
|
|
getRecentSales(tenantId: string, limit?: number): Promise<Sale[]>;
|
|
}
|