Проверка элементов управления ввода даты в отчетах Jasper Server/Jasper

Я хочу поставить проверки на эти даты, как:

1) END_DATE не должен быть меньше START_DATE
2) START_DATE не должен быть больше END_DATE

1 ответ

  1. Для этого случая можно использовать переменные. Я создал похожее название и воспроизвел ваши требования.

    <variable name="START_DATE_corr" class="java.util.Date">
        <variableExpression><![CDATA[($F{START_DATE}.getTime() > $F{END_DATE}.getTime()) ? $F{END_DATE} : $F{START_DATE}]]></variableExpression>
    </variable>
    
    <variable name="END_DATE_corr" class="java.util.Date">
        <variableExpression><![CDATA[$F{END_DATE}.getTime() < $F{START_DATE} ? $F{START_DATE} : $F{END_DATE}]]></variableExpression>
    </variable>
    

    После этого можно использовать переменные

    $V{START_DATE_corr}
    $V{END_DATE_corr}
    

    в вашем докладе.