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 d78736749642c97b9c79e94941c367ec4cbf81f2 Author: dcosse <cosse@codelutin.com> Date: Wed Sep 23 22:05:15 2015 +0200 refs #1293 refactoring et modification du calcul du sold précédent à l'année fiscale --- .../lima/business/api/FiscalPeriodService.java | 6 + .../lima/business/ejb/FiscalPeriodServiceImpl.java | 10 + .../ui/accountViewer/AccountViewerEditModel.java | 43 +-- .../lima/ui/accountViewer/AccountViewerView.jaxx | 2 +- .../ui/accountViewer/AccountViewerViewHandler.java | 311 +++++++++++++-------- .../resources/i18n/lima-swing_en_GB.properties | 1 + .../resources/i18n/lima-swing_fr_FR.properties | 1 + 7 files changed, 221 insertions(+), 153 deletions(-) diff --git a/lima-business-api/src/main/java/org/chorem/lima/business/api/FiscalPeriodService.java b/lima-business-api/src/main/java/org/chorem/lima/business/api/FiscalPeriodService.java index 4e0c812..0ba0865 100644 --- a/lima-business-api/src/main/java/org/chorem/lima/business/api/FiscalPeriodService.java +++ b/lima-business-api/src/main/java/org/chorem/lima/business/api/FiscalPeriodService.java @@ -78,6 +78,12 @@ public interface FiscalPeriodService { /** * + * @return first fiscal Period + */ + FiscalPeriod getFirstFiscalPeriod(); + + /** + * * @return last fiscal period */ FiscalPeriod getLastFiscalPeriod(); diff --git a/lima-business/src/main/java/org/chorem/lima/business/ejb/FiscalPeriodServiceImpl.java b/lima-business/src/main/java/org/chorem/lima/business/ejb/FiscalPeriodServiceImpl.java index 40504d6..ff04a1c 100644 --- a/lima-business/src/main/java/org/chorem/lima/business/ejb/FiscalPeriodServiceImpl.java +++ b/lima-business/src/main/java/org/chorem/lima/business/ejb/FiscalPeriodServiceImpl.java @@ -212,6 +212,16 @@ public class FiscalPeriodServiceImpl extends AbstractLimaService implements Fisc } @Override + public FiscalPeriod getFirstFiscalPeriod() { + + FiscalPeriodTopiaDao fiscalPeriodTopiaDao = getDaoHelper().getFiscalPeriodDao(); + //get the last fiscal period + FiscalPeriod result = fiscalPeriodTopiaDao.forAll().setOrderByArguments(FiscalPeriod.PROPERTY_BEGIN_DATE + " ASC").findFirstOrNull(); + + return result; + } + + @Override public FiscalPeriod getLastFiscalPeriod() { FiscalPeriodTopiaDao fiscalPeriodTopiaDao = getDaoHelper().getFiscalPeriodDao(); diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerEditModel.java b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerEditModel.java index 57accc3..3399584 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerEditModel.java +++ b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerEditModel.java @@ -25,7 +25,6 @@ import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.io.Serializable; import java.math.BigDecimal; -import java.util.Date; /** * @author sletellier <letellier@codelutin.com> @@ -48,12 +47,6 @@ public class AccountViewerEditModel implements Serializable { protected BigDecimal credit = BigDecimal.ZERO; protected BigDecimal sold = BigDecimal.ZERO; - protected BigDecimal globalDebit = BigDecimal.ZERO; - protected BigDecimal globalCredit = BigDecimal.ZERO; - protected BigDecimal globalSold = BigDecimal.ZERO; - - protected Date fiscalPeriodBeginDate; - public BigDecimal getDebit() { return debit; } @@ -106,33 +99,6 @@ public class AccountViewerEditModel implements Serializable { firePropertyChange(PROPERTY_SOLD, oldSold, this.sold); } - public BigDecimal getGlobalSold() { - return globalSold; - } - - public void setGlobalSold(BigDecimal globalSold) { - BigDecimal oldSold = getGlobalSold(); - - this.globalSold = globalSold; - firePropertyChange(PROPERTY_GLOBAL_SOLD, oldSold, this.globalSold); - } - - public BigDecimal getGlobalDebit() { - return globalDebit; - } - - public void setGlobalDebit(BigDecimal globalDebit) { - this.globalDebit = globalDebit; - } - - public BigDecimal getGlobalCredit() { - return globalCredit; - } - - public void setGlobalCredit(BigDecimal globalCredit) { - this.globalCredit = globalCredit; - } - public void addPropertyChangeListener(PropertyChangeListener listener) { pcs.addPropertyChangeListener(listener); } @@ -156,12 +122,5 @@ public class AccountViewerEditModel implements Serializable { protected void firePropertyChange(String propertyName, Object newValue) { firePropertyChange(propertyName, null, newValue); } - - public Date getFiscalPeriodBeginDate() { - return fiscalPeriodBeginDate; - } - - public void setFiscalPeriodBeginDate(Date fiscalPeriodStartingDate) { - this.fiscalPeriodBeginDate = fiscalPeriodStartingDate; - } } + diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerView.jaxx b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerView.jaxx index e394d6c..d03a614 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerView.jaxx +++ b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerView.jaxx @@ -102,7 +102,7 @@ onItemStateChanged="handler.onSelectionModeChanged(letteredSelectionMode.getSelectedItem())"/> <JButton id="refresh" - onActionPerformed="handler.updateAllEntries(null)"/> + onActionPerformed="handler.updateAllEntries()"/> </JToolBar> <JPanel layout="{new BorderLayout()}" 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 f1450f5..2c120dd 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 @@ -47,6 +47,7 @@ import org.chorem.lima.util.ErrorHelper; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.InputEvent; +import java.awt.event.ItemEvent; import java.awt.event.KeyEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -54,6 +55,7 @@ import java.math.BigDecimal; import java.text.DateFormat; import java.util.Calendar; import java.util.Date; +import java.util.Iterator; import java.util.List; import java.util.Locale; @@ -112,8 +114,7 @@ public class AccountViewerViewHandler { public void init() { filter = new AccountViewerFilter(); editModel = view.getEditModel(); - initFiscalPeriodView(); - initDefaultFinancialPeriodView(); + updateFinancialPeriodView(null); initSoldPeriodView(); editModel.addPropertyChangeListener(AccountViewerEditModel.PROPERTY_DEBIT, new PropertyChangeListener() { @@ -172,7 +173,7 @@ public class AccountViewerViewHandler { @Override public void actionPerformed(ActionEvent e) { - updateAllEntries(null); + updateAllEntries(); } }); } @@ -190,31 +191,43 @@ public class AccountViewerViewHandler { filter.setPeriodChoice(periodChoice); switch (periodChoice) { case FINANCIAL_PERIOD: - view.getFiscalPeriodComboBox().setVisible(true); - view.getFinancialPeriodComboBox().setVisible(true); - view.getBeginPeriodPicker().setVisible(false); - view.getEndPeriodPicker().setVisible(false); - initDefaultFinancialPeriodView(); + initViewForPeriodChoiceChange(true, true, false); + updateAllEntriesForFinancialPeriodChoice(); break; case FISCAL_PERIOD: - view.getFiscalPeriodComboBox().setVisible(true); - view.getFinancialPeriodComboBox().setVisible(false); - view.getBeginPeriodPicker().setVisible(false); - view.getEndPeriodPicker().setVisible(false); - initFiscalPeriodView(); + initViewForPeriodChoiceChange(true, false, false); + updateAllEntriesForFiscalPeriodChoice(); break; case DATE: - view.getFiscalPeriodComboBox().setVisible(false); - view.getFinancialPeriodComboBox().setVisible(false); - view.getBeginPeriodPicker().setVisible(true); - view.getEndPeriodPicker().setVisible(true); - initDateIntervalView(); + initViewForPeriodChoiceChange(false, false, true); + updateAllEntriesForDateIntervalChoice(); break; } - updateAllEntries(null); } } + private void initViewForPeriodChoiceChange(boolean isFiscalPeriodComboBoxVisible, boolean isFinancialPeriodComboBoxVisible, boolean isPeriodPickersVisible) { + view.getFiscalPeriodComboBox().setVisible(isFiscalPeriodComboBoxVisible); + view.getFinancialPeriodComboBox().setVisible(isFinancialPeriodComboBoxVisible); + view.getBeginPeriodPicker().setVisible(isPeriodPickersVisible); + view.getEndPeriodPicker().setVisible(isPeriodPickersVisible); + } + + private void updateAllEntriesForDateIntervalChoice() { + initDateIntervalView(); + updateAllEntries(); + } + + private void updateAllEntriesForFiscalPeriodChoice() { + initFiscalPeriodView(); + updateAllEntriesForFiscalPeriodChoice(fiscalPeriodService.getLastFiscalPeriod()); + } + + private void updateAllEntriesForFinancialPeriodChoice() { + updateFinancialPeriodView(filter.getFiscalPeriod()); + updateAllEntries(); + } + /** * Select previous value in combo box. * @@ -250,27 +263,29 @@ public class AccountViewerViewHandler { } } - protected void onFiscalPeriodChange(java.awt.event.ItemEvent event) { - FiscalPeriod fiscalPeriod = (FiscalPeriod) event.getItem(); - if (initializationComplete && filter.getFiscalPeriod() != fiscalPeriod) { - filter.setFiscalPeriod(fiscalPeriod); + protected void onFiscalPeriodChange(ItemEvent event) { + FiscalPeriod selectedFiscalPeriod = event != null && event.getItem() != null ? (FiscalPeriod) event.getItem() : null; + if (initializationComplete && selectedFiscalPeriod != null && !selectedFiscalPeriod.equals(filter.getFiscalPeriod())) { - //FISCAL_PERIOD - if (PeriodChoice.FISCAL_PERIOD.equals(view.getPeriodChoice().getSelectedItem())) { - updateAllEntriesForFiscalPeriodChange(fiscalPeriod); - } else { - //FINANCIAL_PERIOD - initDefaultFinancialPeriodView(); - } + 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); + updateAllEntries(); } } - protected void onFinancialPeriodChange(java.awt.event.ItemEvent event) { FinancialPeriod financialPeriod = (FinancialPeriod) event.getItem(); - if (initializationComplete && filter.getFinancialPeriod() != financialPeriod) { + if (initializationComplete && !filter.getFinancialPeriod().equals(financialPeriod)) { filter.setFinancialPeriod(financialPeriod); - updateAllEntriesForFinancialPeriodChange(financialPeriod); + updateAllEntriesForFinancialPeriodChoice(financialPeriod); } } @@ -278,9 +293,10 @@ public class AccountViewerViewHandler { if (initializationComplete) { if (date != null && !DateUtils.isSameDay(date, filter.getDateStart())) { filter.setDateStart(date); + if (filter.getDateEnd().before(date)) { - filter.setDateEnd(filter.getDateEnd().before(date) ? date : filter.getDateEnd()); - view.getEndPeriodPicker().setDate(filter.getDateEnd()); + filter.setDateEnd(date); + view.getEndPeriodPicker().setDate(date); } updateAllEntriesForDateChange(); } @@ -291,6 +307,10 @@ public class AccountViewerViewHandler { if (initializationComplete) { if (date != null && !DateUtils.isSameDay(date, filter.getDateEnd())) { filter.setDateEnd(date); + if (filter.getDateStart().after(date)) { + filter.setDateStart(date); + view.getBeginPeriodPicker().setDate(date); + } updateAllEntriesForDateChange(); } } @@ -320,52 +340,132 @@ public class AccountViewerViewHandler { } - public void updateAllEntriesForFiscalPeriodChange(FiscalPeriod fiscalPeriod) { - if (!DateUtils.isSameDay(fiscalPeriod.getBeginDate(), filter.getDateStart()) || - !DateUtils.isSameDay(fiscalPeriod.getEndDate(), filter.getDateEnd())) { - filter.setDateStart(fiscalPeriod.getBeginDate()); - filter.setDateEnd(fiscalPeriod.getEndDate()); - - updateAllEntries(fiscalPeriod); - } + public void updateAllEntriesForFiscalPeriodChoice(FiscalPeriod fiscalPeriod) { + filter.setFiscalPeriod(fiscalPeriod); + filter.setDateStart(fiscalPeriod.getBeginDate()); + filter.setDateEnd(fiscalPeriod.getEndDate()); + filter.setPeriodChoice(PeriodChoice.FISCAL_PERIOD); + updateAllEntries(); } - public void updateAllEntriesForFinancialPeriodChange(FinancialPeriod financialPeriod) { - if (!DateUtils.isSameDay(financialPeriod.getBeginDate(), filter.getDateStart()) || - !DateUtils.isSameDay(financialPeriod.getEndDate(), filter.getDateEnd())) { - filter.setDateStart(financialPeriod.getBeginDate()); - filter.setDateEnd(financialPeriod.getEndDate()); + public void updateAllEntriesForFinancialPeriodChoice(FinancialPeriod financialPeriod) { + filter.setDateStart(financialPeriod.getBeginDate()); + filter.setDateEnd(financialPeriod.getEndDate()); + filter.setPeriodChoice(PeriodChoice.FINANCIAL_PERIOD); + updateAllEntries(); - updateAllEntries(null); - } } public void updateAllEntriesForDateChange() { - updateAllEntries(null); + filter.setPeriodChoice(PeriodChoice.DATE); + filter.setFiscalPeriod(fiscalPeriodService.getFiscalPeriodForDate(filter.getDateStart())); + updateAllEntries(); } - public void updateAllEntries(FiscalPeriod fiscalPeriod) { + public void updateAllEntries() { if (initializationComplete && filter.getAccount() != null && filter.getDateStart() != null && filter.getDateEnd() != null) { List<Entry> entries = financialTransactionService.getAllEntrieByDatesAndAccountAndLettering(filter); - fiscalPeriod = fiscalPeriod == null ? fiscalPeriodService.getFiscalPeriodForDate(filter.getDateStart()) : fiscalPeriod; - LetteringFilter previousPeriodFilter = computePreviousPeriodFilter(fiscalPeriod); - LetteringFilter actualPeriodFilter = computeActualPeriodFilter(fiscalPeriod); - setViewPreviousSold(previousPeriodFilter); - setViewActualSold(fiscalPeriod, actualPeriodFilter); - view.getTableModel().setValues(entries); + + updateSummary(); } onBalanceChanged(null); } + protected void updateSummary() { + PeriodChoice periodChoice = filter.getPeriodChoice(); + LetteringFilter previousPeriodFilter = computePreviousPeriodFilter(periodChoice); + LetteringFilter actualPeriodFilter = computeActualPeriodFilter(periodChoice); + setViewPreviousSold(previousPeriodFilter); + setViewActualSold(actualPeriodFilter); + } + + protected LetteringFilter computePreviousPeriodFilter(PeriodChoice periodChoice) { + LetteringFilter previousPeriodFilter = null; + FiscalPeriod previousFiscalPeriod; + Date dateStart = null, dateEnd = null; + switch (periodChoice) { + case FINANCIAL_PERIOD: + Date financialPeriodDate = filter.getFinancialPeriod().getBeginDate(); + FiscalPeriod fiscalPeriodFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(financialPeriodDate); + dateStart = fiscalPeriodFiscalPeriod.getBeginDate(); + dateEnd = getDayMinus1Calendar(financialPeriodDate).getTime(); + break; + case FISCAL_PERIOD: + previousFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(getDayMinus1Calendar(filter.getFiscalPeriod().getBeginDate()).getTime()); + if (previousFiscalPeriod != null) { + dateStart = previousFiscalPeriod.getBeginDate(); + dateEnd = previousFiscalPeriod.getEndDate(); + } + break; + case DATE: + previousFiscalPeriod = filter.getFiscalPeriod(); + + if (previousFiscalPeriod != null && DateUtils.isSameDay(previousFiscalPeriod.getBeginDate(), filter.getDateStart())) { + previousFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(getDayMinus1Calendar(filter.getDateStart()).getTime()); + } + + if (previousFiscalPeriod == null) { + FiscalPeriod lastFiscalPeriod = fiscalPeriodService.getLastFiscalPeriod(); + previousFiscalPeriod = lastFiscalPeriod != null && lastFiscalPeriod.getEndDate().before(filter.getDateStart()) ? lastFiscalPeriod : null; + } + + if (previousFiscalPeriod != null) { + dateStart = previousFiscalPeriod.getBeginDate(); + dateEnd = getDayMinus1Calendar(filter.getDateStart()).getTime(); + } + break; + } + + if (dateStart != null && dateEnd != null) { + previousPeriodFilter = new LetteringFilterImpl(); + previousPeriodFilter.setDateStart(dateStart); + previousPeriodFilter.setDateEnd(dateEnd); + previousPeriodFilter.setAccount(filter.getAccount()); + } + + return previousPeriodFilter; + } + + private LetteringFilter computeActualPeriodFilter(PeriodChoice choice) { + LetteringFilter actualPeriodFilter = null; + Date dateStart = null, dateEnd = null; + switch (choice) { + case FINANCIAL_PERIOD: + if (filter.getFinancialPeriod() != null) { + Date financialPeriodDate = filter.getFinancialPeriod().getBeginDate(); + FiscalPeriod fiscalPeriodFiscalPeriod = fiscalPeriodService.getFiscalPeriodForDate(financialPeriodDate); + dateStart = fiscalPeriodFiscalPeriod.getBeginDate(); + dateEnd = filter.getFinancialPeriod().getEndDate(); + } + break; + case FISCAL_PERIOD: + dateStart = filter.getFiscalPeriod() == null ? null : filter.getFiscalPeriod().getBeginDate(); + dateEnd = filter.getFiscalPeriod() == null ? null : filter.getFiscalPeriod().getEndDate(); + break; + case DATE: + dateStart = filter.getFiscalPeriod() == null ? filter.getDateStart() : filter.getFiscalPeriod().getBeginDate(); + dateEnd = filter.getDateEnd(); + break; + } + if (dateStart != null && dateEnd != null) { + actualPeriodFilter = new LetteringFilterImpl(); + actualPeriodFilter.setDateStart(dateStart); + actualPeriodFilter.setDateEnd(dateEnd); + actualPeriodFilter.setAccount(filter.getAccount()); + } + return actualPeriodFilter; + } + public void initFiscalPeriodView() { List<FiscalPeriod> fiscalPeriods = fiscalPeriodService.getAllFiscalPeriods(); view.getFiscalPeriodComboBoxModel().setObjects(fiscalPeriods); + filter.setPeriodChoice(PeriodChoice.FISCAL_PERIOD); FiscalPeriod fiscalPeriod = fiscalPeriodService.getLastFiscalPeriod(); if (fiscalPeriod != null) { filter.setFiscalPeriod(fiscalPeriod); @@ -393,23 +493,24 @@ public class AccountViewerViewHandler { } } - public void initDefaultFinancialPeriodView() { - FiscalPeriod fiscalPeriod = (FiscalPeriod) view.getFiscalPeriodComboBox().getSelectedItem(); + public void updateFinancialPeriodView(FiscalPeriod fiscalPeriodO) { + FiscalPeriod fiscalPeriod = fiscalPeriodO == null ? fiscalPeriodService.getLastFiscalPeriod() : fiscalPeriodO; FinancialPeriod defaultFinancialPeriod = null; if (fiscalPeriod != null) { List<FinancialPeriod> financialPeriods = financialPeriodService.getFinancialPeriodsWithBeginDateWithin(fiscalPeriod.getBeginDate(), fiscalPeriod.getEndDate()); view.getFinancialPeriodComboBoxModel().setObjects(financialPeriods); - - boolean isCurrentDatePartOfSelectedFiscalPeriod; Date today = new Date(); - isCurrentDatePartOfSelectedFiscalPeriod = fiscalPeriod.getBeginDate().before(today) && (fiscalPeriod.getEndDate().after(today)); - if (isCurrentDatePartOfSelectedFiscalPeriod) { - defaultFinancialPeriod = financialPeriodService.getFinancialForDate(today); - } else if (!financialPeriods.isEmpty()) { - defaultFinancialPeriod = financialPeriods.get(financialPeriods.size() - 1); + + 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; @@ -421,41 +522,50 @@ public class AccountViewerViewHandler { filter.setDateStart(defaultDateBegin); filter.setDateEnd(defaultDateEnd); + filter.setFiscalPeriod(fiscalPeriod); + filter.setFinancialPeriod(defaultFinancialPeriod); + filter.setPeriodChoice(PeriodChoice.FINANCIAL_PERIOD); + } - editModel.setFiscalPeriodBeginDate(defaultFinancialPeriod != null ? defaultFinancialPeriod.getBeginDate() : defaultDateBegin); + protected void initFiscalPeriodCombo() { + List<FiscalPeriod> fiscalPeriods = fiscalPeriodService.getAllFiscalPeriods(); + view.getFiscalPeriodComboBoxModel().setObjects(fiscalPeriods); + view.getFiscalPeriodComboBox().setSelectedItem(fiscalPeriods.get(fiscalPeriods.size()-1)); + view.getFiscalPeriodComboBox().setVisible(true); } protected void initSoldPeriodView() { - view.getBeginPeriodSummary().setText(String.format("Pour la période du %s au %s,", getDateFormat().format(editModel.getFiscalPeriodBeginDate()), getDateFormat().format(filter.getDateEnd()))); + view.getBeginPeriodSummary().setText(String.format(t("lima.accountingView.summaryLabel"), getDateFormat().format(filter.getFiscalPeriod().getBeginDate()), getDateFormat().format(getDayMinus1Calendar(filter.getFinancialPeriod().getBeginDate()).getTime()))); view.getBeginDebit().setText(BigDecimalToString.format(BigDecimal.ZERO)); view.getBeginCredit().setText(BigDecimalToString.format(BigDecimal.ZERO)); view.getBeginSold().setText(BigDecimalToString.format(BigDecimal.ZERO)); - view.getEndPeriodSummary().setText(String.format("Pour la période du %s au %s,", getDateFormat().format(editModel.getFiscalPeriodBeginDate()), getDateFormat().format(filter.getDateEnd()))); + view.getEndPeriodSummary().setText(String.format(t("lima.accountingView.summaryLabel"), getDateFormat().format(filter.getFiscalPeriod().getBeginDate()), getDateFormat().format(filter.getFinancialPeriod().getEndDate()))); view.getEndDebit().setText(BigDecimalToString.format(BigDecimal.ZERO)); view.getEndCredit().setText(BigDecimalToString.format(BigDecimal.ZERO)); view.getEndSold().setText(BigDecimalToString.format(BigDecimal.ZERO)); } - protected void addFiscalPeriodBeginDate(FiscalPeriod fiscalPeriod) { - if (fiscalPeriod != null) { - editModel.setFiscalPeriodBeginDate(fiscalPeriod.getBeginDate()); + protected void setViewPreviousSold(LetteringFilter previousPeriodFilter) { + if (previousPeriodFilter != null) { + 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,"); + view.getBeginDebit().setText(BigDecimalToString.format(BigDecimal.ZERO)); + view.getBeginCredit().setText(BigDecimalToString.format(BigDecimal.ZERO)); + view.getBeginSold().setText(BigDecimalToString.format(BigDecimal.ZERO)); } - } - protected void setViewPreviousSold(LetteringFilter previousPeriodFilter) { - List<Object[]> initialDebitCredit = financialTransactionService.getAccountEntriesDebitCreditFromIncludingToExcludingPeriod(previousPeriodFilter); - DebitCreditSold debitCreditSold = new DebitCreditSold().invoke(initialDebitCredit); - view.getBeginPeriodSummary().setText(String.format("Pour la période du %s au %s,", 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())); } - protected void setViewActualSold(FiscalPeriod fiscalPeriod, LetteringFilter actualPeriodFilter) { - addFiscalPeriodBeginDate(fiscalPeriod); + protected void setViewActualSold(LetteringFilter actualPeriodFilter) { List<Object[]> initialDebitCredit = financialTransactionService.getAccountEntriesDebitCreditFromIncludingToIncludingPeriod(actualPeriodFilter); DebitCreditSold debitCreditSold = new DebitCreditSold().invoke(initialDebitCredit); - view.getEndPeriodSummary().setText(String.format("Pour la période du %s au %s,", getDateFormat().format(actualPeriodFilter.getDateStart()), getDateFormat().format(actualPeriodFilter.getDateEnd()))); + 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())); @@ -504,7 +614,7 @@ public class AccountViewerViewHandler { editModel.setDebit(BigDecimal.ZERO); editModel.setSold(BigDecimal.ZERO, false); } else { - balanceCalculation(balance.getAmount(), balance.isDebit()); + selectedEntriesBalanceCalculation(balance.getAmount(), balance.isDebit()); } } @@ -512,7 +622,7 @@ public class AccountViewerViewHandler { * @param amount debit or credit * @param debit it indicate if amount is debit or not * */ - public void balanceCalculation(BigDecimal amount, boolean debit){ + public void selectedEntriesBalanceCalculation(BigDecimal amount, boolean debit){ BigDecimal debitVal = debit ? amount : BigDecimal.ZERO; BigDecimal creditVal = debit ? BigDecimal.ZERO : amount; @@ -524,36 +634,17 @@ public class AccountViewerViewHandler { if (debitVal.equals(BigDecimal.ZERO)){ if (!creditVal.equals(BigDecimal.ZERO)){ - editModel.setCredit(creditVal); editModel.setSold(creditVal, true); } - }else if (creditVal.equals(BigDecimal.ZERO)){ + } else if (creditVal.equals(BigDecimal.ZERO)){ editModel.setDebit(debitVal); editModel.setSold(debitVal, false); - }else{ + } else{ onBalanceChanged(null); } } - protected LetteringFilter computePreviousPeriodFilter(FiscalPeriod fiscalPeriod) { - LetteringFilter previousPeriodFilter = new LetteringFilterImpl(); - previousPeriodFilter.setDateStart(fiscalPeriod == null ? filter.getDateStart() : fiscalPeriod.getBeginDate()); - previousPeriodFilter.setDateEnd(filter.getDateStart()); - previousPeriodFilter.setAccount(filter.getAccount()); - - return previousPeriodFilter; - } - - private LetteringFilter computeActualPeriodFilter(FiscalPeriod fiscalPeriod) { - LetteringFilter actualPeriodFilter = new LetteringFilterImpl(); - actualPeriodFilter.setDateStart(fiscalPeriod == null ? filter.getDateStart() : fiscalPeriod.getBeginDate()); - actualPeriodFilter.setDateEnd(filter.getDateEnd()); - actualPeriodFilter.setAccount(filter.getAccount()); - - return actualPeriodFilter; - } - protected class DebitCreditSold { private BigDecimal debit; private BigDecimal credit; @@ -597,7 +688,7 @@ public class AccountViewerViewHandler { public void setAccount(Account account) { if (filter != null) { filter.setAccount(account); - updateAllEntries(null); + updateAllEntries(); } } @@ -609,9 +700,9 @@ public class AccountViewerViewHandler { return account; } - protected Calendar getDayMinus1Calendar(LetteringFilter previousPeriodFilter) { + protected Calendar getDayMinus1Calendar(Date date) { Calendar cal = Calendar.getInstance(); - cal.setTime(previousPeriodFilter.getDateEnd()); + cal.setTime(date); cal.add(Calendar.DATE, -1); return cal; } 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 75c5b61..bf82f31 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,6 +15,7 @@ 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.summaryLabel=Period from %s to %s, 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 6de9feb..043cfcb 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,6 +17,7 @@ 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.summaryLabel=Pour la période du %s au %s, 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>.