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 b3e00d9 refs #1293 modification concernnt l'affichage des infos résumées new d787367 refs #1293 refactoring et modification du calcul du sold précédent à l'année fiscale 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 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 Summary of changes: .../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(-) -- 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 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>.
participants (1)
-
chorem.org scm