Sfoglia il codice sorgente

Fix Post Http per patch di sicurezza

master
Salvatore La Manna 4 anni fa
parent
commit
32f978262d
  1. 1
      liferay-plugins-sdk-6.2/portlets/portos-autodestroy-portlet/docroot/WEB-INF/.gitignore
  2. BIN
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpcore-4.4.6.jar
  3. BIN
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpmime-4.5.3.jar
  4. 1
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service.xml
  5. 47
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/DettPraticaClp.java
  6. 16
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/DettPraticaModel.java
  7. 11
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/DettPraticaSoap.java
  8. 30
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/DettPraticaWrapper.java
  9. 22
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalService.java
  10. 602
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceClp.java
  11. 26
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceUtil.java
  12. 29
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceWrapper.java
  13. 5
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/AzioniPraticheUtil.java
  14. 65
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/DocumentiPraticaUtil.java
  15. 3
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/SoggettiUtil.java
  16. 124
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java
  17. 1
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/tables.sql
  18. 1
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml
  19. 1
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml
  20. 1
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml
  21. 4
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/content/Portal.properties
  22. 5
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/startup/DatabaseUpdateAction.java
  23. 92
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/SismicaUtil.java
  24. 237
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/SorteggioPraticaUtil.java
  25. 7
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/indexer/ControlloPraticaIndexer.java
  26. 2
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/AsseverazioneImpl.java
  27. 20
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/DettPraticaCacheModel.java
  28. 51
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/DettPraticaModelImpl.java
  29. 55
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerEstrazioneFirme.java
  30. 23
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerGeneraDocumento.java
  31. 584
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/IntPraticaLocalServiceClpInvoker.java
  32. 2
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/AsseverazioneLocalServiceImpl.java
  33. 8
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/AvvisoLocalServiceImpl.java
  34. 48
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaLocalServiceImpl.java
  35. 96
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java
  36. 1
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java
  37. 6
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/util/ProtocollazioneUtil.java
  38. 4
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties
  39. 8
      liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/portlet/FascicoloFePortlet.java
  40. 1321
      liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/portlet/SoggettiPraticaPortlet.java
  41. 6
      liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/view.jsp
  42. 8
      liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/navigator/domanda/page_dettagli_principali.jsp
  43. 28
      liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/soggettipratica/edit_soggetto.jsp
  44. 30
      liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/soggettipratica/view.jsp
  45. 181
      liferay-plugins-sdk-6.2/portlets/portos-report-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/report/messaging/ReportMessageListener.java
  46. 146
      liferay-plugins-sdk-6.2/portlets/portos-report-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/report/messaging/ReportTaskMessageListener.java
  47. 4
      liferay-plugins-sdk-6.2/portlets/portos-report-portlet/docroot/WEB-INF/src/service.properties
  48. 9
      liferay-plugins-sdk-6.2/shared/portos-bo-shared/src/it/tref/liferay/portos/bo/shared/util/Constants.java
  49. 3
      liferay-plugins-sdk-6.2/shared/portos-report-shared/src/it/tref/liferay/portos/report/shared/util/ReportUtil.java

1
liferay-plugins-sdk-6.2/portlets/portos-autodestroy-portlet/docroot/WEB-INF/.gitignore vendored

@ -0,0 +1 @@
/classes/

BIN
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpcore-4.4.6.jar

File binario non mostrato.

BIN
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/lib/httpmime-4.5.3.jar

File binario non mostrato.

1
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service.xml

@ -457,6 +457,7 @@
<column name="codiceFiscalePrincipaleDirettoreLavori" type="String" />
<column name="codiceFiscalePrincipaleDitta" type="String" />
<column name="codiceFiscalePrincipaleGeologo" type="String" />
<column name="codiceFiscalePrincipaleArcheologo" type="String" />
<column name="lavoriInEconomiaCommittente" type="boolean" />
<column name="inizioLavoriContestualeOpera" type="boolean" />

47
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/DettPraticaClp.java

