feat(contables): cierre mensual de cuenta corriente de distribuidor #1

Merged
dmolinari merged 2 commits from feat/cierre-cuenta-corriente-distribuidor into main 2026-05-13 13:21:12 +00:00
3 changed files with 7 additions and 4 deletions
Showing only changes of commit 37c16686b7 - Show all commits

View File

@@ -19,7 +19,8 @@ namespace GestionIntegral.Api.Controllers.Contables
private readonly ICierreCuentaCorrienteService _cierreService;
private readonly ILogger<CierresCuentaCorrienteController> _logger;
// Permisos asignables a perfiles. La reapertura (CC002) NO se valida acá: es exclusiva de SuperAdmin.
// Permisos asignables a perfiles. La reapertura es exclusiva de SuperAdmin
// y se valida con User.IsInRole('SuperAdmin') — no tiene código en gral_Permisos.
private const string PermisoCrear = "CC001";
private const string PermisoVer = "CC003";

View File

@@ -67,7 +67,7 @@ const CierresCuentaCorrientePage: React.FC = () => {
const { tienePermiso, isSuperAdmin } = usePermissions();
const puedeVer = isSuperAdmin || tienePermiso('CC003');
const puedeCrear = isSuperAdmin || tienePermiso('CC001');
// Reapertura: exclusivo SuperAdmin (CC002 no se valida — no es asignable a perfiles).
// Reapertura: exclusivo SuperAdmin — sin código de permiso asignable.
const puedeReabrir = isSuperAdmin;
const [filtroIdDistribuidor, setFiltroIdDistribuidor] = useState<number | string>('');

View File

@@ -15,8 +15,10 @@ import PermisosChecklist from '../../components/Modals/Usuarios/PermisosChecklis
const SECCION_PERMISSIONS_PREFIX = "SS";
// Permisos exclusivos de SuperAdmin: no se asignan a perfiles ni se muestran en la UI de asignación.
// CS002 = Ajuste manual de saldo. CC002 = Reapertura de cierres de cuenta corriente.
const PERMISOS_SOLO_SUPERADMIN: ReadonlySet<string> = new Set(["CS002", "CC002"]);
// CS002 = Ajuste manual de saldo (legacy, ya existía en gral_Permisos antes del filtro).
// La reapertura de cierres también es exclusiva SuperAdmin pero no se insertó en gral_Permisos
// porque sería ruido — el backend valida directamente con User.IsInRole('SuperAdmin').
const PERMISOS_SOLO_SUPERADMIN: ReadonlySet<string> = new Set(["CS002"]);
const getModuloFromSeccionCodAcc = (codAcc: string): string | null => {
if (codAcc === "SS001") return "Distribución";