Class CashReconciliationController
- Namespace
- KadicErp.WebApi.Controllers.Treasury
- Assembly
- KadicErp.WebApi.dll
[Authorize]
[ApiController]
[Route("api/treasury/cash-closings")]
public class CashReconciliationController : ControllerBase
- Inheritance
-
objectControllerBaseCashReconciliationController
Constructors
CashReconciliationController(IMediator, ICurrentUser, ICashStateExportService)
public CashReconciliationController(IMediator mediator, ICurrentUser currentUser, ICashStateExportService exportService)
Parameters
mediatorIMediatorcurrentUserICurrentUserexportServiceICashStateExportService
Methods
CreateCashClosing(CreateCashClosingCommand, CancellationToken)
Registra un nuevo cierre de caja con el conteo físico de billetes y monedas por cada denominación y moneda (DOP, USD, EUR). El sistema calcula la diferencia y determina el status (CUADRADO | DISCREPANCIA).
[HttpPost]
[Authorize(Policy = "TREASURY_CASH_RECONCILIATION_CLOSE")]
public Task<IActionResult> CreateCashClosing(CreateCashClosingCommand command, CancellationToken ct)
Parameters
commandCreateCashClosingCommandctCancellationToken
Returns
- Task<IActionResult>
ExportCashStateTransactions(Guid, string?, string?, Guid?, CancellationToken)
Descarga las transacciones del período como un workbook Excel (portada de resumen + hoja detalle por cada tipo de ingreso).
[HttpGet("current-state/transactions/export")]
[Authorize(Policy = "TREASURY_CASH_RECONCILIATION_EXPORT")]
public Task<IActionResult> ExportCashStateTransactions(Guid branchId, string? dateFrom, string? dateTo, Guid? closingId = null, CancellationToken ct = default)
Parameters
branchIdGuiddateFromstringdateTostringclosingIdGuid?ctCancellationToken
Returns
- Task<IActionResult>
GetCashClosingById(Guid, CancellationToken)
Obtiene el detalle completo de un cierre de caja incluyendo las líneas de denominación de billetes/monedas por moneda (DOP/USD/EUR).
[HttpGet("{id:guid}")]
[Authorize(Policy = "TREASURY_CASH_RECONCILIATION_DETAIL")]
public Task<IActionResult> GetCashClosingById(Guid id, CancellationToken ct)
Parameters
idGuidctCancellationToken
Returns
- Task<IActionResult>
GetCashClosings(Guid, string?, string?, int, int, CancellationToken)
Obtiene el historial paginado de cierres de caja para una sucursal. Filtros opcionales: dateFrom, dateTo, page, pageSize.
[HttpGet]
[Authorize(Policy = "TREASURY_CASH_RECONCILIATION_HISTORY")]
public Task<IActionResult> GetCashClosings(Guid branchId, string? dateFrom, string? dateTo, int page = 1, int pageSize = 20, CancellationToken ct = default)
Parameters
branchIdGuiddateFromstringdateTostringpageintpageSizeintctCancellationToken
Returns
- Task<IActionResult>
GetCashStateTransactions(Guid, string?, string?, Guid?, CancellationToken)
Devuelve las transacciones individuales (drilldown) del período agrupadas por tipo (Sales, CxC, DebitNotes) para mostrar el detalle de cada KPI.
[HttpGet("current-state/transactions")]
[Authorize(Policy = "TREASURY_CASH_RECONCILIATION_TRANSACTIONS")]
public Task<IActionResult> GetCashStateTransactions(Guid branchId, string? dateFrom, string? dateTo, Guid? closingId = null, CancellationToken ct = default)
Parameters
branchIdGuiddateFromstringdateTostringclosingIdGuid?ctCancellationToken
Returns
- Task<IActionResult>
GetCurrentCashState(Guid, string?, string?, CancellationToken)
Obtiene el estado actual de la caja para el turno en curso. Devuelve: saldos iniciales, saldos esperados, KPIs, categorías y métodos de pago agrupados por moneda (DOP, USD, EUR).
[HttpGet("current-state")]
[Authorize(Policy = "TREASURY_CASH_RECONCILIATION_VIEW")]
public Task<IActionResult> GetCurrentCashState(Guid branchId, string? dateFrom, string? dateTo, CancellationToken ct = default)
Parameters
branchIdGuiddateFromstringdateTostringctCancellationToken
Returns
- Task<IActionResult>