This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit 612fdefa0f312e5109669ea3d97d8d6bd4d33123 Author: Kevin Morin <morin@codelutin.com> Date: Wed Mar 15 18:50:47 2017 +0100 fixes #9097 ajout de la colonne imprimé le --- .../faxtomail/persistence/entities/EmailFilter.java | 13 +++++++++++++ .../persistence/entities/EmailTopiaDao.java | 11 +++++++++++ .../faxtomail/persistence/entities/MailField.java | 6 ++++-- faxtomail-persistence/src/main/xmi/faxtomail.zargo | Bin 35274 -> 35324 bytes .../services/service/EmailServiceImpl.java | 2 ++ .../h2/V2_2_3_170315__add_last_printing_date.sql | 13 +++++++++++++ .../V2_2_3_170315__add_last_printing_date.sql | 14 ++++++++++++++ .../swing/actions/PrintOnDefaultPrinterAction.java | 1 + .../swing/content/demande/DemandeListUIHandler.java | 4 ++++ .../ui/swing/content/demande/DemandeUIModel.java | 12 ++++++++++-- .../util/AbstractFaxToMailDemandListHandler.java | 1 + .../faxtomail/ui/swing/util/DemandeTableModel.java | 6 ++++++ .../i18n/faxtomail-ui-swing_fr_FR.properties | 2 ++ .../faxtomail/web/action/SearchAction.java | 6 ++++++ .../i18n/faxtomail-ui-web_fr_FR.properties | 1 + 15 files changed, 88 insertions(+), 4 deletions(-) diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailFilter.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailFilter.java index 326abb2..2fb2fb7 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailFilter.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailFilter.java @@ -58,6 +58,7 @@ public class EmailFilter extends AbstractSerializableBean { public static final String PROPERTY_WAITING_STATES = "waitingStates"; public static final String PROPERTY_SUBJECTS = "subjects"; public static final String PROPERTY_LAST_PRINTING_USERS = "lastPrintingUsers"; + public static final String PROPERTY_LAST_PRINTING_DATES = "lastPrintingDates"; protected Set<Priority> priorities; @@ -108,6 +109,8 @@ public class EmailFilter extends AbstractSerializableBean { protected Set<FaxToMailUser> lastPrintingUsers; + protected Set<Date> lastPrintingDates; + public Set<Priority> getPriorities() { return priorities; } @@ -325,6 +328,15 @@ public class EmailFilter extends AbstractSerializableBean { firePropertyChange(PROPERTY_LAST_PRINTING_USERS, null, lastPrintingUsers); } + public Set<Date> getLastPrintingDates() { + return lastPrintingDates; + } + + public void setLastPrintingDates(Set<Date> lastPrintingDates) { + this.lastPrintingDates = lastPrintingDates; + firePropertyChange(PROPERTY_LAST_PRINTING_DATES, null, lastPrintingDates); + } + public void clear() { setClientCodes(null); setWaitingStates(null); @@ -350,5 +362,6 @@ public class EmailFilter extends AbstractSerializableBean { setSubjects(null); setClientNames(null); setLastPrintingUsers(null); + setLastPrintingDates(null); } } diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java index c0ad29f..02ac8ce 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/EmailTopiaDao.java @@ -832,6 +832,17 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { query.append(")"); } + Set<Date> lastPrintingDates = emailFilter.getLastPrintingDates(); + if (lastPrintingDates != null) { + query.append(" AND (E." + Email.PROPERTY_LAST_PRINTING_DATE + " in (:" + EmailFilter.PROPERTY_LAST_PRINTING_DATES + ")"); + args.put(EmailFilter.PROPERTY_LAST_PRINTING_DATES, lastPrintingDates); + + if (lastPrintingDates.contains(null)) { + query.append(" OR E." + Email.PROPERTY_LAST_PRINTING_DATE + " IS NULL"); + } + query.append(")"); + } + Set<String> recipients = emailFilter.getRecipients(); if (recipients != null) { query.append(" AND (E." + Email.PROPERTY_RECIPIENT + " in (:" + EmailFilter.PROPERTY_RECIPIENTS + ")"); diff --git a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailField.java b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailField.java index dd4b5f3..fcd2c25 100644 --- a/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailField.java +++ b/faxtomail-persistence/src/main/java/com/franciaflex/faxtomail/persistence/entities/MailField.java @@ -58,7 +58,8 @@ public enum MailField { GROUP, EDI_RETURN, SUBJECT, - LAST_PRINTING_USER; + LAST_PRINTING_USER, + LAST_PRINTING_DATE; public static MailField[] getCanBeRequiredMailFields() { return new MailField[] { @@ -101,7 +102,8 @@ public enum MailField { REPLIES, ATTACHMENT, GROUP, - LAST_PRINTING_USER + LAST_PRINTING_USER, + LAST_PRINTING_DATE }; } } diff --git a/faxtomail-persistence/src/main/xmi/faxtomail.zargo b/faxtomail-persistence/src/main/xmi/faxtomail.zargo index 646af6c..4a6d63e 100644 Binary files a/faxtomail-persistence/src/main/xmi/faxtomail.zargo and b/faxtomail-persistence/src/main/xmi/faxtomail.zargo differ diff --git a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java index b2f623c..b2caa31 100644 --- a/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java +++ b/faxtomail-service/src/main/java/com/franciaflex/faxtomail/services/service/EmailServiceImpl.java @@ -839,6 +839,7 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe // dernier imprimeur directement dans l'email if (type == HistoryType.PRINTING) { email.setLastPrintingUser(user); + email.setLastPrintingDate(date); } email = emailDao.update(email); @@ -1225,6 +1226,7 @@ public class EmailServiceImpl extends FaxToMailServiceSupport implements EmailSe email.setTakenBy(null); email.setLastAttachmentOpener(null); email.setLastPrintingUser(null); + email.setLastPrintingDate(null); History history = historyDao.create(History.PROPERTY_TYPE, HistoryType.TRANSMISSION, History.PROPERTY_FAX_TO_MAIL_USER, currentUser, diff --git a/faxtomail-service/src/main/resources/db/migration/h2/V2_2_3_170315__add_last_printing_date.sql b/faxtomail-service/src/main/resources/db/migration/h2/V2_2_3_170315__add_last_printing_date.sql new file mode 100644 index 0000000..8cf32a9 --- /dev/null +++ b/faxtomail-service/src/main/resources/db/migration/h2/V2_2_3_170315__add_last_printing_date.sql @@ -0,0 +1,13 @@ +-- add last printing user + +alter table email add lastPrintingDate timestamp; + +update email set email.lastPrintingDate = (select h.modificationDate + from history h + where h.email = email.topiaId + and h.type = 'PRINTING' + and h.email not in ( + select h2.email from history h2 + where (h2.type='TRANSMISSION' OR h2.type='PRINTING' )and h2.modificationDate > h.modificationDate + ) +) where archiveDate is null; \ No newline at end of file diff --git a/faxtomail-service/src/main/resources/db/migration/sqlserver/V2_2_3_170315__add_last_printing_date.sql b/faxtomail-service/src/main/resources/db/migration/sqlserver/V2_2_3_170315__add_last_printing_date.sql new file mode 100644 index 0000000..3c0014c --- /dev/null +++ b/faxtomail-service/src/main/resources/db/migration/sqlserver/V2_2_3_170315__add_last_printing_date.sql @@ -0,0 +1,14 @@ +-- add last printing user + +alter table email add lastPrintingDate datetime2; +GO + +update email set email.lastPrintingDate = (select h.modificationDate + from history h + where h.email = email.topiaId + and h.type = 'PRINTING' + and h.email not in ( + select h2.email from history h2 + where (h2.type='TRANSMISSION' OR h2.type='PRINTING') and h2.modificationDate > h.modificationDate + ) +) where archiveDate is null; diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java index 02e83ab..5b5a16a 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/actions/PrintOnDefaultPrinterAction.java @@ -141,6 +141,7 @@ public class PrintOnDefaultPrinterAction extends AbstractFaxToMailAction { printedFileNb += printedFiles.size(); demandeUIModel.setHistory(email.getHistory()); demandeUIModel.setLastPrintingUser(email.getLastPrintingUser()); + demandeUIModel.setLastPrintingDate(email.getLastPrintingDate()); } } diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java index 6804697..9e66904 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeListUIHandler.java @@ -484,6 +484,10 @@ public class DemandeListUIHandler extends AbstractFaxToMailDemandListHandler<Dem case LAST_PRINTING_USER: property = EmailFilter.PROPERTY_LAST_PRINTING_USERS; break; + + case LAST_PRINTING_DATE: + property = EmailFilter.PROPERTY_LAST_PRINTING_DATES; + break; } if (log.isTraceEnabled()) { diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java index 7a09041..bcf18c0 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/content/demande/DemandeUIModel.java @@ -577,8 +577,16 @@ public class DemandeUIModel extends AbstractFaxToMailBeanUIModel<Email, DemandeU return editObject.getLastPrintingUser(); } - public void setLastPrintingUser(FaxToMailUser lastAttachmentOpener) { - editObject.setLastPrintingUser(lastAttachmentOpener); + public void setLastPrintingUser(FaxToMailUser lastPrintingUser) { + editObject.setLastPrintingUser(lastPrintingUser); + } + + public Date getLastPrintingDate() { + return editObject.getLastPrintingDate(); + } + + public void setLastPrintingDate(Date lastPrintingDate) { + editObject.setLastPrintingDate(lastPrintingDate); } @Override diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java index 982b57d..763c0b1 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/AbstractFaxToMailDemandListHandler.java @@ -196,6 +196,7 @@ public abstract class AbstractFaxToMailDemandListHandler<M, UI extends FaxToMail TableCellRenderer tableCellRenderer; switch (columnName) { case RECEPTION_DATE: + case LAST_PRINTING_DATE: tableCellRenderer = newTableCellRender(Date.class); break; diff --git a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java index 439d77d..41242a7 100644 --- a/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java +++ b/faxtomail-ui-swing/src/main/java/com/franciaflex/faxtomail/ui/swing/util/DemandeTableModel.java @@ -221,6 +221,12 @@ public class DemandeTableModel extends AbstractTableModel { n("faxtomail.demandeList.table.header.lastPrintingUser"), n("faxtomail.demandeList.table.header.lastPrintingUser.tip"))); + put(MailField.LAST_PRINTING_DATE, + ColumnIdentifier.<Email>newId( + Email.PROPERTY_LAST_PRINTING_DATE, + n("faxtomail.demandeList.table.header.lastPrintingDate"), + n("faxtomail.demandeList.table.header.lastPrintingDate.tip"))); + }}; public DemandeTableModel(TableColumnModelExt columnModel, MailField... editableProperties) { diff --git a/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties b/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties index 976d0af..8bb0cdc 100644 --- a/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties +++ b/faxtomail-ui-swing/src/main/resources/i18n/faxtomail-ui-swing_fr_FR.properties @@ -196,6 +196,8 @@ faxtomail.demandeList.table.header.emailGroup=Groupe faxtomail.demandeList.table.header.emailGroup.tip=Éléments groupés faxtomail.demandeList.table.header.lastAttachmentOpeningUser=Dernier à ouvrir une PJ faxtomail.demandeList.table.header.lastAttachmentOpeningUser.tip=Dernier utilisateur à avoir ouvert une pièce-jointe +faxtomail.demandeList.table.header.lastPrintingDate=Imprimé le +faxtomail.demandeList.table.header.lastPrintingDate.tip=Date de la dernière impression faxtomail.demandeList.table.header.lastPrintingUser=Imprimé par faxtomail.demandeList.table.header.lastPrintingUser.tip=Dernier utilisateur à avoir imprimé une demande ou une pièce-jointe faxtomail.demandeList.table.header.object=Objet diff --git a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/SearchAction.java b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/SearchAction.java index 631a08d..29596c1 100644 --- a/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/SearchAction.java +++ b/faxtomail-ui-web/src/main/java/com/franciaflex/faxtomail/web/action/SearchAction.java @@ -252,6 +252,12 @@ public class SearchAction extends FaxToMailActionSupport { EmailGroup emailGroup = email.getEmailGroup(); attrValue = "<span class='fa fa-link'></span> " + (emailGroup == null ? 1 : emailGroup.sizeEmail()); break; + case LAST_PRINTING_USER: + attrValue = email.getLastPrintingUser(); + break; + case LAST_PRINTING_DATE: + attrValue = email.getLastPrintingDate(); + break; } String result; diff --git a/faxtomail-ui-web/src/main/resources/i18n/faxtomail-ui-web_fr_FR.properties b/faxtomail-ui-web/src/main/resources/i18n/faxtomail-ui-web_fr_FR.properties index 1d3e6dc..8c4b9d5 100644 --- a/faxtomail-ui-web/src/main/resources/i18n/faxtomail-ui-web_fr_FR.properties +++ b/faxtomail-ui-web/src/main/resources/i18n/faxtomail-ui-web_fr_FR.properties @@ -20,6 +20,7 @@ com.franciaflex.faxtomail.persistence.entities.MailField.EDI_RETURN=Retour EDI com.franciaflex.faxtomail.persistence.entities.MailField.FAX=Fax com.franciaflex.faxtomail.persistence.entities.MailField.GROUP=Groupe com.franciaflex.faxtomail.persistence.entities.MailField.LAST_ATTACHMENT_OPENING_IN_THIS_FOLDER_USER=Dernier à ouvrir une PJ +com.franciaflex.faxtomail.persistence.entities.MailField.LAST_PRINTING_DATE=Imprimé le com.franciaflex.faxtomail.persistence.entities.MailField.LAST_PRINTING_USER=Imprimé par com.franciaflex.faxtomail.persistence.entities.MailField.MAIL_FOLDER=Dossier com.franciaflex.faxtomail.persistence.entities.MailField.OBJECT=Objet -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.