@ -1,5 +1,34 @@
package it.tref.liferay.portos.fe.portlet ;
import com.liferay.portal.kernel.dao.orm.QueryUtil ;
import com.liferay.portal.kernel.exception.PortalException ;
import com.liferay.portal.kernel.exception.SystemException ;
import com.liferay.portal.kernel.json.JSONArray ;
import com.liferay.portal.kernel.json.JSONFactoryUtil ;
import com.liferay.portal.kernel.json.JSONObject ;
import com.liferay.portal.kernel.json.JSONSerializer ;
import com.liferay.portal.kernel.log.Log ;
import com.liferay.portal.kernel.log.LogFactoryUtil ;
import com.liferay.portal.kernel.repository.model.FileEntry ;
import com.liferay.portal.kernel.servlet.HttpHeaders ;
import com.liferay.portal.kernel.servlet.SessionErrors ;
import com.liferay.portal.kernel.upload.UploadPortletRequest ;
import com.liferay.portal.kernel.util.ContentTypes ;
import com.liferay.portal.kernel.util.DateFormatFactoryUtil ;
import com.liferay.portal.kernel.util.FileUtil ;
import com.liferay.portal.kernel.util.HttpUtil ;
import com.liferay.portal.kernel.util.OrderByComparator ;
import com.liferay.portal.kernel.util.OrderByComparatorFactoryUtil ;
import com.liferay.portal.kernel.util.ParamUtil ;
import com.liferay.portal.kernel.util.StringPool ;
import com.liferay.portal.kernel.util.Validator ;
import com.liferay.portal.model.User ;
import com.liferay.portal.service.ServiceContext ;
import com.liferay.portal.service.ServiceContextFactory ;
import com.liferay.portal.service.UserLocalServiceUtil ;
import com.liferay.portal.util.PortalUtil ;
import com.liferay.util.bridges.mvc.MVCPortlet ;
import it.tref.liferay.portos.bo.model.Comune ;
import it.tref.liferay.portos.bo.model.DettPratica ;
import it.tref.liferay.portos.bo.model.DocPratica ;
@ -38,35 +67,6 @@ import javax.portlet.PortletException;
import javax.portlet.ResourceRequest ;
import javax.portlet.ResourceResponse ;
import com.liferay.portal.kernel.dao.orm.QueryUtil ;
import com.liferay.portal.kernel.exception.PortalException ;
import com.liferay.portal.kernel.exception.SystemException ;
import com.liferay.portal.kernel.json.JSONArray ;
import com.liferay.portal.kernel.json.JSONFactoryUtil ;
import com.liferay.portal.kernel.json.JSONObject ;
import com.liferay.portal.kernel.json.JSONSerializer ;
import com.liferay.portal.kernel.log.Log ;
import com.liferay.portal.kernel.log.LogFactoryUtil ;
import com.liferay.portal.kernel.repository.model.FileEntry ;
import com.liferay.portal.kernel.servlet.HttpHeaders ;
import com.liferay.portal.kernel.servlet.SessionErrors ;
import com.liferay.portal.kernel.upload.UploadPortletRequest ;
import com.liferay.portal.kernel.util.ContentTypes ;
import com.liferay.portal.kernel.util.DateFormatFactoryUtil ;
import com.liferay.portal.kernel.util.FileUtil ;
import com.liferay.portal.kernel.util.HttpUtil ;
import com.liferay.portal.kernel.util.OrderByComparator ;
import com.liferay.portal.kernel.util.OrderByComparatorFactoryUtil ;
import com.liferay.portal.kernel.util.ParamUtil ;
import com.liferay.portal.kernel.util.StringPool ;
import com.liferay.portal.kernel.util.Validator ;
import com.liferay.portal.model.User ;
import com.liferay.portal.service.ServiceContext ;
import com.liferay.portal.service.ServiceContextFactory ;
import com.liferay.portal.service.UserLocalServiceUtil ;
import com.liferay.portal.util.PortalUtil ;
import com.liferay.util.bridges.mvc.MVCPortlet ;
public class SoggettiPraticaPortlet extends MVCPortlet {
private static Log _log = LogFactoryUtil . getLog ( SoggettiPraticaPortlet . class ) ;
@ -202,6 +202,7 @@ public class SoggettiPraticaPortlet extends MVCPortlet {
long soggettoSostituitoId = ParamUtil . getLong ( actionRequest , "soggettoSostituitoId" ) ;
ServiceContext serviceContext = ServiceContextFactory . getInstance ( Soggetto . class . getName ( ) , actionRequest ) ;
long userId = PortalUtil . getUserId ( actionRequest ) ;
try {
actionResponse . setRenderParameter ( "mvcPath" , "html/soggettipratica/edit_soggetto.jsp" ) ;
boolean tmp = false ;
@ -209,29 +210,34 @@ public class SoggettiPraticaPortlet extends MVCPortlet {
tmp = true ;
}
Soggetto soggetto = null ;
if ( soggettoId = = 0 ) {
soggetto = SoggettoServiceUtil . addSoggetto ( userId , dettPraticaId , intPraticaId , nome , cognome ,
codiceFiscale , codiceFiscaleDelegato , dataNascita , provinciaNascita , comuneNascita ,
comuneDomicilio , comuneDomicilioEstero , provinciaDomicilio , viaDomicilio ,
numeroCivicoDomicilio , capDomicilio , domicilioExtra , comune , comuneEstero , provincia , via ,
numeroCivico , cap , denominazione , sedeLegale , legaleRap , dataNascitaRap , provinciaNascitaRap ,
comuneNascitaRap , viaRap , numeroCivicoRap , capRap , provinciaRap , comuneRap , comuneEstero , albo ,
alboDescr , regAlbo , provinciaAlbo , numIscrAlbo , telefono , fax , email , tipologiaSoggetto ,
aggiuntivo , rimosso , ambitoAttivita , ambitoProfessione , intPraticaIdRimozione ,
dettPraticaIdRimozione , null , soggettoSostituitoId , 0L , tmp , serviceContext ) ;
} else {
soggetto = SoggettoServiceUtil . updateSoggetto ( userId , soggettoId , dettPraticaId , intPraticaId , nome ,
cognome , codiceFiscale , codiceFiscaleDelegato , dataNascita , provinciaNascita , comuneNascita ,
comuneDomicilio , comuneDomicilioEstero , provinciaDomicilio , viaDomicilio ,
numeroCivicoDomicilio , capDomicilio , domicilioExtra , comune , comuneEstero , provincia , via ,
numeroCivico , cap , denominazione , sedeLegale , legaleRap , dataNascitaRap , provinciaNascitaRap ,
comuneNascitaRap , viaRap , numeroCivicoRap , capRap , provinciaRap , comuneRap , comuneEstero , albo ,
alboDescr , regAlbo , provinciaAlbo , numIscrAlbo , telefono , fax , email , tipologiaSoggetto ,
aggiuntivo , rimosso , ambitoAttivita , ambitoProfessione , intPraticaIdRimozione ,
dettPraticaIdRimozione , null , soggettoSostituitoId , 0L , tmp , serviceContext ) ;
if ( controlloTipologia ( userId , codiceFiscale , tipologiaSoggetto ) ) {
if ( soggettoId = = 0 ) {
soggetto = SoggettoServiceUtil . addSoggetto ( userId , dettPraticaId , intPraticaId , nome , cognome ,
codiceFiscale , codiceFiscaleDelegato , dataNascita , provinciaNascita , comuneNascita ,
comuneDomicilio , comuneDomicilioEstero , provinciaDomicilio , viaDomicilio ,
numeroCivicoDomicilio , capDomicilio , domicilioExtra , comune , comuneEstero , provincia , via ,
numeroCivico , cap , denominazione , sedeLegale , legaleRap , dataNascitaRap , provinciaNascitaRap ,
comuneNascitaRap , viaRap , numeroCivicoRap , capRap , provinciaRap , comuneRap , comuneEstero , albo ,
alboDescr , regAlbo , provinciaAlbo , numIscrAlbo , telefono , fax , email , tipologiaSoggetto ,
aggiuntivo , rimosso , ambitoAttivita , ambitoProfessione , intPraticaIdRimozione ,
dettPraticaIdRimozione , null , soggettoSostituitoId , 0L , tmp , serviceContext ) ;
} else {
soggetto = SoggettoServiceUtil . updateSoggetto ( userId , soggettoId , dettPraticaId , intPraticaId , nome ,
cognome , codiceFiscale , codiceFiscaleDelegato , dataNascita , provinciaNascita , comuneNascita ,
comuneDomicilio , comuneDomicilioEstero , provinciaDomicilio , viaDomicilio ,
numeroCivicoDomicilio , capDomicilio , domicilioExtra , comune , comuneEstero , provincia , via ,
numeroCivico , cap , denominazione , sedeLegale , legaleRap , dataNascitaRap , provinciaNascitaRap ,
comuneNascitaRap , viaRap , numeroCivicoRap , capRap , provinciaRap , comuneRap , comuneEstero , albo ,
alboDescr , regAlbo , provinciaAlbo , numIscrAlbo , telefono , fax , email , tipologiaSoggetto ,
aggiuntivo , rimosso , ambitoAttivita , ambitoProfessione , intPraticaIdRimozione ,
dettPraticaIdRimozione , null , soggettoSostituitoId , 0L , tmp , serviceContext ) ;
}
actionResponse . setRenderParameter ( "soggettoId" , String . valueOf ( soggetto . getSoggettoId ( ) ) ) ;
} else {
SessionErrors . add ( actionRequest , "error" ) ;
}
PortalUtil . copyRequestParameters ( actionRequest , actionResponse ) ;
actionResponse . setRenderParameter ( "soggettoId" , String . valueOf ( soggetto . getSoggettoId ( ) ) ) ;
actionResponse . setRenderParameter ( "closePopup" , String . valueOf ( true ) ) ;
} catch ( PortalException e ) {
_log . error ( e , e ) ;
@ -411,10 +417,10 @@ public class SoggettiPraticaPortlet extends MVCPortlet {
QueryUtil . ALL_POS , QueryUtil . ALL_POS , orderByComparator ) ;
}
for ( Soggetto soggetto : soggetti ) {
JSONSerializer jsonSerializer = JSONFactoryUtil . createJSONSerializer ( ) ;
jsonSerializer . exclude ( "class" ) ;
String serialized = jsonSerializer . serialize ( SoggettoSoap . toSoapModel ( soggetto ) ) ;
jsonSoggetti . put ( serialized ) ;
JSONSerializer jsonSerializer = JSONFactoryUtil . createJSONSerializer ( ) ;
jsonSerializer . exclude ( "class" ) ;
String serialized = jsonSerializer . serialize ( SoggettoSoap . toSoapModel ( soggetto ) ) ;
jsonSoggetti . put ( serialized ) ;
}
}
writeJSON ( request , response , jsonSoggetti ) ;
@ -452,4 +458,44 @@ public class SoggettiPraticaPortlet extends MVCPortlet {
throw new IOException ( e ) ;
}
}
private boolean controlloTipologia ( long userId , String codiceFiscale , String tipo ) {
try {
OrderByComparator orderByComparator = OrderByComparatorFactoryUtil . create ( "portos_bo_soggetto" ,
"createDate" , false ) ;
List < Soggetto > soggetti = SoggettoLocalServiceUtil . findByUserId_CodiceFiscale ( userId , codiceFiscale ,
QueryUtil . ALL_POS , QueryUtil . ALL_POS , orderByComparator ) ;
for ( Soggetto soggetto : soggetti ) {
switch ( tipo ) {
case TipoSoggettoUtil . COLLAUDATORE :
if ( soggetto . getTipologiaSoggetto ( ) = = TipoSoggettoUtil . DIRETTORE_LAVORI | | soggetto . getTipologiaSoggetto ( ) = = TipoSoggettoUtil . PROGETTISTA | | soggetto . getTipologiaSoggetto ( ) = = TipoSoggettoUtil . DITTA ) {
return false ;
}
break ;
case TipoSoggettoUtil . DIRETTORE_LAVORI :
if ( soggetto . getTipologiaSoggetto ( ) = = TipoSoggettoUtil . COLLAUDATORE | | soggetto . getTipologiaSoggetto ( ) = = TipoSoggettoUtil . DITTA ) {
return false ;
}
break ;
case TipoSoggettoUtil . DITTA :
if ( soggetto . getTipologiaSoggetto ( ) = = TipoSoggettoUtil . DIRETTORE_LAVORI | | soggetto . getTipologiaSoggetto ( ) = = TipoSoggettoUtil . PROGETTISTA | | soggetto . getTipologiaSoggetto ( ) = = TipoSoggettoUtil . DITTA ) {
return false ;
}
break ;
case TipoSoggettoUtil . PROGETTISTA :
if ( soggetto . getTipologiaSoggetto ( ) = = TipoSoggettoUtil . COLLAUDATORE | | soggetto . getTipologiaSoggetto ( ) = = TipoSoggettoUtil . DITTA ) {
return false ;
}
break ;
}
}
} catch ( SystemException e ) {
}
return true ;
}
}