From 84f17cc312bbdb55b2ae61d04caa609a5385c8fd Mon Sep 17 00:00:00 2001 From: marcoalderighi Date: Fri, 21 Apr 2023 16:59:27 +0200 Subject: [PATCH] - various fixes parere geologo --- .../portlets/portos-bo-portlet/.classpath | 8 +- .../.settings/org.eclipse.jdt.core.prefs | 5 + .../WEB-INF/lib/portos-bo-portlet-service.jar | Bin 1353542 -> 1354469 bytes .../docroot/WEB-INF/service.xml | 13 +- .../bo/service/ParereGeologoLocalService.java | 7 + .../service/ParereGeologoLocalServiceClp.java | 145 +- .../ParereGeologoLocalServiceUtil.java | 11 + .../ParereGeologoLocalServiceWrapper.java | 13 + .../persistence/ParereGeologoPersistence.java | 476 +++- .../persistence/ParereGeologoUtil.java | 623 +++-- .../docroot/WEB-INF/sql/indexes.properties | 2 + .../docroot/WEB-INF/sql/indexes.sql | 1 + .../ParereGeologoLocalServiceClpInvoker.java | 100 +- .../impl/ParereGeologoLocalServiceImpl.java | 29 +- .../ParereGeologoPersistenceImpl.java | 1997 ++++++++++++++--- .../docroot/WEB-INF/src/service.properties | 4 +- .../WEB-INF/lib/portos-bo-portlet-service.jar | Bin 1353542 -> 1354481 bytes .../docroot/html/pareregeologo/actions.jsp | 2 +- .../docroot/html/pareregeologo/init.jsp | 2 +- .../html/pareregeologo/pareriapprovati.jsp | 2 +- 20 files changed, 2851 insertions(+), 589 deletions(-) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/.classpath b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/.classpath index ec042ff0..810ab9d4 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/.classpath +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/.classpath @@ -2,7 +2,6 @@ - @@ -14,10 +13,7 @@ - - - - - + + diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/.settings/org.eclipse.jdt.core.prefs b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/.settings/org.eclipse.jdt.core.prefs index f42de363..d17b6724 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/.settings/org.eclipse.jdt.core.prefs +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/.settings/org.eclipse.jdt.core.prefs @@ -1,7 +1,12 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.source=1.7 diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/portos-bo-portlet-service.jar b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/portos-bo-portlet-service.jar index 97057930ffba7cc7f4b9ffd716644e648a14dc61..f640386fe95b85e96394f5e37bf01d87859340ba 100644 GIT binary patch delta 39124 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 - + - @@ -193,6 +192,16 @@ + + + + + + + + + + diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalService.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalService.java index d8ff9e1b..98fcd60a 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalService.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalService.java @@ -349,6 +349,13 @@ public interface ParereGeologoLocalService extends BaseLocalService, public int countByUserDaApprovare(com.liferay.portal.model.User user) throws com.liferay.portal.kernel.exception.SystemException; + public java.util.List findByUserApprovati( + com.liferay.portal.model.User user, int start, int end) + throws com.liferay.portal.kernel.exception.SystemException; + + public int countByUserApprovati(com.liferay.portal.model.User user) + throws com.liferay.portal.kernel.exception.SystemException; + public java.util.List findByUserDaAssegnare( com.liferay.portal.model.User user, int start, int end) throws com.liferay.portal.kernel.exception.SystemException; diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalServiceClp.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalServiceClp.java index 2bfcccd7..688fc0fd 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalServiceClp.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalServiceClp.java @@ -177,53 +177,63 @@ public class ParereGeologoLocalServiceClp implements ParereGeologoLocalService { _methodParameterTypes31 = new String[] { "com.liferay.portal.model.User" }; - _methodName32 = "findByUserDaAssegnare"; + _methodName32 = "findByUserApprovati"; _methodParameterTypes32 = new String[] { "com.liferay.portal.model.User", "int", "int" }; - _methodName33 = "countByUserDaAssegnare"; + _methodName33 = "countByUserApprovati"; _methodParameterTypes33 = new String[] { "com.liferay.portal.model.User" }; - _methodName34 = "findByUserAssegnati"; + _methodName34 = "findByUserDaAssegnare"; _methodParameterTypes34 = new String[] { "com.liferay.portal.model.User", "int", "int" }; - _methodName35 = "countByUserAssegnati"; + _methodName35 = "countByUserDaAssegnare"; _methodParameterTypes35 = new String[] { "com.liferay.portal.model.User" }; - _methodName36 = "countByGeologoIdInCorso"; + _methodName36 = "findByUserAssegnati"; - _methodParameterTypes36 = new String[] { "long" }; + _methodParameterTypes36 = new String[] { + "com.liferay.portal.model.User", "int", "int" + }; + + _methodName37 = "countByUserAssegnati"; + + _methodParameterTypes37 = new String[] { "com.liferay.portal.model.User" }; + + _methodName38 = "countByGeologoIdInCorso"; + + _methodParameterTypes38 = new String[] { "long" }; - _methodName37 = "findByGeologoIdInCorso"; + _methodName39 = "findByGeologoIdInCorso"; - _methodParameterTypes37 = new String[] { "long", "int", "int" }; + _methodParameterTypes39 = new String[] { "long", "int", "int" }; - _methodName38 = "findWithParereByGeologoId"; + _methodName40 = "findWithParereByGeologoId"; - _methodParameterTypes38 = new String[] { "long", "int", "int" }; + _methodParameterTypes40 = new String[] { "long", "int", "int" }; - _methodName39 = "countFindWithParereByGeologoId"; + _methodName41 = "countFindWithParereByGeologoId"; - _methodParameterTypes39 = new String[] { "long" }; + _methodParameterTypes41 = new String[] { "long" }; - _methodName40 = "findWithParereByGeologoIdAndApprovazione"; + _methodName42 = "findWithParereByGeologoIdAndApprovazione"; - _methodParameterTypes40 = new String[] { "long", "boolean", "int", "int" }; + _methodParameterTypes42 = new String[] { "long", "boolean", "int", "int" }; - _methodName41 = "countFindWithParereByGeologoIdAndApprovazione"; + _methodName43 = "countFindWithParereByGeologoIdAndApprovazione"; - _methodParameterTypes41 = new String[] { "long", "boolean" }; + _methodParameterTypes43 = new String[] { "long", "boolean" }; - _methodName42 = "getCarichiLavoro"; + _methodName44 = "getCarichiLavoro"; - _methodParameterTypes42 = new String[] { "long", "int" }; + _methodParameterTypes44 = new String[] { "long", "int" }; } @Override @@ -1208,7 +1218,7 @@ public class ParereGeologoLocalServiceClp implements ParereGeologoLocalService { } @Override - public java.util.List findByUserDaAssegnare( + public java.util.List findByUserApprovati( com.liferay.portal.model.User user, int start, int end) throws com.liferay.portal.kernel.exception.SystemException { Object returnObj = null; @@ -1238,7 +1248,7 @@ public class ParereGeologoLocalServiceClp implements ParereGeologoLocalService { } @Override - public int countByUserDaAssegnare(com.liferay.portal.model.User user) + public int countByUserApprovati(com.liferay.portal.model.User user) throws com.liferay.portal.kernel.exception.SystemException { Object returnObj = null; @@ -1267,7 +1277,7 @@ public class ParereGeologoLocalServiceClp implements ParereGeologoLocalService { } @Override - public java.util.List findByUserAssegnati( + public java.util.List findByUserDaAssegnare( com.liferay.portal.model.User user, int start, int end) throws com.liferay.portal.kernel.exception.SystemException { Object returnObj = null; @@ -1297,7 +1307,7 @@ public class ParereGeologoLocalServiceClp implements ParereGeologoLocalService { } @Override - public int countByUserAssegnati(com.liferay.portal.model.User user) + public int countByUserDaAssegnare(com.liferay.portal.model.User user) throws com.liferay.portal.kernel.exception.SystemException { Object returnObj = null; @@ -1326,13 +1336,72 @@ public class ParereGeologoLocalServiceClp implements ParereGeologoLocalService { } @Override - public int countByGeologoIdInCorso(long geologoUserId) + public java.util.List findByUserAssegnati( + com.liferay.portal.model.User user, int start, int end) throws com.liferay.portal.kernel.exception.SystemException { Object returnObj = null; try { returnObj = _invokableLocalService.invokeMethod(_methodName36, - _methodParameterTypes36, new Object[] { geologoUserId }); + _methodParameterTypes36, + new Object[] { ClpSerializer.translateInput(user), start, end }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return (java.util.List)ClpSerializer.translateOutput(returnObj); + } + + @Override + public int countByUserAssegnati(com.liferay.portal.model.User user) + throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName37, + _methodParameterTypes37, + new Object[] { ClpSerializer.translateInput(user) }); + } + catch (Throwable t) { + t = ClpSerializer.translateThrowable(t); + + if (t instanceof com.liferay.portal.kernel.exception.SystemException) { + throw (com.liferay.portal.kernel.exception.SystemException)t; + } + + if (t instanceof RuntimeException) { + throw (RuntimeException)t; + } + else { + throw new RuntimeException(t.getClass().getName() + + " is not a valid exception"); + } + } + + return ((Integer)returnObj).intValue(); + } + + @Override + public int countByGeologoIdInCorso(long geologoUserId) + throws com.liferay.portal.kernel.exception.SystemException { + Object returnObj = null; + + try { + returnObj = _invokableLocalService.invokeMethod(_methodName38, + _methodParameterTypes38, new Object[] { geologoUserId }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -1360,8 +1429,8 @@ public class ParereGeologoLocalServiceClp implements ParereGeologoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName37, - _methodParameterTypes37, + returnObj = _invokableLocalService.invokeMethod(_methodName39, + _methodParameterTypes39, new Object[] { geologoUserId, start, end }); } catch (Throwable t) { @@ -1390,8 +1459,8 @@ public class ParereGeologoLocalServiceClp implements ParereGeologoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName38, - _methodParameterTypes38, + returnObj = _invokableLocalService.invokeMethod(_methodName40, + _methodParameterTypes40, new Object[] { geologoUserId, start, end }); } catch (Throwable t) { @@ -1419,8 +1488,8 @@ public class ParereGeologoLocalServiceClp implements ParereGeologoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName39, - _methodParameterTypes39, new Object[] { geologoUserId }); + returnObj = _invokableLocalService.invokeMethod(_methodName41, + _methodParameterTypes41, new Object[] { geologoUserId }); } catch (Throwable t) { t = ClpSerializer.translateThrowable(t); @@ -1448,8 +1517,8 @@ public class ParereGeologoLocalServiceClp implements ParereGeologoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName40, - _methodParameterTypes40, + returnObj = _invokableLocalService.invokeMethod(_methodName42, + _methodParameterTypes42, new Object[] { geologoUserId, approvazione, start, end }); } catch (Throwable t) { @@ -1478,8 +1547,8 @@ public class ParereGeologoLocalServiceClp implements ParereGeologoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName41, - _methodParameterTypes41, + returnObj = _invokableLocalService.invokeMethod(_methodName43, + _methodParameterTypes43, new Object[] { geologoUserId, approvazione }); } catch (Throwable t) { @@ -1509,8 +1578,8 @@ public class ParereGeologoLocalServiceClp implements ParereGeologoLocalService { Object returnObj = null; try { - returnObj = _invokableLocalService.invokeMethod(_methodName42, - _methodParameterTypes42, + returnObj = _invokableLocalService.invokeMethod(_methodName44, + _methodParameterTypes44, new Object[] { controlloPraticaId, giorni }); } catch (Throwable t) { @@ -1621,4 +1690,8 @@ public class ParereGeologoLocalServiceClp implements ParereGeologoLocalService { private String[] _methodParameterTypes41; private String _methodName42; private String[] _methodParameterTypes42; + private String _methodName43; + private String[] _methodParameterTypes43; + private String _methodName44; + private String[] _methodParameterTypes44; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalServiceUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalServiceUtil.java index 45f1791e..32267d10 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalServiceUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalServiceUtil.java @@ -396,6 +396,17 @@ public class ParereGeologoLocalServiceUtil { return getService().countByUserDaApprovare(user); } + public static java.util.List findByUserApprovati( + com.liferay.portal.model.User user, int start, int end) + throws com.liferay.portal.kernel.exception.SystemException { + return getService().findByUserApprovati(user, start, end); + } + + public static int countByUserApprovati(com.liferay.portal.model.User user) + throws com.liferay.portal.kernel.exception.SystemException { + return getService().countByUserApprovati(user); + } + public static java.util.List findByUserDaAssegnare( com.liferay.portal.model.User user, int start, int end) throws com.liferay.portal.kernel.exception.SystemException { diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalServiceWrapper.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalServiceWrapper.java index 96d7cccf..72329b79 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalServiceWrapper.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ParereGeologoLocalServiceWrapper.java @@ -426,6 +426,19 @@ public class ParereGeologoLocalServiceWrapper return _parereGeologoLocalService.countByUserDaApprovare(user); } + @Override + public java.util.List findByUserApprovati( + com.liferay.portal.model.User user, int start, int end) + throws com.liferay.portal.kernel.exception.SystemException { + return _parereGeologoLocalService.findByUserApprovati(user, start, end); + } + + @Override + public int countByUserApprovati(com.liferay.portal.model.User user) + throws com.liferay.portal.kernel.exception.SystemException { + return _parereGeologoLocalService.countByUserApprovati(user); + } + @Override public java.util.List findByUserDaAssegnare( com.liferay.portal.model.User user, int start, int end) diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistence.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistence.java index a7c1971d..37ebbb3a 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistence.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistence.java @@ -973,11 +973,10 @@ public interface ParereGeologoPersistence extends BasePersistence throws com.liferay.portal.kernel.exception.SystemException; /** - * Returns all the parere geologos where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -985,14 +984,14 @@ public interface ParereGeologoPersistence extends BasePersistence * @return the matching parere geologos * @throws SystemException if a system exception occurred */ - public java.util.List findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento) + public java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento) throws com.liferay.portal.kernel.exception.SystemException; /** - * Returns a range of all the parere geologos where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns a range of all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * *

* Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. @@ -1000,7 +999,6 @@ public interface ParereGeologoPersistence extends BasePersistence * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1010,15 +1008,14 @@ public interface ParereGeologoPersistence extends BasePersistence * @return the range of matching parere geologos * @throws SystemException if a system exception occurred */ - public java.util.List findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, - int start, int end) + public java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, int start, int end) throws com.liferay.portal.kernel.exception.SystemException; /** - * Returns an ordered range of all the parere geologos where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns an ordered range of all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * *

* Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. @@ -1026,7 +1023,6 @@ public interface ParereGeologoPersistence extends BasePersistence * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1037,20 +1033,18 @@ public interface ParereGeologoPersistence extends BasePersistence * @return the ordered range of matching parere geologos * @throws SystemException if a system exception occurred */ - public java.util.List findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, - int start, int end, + public java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, int start, int end, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException; /** - * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1060,20 +1054,19 @@ public interface ParereGeologoPersistence extends BasePersistence * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a matching parere geologo could not be found * @throws SystemException if a system exception occurred */ - public it.tref.liferay.portos.bo.model.ParereGeologo findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_First( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, + public it.tref.liferay.portos.bo.model.ParereGeologo findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_First( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException, it.tref.liferay.portos.bo.NoSuchParereGeologoException; /** - * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1082,19 +1075,18 @@ public interface ParereGeologoPersistence extends BasePersistence * @return the first matching parere geologo, or null if a matching parere geologo could not be found * @throws SystemException if a system exception occurred */ - public it.tref.liferay.portos.bo.model.ParereGeologo fetchByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_First( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, + public it.tref.liferay.portos.bo.model.ParereGeologo fetchByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_First( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException; /** - * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1104,20 +1096,19 @@ public interface ParereGeologoPersistence extends BasePersistence * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a matching parere geologo could not be found * @throws SystemException if a system exception occurred */ - public it.tref.liferay.portos.bo.model.ParereGeologo findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_Last( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, + public it.tref.liferay.portos.bo.model.ParereGeologo findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_Last( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException, it.tref.liferay.portos.bo.NoSuchParereGeologoException; /** - * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1126,20 +1117,19 @@ public interface ParereGeologoPersistence extends BasePersistence * @return the last matching parere geologo, or null if a matching parere geologo could not be found * @throws SystemException if a system exception occurred */ - public it.tref.liferay.portos.bo.model.ParereGeologo fetchByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_Last( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, + public it.tref.liferay.portos.bo.model.ParereGeologo fetchByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_Last( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException; /** - * Returns the parere geologos before and after the current parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the parere geologos before and after the current parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param parereGeologoId the primary key of the current parere geologo * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1149,17 +1139,16 @@ public interface ParereGeologoPersistence extends BasePersistence * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a parere geologo with the primary key could not be found * @throws SystemException if a system exception occurred */ - public it.tref.liferay.portos.bo.model.ParereGeologo[] findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_PrevAndNext( + public it.tref.liferay.portos.bo.model.ParereGeologo[] findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_PrevAndNext( long parereGeologoId, long groupId, int unitaOperativa, - long geologoUserId, long assegnatoreUserId, - java.util.Date dtAssegnazione, java.util.Date dtApprovazione, - java.util.Date dtAnnullamento, + long assegnatoreUserId, java.util.Date dtAssegnazione, + java.util.Date dtApprovazione, java.util.Date dtAnnullamento, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException, it.tref.liferay.portos.bo.NoSuchParereGeologoException; /** - * Returns all the parere geologos where groupId = any ? and unitaOperativa = any ? and geologoUserId = ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * *

* Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. @@ -1167,7 +1156,6 @@ public interface ParereGeologoPersistence extends BasePersistence * * @param groupIds the group IDs * @param unitaOperativas the unita operativas - * @param geologoUserId the geologo user ID * @param assegnatoreUserIds the assegnatore user IDs * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1175,14 +1163,14 @@ public interface ParereGeologoPersistence extends BasePersistence * @return the matching parere geologos * @throws SystemException if a system exception occurred */ - public java.util.List findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long[] groupIds, int[] unitaOperativas, long geologoUserId, - long[] assegnatoreUserIds, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento) + public java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento) throws com.liferay.portal.kernel.exception.SystemException; /** - * Returns a range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and geologoUserId = ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns a range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * *

* Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. @@ -1190,7 +1178,6 @@ public interface ParereGeologoPersistence extends BasePersistence * * @param groupIds the group IDs * @param unitaOperativas the unita operativas - * @param geologoUserId the geologo user ID * @param assegnatoreUserIds the assegnatore user IDs * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1200,15 +1187,14 @@ public interface ParereGeologoPersistence extends BasePersistence * @return the range of matching parere geologos * @throws SystemException if a system exception occurred */ - public java.util.List findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long[] groupIds, int[] unitaOperativas, long geologoUserId, - long[] assegnatoreUserIds, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, - int start, int end) + public java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, int start, int end) throws com.liferay.portal.kernel.exception.SystemException; /** - * Returns an ordered range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and geologoUserId = ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns an ordered range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * *

* Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. @@ -1216,7 +1202,6 @@ public interface ParereGeologoPersistence extends BasePersistence * * @param groupIds the group IDs * @param unitaOperativas the unita operativas - * @param geologoUserId the geologo user ID * @param assegnatoreUserIds the assegnatore user IDs * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1227,38 +1212,35 @@ public interface ParereGeologoPersistence extends BasePersistence * @return the ordered range of matching parere geologos * @throws SystemException if a system exception occurred */ - public java.util.List findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long[] groupIds, int[] unitaOperativas, long geologoUserId, - long[] assegnatoreUserIds, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, - int start, int end, + public java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, int start, int end, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException; /** - * Removes all the parere geologos where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ? from the database. + * Removes all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ? from the database. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione * @param dtAnnullamento the dt annullamento * @throws SystemException if a system exception occurred */ - public void removeByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento) + public void removeByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento) throws com.liferay.portal.kernel.exception.SystemException; /** - * Returns the number of parere geologos where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the number of parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1266,18 +1248,17 @@ public interface ParereGeologoPersistence extends BasePersistence * @return the number of matching parere geologos * @throws SystemException if a system exception occurred */ - public int countByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento) + public int countByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento) throws com.liferay.portal.kernel.exception.SystemException; /** - * Returns the number of parere geologos where groupId = any ? and unitaOperativa = any ? and geologoUserId = ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the number of parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupIds the group IDs * @param unitaOperativas the unita operativas - * @param geologoUserId the geologo user ID * @param assegnatoreUserIds the assegnatore user IDs * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1285,10 +1266,10 @@ public interface ParereGeologoPersistence extends BasePersistence * @return the number of matching parere geologos * @throws SystemException if a system exception occurred */ - public int countByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long[] groupIds, int[] unitaOperativas, long geologoUserId, - long[] assegnatoreUserIds, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento) + public int countByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento) throws com.liferay.portal.kernel.exception.SystemException; /** @@ -1610,6 +1591,325 @@ public interface ParereGeologoPersistence extends BasePersistence java.util.Date dtAnnullamento, java.util.Date dtApprovazione) throws com.liferay.portal.kernel.exception.SystemException; + /** + * Returns all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @return the matching parere geologos + * @throws SystemException if a system exception occurred + */ + public java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns a range of all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param start the lower bound of the range of parere geologos + * @param end the upper bound of the range of parere geologos (not inclusive) + * @return the range of matching parere geologos + * @throws SystemException if a system exception occurred + */ + public java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + int start, int end) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns an ordered range of all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param start the lower bound of the range of parere geologos + * @param end the upper bound of the range of parere geologos (not inclusive) + * @param orderByComparator the comparator to order the results by (optionally null) + * @return the ordered range of matching parere geologos + * @throws SystemException if a system exception occurred + */ + public java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + int start, int end, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the first matching parere geologo + * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a matching parere geologo could not be found + * @throws SystemException if a system exception occurred + */ + public it.tref.liferay.portos.bo.model.ParereGeologo findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_First( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException, + it.tref.liferay.portos.bo.NoSuchParereGeologoException; + + /** + * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the first matching parere geologo, or null if a matching parere geologo could not be found + * @throws SystemException if a system exception occurred + */ + public it.tref.liferay.portos.bo.model.ParereGeologo fetchByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_First( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the last matching parere geologo + * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a matching parere geologo could not be found + * @throws SystemException if a system exception occurred + */ + public it.tref.liferay.portos.bo.model.ParereGeologo findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_Last( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException, + it.tref.liferay.portos.bo.NoSuchParereGeologoException; + + /** + * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the last matching parere geologo, or null if a matching parere geologo could not be found + * @throws SystemException if a system exception occurred + */ + public it.tref.liferay.portos.bo.model.ParereGeologo fetchByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_Last( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the parere geologos before and after the current parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param parereGeologoId the primary key of the current parere geologo + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the previous, current, and next parere geologo + * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a parere geologo with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + public it.tref.liferay.portos.bo.model.ParereGeologo[] findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_PrevAndNext( + long parereGeologoId, long groupId, int unitaOperativa, + long assegnatoreUserId, java.util.Date dtCompilazione, + java.util.Date dtAssegnazione, java.util.Date dtAnnullamento, + java.util.Date dtApprovazione, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException, + it.tref.liferay.portos.bo.NoSuchParereGeologoException; + + /** + * Returns all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupIds the group IDs + * @param unitaOperativas the unita operativas + * @param assegnatoreUserIds the assegnatore user IDs + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @return the matching parere geologos + * @throws SystemException if a system exception occurred + */ + public java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns a range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupIds the group IDs + * @param unitaOperativas the unita operativas + * @param assegnatoreUserIds the assegnatore user IDs + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param start the lower bound of the range of parere geologos + * @param end the upper bound of the range of parere geologos (not inclusive) + * @return the range of matching parere geologos + * @throws SystemException if a system exception occurred + */ + public java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + int start, int end) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns an ordered range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupIds the group IDs + * @param unitaOperativas the unita operativas + * @param assegnatoreUserIds the assegnatore user IDs + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param start the lower bound of the range of parere geologos + * @param end the upper bound of the range of parere geologos (not inclusive) + * @param orderByComparator the comparator to order the results by (optionally null) + * @return the ordered range of matching parere geologos + * @throws SystemException if a system exception occurred + */ + public java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + int start, int end, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Removes all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ? from the database. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @throws SystemException if a system exception occurred + */ + public void removeByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the number of parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @return the number of matching parere geologos + * @throws SystemException if a system exception occurred + */ + public int countByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione) + throws com.liferay.portal.kernel.exception.SystemException; + + /** + * Returns the number of parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupIds the group IDs + * @param unitaOperativas the unita operativas + * @param assegnatoreUserIds the assegnatore user IDs + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @return the number of matching parere geologos + * @throws SystemException if a system exception occurred + */ + public int countByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione) + throws com.liferay.portal.kernel.exception.SystemException; + /** * Caches the parere geologo in the entity cache if it is enabled. * diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/persistence/ParereGeologoUtil.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/persistence/ParereGeologoUtil.java index 0b59cb36..23ee45f2 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/persistence/ParereGeologoUtil.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/persistence/ParereGeologoUtil.java @@ -1231,11 +1231,10 @@ public class ParereGeologoUtil { } /** - * Returns all the parere geologos where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1243,19 +1242,19 @@ public class ParereGeologoUtil { * @return the matching parere geologos * @throws SystemException if a system exception occurred */ - public static java.util.List findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento) + public static java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento) throws com.liferay.portal.kernel.exception.SystemException { return getPersistence() - .findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, - unitaOperativa, geologoUserId, assegnatoreUserId, dtAssegnazione, - dtApprovazione, dtAnnullamento); + .findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, + unitaOperativa, assegnatoreUserId, dtAssegnazione, dtApprovazione, + dtAnnullamento); } /** - * Returns a range of all the parere geologos where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns a range of all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * *

* Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. @@ -1263,7 +1262,6 @@ public class ParereGeologoUtil { * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1273,20 +1271,19 @@ public class ParereGeologoUtil { * @return the range of matching parere geologos * @throws SystemException if a system exception occurred */ - public static java.util.List findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, - int start, int end) + public static java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, int start, int end) throws com.liferay.portal.kernel.exception.SystemException { return getPersistence() - .findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, - unitaOperativa, geologoUserId, assegnatoreUserId, dtAssegnazione, - dtApprovazione, dtAnnullamento, start, end); + .findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, + unitaOperativa, assegnatoreUserId, dtAssegnazione, dtApprovazione, + dtAnnullamento, start, end); } /** - * Returns an ordered range of all the parere geologos where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns an ordered range of all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * *

* Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. @@ -1294,7 +1291,6 @@ public class ParereGeologoUtil { * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1305,25 +1301,23 @@ public class ParereGeologoUtil { * @return the ordered range of matching parere geologos * @throws SystemException if a system exception occurred */ - public static java.util.List findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, - int start, int end, + public static java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, int start, int end, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException { return getPersistence() - .findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, - unitaOperativa, geologoUserId, assegnatoreUserId, dtAssegnazione, - dtApprovazione, dtAnnullamento, start, end, orderByComparator); + .findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, + unitaOperativa, assegnatoreUserId, dtAssegnazione, dtApprovazione, + dtAnnullamento, start, end, orderByComparator); } /** - * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1333,25 +1327,24 @@ public class ParereGeologoUtil { * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a matching parere geologo could not be found * @throws SystemException if a system exception occurred */ - public static it.tref.liferay.portos.bo.model.ParereGeologo findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_First( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, + public static it.tref.liferay.portos.bo.model.ParereGeologo findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_First( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException, it.tref.liferay.portos.bo.NoSuchParereGeologoException { return getPersistence() - .findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_First(groupId, - unitaOperativa, geologoUserId, assegnatoreUserId, dtAssegnazione, - dtApprovazione, dtAnnullamento, orderByComparator); + .findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_First(groupId, + unitaOperativa, assegnatoreUserId, dtAssegnazione, dtApprovazione, + dtAnnullamento, orderByComparator); } /** - * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1360,24 +1353,23 @@ public class ParereGeologoUtil { * @return the first matching parere geologo, or null if a matching parere geologo could not be found * @throws SystemException if a system exception occurred */ - public static it.tref.liferay.portos.bo.model.ParereGeologo fetchByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_First( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, + public static it.tref.liferay.portos.bo.model.ParereGeologo fetchByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_First( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException { return getPersistence() - .fetchByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_First(groupId, - unitaOperativa, geologoUserId, assegnatoreUserId, dtAssegnazione, - dtApprovazione, dtAnnullamento, orderByComparator); + .fetchByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_First(groupId, + unitaOperativa, assegnatoreUserId, dtAssegnazione, dtApprovazione, + dtAnnullamento, orderByComparator); } /** - * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1387,25 +1379,24 @@ public class ParereGeologoUtil { * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a matching parere geologo could not be found * @throws SystemException if a system exception occurred */ - public static it.tref.liferay.portos.bo.model.ParereGeologo findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_Last( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, + public static it.tref.liferay.portos.bo.model.ParereGeologo findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_Last( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException, it.tref.liferay.portos.bo.NoSuchParereGeologoException { return getPersistence() - .findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_Last(groupId, - unitaOperativa, geologoUserId, assegnatoreUserId, dtAssegnazione, - dtApprovazione, dtAnnullamento, orderByComparator); + .findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_Last(groupId, + unitaOperativa, assegnatoreUserId, dtAssegnazione, dtApprovazione, + dtAnnullamento, orderByComparator); } /** - * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1414,25 +1405,24 @@ public class ParereGeologoUtil { * @return the last matching parere geologo, or null if a matching parere geologo could not be found * @throws SystemException if a system exception occurred */ - public static it.tref.liferay.portos.bo.model.ParereGeologo fetchByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_Last( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, + public static it.tref.liferay.portos.bo.model.ParereGeologo fetchByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_Last( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException { return getPersistence() - .fetchByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_Last(groupId, - unitaOperativa, geologoUserId, assegnatoreUserId, dtAssegnazione, - dtApprovazione, dtAnnullamento, orderByComparator); + .fetchByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_Last(groupId, + unitaOperativa, assegnatoreUserId, dtAssegnazione, dtApprovazione, + dtAnnullamento, orderByComparator); } /** - * Returns the parere geologos before and after the current parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the parere geologos before and after the current parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param parereGeologoId the primary key of the current parere geologo * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1442,22 +1432,21 @@ public class ParereGeologoUtil { * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a parere geologo with the primary key could not be found * @throws SystemException if a system exception occurred */ - public static it.tref.liferay.portos.bo.model.ParereGeologo[] findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_PrevAndNext( + public static it.tref.liferay.portos.bo.model.ParereGeologo[] findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_PrevAndNext( long parereGeologoId, long groupId, int unitaOperativa, - long geologoUserId, long assegnatoreUserId, - java.util.Date dtAssegnazione, java.util.Date dtApprovazione, - java.util.Date dtAnnullamento, + long assegnatoreUserId, java.util.Date dtAssegnazione, + java.util.Date dtApprovazione, java.util.Date dtAnnullamento, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException, it.tref.liferay.portos.bo.NoSuchParereGeologoException { return getPersistence() - .findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_PrevAndNext(parereGeologoId, - groupId, unitaOperativa, geologoUserId, assegnatoreUserId, - dtAssegnazione, dtApprovazione, dtAnnullamento, orderByComparator); + .findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento_PrevAndNext(parereGeologoId, + groupId, unitaOperativa, assegnatoreUserId, dtAssegnazione, + dtApprovazione, dtAnnullamento, orderByComparator); } /** - * Returns all the parere geologos where groupId = any ? and unitaOperativa = any ? and geologoUserId = ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * *

* Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. @@ -1465,7 +1454,6 @@ public class ParereGeologoUtil { * * @param groupIds the group IDs * @param unitaOperativas the unita operativas - * @param geologoUserId the geologo user ID * @param assegnatoreUserIds the assegnatore user IDs * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1473,19 +1461,19 @@ public class ParereGeologoUtil { * @return the matching parere geologos * @throws SystemException if a system exception occurred */ - public static java.util.List findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long[] groupIds, int[] unitaOperativas, long geologoUserId, - long[] assegnatoreUserIds, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento) + public static java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento) throws com.liferay.portal.kernel.exception.SystemException { return getPersistence() - .findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupIds, - unitaOperativas, geologoUserId, assegnatoreUserIds, dtAssegnazione, + .findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupIds, + unitaOperativas, assegnatoreUserIds, dtAssegnazione, dtApprovazione, dtAnnullamento); } /** - * Returns a range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and geologoUserId = ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns a range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * *

* Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. @@ -1493,7 +1481,6 @@ public class ParereGeologoUtil { * * @param groupIds the group IDs * @param unitaOperativas the unita operativas - * @param geologoUserId the geologo user ID * @param assegnatoreUserIds the assegnatore user IDs * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1503,20 +1490,19 @@ public class ParereGeologoUtil { * @return the range of matching parere geologos * @throws SystemException if a system exception occurred */ - public static java.util.List findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long[] groupIds, int[] unitaOperativas, long geologoUserId, - long[] assegnatoreUserIds, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, - int start, int end) + public static java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, int start, int end) throws com.liferay.portal.kernel.exception.SystemException { return getPersistence() - .findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupIds, - unitaOperativas, geologoUserId, assegnatoreUserIds, dtAssegnazione, + .findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupIds, + unitaOperativas, assegnatoreUserIds, dtAssegnazione, dtApprovazione, dtAnnullamento, start, end); } /** - * Returns an ordered range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and geologoUserId = ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns an ordered range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * *

* Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. @@ -1524,7 +1510,6 @@ public class ParereGeologoUtil { * * @param groupIds the group IDs * @param unitaOperativas the unita operativas - * @param geologoUserId the geologo user ID * @param assegnatoreUserIds the assegnatore user IDs * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1535,48 +1520,45 @@ public class ParereGeologoUtil { * @return the ordered range of matching parere geologos * @throws SystemException if a system exception occurred */ - public static java.util.List findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long[] groupIds, int[] unitaOperativas, long geologoUserId, - long[] assegnatoreUserIds, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento, - int start, int end, + public static java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento, int start, int end, com.liferay.portal.kernel.util.OrderByComparator orderByComparator) throws com.liferay.portal.kernel.exception.SystemException { return getPersistence() - .findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupIds, - unitaOperativas, geologoUserId, assegnatoreUserIds, dtAssegnazione, + .findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupIds, + unitaOperativas, assegnatoreUserIds, dtAssegnazione, dtApprovazione, dtAnnullamento, start, end, orderByComparator); } /** - * Removes all the parere geologos where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ? from the database. + * Removes all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ? from the database. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione * @param dtAnnullamento the dt annullamento * @throws SystemException if a system exception occurred */ - public static void removeByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento) + public static void removeByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento) throws com.liferay.portal.kernel.exception.SystemException { getPersistence() - .removeByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, - unitaOperativa, geologoUserId, assegnatoreUserId, dtAssegnazione, - dtApprovazione, dtAnnullamento); + .removeByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, + unitaOperativa, assegnatoreUserId, dtAssegnazione, dtApprovazione, + dtAnnullamento); } /** - * Returns the number of parere geologos where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the number of parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupId the group ID * @param unitaOperativa the unita operativa - * @param geologoUserId the geologo user ID * @param assegnatoreUserId the assegnatore user ID * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1584,23 +1566,22 @@ public class ParereGeologoUtil { * @return the number of matching parere geologos * @throws SystemException if a system exception occurred */ - public static int countByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento) + public static int countByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento) throws com.liferay.portal.kernel.exception.SystemException { return getPersistence() - .countByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, - unitaOperativa, geologoUserId, assegnatoreUserId, dtAssegnazione, - dtApprovazione, dtAnnullamento); + .countByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, + unitaOperativa, assegnatoreUserId, dtAssegnazione, dtApprovazione, + dtAnnullamento); } /** - * Returns the number of parere geologos where groupId = any ? and unitaOperativa = any ? and geologoUserId = ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns the number of parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * * @param groupIds the group IDs * @param unitaOperativas the unita operativas - * @param geologoUserId the geologo user ID * @param assegnatoreUserIds the assegnatore user IDs * @param dtAssegnazione the dt assegnazione * @param dtApprovazione the dt approvazione @@ -1608,14 +1589,14 @@ public class ParereGeologoUtil { * @return the number of matching parere geologos * @throws SystemException if a system exception occurred */ - public static int countByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long[] groupIds, int[] unitaOperativas, long geologoUserId, - long[] assegnatoreUserIds, java.util.Date dtAssegnazione, - java.util.Date dtApprovazione, java.util.Date dtAnnullamento) + public static int countByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtAssegnazione, java.util.Date dtApprovazione, + java.util.Date dtAnnullamento) throws com.liferay.portal.kernel.exception.SystemException { return getPersistence() - .countByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupIds, - unitaOperativas, geologoUserId, assegnatoreUserIds, dtAssegnazione, + .countByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupIds, + unitaOperativas, assegnatoreUserIds, dtAssegnazione, dtApprovazione, dtAnnullamento); } @@ -2009,6 +1990,396 @@ public class ParereGeologoUtil { dtAssegnazione, dtAnnullamento, dtApprovazione); } + /** + * Returns all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @return the matching parere geologos + * @throws SystemException if a system exception occurred + */ + public static java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence() + .findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, dtAssegnazione, + dtAnnullamento, dtApprovazione); + } + + /** + * Returns a range of all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param start the lower bound of the range of parere geologos + * @param end the upper bound of the range of parere geologos (not inclusive) + * @return the range of matching parere geologos + * @throws SystemException if a system exception occurred + */ + public static java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + int start, int end) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence() + .findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, dtAssegnazione, + dtAnnullamento, dtApprovazione, start, end); + } + + /** + * Returns an ordered range of all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param start the lower bound of the range of parere geologos + * @param end the upper bound of the range of parere geologos (not inclusive) + * @param orderByComparator the comparator to order the results by (optionally null) + * @return the ordered range of matching parere geologos + * @throws SystemException if a system exception occurred + */ + public static java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + int start, int end, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence() + .findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, dtAssegnazione, + dtAnnullamento, dtApprovazione, start, end, orderByComparator); + } + + /** + * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the first matching parere geologo + * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a matching parere geologo could not be found + * @throws SystemException if a system exception occurred + */ + public static it.tref.liferay.portos.bo.model.ParereGeologo findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_First( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException, + it.tref.liferay.portos.bo.NoSuchParereGeologoException { + return getPersistence() + .findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_First(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, dtAssegnazione, + dtAnnullamento, dtApprovazione, orderByComparator); + } + + /** + * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the first matching parere geologo, or null if a matching parere geologo could not be found + * @throws SystemException if a system exception occurred + */ + public static it.tref.liferay.portos.bo.model.ParereGeologo fetchByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_First( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence() + .fetchByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_First(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, dtAssegnazione, + dtAnnullamento, dtApprovazione, orderByComparator); + } + + /** + * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the last matching parere geologo + * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a matching parere geologo could not be found + * @throws SystemException if a system exception occurred + */ + public static it.tref.liferay.portos.bo.model.ParereGeologo findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_Last( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException, + it.tref.liferay.portos.bo.NoSuchParereGeologoException { + return getPersistence() + .findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_Last(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, dtAssegnazione, + dtAnnullamento, dtApprovazione, orderByComparator); + } + + /** + * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the last matching parere geologo, or null if a matching parere geologo could not be found + * @throws SystemException if a system exception occurred + */ + public static it.tref.liferay.portos.bo.model.ParereGeologo fetchByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_Last( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence() + .fetchByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_Last(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, dtAssegnazione, + dtAnnullamento, dtApprovazione, orderByComparator); + } + + /** + * Returns the parere geologos before and after the current parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param parereGeologoId the primary key of the current parere geologo + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the previous, current, and next parere geologo + * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a parere geologo with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + public static it.tref.liferay.portos.bo.model.ParereGeologo[] findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_PrevAndNext( + long parereGeologoId, long groupId, int unitaOperativa, + long assegnatoreUserId, java.util.Date dtCompilazione, + java.util.Date dtAssegnazione, java.util.Date dtAnnullamento, + java.util.Date dtApprovazione, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException, + it.tref.liferay.portos.bo.NoSuchParereGeologoException { + return getPersistence() + .findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_PrevAndNext(parereGeologoId, + groupId, unitaOperativa, assegnatoreUserId, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione, orderByComparator); + } + + /** + * Returns all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupIds the group IDs + * @param unitaOperativas the unita operativas + * @param assegnatoreUserIds the assegnatore user IDs + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @return the matching parere geologos + * @throws SystemException if a system exception occurred + */ + public static java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence() + .findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupIds, + unitaOperativas, assegnatoreUserIds, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione); + } + + /** + * Returns a range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupIds the group IDs + * @param unitaOperativas the unita operativas + * @param assegnatoreUserIds the assegnatore user IDs + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param start the lower bound of the range of parere geologos + * @param end the upper bound of the range of parere geologos (not inclusive) + * @return the range of matching parere geologos + * @throws SystemException if a system exception occurred + */ + public static java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + int start, int end) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence() + .findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupIds, + unitaOperativas, assegnatoreUserIds, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione, start, end); + } + + /** + * Returns an ordered range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupIds the group IDs + * @param unitaOperativas the unita operativas + * @param assegnatoreUserIds the assegnatore user IDs + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param start the lower bound of the range of parere geologos + * @param end the upper bound of the range of parere geologos (not inclusive) + * @param orderByComparator the comparator to order the results by (optionally null) + * @return the ordered range of matching parere geologos + * @throws SystemException if a system exception occurred + */ + public static java.util.List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione, + int start, int end, + com.liferay.portal.kernel.util.OrderByComparator orderByComparator) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence() + .findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupIds, + unitaOperativas, assegnatoreUserIds, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione, start, end, + orderByComparator); + } + + /** + * Removes all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ? from the database. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @throws SystemException if a system exception occurred + */ + public static void removeByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione) + throws com.liferay.portal.kernel.exception.SystemException { + getPersistence() + .removeByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, dtAssegnazione, + dtAnnullamento, dtApprovazione); + } + + /** + * Returns the number of parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @return the number of matching parere geologos + * @throws SystemException if a system exception occurred + */ + public static int countByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence() + .countByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, dtAssegnazione, + dtAnnullamento, dtApprovazione); + } + + /** + * Returns the number of parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupIds the group IDs + * @param unitaOperativas the unita operativas + * @param assegnatoreUserIds the assegnatore user IDs + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @return the number of matching parere geologos + * @throws SystemException if a system exception occurred + */ + public static int countByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + java.util.Date dtCompilazione, java.util.Date dtAssegnazione, + java.util.Date dtAnnullamento, java.util.Date dtApprovazione) + throws com.liferay.portal.kernel.exception.SystemException { + return getPersistence() + .countByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupIds, + unitaOperativas, assegnatoreUserIds, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione); + } + /** * Caches the parere geologo in the entity cache if it is enabled. * diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/indexes.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/indexes.properties index 414d58ac..5de1340d 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/indexes.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/indexes.properties @@ -175,10 +175,12 @@ IX_5D9EAD5E=portos_bo_ParereGeo.GeologoUserId_DtCompilazione_DtAnnullamento IX_81AC7104=portos_bo_ParereGeo.GroupId_GeologoUserId_DtCompilazione_DtAnnullamento IX_B4CF0B7E=portos_bo_ParereGeo.Group_Geologo_Assegnatore_DtCompilazione_DtAnnullamento IX_94C87F94=portos_bo_ParereGeo.Group_UnitaOperativa_Assegnatore_DtCompilazione_DtAnnullamento_DtApprovazione +IX_EF38FC0D=portos_bo_ParereGeo.Group_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento IX_94C87F94=portos_bo_ParereGeo.Group_UnitaOperativa_Assegnatore_NotDtCompilazione_Annullamento_DtApprovazione IX_94C87F94=portos_bo_ParereGeo.Group_UnitaOperativa_Assegnatore_NotDtCompilazione_DtAnnullamento_DtApprovazione IX_94C87F94=portos_bo_ParereGeo.Group_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAnnullamento_DtApprovazione IX_D0EBB039=portos_bo_ParereGeo.Group_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_DtApprovazione +IX_D0EBB039=portos_bo_ParereGeo.Group_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione IX_3A6B6848=portos_bo_ParereGeo.Group_UnitaOperativa_Geologo_Assegnatore_DtCompilazione_DtAnnullamento IX_9E215E93=portos_bo_ParereGeo.Group_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento IX_E45CCE1A=portos_bo_ParereGeo.Group_UnitaOperativa_Geologo_Assegnatore_NotDtCompilazione_DtApprovazione_DtAnnullamento diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/indexes.sql b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/indexes.sql index 94bef81d..1a82fe7c 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/indexes.sql +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/indexes.sql @@ -170,6 +170,7 @@ create index IX_2E6B85CA on portos_bo_ParereGeo (companyId, groupId); create index IX_5D9EAD5E on portos_bo_ParereGeo (geologoUserId, dtCompilazione, dtAnnullamento); create index IX_B4CF0B7E on portos_bo_ParereGeo (groupId, geologoUserId, assegnatoreUserId, dtCompilazione, dtAnnullamento); create index IX_81AC7104 on portos_bo_ParereGeo (groupId, geologoUserId, dtCompilazione, dtAnnullamento); +create index IX_EF38FC0D on portos_bo_ParereGeo (groupId, unitaOperativa, assegnatoreUserId, dtAssegnazione, dtApprovazione, dtAnnullamento); create index IX_94C87F94 on portos_bo_ParereGeo (groupId, unitaOperativa, assegnatoreUserId, dtCompilazione, dtAnnullamento, dtApprovazione); create index IX_D0EBB039 on portos_bo_ParereGeo (groupId, unitaOperativa, assegnatoreUserId, dtCompilazione, dtAssegnazione, dtAnnullamento, dtApprovazione); create index IX_9E215E93 on portos_bo_ParereGeo (groupId, unitaOperativa, geologoUserId, assegnatoreUserId, dtAssegnazione, dtApprovazione, dtAnnullamento); diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/ParereGeologoLocalServiceClpInvoker.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/ParereGeologoLocalServiceClpInvoker.java index 9baf15e0..b1964739 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/ParereGeologoLocalServiceClpInvoker.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/ParereGeologoLocalServiceClpInvoker.java @@ -192,53 +192,63 @@ public class ParereGeologoLocalServiceClpInvoker { _methodParameterTypes187 = new String[] { "com.liferay.portal.model.User" }; - _methodName188 = "findByUserDaAssegnare"; + _methodName188 = "findByUserApprovati"; _methodParameterTypes188 = new String[] { "com.liferay.portal.model.User", "int", "int" }; - _methodName189 = "countByUserDaAssegnare"; + _methodName189 = "countByUserApprovati"; _methodParameterTypes189 = new String[] { "com.liferay.portal.model.User" }; - _methodName190 = "findByUserAssegnati"; + _methodName190 = "findByUserDaAssegnare"; _methodParameterTypes190 = new String[] { "com.liferay.portal.model.User", "int", "int" }; - _methodName191 = "countByUserAssegnati"; + _methodName191 = "countByUserDaAssegnare"; _methodParameterTypes191 = new String[] { "com.liferay.portal.model.User" }; - _methodName192 = "countByGeologoIdInCorso"; + _methodName192 = "findByUserAssegnati"; - _methodParameterTypes192 = new String[] { "long" }; + _methodParameterTypes192 = new String[] { + "com.liferay.portal.model.User", "int", "int" + }; + + _methodName193 = "countByUserAssegnati"; + + _methodParameterTypes193 = new String[] { "com.liferay.portal.model.User" }; + + _methodName194 = "countByGeologoIdInCorso"; - _methodName193 = "findByGeologoIdInCorso"; + _methodParameterTypes194 = new String[] { "long" }; - _methodParameterTypes193 = new String[] { "long", "int", "int" }; + _methodName195 = "findByGeologoIdInCorso"; - _methodName197 = "findWithParereByGeologoId"; + _methodParameterTypes195 = new String[] { "long", "int", "int" }; - _methodParameterTypes197 = new String[] { "long", "int", "int" }; + _methodName199 = "findWithParereByGeologoId"; - _methodName198 = "countFindWithParereByGeologoId"; + _methodParameterTypes199 = new String[] { "long", "int", "int" }; - _methodParameterTypes198 = new String[] { "long" }; + _methodName200 = "countFindWithParereByGeologoId"; - _methodName199 = "findWithParereByGeologoIdAndApprovazione"; + _methodParameterTypes200 = new String[] { "long" }; - _methodParameterTypes199 = new String[] { "long", "boolean", "int", "int" }; + _methodName201 = "findWithParereByGeologoIdAndApprovazione"; - _methodName200 = "countFindWithParereByGeologoIdAndApprovazione"; + _methodParameterTypes201 = new String[] { "long", "boolean", "int", "int" }; - _methodParameterTypes200 = new String[] { "long", "boolean" }; + _methodName202 = "countFindWithParereByGeologoIdAndApprovazione"; - _methodName201 = "getCarichiLavoro"; + _methodParameterTypes202 = new String[] { "long", "boolean" }; - _methodParameterTypes201 = new String[] { "long", "int" }; + _methodName203 = "getCarichiLavoro"; + + _methodParameterTypes203 = new String[] { "long", "int" }; } public Object invokeMethod(String name, String[] parameterTypes, @@ -442,68 +452,80 @@ public class ParereGeologoLocalServiceClpInvoker { if (_methodName188.equals(name) && Arrays.deepEquals(_methodParameterTypes188, parameterTypes)) { - return ParereGeologoLocalServiceUtil.findByUserDaAssegnare((com.liferay.portal.model.User)arguments[0], + return ParereGeologoLocalServiceUtil.findByUserApprovati((com.liferay.portal.model.User)arguments[0], ((Integer)arguments[1]).intValue(), ((Integer)arguments[2]).intValue()); } if (_methodName189.equals(name) && Arrays.deepEquals(_methodParameterTypes189, parameterTypes)) { - return ParereGeologoLocalServiceUtil.countByUserDaAssegnare((com.liferay.portal.model.User)arguments[0]); + return ParereGeologoLocalServiceUtil.countByUserApprovati((com.liferay.portal.model.User)arguments[0]); } if (_methodName190.equals(name) && Arrays.deepEquals(_methodParameterTypes190, parameterTypes)) { - return ParereGeologoLocalServiceUtil.findByUserAssegnati((com.liferay.portal.model.User)arguments[0], + return ParereGeologoLocalServiceUtil.findByUserDaAssegnare((com.liferay.portal.model.User)arguments[0], ((Integer)arguments[1]).intValue(), ((Integer)arguments[2]).intValue()); } if (_methodName191.equals(name) && Arrays.deepEquals(_methodParameterTypes191, parameterTypes)) { - return ParereGeologoLocalServiceUtil.countByUserAssegnati((com.liferay.portal.model.User)arguments[0]); + return ParereGeologoLocalServiceUtil.countByUserDaAssegnare((com.liferay.portal.model.User)arguments[0]); } if (_methodName192.equals(name) && Arrays.deepEquals(_methodParameterTypes192, parameterTypes)) { - return ParereGeologoLocalServiceUtil.countByGeologoIdInCorso(((Long)arguments[0]).longValue()); + return ParereGeologoLocalServiceUtil.findByUserAssegnati((com.liferay.portal.model.User)arguments[0], + ((Integer)arguments[1]).intValue(), + ((Integer)arguments[2]).intValue()); } if (_methodName193.equals(name) && Arrays.deepEquals(_methodParameterTypes193, parameterTypes)) { + return ParereGeologoLocalServiceUtil.countByUserAssegnati((com.liferay.portal.model.User)arguments[0]); + } + + if (_methodName194.equals(name) && + Arrays.deepEquals(_methodParameterTypes194, parameterTypes)) { + return ParereGeologoLocalServiceUtil.countByGeologoIdInCorso(((Long)arguments[0]).longValue()); + } + + if (_methodName195.equals(name) && + Arrays.deepEquals(_methodParameterTypes195, parameterTypes)) { return ParereGeologoLocalServiceUtil.findByGeologoIdInCorso(((Long)arguments[0]).longValue(), ((Integer)arguments[1]).intValue(), ((Integer)arguments[2]).intValue()); } - if (_methodName197.equals(name) && - Arrays.deepEquals(_methodParameterTypes197, parameterTypes)) { + if (_methodName199.equals(name) && + Arrays.deepEquals(_methodParameterTypes199, parameterTypes)) { return ParereGeologoLocalServiceUtil.findWithParereByGeologoId(((Long)arguments[0]).longValue(), ((Integer)arguments[1]).intValue(), ((Integer)arguments[2]).intValue()); } - if (_methodName198.equals(name) && - Arrays.deepEquals(_methodParameterTypes198, parameterTypes)) { + if (_methodName200.equals(name) && + Arrays.deepEquals(_methodParameterTypes200, parameterTypes)) { return ParereGeologoLocalServiceUtil.countFindWithParereByGeologoId(((Long)arguments[0]).longValue()); } - if (_methodName199.equals(name) && - Arrays.deepEquals(_methodParameterTypes199, parameterTypes)) { + if (_methodName201.equals(name) && + Arrays.deepEquals(_methodParameterTypes201, parameterTypes)) { return ParereGeologoLocalServiceUtil.findWithParereByGeologoIdAndApprovazione(((Long)arguments[0]).longValue(), ((Boolean)arguments[1]).booleanValue(), ((Integer)arguments[2]).intValue(), ((Integer)arguments[3]).intValue()); } - if (_methodName200.equals(name) && - Arrays.deepEquals(_methodParameterTypes200, parameterTypes)) { + if (_methodName202.equals(name) && + Arrays.deepEquals(_methodParameterTypes202, parameterTypes)) { return ParereGeologoLocalServiceUtil.countFindWithParereByGeologoIdAndApprovazione(((Long)arguments[0]).longValue(), ((Boolean)arguments[1]).booleanValue()); } - if (_methodName201.equals(name) && - Arrays.deepEquals(_methodParameterTypes201, parameterTypes)) { + if (_methodName203.equals(name) && + Arrays.deepEquals(_methodParameterTypes203, parameterTypes)) { return ParereGeologoLocalServiceUtil.getCarichiLavoro(((Long)arguments[0]).longValue(), ((Integer)arguments[1]).intValue()); } @@ -591,14 +613,18 @@ public class ParereGeologoLocalServiceClpInvoker { private String[] _methodParameterTypes192; private String _methodName193; private String[] _methodParameterTypes193; - private String _methodName197; - private String[] _methodParameterTypes197; - private String _methodName198; - private String[] _methodParameterTypes198; + private String _methodName194; + private String[] _methodParameterTypes194; + private String _methodName195; + private String[] _methodParameterTypes195; private String _methodName199; private String[] _methodParameterTypes199; private String _methodName200; private String[] _methodParameterTypes200; private String _methodName201; private String[] _methodParameterTypes201; + private String _methodName202; + private String[] _methodParameterTypes202; + private String _methodName203; + private String[] _methodParameterTypes203; } \ No newline at end of file diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/ParereGeologoLocalServiceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/ParereGeologoLocalServiceImpl.java index 1cc3b436..4e35132d 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/ParereGeologoLocalServiceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/ParereGeologoLocalServiceImpl.java @@ -115,7 +115,7 @@ public class ParereGeologoLocalServiceImpl extends ParereGeologoLocalServiceBase Date now = serviceContext.getModifiedDate(new Date()); parere.setModifiedDate(serviceContext.getModifiedDate()); parere.setDtCompilazione(now); - if(Validator.isNull(parere.getUnitaOperativa())){ + if(0 == parere.getUnitaOperativa()){ parere.setApprovatoreUserId(serviceContext.getUserId()); parere.setDtApprovazione(now); } @@ -233,6 +233,25 @@ public class ParereGeologoLocalServiceImpl extends ParereGeologoLocalServiceBase UserUtil.getGroupIds(user), UserUtil.getUnitaOperativeArray(user), new long[] { 0L, user.getUserId() }, null, null, null, null); } + + @Override + public List findByUserApprovati(User user, int start, int end) throws SystemException { + + return parereGeologoPersistence + .findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + UserUtil.getGroupIds(user), UserUtil.getUnitaOperativeArray(user), + new long[] { 0L, user.getUserId() }, null, null, null, null, start, end, + OrderByComparatorFactoryUtil.create(ParereGeologoImpl.TABLE_NAME, "dtCompilazione", false)); + } + + @Override + public int countByUserApprovati(User user) throws SystemException { + + return parereGeologoPersistence + .countByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + UserUtil.getGroupIds(user), UserUtil.getUnitaOperativeArray(user), + new long[] { 0L, user.getUserId() }, null, null, null, null); + } @Override public List findByUserDaAssegnare(User user, int start, int end) throws SystemException { @@ -254,8 +273,8 @@ public class ParereGeologoLocalServiceImpl extends ParereGeologoLocalServiceBase @Override public List findByUserAssegnati(User user, int start, int end) throws SystemException { - return parereGeologoPersistence.findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - UserUtil.getGroupIds(user), UserUtil.getUnitaOperativeArray(user), 0L, + return parereGeologoPersistence.findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + UserUtil.getGroupIds(user), UserUtil.getUnitaOperativeArray(user), new long[] { 0L, user.getUserId() }, null, null, null, start, end, OrderByComparatorFactoryUtil.create(ParereGeologoImpl.TABLE_NAME, "dtRichista", false)); } @@ -263,8 +282,8 @@ public class ParereGeologoLocalServiceImpl extends ParereGeologoLocalServiceBase @Override public int countByUserAssegnati(User user) throws SystemException { - return parereGeologoPersistence.countByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - UserUtil.getGroupIds(user), UserUtil.getUnitaOperativeArray(user), 0L, + return parereGeologoPersistence.countByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + UserUtil.getGroupIds(user), UserUtil.getUnitaOperativeArray(user), new long[] { 0L, user.getUserId() }, null, null, null); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java index 672b671d..ae67d3d7 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/ParereGeologoPersistenceImpl.java @@ -3835,36 +3835,35 @@ public class ParereGeologoPersistenceImpl extends BasePersistenceImpl findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, Date dtAssegnazione, Date dtApprovazione, - Date dtAnnullamento) throws SystemException { - return findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, - unitaOperativa, geologoUserId, assegnatoreUserId, dtAssegnazione, - dtApprovazione, dtAnnullamento, QueryUtil.ALL_POS, - QueryUtil.ALL_POS, null); + public List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long groupId, int unitaOperativa, long assegnatoreUserId, + Date dtAssegnazione, Date dtApprovazione, Date dtAnnullamento) + throws SystemException { + return findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, + unitaOperativa, assegnatoreUserId, dtAssegnazione, dtApprovazione, + dtAnnullamento, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); } /** - * Returns a range of all the parere geologos where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns a range of all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * *

* Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. @@ -3892,7 +3890,6 @@ public class ParereGeologoPersistenceImpl extends BasePersistenceImpl findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, Date dtAssegnazione, Date dtApprovazione, - Date dtAnnullamento, int start, int end) throws SystemException { - return findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, - unitaOperativa, geologoUserId, assegnatoreUserId, dtAssegnazione, - dtApprovazione, dtAnnullamento, start, end, null); + public List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long groupId, int unitaOperativa, long assegnatoreUserId, + Date dtAssegnazione, Date dtApprovazione, Date dtAnnullamento, + int start, int end) throws SystemException { + return findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento(groupId, + unitaOperativa, assegnatoreUserId, dtAssegnazione, dtApprovazione, + dtAnnullamento, start, end, null); } /** - * Returns an ordered range of all the parere geologos where groupId = ? and unitaOperativa = ? and geologoUserId = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. + * Returns an ordered range of all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtAssegnazione ≠ ? and dtApprovazione = ? and dtAnnullamento = ?. * *

* Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. @@ -3921,7 +3918,6 @@ public class ParereGeologoPersistenceImpl extends BasePersistenceImpl findByGroup_UnitaOperativa_Geologo_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( - long groupId, int unitaOperativa, long geologoUserId, - long assegnatoreUserId, Date dtAssegnazione, Date dtApprovazione, - Date dtAnnullamento, int start, int end, - OrderByComparator orderByComparator) throws SystemException { + public List findByGroup_UnitaOperativa_Assegnatore_NotDtAssegnazione_DtApprovazione_DtAnnullamento( + long groupId, int unitaOperativa, long assegnatoreUserId, + Date dtAssegnazione, Date dtApprovazione, Date dtAnnullamento, + int start, int end, OrderByComparator orderByComparator) + throws SystemException { boolean pagination = true; FinderPath finderPath = null; Object[] finderArgs = null; - finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUP_UNITAOPERATIVA_GEOLOGO_ASSEGNATORE_NOTDTASSEGNAZIONE_DTAPPROVAZIONE_DTANNULLAMENTO; + finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTASSEGNAZIONE_DTAPPROVAZIONE_DTANNULLAMENTO; finderArgs = new Object[] { - groupId, unitaOperativa, geologoUserId, assegnatoreUserId, - dtAssegnazione, dtApprovazione, dtAnnullamento, + groupId, unitaOperativa, assegnatoreUserId, dtAssegnazione, + dtApprovazione, dtAnnullamento, start, end, orderByComparator }; @@ -3957,7 +3953,6 @@ public class ParereGeologoPersistenceImpl extends BasePersistenceImpl findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + Date dtCompilazione, Date dtAssegnazione, Date dtAnnullamento, + Date dtApprovazione) throws SystemException { + return findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, dtAssegnazione, + dtAnnullamento, dtApprovazione, QueryUtil.ALL_POS, + QueryUtil.ALL_POS, null); + } + + /** + * Returns a range of all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param start the lower bound of the range of parere geologos + * @param end the upper bound of the range of parere geologos (not inclusive) + * @return the range of matching parere geologos + * @throws SystemException if a system exception occurred + */ + @Override + public List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + Date dtCompilazione, Date dtAssegnazione, Date dtAnnullamento, + Date dtApprovazione, int start, int end) throws SystemException { + return findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, dtAssegnazione, + dtAnnullamento, dtApprovazione, start, end, null); + } + + /** + * Returns an ordered range of all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param start the lower bound of the range of parere geologos + * @param end the upper bound of the range of parere geologos (not inclusive) + * @param orderByComparator the comparator to order the results by (optionally null) + * @return the ordered range of matching parere geologos + * @throws SystemException if a system exception occurred + */ + @Override + public List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + Date dtCompilazione, Date dtAssegnazione, Date dtAnnullamento, + Date dtApprovazione, int start, int end, + OrderByComparator orderByComparator) throws SystemException { + boolean pagination = true; + FinderPath finderPath = null; + Object[] finderArgs = null; + + finderPath = FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE; + finderArgs = new Object[] { + groupId, unitaOperativa, assegnatoreUserId, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione, + + start, end, orderByComparator + }; + + List list = (List)FinderCacheUtil.getResult(finderPath, + finderArgs, this); + + if ((list != null) && !list.isEmpty()) { + for (ParereGeologo parereGeologo : list) { + if ((groupId != parereGeologo.getGroupId()) || + (unitaOperativa != parereGeologo.getUnitaOperativa()) || + (assegnatoreUserId != parereGeologo.getAssegnatoreUserId()) || + Validator.equals(dtCompilazione, + parereGeologo.getDtCompilazione()) || + Validator.equals(dtAssegnazione, + parereGeologo.getDtAssegnazione()) || + !Validator.equals(dtAnnullamento, + parereGeologo.getDtAnnullamento()) || + Validator.equals(dtApprovazione, + parereGeologo.getDtApprovazione())) { + list = null; + + break; + } + } + } + + if (list == null) { + StringBundler query = null; + + if (orderByComparator != null) { + query = new StringBundler(9 + + (orderByComparator.getOrderByFields().length * 3)); + } + else { + query = new StringBundler(9); + } + + query.append(_SQL_SELECT_PAREREGEOLOGO_WHERE); + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_GROUPID_2); + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_UNITAOPERATIVA_2); + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_ASSEGNATOREUSERID_2); + + boolean bindDtCompilazione = false; + + if (dtCompilazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_1); + } + else { + bindDtCompilazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_2); + } + + boolean bindDtAssegnazione = false; + + if (dtAssegnazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_1); + } + else { + bindDtAssegnazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_2); + } + + boolean bindDtAnnullamento = false; + + if (dtAnnullamento == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_1); + } + else { + bindDtAnnullamento = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_2); + } + + boolean bindDtApprovazione = false; + + if (dtApprovazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_1); + } + else { + bindDtApprovazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_2); + } + + if (orderByComparator != null) { + appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, + orderByComparator); + } + else + if (pagination) { + query.append(ParereGeologoModelImpl.ORDER_BY_JPQL); + } + + String sql = query.toString(); + + Session session = null; + + try { + session = openSession(); + + Query q = session.createQuery(sql); + + QueryPos qPos = QueryPos.getInstance(q); + + qPos.add(groupId); + + qPos.add(unitaOperativa); + + qPos.add(assegnatoreUserId); + + if (bindDtCompilazione) { + qPos.add(CalendarUtil.getTimestamp(dtCompilazione)); + } + + if (bindDtAssegnazione) { + qPos.add(CalendarUtil.getTimestamp(dtAssegnazione)); + } + + if (bindDtAnnullamento) { + qPos.add(CalendarUtil.getTimestamp(dtAnnullamento)); + } + + if (bindDtApprovazione) { + qPos.add(CalendarUtil.getTimestamp(dtApprovazione)); + } + + if (!pagination) { + list = (List)QueryUtil.list(q, getDialect(), + start, end, false); + + Collections.sort(list); + + list = new UnmodifiableList(list); + } + else { + list = (List)QueryUtil.list(q, getDialect(), + start, end); + } + + cacheResult(list); + + FinderCacheUtil.putResult(finderPath, finderArgs, list); + } + catch (Exception e) { + FinderCacheUtil.removeResult(finderPath, finderArgs); + + throw processException(e); + } + finally { + closeSession(session); + } + } + + return list; + } + + /** + * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the first matching parere geologo + * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a matching parere geologo could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ParereGeologo findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_First( + long groupId, int unitaOperativa, long assegnatoreUserId, + Date dtCompilazione, Date dtAssegnazione, Date dtAnnullamento, + Date dtApprovazione, OrderByComparator orderByComparator) + throws NoSuchParereGeologoException, SystemException { + ParereGeologo parereGeologo = fetchByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_First(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione, + orderByComparator); + + if (parereGeologo != null) { + return parereGeologo; + } + + StringBundler msg = new StringBundler(16); + + msg.append(_NO_SUCH_ENTITY_WITH_KEY); + + msg.append("groupId="); + msg.append(groupId); + + msg.append(", unitaOperativa="); + msg.append(unitaOperativa); + + msg.append(", assegnatoreUserId="); + msg.append(assegnatoreUserId); + + msg.append(", dtCompilazione="); + msg.append(dtCompilazione); + + msg.append(", dtAssegnazione="); + msg.append(dtAssegnazione); + + msg.append(", dtAnnullamento="); + msg.append(dtAnnullamento); + + msg.append(", dtApprovazione="); + msg.append(dtApprovazione); + + msg.append(StringPool.CLOSE_CURLY_BRACE); + + throw new NoSuchParereGeologoException(msg.toString()); + } + + /** + * Returns the first parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the first matching parere geologo, or null if a matching parere geologo could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ParereGeologo fetchByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_First( + long groupId, int unitaOperativa, long assegnatoreUserId, + Date dtCompilazione, Date dtAssegnazione, Date dtAnnullamento, + Date dtApprovazione, OrderByComparator orderByComparator) + throws SystemException { + List list = findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione, 0, 1, + orderByComparator); + + if (!list.isEmpty()) { + return list.get(0); + } + + return null; + } + + /** + * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the last matching parere geologo + * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a matching parere geologo could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ParereGeologo findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_Last( + long groupId, int unitaOperativa, long assegnatoreUserId, + Date dtCompilazione, Date dtAssegnazione, Date dtAnnullamento, + Date dtApprovazione, OrderByComparator orderByComparator) + throws NoSuchParereGeologoException, SystemException { + ParereGeologo parereGeologo = fetchByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_Last(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione, + orderByComparator); + + if (parereGeologo != null) { + return parereGeologo; + } + + StringBundler msg = new StringBundler(16); + + msg.append(_NO_SUCH_ENTITY_WITH_KEY); + + msg.append("groupId="); + msg.append(groupId); + + msg.append(", unitaOperativa="); + msg.append(unitaOperativa); + + msg.append(", assegnatoreUserId="); + msg.append(assegnatoreUserId); + + msg.append(", dtCompilazione="); + msg.append(dtCompilazione); + + msg.append(", dtAssegnazione="); + msg.append(dtAssegnazione); + + msg.append(", dtAnnullamento="); + msg.append(dtAnnullamento); + + msg.append(", dtApprovazione="); + msg.append(dtApprovazione); + + msg.append(StringPool.CLOSE_CURLY_BRACE); + + throw new NoSuchParereGeologoException(msg.toString()); + } + + /** + * Returns the last parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the last matching parere geologo, or null if a matching parere geologo could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ParereGeologo fetchByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_Last( + long groupId, int unitaOperativa, long assegnatoreUserId, + Date dtCompilazione, Date dtAssegnazione, Date dtAnnullamento, + Date dtApprovazione, OrderByComparator orderByComparator) + throws SystemException { + int count = countByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione); + + if (count == 0) { + return null; + } + + List list = findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupId, + unitaOperativa, assegnatoreUserId, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione, count - 1, + count, orderByComparator); + + if (!list.isEmpty()) { + return list.get(0); + } + + return null; + } + + /** + * Returns the parere geologos before and after the current parere geologo in the ordered set where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param parereGeologoId the primary key of the current parere geologo + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param orderByComparator the comparator to order the set by (optionally null) + * @return the previous, current, and next parere geologo + * @throws it.tref.liferay.portos.bo.NoSuchParereGeologoException if a parere geologo with the primary key could not be found + * @throws SystemException if a system exception occurred + */ + @Override + public ParereGeologo[] findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_PrevAndNext( + long parereGeologoId, long groupId, int unitaOperativa, + long assegnatoreUserId, Date dtCompilazione, Date dtAssegnazione, + Date dtAnnullamento, Date dtApprovazione, + OrderByComparator orderByComparator) + throws NoSuchParereGeologoException, SystemException { + ParereGeologo parereGeologo = findByPrimaryKey(parereGeologoId); + + Session session = null; + + try { + session = openSession(); + + ParereGeologo[] array = new ParereGeologoImpl[3]; + + array[0] = getByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_PrevAndNext(session, + parereGeologo, groupId, unitaOperativa, assegnatoreUserId, + dtCompilazione, dtAssegnazione, dtAnnullamento, + dtApprovazione, orderByComparator, true); + + array[1] = parereGeologo; + + array[2] = getByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_PrevAndNext(session, + parereGeologo, groupId, unitaOperativa, assegnatoreUserId, + dtCompilazione, dtAssegnazione, dtAnnullamento, + dtApprovazione, orderByComparator, false); + + return array; + } + catch (Exception e) { + throw processException(e); + } + finally { + closeSession(session); + } + } + + protected ParereGeologo getByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione_PrevAndNext( + Session session, ParereGeologo parereGeologo, long groupId, + int unitaOperativa, long assegnatoreUserId, Date dtCompilazione, + Date dtAssegnazione, Date dtAnnullamento, Date dtApprovazione, + OrderByComparator orderByComparator, boolean previous) { + StringBundler query = null; + + if (orderByComparator != null) { + query = new StringBundler(6 + + (orderByComparator.getOrderByFields().length * 6)); + } + else { + query = new StringBundler(3); + } + + query.append(_SQL_SELECT_PAREREGEOLOGO_WHERE); + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_GROUPID_2); + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_UNITAOPERATIVA_2); + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_ASSEGNATOREUSERID_2); + + boolean bindDtCompilazione = false; + + if (dtCompilazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_1); + } + else { + bindDtCompilazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_2); + } + + boolean bindDtAssegnazione = false; + + if (dtAssegnazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_1); + } + else { + bindDtAssegnazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_2); + } + + boolean bindDtAnnullamento = false; + + if (dtAnnullamento == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_1); + } + else { + bindDtAnnullamento = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_2); + } + + boolean bindDtApprovazione = false; + + if (dtApprovazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_1); + } + else { + bindDtApprovazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_2); + } + + if (orderByComparator != null) { + String[] orderByConditionFields = orderByComparator.getOrderByConditionFields(); + + if (orderByConditionFields.length > 0) { + query.append(WHERE_AND); + } + + for (int i = 0; i < orderByConditionFields.length; i++) { + query.append(_ORDER_BY_ENTITY_ALIAS); + query.append(orderByConditionFields[i]); + + if ((i + 1) < orderByConditionFields.length) { + if (orderByComparator.isAscending() ^ previous) { + query.append(WHERE_GREATER_THAN_HAS_NEXT); + } + else { + query.append(WHERE_LESSER_THAN_HAS_NEXT); + } + } + else { + if (orderByComparator.isAscending() ^ previous) { + query.append(WHERE_GREATER_THAN); + } + else { + query.append(WHERE_LESSER_THAN); + } + } + } + + query.append(ORDER_BY_CLAUSE); + + String[] orderByFields = orderByComparator.getOrderByFields(); + + for (int i = 0; i < orderByFields.length; i++) { + query.append(_ORDER_BY_ENTITY_ALIAS); + query.append(orderByFields[i]); + + if ((i + 1) < orderByFields.length) { + if (orderByComparator.isAscending() ^ previous) { + query.append(ORDER_BY_ASC_HAS_NEXT); + } + else { + query.append(ORDER_BY_DESC_HAS_NEXT); + } + } + else { + if (orderByComparator.isAscending() ^ previous) { + query.append(ORDER_BY_ASC); + } + else { + query.append(ORDER_BY_DESC); + } + } + } + } + else { + query.append(ParereGeologoModelImpl.ORDER_BY_JPQL); + } + + String sql = query.toString(); + + Query q = session.createQuery(sql); + + q.setFirstResult(0); + q.setMaxResults(2); + + QueryPos qPos = QueryPos.getInstance(q); + + qPos.add(groupId); + + qPos.add(unitaOperativa); + + qPos.add(assegnatoreUserId); + + if (bindDtCompilazione) { + qPos.add(CalendarUtil.getTimestamp(dtCompilazione)); + } + + if (bindDtAssegnazione) { + qPos.add(CalendarUtil.getTimestamp(dtAssegnazione)); + } + + if (bindDtAnnullamento) { + qPos.add(CalendarUtil.getTimestamp(dtAnnullamento)); + } + + if (bindDtApprovazione) { + qPos.add(CalendarUtil.getTimestamp(dtApprovazione)); + } + + if (orderByComparator != null) { + Object[] values = orderByComparator.getOrderByConditionValues(parereGeologo); + + for (Object value : values) { + qPos.add(value); + } + } + + List list = q.list(); + + if (list.size() == 2) { + return list.get(1); + } + else { + return null; + } + } + + /** + * Returns all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupIds the group IDs + * @param unitaOperativas the unita operativas + * @param assegnatoreUserIds the assegnatore user IDs + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @return the matching parere geologos + * @throws SystemException if a system exception occurred + */ + @Override + public List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + Date dtCompilazione, Date dtAssegnazione, Date dtAnnullamento, + Date dtApprovazione) throws SystemException { + return findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupIds, + unitaOperativas, assegnatoreUserIds, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione, QueryUtil.ALL_POS, + QueryUtil.ALL_POS, null); + } + + /** + * Returns a range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupIds the group IDs + * @param unitaOperativas the unita operativas + * @param assegnatoreUserIds the assegnatore user IDs + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param start the lower bound of the range of parere geologos + * @param end the upper bound of the range of parere geologos (not inclusive) + * @return the range of matching parere geologos + * @throws SystemException if a system exception occurred + */ + @Override + public List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + Date dtCompilazione, Date dtAssegnazione, Date dtAnnullamento, + Date dtApprovazione, int start, int end) throws SystemException { + return findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupIds, + unitaOperativas, assegnatoreUserIds, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione, start, end, null); + } + + /** + * Returns an ordered range of all the parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + *

+ * Useful when paginating results. Returns a maximum of end - start instances. start and end are not primary keys, they are indexes in the result set. Thus, 0 refers to the first result in the set. Setting both start and end to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If orderByComparator is specified, then the query will include the given ORDER BY logic. If orderByComparator is absent and pagination is required (start and end are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link it.tref.liferay.portos.bo.model.impl.ParereGeologoModelImpl}. If both orderByComparator and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. + *

+ * + * @param groupIds the group IDs + * @param unitaOperativas the unita operativas + * @param assegnatoreUserIds the assegnatore user IDs + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @param start the lower bound of the range of parere geologos + * @param end the upper bound of the range of parere geologos (not inclusive) + * @param orderByComparator the comparator to order the results by (optionally null) + * @return the ordered range of matching parere geologos + * @throws SystemException if a system exception occurred + */ + @Override + public List findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + Date dtCompilazione, Date dtAssegnazione, Date dtAnnullamento, + Date dtApprovazione, int start, int end, + OrderByComparator orderByComparator) throws SystemException { + if ((groupIds != null) && (groupIds.length == 1) && + (unitaOperativas != null) && (unitaOperativas.length == 1) && + (assegnatoreUserIds != null) && + (assegnatoreUserIds.length == 1)) { + return findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione(groupIds[0], + unitaOperativas[0], assegnatoreUserIds[0], dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione, start, end, + orderByComparator); + } + + boolean pagination = true; + Object[] finderArgs = null; + + if ((start == QueryUtil.ALL_POS) && (end == QueryUtil.ALL_POS) && + (orderByComparator == null)) { + pagination = false; + finderArgs = new Object[] { + StringUtil.merge(groupIds), + StringUtil.merge(unitaOperativas), + StringUtil.merge(assegnatoreUserIds), dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione + }; + } + else { + finderArgs = new Object[] { + StringUtil.merge(groupIds), + StringUtil.merge(unitaOperativas), + StringUtil.merge(assegnatoreUserIds), dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione, + + start, end, orderByComparator + }; + } + + List list = (List)FinderCacheUtil.getResult(FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE, + finderArgs, this); + + if ((list != null) && !list.isEmpty()) { + for (ParereGeologo parereGeologo : list) { + if (!ArrayUtil.contains(groupIds, parereGeologo.getGroupId()) || + !ArrayUtil.contains(unitaOperativas, + parereGeologo.getUnitaOperativa()) || + !ArrayUtil.contains(assegnatoreUserIds, + parereGeologo.getAssegnatoreUserId()) || + Validator.equals(dtCompilazione, + parereGeologo.getDtCompilazione()) || + Validator.equals(dtAssegnazione, + parereGeologo.getDtAssegnazione()) || + !Validator.equals(dtAnnullamento, + parereGeologo.getDtAnnullamento()) || + Validator.equals(dtApprovazione, + parereGeologo.getDtApprovazione())) { + list = null; + + break; + } + } + } + + if (list == null) { + StringBundler query = new StringBundler(); + + query.append(_SQL_SELECT_PAREREGEOLOGO_WHERE); + + boolean conjunctionable = false; + + if ((groupIds == null) || (groupIds.length > 0)) { + if (conjunctionable) { + query.append(WHERE_AND); + } + + query.append(StringPool.OPEN_PARENTHESIS); + + for (int i = 0; i < groupIds.length; i++) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_GROUPID_5); + + if ((i + 1) < groupIds.length) { + query.append(WHERE_OR); + } + } + + query.append(StringPool.CLOSE_PARENTHESIS); + + conjunctionable = true; + } + + if ((unitaOperativas == null) || (unitaOperativas.length > 0)) { + if (conjunctionable) { + query.append(WHERE_AND); + } + + query.append(StringPool.OPEN_PARENTHESIS); + + for (int i = 0; i < unitaOperativas.length; i++) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_UNITAOPERATIVA_5); + + if ((i + 1) < unitaOperativas.length) { + query.append(WHERE_OR); + } + } + + query.append(StringPool.CLOSE_PARENTHESIS); + + conjunctionable = true; + } + + if ((assegnatoreUserIds == null) || + (assegnatoreUserIds.length > 0)) { + if (conjunctionable) { + query.append(WHERE_AND); + } + + query.append(StringPool.OPEN_PARENTHESIS); + + for (int i = 0; i < assegnatoreUserIds.length; i++) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_ASSEGNATOREUSERID_5); + + if ((i + 1) < assegnatoreUserIds.length) { + query.append(WHERE_OR); + } + } + + query.append(StringPool.CLOSE_PARENTHESIS); + + conjunctionable = true; + } + + if (conjunctionable) { + query.append(WHERE_AND); + } + + boolean bindDtCompilazione = false; + + if (dtCompilazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_4); + } + else { + bindDtCompilazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_5); + } + + conjunctionable = true; + + if (conjunctionable) { + query.append(WHERE_AND); + } + + boolean bindDtAssegnazione = false; + + if (dtAssegnazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_4); + } + else { + bindDtAssegnazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_5); + } + + conjunctionable = true; + + if (conjunctionable) { + query.append(WHERE_AND); + } + + boolean bindDtAnnullamento = false; + + if (dtAnnullamento == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_4); + } + else { + bindDtAnnullamento = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_5); + } + + conjunctionable = true; + + if (conjunctionable) { + query.append(WHERE_AND); + } + + boolean bindDtApprovazione = false; + + if (dtApprovazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_4); + } + else { + bindDtApprovazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_5); + } + + conjunctionable = true; + + if (orderByComparator != null) { + appendOrderByComparator(query, _ORDER_BY_ENTITY_ALIAS, + orderByComparator); + } + else + if (pagination) { + query.append(ParereGeologoModelImpl.ORDER_BY_JPQL); + } + + String sql = query.toString(); + + Session session = null; + + try { + session = openSession(); + + Query q = session.createQuery(sql); + + QueryPos qPos = QueryPos.getInstance(q); + + if (groupIds != null) { + qPos.add(groupIds); + } + + if (unitaOperativas != null) { + qPos.add(unitaOperativas); + } + + if (assegnatoreUserIds != null) { + qPos.add(assegnatoreUserIds); + } + + if (bindDtCompilazione) { + qPos.add(CalendarUtil.getTimestamp(dtCompilazione)); + } + + if (bindDtAssegnazione) { + qPos.add(CalendarUtil.getTimestamp(dtAssegnazione)); + } + + if (bindDtAnnullamento) { + qPos.add(CalendarUtil.getTimestamp(dtAnnullamento)); + } + + if (bindDtApprovazione) { + qPos.add(CalendarUtil.getTimestamp(dtApprovazione)); + } + + if (!pagination) { + list = (List)QueryUtil.list(q, getDialect(), + start, end, false); + + Collections.sort(list); + + list = new UnmodifiableList(list); + } + else { + list = (List)QueryUtil.list(q, getDialect(), + start, end); + } + + cacheResult(list); + + FinderCacheUtil.putResult(FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE, + finderArgs, list); + } + catch (Exception e) { + FinderCacheUtil.removeResult(FINDER_PATH_WITH_PAGINATION_FIND_BY_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE, + finderArgs); + + throw processException(e); + } + finally { + closeSession(session); + } + } + + return list; + } + + /** + * Removes all the parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ? from the database. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @throws SystemException if a system exception occurred + */ + @Override + public void removeByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + Date dtCompilazione, Date dtAssegnazione, Date dtAnnullamento, + Date dtApprovazione) throws SystemException { + for (ParereGeologo parereGeologo : findByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + groupId, unitaOperativa, assegnatoreUserId, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione, + QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)) { + remove(parereGeologo); + } + } + + /** + * Returns the number of parere geologos where groupId = ? and unitaOperativa = ? and assegnatoreUserId = ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupId the group ID + * @param unitaOperativa the unita operativa + * @param assegnatoreUserId the assegnatore user ID + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @return the number of matching parere geologos + * @throws SystemException if a system exception occurred + */ + @Override + public int countByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long groupId, int unitaOperativa, long assegnatoreUserId, + Date dtCompilazione, Date dtAssegnazione, Date dtAnnullamento, + Date dtApprovazione) throws SystemException { + FinderPath finderPath = FINDER_PATH_WITH_PAGINATION_COUNT_BY_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE; + + Object[] finderArgs = new Object[] { + groupId, unitaOperativa, assegnatoreUserId, dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione + }; + + Long count = (Long)FinderCacheUtil.getResult(finderPath, finderArgs, + this); + + if (count == null) { + StringBundler query = new StringBundler(8); + + query.append(_SQL_COUNT_PAREREGEOLOGO_WHERE); + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_GROUPID_2); + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_UNITAOPERATIVA_2); + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_ASSEGNATOREUSERID_2); + + boolean bindDtCompilazione = false; + + if (dtCompilazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_1); + } + else { + bindDtCompilazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_2); + } + + boolean bindDtAssegnazione = false; + + if (dtAssegnazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_1); + } + else { + bindDtAssegnazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_2); + } + + boolean bindDtAnnullamento = false; + + if (dtAnnullamento == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_1); + } + else { + bindDtAnnullamento = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_2); + } + + boolean bindDtApprovazione = false; + + if (dtApprovazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_1); + } + else { + bindDtApprovazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_2); + } + + String sql = query.toString(); + + Session session = null; + + try { + session = openSession(); + + Query q = session.createQuery(sql); + + QueryPos qPos = QueryPos.getInstance(q); + + qPos.add(groupId); + + qPos.add(unitaOperativa); + + qPos.add(assegnatoreUserId); + + if (bindDtCompilazione) { + qPos.add(CalendarUtil.getTimestamp(dtCompilazione)); + } + + if (bindDtAssegnazione) { + qPos.add(CalendarUtil.getTimestamp(dtAssegnazione)); + } + + if (bindDtAnnullamento) { + qPos.add(CalendarUtil.getTimestamp(dtAnnullamento)); + } + + if (bindDtApprovazione) { + qPos.add(CalendarUtil.getTimestamp(dtApprovazione)); + } + + count = (Long)q.uniqueResult(); + + FinderCacheUtil.putResult(finderPath, finderArgs, count); + } + catch (Exception e) { + FinderCacheUtil.removeResult(finderPath, finderArgs); + + throw processException(e); + } + finally { + closeSession(session); + } + } + + return count.intValue(); + } + + /** + * Returns the number of parere geologos where groupId = any ? and unitaOperativa = any ? and assegnatoreUserId = any ? and dtCompilazione ≠ ? and dtAssegnazione ≠ ? and dtAnnullamento = ? and dtApprovazione ≠ ?. + * + * @param groupIds the group IDs + * @param unitaOperativas the unita operativas + * @param assegnatoreUserIds the assegnatore user IDs + * @param dtCompilazione the dt compilazione + * @param dtAssegnazione the dt assegnazione + * @param dtAnnullamento the dt annullamento + * @param dtApprovazione the dt approvazione + * @return the number of matching parere geologos + * @throws SystemException if a system exception occurred + */ + @Override + public int countByGroup_UnitaOperativa_Assegnatore_NotDtCompilazione_NotDtAssegnazione_DtAnnullamento_NotDtApprovazione( + long[] groupIds, int[] unitaOperativas, long[] assegnatoreUserIds, + Date dtCompilazione, Date dtAssegnazione, Date dtAnnullamento, + Date dtApprovazione) throws SystemException { + Object[] finderArgs = new Object[] { + StringUtil.merge(groupIds), StringUtil.merge(unitaOperativas), + StringUtil.merge(assegnatoreUserIds), dtCompilazione, + dtAssegnazione, dtAnnullamento, dtApprovazione + }; + + Long count = (Long)FinderCacheUtil.getResult(FINDER_PATH_WITH_PAGINATION_COUNT_BY_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE, + finderArgs, this); + + if (count == null) { + StringBundler query = new StringBundler(); + + query.append(_SQL_COUNT_PAREREGEOLOGO_WHERE); + + boolean conjunctionable = false; + + if ((groupIds == null) || (groupIds.length > 0)) { + if (conjunctionable) { + query.append(WHERE_AND); + } + + query.append(StringPool.OPEN_PARENTHESIS); + + for (int i = 0; i < groupIds.length; i++) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_GROUPID_5); + + if ((i + 1) < groupIds.length) { + query.append(WHERE_OR); + } + } + + query.append(StringPool.CLOSE_PARENTHESIS); + + conjunctionable = true; + } + + if ((unitaOperativas == null) || (unitaOperativas.length > 0)) { + if (conjunctionable) { + query.append(WHERE_AND); + } + + query.append(StringPool.OPEN_PARENTHESIS); + + for (int i = 0; i < unitaOperativas.length; i++) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_UNITAOPERATIVA_5); + + if ((i + 1) < unitaOperativas.length) { + query.append(WHERE_OR); + } + } + + query.append(StringPool.CLOSE_PARENTHESIS); + + conjunctionable = true; + } + + if ((assegnatoreUserIds == null) || + (assegnatoreUserIds.length > 0)) { + if (conjunctionable) { + query.append(WHERE_AND); + } + + query.append(StringPool.OPEN_PARENTHESIS); + + for (int i = 0; i < assegnatoreUserIds.length; i++) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_ASSEGNATOREUSERID_5); + + if ((i + 1) < assegnatoreUserIds.length) { + query.append(WHERE_OR); + } + } + + query.append(StringPool.CLOSE_PARENTHESIS); + + conjunctionable = true; + } + + if (conjunctionable) { + query.append(WHERE_AND); + } + + boolean bindDtCompilazione = false; + + if (dtCompilazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_4); + } + else { + bindDtCompilazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_5); + } + + conjunctionable = true; + + if (conjunctionable) { + query.append(WHERE_AND); + } + + boolean bindDtAssegnazione = false; + + if (dtAssegnazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_4); + } + else { + bindDtAssegnazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_5); + } + + conjunctionable = true; + + if (conjunctionable) { + query.append(WHERE_AND); + } + + boolean bindDtAnnullamento = false; + + if (dtAnnullamento == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_4); + } + else { + bindDtAnnullamento = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_5); + } + + conjunctionable = true; + + if (conjunctionable) { + query.append(WHERE_AND); + } + + boolean bindDtApprovazione = false; + + if (dtApprovazione == null) { + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_4); + } + else { + bindDtApprovazione = true; + + query.append(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_5); + } + + conjunctionable = true; + + String sql = query.toString(); + + Session session = null; + + try { + session = openSession(); + + Query q = session.createQuery(sql); + + QueryPos qPos = QueryPos.getInstance(q); + + if (groupIds != null) { + qPos.add(groupIds); + } + + if (unitaOperativas != null) { + qPos.add(unitaOperativas); + } + + if (assegnatoreUserIds != null) { + qPos.add(assegnatoreUserIds); + } + + if (bindDtCompilazione) { + qPos.add(CalendarUtil.getTimestamp(dtCompilazione)); + } + + if (bindDtAssegnazione) { + qPos.add(CalendarUtil.getTimestamp(dtAssegnazione)); + } + + if (bindDtAnnullamento) { + qPos.add(CalendarUtil.getTimestamp(dtAnnullamento)); + } + + if (bindDtApprovazione) { + qPos.add(CalendarUtil.getTimestamp(dtApprovazione)); + } + + count = (Long)q.uniqueResult(); + + FinderCacheUtil.putResult(FINDER_PATH_WITH_PAGINATION_COUNT_BY_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE, + finderArgs, count); + } + catch (Exception e) { + FinderCacheUtil.removeResult(FINDER_PATH_WITH_PAGINATION_COUNT_BY_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE, + finderArgs); + + throw processException(e); + } + finally { + closeSession(session); + } + } + + return count.intValue(); + } + + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_GROUPID_2 = + "parereGeologo.groupId = ? AND "; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_GROUPID_5 = + "(" + + removeConjunction(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_GROUPID_2) + + ")"; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_UNITAOPERATIVA_2 = + "parereGeologo.unitaOperativa = ? AND "; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_UNITAOPERATIVA_5 = + "(" + + removeConjunction(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_UNITAOPERATIVA_2) + + ")"; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_ASSEGNATOREUSERID_2 = + "parereGeologo.assegnatoreUserId = ? AND "; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_ASSEGNATOREUSERID_5 = + "(" + + removeConjunction(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_ASSEGNATOREUSERID_2) + + ")"; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_1 = + "parereGeologo.dtCompilazione IS NOT NULL AND "; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_2 = + "parereGeologo.dtCompilazione != ? AND "; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_4 = + "(" + + removeConjunction(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_1) + + ")"; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_5 = + "(" + + removeConjunction(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTCOMPILAZIONE_2) + + ")"; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_1 = + "parereGeologo.dtAssegnazione IS NOT NULL AND "; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_2 = + "parereGeologo.dtAssegnazione != ? AND "; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_4 = + "(" + + removeConjunction(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_1) + + ")"; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_5 = + "(" + + removeConjunction(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTASSEGNAZIONE_2) + + ")"; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_1 = + "parereGeologo.dtAnnullamento IS NULL AND "; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_2 = + "parereGeologo.dtAnnullamento = ? AND "; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_4 = + "(" + + removeConjunction(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_1) + + ")"; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_5 = + "(" + + removeConjunction(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTANNULLAMENTO_2) + + ")"; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_1 = + "parereGeologo.dtApprovazione IS NOT NULL"; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_2 = + "parereGeologo.dtApprovazione != ?"; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_4 = + "(" + + removeConjunction(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_1) + + ")"; + private static final String _FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_5 = + "(" + + removeConjunction(_FINDER_COLUMN_GROUP_UNITAOPERATIVA_ASSEGNATORE_NOTDTCOMPILAZIONE_NOTDTASSEGNAZIONE_DTANNULLAMENTO_NOTDTAPPROVAZIONE_DTAPPROVAZIONE_2) + + ")"; public ParereGeologoPersistenceImpl() { setModelClass(ParereGeologo.class); diff --git a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties index 534156e8..6a0b4043 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties +++ b/liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties @@ -13,8 +13,8 @@ ## build.namespace=portos_bo - build.number=3655 - build.date=1681487857951 + build.number=3659 + build.date=1682088644625 build.auto.upgrade=true ## diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/lib/portos-bo-portlet-service.jar b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/lib/portos-bo-portlet-service.jar index 97057930ffba7cc7f4b9ffd716644e648a14dc61..ab6c53d2a3752af7dd6b4b09cd41d095dadf52ab 100644 GIT binary patch delta 39136 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 w9vwrA8P6U{V!8- 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 Ee+gLA#{d8T diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/pareregeologo/actions.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/pareregeologo/actions.jsp index 9e8b6998..c15a035f 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/pareregeologo/actions.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/pareregeologo/actions.jsp @@ -66,7 +66,7 @@ if (searchContainer != null) { url="<%= downloadUrl %>" /> - + <% String buttonId = "buttonIdApprovaParere_" + parereId; %> diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/pareregeologo/init.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/pareregeologo/init.jsp index 071f2011..3ce96346 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/pareregeologo/init.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/pareregeologo/init.jsp @@ -43,7 +43,7 @@ int countForniti = 0; } sb.append(",Pareri approvati"); // FIXME completare implementando il service per countByUserApprovati - countApprovati = ParereGeologoLocalServiceUtil.countFindWithParereByGeologoIdAndApprovazione(user.getUserId(), true); + countApprovati = ParereGeologoLocalServiceUtil.countByUserApprovati(user); if (countApprovati > 0) { sb.append(" (").append(countApprovati).append(")"); } diff --git a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/pareregeologo/pareriapprovati.jsp b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/pareregeologo/pareriapprovati.jsp index dfe30c4f..cbcb1452 100644 --- a/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/pareregeologo/pareriapprovati.jsp +++ b/liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/pareregeologo/pareriapprovati.jsp @@ -23,7 +23,7 @@ <% - List lista = ParereGeologoLocalServiceUtil.findWithParereByGeologoIdAndApprovazione(user.getUserId(), true, searchContainer.getStart(), + List lista = ParereGeologoLocalServiceUtil.findByUserApprovati(user, searchContainer.getStart(), searchContainer.getEnd()); searchContainer.setTotal(countApprovati); pageContext.setAttribute("results", lista);