This is an automated email from the git hooks/post-receive script. New change to branch feature/1293-addAccountViewerTab in repository lima. See http://git.chorem.org/lima.git from d787367 refs #1293 refactoring et modification du calcul du sold précédent à l'année fiscale new 2ebb4e8 refs #1293 corrections et refactoring The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 2ebb4e857e718881d712d43a94310ebf743f93ca Author: dcosse <cosse@codelutin.com> Date: Thu Sep 24 12:54:04 2015 +0200 refs #1293 corrections et refactoring Summary of changes: .../ui/accountViewer/AccountViewerViewHandler.java | 137 ++++++++++++--------- .../resources/i18n/lima-swing_en_GB.properties | 3 + .../resources/i18n/lima-swing_fr_FR.properties | 3 + 3 files changed, 87 insertions(+), 56 deletions(-) -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
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 2ebb4e857e718881d712d43a94310ebf743f93ca Author: dcosse <cosse@codelutin.com> Date: Thu Sep 24 12:54:04 2015 +0200 refs #1293 corrections et refactoring --- .../ui/accountViewer/AccountViewerViewHandler.java | 137 ++++++++++++--------- .../resources/i18n/lima-swing_en_GB.properties | 3 + .../resources/i18n/lima-swing_fr_FR.properties | 3 + 3 files changed, 87 insertions(+), 56 deletions(-) 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 2c120dd..fd53279 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 @@ -53,6 +53,7 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.math.BigDecimal; import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Iterator; @@ -92,6 +93,7 @@ public class AccountViewerViewHandler { private static final Log log = LogFactory.getLog(AccountViewerViewHandler.class); protected boolean initializationComplete; + public static final SimpleDateFormat YYYY = new SimpleDateFormat("yyyy"); public AccountViewerViewHandler(AccountViewerView view) { @@ -114,7 +116,7 @@ public class AccountViewerViewHandler { public void init() { filter = new AccountViewerFilter(); editModel = view.getEditModel(); - updateFinancialPeriodView(null); + updateFinancialPeriodView(); initSoldPeriodView(); editModel.addPropertyChangeListener(AccountViewerEditModel.PROPERTY_DEBIT, new PropertyChangeListener() { @@ -224,7 +226,7 @@ public class AccountViewerViewHandler { } private void updateAllEntriesForFinancialPeriodChoice() { - updateFinancialPeriodView(filter.getFiscalPeriod()); + updateFinancialPeriodView(); updateAllEntries(); } @@ -266,25 +268,23 @@ public class AccountViewerViewHandler { protected void onFiscalPeriodChange(ItemEvent event) { FiscalPeriod selectedFiscalPeriod = event != null && event.getItem() != null ? (FiscalPeriod) event.getItem() : null; if (initializationComplete && selectedFiscalPeriod != null && !selectedFiscalPeriod.equals(filter.getFiscalPeriod())) { - - List<FinancialPeriod> periods = financialPeriodService.getFinancialPeriodsWithBeginDateWithin(selectedFiscalPeriod.getBeginDate(), selectedFiscalPeriod.getEndDate()); - FinancialPeriod selectedFinancialPeriod = periods.get(0); - view.getFinancialPeriodComboBoxModel().setObjects(periods); - view.getFinancialPeriodComboBoxModel().setSelectedItem(selectedFinancialPeriod); - - filter.setDateStart(selectedFinancialPeriod.getBeginDate()); - filter.setDateEnd(selectedFinancialPeriod.getEndDate()); - filter.setFiscalPeriod(selectedFiscalPeriod); - filter.setFinancialPeriod(selectedFinancialPeriod); - filter.setPeriodChoice(PeriodChoice.FINANCIAL_PERIOD); + if (PeriodChoice.FINANCIAL_PERIOD.equals(filter.getPeriodChoice())) { + List<FinancialPeriod> periods = financialPeriodService.getFinancialPeriodsWithBeginDateWithin(selectedFiscalPeriod.getBeginDate(), selectedFiscalPeriod.getEndDate()); + FinancialPeriod selectedFinancialPeriod = periods.get(0); + view.getFinancialPeriodComboBoxModel().setObjects(periods); + view.getFinancialPeriodComboBoxModel().setSelectedItem(selectedFinancialPeriod); + + setFilter(selectedFiscalPeriod, selectedFinancialPeriod, selectedFinancialPeriod.getBeginDate(), selectedFinancialPeriod.getEndDate(), PeriodChoice.FINANCIAL_PERIOD); + } else { + setFilter(selectedFiscalPeriod, null, selectedFiscalPeriod.getBeginDate(), selectedFiscalPeriod.getEndDate(), PeriodChoice.FISCAL_PERIOD); + } updateAllEntries(); } } protected void onFinancialPeriodChange(java.awt.event.ItemEvent event) { FinancialPeriod financialPeriod = (FinancialPeriod) event.getItem(); - if (initializationComplete && !filter.getFinancialPeriod().equals(financialPeriod)) { - filter.setFinancialPeriod(financialPeriod); + if (initializationComplete && filter.getFinancialPeriod() == null || !filter.getFinancialPeriod().equals(financialPeriod)) { updateAllEntriesForFinancialPeriodChoice(financialPeriod); } } @@ -341,24 +341,25 @@ public class AccountViewerViewHandler { public void updateAllEntriesForFiscalPeriodChoice(FiscalPeriod fiscalPeriod) { - filter.setFiscalPeriod(fiscalPeriod); - filter.setDateStart(fiscalPeriod.getBeginDate()); - filter.setDateEnd(fiscalPeriod.getEndDate()); - filter.setPeriodChoice(PeriodChoice.FISCAL_PERIOD); + setFilter(fiscalPeriod, null, fiscalPeriod.getBeginDate(), fiscalPeriod.getEndDate(), PeriodChoice.FISCAL_PERIOD); updateAllEntries(); } public void updateAllEntriesForFinancialPeriodChoice(FinancialPeriod financialPeriod) { - filter.setDateStart(financialPeriod.getBeginDate()); - filter.setDateEnd(financialPeriod.getEndDate()); - filter.setPeriodChoice(PeriodChoice.FINANCIAL_PERIOD); + setFilter(null, financialPeriod, financialPeriod.getBeginDate(), financialPeriod.getEndDate(), PeriodChoice.FINANCIAL_PERIOD); updateAllEntries(); + } + protected void setFilter(FiscalPeriod fiscalPeriod, FinancialPeriod financialPeriod, Date dateStart, Date dateEnd, PeriodChoice periodChoice) { + filter.setFiscalPeriod(fiscalPeriod); + filter.setFinancialPeriod(financialPeriod); + filter.setDateStart(dateStart); + filter.setDateEnd(dateEnd); + filter.setPeriodChoice(periodChoice); } public void updateAllEntriesForDateChange() { filter.setPeriodChoice(PeriodChoice.DATE); - filter.setFiscalPeriod(fiscalPeriodService.getFiscalPeriodForDate(filter.getDateStart())); updateAllEntries(); } @@ -377,22 +378,26 @@ public class AccountViewerViewHandler { } protected void updateSummary() { - PeriodChoice periodChoice = filter.getPeriodChoice(); - LetteringFilter previousPeriodFilter = computePreviousPeriodFilter(periodChoice); - LetteringFilter actualPeriodFilter = computeActualPeriodFilter(periodChoice); + LetteringFilter previousPeriodFilter = computePreviousPeriodFilter(); + LetteringFilter actualPeriodFilter = computeActualPeriodFilter(); setViewPreviousSold(previousPeriodFilter); setViewActualSold(actualPeriodFilter); } - protected LetteringFilter computePreviousPeriodFilter(PeriodChoice periodChoice) { + protected LetteringFilter computePreviousPeriodFilter() { LetteringFilter previousPeriodFilter = null; FiscalPeriod previousFiscalPeriod; Date dateStart = null, dateEnd = null; - switch (periodChoice) { + switch (filter.getPeriodChoice()) { case FINANCIAL_PERIOD: Date financialPeriodDate = filter.getFinancialPeriod().getBeginDate(); FiscalPeriod fiscalPeriodFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(financialPeriodDate); - dateStart = fiscalPeriodFiscalPeriod.getBeginDate(); + + if (DateUtils.isSameDay(financialPeriodDate, fiscalPeriodFiscalPeriod.getBeginDate())) { + fiscalPeriodFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(getDayMinus1Calendar(financialPeriodDate).getTime()); + } + + dateStart = fiscalPeriodFiscalPeriod != null ? fiscalPeriodFiscalPeriod.getBeginDate() : null; dateEnd = getDayMinus1Calendar(financialPeriodDate).getTime(); break; case FISCAL_PERIOD: @@ -403,12 +408,14 @@ public class AccountViewerViewHandler { } break; case DATE: - previousFiscalPeriod = filter.getFiscalPeriod(); + previousFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(filter.getDateStart()); + // case of starting date is same as current fiscal period one, so we look for previous fiscal period if (previousFiscalPeriod != null && DateUtils.isSameDay(previousFiscalPeriod.getBeginDate(), filter.getDateStart())) { previousFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(getDayMinus1Calendar(filter.getDateStart()).getTime()); } + // case of selected date is upper the last fiscal period we look for the last fiscal period if (previousFiscalPeriod == null) { FiscalPeriod lastFiscalPeriod = fiscalPeriodService.getLastFiscalPeriod(); previousFiscalPeriod = lastFiscalPeriod != null && lastFiscalPeriod.getEndDate().before(filter.getDateStart()) ? lastFiscalPeriod : null; @@ -431,10 +438,10 @@ public class AccountViewerViewHandler { return previousPeriodFilter; } - private LetteringFilter computeActualPeriodFilter(PeriodChoice choice) { + private LetteringFilter computeActualPeriodFilter() { LetteringFilter actualPeriodFilter = null; Date dateStart = null, dateEnd = null; - switch (choice) { + switch (filter.getPeriodChoice()) { case FINANCIAL_PERIOD: if (filter.getFinancialPeriod() != null) { Date financialPeriodDate = filter.getFinancialPeriod().getBeginDate(); @@ -465,13 +472,10 @@ public class AccountViewerViewHandler { List<FiscalPeriod> fiscalPeriods = fiscalPeriodService.getAllFiscalPeriods(); view.getFiscalPeriodComboBoxModel().setObjects(fiscalPeriods); - filter.setPeriodChoice(PeriodChoice.FISCAL_PERIOD); FiscalPeriod fiscalPeriod = fiscalPeriodService.getLastFiscalPeriod(); if (fiscalPeriod != null) { - filter.setFiscalPeriod(fiscalPeriod); - filter.setDateStart(fiscalPeriod.getBeginDate()); - filter.setDateEnd(fiscalPeriod.getEndDate()); - view.getFiscalPeriodComboBox().setSelectedItem(fiscalPeriod); + setFilter(fiscalPeriod, null, fiscalPeriod.getBeginDate(), fiscalPeriod.getEndDate(), PeriodChoice.FINANCIAL_PERIOD); + view.getFiscalPeriodComboBoxModel().setSelectedItem(fiscalPeriod); view.getFiscalPeriodComboBox().setVisible(true); } } @@ -486,31 +490,30 @@ public class AccountViewerViewHandler { if (defaultFinancialPeriod == null) { defaultFinancialPeriod = financialPeriodService.getFinancialForDate(fiscalPeriod.getEndDate()); } - filter.setDateStart(defaultFinancialPeriod.getBeginDate()); - filter.setDateEnd(defaultFinancialPeriod.getEndDate()); + setFilter(null, null, defaultFinancialPeriod.getBeginDate(), defaultFinancialPeriod.getEndDate(), PeriodChoice.DATE); view.getBeginPeriodPicker().setDate(defaultFinancialPeriod.getBeginDate()); view.getEndPeriodPicker().setDate(defaultFinancialPeriod.getEndDate()); } } - public void updateFinancialPeriodView(FiscalPeriod fiscalPeriodO) { - FiscalPeriod fiscalPeriod = fiscalPeriodO == null ? fiscalPeriodService.getLastFiscalPeriod() : fiscalPeriodO; - + public void updateFinancialPeriodView() { + FiscalPeriod fiscalPeriod = fiscalPeriodService.getLastFiscalPeriod(); FinancialPeriod defaultFinancialPeriod = null; + List<FinancialPeriod> financialPeriods = null; if (fiscalPeriod != null) { - List<FinancialPeriod> financialPeriods = financialPeriodService.getFinancialPeriodsWithBeginDateWithin(fiscalPeriod.getBeginDate(), fiscalPeriod.getEndDate()); - view.getFinancialPeriodComboBoxModel().setObjects(financialPeriods); - Date today = new Date(); + view.getFinancialPeriodComboBoxModel().removeAllElements(); + + financialPeriods = financialPeriodService.getFinancialPeriodsWithBeginDateWithin(fiscalPeriod.getBeginDate(), fiscalPeriod.getEndDate()); + Date today = new Date(); Iterator<FinancialPeriod> financialPeriodIterator = financialPeriods.iterator(); while (financialPeriodIterator.hasNext() && defaultFinancialPeriod == null) { FinancialPeriod financialPeriod = financialPeriodIterator.next(); defaultFinancialPeriod = financialPeriod.getBeginDate().before(today) && financialPeriod.getEndDate().after(today) ? financialPeriod : null; } + defaultFinancialPeriod = defaultFinancialPeriod != null ? defaultFinancialPeriod : financialPeriods.get(financialPeriods.size() - 1); - view.getFinancialPeriodComboBoxModel().setSelectedItem(defaultFinancialPeriod); - initFiscalPeriodCombo(); } Date defaultDateBegin, defaultDateEnd; @@ -520,17 +523,24 @@ public class AccountViewerViewHandler { defaultDateBegin = defaultFinancialPeriod == null ? DateUtils.setDays(new Date(), firstCurrentMonthDay) : defaultFinancialPeriod.getBeginDate(); defaultDateEnd = defaultFinancialPeriod == null ? DateUtils.setDays(new Date(), lastCurrentMonthDay) : defaultFinancialPeriod.getEndDate(); - filter.setDateStart(defaultDateBegin); - filter.setDateEnd(defaultDateEnd); - filter.setFiscalPeriod(fiscalPeriod); - filter.setFinancialPeriod(defaultFinancialPeriod); - filter.setPeriodChoice(PeriodChoice.FINANCIAL_PERIOD); + setFilter(fiscalPeriod, defaultFinancialPeriod, defaultDateBegin, defaultDateEnd, PeriodChoice.FINANCIAL_PERIOD); + + initFiscalPeriodCombo(); + updateFinancialPeriodCombo(defaultFinancialPeriod, financialPeriods); + + } + + protected void updateFinancialPeriodCombo(FinancialPeriod defaultFinancialPeriod, List<FinancialPeriod> financialPeriods) { + view.getFinancialPeriodComboBoxModel().setObjects(financialPeriods); + if (defaultFinancialPeriod != null) { + view.getFinancialPeriodComboBoxModel().setSelectedItem(defaultFinancialPeriod); + } } protected void initFiscalPeriodCombo() { List<FiscalPeriod> fiscalPeriods = fiscalPeriodService.getAllFiscalPeriods(); view.getFiscalPeriodComboBoxModel().setObjects(fiscalPeriods); - view.getFiscalPeriodComboBox().setSelectedItem(fiscalPeriods.get(fiscalPeriods.size()-1)); + view.getFiscalPeriodComboBoxModel().setSelectedItem(fiscalPeriods.get(fiscalPeriods.size() - 1)); view.getFiscalPeriodComboBox().setVisible(true); } @@ -547,14 +557,22 @@ public class AccountViewerViewHandler { protected void setViewPreviousSold(LetteringFilter previousPeriodFilter) { if (previousPeriodFilter != null) { + if (filter.getPeriodChoice().equals(PeriodChoice.FISCAL_PERIOD)) { + String summaryLabel = t("lima.accountingView.summaryFiscalPeriodLabel"); + view.getBeginPeriodSummary().setText(String.format(t(summaryLabel), YYYY.format(previousPeriodFilter.getDateStart()))); + } else { + String summaryLabel = t("lima.accountingView.summaryLabel"); + view.getBeginPeriodSummary().setText(String.format(t(summaryLabel), getDateFormat().format(previousPeriodFilter.getDateStart()), getDateFormat().format(getDayMinus1Calendar(previousPeriodFilter.getDateEnd()).getTime()))); + } + List<Object[]> initialDebitCredit = financialTransactionService.getAccountEntriesDebitCreditFromIncludingToExcludingPeriod(previousPeriodFilter); DebitCreditSold debitCreditSold = new DebitCreditSold().invoke(initialDebitCredit); - view.getBeginPeriodSummary().setText(String.format(t("lima.accountingView.summaryLabel"), getDateFormat().format(previousPeriodFilter.getDateStart()), getDateFormat().format(previousPeriodFilter.getDateEnd()))); view.getBeginDebit().setText(BigDecimalToString.format(debitCreditSold.getDebit())); view.getBeginCredit().setText(BigDecimalToString.format(debitCreditSold.getCredit())); view.getBeginSold().setText(BigDecimalToString.format(debitCreditSold.getSold())); } else { - view.getBeginPeriodSummary().setText("Pas de période précédente,"); + String summaryLabel = filter.getPeriodChoice().equals(PeriodChoice.FISCAL_PERIOD) ? t("lima.accountingView.summaryNoFiscalPeriodLabel") : t("lima.accountingView.summaryNoPeriodLabel"); + view.getBeginPeriodSummary().setText(summaryLabel); view.getBeginDebit().setText(BigDecimalToString.format(BigDecimal.ZERO)); view.getBeginCredit().setText(BigDecimalToString.format(BigDecimal.ZERO)); view.getBeginSold().setText(BigDecimalToString.format(BigDecimal.ZERO)); @@ -563,9 +581,16 @@ public class AccountViewerViewHandler { } protected void setViewActualSold(LetteringFilter actualPeriodFilter) { + if (filter.getPeriodChoice().equals(PeriodChoice.FISCAL_PERIOD)) { + String summaryLabel = t("lima.accountingView.summaryFiscalPeriodLabel"); + view.getEndPeriodSummary().setText(String.format(t(summaryLabel), YYYY.format(actualPeriodFilter.getDateEnd()))); + } else { + String summaryLabel = t("lima.accountingView.summaryLabel"); + view.getEndPeriodSummary().setText(String.format(t(summaryLabel), getDateFormat().format(actualPeriodFilter.getDateStart()), getDateFormat().format(actualPeriodFilter.getDateEnd()))); + } + List<Object[]> initialDebitCredit = financialTransactionService.getAccountEntriesDebitCreditFromIncludingToIncludingPeriod(actualPeriodFilter); DebitCreditSold debitCreditSold = new DebitCreditSold().invoke(initialDebitCredit); - view.getEndPeriodSummary().setText(String.format(t("lima.accountingView.summaryLabel"), getDateFormat().format(actualPeriodFilter.getDateStart()), getDateFormat().format(actualPeriodFilter.getDateEnd()))); view.getEndDebit().setText(BigDecimalToString.format(debitCreditSold.getDebit())); view.getEndCredit().setText(BigDecimalToString.format(debitCreditSold.getCredit())); view.getEndSold().setText(BigDecimalToString.format(debitCreditSold.getSold())); diff --git a/lima-swing/src/main/resources/i18n/lima-swing_en_GB.properties b/lima-swing/src/main/resources/i18n/lima-swing_en_GB.properties index bf82f31..0e59808 100644 --- a/lima-swing/src/main/resources/i18n/lima-swing_en_GB.properties +++ b/lima-swing/src/main/resources/i18n/lima-swing_en_GB.properties @@ -15,7 +15,10 @@ lima.account.update.error.invalidAccountNumber=Invalid account number\: %1$s lima.account.update.form=Update account lima.accountViewer.previousSold=<html><b>On %s the sold was</b></html> lima.accountViewer.selectionDescription=For selected entries, +lima.accountingView.summaryFiscalPeriodLabel=For %s fiscal period, lima.accountingView.summaryLabel=Period from %s to %s, +lima.accountingView.summaryNoFiscalPeriodLabel=No previous fiscal period, +lima.accountingView.summaryNoPeriodLabel=No previous period, lima.accounts=Accounts lima.action.commandline.help=Show help in console lima.balance=Balance diff --git a/lima-swing/src/main/resources/i18n/lima-swing_fr_FR.properties b/lima-swing/src/main/resources/i18n/lima-swing_fr_FR.properties index 043cfcb..3c4d8f5 100644 --- a/lima-swing/src/main/resources/i18n/lima-swing_fr_FR.properties +++ b/lima-swing/src/main/resources/i18n/lima-swing_fr_FR.properties @@ -17,7 +17,10 @@ lima.account.update.error.invalidAccountNumber=Le numéro du compte %1$s n'est p lima.account.update.form=Modification d'un compte lima.accountViewer.previousSold=<html><b>Solde au %s</b></html> lima.accountViewer.selectionDescription=Pour la sélection, +lima.accountingView.summaryFiscalPeriodLabel=Pour l'exercice %s, lima.accountingView.summaryLabel=Pour la période du %s au %s, +lima.accountingView.summaryNoFiscalPeriodLabel=Pas d'exercice précédent, +lima.accountingView.summaryNoPeriodLabel=Pas de période précédente, lima.accounts=Comptes lima.action.commandline.help=Afficher l'aide en console lima.balance=Équilibrer -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
participants (1)
-
chorem.org scm