# Validar meses superiores en Cierre

## Validar meses superiores en Cierres

* Validar que no sea un mes superior al actual para cerrar
* Que no puede cerrar un mes del año anterior que no sea diciembre
* Validar que no se haya cerrado anteriormente.

![](https://2578941663-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lc1Wg6ze2c8GK7mFBZX%2F-Lc1WjGeqF4Ig-44ZLgX%2F-Lc1X7BlDWPeLHjVS4eO%2Fce.png?generation=1554820662966587\&alt=media)

## si usamos avbravoutils DateUtil ofrece el metodo isValidCierreMensual()

podemos simplificar el código mediante

```java
if(!DateUtil.isValidCierreMensual(cierremensual.getAnio(), cierremensual.getMes(), 25,rf.getArb())){
              return "";
          }
```

## O podemos escribir el codigo por nosotros mismos

```java
   if(cierremensual.getAnio() <=0){
                 JsfUtil.warningMessage(rf.getMessage("warning.anionegativo"));
                return "";
            }
            if(cierremensual.getAnio() >DateUtil.getAnioActual()){
                 JsfUtil.warningMessage(rf.getMessage("warning.anomayorqueactual"));
                return "";
            }

            Integer anio= DateUtil.getAnioActual() - cierremensual.getAnio();
            if(anio.intValue() > 1){
                   JsfUtil.warningMessage(rf.getMessage("warning.aniomuyantiguo"));
                return ""; 
            }
            if(anio.intValue() == 1 && !cierremensual.getMes().equals("diciembre")){
                JsfUtil.warningMessage(rf.getMessage("warning.debecerrardiciembredelañoanterior"));
                return ""; 
            }
            Integer diaactual = DateUtil.getDiaActual();            
            Integer mesactual = DateUtil.getMesActual();
            //Esto pasarlo a avbravoutils
            Integer numeromesseleccionado=DateUtil.numeroMes(cierremensual.getMes());

           if(numeromesseleccionado > mesactual  ){
                 JsfUtil.warningMessage(rf.getMessage("warning.mesacerrarmayoractual"));
               return "";
           }
           if(numeromesseleccionado.equals(mesactual) && diaactual< 25){
                 JsfUtil.warningMessage(rf.getMessage("warning.estacerrandoelmesmuypronto"));
               return "";
           }
```
