This is an automated email from the git hooks/post-receive script. New commit to branch develop-1.1.x in repository faxtomail. See https://gitlab.nuiton.org/codelutin/faxtomail.git commit bdce72d58e422a82eb9efa0932d6083c22c4eada Author: jcouteau <couteau@codelutin.com> Date: Wed Nov 25 15:16:46 2020 +0100 refs #11091 : Impossible de rechercher dans les archives via l'appli web : Suppression des like (page utilisée avec un numéro de commande exact). Problème dû aux perfs -> timeout. --- .../persistence/entities/EmailTopiaDao.java | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) 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 120fb287..a36a73db 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 @@ -480,20 +480,13 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { return result; } -// public Collection<Email> findArchivedEmails(String commandQuotationNumber, Collection<MailFolder> folders) { public Collection<Email> findArchivedEmails(String commandQuotationNumber, String company) { StringBuilder query = new StringBuilder(); Map<String, Object> args = new HashMap<>(); - Set<Email> result = new HashSet<>(); - query.append(newFromClause("E") + " WHERE E." + Email.PROPERTY_MAIL_FOLDER + "." + MailFolder.PROPERTY_COMPANY + " = (:company)"); args.put("company", company); -// query.append(newFromClause("E") + " WHERE E." + Email.PROPERTY_MAIL_FOLDER + " in (:folders)"); -// args.put("folders", folders); - - query.append(" AND E." + Email.PROPERTY_DEMAND_STATUS + " = :archiveStatus"); args.put("archiveStatus", DemandStatus.ARCHIVED); @@ -507,19 +500,17 @@ public class EmailTopiaDao extends AbstractEmailTopiaDao<Email> { StringBuilder query1 = new StringBuilder(query); query1.append(" AND (EXISTS (FROM " + RangeRow.class.getName() + " RR WHERE RR in elements(E." + Email.PROPERTY_RANGE_ROW + ")"); - query1.append(" AND RR." + RangeRow.PROPERTY_COMMAND_NUMBER + " LIKE :" + SearchFilter.PROPERTY_COMMAND_NB + ")"); + query1.append(" AND RR." + RangeRow.PROPERTY_COMMAND_NUMBER + " = :" + SearchFilter.PROPERTY_COMMAND_NB + ")"); - args.put(SearchFilter.PROPERTY_COMMAND_NB, "%" + commandQuotationNumber + "%"); + args.put(SearchFilter.PROPERTY_COMMAND_NB, commandQuotationNumber); query1.append(")"); - result.addAll(this.<Email>findAll(query1.toString(), args)); - - StringBuilder query2 = new StringBuilder(query); - query2.append(" AND (E." + Email.PROPERTY_COMPANY_REFERENCE + " LIKE :" + SearchFilter.PROPERTY_COMMAND_NB); - query2.append(")"); + Set<Email> result = new HashSet<>(this.<Email>findAll(query1.toString(), args)); - result.addAll(this.<Email>findAll(query2.toString(), args)); + String query2 = query + " AND (E." + Email.PROPERTY_COMPANY_REFERENCE + " = :" + SearchFilter.PROPERTY_COMMAND_NB + + ")"; + result.addAll(this.<Email>findAll(query2, args)); return result; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.