branch develop updated (9957610 -> fd35125)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository lima. See http://git.chorem.org/lima.git from 9957610 Merge branch 'feature/1158-NotEditableTableForClose' into develop new b4b645f refs #1158 : recupération du ClosedPeriodEntryBook et stockage dans un map pour le cache. new b119160 import manquant new 7cd3ef3 correction suite au merge new fd35125 Merge branch 'feature/1158' into develop The 4 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 fd351258c962fa48e695d662430167317c1d4468 Merge: 9957610 7cd3ef3 Author: dcosse <cosse@codelutin.com> Date: Mon Nov 30 10:50:02 2015 +0100 Merge branch 'feature/1158' into develop commit 7cd3ef34507e48ff1a7cbfe30785ed2e0ef7cf2e Author: dcosse <cosse@codelutin.com> Date: Mon Nov 30 10:30:21 2015 +0100 correction suite au merge commit b1191604f2236351540bb93added3e253e1c9dd6 Author: dcosse <cosse@codelutin.com> Date: Mon Nov 30 10:12:09 2015 +0100 import manquant commit b4b645f61af063699eb418f0d860eb8bb9266c50 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Apr 1 10:52:41 2015 +0200 refs #1158 : recupération du ClosedPeriodEntryBook et stockage dans un map pour le cache. Summary of changes: .../api/ClosedPeriodicEntryBookService.java | 3 ++ .../ejb/ClosedPeriodicEntryBookServiceImpl.java | 11 +++++ .../entity/ClosedPeriodicEntryBookTopiaDao.java | 23 +++++++++ .../ui/common/FinancialTransactionTableModel.java | 55 ++++++++++++++++++++-- .../FinancialTransactionSearchTableModel.java | 9 ++-- 5 files changed, 94 insertions(+), 7 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 develop in repository lima. See http://git.chorem.org/lima.git commit b4b645f61af063699eb418f0d860eb8bb9266c50 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Apr 1 10:52:41 2015 +0200 refs #1158 : recupération du ClosedPeriodEntryBook et stockage dans un map pour le cache. --- .../api/ClosedPeriodicEntryBookService.java | 3 ++ .../ejb/ClosedPeriodicEntryBookServiceImpl.java | 11 +++++ .../entity/ClosedPeriodicEntryBookTopiaDao.java | 23 +++++++++ .../ui/common/FinancialTransactionTableModel.java | 55 ++++++++++++++++++++-- .../FinancialTransactionSearchTableModel.java | 9 ++-- 5 files changed, 94 insertions(+), 7 deletions(-) diff --git a/lima-business-api/src/main/java/org/chorem/lima/business/api/ClosedPeriodicEntryBookService.java b/lima-business-api/src/main/java/org/chorem/lima/business/api/ClosedPeriodicEntryBookService.java index 5a06347..1cb6954 100644 --- a/lima-business-api/src/main/java/org/chorem/lima/business/api/ClosedPeriodicEntryBookService.java +++ b/lima-business-api/src/main/java/org/chorem/lima/business/api/ClosedPeriodicEntryBookService.java @@ -39,4 +39,7 @@ public interface ClosedPeriodicEntryBookService { List<ClosedPeriodicEntryBook> getAllByDates(Date beginDate, Date endDate); List<ClosedPeriodicEntryBook> getAllByEntryBookAndDates(EntryBook entryBook, Date beginDate, Date endDate); + + ClosedPeriodicEntryBook getByEntryBookAndFinancialPeriod(EntryBook entryBook, Date date); + } diff --git a/lima-business/src/main/java/org/chorem/lima/business/ejb/ClosedPeriodicEntryBookServiceImpl.java b/lima-business/src/main/java/org/chorem/lima/business/ejb/ClosedPeriodicEntryBookServiceImpl.java index 19230bf..352d51e 100644 --- a/lima-business/src/main/java/org/chorem/lima/business/ejb/ClosedPeriodicEntryBookServiceImpl.java +++ b/lima-business/src/main/java/org/chorem/lima/business/ejb/ClosedPeriodicEntryBookServiceImpl.java @@ -66,4 +66,15 @@ public class ClosedPeriodicEntryBookServiceImpl extends AbstractLimaService impl closedPeriodicEntryBookTopiaDao.findAllByEntryBookAndDates(entryBook, beginDate, endDate); return result; } + + @Override + public ClosedPeriodicEntryBook getByEntryBookAndFinancialPeriod(EntryBook entryBook, Date date) { + + ClosedPeriodicEntryBookTopiaDao accountTopiaDao = getDaoHelper().getClosedPeriodicEntryBookDao(); + ClosedPeriodicEntryBook result = accountTopiaDao.findByEntryBookAndDate(entryBook, date); + + return result; + } + + } diff --git a/lima-business/src/main/java/org/chorem/lima/entity/ClosedPeriodicEntryBookTopiaDao.java b/lima-business/src/main/java/org/chorem/lima/entity/ClosedPeriodicEntryBookTopiaDao.java index cdae5fa..e539043 100644 --- a/lima-business/src/main/java/org/chorem/lima/entity/ClosedPeriodicEntryBookTopiaDao.java +++ b/lima-business/src/main/java/org/chorem/lima/entity/ClosedPeriodicEntryBookTopiaDao.java @@ -71,6 +71,29 @@ public class ClosedPeriodicEntryBookTopiaDao extends AbstractClosedPeriodicEntry } /** + * Return ClosedPeriodicEntryBook by EntryBook and FinancialPeriod. + * + * @param entryBook + * @param date + * @return ClosedPeriodicEntryBook + */ + public ClosedPeriodicEntryBook findByEntryBookAndDate( + EntryBook entryBook, Date date) { + + HqlAndParametersBuilder<ClosedPeriodicEntryBook> builder = newHqlAndParametersBuilder(); + + builder.addEquals(ClosedPeriodicEntryBook.PROPERTY_ENTRY_BOOK, entryBook); + + builder.addLowerOrEquals(PROPERTY_BEGIN_DATE, date); + + builder.addGreaterOrEquals(PROPERTY_END_DATE, date); + + ClosedPeriodicEntryBook closedPeriodicEntryBook = findUnique(builder.getHql(), builder.getHqlParameters()); + + return closedPeriodicEntryBook; + } + + /** * Retourne toutes les ClosedPeriodicEntryBook par interval de date * sur les periodes sur lequelles elles portent ordonnée par journal. * diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java b/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java index 20d594e..5ef4ded 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java +++ b/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java @@ -23,16 +23,21 @@ package org.chorem.lima.ui.common; */ import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import com.google.common.collect.Ordering; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.lima.business.LimaServiceFactory; +import org.chorem.lima.business.ServiceListener; +import org.chorem.lima.business.api.ClosedPeriodicEntryBookService; +import org.chorem.lima.business.api.FinancialPeriodService; import org.chorem.lima.business.api.FinancialTransactionService; import org.chorem.lima.business.exceptions.AfterLastFiscalPeriodException; import org.chorem.lima.business.exceptions.BeforeFirstFiscalPeriodException; import org.chorem.lima.business.exceptions.LockedEntryBookException; import org.chorem.lima.business.exceptions.LockedFinancialPeriodException; import org.chorem.lima.business.utils.EntryComparator; +import org.chorem.lima.entity.ClosedPeriodicEntryBook; import org.chorem.lima.entity.Entry; import org.chorem.lima.entity.EntryImpl; import org.chorem.lima.entity.FinancialTransaction; @@ -55,7 +60,7 @@ import static org.nuiton.i18n.I18n.t; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -public class FinancialTransactionTableModel extends TableModelWithGroup<Entry> { +public class FinancialTransactionTableModel extends TableModelWithGroup<Entry> implements ServiceListener { /** serialVersionUID. */ private static final long serialVersionUID = -7495388454688562991L; @@ -65,11 +70,17 @@ public class FinancialTransactionTableModel extends TableModelWithGroup<Entry> { /** Service (just to update setValueAt(). */ protected FinancialTransactionService financialTransactionService; + protected Map<FinancialTransaction, Boolean> lockedByTransaction; + + protected ClosedPeriodicEntryBookService closedPeriodicEntryBookService; + public FinancialTransactionTableModel() { setComparator(new EntryComparator()); - financialTransactionService = - LimaServiceFactory.getService(FinancialTransactionService.class); + financialTransactionService = LimaServiceFactory.getService(FinancialTransactionService.class); + closedPeriodicEntryBookService = LimaServiceFactory.getService(ClosedPeriodicEntryBookService.class); + LimaServiceFactory.addServiceListener(FinancialPeriodService.class, this); + lockedByTransaction = Maps.newHashMap(); } @Override @@ -142,6 +153,36 @@ public class FinancialTransactionTableModel extends TableModelWithGroup<Entry> { return entry.getFinancialTransaction(); } + public boolean isLocked(int row) { + + FinancialTransaction transaction = getTransactionAt(row); + + Boolean locked = lockedByTransaction.get(transaction); + + if (locked == null) { + ClosedPeriodicEntryBook closedPeriodicEntryBook = + closedPeriodicEntryBookService.getByEntryBookAndFinancialPeriod( + transaction.getEntryBook(), + transaction.getTransactionDate()); + if (log.isDebugEnabled()) { + log.debug("transaction " + transaction.getTransactionDate() + " : " + closedPeriodicEntryBook.isLocked()); + } + locked = closedPeriodicEntryBook.isLocked(); + lockedByTransaction.put(transaction, locked); + } + + return locked; + } + + public boolean isCellNavigable(int row, int column) { + return super.isCellEditable(row, column); + } + + @Override + public boolean isCellEditable(int row, int column) { + return super.isCellEditable(row, column) && !isLocked(row); + } + public int indexOf(FinancialTransaction transaction) { int index = 0; Collection<Entry> entriesTransaction = transaction.getEntry(); @@ -318,4 +359,12 @@ public class FinancialTransactionTableModel extends TableModelWithGroup<Entry> { int lastRow = firstRow + transaction.sizeEntry() - 1; fireTableRowsUpdated(firstRow, lastRow); } + + @Override + public void notifyMethod(String serviceName, String methodeName) { + log.debug("Nom de la méthode : " + methodeName); + if (methodeName.contains("blockClosedPeriodicEntryBook")) { + lockedByTransaction.clear(); + } + } } diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTableModel.java b/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTableModel.java index 69395db..cf7ef40 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTableModel.java +++ b/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTableModel.java @@ -100,10 +100,11 @@ public class FinancialTransactionSearchTableModel extends FinancialTransactionTa public void setFiscalPeriod(FiscalPeriod fiscalPeriod) { selectedFiscalPeriod = fiscalPeriod; } - - public void notifyMethod(String serviceName, String methodName) { - if ((serviceName.contains("FinancialTransaction") || methodName.contains("importEntries") - || methodName.contains("importAll")) && !methodName.contains("search")) { + + public void notifyMethod(String serviceName, String methodeName) { + super.notifyMethod(serviceName, methodeName); + if ((serviceName.contains("FinancialTransaction") || methodeName.contains("importEntries") + || methodeName.contains("importAll")) && !methodeName.contains("search")) { //on recharge la liste refresh(financialTransactionCondition); } -- 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 develop in repository lima. See http://git.chorem.org/lima.git commit b1191604f2236351540bb93added3e253e1c9dd6 Author: dcosse <cosse@codelutin.com> Date: Mon Nov 30 10:12:09 2015 +0100 import manquant --- .../java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java b/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java index 5ef4ded..e81a2c3 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java +++ b/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java @@ -44,7 +44,7 @@ import org.chorem.lima.entity.FinancialTransaction; import org.chorem.lima.entity.FinancialTransactionImpl; import org.chorem.lima.ui.financialtransaction.AccountColumn; import org.chorem.lima.ui.financialtransaction.CreditColumn; -import org.chorem.lima.ui.financialtransaction.DayColumn; +import org.chorem.lima.ui.financialtransaction.DateColumn; import org.chorem.lima.ui.financialtransaction.DebitColumn; import org.chorem.lima.ui.financialtransaction.DescriptionColumn; import org.chorem.lima.ui.financialtransaction.VoucherColumn; -- 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 develop in repository lima. See http://git.chorem.org/lima.git commit 7cd3ef34507e48ff1a7cbfe30785ed2e0ef7cf2e Author: dcosse <cosse@codelutin.com> Date: Mon Nov 30 10:30:21 2015 +0100 correction suite au merge --- .../java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java b/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java index e81a2c3..5ef4ded 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java +++ b/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java @@ -44,7 +44,7 @@ import org.chorem.lima.entity.FinancialTransaction; import org.chorem.lima.entity.FinancialTransactionImpl; import org.chorem.lima.ui.financialtransaction.AccountColumn; import org.chorem.lima.ui.financialtransaction.CreditColumn; -import org.chorem.lima.ui.financialtransaction.DateColumn; +import org.chorem.lima.ui.financialtransaction.DayColumn; import org.chorem.lima.ui.financialtransaction.DebitColumn; import org.chorem.lima.ui.financialtransaction.DescriptionColumn; import org.chorem.lima.ui.financialtransaction.VoucherColumn; -- 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 develop in repository lima. See http://git.chorem.org/lima.git commit fd351258c962fa48e695d662430167317c1d4468 Merge: 9957610 7cd3ef3 Author: dcosse <cosse@codelutin.com> Date: Mon Nov 30 10:50:02 2015 +0100 Merge branch 'feature/1158' into develop .../api/ClosedPeriodicEntryBookService.java | 3 ++ .../ejb/ClosedPeriodicEntryBookServiceImpl.java | 11 +++++ .../entity/ClosedPeriodicEntryBookTopiaDao.java | 23 +++++++++ .../ui/common/FinancialTransactionTableModel.java | 55 ++++++++++++++++++++-- .../FinancialTransactionSearchTableModel.java | 9 ++-- 5 files changed, 94 insertions(+), 7 deletions(-) -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
participants (1)
-
chorem.org scm