This is an automated email from the git hooks/post-receive script. New commit to branch feature/1293-addAccountViewerTab in repository lima. See http://git.chorem.org/lima.git commit 8ac5089a81041bf740453bcdca499227acd61e0d Author: dcosse <cosse@codelutin.com> Date: Fri Sep 25 13:05:56 2015 +0200 refs #1293 corrige exception dans le cas ou aucune periode financière existe avec la date choisie --- .../org/chorem/lima/business/api/FinancialPeriodService.java | 2 ++ .../chorem/lima/business/ejb/FinancialPeriodServiceImpl.java | 8 ++++++++ .../java/org/chorem/lima/entity/FinancialPeriodTopiaDao.java | 10 ++++++++++ .../chorem/lima/ui/accountViewer/AccountViewerViewHandler.java | 2 +- 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/lima-business-api/src/main/java/org/chorem/lima/business/api/FinancialPeriodService.java b/lima-business-api/src/main/java/org/chorem/lima/business/api/FinancialPeriodService.java index 4ed0a10..d164f4e 100644 --- a/lima-business-api/src/main/java/org/chorem/lima/business/api/FinancialPeriodService.java +++ b/lima-business-api/src/main/java/org/chorem/lima/business/api/FinancialPeriodService.java @@ -60,6 +60,8 @@ public interface FinancialPeriodService { FinancialPeriod getFinancialForDate(Date date); + FinancialPeriod getFinancialPeriodIfExistsByDate(Date date); + List<FinancialPeriod> getFinancialPeriodsWithBeginDateWithin(Date beginDateFirst, Date endDateLast); } diff --git a/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialPeriodServiceImpl.java b/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialPeriodServiceImpl.java index 02c2df2..86551c9 100644 --- a/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialPeriodServiceImpl.java +++ b/lima-business/src/main/java/org/chorem/lima/business/ejb/FinancialPeriodServiceImpl.java @@ -71,6 +71,14 @@ public class FinancialPeriodServiceImpl extends AbstractLimaService implements F return result; } + @Override + public FinancialPeriod getFinancialPeriodIfExistsByDate(Date date) { + FinancialPeriodTopiaDao financialPeriodTopiaDao = getDaoHelper().getFinancialPeriodDao(); + FinancialPeriod result = financialPeriodTopiaDao.findByDateIfExists(date); + + return result; + } + /** @return all financial period from a fiscal period */ @Override public List<FinancialPeriod> getFinancialPeriodsWithBeginDateWithin(Date beginDateFirst, Date endDateLast) { diff --git a/lima-business/src/main/java/org/chorem/lima/entity/FinancialPeriodTopiaDao.java b/lima-business/src/main/java/org/chorem/lima/entity/FinancialPeriodTopiaDao.java index 9d9a77d..f2139bb 100644 --- a/lima-business/src/main/java/org/chorem/lima/entity/FinancialPeriodTopiaDao.java +++ b/lima-business/src/main/java/org/chorem/lima/entity/FinancialPeriodTopiaDao.java @@ -45,6 +45,16 @@ public class FinancialPeriodTopiaDao extends AbstractFinancialPeriodTopiaDao<Fin FinancialPeriod financialPeriod = findUnique(builder.getHql(), builder.getHqlParameters()); return financialPeriod; } + + public FinancialPeriod findByDateIfExists(Date date) { + + HqlAndParametersBuilder<FinancialPeriod> builder = newHqlAndParametersBuilder(); + builder.addLowerOrEquals(FinancialPeriod.PROPERTY_BEGIN_DATE, date); + builder.addGreaterOrEquals(FinancialPeriod.PROPERTY_END_DATE, date); + + FinancialPeriod financialPeriod = findUniqueOrNull(builder.getHql(), builder.getHqlParameters()); + return financialPeriod; + } /** * Return all FinancialPeriod with begin date between two given dates. diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerViewHandler.java b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerViewHandler.java index be14b20..c425164 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerViewHandler.java +++ b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerViewHandler.java @@ -487,7 +487,7 @@ public class AccountViewerViewHandler { FinancialPeriod defaultFinancialPeriod; if (fiscalPeriod != null) { Date today = new Date(); - defaultFinancialPeriod = financialPeriodService.getFinancialForDate(today); + defaultFinancialPeriod = financialPeriodService.getFinancialPeriodIfExistsByDate(today); if (defaultFinancialPeriod == null) { defaultFinancialPeriod = financialPeriodService.getFinancialForDate(fiscalPeriod.getEndDate()); -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.