@ -148,6 +148,8 @@ public class DettPraticaClp extends BaseModelImpl<DettPratica>
getCodiceFiscalePrincipaleDitta());
attributes.put("codiceFiscalePrincipaleGeologo",
getCodiceFiscalePrincipaleGeologo());
attributes.put("codiceFiscalePrincipaleArcheologo",
getCodiceFiscalePrincipaleArcheologo());
attributes.put("lavoriInEconomiaCommittente",
getLavoriInEconomiaCommittente());
attributes.put("inizioLavoriContestualeOpera",
@ -781,6 +783,13 @@ public class DettPraticaClp extends BaseModelImpl<DettPratica>
setCodiceFiscalePrincipaleGeologo(codiceFiscalePrincipaleGeologo);
}
String codiceFiscalePrincipaleArcheologo = (String)attributes.get(
"codiceFiscalePrincipaleArcheologo");
if (codiceFiscalePrincipaleArcheologo != null) {
setCodiceFiscalePrincipaleArcheologo(codiceFiscalePrincipaleArcheologo);
}
Boolean lavoriInEconomiaCommittente = (Boolean)attributes.get(
"lavoriInEconomiaCommittente");
@ -3547,6 +3556,32 @@ public class DettPraticaClp extends BaseModelImpl<DettPratica>
}
}
@Override
public String getCodiceFiscalePrincipaleArcheologo() {
return _codiceFiscalePrincipaleArcheologo;
}
@Override
public void setCodiceFiscalePrincipaleArcheologo(
String codiceFiscalePrincipaleArcheologo) {
_codiceFiscalePrincipaleArcheologo = codiceFiscalePrincipaleArcheologo;
if (_dettPraticaRemoteModel != null) {
try {
Class<?> clazz = _dettPraticaRemoteModel.getClass();
Method method = clazz.getMethod("setCodiceFiscalePrincipaleArcheologo",
String.class);
method.invoke(_dettPraticaRemoteModel,
codiceFiscalePrincipaleArcheologo);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public boolean getLavoriInEconomiaCommittente() {
return _lavoriInEconomiaCommittente;
@ -8952,6 +8987,7 @@ public class DettPraticaClp extends BaseModelImpl<DettPratica>
clone.setCodiceFiscalePrincipaleDirettoreLavori(getCodiceFiscalePrincipaleDirettoreLavori());
clone.setCodiceFiscalePrincipaleDitta(getCodiceFiscalePrincipaleDitta());
clone.setCodiceFiscalePrincipaleGeologo(getCodiceFiscalePrincipaleGeologo());
clone.setCodiceFiscalePrincipaleArcheologo(getCodiceFiscalePrincipaleArcheologo());
clone.setLavoriInEconomiaCommittente(getLavoriInEconomiaCommittente());
clone.setInizioLavoriContestualeOpera(getInizioLavoriContestualeOpera());
clone.setDataInizioLavoriOpera(getDataInizioLavoriOpera());
@ -9191,7 +9227,7 @@ public class DettPraticaClp extends BaseModelImpl<DettPratica>
@Override
public String toString() {
StringBundler sb = new StringBundler(499);
StringBundler sb = new StringBundler(501);
sb.append("{uuid=");
sb.append(getUuid());
@ -9317,6 +9353,8 @@ public class DettPraticaClp extends BaseModelImpl<DettPratica>
sb.append(getCodiceFiscalePrincipaleDitta());
sb.append(", codiceFiscalePrincipaleGeologo=");
sb.append(getCodiceFiscalePrincipaleGeologo());
sb.append(", codiceFiscalePrincipaleArcheologo=");
sb.append(getCodiceFiscalePrincipaleArcheologo());
sb.append(", lavoriInEconomiaCommittente=");
sb.append(getLavoriInEconomiaCommittente());
sb.append(", inizioLavoriContestualeOpera=");
@ -9698,7 +9736,7 @@ public class DettPraticaClp extends BaseModelImpl<DettPratica>
@Override
public String toXmlString() {
StringBundler sb = new StringBundler(751);
StringBundler sb = new StringBundler(754);
sb.append("<model><model-name>");
sb.append("it.tref.liferay.portos.bo.model.DettPratica");
@ -9952,6 +9990,10 @@ public class DettPraticaClp extends BaseModelImpl<DettPratica>
"<column><column-name>codiceFiscalePrincipaleGeologo</column-name><column-value><![CDATA[");
sb.append(getCodiceFiscalePrincipaleGeologo());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>codiceFiscalePrincipaleArcheologo</column-name><column-value><![CDATA[");
sb.append(getCodiceFiscalePrincipaleArcheologo());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>lavoriInEconomiaCommittente</column-name><column-value><![CDATA[");
sb.append(getLavoriInEconomiaCommittente());
@ -10770,6 +10812,7 @@ public class DettPraticaClp extends BaseModelImpl<DettPratica>
private String _codiceFiscalePrincipaleDirettoreLavori;
private String _codiceFiscalePrincipaleDitta;
private String _codiceFiscalePrincipaleGeologo;
private String _codiceFiscalePrincipaleArcheologo;
private boolean _lavoriInEconomiaCommittente;
private boolean _inizioLavoriContestualeOpera;
private Date _dataInizioLavoriOpera;

16
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/DettPraticaModel.java

@ -1086,6 +1086,22 @@ public interface DettPraticaModel extends BaseModel<DettPratica>,
public void setCodiceFiscalePrincipaleGeologo(
String codiceFiscalePrincipaleGeologo);
/**
* Returns the codice fiscale principale archeologo of this dett pratica.
*
* @return the codice fiscale principale archeologo of this dett pratica
*/
@AutoEscape
public String getCodiceFiscalePrincipaleArcheologo();
/**
* Sets the codice fiscale principale archeologo of this dett pratica.
*
* @param codiceFiscalePrincipaleArcheologo the codice fiscale principale archeologo of this dett pratica
*/
public void setCodiceFiscalePrincipaleArcheologo(
String codiceFiscalePrincipaleArcheologo);
/**
* Returns the lavori in economia committente of this dett pratica.
*

11
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/DettPraticaSoap.java

@ -93,6 +93,7 @@ public class DettPraticaSoap implements Serializable {
soapModel.setCodiceFiscalePrincipaleDirettoreLavori(model.getCodiceFiscalePrincipaleDirettoreLavori());
soapModel.setCodiceFiscalePrincipaleDitta(model.getCodiceFiscalePrincipaleDitta());
soapModel.setCodiceFiscalePrincipaleGeologo(model.getCodiceFiscalePrincipaleGeologo());
soapModel.setCodiceFiscalePrincipaleArcheologo(model.getCodiceFiscalePrincipaleArcheologo());
soapModel.setLavoriInEconomiaCommittente(model.getLavoriInEconomiaCommittente());
soapModel.setInizioLavoriContestualeOpera(model.getInizioLavoriContestualeOpera());
soapModel.setDataInizioLavoriOpera(model.getDataInizioLavoriOpera());
@ -869,6 +870,15 @@ public class DettPraticaSoap implements Serializable {
_codiceFiscalePrincipaleGeologo = codiceFiscalePrincipaleGeologo;
}
public String getCodiceFiscalePrincipaleArcheologo() {
return _codiceFiscalePrincipaleArcheologo;
}
public void setCodiceFiscalePrincipaleArcheologo(
String codiceFiscalePrincipaleArcheologo) {
_codiceFiscalePrincipaleArcheologo = codiceFiscalePrincipaleArcheologo;
}
public boolean getLavoriInEconomiaCommittente() {
return _lavoriInEconomiaCommittente;
}
@ -2907,6 +2917,7 @@ public class DettPraticaSoap implements Serializable {
private String _codiceFiscalePrincipaleDirettoreLavori;
private String _codiceFiscalePrincipaleDitta;
private String _codiceFiscalePrincipaleGeologo;
private String _codiceFiscalePrincipaleArcheologo;
private boolean _lavoriInEconomiaCommittente;
private boolean _inizioLavoriContestualeOpera;
private Date _dataInizioLavoriOpera;

30
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/model/DettPraticaWrapper.java

@ -122,6 +122,8 @@ public class DettPraticaWrapper implements DettPratica,
getCodiceFiscalePrincipaleDitta());
attributes.put("codiceFiscalePrincipaleGeologo",
getCodiceFiscalePrincipaleGeologo());
attributes.put("codiceFiscalePrincipaleArcheologo",
getCodiceFiscalePrincipaleArcheologo());
attributes.put("lavoriInEconomiaCommittente",
getLavoriInEconomiaCommittente());
attributes.put("inizioLavoriContestualeOpera",
@ -755,6 +757,13 @@ public class DettPraticaWrapper implements DettPratica,
setCodiceFiscalePrincipaleGeologo(codiceFiscalePrincipaleGeologo);
}
String codiceFiscalePrincipaleArcheologo = (String)attributes.get(
"codiceFiscalePrincipaleArcheologo");
if (codiceFiscalePrincipaleArcheologo != null) {
setCodiceFiscalePrincipaleArcheologo(codiceFiscalePrincipaleArcheologo);
}
Boolean lavoriInEconomiaCommittente = (Boolean)attributes.get(
"lavoriInEconomiaCommittente");
@ -3378,6 +3387,27 @@ public class DettPraticaWrapper implements DettPratica,
_dettPratica.setCodiceFiscalePrincipaleGeologo(codiceFiscalePrincipaleGeologo);
}
/**
* Returns the codice fiscale principale archeologo of this dett pratica.
*
* @return the codice fiscale principale archeologo of this dett pratica
*/
@Override
public java.lang.String getCodiceFiscalePrincipaleArcheologo() {
return _dettPratica.getCodiceFiscalePrincipaleArcheologo();
}
/**
* Sets the codice fiscale principale archeologo of this dett pratica.
*
* @param codiceFiscalePrincipaleArcheologo the codice fiscale principale archeologo of this dett pratica
*/
@Override
public void setCodiceFiscalePrincipaleArcheologo(
java.lang.String codiceFiscalePrincipaleArcheologo) {
_dettPratica.setCodiceFiscalePrincipaleArcheologo(codiceFiscalePrincipaleArcheologo);
}
/**
* Returns the lavori in economia committente of this dett pratica.
*

22
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalService.java

@ -317,28 +317,6 @@ public interface IntPraticaLocalService extends BaseLocalService,
java.lang.String[] parameterTypes, java.lang.Object[] arguments)
throws java.lang.Throwable;
/**
* Restituisce la lista di pratiche da sottoporre a sorteggio suddivisa per
* codice provincia. Modificata secondo il D.D.G. 334/2020
*
* @author Manifattura Web Group per Regione Siciliana.
*/
public java.util.Map<java.lang.String, java.util.List<it.tref.liferay.portos.bo.model.IntPratica>> findSorteggiabiliNew(
long companyId, java.util.Date dtSorteggio)
throws com.liferay.portal.kernel.exception.PortalException,
com.liferay.portal.kernel.exception.SystemException;
/**
* Restituisce la lista di pratiche da sottoporre a sorteggio suddivisa per
* codice provincia.
*
* @author Manifattura Web Group per Regione Siciliana.
*/
public java.util.Map<java.lang.String, java.util.List<it.tref.liferay.portos.bo.model.IntPratica>> findSorteggiabili(
long companyId, java.util.Date dtSorteggio)
throws com.liferay.portal.kernel.exception.PortalException,
com.liferay.portal.kernel.exception.SystemException;
public it.tref.liferay.portos.bo.model.IntPratica addIntPratica(
long territorioId, java.lang.String tipoProcedura,
com.liferay.portal.service.ServiceContext serviceContext)

602
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceClp.java

File diff soppresso perché troppo grande Load Diff

26
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceUtil.java

@ -342,32 +342,6 @@ public class IntPraticaLocalServiceUtil {
return getService().invokeMethod(name, parameterTypes, arguments);
}
/**
* Restituisce la lista di pratiche da sottoporre a sorteggio suddivisa per
* codice provincia. Modificata secondo il D.D.G. 334/2020
*
* @author Manifattura Web Group per Regione Siciliana.
*/
public static java.util.Map<java.lang.String, java.util.List<it.tref.liferay.portos.bo.model.IntPratica>> findSorteggiabiliNew(
long companyId, java.util.Date dtSorteggio)
throws com.liferay.portal.kernel.exception.PortalException,
com.liferay.portal.kernel.exception.SystemException {
return getService().findSorteggiabiliNew(companyId, dtSorteggio);
}
/**
* Restituisce la lista di pratiche da sottoporre a sorteggio suddivisa per
* codice provincia.
*
* @author Manifattura Web Group per Regione Siciliana.
*/
public static java.util.Map<java.lang.String, java.util.List<it.tref.liferay.portos.bo.model.IntPratica>> findSorteggiabili(
long companyId, java.util.Date dtSorteggio)
throws com.liferay.portal.kernel.exception.PortalException,
com.liferay.portal.kernel.exception.SystemException {
return getService().findSorteggiabili(companyId, dtSorteggio);
}
public static it.tref.liferay.portos.bo.model.IntPratica addIntPratica(
long territorioId, java.lang.String tipoProcedura,
com.liferay.portal.service.ServiceContext serviceContext)

29
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceWrapper.java

@ -362,35 +362,6 @@ public class IntPraticaLocalServiceWrapper implements IntPraticaLocalService,
arguments);
}
/**
* Restituisce la lista di pratiche da sottoporre a sorteggio suddivisa per
* codice provincia. Modificata secondo il D.D.G. 334/2020
*
* @author Manifattura Web Group per Regione Siciliana.
*/
@Override
public java.util.Map<java.lang.String, java.util.List<it.tref.liferay.portos.bo.model.IntPratica>> findSorteggiabiliNew(
long companyId, java.util.Date dtSorteggio)
throws com.liferay.portal.kernel.exception.PortalException,
com.liferay.portal.kernel.exception.SystemException {
return _intPraticaLocalService.findSorteggiabiliNew(companyId,
dtSorteggio);
}
/**
* Restituisce la lista di pratiche da sottoporre a sorteggio suddivisa per
* codice provincia.
*
* @author Manifattura Web Group per Regione Siciliana.
*/
@Override
public java.util.Map<java.lang.String, java.util.List<it.tref.liferay.portos.bo.model.IntPratica>> findSorteggiabili(
long companyId, java.util.Date dtSorteggio)
throws com.liferay.portal.kernel.exception.PortalException,
com.liferay.portal.kernel.exception.SystemException {
return _intPraticaLocalService.findSorteggiabili(companyId, dtSorteggio);
}
@Override
public it.tref.liferay.portos.bo.model.IntPratica addIntPratica(
long territorioId, java.lang.String tipoProcedura,

5
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/AzioniPraticheUtil.java

@ -275,11 +275,6 @@ public class AzioniPraticheUtil {
return intPratica.getTipoPratica().equalsIgnoreCase(Constants.TIPO_PRATICA_AUTORIZZAZIONE);
}
public static boolean isSorteggio(long intPraticaId) throws PortalException, SystemException {
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId);
return intPratica.getTipoProcedura().equalsIgnoreCase(Constants.PROCEDURA_B1);
}
//ADT BUG ID = 7
public static boolean canAddVariazioneSoggetti(long intPraticaId) throws PortalException, SystemException{
IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(intPraticaId);

65
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/DocumentiPraticaUtil.java

@ -71,26 +71,12 @@ public class DocumentiPraticaUtil {
public static List<String> getDocObbligatori() {
List<String> docObbligatori = new ArrayList<String>();
docObbligatori.add(TIPOLOGIA_ALLEGATO_A02);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A03);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A04);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A08);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A09);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A10);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A13);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A15);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A17);
docObbligatori.add(TIPOLOGIA_ALLEGATO_DELEGA);
return docObbligatori;
}
public static List<String> getDocObbligatoriCheck() {
List<String> docObbligatoriCheck = new ArrayList<String>();
// docObbligatoriCheck.add(TIPOLOGIA_ALLEGATO_A05);
docObbligatoriCheck.add(TIPOLOGIA_ALLEGATO_A09);
return docObbligatoriCheck;
}
public static List<String> getDocDomanda() {
@ -131,17 +117,11 @@ public class DocumentiPraticaUtil {
switch (intPratica.getTipoProcedura()) {
case Constants.PROCEDURA_P1:
docObbligatori.add(TIPOLOGIA_ALLEGATO_A02);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A03);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A09);
break;
case Constants.PROCEDURA_P2:
case Constants.PROCEDURA_P3:
docObbligatori.add(TIPOLOGIA_ALLEGATO_A01);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A02);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A03);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A09);
break;
case Constants.PROCEDURA_P3:
break;
case Constants.PROCEDURA_P4:
case Constants.PROCEDURA_P5:
@ -151,36 +131,38 @@ public class DocumentiPraticaUtil {
docObbligatori.add(TIPOLOGIA_ALLEGATO_A02);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A03);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A09);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A10);
if (dettPratica.getTcInterventoOpereEscavazione()) {
docObbligatori.add(TIPOLOGIA_ALLEGATO_A10);
}
docObbligatori.add(TIPOLOGIA_ALLEGATO_A11);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A12);
if (dettPratica.getTcViarch()) {
docObbligatori.add(TIPOLOGIA_ALLEGATO_A24);
}
if (dettPratica.getTcOperaA25()) {
docObbligatori.add(TIPOLOGIA_ALLEGATO_A25);
}
if (dettPratica.getTcCostruzioniEsistenti() || dettPratica.getTcNuovaCostruzionePertinenza()) {
docObbligatori.add(TIPOLOGIA_ALLEGATO_A26);
}
if (dettPratica.getNoCollaudo()) {
docObbligatori.add(TIPOLOGIA_ALLEGATO_A27);
}
break;
case Constants.PROCEDURA_P8:
docObbligatori.add(TIPOLOGIA_ALLEGATO_A01);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A02);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A03);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A09);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A12);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A15);
break;
case Constants.PROCEDURA_P9:
docObbligatori.add(TIPOLOGIA_ALLEGATO_A01);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A02);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A03);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A09);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A12);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A16);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A17);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A18);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A19);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A20);
docObbligatori.add(TIPOLOGIA_ALLEGATO_A21);
break;
case Constants.PROCEDURA_P9:
case Constants.PROCEDURA_P10:
docObbligatori.add(TIPOLOGIA_ALLEGATO_A12);
break;
}
return docObbligatori;
}
@ -208,7 +190,6 @@ public class DocumentiPraticaUtil {
doc.add(TIPOLOGIA_ALLEGATO_GEOLOGO_ALTRO);
doc.add(TIPOLOGIA_ALLEGATO_GEOLOGO_VARIE);
return doc;
}
public static List<String> getIndaginiGeologiche() {
@ -230,22 +211,11 @@ public class DocumentiPraticaUtil {
doc.add(TIPOLOGIA_ALLEGATO_GEOLOGO_ARCHIVIO);
doc.add(TIPOLOGIA_ALLEGATO_GEOLOGO_ALTRO);
return doc;
}
public static List<String> getDocUnivoci() {
List<String> doc = new ArrayList<String>();
// doc.add(TIPOLOGIA_ALLEGATO_A06);
// doc.add(TIPOLOGIA_ALLEGATO_A07);
// doc.add(TIPOLOGIA_ALLEGATO_A14);
// doc.add(TIPOLOGIA_ALLEGATO_A00);
doc.add(TIPOLOGIA_ALLEGATO_A01);
doc.add(TIPOLOGIA_ALLEGATO_A11);
doc.add(TIPOLOGIA_ALLEGATO_A12);
doc.add(TIPOLOGIA_ALLEGATO_A13);
doc.add(TIPOLOGIA_ALLEGATO_GEOLOGO_CAROTAGGIO);
doc.add(TIPOLOGIA_ALLEGATO_GEOLOGO_LABORATORIO);
doc.add(TIPOLOGIA_ALLEGATO_GEOLOGO_CPT);
@ -277,7 +247,6 @@ public class DocumentiPraticaUtil {
doc.add(TIPOLOGIA_DOCUMENTAZIONE_ALTRA_FINE_LAVORI);
return doc;
}
public static List<String> getDocObbligatoriFineLavori() {

3
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/SoggettiUtil.java

@ -151,6 +151,9 @@ public class SoggettiUtil {
case TipoSoggettoUtil.DITTA:
return codiceFiscale.equalsIgnoreCase(dettPratica.getCodiceFiscalePrincipaleDitta());
case TipoSoggettoUtil.ARCHEOLOGO:
return codiceFiscale.equalsIgnoreCase(dettPratica.getCodiceFiscalePrincipaleArcheologo());
default:
return false;

124
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/util/ValidazionePraticaUtil.java

@ -32,10 +32,13 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import com.liferay.portal.kernel.dao.orm.QueryUtil;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
@ -52,7 +55,9 @@ import com.liferay.portal.kernel.util.UniqueList;
import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.kernel.workflow.WorkflowConstants;
import com.liferay.portal.model.Company;
import com.liferay.portal.model.User;
import com.liferay.portal.service.CompanyLocalServiceUtil;
import com.liferay.portal.service.UserLocalServiceUtil;
public class ValidazionePraticaUtil {
@ -446,7 +451,7 @@ public class ValidazionePraticaUtil {
case SezioniUtil.SEZIONE_ALLEGATI:
return notCompletedSezioneAllegati(dettPraticaId);
default:
return new ArrayList<String>();
return Collections.emptyList();
}
}
@ -479,18 +484,6 @@ public class ValidazionePraticaUtil {
notCompleted.add("ag");
}
/*
* boolean aiSensi =
* AzioniPraticheUtil.isDeposito(intPratica.getIntPraticaId()) ?
* (dettPratica .getNormDpr01Dep() || dettPratica.getNormDpr02Dep()) :
* (dettPratica.getNormDpr01Aut() || dettPratica.getNormDpr02Aut()); if
* (!aiSensi) { notCompleted.add("at-least-aiSensi"); }
*
* boolean nelRispetto = dettPratica.getNormDm01() ||
* dettPratica.getNormDm02() || dettPratica.getNormDm2018(); if
* (!nelRispetto) { notCompleted.add("at-least-nelRispetto"); }
*/
if (dettPratica.getNormSismaBonus() && Validator.isNull(dettPratica.getClRischioPreInt())
&& Validator.isNull(dettPratica.getClRischioPostInt())) {
if (Validator.isNull(dettPratica.getClRischioPreInt())) {
@ -509,37 +502,27 @@ public class ValidazionePraticaUtil {
notCompleted.add("desc-long-intervento");
}
if (!(dettPratica.getTcNuovaCostruzione() || dettPratica.getTcMiglioramentoSismico()
|| dettPratica.getTcAdeguamentoSismico() || dettPratica.getTcRiparazioneInterventoLocale())) {
if (!(dettPratica.getTcNuovaCostruzione() || dettPratica.getTcNuovaCostruzionePertinenza()
|| dettPratica.getTcCostruzioniEsistenti() || dettPratica.getTcManutOrdStraord()
|| dettPratica.getTcInterventoOpereEscavazione() || dettPratica.getTcViarch()
|| dettPratica.getTcOperaA25() || dettPratica.getTcAltriInterventi())) {
notCompleted.add("fascicolo_title_intervento");
}
if (Validator.isNull(dettPratica.getDestinazione())) {
notCompleted.add("destinazione");
}
// if( Validator.isNull(dettPratica.getLocalita()) ){
// notCompleted.add("localita");}
if (Validator.isNull(dettPratica.getVia())) {
notCompleted.add("via");
}
// if (Validator.isNull(dettPratica.getDcFoglio())) {
// notCompleted.add("dc-foglio");
// }
// if (Validator.isNull(dettPratica.getDcAllegato())) {
// notCompleted.add("dp-allegato");
// }
// if (!(Validator.isNotNull(dettPratica.getDcParticelle()) &&
// !"|||".equalsIgnoreCase(dettPratica.getDcParticelle()))) {
// notCompleted.add("dp-particelle");
// }
if (Validator.isNull(dettPratica.getLocalizzazioneGeografica())
|| dettPratica.getLocalizzazioneGeografica().startsWith("||")) {
notCompleted.add("Localizzazione geografica mancante");
}
// ADT BUG ID = 17
boolean tipologiaCostruttiva = intPratica.getTipoProcedura().equalsIgnoreCase(Constants.PROCEDURA_C)
|| dettPratica.getTcInCA() || dettPratica.getTcInAcciaio() || dettPratica.getTcInMuratura()
boolean tipologiaCostruttiva = dettPratica.getDestinazione().equals("3") || dettPratica.getTcInCA()
|| dettPratica.getTcInAcciaio() || dettPratica.getTcInMuratura()
|| dettPratica.getTcInLegno() || dettPratica.getTcAltro();
if (!tipologiaCostruttiva) {
notCompleted.add("Tipologia Costruttiva Mancante");
@ -591,7 +574,7 @@ public class ValidazionePraticaUtil {
&& !dettPratica.getTcNuovaCostruzione() && !dettPratica.getTcAdeguamentoSismico()
&& !dettPratica.getTcMiglioramentoSismico();
boolean collaudatoreNotRequired = dettPratica.getCollaudoStatico() || dettPratica.getLavoriPubblici()
|| isRiparazioneLocale;
|| dettPratica.getNoCollaudo() || isRiparazioneLocale;
boolean direttoreLavoriNotRequired = dettPratica.getLavoriPubblici();
boolean dittaNotRequired = dettPratica.getNormLavoriInProprio() || dettPratica.getLavoriPubblici();
@ -709,6 +692,12 @@ public class ValidazionePraticaUtil {
DettPratica dettPratica = DettPraticaServiceUtil.getDettPratica(dettPraticaId);
List<String> notCompleted = new ArrayList<>();
// Se in "Dettagli/Destinazione" è selezionato "altri interventi"
// rendere non obbligatoria la compilazione della sezione
// "descrizione interventi"
if (dettPratica.getDestinazione().equals("3")) {
return notCompleted;
}
List<String> infrastrutture = Arrays.asList("1A", "2A", "A4A", "A4B", "A4C", "A4D", "A4E", "A4F",
"A5A", "B4A", "B4B", "B4C", "B5A");
// se infrastruttura controllo solo DATI INFRASTRUTTURA
@ -858,6 +847,27 @@ public class ValidazionePraticaUtil {
notCompleted.addAll(notCompletedDatiSezionGeologica(dettPraticaId));
String pericolositaGeomorfica = dettPratica.getGeoPericolositaGeomorfica();
String rischioGeomorfologico = dettPratica.getGeoRischioGeomorfologicoPai();
// Se nuova costruzione e sia pericolosita che rischio sono uguali a
// "non presente"
if (dettPratica.getTcNuovaCostruzione() && Validator.isNotNull(pericolositaGeomorfica)
&& pericolositaGeomorfica.equalsIgnoreCase("NA")
&& Validator.isNotNull(rischioGeomorfologico) && rischioGeomorfologico.equalsIgnoreCase("NA")) {
notCompleted.add("Nessun allegato per "
+ LanguageUtil.get(LocaleUtil.getDefault(), "label-documenti-tipologia-A22"));
}
// Se nuova costruzione e almeno uno tra pericolosita e rischio sono
// diversi da "non presente"
if (dettPratica.getTcNuovaCostruzione()
&& ((Validator.isNotNull(pericolositaGeomorfica) && !pericolositaGeomorfica
.equalsIgnoreCase("NA")) || (Validator.isNotNull(rischioGeomorfologico) && !rischioGeomorfologico
.equalsIgnoreCase("NA")))) {
notCompleted.add("Nessun allegato per "
+ LanguageUtil.get(LocaleUtil.getDefault(), "label-documenti-tipologia-A23"));
}
return notCompleted;
}
@ -992,31 +1002,48 @@ public class ValidazionePraticaUtil {
IntPratica intPratica = IntPraticaServiceUtil.getIntPratica(intPraticaId);
List<String> docObbligatori = DocumentiPraticaUtil.getDocObbligatoriDomanda(intPratica, dettPratica);
List<Soggetto> soggetti = SoggettoLocalServiceUtil.getValidTmpByDettPratica(dettPraticaId);
String cfTitolare = intPratica.getUserName();
for (String docObbligatorio : docObbligatori) {
List<DocPratica> docs = DocPraticaLocalServiceUtil.getValidTmpByIntPratica_Tipologia(
intPraticaId, docObbligatorio, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
if (docs.isEmpty()) {
notCompleted.add("Nessun Allegato per "
notCompleted.add("Nessun allegato per "
+ LanguageUtil.get(LocaleUtil.getDefault(), "label-documenti-tipologia-"
+ docObbligatorio));
} else {
List<String> firmeMancanti = new UniqueList<>();
for (DocPratica doc : docs) {
List<String> firmeObbligatorie = getFirmeObbligatorie(docObbligatorio);
FirmeBean firmeBean = FirmeUtil.deserialize(doc.getJsonFirmatari());
List<String> firmePresenti = firmeBean.allSignatures();
List<String> firmeObbligatorie = getFirmeObbligatorie(docObbligatorio);
List<Soggetto> soggetti = SoggettoLocalServiceUtil
.getValidTmpByDettPratica(dettPraticaId);
for (Soggetto soggetto : soggetti) {
if (firmePresenti.contains(soggetto.getCodiceFiscale().toLowerCase())) {
firmeObbligatorie.remove(soggetto.getTipologiaSoggetto());
}
}
if (firmePresenti.contains(cfTitolare)) {
firmeObbligatorie.remove(TipoSoggettoUtil.TITOLARE_DIGITALE);
}
for (String firma:firmeObbligatorie) {
firmeMancanti.add(firma);
}
}
if (!firmeObbligatorie.isEmpty()) {
if (!firmeMancanti.isEmpty()) {
List<String> tipologieMancanti = new ArrayList<>();
for (String firmaMancante : firmeMancanti) {
tipologieMancanti.add(LanguageUtil.get(Locale.getDefault(), "gc-soggetto-"
+ firmaMancante));
}
notCompleted.add(LanguageUtil.get(LocaleUtil.getDefault(), "label-documenti-tipologia-"
+ docObbligatorio)
+ ", firme mancanti: " + StringUtils.join(tipologieMancanti, ", "));
}
}
}
return notCompleted;
}
@ -1054,26 +1081,8 @@ public class ValidazionePraticaUtil {
return true;
}
public static boolean isOneRequiredValid(String codiceDoc, long intPraticaId, List<String> signatures,
List<String> tipologiaSoggetti, DocPratica docPratica) throws SystemException {
for (String tipoSoggetto : tipologiaSoggetti) {
boolean isRequired = AsseverazioniUtil
.isAsseverazioneRequiredByCodiceDoc(codiceDoc, tipoSoggetto);
if (isRequired) {
List<String> signaturesPerSubject = getSignaturePerSubject(intPraticaId, signatures,
tipoSoggetto, docPratica.getClassPk());
if (!signaturesPerSubject.isEmpty()) {
return true;
}
}
}
return false;
}
public static boolean isFineLavoriDatiCompleted(long fineLavoriId) throws PortalException,
SystemException {
return notCompletedFineLavoriDati(fineLavoriId).isEmpty();
}
@ -1295,9 +1304,8 @@ public class ValidazionePraticaUtil {
options.setLocation(urlPdfExtractor);
options.setPost(true);
List<FilePart> fileParts = new ArrayList<>();
// TODO perché cazzo non funziona il contentType???
// FilePart filePart = new FilePart("file", fileName, fileBytes,
// ContentType.P7M.getContentType(), "UTF-8");
// Amo l'ignoto autore di questo TODO!
// TODO perché cazzo non funziona il contentType???
FilePart filePart = new FilePart("file", fileName, fileBytes, "application/pkcs7-signature", "UTF-8");
fileParts.add(filePart);
options.setFileParts(fileParts);

1
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/sql/tables.sql

@ -258,6 +258,7 @@ create table portos_bo_DettPratica (
codiceFiscalePrincipaleDirettoreLavori VARCHAR(75) null,
codiceFiscalePrincipaleDitta VARCHAR(75) null,
codiceFiscalePrincipaleGeologo VARCHAR(75) null,
codiceFiscalePrincipaleArcheologo VARCHAR(75) null,
lavoriInEconomiaCommittente BOOLEAN,
inizioLavoriContestualeOpera BOOLEAN,
dataInizioLavoriOpera DATE null,

1
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-hbm.xml

@ -308,6 +308,7 @@
<property name="codiceFiscalePrincipaleDirettoreLavori" type="com.liferay.portal.dao.orm.hibernate.StringType" />
<property name="codiceFiscalePrincipaleDitta" type="com.liferay.portal.dao.orm.hibernate.StringType" />
<property name="codiceFiscalePrincipaleGeologo" type="com.liferay.portal.dao.orm.hibernate.StringType" />
<property name="codiceFiscalePrincipaleArcheologo" type="com.liferay.portal.dao.orm.hibernate.StringType" />
<property name="lavoriInEconomiaCommittente" type="com.liferay.portal.dao.orm.hibernate.BooleanType" />
<property name="inizioLavoriContestualeOpera" type="com.liferay.portal.dao.orm.hibernate.BooleanType" />
<property name="dataInizioLavoriOpera" type="org.hibernate.type.TimestampType" />

1
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-model-hints.xml

@ -302,6 +302,7 @@
<field name="codiceFiscalePrincipaleDirettoreLavori" type="String" />
<field name="codiceFiscalePrincipaleDitta" type="String" />
<field name="codiceFiscalePrincipaleGeologo" type="String" />
<field name="codiceFiscalePrincipaleArcheologo" type="String" />
<field name="lavoriInEconomiaCommittente" type="boolean" />
<field name="inizioLavoriContestualeOpera" type="boolean" />
<field name="dataInizioLavoriOpera" type="Date" />

1
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/META-INF/portlet-orm.xml

@ -410,6 +410,7 @@
<basic name="codiceFiscalePrincipaleDirettoreLavori" />
<basic name="codiceFiscalePrincipaleDitta" />
<basic name="codiceFiscalePrincipaleGeologo" />
<basic name="codiceFiscalePrincipaleArcheologo" />
<basic name="lavoriInEconomiaCommittente" />
<basic name="inizioLavoriContestualeOpera" />
<basic name="dataInizioLavoriOpera">

4
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/content/Portal.properties

@ -296,7 +296,7 @@ interv-fin-pub-desc = Descrizione intervento oggetto di Finanziamento Pubblico
destinazione = Destinazione
destinazione-1 = EDIFICI ORDINARI
destinazione-2 = INFRASTRUTTURE o ALTRI ORDINARI
destinazione-3 = ALTRI INTERVENTI (es. fotovoltaico, pali eolici...)
destinazione-3 = ALTRI INTERVENTI (es. fotovoltaico, pali eolici, piscine e vasche di irrigazione, muri di cinta e recinzioni, etc)
destinazione-uso-1 = EDIFICIO ORDINARIO
destinazione-uso-2 = INFRASTRUTTURA O ALTRO ORDINARIO
@ -414,7 +414,7 @@ tc-adeguamento-sismico = Adeguamento sismico
tc-miglioramento-sismico = Miglioramento sismico
tc-riparazione-intervento-locale = Riparazione o intervento locale
tc-manut-ord-rest-dem = Manut. ord. e straord. - Restauro - Demolizione e ricostruzione
tc-altro-intervento = ALTRA TIPOLOGIA DI INTERVENTO (cave ...)
tc-altro-intervento = ALTRA TIPOLOGIA DI INTERVENTO
tc-nuova-costruzione-pertinenza = Nuova costruzione di pertinenza
tc-intervento-opere-escavazione = Intervento che prevede opere di escavazione (obbligo A10)
tc-viarch = Opera pubblica o di interesse pubblico - Viarch (A24)

5
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/startup/DatabaseUpdateAction.java

@ -99,6 +99,11 @@ public class DatabaseUpdateAction extends SimpleAction {
s.executeUpdate("ALTER TABLE portos_bo_dettpratica ADD COLUMN destinazionealtrointervento TEXT NULL");
}
if (!hasColumn("portos_bo_dettpratica", "codicefiscaleprincipalearcheologo")) {
_log.info("Aggiornamento a v9 di portos_bo_dettpratica");
s.executeUpdate("ALTER TABLE portos_bo_dettpratica ADD COLUMN codicefiscaleprincipalearcheologo VARCHAR(75) NULL");
}
if (!hasColumn("portos_bo_territorio", "articolo61")) {
_log.info("Aggiornamento a v2 di portos_bo_territorio");
s.executeUpdate("ALTER TABLE portos_bo_territorio ADD COLUMN articolo61 BOOL");

92
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/SismicaUtil.java

@ -177,7 +177,6 @@ public class SismicaUtil {
List<String> esito = new ArrayList<>();
esito.addAll(riparaConformita(companyId));
esito.addAll(riparaAssegnazioniAlRuolo(companyId, userId));
esito.addAll(riparaNonValidate(companyId));
esito.addAll(creaWorkflowMancanti(companyId));
esito.addAll(riparaContextWorkflow(companyId));
try {
@ -267,85 +266,6 @@ public class SismicaUtil {
return esito;
}
private static List<String> riparaNonValidate(long companyId) {
List<String> esito = new ArrayList<>();
esito.add("Controllo pratiche B1 non validate");
int dow;
Date data;
try {
dow = Integer.parseInt(ConfigurazioneLocalServiceUtil.findByC_ChiaveString(companyId,
ConfigurazioneConstants.DAY_OF_WEEK_SORTEGGIO));
data = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse(ConfigurazioneLocalServiceUtil
.findByC_ChiaveString(companyId, ConfigurazioneConstants.DATE_ULTIMO_SORTEGGIO));
} catch (ParseException | NumberFormatException | SystemException e) {
esito.add("Errore nel recupero della configurazione sorteggio: " + e.getMessage());
return esito;
}
data = getWeekInterval(dow, data)[1];
List<IntPratica> pratiche = null;
int start = 0;
do {
try {
pratiche = IntPraticaLocalServiceUtil.getIntPraticas(start, start + SLICE);
start += SLICE;
for (IntPratica pratica : pratiche) {
int numeroAvvisi = 0;
numeroAvvisi = AvvisoLocalServiceUtil.findByIntPratica_Inviato(pratica.getIntPraticaId(),
"S", QueryUtil.ALL_POS, QueryUtil.ALL_POS, null).size();
if (pratica.getTipoProcedura().equalsIgnoreCase(Constants.PROCEDURA_B1)
&& Validator.isNull(pratica.getDtSorteggio())
&& pratica.getStatoPratica().equalsIgnoreCase(StatoPraticaConstants.VIDIMATA)
&& (numeroAvvisi < 2) && (pratica.getDtPratica().compareTo(data) <= 0)) {
esito.add(" Pratica " + pratica.getNumeroProgetto() + " ("
+ pratica.getIntPraticaId() + ") - " + pratica.getUserName() + ", "
+ numeroAvvisi + " avvisi");
DettPratica dettPratica = DettPraticaLocalServiceUtil
.getLastCompletedByIntPratica(pratica.getIntPraticaId());
long fileEntryIdTemplate = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong(
companyId, "conf.geniocivile.avviso.template.id.deposito.B2");
ServiceContext serviceContext = new ServiceContext();
serviceContext.setCompanyId(dettPratica.getCompanyId());
serviceContext.setScopeGroupId(dettPratica.getGroupId());
serviceContext.setUserId(dettPratica.getUserId());
ControlloPratica controllo = null;
try {
List<ControlloPratica> controlli = ControlloPraticaLocalServiceUtil
.findByIntPraticaId_Status(pratica.getIntPraticaId(),
WorkflowConstants.STATUS_PENDING);
controllo = controlli.get(controlli.size() - 1);
} catch (Exception e1) {
try {
controllo = ControlloPraticaLocalServiceUtil.addControlloPratica(
dettPratica.getGroupId(), dettPratica.getUserId(),
pratica.getIntPraticaId(), dettPratica.getDettPraticaId(), false,
serviceContext);
} catch (PortalException | SystemException e2) {
esito.add("Errore durante la creazione di un controllo pratica per progetto "
+ pratica.getNumeroProgetto() + ": " + e2.getMessage());
}
}
controllo.setStatus(WorkflowConstants.STATUS_APPROVED);
AvvisoLocalServiceUtil.addAvviso(pratica.getIntPraticaId(),
"Attestazione di deposito progetto", new Date(),
AvvisoUtil.TIPO_AVVISO_DIRETTO, StatoPraticaConstants.CONFORME,
fileEntryIdTemplate, dettPratica.getDettPraticaId(),
DettPratica.class.getName(), controllo.getControlloPraticaId(),
serviceContext);
pratica.setStatoPratica(StatoPraticaConstants.CONFORME);
IntPraticaLocalServiceUtil.updateIntPratica(pratica);
}
}
} catch (PortalException | SystemException e) {
esito.add("Errore durante l'elaborazione: " + e.getMessage());
}
} while (pratiche.size() > 0);
return esito;
}
private static List<String> riparaConformita(long companyId) {
List<String> esito = new ArrayList<>();
esito.add("Riparazione avvisi di conformità");
@ -433,19 +353,9 @@ public class SismicaUtil {
if (Validator.isNotNull(fileEntryIdTemplate)) {
try {
if (!pratica.getTipoProcedura().equalsIgnoreCase(
Constants.PROCEDURA_C)) {
AvvisoLocalServiceUtil.addAvviso(pratica.getIntPraticaId(),
"Attestazione di deposito progetto", new Date(),
AvvisoUtil.TIPO_AVVISO_DIRETTO,
StatoPraticaConstants.CONFORME, fileEntryIdTemplate,
dettPratica.getDettPraticaId(),
DettPratica.class.getName(),
controllo.getControlloPraticaId(), serviceContext);
}
pratica.setStatoPratica(StatoPraticaConstants.CONFORME);
IntPraticaLocalServiceUtil.updateIntPratica(pratica);
} catch (PortalException | SystemException e) {
} catch (SystemException e) {
}
}
}

237
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/SorteggioPraticaUtil.java

@ -1,39 +1,9 @@
package it.mwg.sismica.bo.util;
import it.tref.liferay.portos.bo.model.Comune;
import it.tref.liferay.portos.bo.model.ControlloPratica;
import it.tref.liferay.portos.bo.model.DettPratica;
import it.tref.liferay.portos.bo.model.IntPratica;
import it.tref.liferay.portos.bo.model.Provincia;
import it.tref.liferay.portos.bo.model.Soggetto;
import it.tref.liferay.portos.bo.model.Territorio;
import it.tref.liferay.portos.bo.service.AvvisoLocalServiceUtil;
import it.tref.liferay.portos.bo.service.ComuneLocalServiceUtil;
import it.tref.liferay.portos.bo.service.ConfigurazioneLocalServiceUtil;
import it.tref.liferay.portos.bo.service.ControlloPraticaLocalServiceUtil;
import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil;
import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil;
import it.tref.liferay.portos.bo.service.ProvinciaLocalServiceUtil;
import it.tref.liferay.portos.bo.service.SoggettoLocalServiceUtil;
import it.tref.liferay.portos.bo.service.SorteggioLocalServiceUtil;
import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil;
import it.tref.liferay.portos.bo.shared.util.ConfigurazioneConstants;
import it.tref.liferay.portos.bo.shared.util.StatoPraticaConstants;
import it.tref.liferay.portos.bo.shared.util.TipoSoggettoUtil;
import it.tref.liferay.portos.bo.util.AvvisoUtil;
import it.tref.liferay.portos.report.shared.constants.ReportConstants;
import it.tref.liferay.portos.report.shared.dto.ReportDto;
import it.tref.liferay.portos.report.shared.util.ReportUtil;
import java.security.SecureRandom;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
@ -43,14 +13,8 @@ import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.repository.model.FileEntry;
import com.liferay.portal.kernel.repository.model.Folder;
import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.model.Company;
import com.liferay.portal.model.Role;
import com.liferay.portal.model.RoleConstants;
import com.liferay.portal.service.CompanyLocalServiceUtil;
import com.liferay.portal.service.RoleLocalServiceUtil;
import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.service.UserLocalServiceUtil;
import com.liferay.portlet.documentlibrary.model.DLFolderConstants;
import com.liferay.portlet.documentlibrary.service.DLAppLocalServiceUtil;
@ -65,8 +29,6 @@ public class SorteggioPraticaUtil {
private static final String FOLDER_SORTEGGIO = "Report_Sorteggio";
private static final String FILE_ENTRY_TEMPLATE_SORTEGGIO = "Sorteggio";
/**
*
* Implementazione della procedura di sorteggio secondo i requisiti della
@ -82,142 +44,9 @@ public class SorteggioPraticaUtil {
SystemException {
List<String> esito = new ArrayList<>();
if (lock.tryLock()) {
SimpleDateFormat sdf = new SimpleDateFormat(DATE_TIME_FORMAT);
esito.add("Sorteggio iniziato in data " + sdf.format(dtSorteggio) + ".<br><br>");
Map<String, List<IntPratica>> sorteggiabili = IntPraticaLocalServiceUtil.findSorteggiabiliNew(
companyId, dtSorteggio);
int numeroSorteggiabili = 0;
for (Map.Entry<String, List<IntPratica>> s : sorteggiabili.entrySet()) {
numeroSorteggiabili += s.getValue().size();
}
esito.add("<h1>" + numeroSorteggiabili + " pratiche sottoposte a sorteggio.</h1>");
SecureRandom rnd = new SecureRandom();
List<IntPratica> sorteggiate = new ArrayList<>();
for (Map.Entry<String, List<IntPratica>> s : sorteggiabili.entrySet()) {
String codiceProvincia = s.getKey();
List<IntPratica> elenco = s.getValue();
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(companyId, codiceProvincia);
long numeroSorteggiate = (long) Math.ceil(0.1 * elenco.size());
String testoSorteggio;
if (numeroSorteggiate > 1) {
testoSorteggio = "saranno estratte " + numeroSorteggiate + " pratiche";
} else {
testoSorteggio = "sarà estratta 1 pratica";
}
esito.add("<h2><small>(" + sdf.format(new Date()) + ")</small> Provincia di "
+ provincia.getProvincia() + " " + elenco.size() + " pratiche, " + testoSorteggio
+ ".</h2><ol>");
Map<Integer, IntPratica> ordinate = new HashMap<>();
int chiave;
for (IntPratica pratica : elenco) {
do {
chiave = rnd.nextInt();
} while (ordinate.containsKey(chiave));
ordinate.put(chiave, pratica);
}
TreeMap<Integer, IntPratica> mescolate = new TreeMap<Integer, IntPratica>(ordinate);
long contatore = 0;
for (Map.Entry<Integer, IntPratica> m : mescolate.entrySet()) {
IntPratica pratica = m.getValue();
long intPraticaId = pratica.getIntPraticaId();
DettPratica dettPratica = DettPraticaLocalServiceUtil
.getLastCompletedByIntPratica(intPraticaId);
ServiceContext serviceContext = new ServiceContext();
serviceContext.setCompanyId(dettPratica.getCompanyId());
serviceContext.setScopeGroupId(dettPratica.getGroupId());
serviceContext.setUserId(dettPratica.getUserId());
if (contatore++ < numeroSorteggiate) {
sorteggiate.add(pratica);
esito.add("<li>Sorteggiata: " + pratica.getNumeroProgetto() + " (id " + intPraticaId
+ ") del " + sdf.format(pratica.getDtPratica()) + " (" + m.getKey()
+ ")</li>");
} else {
pratica.setDtSorteggio(dtSorteggio);
IntPraticaLocalServiceUtil.updateIntPratica(pratica);
esito.add("<li>Non sorteggiata: " + pratica.getNumeroProgetto() + " (id "
+ intPraticaId + ") del " + sdf.format(pratica.getDtPratica()) + " ("
+ m.getKey() + ")</li>");
}
}
esito.add("</ol>");
}
if (sorteggiate.size() > 0) {
saveSorteggio(companyId, sorteggiate, dtSorteggio);
}
esito.add("Sorteggio terminato in data " + sdf.format(new Date()) + ".<br><br>");
creaReportSorteggio(companyId, dtSorteggio, esito);
// Salvataggio data ultimo sorteggio
ServiceContext serviceContext = new ServiceContext();
serviceContext.setCompanyId(companyId);
serviceContext.setScopeGroupId(-1L);
serviceContext.setUserId(UserLocalServiceUtil.getDefaultUserId(companyId));
ConfigurazioneLocalServiceUtil.storeConfig(ConfigurazioneConstants.DATE_ULTIMO_SORTEGGIO,
sdf.format(dtSorteggio), serviceContext);
lock.unlock();
}
return esito;
}
private static FileEntry creaReportSorteggio(long companyId, Date dtSorteggio, List<String> contenuto)
throws PortalException, SystemException {
Role role = RoleLocalServiceUtil.getRole(companyId, RoleConstants.ADMINISTRATOR);
long userId = UserLocalServiceUtil.getRoleUsers(role.getRoleId(), 0, 1).get(0).getUserId();
Company company = CompanyLocalServiceUtil.getCompany(companyId);
Folder folderTemplate = DLAppLocalServiceUtil.getFolder(company.getGroupId(),
DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, "Template");
FileEntry fileEntryTemplate = DLAppLocalServiceUtil.getFileEntry(folderTemplate.getGroupId(),
folderTemplate.getFolderId(), FILE_ENTRY_TEMPLATE_SORTEGGIO);
Folder folderReport = DLAppLocalServiceUtil.getFolder(company.getGroupId(),
DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, FOLDER_SORTEGGIO);
StringBuilder sb = new StringBuilder(contenuto.size());
for (String riga : contenuto) {
sb.append(riga);
}
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("html", sb.toString());
ReportDto reportDto = new ReportDto();
reportDto.setFileEntryIds(new long[] { fileEntryTemplate.getFileEntryId() });
reportDto.setFolderId(folderReport.getFolderId());
reportDto.setFileName(reportFileName(companyId, dtSorteggio));
reportDto.setHeader("");
reportDto.setHeaderHeight(1);
reportDto.setFooter("");
reportDto.setFooterHeight(40);
reportDto.setParameters(parameters);
reportDto.setShowNumberOfPage(true);
reportDto.setType(ReportConstants.ReportType.VELOCITY_TO_PDF.toString());
String resourcePath = SorteggioPraticaUtil.class.getName().replaceAll("\\w+\\.", "../")
.replace(SorteggioPraticaUtil.class.getSimpleName(), "resource/asseverazioni");
reportDto.setPortalURL(SorteggioPraticaUtil.class.getResource(resourcePath).getPath());
ReportUtil.generateReport(companyId, userId, reportDto, null);
return null;
}
private static String reportFileName(long companyId, Date dtSorteggio) {
Calendar calSorteggio = DateUtils.toCalendar(dtSorteggio);
String anno = String.valueOf(calSorteggio.get(Calendar.YEAR));
@ -240,72 +69,6 @@ public class SorteggioPraticaUtil {
* @throws PortalException
* @throws SystemException
*/
private static void saveSorteggio(long companyId, List<IntPratica> pratiche, Date dtSorteggio)
throws PortalException, SystemException {
long numeroEstrazione = 1;
for (IntPratica pratica : pratiche) {
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(pratica.getTerritorioId());
Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId());
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(territorio.getCompanyId(),
comune.getCodiceProvincia());
DettPratica dettPratica = DettPraticaLocalServiceUtil.getLastCompletedByIntPratica(pratica
.getIntPraticaId());
String committente = "";
List<Soggetto> soggetti = SoggettoLocalServiceUtil
.findByIntPratica_TipologiaSoggetto_Aggiuntivo_Rimosso(pratica.getIntPraticaId(),
TipoSoggettoUtil.COMMITTENTE, false, false);
if (soggetti.size() > 0) {
Soggetto soggetto = soggetti.get(0);
// Bug 32771
if (Validator.isNotNull(soggetto.getNome()) && Validator.isNotNull(soggetto.getCognome()))
committente = soggetto.getNome() + " " + soggetto.getCognome();
else if (Validator.isNotNull(soggetto.getDenominazione()))
committente = soggetto.getDenominazione();
else
committente = soggetto.getLegaleRap();
}
// anno, mese, settimana della data sorteggio
Calendar calSorteggio = Calendar.getInstance();
calSorteggio.setTime(dtSorteggio);
String anno = String.valueOf(calSorteggio.get(Calendar.YEAR));
String mese = String.format("%02d", calSorteggio.get(Calendar.MONTH) + 1);
int settimana = calSorteggio.get(Calendar.WEEK_OF_YEAR);
ServiceContext serviceContext = new ServiceContext();
serviceContext.setCompanyId(dettPratica.getCompanyId());
serviceContext.setScopeGroupId(dettPratica.getGroupId());
serviceContext.setUserId(dettPratica.getUserId());
SorteggioLocalServiceUtil.addSorteggio(pratica.getIntPraticaId(), dettPratica.getDettPraticaId(),
anno, mese, settimana, dtSorteggio, "", APERTO, "", numeroEstrazione++,
pratica.getNumeroProgetto(), committente, comune.getDenominazione(),
provincia.getProvincia(), false, pratica.getIntPraticaId(), false, serviceContext);
ControlloPratica controlloPratica = ControlloPraticaLocalServiceUtil.addControlloPratica(
pratica.getGroupId(), pratica.getUserId(), pratica.getIntPraticaId(),
dettPratica.getDettPraticaId(), true, serviceContext);
long fileEntryIdTemplate = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong(
serviceContext.getCompanyId(), "conf.geniocivile.avviso.template.id.deposito.S");
AvvisoLocalServiceUtil.addAvviso(pratica.getIntPraticaId(), "Avviso di sorteggio", dtSorteggio,
AvvisoUtil.TIPO_AVVISO_DIRETTO, StatoPraticaConstants.SOTTOPOSTA_A_PARERE,
fileEntryIdTemplate, dettPratica.getDettPraticaId(), DettPratica.class.getName(),
controlloPratica.getControlloPraticaId(), serviceContext);
IntPraticaLocalServiceUtil.updateIntPraticaSorteggio(pratica.getIntPraticaId(), dtSorteggio,
StatoPraticaConstants.SOTTOPOSTA_A_PARERE);
}
}
public static FileEntry getFileEntrySorteggio(long companyId, long groupId, Date dtSorteggio)
throws PortalException, SystemException {

7
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/indexer/ControlloPraticaIndexer.java

@ -206,11 +206,8 @@ public class ControlloPraticaIndexer extends BaseIndexer {
document.addKeyword("sorteggiata", sorteggiata);
document.addKeyword("controlloObbligatorio", intPratica.isControlloObbligatorio());
String tipoProcedura = intPratica.getTipoProcedura();
if (Validator.isNotNull(tipoProcedura)) {
if (tipoProcedura.equalsIgnoreCase(Constants.PROCEDURA_B1))
tipoProcedura = Constants.PROCEDURA_B;
document.addKeyword(PortosIndexField.TIPO_PROCEDURA, tipoProcedura);
if (Validator.isNotNull(intPratica.getTipoProcedura())) {
document.addKeyword(PortosIndexField.TIPO_PROCEDURA, intPratica.getTipoProcedura());
}
// Prendo l ultimo DettPratica legato a IntPratica

2
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/AsseverazioneImpl.java

@ -88,6 +88,8 @@ public class AsseverazioneImpl extends AsseverazioneBaseImpl {
modello = "AS-PRC";
}
break;
case TipoSoggettoUtil.ARCHEOLOGO:
modello = "AS-ARC";
}
return modello;
}

20
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/DettPraticaCacheModel.java

@ -38,7 +38,7 @@ public class DettPraticaCacheModel implements CacheModel<DettPratica>,
Externalizable {
@Override
public String toString() {
StringBundler sb = new StringBundler(499);
StringBundler sb = new StringBundler(501);
sb.append("{uuid=");
sb.append(uuid);
@ -164,6 +164,8 @@ public class DettPraticaCacheModel implements CacheModel<DettPratica>,
sb.append(codiceFiscalePrincipaleDitta);
sb.append(", codiceFiscalePrincipaleGeologo=");
sb.append(codiceFiscalePrincipaleGeologo);
sb.append(", codiceFiscalePrincipaleArcheologo=");
sb.append(codiceFiscalePrincipaleArcheologo);
sb.append(", lavoriInEconomiaCommittente=");
sb.append(lavoriInEconomiaCommittente);
sb.append(", inizioLavoriContestualeOpera=");
@ -856,6 +858,13 @@ public class DettPraticaCacheModel implements CacheModel<DettPratica>,
dettPraticaImpl.setCodiceFiscalePrincipaleGeologo(codiceFiscalePrincipaleGeologo);
}
if (codiceFiscalePrincipaleArcheologo == null) {
dettPraticaImpl.setCodiceFiscalePrincipaleArcheologo(StringPool.BLANK);
}
else {
dettPraticaImpl.setCodiceFiscalePrincipaleArcheologo(codiceFiscalePrincipaleArcheologo);
}
dettPraticaImpl.setLavoriInEconomiaCommittente(lavoriInEconomiaCommittente);
dettPraticaImpl.setInizioLavoriContestualeOpera(inizioLavoriContestualeOpera);
@ -1556,6 +1565,7 @@ public class DettPraticaCacheModel implements CacheModel<DettPratica>,
codiceFiscalePrincipaleDirettoreLavori = objectInput.readUTF();
codiceFiscalePrincipaleDitta = objectInput.readUTF();
codiceFiscalePrincipaleGeologo = objectInput.readUTF();
codiceFiscalePrincipaleArcheologo = objectInput.readUTF();
lavoriInEconomiaCommittente = objectInput.readBoolean();
inizioLavoriContestualeOpera = objectInput.readBoolean();
dataInizioLavoriOpera = objectInput.readLong();
@ -2021,6 +2031,13 @@ public class DettPraticaCacheModel implements CacheModel<DettPratica>,
objectOutput.writeUTF(codiceFiscalePrincipaleGeologo);
}
if (codiceFiscalePrincipaleArcheologo == null) {
objectOutput.writeUTF(StringPool.BLANK);
}
else {
objectOutput.writeUTF(codiceFiscalePrincipaleArcheologo);
}
objectOutput.writeBoolean(lavoriInEconomiaCommittente);
objectOutput.writeBoolean(inizioLavoriContestualeOpera);
objectOutput.writeLong(dataInizioLavoriOpera);
@ -2688,6 +2705,7 @@ public class DettPraticaCacheModel implements CacheModel<DettPratica>,
public String codiceFiscalePrincipaleDirettoreLavori;
public String codiceFiscalePrincipaleDitta;
public String codiceFiscalePrincipaleGeologo;
public String codiceFiscalePrincipaleArcheologo;
public boolean lavoriInEconomiaCommittente;
public boolean inizioLavoriContestualeOpera;
public long dataInizioLavoriOpera;

51
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/model/impl/DettPraticaModelImpl.java

File diff suppressed because one or more lines are too long

55
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerEstrazioneFirme.java

@ -4,13 +4,8 @@ import it.tref.liferay.portos.bo.model.DocPratica;
import it.tref.liferay.portos.bo.service.ConfigurazioneLocalServiceUtil;
import it.tref.liferay.portos.bo.service.DocPraticaLocalServiceUtil;
import it.tref.liferay.portos.bo.shared.util.ConfigurazioneConstants;
import it.tref.liferay.portos.bo.util.ContentType;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
@ -18,6 +13,14 @@ import java.util.concurrent.locks.ReentrantLock;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.FileUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.entity.mime.content.ByteArrayBody;
import org.apache.http.entity.mime.content.ContentBody;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import com.liferay.portal.kernel.dao.orm.QueryUtil;
import com.liferay.portal.kernel.json.JSONArray;
@ -28,10 +31,8 @@ import com.liferay.portal.kernel.messaging.Message;
import com.liferay.portal.kernel.messaging.MessageListener;
import com.liferay.portal.kernel.messaging.MessageListenerException;
import com.liferay.portal.kernel.util.FileUtil;
import com.liferay.portal.kernel.util.Http.FilePart;
import com.liferay.portal.kernel.util.Http.Options;
import com.liferay.portal.kernel.util.HttpUtil;
import com.liferay.portal.kernel.util.PropsUtil;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.kernel.util.UniqueList;
import com.liferay.portal.kernel.workflow.WorkflowConstants;
import com.liferay.portal.model.Company;
@ -68,10 +69,10 @@ public class SchedulerEstrazioneFirme implements MessageListener {
List<DocPratica> docPratiche = DocPraticaLocalServiceUtil.findByStaus(
WorkflowConstants.STATUS_PENDING, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
for (DocPratica docPratica : docPratiche) {
String urlPdfExtractor = (String) company.getExpandoBridge().getAttribute(
"url_pdf_extractor", false);
String urlPdfExtractor = (String) company.getExpandoBridge().getAttribute(
"url_pdf_extractor", false);
for (DocPratica docPratica : docPratiche) {
DLFileEntry fileEntry = DLFileEntryLocalServiceUtil.getFileEntry(docPratica
.getDlFileEntryId());
User user = UserLocalServiceUtil.getRoleUsers(
@ -81,23 +82,18 @@ public class SchedulerEstrazioneFirme implements MessageListener {
.create(user));
byte[] fileBytes = FileUtil.getBytes(fileEntry.getContentStream());
Options options = new Options();
options.setLocation(urlPdfExtractor);
options.setPost(true);
List<FilePart> fileParts = new ArrayList<>();
fileParts.add(new FilePart("file", fileEntry.getTitle(), fileBytes,
ContentType.P7M.getContentType(), "UTF-8"));
options.setFileParts(fileParts);
String responseBody;
try {
responseBody = HttpUtil.URLtoString(options);
} catch (Exception e) {
responseBody = "";
}
if (options.getResponse().getResponseCode() == HttpServletResponse.SC_OK
|| options.getResponse().getResponseCode() == HttpServletResponse.SC_CREATED) {
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
ContentBody body = new ByteArrayBody(fileBytes, fileEntry.getTitle());
builder.addPart("file", body);
HttpPost request = new HttpPost(urlPdfExtractor);
request.setEntity(builder.build());
CloseableHttpClient client = HttpClientBuilder.create().build();
HttpResponse response = client.execute(request);
int statusCode = response.getStatusLine().getStatusCode();
String responseBody = EntityUtils.toString(response.getEntity(), StringPool.UTF8);
if (statusCode == HttpServletResponse.SC_OK
|| statusCode == HttpServletResponse.SC_CREATED) {
JSONArray arrayFirme = JSONFactoryUtil.createJSONObject(responseBody)
.getJSONArray("cf");
List<String> cf = new UniqueList<String>();
@ -117,8 +113,7 @@ public class SchedulerEstrazioneFirme implements MessageListener {
errorCode);
_log.warn("P7M REST extractor error. Response: " + new String(responseBody)
+ " id=" + fileEntry.getFileEntryId());
// salvaCampione(fileEntry, fileBytes,
// "0-firme");
salvaCampione(fileEntry, fileBytes, "0-firme");
}
}
}

23
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/scheduler/SchedulerGeneraDocumento.java

@ -132,29 +132,6 @@ public class SchedulerGeneraDocumento implements MessageListener {
if (Validator.isNotNull(avviso.getJsonParameters())) {
JSONDeserializer<Map<String, String>> deserializer = JSONFactoryUtil.createJSONDeserializer();
parameters.putAll(deserializer.deserialize(avviso.getJsonParameters()));
// TODO vedere se vann oaggiunti dati presi in altro modo
// if
// (parameters.containsKey(WorkflowConstants.WORKFLOW_PARAM_NAME_DELEGATO_OUT))
// {
// User user = null;
// String delegato =
// GetterUtil.getString(parameters.get(WorkflowConstants.WORKFLOW_PARAM_NAME_DELEGATO_OUT));
// List<ExpandoValue> expandoValues =
// ExpandoValueLocalServiceUtil.getColumnValues(companyId,
// User.class.getName(),
// Constants.CUSTOM_FIELD_TABLE_NAME,
// Constants.CUSTOM_FIELD_GC_USERID, delegato,
// QueryUtil.ALL_POS,
// QueryUtil.ALL_POS);
// if (expandoValues != null && !expandoValues.isEmpty()) {
// ExpandoValue expandoValue = expandoValues.get(0);
// user =
// UserLocalServiceUtil.fetchUserById(expandoValue.getClassPK());
// }
// parameters.put(WorkflowConstants.WORKFLOW_PARAM_NAME_DELEGATO,
// user.getFullName());
// }
}
Object bean;

584
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/IntPraticaLocalServiceClpInvoker.java

File diff soppresso perché troppo grande Load Diff

2
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/AsseverazioneLocalServiceImpl.java

@ -128,7 +128,7 @@ public class AsseverazioneLocalServiceImpl extends AsseverazioneLocalServiceBase
.getNome();
String cognome = Validator.isNull(soggetto.getCognome()) ? StringPool.BLANK : soggetto
.getCognome();
_log.info(soggetto.getNome() + "|" + soggetto.getCognome() + "|" + soggetto.getLegaleRap());
return testoAsseverazione(tipo, nome, cognome, codiceFiscale, soggetto.getAmbitoProfessione(),
dettPratica, relazioni, false);
}

8
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/AvvisoLocalServiceImpl.java

@ -123,15 +123,9 @@ public class AvvisoLocalServiceImpl extends AvvisoLocalServiceBaseImpl {
// case StatoPraticaConstants.INTEGRAZIONE:
// break;
case StatoPraticaConstants.SOTTOPOSTA_A_PARERE:
if (Validator.isNull(tipoProcedura) || tipoProcedura.equalsIgnoreCase(Constants.PROCEDURA_A)) {
propertiesTemplate = AvvisoUtil.getAllTipoDocumentoFileTemplateProps().get(statoPratica);
} else {
propertiesTemplate = AvvisoUtil.getAllTipoDocumentoFileTemplateProps().get("DPPS");
}
propertiesTemplate = AvvisoUtil.getAllTipoDocumentoFileTemplateProps().get("DPPS");
break;
case StatoPraticaConstants.VIDIMATA:
if (null == tipoProcedura)
tipoProcedura = Constants.PROCEDURA_A;
propertiesTemplate = AvvisoUtil.getAllTipoDocumentoFileTemplateProps().get(
"DP" + tipoProcedura);
break;

48
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/DettPraticaLocalServiceImpl.java

@ -198,7 +198,7 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl
@Indexable(type = IndexableType.REINDEX)
public DettPratica addDettPraticaClonedToIntPratica(long intPraticaId, long dettPraticaToCloneId,
String tipoIntegrazione, ServiceContext serviceContext) throws PortalException, SystemException {
_log.info("Cloning dettPratica " + dettPraticaToCloneId);
IntPratica intPratica = intPraticaLocalService.getIntPratica(intPraticaId);
DettPratica dettPratica = initDettPratica(serviceContext);
@ -305,8 +305,9 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl
dettPraticaToClone.getNormLTC01(), dettPraticaToClone.getSuap(),
dettPraticaToClone.getNormSismaBonus(), dettPraticaToClone.getClRischioPreInt(),
dettPraticaToClone.getClRischioPostInt(), dettPraticaToClone.getIntervFinPub(),
dettPraticaToClone.getIntervFinPubDesc(), serviceContext, true, dettPraticaToClone.getPaesaggioLocale(),
dettPraticaToClone.getLivelloDiTutela(), dettPraticaToClone.getVincoli(), dettPraticaToClone.getDestinazioneAltroIntervento(),
dettPraticaToClone.getIntervFinPubDesc(), serviceContext, true,
dettPraticaToClone.getPaesaggioLocale(), dettPraticaToClone.getLivelloDiTutela(),
dettPraticaToClone.getVincoli(), dettPraticaToClone.getDestinazioneAltroIntervento(),
dettPraticaToClone.getTcCostruzioniEsistenti(), dettPraticaToClone.getTcManutOrdStraord(),
dettPraticaToClone.getTcAltriInterventi(), dettPraticaToClone.getTcAltriInterventiDesc(),
dettPraticaToClone.getNoCollaudo(), dettPraticaToClone.getTcNuovaCostruzionePertinenza(),
@ -748,10 +749,11 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl
boolean normArt3com4, boolean normOrd01, boolean normDm04, boolean normDm05, boolean normCI01,
boolean normLTC01, boolean suap, boolean normSismaBonus, String clRischioPreInt,
String clRischioPostInt, boolean intervFinPub, String intervFinPubDesc,
ServiceContext serviceContext, boolean bozza, String paesaggioLocale,
String livelloDiTutela, String vincoli, String destinazioneAltroIntervento, Boolean tcCostruzioniEsistenti, Boolean tcManutOrdStraord,
Boolean tcAltriInterventi, String tcAltriInterventiDesc, boolean noCollaudo, boolean tcNuovaCostruzionePertinenza,
boolean tcInterventoOpereEscavazione, boolean tcViarch, boolean tcOperaA25) throws PortalException, SystemException {
ServiceContext serviceContext, boolean bozza, String paesaggioLocale, String livelloDiTutela,
String vincoli, String destinazioneAltroIntervento, Boolean tcCostruzioniEsistenti,
Boolean tcManutOrdStraord, Boolean tcAltriInterventi, String tcAltriInterventiDesc,
boolean noCollaudo, boolean tcNuovaCostruzionePertinenza, boolean tcInterventoOpereEscavazione,
boolean tcViarch, boolean tcOperaA25) throws PortalException, SystemException {
Date now = new Date();
@ -843,7 +845,7 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl
dettPratica.setTcNuovaCostruzionePertinenza(tcNuovaCostruzionePertinenza);
dettPratica.setTcInterventoOpereEscavazione(tcInterventoOpereEscavazione);
dettPratica.setTcViarch(tcViarch);
dettPratica.setTcOperaA25(tcOperaA25);
dettPratica.setTcOperaA25(tcOperaA25);
dettPratica.setCodiceFiscaleDelegatoCommittente(codiceFiscaleDelegatoCommittente);
dettPratica.setCodiceFiscaleDelegatoFineLavori(codiceFiscaleDelegatoFineLavori);
dettPratica.setCodiceFiscaleDelegatoCollaudo(codiceFiscaleDelegatoCollaudo);
@ -1023,11 +1025,11 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl
dettPratica.setClRischioPostInt(clRischioPostInt);
dettPratica.setIntervFinPub(intervFinPub);
dettPratica.setIntervFinPubDesc(intervFinPubDesc);
dettPratica.setPaesaggioLocale(paesaggioLocale);
dettPratica.setLivelloDiTutela(livelloDiTutela);
dettPratica.setVincoli(vincoli);
dettPratica.setDestinazioneAltroIntervento(destinazioneAltroIntervento);
dettPratica.setTcCostruzioniEsistenti(tcCostruzioniEsistenti);
dettPratica.setTcManutOrdStraord(tcManutOrdStraord);
@ -1090,11 +1092,12 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl
boolean normDprg02, boolean normAnr, boolean normArt3com3, boolean normArt3com4,
boolean normOrd01, boolean normDm04, boolean normDm05, boolean normCI01, boolean normLTC01,
boolean suap, boolean normSismaBonus, String clRischioPreInt, String clRischioPostInt,
boolean intervFinPub, String intervFinPubDesc, ServiceContext serviceContext, boolean bozza, String paesaggioLocale,
String livelloDiTutela, String vincoli, String destinazioneAltroIntervento, Boolean tcCostruzioniEsistenti, Boolean tcManutOrdStraord,
Boolean tcAltriInterventi, String tcAltriInterventiDesc, boolean noCollaudo, boolean tcNuovaCostruzionePertinenza,
boolean tcInterventoOpereEscavazione, boolean tcViarch, boolean tcOperaA25)
throws PortalException, SystemException {
boolean intervFinPub, String intervFinPubDesc, ServiceContext serviceContext, boolean bozza,
String paesaggioLocale, String livelloDiTutela, String vincoli,
String destinazioneAltroIntervento, Boolean tcCostruzioniEsistenti, Boolean tcManutOrdStraord,
Boolean tcAltriInterventi, String tcAltriInterventiDesc, boolean noCollaudo,
boolean tcNuovaCostruzionePertinenza, boolean tcInterventoOpereEscavazione, boolean tcViarch,
boolean tcOperaA25) throws PortalException, SystemException {
Date now = new Date();
@ -1152,7 +1155,7 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl
dettPratica.setTcNuovaCostruzionePertinenza(tcNuovaCostruzionePertinenza);
dettPratica.setTcInterventoOpereEscavazione(tcInterventoOpereEscavazione);
dettPratica.setTcViarch(tcViarch);
dettPratica.setTcOperaA25(tcOperaA25);
dettPratica.setTcOperaA25(tcOperaA25);
dettPratica.setMetratura(metratura);
dettPratica.setLavoriPubblici(lavoriPubblici);
dettPratica.setPagamentoIdOneri(pagamentoIdOneri);
@ -1285,11 +1288,11 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl
dettPratica.setCodiceFiscaleDelegatoCommittente(codiceFiscaleDelegatoCommittente);
dettPratica.setCodiceFiscaleDelegatoFineLavori(codiceFiscaleDelegatoFineLavori);
dettPratica.setCodiceFiscaleDelegatoCollaudo(codiceFiscaleDelegatoCollaudo);
dettPratica.setPaesaggioLocale(paesaggioLocale);
dettPratica.setLivelloDiTutela(livelloDiTutela);
dettPratica.setVincoli(vincoli);
dettPratica.setDestinazioneAltroIntervento(destinazioneAltroIntervento);
dettPratica.setTcCostruzioniEsistenti(tcCostruzioniEsistenti);
dettPratica.setTcManutOrdStraord(tcManutOrdStraord);
@ -1339,8 +1342,9 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl
boolean tcRiparazioneInterventoLocale, boolean normLavoriInProprio, boolean normEsenteBollo,
boolean normEsenteSpese, boolean normDpr01Dep, boolean normDpr02Dep, boolean normDpr01Aut,
boolean normDpr02Aut, boolean normArt3com3, boolean normArt3com4, ServiceContext serviceContext,
boolean bozza, boolean noCollaudo, boolean tcNuovaCostruzionePertinenza,
boolean tcInterventoOpereEscavazione, boolean tcViarch, boolean tcOperaA25) throws PortalException, SystemException {
boolean bozza, boolean noCollaudo, boolean tcNuovaCostruzionePertinenza,
boolean tcInterventoOpereEscavazione, boolean tcViarch, boolean tcOperaA25)
throws PortalException, SystemException {
Date now = new Date();
@ -2427,6 +2431,10 @@ public class DettPraticaLocalServiceImpl extends DettPraticaLocalServiceBaseImpl
case TipoSoggettoUtil.DITTA:
dettPratica.setCodiceFiscalePrincipaleDitta(codiceFiscale);
break;
case TipoSoggettoUtil.ARCHEOLOGO:
dettPratica.setCodiceFiscalePrincipaleArcheologo(codiceFiscale);
break;
default:
break;

96
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/IntPraticaLocalServiceImpl.java

@ -178,102 +178,6 @@ public class IntPraticaLocalServiceImpl extends IntPraticaLocalServiceBaseImpl {
private static Log _log = LogFactoryUtil.getLog(IntPraticaLocalServiceImpl.class);
/**
* Restituisce la lista di pratiche da sottoporre a sorteggio suddivisa per
* codice provincia. Modificata secondo il D.D.G. 334/2020
*
* @author Manifattura Web Group per Regione Siciliana.
*/
public Map<String, List<IntPratica>> findSorteggiabiliNew(long companyId, Date dtSorteggio)
throws SystemException, PortalException {
HashMap<String, List<IntPratica>> ret = new HashMap<>();
List<IntPratica> lista = new ArrayList<IntPratica>();
int dow = Integer.parseInt(ConfigurazioneServiceUtil.findByC_ChiaveString(companyId,
ConfigurazioneConstants.DAY_OF_WEEK_SORTEGGIO));
Date[] date = SismicaUtil.getWeekInterval(dow, dtSorteggio);
DynamicQuery dq = intPraticaLocalService.dynamicQuery();
dq.add(PropertyFactoryUtil.forName("companyId").eq(companyId));
dq.add(PropertyFactoryUtil.forName("status").eq(WorkflowConstants.STATUS_DRAFT));
dq.add(PropertyFactoryUtil.forName("statoPratica").eq(StatoPraticaConstants.CONFORME));
Disjunction or = RestrictionsFactoryUtil.disjunction();
or.add(RestrictionsFactoryUtil.eq("tipoProcedura", Constants.PROCEDURA_B));
or.add(RestrictionsFactoryUtil.eq("tipoProcedura", Constants.PROCEDURA_B1));
dq.add(or);
dq.add(PropertyFactoryUtil.forName("dtPratica").between(date[0], date[1]));
dq.add(PropertyFactoryUtil.forName("dtSorteggio").isNull());
try {
lista = intPraticaPersistence.findWithDynamicQuery(dq);
} catch (SystemException e) {
_log.error("Errore durante la selezione di pratiche sorteggiabili.", e);
}
HashMap<Long, String> territoriProvince = new HashMap<Long, String>();
for (IntPratica pratica : lista) {
long territorioId = pratica.getTerritorioId();
if (!territoriProvince.containsKey(territorioId)) {
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(territorioId);
Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId());
territoriProvince.put(territorioId, comune.getCodiceProvincia());
}
String codiceProvincia = territoriProvince.get(territorioId);
if (!ret.containsKey(codiceProvincia))
ret.put(codiceProvincia, new ArrayList<IntPratica>());
ret.get(codiceProvincia).add(pratica);
}
return ret;
}
/**
* Restituisce la lista di pratiche da sottoporre a sorteggio suddivisa per
* codice provincia.
*
* @author Manifattura Web Group per Regione Siciliana.
*/
@SuppressWarnings("unchecked")
public Map<String, List<IntPratica>> findSorteggiabili(long companyId, Date dtSorteggio)
throws SystemException, PortalException {
HashMap<String, List<IntPratica>> ret = new HashMap<>();
List<IntPratica> lista = new ArrayList<IntPratica>();
int dow = Integer.parseInt(ConfigurazioneServiceUtil.findByC_ChiaveString(companyId,
ConfigurazioneConstants.DAY_OF_WEEK_SORTEGGIO));
Date[] date = SismicaUtil.getWeekInterval(dow, dtSorteggio);
DynamicQuery dq = intPraticaLocalService.dynamicQuery();
dq.add(PropertyFactoryUtil.forName("companyId").eq(companyId));
dq.add(PropertyFactoryUtil.forName("status").eq(WorkflowConstants.STATUS_DRAFT));
dq.add(PropertyFactoryUtil.forName("statoPratica").eq(StatoPraticaConstants.VIDIMATA));
dq.add(PropertyFactoryUtil.forName("tipoProcedura").eq(Constants.PROCEDURA_B1));
dq.add(PropertyFactoryUtil.forName("dtPratica").between(date[0], date[1]));
dq.add(PropertyFactoryUtil.forName("dtSorteggio").isNull());
try {
lista = intPraticaPersistence.findWithDynamicQuery(dq);
} catch (SystemException e) {
_log.error("Errore durante la selezione di mappe sorteggiabili.", e);
}
HashMap<Long, String> territoriProvince = new HashMap<Long, String>();
for (IntPratica pratica : lista) {
long territorioId = pratica.getTerritorioId();
if (!territoriProvince.containsKey(territorioId)) {
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(territorioId);
Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId());
territoriProvince.put(territorioId, comune.getCodiceProvincia());
}
String codiceProvincia = territoriProvince.get(territorioId);
if (!ret.containsKey(codiceProvincia))
ret.put(codiceProvincia, new ArrayList<IntPratica>());
ret.get(codiceProvincia).add(pratica);
_log.info("Pratica numero " + pratica.getNumeroProgetto() + ", id " + pratica.getIntPraticaId());
}
return ret;
}
public IntPratica addIntPratica(long territorioId, String tipoProcedura, ServiceContext serviceContext)
throws SystemException, PortalException {

1
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/persistence/DettPraticaPersistenceImpl.java

@ -4811,6 +4811,7 @@ public class DettPraticaPersistenceImpl extends BasePersistenceImpl<DettPratica>
dettPraticaImpl.setCodiceFiscalePrincipaleDirettoreLavori(dettPratica.getCodiceFiscalePrincipaleDirettoreLavori());
dettPraticaImpl.setCodiceFiscalePrincipaleDitta(dettPratica.getCodiceFiscalePrincipaleDitta());
dettPraticaImpl.setCodiceFiscalePrincipaleGeologo(dettPratica.getCodiceFiscalePrincipaleGeologo());
dettPraticaImpl.setCodiceFiscalePrincipaleArcheologo(dettPratica.getCodiceFiscalePrincipaleArcheologo());
dettPraticaImpl.setLavoriInEconomiaCommittente(dettPratica.isLavoriInEconomiaCommittente());
dettPraticaImpl.setInizioLavoriContestualeOpera(dettPratica.isInizioLavoriContestualeOpera());
dettPraticaImpl.setDataInizioLavoriOpera(dettPratica.getDataInizioLavoriOpera());

6
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/util/ProtocollazioneUtil.java

@ -306,8 +306,12 @@ public class ProtocollazioneUtil {
}
}
private static void createCall(Protocollo protocollo) {
}
private static Options createCall(long companyId, Protocollo protocolloBean, boolean post) throws SystemException {
private static Options createCall2(long companyId, Protocollo protocolloBean, boolean post) throws SystemException {
String url =
ConfigurazioneLocalServiceUtil.findByC_ChiaveString(companyId,

4
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=2539
build.date=1599216162979
build.number=2564
build.date=1599647467248
build.auto.upgrade=true
##

8
liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/portlet/FascicoloFePortlet.java

@ -177,13 +177,6 @@ public class FascicoloFePortlet extends MVCPortlet {
for (Territorio territorio : territori) {
JSONObject jsonObject = JSONFactoryUtil.createJSONObject();
if ((territorio.getZona().equalsIgnoreCase(Constants.ZONA_1))
|| (territorio.getZona().equalsIgnoreCase(Constants.ZONA_2))
|| territorio.getArticolo61())
jsonObject.put("procedura", Constants.PROCEDURA_B1);
else
jsonObject.put("procedura", Constants.PROCEDURA_B);
jsonObject.put("territorioId", territorio.getTerritorioId());
jsonObject.put("descLong", territorio.getZonaFasciaDesc());
@ -1116,6 +1109,7 @@ public class FascicoloFePortlet extends MVCPortlet {
JSONSerializer serializer = JSONFactoryUtil.createJSONSerializer();
dichiarazioni = serializer.serializeDeep(parametri);
}
_log.info("Dichiarazioni=" + dichiarazioni);
ServiceContext serviceContext = ServiceContextFactory.getInstance(DettPratica.class.getName(),
actionRequest);
long dettPraticaId = ParamUtil.getLong(actionRequest, "dettPraticaId");

1321
liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/fe/portlet/SoggettiPraticaPortlet.java

File diff soppresso perché troppo grande Load Diff

6
liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/allegatipratica/view.jsp

@ -262,11 +262,11 @@
cssIcon = "fa-check";
cssColor= "txt-green";
testoFirme="";
} else if(docPratica.getStatus() == 1){
} else if(docPratica.getStatus() == WorkflowConstants.STATUS_PENDING) {
cssIcon= "fa-cog fa-spin";
cssColor= "txt-orange";
testoFirme="Estrazione firme in corso";
}else if(docPratica.getStatus() == 4){
testoFirme="Estrazione firme in corso";
}else if(docPratica.getStatus() == WorkflowConstants.STATUS_DENIED) {
cssIcon= "fa-alert";
cssColor= "txt-red";
testoFirme="Errore nell'estrazione delle firme";

8
liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/fascicolofe/navigator/domanda/page_dettagli_principali.jsp

@ -344,16 +344,16 @@
<div class="row">
<div class="col-xs-12">
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
<aui:input disabled="<%= disabledInput && !enabledByIntegrazione %>" type="radio" checked='<%=BeanParamUtil.getString(dettPratica, request, "destinazione").equalsIgnoreCase("1") %>' name="destinazione" bean="<%=dettPratica %>" value="1"
<aui:input disabled="<%= disabledInput && !enabledByIntegrazione %>" type="radio" checked='<%=BeanParamUtil.getString(dettPratica, request, "destinazione").equals("1") %>' name="destinazione" bean="<%=dettPratica %>" value="1"
label="destinazione-1"/>
<aui:input disabled="<%= disabledInput && !enabledByIntegrazione %>" type="radio" checked='<%=BeanParamUtil.getString(dettPratica, request, "destinazione").equalsIgnoreCase("2") %>' name="destinazione" bean="<%=dettPratica %>" value="2"
<aui:input disabled="<%= disabledInput && !enabledByIntegrazione %>" type="radio" checked='<%=BeanParamUtil.getString(dettPratica, request, "destinazione").equals("2") %>' name="destinazione" bean="<%=dettPratica %>" value="2"
label="destinazione-2"/>
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
<aui:input disabled="<%= disabledInput && !enabledByIntegrazione %>" type="radio" checked='<%=BeanParamUtil.getString(dettPratica, request, "destinazione").equalsIgnoreCase("3") %>' name="destinazione" bean="<%=dettPratica %>" value="3"
<aui:input disabled="<%= disabledInput && !enabledByIntegrazione %>" type="radio" checked='<%=BeanParamUtil.getString(dettPratica, request, "destinazione").equals("3") %>' name="destinazione" bean="<%=dettPratica %>" value="3"
label="destinazione-3"/>
<aui:input disabled='<%= disabledInput && !enabledByIntegrazione || !BeanParamUtil.getString(dettPratica, request, "destinazione").equalsIgnoreCase("3") %>' name="destinazioneAltroIntervento" label=""/>
<aui:input disabled='<%= disabledInput && !enabledByIntegrazione || !BeanParamUtil.getString(dettPratica, request, "destinazione").equals("3") %>' name="destinazioneAltroIntervento" label=""/>
</div>
</div>
</div>

28
liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/soggettipratica/edit_soggetto.jsp

@ -236,6 +236,9 @@
<aui:option label='<%="gc-soggetto-"+TipoSoggettoUtil.COLLAUDATORE%>'
value="<%=TipoSoggettoUtil.COLLAUDATORE%>"
selected="<%=soggetto!=null && soggetto.getTipologiaSoggetto().equals(TipoSoggettoUtil.COLLAUDATORE)%>"></aui:option>
<aui:option label='<%="gc-soggetto-"+TipoSoggettoUtil.ARCHEOLOGO%>'
value="<%=TipoSoggettoUtil.ARCHEOLOGO%>"
selected="<%=soggetto!=null && soggetto.getTipologiaSoggetto().equals(TipoSoggettoUtil.ARCHEOLOGO)%>"></aui:option>
</aui:select>
</c:if>
<c:if test="<%=!disabledInput%>">
@ -279,6 +282,12 @@
value="<%=TipoSoggettoUtil.COLLAUDATORE%>"
selected="<%=soggetto!=null && soggetto.getTipologiaSoggetto().equals(TipoSoggettoUtil.COLLAUDATORE)%>"></aui:option>
</c:if>
<c:if
test="<%=AzioniPraticheUtil.canAddSoggetto(dettPratica.getIntPraticaId(), TipoSoggettoUtil.ARCHEOLOGO)%>">
<aui:option label='<%="gc-soggetto-"+TipoSoggettoUtil.ARCHEOLOGO%>'
value="<%=TipoSoggettoUtil.ARCHEOLOGO%>"
selected="<%=soggetto!=null && soggetto.getTipologiaSoggetto().equals(TipoSoggettoUtil.ARCHEOLOGO)%>"></aui:option>
</c:if>
</aui:select>
</c:if>
</div>
@ -1555,12 +1564,13 @@
'<portlet:namespace/>aggiornaForm',
function() {
var vuoto = "00"
var committente = "02";
var progettista = "06";
var direttore = "03";
var ditta = "04";
var geologo = "05";
var collaudatore = "01";
var committente = "<%= TipoSoggettoUtil.COMMITTENTE %>";
var progettista = "<%= TipoSoggettoUtil.PROGETTISTA %>";
var direttore = "<%= TipoSoggettoUtil.DIRETTORE_LAVORI %>";
var ditta = "<%= TipoSoggettoUtil.DITTA %>";
var geologo = "<%= TipoSoggettoUtil.GEOLOGO %>";
var collaudatore = "<%= TipoSoggettoUtil.COLLAUDATORE %>";
var archeologo = "<%= TipoSoggettoUtil.ARCHEOLOGO %>";
var value = $('#<portlet:namespace/>tipologiaSoggetto')
.val();
@ -1588,7 +1598,7 @@
if (value == committente || value == progettista
|| value == direttore || value == geologo
|| value == collaudatore) {
|| value == collaudatore || value == archeologo) {
$('.button_container').show();
$('.tabella_soggetti_fisici').show();
enableInput('.tabella_soggetti_fisici');
@ -1656,7 +1666,7 @@
$('.colonna_ditta_committente').hide();
}
if (value == committente) {
if (value == committente || value == archeologo) {
$('.tabella_albo').hide();
disableInput('.tabella_albo');
@ -1676,7 +1686,7 @@
);
Liferay.provide(window, 'activeDisableCommittente', function() {
var committente = "02";
var committente = "<%= TipoSoggettoUtil.COMMITTENTE %>";
var value = $('#<portlet:namespace/>tipologiaSoggetto').val();
if (value == committente && !

30
liferay-plugins-sdk-6.2/portlets/portos-fe-portlet/docroot/html/soggettipratica/view.jsp

@ -140,8 +140,6 @@
} else {
if( !isSoggettoPrincipale && Validator.isNull(soggetto.getDettPraticaIdRimozione()) && !soggetto.getTmp() ){
clickFunction = "makeSoggettoPrincipale(\""+soggetto.getSoggettoId()+"\")";
} else if(isSoggettoPrincipale){
clickFunction = "unmakeSoggettoPrincipale(\""+soggetto.getSoggettoId()+"\")";
} else {
clickFunction = "javascript:void(0)";
unclickableClass = "unclickable";
@ -748,32 +746,4 @@
);
}
);
Liferay.provide(
window,
'unmakeSoggettoPrincipale',
function(soggettoId) {
Loading.start();
A.io.request(
'<%= removePrincipaleURL %>',
{
data:{
<portlet:namespace />soggettoId: soggettoId,
},
dataType: 'json',
on: {
failure: function() {
alert('Impossibile rendere il soggetto principale!');
},
success: function(event, id, obj) {
window.parent.Liferay.fire('soggetti-open');
Liferay.Portlet.refresh("#p_p_id<portlet:namespace/>");
},
complete: function(){
Loading.end();
}
}
}
);
}
);
</aui:script>

181
liferay-plugins-sdk-6.2/portlets/portos-report-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/report/messaging/ReportMessageListener.java

@ -29,131 +29,136 @@ import java.util.Collections;
import java.util.Map;
public class ReportMessageListener extends BaseMessageListener {
private final static Log _log = LogFactoryUtil.getLog(ReportTaskMessageListener.class);
private Log _log = LogFactoryUtil.getLog(ReportMessageListener.class);
@SuppressWarnings("unchecked")
@Override
protected void doReceive(Message message) throws Exception {
try {
@SuppressWarnings("unchecked")
@Override
protected void doReceive(Message message) throws Exception {
long companyId = message.getLong(ReportConstants.COMPANY_ID);
long userId = message.getLong(ReportConstants.USER_ID);
try {
Object dataSouce = message.get(ReportConstants.REPORT_DATASOURCE);
Map<String, Serializable> taskContextMap = (Map<String, Serializable>) message
.get(ReportConstants.PARAMATERS);
long companyId = message.getLong(ReportConstants.COMPANY_ID);
long userId = message.getLong(ReportConstants.USER_ID);
if (taskContextMap == null) {
taskContextMap = Collections.<String, Serializable> emptyMap();
}
Object dataSouce = message.get(ReportConstants.REPORT_DATASOURCE);
Map<String, Serializable> taskContextMap = (Map<String, Serializable>) message.get(ReportConstants.PARAMATERS);
validate(companyId, userId, taskContextMap);
if (taskContextMap == null) {
taskContextMap = Collections.<String, Serializable>emptyMap();
}
ReportProcessMode reportProcessMode = ReportProcessMode.valueOf(MapUtil.getString(taskContextMap,
ReportConstants.PARAM_PROCESS_MODE));
validate(companyId, userId, taskContextMap);
if (reportProcessMode.equals(ReportProcessMode.ASYNC)) {
ReportProcessMode reportProcessMode =
ReportProcessMode.valueOf(MapUtil.getString(taskContextMap, ReportConstants.PARAM_PROCESS_MODE));
ServiceContext serviceContext = new ServiceContext();
serviceContext.setCompanyId(companyId);
serviceContext.setUserId(userId);
if (reportProcessMode.equals(ReportProcessMode.ASYNC)) {
ReportTask reportTask = ReportTaskLocalServiceUtil.addReportTask(taskContextMap,
serviceContext);
ServiceContext serviceContext = new ServiceContext();
serviceContext.setCompanyId(companyId);
serviceContext.setUserId(userId);
ReportResultDto dto = new ReportResultDto(reportTask.getReportTaskId(), null,
ReportResult.SUCCESSFUL.toString(), null);
ReportTask reportTask = ReportTaskLocalServiceUtil.addReportTask(taskContextMap, serviceContext);
Message responseMessage = MessageBusUtil.createResponseMessage(message);
responseMessage.setPayload(JSONFactoryUtil.looseSerializeDeep(dto));
ReportResultDto dto =
new ReportResultDto(reportTask.getReportTaskId(), null, ReportResult.SUCCESSFUL.toString(), null);
MessageBusUtil.sendMessage(responseMessage.getDestinationName(), responseMessage);
} else {
Message responseMessage = MessageBusUtil.createResponseMessage(message);
responseMessage.setPayload(JSONFactoryUtil.looseSerializeDeep(dto));
long[] fileEntryIds = ReportTaskManagerServiceUtil.doReport(companyId, userId,
taskContextMap, dataSouce);
MessageBusUtil.sendMessage(responseMessage.getDestinationName(), responseMessage);
} else {
ReportResultDto dto = new ReportResultDto(0L, fileEntryIds,
ReportResult.SUCCESSFUL.toString(), null);
long[] fileEntryIds = ReportTaskManagerServiceUtil.doReport(companyId, userId, taskContextMap, dataSouce);
Message responseMessage = MessageBusUtil.createResponseMessage(message);
responseMessage.setPayload(JSONFactoryUtil.looseSerializeDeep(dto));
ReportResultDto dto = new ReportResultDto(0L, fileEntryIds, ReportResult.SUCCESSFUL.toString(), null);
MessageBusUtil.sendMessage(responseMessage.getDestinationName(), responseMessage);
}
} catch (Exception e) {
_log.error(e, e);
ReportResultDto dto = new ReportResultDto(0L, null, ReportResult.FAILED.toString(),
e.getMessage());
Message responseMessage = MessageBusUtil.createResponseMessage(message);
responseMessage.setPayload(JSONFactoryUtil.looseSerializeDeep(dto));
Message responseMessage = MessageBusUtil.createResponseMessage(message);
responseMessage.setPayload(JSONFactoryUtil.looseSerializeDeep(dto));
MessageBusUtil.sendMessage(responseMessage.getDestinationName(), responseMessage);
}
} catch (Exception e) {
_log.error(e, e);
ReportResultDto dto = new ReportResultDto(0L, null, ReportResult.FAILED.toString(), e.getMessage());
MessageBusUtil.sendMessage(responseMessage.getDestinationName(), responseMessage);
}
}
Message responseMessage = MessageBusUtil.createResponseMessage(message);
responseMessage.setPayload(JSONFactoryUtil.looseSerializeDeep(dto));
private void validate(long companyId, long userId, Map<String, Serializable> taskContextMap)
throws PortalException {
MessageBusUtil.sendMessage(responseMessage.getDestinationName(), responseMessage);
}
}
if (Validator.isNull(companyId)) {
throw new PortalException("company id is required");
}
private void validate(long companyId, long userId, Map<String, Serializable> taskContextMap) throws PortalException {
if (Validator.isNull(userId)) {
throw new PortalException("user id is required");
}
if (Validator.isNull(companyId)) {
throw new PortalException("company id is required");
}
String processMode = MapUtil.getString(taskContextMap, ReportConstants.PARAM_PROCESS_MODE);
if (Validator.isNull(userId)) {
throw new PortalException("user id is required");
}
if (Validator.isNull(processMode)) {
throw new PortalException("process mode is required");
} else {
try {
String processMode = MapUtil.getString(taskContextMap, ReportConstants.PARAM_PROCESS_MODE);
ReportProcessMode reportProcessMode = ReportProcessMode.valueOf(processMode);
if (Validator.isNull(processMode)) {
throw new PortalException("process mode is required");
} else {
try {
if (reportProcessMode.equals(ReportProcessMode.ASYNC)) {
ReportProcessMode reportProcessMode = ReportProcessMode.valueOf(processMode);
String destinationName = MapUtil.getString(taskContextMap,
ReportConstants.PARAM_RESPONSE_DESTINATION_NAME);
if (reportProcessMode.equals(ReportProcessMode.ASYNC)) {
if (Validator.isNull(destinationName)) {
throw new PortalException("destination name is required");
}
}
} catch (IllegalArgumentException e) {
throw new PortalException("report process is not valid");
}
}
String destinationName = MapUtil.getString(taskContextMap, ReportConstants.PARAM_RESPONSE_DESTINATION_NAME);
JSONArray jsonArray = JSONFactoryUtil.createJSONArray(MapUtil.getString(taskContextMap,
ReportConstants.PARAM_REPORTS));
if (Validator.isNull(destinationName)) {
throw new PortalException("destination name is required");
}
}
} catch (IllegalArgumentException e) {
throw new PortalException("report process is not valid");
}
}
for (int i = 0; i < jsonArray.length(); i++) {
JSONArray jsonArray =
JSONFactoryUtil.createJSONArray(MapUtil.getString(taskContextMap, ReportConstants.PARAM_REPORTS));
JSONObject jsonObject = jsonArray.getJSONObject(i);
for (int i = 0; i < jsonArray.length(); i++) {
ReportDto reportDto = JSONFactoryUtil.looseDeserialize(jsonObject.toString(), ReportDto.class);
JSONObject jsonObject = jsonArray.getJSONObject(i);
long[] fileEntryTemplateIds = reportDto.getFileEntryIds();
ReportDto reportDto = JSONFactoryUtil.looseDeserialize(jsonObject.toString(), ReportDto.class);
if (ArrayUtil.isEmpty(fileEntryTemplateIds)) {
throw new PortalException("file entry template ids are required");
}
long[] fileEntryTemplateIds = reportDto.getFileEntryIds();
long folderId = reportDto.getFolderId();
if (ArrayUtil.isEmpty(fileEntryTemplateIds)) {
throw new PortalException("file entry template ids are required");
}
if (Validator.isNull(folderId)) {
throw new PortalException("folder id is required");
}
long folderId = reportDto.getFolderId();
String reportName = reportDto.getFileName();
if (Validator.isNull(folderId)) {
throw new PortalException("folder id is required");
}
if (Validator.isNull(reportName)) {
throw new PortalException("report name is required");
}
String reportName = reportDto.getFileName();
ReportType reportType = reportDto.getReportType();
if (Validator.isNull(reportName)) {
throw new PortalException("report name is required");
}
ReportType reportType = reportDto.getReportType();
if (Validator.isNull(reportType)) {
throw new PortalException("report type is required");
}
}
}
if (Validator.isNull(reportType)) {
throw new PortalException("report type is required");
}
}
}
}

146
liferay-plugins-sdk-6.2/portlets/portos-report-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/report/messaging/ReportTaskMessageListener.java

@ -7,6 +7,8 @@ import com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.json.JSONFactoryUtil;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.messaging.BaseMessageListener;
import com.liferay.portal.kernel.messaging.Message;
import com.liferay.portal.kernel.messaging.MessageBusUtil;
@ -30,110 +32,110 @@ import java.util.Map;
public class ReportTaskMessageListener extends BaseMessageListener {
private static final String _LOCK_CLASS_NAME = ReportTaskMessageListener.class.getName();
private static final String _LOCK_CLASS_NAME = ReportTaskMessageListener.class.getName();
@Override
protected void doReceive(Message message) throws Exception {
@Override
protected void doReceive(Message message) throws Exception {
ActionableDynamicQuery actionableDynamicQuery = new ReportTaskActionableDynamicQuery() {
ActionableDynamicQuery actionableDynamicQuery = new ReportTaskActionableDynamicQuery() {
@Override
protected void addCriteria(DynamicQuery dynamicQuery) {
@Override
protected void addCriteria(DynamicQuery dynamicQuery) {
dynamicQuery.add(PropertyFactoryUtil.forName("completed").eq(false));
}
dynamicQuery.add(PropertyFactoryUtil.forName("completed").eq(false));
}
@Override
protected void performAction(Object obj) throws PortalException, SystemException {
@Override
protected void performAction(Object obj) throws PortalException, SystemException {
ReportTask reportTask = (ReportTask) obj;
ReportTask reportTask = (ReportTask) obj;
Map<String, Serializable> taskContextMap = reportTask.getTaskContextMap();
Map<String, Serializable> taskContextMap = reportTask.getTaskContextMap();
String responseDestinationName =
MapUtil.getString(taskContextMap, ReportConstants.PARAM_RESPONSE_DESTINATION_NAME);
String responseDestinationName = MapUtil.getString(taskContextMap,
ReportConstants.PARAM_RESPONSE_DESTINATION_NAME);
try {
try {
long[] fileEntryIds =
ReportTaskManagerServiceUtil.doReport(reportTask.getCompanyId(), reportTask.getUserId(), taskContextMap,
null);
long[] fileEntryIds = ReportTaskManagerServiceUtil.doReport(reportTask.getCompanyId(),
reportTask.getUserId(), taskContextMap, null);
sendMessage(responseDestinationName, reportTask.getReportTaskId(), fileEntryIds,
ReportResult.SUCCESSFUL.toString(), null);
} catch (Exception e) {
sendMessage(responseDestinationName, reportTask.getReportTaskId(), null, ReportResult.FAILED.toString(),
e.getMessage());
sendMessage(responseDestinationName, reportTask.getReportTaskId(), fileEntryIds,
ReportResult.SUCCESSFUL.toString(), null);
} catch (Exception e) {
sendMessage(responseDestinationName, reportTask.getReportTaskId(), null,
ReportResult.FAILED.toString(), e.getMessage());
} finally {
ReportTaskLocalServiceUtil.markAsCompleted(reportTask.getReportTaskId(), new Date());
}
} finally {
ReportTaskLocalServiceUtil.markAsCompleted(reportTask.getReportTaskId(), new Date());
}
}
};
}
};
long count = actionableDynamicQuery.performCount();
long count = actionableDynamicQuery.performCount();
if (count > 0) {
if (count > 0) {
String owner = PortalUUIDUtil.generate();
String owner = PortalUUIDUtil.generate();
if (tryLock(owner)) {
if (tryLock(owner)) {
try {
actionableDynamicQuery.performActions();
} finally {
unlock(owner);
}
}
}
}
try {
actionableDynamicQuery.performActions();
} finally {
unlock(owner);
}
}
}
}
private boolean tryLock(String owner) {
private boolean tryLock(String owner) {
try {
try {
Lock lock = null;
Lock lock = null;
while (true) {
try {
lock = LockLocalServiceUtil.lock(_LOCK_CLASS_NAME, _LOCK_CLASS_NAME, owner);
while (true) {
try {
lock = LockLocalServiceUtil.lock(_LOCK_CLASS_NAME, _LOCK_CLASS_NAME, owner);
break;
} catch (SystemException se) {
break;
} catch (SystemException se) {
try {
Thread.sleep(50);
} catch (InterruptedException ie) {
}
}
}
try {
Thread.sleep(50);
} catch (InterruptedException ie) {
}
}
}
if (!lock.isNew()) {
throw new DuplicateLockException(lock);
}
if (!lock.isNew()) {
throw new DuplicateLockException(lock);
}
} catch (DuplicateLockException e) {
return false;
}
} catch (DuplicateLockException e) {
return false;
}
return true;
}
return true;
}
private void unlock(String owner) throws SystemException {
private void unlock(String owner) throws SystemException {
LockLocalServiceUtil.unlock(_LOCK_CLASS_NAME, _LOCK_CLASS_NAME, owner);
}
LockLocalServiceUtil.unlock(_LOCK_CLASS_NAME, _LOCK_CLASS_NAME, owner);
}
private void sendMessage(String responseDestinationName, long reportTaskId, long[] fileEntryIds, String result,
String resultMessage) {
private void sendMessage(String responseDestinationName, long reportTaskId, long[] fileEntryIds,
String result, String resultMessage) {
if (Validator.isNotNull(responseDestinationName) && MessageBusUtil.hasMessageListener(responseDestinationName)) {
if (Validator.isNotNull(responseDestinationName)
&& MessageBusUtil.hasMessageListener(responseDestinationName)) {
ReportResultDto dto = new ReportResultDto(reportTaskId, fileEntryIds, result, resultMessage);
ReportResultDto dto = new ReportResultDto(reportTaskId, fileEntryIds, result, resultMessage);
MessageBusUtil.sendMessage(responseDestinationName, JSONFactoryUtil.looseSerializeDeep(dto));
}
}
MessageBusUtil.sendMessage(responseDestinationName, JSONFactoryUtil.looseSerializeDeep(dto));
}
}
}

4
liferay-plugins-sdk-6.2/portlets/portos-report-portlet/docroot/WEB-INF/src/service.properties

@ -13,8 +13,8 @@
##
build.namespace=portos_rep
build.number=18
build.date=1577444175789
build.number=19
build.date=1599641167274
build.auto.upgrade=true
##

9
liferay-plugins-sdk-6.2/shared/portos-bo-shared/src/it/tref/liferay/portos/bo/shared/util/Constants.java

@ -13,11 +13,6 @@ public class Constants implements com.liferay.portal.kernel.util.Constants {
public static final String FASCIA_B = "B";
public static final String FASCIA_C = "C";
public static final String PROCEDURA_A = "A";
public static final String PROCEDURA_B = "B";
public static final String PROCEDURA_B1 = "B1";
public static final String PROCEDURA_C = "C";
public static final String PROCEDURA_P0 = "P0";
public static final String PROCEDURA_P1 = "P1";
public static final String PROCEDURA_P2 = "P2";
@ -39,10 +34,6 @@ public class Constants implements com.liferay.portal.kernel.util.Constants {
public static final HashMap<String, String> PRATICA_ZONE = new HashMap<String, String>() {
{
put(PROCEDURA_A, TIPO_PRATICA_AUTORIZZAZIONE);
put(PROCEDURA_B, TIPO_PRATICA_DEPOSITO);
put(PROCEDURA_B1, TIPO_PRATICA_DEPOSITO);
put(PROCEDURA_C, TIPO_PRATICA_DEPOSITO);
put(ZONA_3, TIPO_PRATICA_DEPOSITO);
put(ZONA_4, TIPO_PRATICA_DEPOSITO);
put(ZONA_2, TIPO_PRATICA_AUTORIZZAZIONE);

3
liferay-plugins-sdk-6.2/shared/portos-report-shared/src/it/tref/liferay/portos/report/shared/util/ReportUtil.java

@ -52,7 +52,6 @@ public class ReportUtil {
String json = (String) MessageBusUtil.sendSynchronousMessage(ReportDestinationNames.SYNC,
message, 1);
return JSONFactoryUtil.looseDeserialize(json, ReportResultDto.class);
} catch (Exception e) {
_log.error(e);
@ -150,7 +149,7 @@ public class ReportUtil {
String json = JSONFactoryUtil.looseSerializeDeep(reportDto);
JSONObject jsonObject = JSONFactoryUtil.createJSONObject(json);
reportJsonArray.put(jsonObject);
}

Caricamento…
Annulla
Salva