feat(contables): cierre mensual de cuenta corriente de distribuidor
Permite congelar el saldo de un distribuidor por empresa a una fecha de corte y bloquear modificaciones retroactivas sobre el período cerrado. El saldo se calcula sumando movimientos en rango (sin tocar cue_Saldos). Incluye reapertura controlada exclusivamente por SuperAdmin, reporte con saldo inicial, atajo "Desde último cierre", y auditoría del ciclo de vida _H. Permisos CC001/CC002/CC003. Middleware global mapea bloqueos por período cerrado a HTTP 409.
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
using System;
|
||||
|
||||
namespace GestionIntegral.Api.Services.Contables
|
||||
{
|
||||
// Se lanza cuando un C/U/D intenta afectar la cuenta corriente de un distribuidor en una fecha
|
||||
// que cae dentro de un período cerrado (cue_CierresCuentaCorriente con Estado='Activo').
|
||||
// Mapea al código de error PERIODO_CERRADO_BLOQUEO_OPERACION (HTTP 409).
|
||||
public class BloqueoPorPeriodoCerradoException : Exception
|
||||
{
|
||||
public int IdCierre { get; }
|
||||
public DateTime FechaCorte { get; }
|
||||
|
||||
public BloqueoPorPeriodoCerradoException(int idCierre, DateTime fechaCorte)
|
||||
: base($"El período está cerrado al {fechaCorte:dd/MM/yyyy} (cierre #{idCierre}). No se permiten modificaciones sobre fechas anteriores o iguales a la fecha de corte.")
|
||||
{
|
||||
IdCierre = idCierre;
|
||||
FechaCorte = fechaCorte;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user