Salvatore La Manna
3 anni fa
102 ha cambiato i file con 3283 aggiunte e 2402 eliminazioni
File diff soppresso perché troppo grande
Load Diff
@ -1,276 +0,0 @@ |
|||||||
package it.tref.liferay.portos.bo.util; |
|
||||||
|
|
||||||
import it.tref.liferay.portos.bo.model.Collaudo; |
|
||||||
import it.tref.liferay.portos.bo.model.Delega; |
|
||||||
import it.tref.liferay.portos.bo.model.DettPratica; |
|
||||||
import it.tref.liferay.portos.bo.model.DocPratica; |
|
||||||
import it.tref.liferay.portos.bo.model.FineLavori; |
|
||||||
import it.tref.liferay.portos.bo.model.Soggetto; |
|
||||||
import it.tref.liferay.portos.bo.service.CollaudoServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.DelegaLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.DettPraticaServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.DocPraticaLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.FineLavoriServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.SoggettoLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.shared.util.TipoSoggettoUtil; |
|
||||||
|
|
||||||
import java.util.ArrayList; |
|
||||||
import java.util.HashMap; |
|
||||||
import java.util.List; |
|
||||||
import java.util.Map; |
|
||||||
|
|
||||||
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.util.Validator; |
|
||||||
import com.liferay.portal.model.User; |
|
||||||
import com.liferay.portal.service.UserLocalServiceUtil; |
|
||||||
|
|
||||||
public class DelegheUtil { |
|
||||||
|
|
||||||
public static final String STATO_ASSEGNATA = "AS"; |
|
||||||
public static final String STATO_ESEGUITA = "ES"; |
|
||||||
public static final String STATO_ANNULLATA = "AN"; |
|
||||||
public static final String STATO_RIFIUTATA = "RI"; |
|
||||||
|
|
||||||
public static final String TIPO_TOTALE = "TT"; |
|
||||||
public static final String TIPO_COMPILAZIONE = "CO"; |
|
||||||
public static final String TIPO_GEOLOGO = "GE"; |
|
||||||
public static final String TIPO_FIRMA_INSERIMENTO_ALLEGATI = "FI"; |
|
||||||
public static final String TIPO_PAGAMENTO = "PG"; |
|
||||||
public static final String TIPO_VISUALIZZAZIONE = "VI"; |
|
||||||
public static final String TIPO_FINE_LAVORI = "FL"; |
|
||||||
public static final String TIPO_COLLAUDO = "CL"; |
|
||||||
|
|
||||||
public static boolean hasDelegaFirma(long userId, long docPraticaId, boolean sezioneGeologica) |
|
||||||
throws PortalException, SystemException { |
|
||||||
|
|
||||||
DocPratica docPratica = DocPraticaLocalServiceUtil.getDocPratica(docPraticaId); |
|
||||||
boolean controllo = true; |
|
||||||
DettPratica dettPratica = null; |
|
||||||
if (DettPratica.class.getName().equals(docPratica.getClassName())) { |
|
||||||
dettPratica = DettPraticaServiceUtil.getDettPratica(docPratica.getClassPk()); |
|
||||||
controllo = dettPratica.praticaIsEditable(); |
|
||||||
} |
|
||||||
if (controllo) { |
|
||||||
User user = UserLocalServiceUtil.getUser(userId); |
|
||||||
long owner = 0L; |
|
||||||
long intPraticaId = 0L; |
|
||||||
if (DettPratica.class.getName().equals(docPratica.getClassName())) { |
|
||||||
intPraticaId = dettPratica.getIntPraticaId(); |
|
||||||
owner = dettPratica.getUserId(); |
|
||||||
} else if (FineLavori.class.getName().equals(docPratica.getClassName())) { |
|
||||||
FineLavori fineLavori = FineLavoriServiceUtil.getFineLavori(docPratica.getClassPk()); |
|
||||||
owner = fineLavori.getUserId(); |
|
||||||
} else if (Collaudo.class.getName().equals(docPratica.getClassName())) { |
|
||||||
Collaudo collaudo = CollaudoServiceUtil.getCollaudo(docPratica.getClassPk()); |
|
||||||
owner = collaudo.getUserId(); |
|
||||||
} |
|
||||||
if (user.getUserId() == owner) { |
|
||||||
controllo = true; |
|
||||||
} else if (DettPratica.class.getName().equals(docPratica.getClassName())) { |
|
||||||
List<Delega> deleghe = findDeleghe(intPraticaId, sezioneGeologica); |
|
||||||
controllo = false; |
|
||||||
if (!deleghe.isEmpty()) { |
|
||||||
controllo = false; |
|
||||||
for (Delega delega : deleghe) { |
|
||||||
if (delega.getCodiceFiscale().equalsIgnoreCase(user.getScreenName())) { |
|
||||||
controllo = true; |
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} else { |
|
||||||
controllo = false; |
|
||||||
} |
|
||||||
} |
|
||||||
return controllo; |
|
||||||
} |
|
||||||
|
|
||||||
private static List<Delega> findDeleghe(long intPraticaid, boolean sezioneGeologica) throws SystemException { |
|
||||||
|
|
||||||
List<Delega> deleghe = new ArrayList<Delega>(); |
|
||||||
deleghe.addAll(DelegaLocalServiceUtil.findByIntPratica_Tipologia_InEsito(intPraticaid, |
|
||||||
DelegheUtil.TIPO_COMPILAZIONE, new String[] { DelegheUtil.STATO_ASSEGNATA }, QueryUtil.ALL_POS, |
|
||||||
QueryUtil.ALL_POS, null)); |
|
||||||
deleghe.addAll(DelegaLocalServiceUtil.findByIntPratica_Tipologia_InEsito(intPraticaid, |
|
||||||
DelegheUtil.TIPO_FIRMA_INSERIMENTO_ALLEGATI, new String[] { DelegheUtil.STATO_ASSEGNATA }, |
|
||||||
QueryUtil.ALL_POS, QueryUtil.ALL_POS, null)); |
|
||||||
if (sezioneGeologica) { |
|
||||||
deleghe.addAll(DelegaLocalServiceUtil.findByIntPratica_Tipologia_InEsito(intPraticaid, |
|
||||||
DelegheUtil.TIPO_GEOLOGO, new String[] { DelegheUtil.STATO_ASSEGNATA }, QueryUtil.ALL_POS, |
|
||||||
QueryUtil.ALL_POS, null)); |
|
||||||
} |
|
||||||
return deleghe; |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean hasDelegaDeleteFile(long userId, long docPraticaId, boolean sezioneGeologica) |
|
||||||
throws PortalException, SystemException { |
|
||||||
|
|
||||||
// TODO completare e controllare
|
|
||||||
DocPratica docPratica = DocPraticaLocalServiceUtil.getDocPratica(docPraticaId); |
|
||||||
DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(docPratica.getClassPk()); |
|
||||||
return dettPratica.praticaIsEditable(); |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean hasCambioStatoDelega(long userId, long delegaId) throws PortalException, SystemException { |
|
||||||
|
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean hasCreazioneDelega(long userId, long intPraticaId) throws PortalException, SystemException { |
|
||||||
|
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean hasDeleteDelega(long userId, long intPraticaId) throws PortalException, SystemException { |
|
||||||
|
|
||||||
return hasCreazioneDelega(userId, intPraticaId); |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean hasAnnullaDelega(long userId, long intPraticaId) throws PortalException, SystemException { |
|
||||||
|
|
||||||
return hasCreazioneDelega(userId, intPraticaId); |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean canCompilaDomanda(long userId, long dettPraticaId) throws PortalException, SystemException { |
|
||||||
|
|
||||||
boolean controllo = false; |
|
||||||
User user = UserLocalServiceUtil.getUser(userId); |
|
||||||
DettPratica dettPratica = DettPraticaServiceUtil.getDettPratica(dettPraticaId); |
|
||||||
List<Delega> deleghe = DelegaLocalServiceUtil.findByIntPratica_Tipologia_InEsito(dettPratica.getIntPraticaId(), |
|
||||||
DelegheUtil.TIPO_COMPILAZIONE, new String[] { DelegheUtil.STATO_ASSEGNATA }, QueryUtil.ALL_POS, |
|
||||||
QueryUtil.ALL_POS, null); |
|
||||||
if (deleghe.isEmpty()) { |
|
||||||
if (user.getUserId() == dettPratica.getUserId()) { |
|
||||||
controllo = true; |
|
||||||
} else { |
|
||||||
controllo = false; |
|
||||||
} |
|
||||||
} else { |
|
||||||
controllo = false; |
|
||||||
for (Delega delega : deleghe) { |
|
||||||
if (delega.getCodiceFiscale().equalsIgnoreCase(user.getScreenName())) { |
|
||||||
controllo = true; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
return controllo; |
|
||||||
} |
|
||||||
|
|
||||||
public static Soggetto getPersonaDelegaCompilazioneDomanda(long dettPraticaId) throws SystemException, |
|
||||||
PortalException { |
|
||||||
|
|
||||||
Soggetto soggetto = null; |
|
||||||
DettPratica dettPratica = DettPraticaServiceUtil.getDettPratica(dettPraticaId); |
|
||||||
if (dettPratica.praticaIsEditable()) { |
|
||||||
List<Delega> deleghe = DelegaLocalServiceUtil.findByIntPratica_Tipologia_InEsito( |
|
||||||
dettPratica.getIntPraticaId(), DelegheUtil.TIPO_COMPILAZIONE, |
|
||||||
new String[] { DelegheUtil.STATO_ASSEGNATA }, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); |
|
||||||
if (!deleghe.isEmpty()) { |
|
||||||
for (Delega delega : deleghe) { |
|
||||||
List<Soggetto> soggetti = SoggettoLocalServiceUtil.findByDettPratica_CodiceFiscale(dettPraticaId, |
|
||||||
delega.getCodiceFiscale()); |
|
||||||
for (Soggetto soggettoTmp : soggetti) { |
|
||||||
soggetto = soggettoTmp; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
return soggetto; |
|
||||||
} |
|
||||||
|
|
||||||
public static Soggetto getPersonaDelegaCompilazioneSezioneGeologica(long dettPraticaId) throws SystemException, |
|
||||||
PortalException { |
|
||||||
|
|
||||||
Soggetto soggetto = null; |
|
||||||
DettPratica dettPratica = DettPraticaServiceUtil.getDettPratica(dettPraticaId); |
|
||||||
if (dettPratica.praticaIsEditable()) { |
|
||||||
List<Delega> deleghe = DelegaLocalServiceUtil.findByIntPratica_Tipologia_InEsito( |
|
||||||
dettPratica.getIntPraticaId(), DelegheUtil.TIPO_GEOLOGO, |
|
||||||
new String[] { DelegheUtil.STATO_ASSEGNATA }, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null); |
|
||||||
if (!deleghe.isEmpty()) { |
|
||||||
for (Delega delega : deleghe) { |
|
||||||
List<Soggetto> soggetti = SoggettoLocalServiceUtil.findByDettPratica_CodiceFiscale(dettPraticaId, |
|
||||||
delega.getCodiceFiscale()); |
|
||||||
for (Soggetto soggettoTmp : soggetti) { |
|
||||||
soggetto = soggettoTmp; |
|
||||||
} |
|
||||||
} |
|
||||||
} else { |
|
||||||
soggetto = getPersonaDelegaCompilazioneDomanda(dettPraticaId); |
|
||||||
} |
|
||||||
} |
|
||||||
return soggetto; |
|
||||||
} |
|
||||||
|
|
||||||
public static List<Soggetto> getGeologi(long intPraticaId) throws SystemException { |
|
||||||
|
|
||||||
List<Soggetto> geologi = new ArrayList<Soggetto>(); |
|
||||||
List<Soggetto> soggetti = SoggettoLocalServiceUtil.findByIntPratica(intPraticaId); |
|
||||||
for (Soggetto soggetto : soggetti) { |
|
||||||
if (soggetto.getTipologiaSoggetto().equalsIgnoreCase(TipoSoggettoUtil.GEOLOGO) |
|
||||||
&& Validator.isNull(soggetto.getSostituitoDa())) |
|
||||||
geologi.add(soggetto); |
|
||||||
} |
|
||||||
return geologi; |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean hasDelegaPagamento(long userId, long dettPraticaId) throws PortalException, SystemException { |
|
||||||
|
|
||||||
boolean controllo = false; |
|
||||||
User user = UserLocalServiceUtil.getUser(userId); |
|
||||||
DettPratica dettPratica = DettPraticaServiceUtil.getDettPratica(dettPraticaId); |
|
||||||
List<Delega> deleghe = DelegaLocalServiceUtil.findByIntPratica_Tipologia_InEsito(dettPratica.getIntPraticaId(), |
|
||||||
DelegheUtil.TIPO_PAGAMENTO, new String[] { DelegheUtil.STATO_ASSEGNATA }, QueryUtil.ALL_POS, |
|
||||||
QueryUtil.ALL_POS, null); |
|
||||||
if (deleghe.isEmpty()) { |
|
||||||
if (user.getUserId() == dettPratica.getUserId()) { |
|
||||||
controllo = true; |
|
||||||
} else { |
|
||||||
controllo = false; |
|
||||||
} |
|
||||||
} else { |
|
||||||
controllo = false; |
|
||||||
for (Delega delega : deleghe) { |
|
||||||
if (delega.getCodiceFiscale().equalsIgnoreCase(user.getScreenName())) { |
|
||||||
controllo = true; |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
return controllo; |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean canDoPayment(long userId, long dettPraticaId) throws PortalException, SystemException { |
|
||||||
|
|
||||||
return canCompilaDomanda(userId, dettPraticaId) || hasDelegaPagamento(userId, dettPraticaId); |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean hasDelegheCompilazioneAttive(long dettPraticaId) throws SystemException { |
|
||||||
|
|
||||||
return DelegaLocalServiceUtil.countByDettPratica_Tipologia_InEsito(dettPraticaId, new String[] { |
|
||||||
TIPO_COMPILAZIONE, TIPO_GEOLOGO, TIPO_FIRMA_INSERIMENTO_ALLEGATI }, new String[] { STATO_ASSEGNATA }) > 0; |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean hasDelegaAttiva(long userId, long dettPraticaId) throws PortalException, SystemException { |
|
||||||
|
|
||||||
User user = UserLocalServiceUtil.getUser(userId); |
|
||||||
return DelegaLocalServiceUtil.countByDettPratica_CodiceFiscale_InEsito(dettPraticaId, user.getScreenName(), |
|
||||||
new String[] { STATO_ASSEGNATA }) > 0; |
|
||||||
} |
|
||||||
|
|
||||||
@SuppressWarnings("serial") |
|
||||||
public static final Map<String, String> iconMapper = new HashMap<String, String>() { |
|
||||||
{ |
|
||||||
put(TIPO_TOTALE, "fa-bullseye"); |
|
||||||
put(TIPO_COMPILAZIONE, "fa-pencil"); |
|
||||||
put(TIPO_FIRMA_INSERIMENTO_ALLEGATI, "fa-paperclip"); |
|
||||||
put(TIPO_GEOLOGO, "fa-globe"); |
|
||||||
put(TIPO_COLLAUDO, "fa-cogs"); |
|
||||||
put(TIPO_PAGAMENTO, "fa-eur"); |
|
||||||
put(TIPO_VISUALIZZAZIONE, "fa-eye"); |
|
||||||
put(TIPO_FINE_LAVORI, "fa-window-close"); |
|
||||||
} |
|
||||||
}; |
|
||||||
} |
|
@ -1,258 +0,0 @@ |
|||||||
package it.tref.liferay.portos.bo.util; |
|
||||||
|
|
||||||
import it.mwg.sismica.bo.shared.util.WorkflowConstants; |
|
||||||
import it.tref.liferay.portos.bo.model.Avviso; |
|
||||||
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.ParereGeologo; |
|
||||||
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.ControlloPraticaLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.ParereGeologoLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.ProvinciaLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.SoggettoLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.shared.util.TipoSoggettoUtil; |
|
||||||
import it.tref.liferay.portos.mailmanager.shared.messaging.util.MailManagerUtil; |
|
||||||
import it.tref.liferay.portos.mailmanager.shared.model.FileAttachment; |
|
||||||
|
|
||||||
import java.util.Date; |
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
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.json.JSONObject; |
|
||||||
import com.liferay.portal.kernel.language.LanguageUtil; |
|
||||||
import com.liferay.portal.kernel.log.Log; |
|
||||||
import com.liferay.portal.kernel.log.LogFactoryUtil; |
|
||||||
import com.liferay.portal.kernel.util.FastDateFormatFactoryUtil; |
|
||||||
import com.liferay.portal.kernel.util.LocaleUtil; |
|
||||||
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.UserLocalServiceUtil; |
|
||||||
|
|
||||||
public class MailUtil { |
|
||||||
|
|
||||||
private static final Log _log = LogFactoryUtil.getLog(MailUtil.class); |
|
||||||
|
|
||||||
public static void invioMailNotifica(long intPraticaId, long dettPraticaId, long classPk, String className, |
|
||||||
String[] to, String[] cc, String[] ccn, String templateName, JSONObject templateVariables, |
|
||||||
List<FileAttachment> allegati, ServiceContext serviceContext) throws PortalException, SystemException { |
|
||||||
|
|
||||||
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); |
|
||||||
DettPratica dettPratica = DettPraticaLocalServiceUtil.fetchDettPratica(dettPraticaId); |
|
||||||
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId()); |
|
||||||
Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId()); |
|
||||||
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(territorio.getCompanyId(), |
|
||||||
territorio.getCodiceProvincia()); |
|
||||||
User titolaredigitaleUser = UserLocalServiceUtil.getUser(intPratica.getUserId()); |
|
||||||
List<Soggetto> titolari = SoggettoLocalServiceUtil.getValidByIntPratica_CodiceFiscale( |
|
||||||
intPratica.getIntPraticaId(), titolaredigitaleUser.getScreenName()); |
|
||||||
String titolareDigitale = StringPool.BLANK; |
|
||||||
String titolareDigitaleMail = StringPool.BLANK; |
|
||||||
String titolareDigitaleRoles = StringPool.BLANK; |
|
||||||
if (!titolari.isEmpty()) { |
|
||||||
titolareDigitale = titolari.get(0).getTitle(); |
|
||||||
titolareDigitaleMail = titolari.get(0).getEmail(); |
|
||||||
for (Soggetto titolare : titolari) { |
|
||||||
titolareDigitaleRoles += LanguageUtil.get(LocaleUtil.ITALIAN, |
|
||||||
"gc-soggetto-" + titolare.getTipologiaSoggetto()) |
|
||||||
+ StringPool.SPACE; |
|
||||||
} |
|
||||||
} |
|
||||||
String committenteTitle = StringPool.BLANK; |
|
||||||
String descIntervento = StringPool.BLANK; |
|
||||||
String tempId = StringPool.BLANK; |
|
||||||
if (Validator.isNotNull(dettPratica)) { |
|
||||||
tempId = dettPratica.getTitle(); |
|
||||||
descIntervento = dettPratica.getDescLongIntervento(); |
|
||||||
Soggetto committentePrincipale = SoggettoLocalServiceUtil |
|
||||||
.getValidByIntPratica_CodiceFiscale_TipologiaSoggetto(intPratica.getIntPraticaId(), |
|
||||||
dettPratica.getCodiceFiscalePrincipaleCommittente(), TipoSoggettoUtil.COMMITTENTE); |
|
||||||
if (Validator.isNotNull(committentePrincipale)) { |
|
||||||
committenteTitle = committentePrincipale.getTitle(); |
|
||||||
} |
|
||||||
} |
|
||||||
templateVariables.put("tempId", tempId); |
|
||||||
templateVariables.put("praticaNum", intPratica.getNumeroProgetto()); |
|
||||||
templateVariables.put("titolareDigitale", titolareDigitale); |
|
||||||
templateVariables.put("titolareDigitaleRoles", titolareDigitaleRoles); |
|
||||||
templateVariables.put("titolareDigitaleMail", titolareDigitaleMail); |
|
||||||
templateVariables.put("intervento", descIntervento); |
|
||||||
templateVariables.put("provincia", provincia.getProvincia()); |
|
||||||
templateVariables.put("comune", comune.getDenominazione()); |
|
||||||
templateVariables.put("committente", committenteTitle); |
|
||||||
MailManagerUtil.sendMailByTemplatName(className, classPk, templateName, to, cc, ccn, templateVariables, |
|
||||||
allegati, serviceContext); |
|
||||||
} |
|
||||||
|
|
||||||
// ADT
|
|
||||||
public static void invioNotificaAssegnazioneIstruttore(Avviso avviso) throws PortalException, SystemException { |
|
||||||
|
|
||||||
_log.info("start invioNotificaAssegnazioneIstruttore: avviso_id = " + avviso.getAvvisoId() |
|
||||||
+ " - IntPraticaId = " + avviso.getIntPraticaId()); |
|
||||||
DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(avviso.getClassPk()); |
|
||||||
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(dettPratica.getIntPraticaId()); |
|
||||||
if (avviso.getControlloPraticaId() == 0) { |
|
||||||
_log.info("invioNotificaAssegnazioneIstruttore - skip invio email - controllopratica non trovato per avviso_id = " |
|
||||||
+ avviso.getAvvisoId()); |
|
||||||
AvvisoLocalServiceUtil.updateAvvisoInviatoTecnico(avviso.getAvvisoId(), true); |
|
||||||
return; |
|
||||||
} |
|
||||||
ControlloPratica controlloPratica = ControlloPraticaLocalServiceUtil.getControlloPratica(avviso |
|
||||||
.getControlloPraticaId()); |
|
||||||
ServiceContext serviceContext = new ServiceContext(); |
|
||||||
serviceContext.setCompanyId(controlloPratica.getCompanyId()); |
|
||||||
serviceContext.setScopeGroupId(controlloPratica.getGroupId()); |
|
||||||
serviceContext.setUserId(controlloPratica.getUserId()); |
|
||||||
User tecnicoIstruttore = recuperaTecnicoIstruttore(intPratica); |
|
||||||
if (tecnicoIstruttore == null) { |
|
||||||
_log.info("invioNotificaAssegnazioneIstruttore - skip invio email - tecnicoIstruttore non trovato per avviso_id = " |
|
||||||
+ avviso.getAvvisoId()); |
|
||||||
AvvisoLocalServiceUtil.updateAvvisoInviatoTecnico(avviso.getAvvisoId(), true); |
|
||||||
return; |
|
||||||
} |
|
||||||
String[] to = { tecnicoIstruttore.getEmailAddress() }; |
|
||||||
String[] cc = new String[0]; |
|
||||||
String[] ccn = new String[0]; |
|
||||||
// recupero dati
|
|
||||||
String tipoPratica = StringPool.BLANK; |
|
||||||
if (intPratica.isDeposito()) { |
|
||||||
tipoPratica = LanguageUtil.get(LocaleUtil.ITALIAN, "tipo-pratica-01"); |
|
||||||
} else if (intPratica.isAutorizzazione()) { |
|
||||||
tipoPratica = LanguageUtil.get(LocaleUtil.ITALIAN, "tipo-pratica-02"); |
|
||||||
} |
|
||||||
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId()); |
|
||||||
Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId()); |
|
||||||
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(territorio.getCompanyId(), |
|
||||||
territorio.getCodiceProvincia()); |
|
||||||
JSONObject templateVariables = JSONFactoryUtil.createJSONObject(); |
|
||||||
templateVariables.put("receiver", tecnicoIstruttore.getFullName()); |
|
||||||
templateVariables.put("tipoPratica", tipoPratica); |
|
||||||
templateVariables.put("tipoOggetto", "Assegnazione Istruttoria"); |
|
||||||
templateVariables.put( |
|
||||||
"dataInvio", |
|
||||||
FastDateFormatFactoryUtil.getSimpleDateFormat("dd/MM/yyyy HH:mm").format( |
|
||||||
intPratica.getStatusDate() != null ? intPratica.getStatusDate() : new Date())); |
|
||||||
templateVariables.put("praticaNum", intPratica.getNumeroProgetto()); |
|
||||||
templateVariables.put("provincia", provincia.getProvincia()); |
|
||||||
templateVariables.put("comune", comune.getDenominazione()); |
|
||||||
String className = IntPratica.class.getName(); |
|
||||||
long classPk = intPratica.getIntPraticaId(); |
|
||||||
MailManagerUtil.sendMailByTemplatName(className, classPk, "NOTIFICA-BO", to, cc, ccn, templateVariables, null, |
|
||||||
serviceContext); |
|
||||||
AvvisoLocalServiceUtil.updateAvvisoInviatoTecnico(avviso.getAvvisoId(), true); |
|
||||||
} |
|
||||||
|
|
||||||
// Invio notifica istruttore dopo inserimento parere geologo
|
|
||||||
public static void invioNotificaIstruttoreByGeologo(long parereGeologoId, ServiceContext serviceContext) { |
|
||||||
|
|
||||||
_log.info("start invioNotificaIstruttoreByGeologo parereGeologoId=" + parereGeologoId); |
|
||||||
long intPraticaId = 0L; |
|
||||||
try { |
|
||||||
ParereGeologo parereGeologo = ParereGeologoLocalServiceUtil.getParereGeologo(parereGeologoId); |
|
||||||
intPraticaId = parereGeologo.getIntPraticaId(); |
|
||||||
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); |
|
||||||
User tecnicoIstruttore = recuperaTecnicoIstruttore(intPratica); |
|
||||||
_log.info("email tecnico istruttore=" + tecnicoIstruttore.getEmailAddress()); |
|
||||||
String[] to = { tecnicoIstruttore.getEmailAddress() }; |
|
||||||
String[] cc = new String[0]; |
|
||||||
String[] ccn = new String[0]; |
|
||||||
// recupero dati
|
|
||||||
String tipoPratica = StringPool.BLANK; |
|
||||||
if (intPratica.isDeposito()) { |
|
||||||
tipoPratica = LanguageUtil.get(LocaleUtil.ITALIAN, "tipo-pratica-01"); |
|
||||||
} else if (intPratica.isAutorizzazione()) { |
|
||||||
tipoPratica = LanguageUtil.get(LocaleUtil.ITALIAN, "tipo-pratica-02"); |
|
||||||
} |
|
||||||
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId()); |
|
||||||
Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId()); |
|
||||||
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(territorio.getCompanyId(), |
|
||||||
territorio.getCodiceProvincia()); |
|
||||||
JSONObject templateVariables = JSONFactoryUtil.createJSONObject(); |
|
||||||
templateVariables.put("receiver", tecnicoIstruttore.getFullName()); |
|
||||||
templateVariables.put("tipoPratica", tipoPratica); |
|
||||||
templateVariables.put("tipoOggetto", "Risposta a Richiesta Parere Endoprocedimentale"); |
|
||||||
templateVariables |
|
||||||
.put("dataInvio", |
|
||||||
FastDateFormatFactoryUtil.getSimpleDateFormat("dd/MM/yyyy HH:mm").format( |
|
||||||
parereGeologo.getDtCompilazione() != null ? parereGeologo.getDtCompilazione() |
|
||||||
: new Date())); |
|
||||||
templateVariables.put("praticaNum", intPratica.getNumeroProgetto()); |
|
||||||
templateVariables.put("provincia", provincia.getProvincia()); |
|
||||||
templateVariables.put("comune", comune.getDenominazione()); |
|
||||||
String className = ParereGeologo.class.getName(); |
|
||||||
long classPk = parereGeologoId; |
|
||||||
MailManagerUtil.sendMailByTemplatName(className, classPk, "NOTIFICA-BO", to, cc, ccn, templateVariables, |
|
||||||
null, serviceContext); |
|
||||||
} catch (Exception e) { |
|
||||||
_log.error("invioNotificaIstruttoreByGeologo - Errore invio mail al tecnico istruttore per pratica id=" |
|
||||||
+ intPraticaId, e); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public static void invioNotificaGeologo(ParereGeologo parereGeologo, ServiceContext serviceContext) { |
|
||||||
|
|
||||||
_log.info("start invioNotificaGeologo parereGeologo=" + parereGeologo.getParereGeologoId()); |
|
||||||
try { |
|
||||||
User geologo = UserLocalServiceUtil.getUser(parereGeologo.getGeologoUserId()); |
|
||||||
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(parereGeologo.getIntPraticaId()); |
|
||||||
_log.info("email geologo = " + geologo.getEmailAddress()); |
|
||||||
String[] to = { geologo.getEmailAddress() }; |
|
||||||
String[] cc = new String[0]; |
|
||||||
String[] ccn = new String[0]; |
|
||||||
String tipoPratica = StringPool.BLANK; |
|
||||||
if (intPratica.isDeposito()) { |
|
||||||
tipoPratica = LanguageUtil.get(LocaleUtil.ITALIAN, "tipo-pratica-01"); |
|
||||||
} else if (intPratica.isAutorizzazione()) { |
|
||||||
tipoPratica = LanguageUtil.get(LocaleUtil.ITALIAN, "tipo-pratica-02"); |
|
||||||
} |
|
||||||
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId()); |
|
||||||
Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId()); |
|
||||||
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(territorio.getCompanyId(), |
|
||||||
territorio.getCodiceProvincia()); |
|
||||||
JSONObject templateVariables = JSONFactoryUtil.createJSONObject(); |
|
||||||
templateVariables.put("receiver", geologo.getFullName()); |
|
||||||
templateVariables.put("tipoPratica", tipoPratica); |
|
||||||
templateVariables.put("tipoOggetto", "Richiesta Parere"); |
|
||||||
templateVariables |
|
||||||
.put("dataInvio", |
|
||||||
FastDateFormatFactoryUtil.getSimpleDateFormat("dd/MM/yyyy HH:mm").format( |
|
||||||
parereGeologo.getDtCompilazione() != null ? parereGeologo.getDtCompilazione() |
|
||||||
: new Date())); |
|
||||||
templateVariables.put("praticaNum", intPratica.getNumeroProgetto()); |
|
||||||
templateVariables.put("provincia", provincia.getProvincia()); |
|
||||||
templateVariables.put("comune", comune.getDenominazione()); |
|
||||||
String className = ParereGeologo.class.getName(); |
|
||||||
long classPk = parereGeologo.getParereGeologoId(); |
|
||||||
MailManagerUtil.sendMailByTemplatName(className, classPk, "NOTIFICA-GEOLOGO", to, cc, ccn, |
|
||||||
templateVariables, null, serviceContext); |
|
||||||
} catch (Exception e) { |
|
||||||
_log.error( |
|
||||||
"invioNotificaGeologo - Errore invio mail al geologo - ParereGeologoId=" |
|
||||||
+ parereGeologo.getParereGeologoId(), e); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public static User recuperaTecnicoIstruttore(IntPratica intPratica) throws PortalException, SystemException { |
|
||||||
|
|
||||||
long statusByUserId = intPratica.getStatusByUserId(); |
|
||||||
User istruttoreUser = null; |
|
||||||
if (Validator.isNotNull(statusByUserId) && intPratica.getStatus() != WorkflowConstants.STATUS_DRAFT) { |
|
||||||
istruttoreUser = UserLocalServiceUtil.getUser(statusByUserId); |
|
||||||
_log.info("istruttore pratica id=" + intPratica.getIntPraticaId() + StringPool.COLON |
|
||||||
+ istruttoreUser.getScreenName() + StringPool.SPACE + istruttoreUser.getEmailAddress()); |
|
||||||
} |
|
||||||
return istruttoreUser; |
|
||||||
} |
|
||||||
} |
|
@ -1,181 +0,0 @@ |
|||||||
package it.tref.liferay.portos.bo.util; |
|
||||||
|
|
||||||
import it.tref.liferay.portos.bo.model.Collaudo; |
|
||||||
import it.tref.liferay.portos.bo.model.DettPratica; |
|
||||||
import it.tref.liferay.portos.bo.model.FineLavori; |
|
||||||
import it.tref.liferay.portos.bo.model.IntPratica; |
|
||||||
import it.tref.liferay.portos.bo.model.Pagamento; |
|
||||||
import it.tref.liferay.portos.bo.service.CollaudoLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.ConfigurazioneLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.FineLavoriLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.PagamentoLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.shared.util.ConfigurazioneConstants; |
|
||||||
import it.tref.liferay.portos.bo.shared.util.Constants; |
|
||||||
import it.tref.liferay.portos.bo.shared.util.PagamentoConstants; |
|
||||||
import it.tref.liferay.portos.bo.shared.util.TipoIntegrazioneUtil; |
|
||||||
|
|
||||||
import java.math.BigDecimal; |
|
||||||
import java.util.HashMap; |
|
||||||
import java.util.Map; |
|
||||||
|
|
||||||
import com.liferay.portal.kernel.exception.PortalException; |
|
||||||
import com.liferay.portal.kernel.exception.SystemException; |
|
||||||
import com.liferay.portal.kernel.log.Log; |
|
||||||
import com.liferay.portal.kernel.log.LogFactoryUtil; |
|
||||||
import com.liferay.portal.kernel.util.Validator; |
|
||||||
|
|
||||||
public abstract class PagamentiCommonUtil { |
|
||||||
|
|
||||||
private static Log _log = LogFactoryUtil.getLog(PagamentiCommonUtil.class); |
|
||||||
|
|
||||||
private static final Map<String, Integer> NUMERO_BOLLI_INTEGRAZIONE = new HashMap<String, Integer>() { |
|
||||||
{ |
|
||||||
put(TipoIntegrazioneUtil.RICHIESTA_INTEGRAZIONE, 0); |
|
||||||
put(TipoIntegrazioneUtil.FINE_LAVORI_PARZIALE, 2); |
|
||||||
put(TipoIntegrazioneUtil.FINE_LAVORI, 2); |
|
||||||
put(TipoIntegrazioneUtil.COLLAUDO_PARZIALE, 2); |
|
||||||
put(TipoIntegrazioneUtil.COLLAUDO, 2); |
|
||||||
put(TipoIntegrazioneUtil.VARIANTE, 2); |
|
||||||
put(TipoIntegrazioneUtil.VARIAZIONE_SOGGETTO, 0); |
|
||||||
} |
|
||||||
}; |
|
||||||
|
|
||||||
public static boolean isPagamentoRidotto(long dettPraticaId) throws Exception { |
|
||||||
|
|
||||||
DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(dettPraticaId); |
|
||||||
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(dettPratica.getIntPraticaId()); |
|
||||||
return intPratica.getTipoPratica().equals(Constants.TIPO_PRATICA_DEPOSITO); |
|
||||||
} |
|
||||||
|
|
||||||
public static BigDecimal getImportoBolli(long companyId, long classPK, String className, String tipoIntegrazione) |
|
||||||
throws PortalException, SystemException { |
|
||||||
|
|
||||||
try { |
|
||||||
boolean normEsenteBollo = false; |
|
||||||
if (DettPratica.class.getName().equals(className)) { |
|
||||||
DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(classPK); |
|
||||||
normEsenteBollo = dettPratica.isNormEsenteBollo(); |
|
||||||
} else if (FineLavori.class.getName().equals(className)) { |
|
||||||
FineLavori fineLavori = FineLavoriLocalServiceUtil.getFineLavori(classPK); |
|
||||||
normEsenteBollo = fineLavori.isNormEsenteBollo(); |
|
||||||
} else if (Collaudo.class.getName().equals(className)) { |
|
||||||
Collaudo collaudo = CollaudoLocalServiceUtil.getCollaudo(classPK); |
|
||||||
normEsenteBollo = collaudo.isNormEsenteBollo(); |
|
||||||
} |
|
||||||
if (normEsenteBollo) { |
|
||||||
return new BigDecimal("0.00"); |
|
||||||
} |
|
||||||
} catch (PortalException e) {} |
|
||||||
int numeroBolli = getNumeroBolli(tipoIntegrazione); |
|
||||||
BigDecimal importoBolliBigDecimal = new BigDecimal(ConfigurazioneLocalServiceUtil.findByC_ChiaveString( |
|
||||||
companyId, ConfigurazioneConstants.IMPORTO_BOLLO)); |
|
||||||
return importoBolliBigDecimal.multiply(new BigDecimal(numeroBolli)); |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
public static Integer getNumeroBolli(String tipoIntegrazione) throws PortalException, SystemException { |
|
||||||
|
|
||||||
if (Validator.isNull(tipoIntegrazione)) { |
|
||||||
return 2; |
|
||||||
} else { |
|
||||||
return getNumeroBolliByTipoIntegrazione(tipoIntegrazione); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
private static Integer getNumeroBolliByTipoIntegrazione(String tipoIntegrazione) { |
|
||||||
|
|
||||||
return NUMERO_BOLLI_INTEGRAZIONE.get(tipoIntegrazione); |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean existsSpeseIstruttoria(String tipoIntegrazione) { |
|
||||||
|
|
||||||
return !TipoIntegrazioneUtil.FINE_LAVORI_PARZIALE.equals(tipoIntegrazione) |
|
||||||
&& !TipoIntegrazioneUtil.FINE_LAVORI.equals(tipoIntegrazione) |
|
||||||
&& !TipoIntegrazioneUtil.COLLAUDO_PARZIALE.equals(tipoIntegrazione) |
|
||||||
&& !TipoIntegrazioneUtil.COLLAUDO.equals(tipoIntegrazione); |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean pagamentiInitialized(long classPK, String className) throws PortalException, SystemException { |
|
||||||
|
|
||||||
boolean normEsenteSpese = false; |
|
||||||
boolean normEsenteBollo = false; |
|
||||||
long pagamentoIdSpese = 0L; |
|
||||||
long pagamentoIdBolli = 0L; |
|
||||||
if (DettPratica.class.getName().equals(className)) { |
|
||||||
DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(classPK); |
|
||||||
normEsenteSpese = dettPratica.isNormEsenteSpese(); |
|
||||||
normEsenteBollo = dettPratica.isNormEsenteBollo(); |
|
||||||
pagamentoIdSpese = dettPratica.getPagamentoIdOneri(); |
|
||||||
pagamentoIdBolli = dettPratica.getPagamentoIdBolli(); |
|
||||||
} else if (FineLavori.class.getName().equals(className)) { |
|
||||||
FineLavori fineLavori = FineLavoriLocalServiceUtil.getFineLavori(classPK); |
|
||||||
normEsenteSpese = true; |
|
||||||
normEsenteBollo = fineLavori.isNormEsenteBollo(); |
|
||||||
pagamentoIdSpese = 0L; |
|
||||||
pagamentoIdBolli = fineLavori.getPagamentoId(); |
|
||||||
} else if (Collaudo.class.getName().equals(className)) { |
|
||||||
Collaudo collaudo = CollaudoLocalServiceUtil.getCollaudo(classPK); |
|
||||||
normEsenteSpese = true; |
|
||||||
normEsenteBollo = collaudo.isNormEsenteBollo(); |
|
||||||
pagamentoIdSpese = 0L; |
|
||||||
pagamentoIdBolli = collaudo.getPagamentoId(); |
|
||||||
} |
|
||||||
if (!normEsenteBollo && !normEsenteSpese) { |
|
||||||
return Validator.isNotNull(pagamentoIdBolli) || Validator.isNotNull(pagamentoIdSpese); |
|
||||||
} else if (normEsenteBollo) { |
|
||||||
return Validator.isNotNull(pagamentoIdSpese); |
|
||||||
} else if (normEsenteSpese) { |
|
||||||
return Validator.isNotNull(pagamentoIdBolli); |
|
||||||
} |
|
||||||
return false; |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean pagamentiCompleted(long classPK, String className) throws PortalException, SystemException { |
|
||||||
|
|
||||||
boolean normEsenteSpese = false; |
|
||||||
boolean normEsenteBollo = false; |
|
||||||
long pagamentoIdSpese = 0; |
|
||||||
long pagamentoIdBolli = 0; |
|
||||||
|
|
||||||
if (DettPratica.class.getName().equals(className)) { |
|
||||||
DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(classPK); |
|
||||||
normEsenteSpese = dettPratica.isNormEsenteSpese(); |
|
||||||
normEsenteBollo = dettPratica.isNormEsenteBollo(); |
|
||||||
pagamentoIdSpese = dettPratica.getPagamentoIdOneri(); |
|
||||||
pagamentoIdBolli = dettPratica.getPagamentoIdBolli(); |
|
||||||
} else if (FineLavori.class.getName().equals(className)) { |
|
||||||
FineLavori fineLavori = FineLavoriLocalServiceUtil.getFineLavori(classPK); |
|
||||||
normEsenteSpese = true; |
|
||||||
normEsenteBollo = fineLavori.isNormEsenteBollo(); |
|
||||||
pagamentoIdSpese = 0L; |
|
||||||
pagamentoIdBolli = fineLavori.getPagamentoId(); |
|
||||||
} else if (Collaudo.class.getName().equals(className)) { |
|
||||||
Collaudo collaudo = CollaudoLocalServiceUtil.getCollaudo(classPK); |
|
||||||
normEsenteSpese = true; |
|
||||||
normEsenteBollo = collaudo.isNormEsenteBollo(); |
|
||||||
pagamentoIdSpese = 0L; |
|
||||||
pagamentoIdBolli = collaudo.getPagamentoId(); |
|
||||||
} |
|
||||||
boolean completed = false; |
|
||||||
if (!normEsenteBollo && !normEsenteSpese) { |
|
||||||
if (Validator.isNull(pagamentoIdBolli) || Validator.isNull(pagamentoIdSpese)) { |
|
||||||
return false; |
|
||||||
} |
|
||||||
Pagamento pagamentoBolli = PagamentoLocalServiceUtil.getPagamento(pagamentoIdBolli); |
|
||||||
Pagamento pagamentoSpese = PagamentoLocalServiceUtil.getPagamento(pagamentoIdSpese); |
|
||||||
completed = PagamentoConstants.UTILIZZATA_PAGATA.equalsIgnoreCase(pagamentoBolli.getUtilizzata()) |
|
||||||
&& PagamentoConstants.UTILIZZATA_PAGATA.equalsIgnoreCase(pagamentoSpese.getUtilizzata()); |
|
||||||
} else { |
|
||||||
if (normEsenteBollo && Validator.isNotNull(pagamentoIdSpese)) { |
|
||||||
Pagamento pagamentoSpese = PagamentoLocalServiceUtil.getPagamento(pagamentoIdSpese); |
|
||||||
completed = PagamentoConstants.UTILIZZATA_PAGATA.equalsIgnoreCase(pagamentoSpese.getUtilizzata()); |
|
||||||
} else if (normEsenteSpese && Validator.isNotNull(pagamentoIdBolli)) { |
|
||||||
Pagamento pagamentoBolli = PagamentoLocalServiceUtil.getPagamento(pagamentoIdBolli); |
|
||||||
completed = PagamentoConstants.UTILIZZATA_PAGATA.equalsIgnoreCase(pagamentoBolli.getUtilizzata()); |
|
||||||
} |
|
||||||
} |
|
||||||
return completed; |
|
||||||
} |
|
||||||
} |
|
@ -1,142 +0,0 @@ |
|||||||
package it.tref.liferay.portos.bo.util; |
|
||||||
|
|
||||||
import it.tref.liferay.portos.bo.model.Collaudo; |
|
||||||
import it.tref.liferay.portos.bo.model.DettPratica; |
|
||||||
import it.tref.liferay.portos.bo.model.FineLavori; |
|
||||||
import it.tref.liferay.portos.bo.model.Pagamento; |
|
||||||
import it.tref.liferay.portos.bo.service.CollaudoLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.FineLavoriLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.service.PagamentoLocalServiceUtil; |
|
||||||
import it.tref.liferay.portos.bo.shared.util.PagamentoConstants; |
|
||||||
import it.tref.liferay.portos.bo.shared.util.TipoIntegrazioneUtil; |
|
||||||
|
|
||||||
import java.math.BigDecimal; |
|
||||||
import java.util.ArrayList; |
|
||||||
import java.util.Calendar; |
|
||||||
import java.util.Date; |
|
||||||
import java.util.List; |
|
||||||
|
|
||||||
import com.liferay.portal.kernel.exception.PortalException; |
|
||||||
import com.liferay.portal.kernel.exception.SystemException; |
|
||||||
import com.liferay.portal.kernel.util.CalendarFactoryUtil; |
|
||||||
import com.liferay.portal.kernel.util.StringPool; |
|
||||||
import com.liferay.portal.kernel.util.Validator; |
|
||||||
import com.liferay.portal.service.ServiceContext; |
|
||||||
|
|
||||||
public abstract class PagamentiUtil { |
|
||||||
|
|
||||||
public static BigDecimal getImportoBolli(long companyId, long dettPraticaId, String tipoIntegrazione) |
|
||||||
throws PortalException, SystemException { |
|
||||||
|
|
||||||
return PagamentiCommonUtil.getImportoBolli(companyId, dettPraticaId, DettPratica.class.getName(), |
|
||||||
tipoIntegrazione); |
|
||||||
} |
|
||||||
|
|
||||||
public static Date getScadenzaPending() { |
|
||||||
|
|
||||||
Calendar calendar = CalendarFactoryUtil.getCalendar(); |
|
||||||
calendar.add(Calendar.MINUTE, -30); |
|
||||||
return calendar.getTime(); |
|
||||||
} |
|
||||||
|
|
||||||
public static boolean isPagamentoScadutoInPending(Pagamento pagamento) { |
|
||||||
|
|
||||||
return pagamento.getCreateDate().compareTo(getScadenzaPending()) < 0; |
|
||||||
} |
|
||||||
|
|
||||||
public static Pagamento nuovoPagamento(String currentURL, long classPk, String className, String tipoPagamento, |
|
||||||
String importo, String codiceFiscaleCommittente, ServiceContext serviceContext) throws PortalException, |
|
||||||
SystemException { |
|
||||||
|
|
||||||
boolean esenzioneBolli = false; |
|
||||||
boolean esenzioneSpeseIstruttoria = false; |
|
||||||
String tipoIntegrazione = StringPool.BLANK; |
|
||||||
long pagamentoId = 0L; |
|
||||||
if (DettPratica.class.getName().equals(className)) { |
|
||||||
DettPratica dettPratica = DettPraticaLocalServiceUtil.getDettPratica(classPk); |
|
||||||
esenzioneBolli = dettPratica.isNormEsenteBollo(); |
|
||||||
esenzioneSpeseIstruttoria = dettPratica.isNormEsenteSpese(); |
|
||||||
tipoIntegrazione = dettPratica.getTipoIntegrazione(); |
|
||||||
if (PagamentoConstants.PAGAMENTO_ONERI.equals(tipoPagamento)) { |
|
||||||
pagamentoId = dettPratica.getPagamentoIdOneri(); |
|
||||||
} else if (PagamentoConstants.PAGAMENTO_BOLLI.equals(tipoPagamento)) { |
|
||||||
pagamentoId = dettPratica.getPagamentoIdBolli(); |
|
||||||
} |
|
||||||
} else if (FineLavori.class.getName().equals(className)) { |
|
||||||
FineLavori fineLavori = FineLavoriLocalServiceUtil.getFineLavori(classPk); |
|
||||||
esenzioneBolli = fineLavori.isNormEsenteBollo(); |
|
||||||
esenzioneSpeseIstruttoria = true; |
|
||||||
tipoIntegrazione = TipoIntegrazioneUtil.FINE_LAVORI; |
|
||||||
if (PagamentoConstants.PAGAMENTO_ONERI.equals(tipoPagamento)) { |
|
||||||
throw new SystemException("error.fields.fineLavori.pagamento.classPk.invalid"); |
|
||||||
} else if (PagamentoConstants.PAGAMENTO_BOLLI.equals(tipoPagamento)) { |
|
||||||
pagamentoId = fineLavori.getPagamentoId(); |
|
||||||
} |
|
||||||
} else if (Collaudo.class.getName().equals(className)) { |
|
||||||
Collaudo collaudo = CollaudoLocalServiceUtil.getCollaudo(classPk); |
|
||||||
esenzioneBolli = collaudo.isNormEsenteBollo(); |
|
||||||
esenzioneSpeseIstruttoria = true; |
|
||||||
tipoIntegrazione = TipoIntegrazioneUtil.COLLAUDO; |
|
||||||
if (PagamentoConstants.PAGAMENTO_ONERI.equals(tipoPagamento)) { |
|
||||||
throw new SystemException("error.fields.collaudo.pagamento.classPk.invalid"); |
|
||||||
} else if (PagamentoConstants.PAGAMENTO_BOLLI.equals(tipoPagamento)) { |
|
||||||
pagamentoId = collaudo.getPagamentoId(); |
|
||||||
} |
|
||||||
} else { |
|
||||||
throw new SystemException("error.fields.pratica.pagamento.classPk.invalid"); |
|
||||||
} |
|
||||||
List<String> importi = new ArrayList<>(); |
|
||||||
if (esenzioneSpeseIstruttoria && esenzioneBolli) { |
|
||||||
throw new SystemException("error.fields.pratica.pagamento.esente.oneri.bolli"); |
|
||||||
} else { |
|
||||||
if ((PagamentoConstants.PAGAMENTO_BOLLI.equals(tipoPagamento) && !esenzioneBolli) |
|
||||||
|| (PagamentoConstants.PAGAMENTO_ONERI.equals(tipoPagamento) && !esenzioneSpeseIstruttoria)) { |
|
||||||
if (Validator.isNotNull(importo)) { |
|
||||||
importo = importo.replaceAll(StringPool.COMMA, StringPool.PERIOD); |
|
||||||
try { |
|
||||||
BigDecimal importoVal = new BigDecimal(importo); |
|
||||||
importo = importoVal.toPlainString(); |
|
||||||
if (PagamentoConstants.PAGAMENTO_BOLLI.equals(tipoPagamento)) { |
|
||||||
int numeroBolli = PagamentiCommonUtil.getNumeroBolli(tipoIntegrazione); |
|
||||||
BigDecimal singoloImporto = importoVal.divide(new BigDecimal(numeroBolli)); |
|
||||||
for (int i = 0; i < numeroBolli; i++) { |
|
||||||
importi.add(singoloImporto.toPlainString()); |
|
||||||
} |
|
||||||
} else if (PagamentoConstants.PAGAMENTO_ONERI.equals(tipoPagamento)) { |
|
||||||
importi.add(importo); |
|
||||||
} |
|
||||||
} catch (NumberFormatException e) { |
|
||||||
throw new SystemException("error.fields.pratica.pagamento." |
|
||||||
+ (PagamentoConstants.PAGAMENTO_BOLLI.equals(tipoPagamento) ? "bolli" |
|
||||||
: "speseistruttoria") + ".valid", e); |
|
||||||
} |
|
||||||
} else { |
|
||||||
if (PagamentoConstants.PAGAMENTO_BOLLI.equals(tipoPagamento) |
|
||||||
|| PagamentiCommonUtil.existsSpeseIstruttoria(tipoIntegrazione)) { |
|
||||||
throw new SystemException("error.fields.pratica.pagamento." |
|
||||||
+ (PagamentoConstants.PAGAMENTO_BOLLI.equals(tipoPagamento) ? "bolli" |
|
||||||
: "speseistruttoria") + ".required"); |
|
||||||
} |
|
||||||
} |
|
||||||
} else { |
|
||||||
return null; |
|
||||||
} |
|
||||||
} |
|
||||||
boolean add = true; |
|
||||||
if (Validator.isNotNull(pagamentoId)) { |
|
||||||
Pagamento pagamento = PagamentoLocalServiceUtil.getPagamento(pagamentoId); |
|
||||||
if (pagamento.getClassPk() == classPk) { |
|
||||||
add = false; |
|
||||||
PagamentoLocalServiceUtil.updatePagamento(pagamentoId, codiceFiscaleCommittente, importo); |
|
||||||
} |
|
||||||
return pagamento; |
|
||||||
} |
|
||||||
if (add) { |
|
||||||
return PagamentoLocalServiceUtil.addPagamentoAndUpdate(StringPool.BLANK, StringPool.BLANK, |
|
||||||
PagamentoConstants.MEZZO_MANUALE, codiceFiscaleCommittente, tipoPagamento, importo, |
|
||||||
PagamentoConstants.UTILIZZATA_IN_CORSO, classPk, className, serviceContext); |
|
||||||
} |
|
||||||
return null; |
|
||||||
} |
|
||||||
} |
|
@ -0,0 +1,35 @@ |
|||||||
|
package it.mwg.sismica.bo.shared.util; |
||||||
|
|
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
public class DelegheUtil { |
||||||
|
|
||||||
|
public static final String STATO_ASSEGNATA = "AS"; |
||||||
|
public static final String STATO_ESEGUITA = "ES"; |
||||||
|
public static final String STATO_ANNULLATA = "AN"; |
||||||
|
public static final String STATO_RIFIUTATA = "RI"; |
||||||
|
|
||||||
|
public static final String TIPO_TOTALE = "TT"; |
||||||
|
public static final String TIPO_COMPILAZIONE = "CO"; |
||||||
|
public static final String TIPO_GEOLOGO = "GE"; |
||||||
|
public static final String TIPO_FIRMA_INSERIMENTO_ALLEGATI = "FI"; |
||||||
|
public static final String TIPO_PAGAMENTO = "PG"; |
||||||
|
public static final String TIPO_VISUALIZZAZIONE = "VI"; |
||||||
|
public static final String TIPO_FINE_LAVORI = "FL"; |
||||||
|
public static final String TIPO_COLLAUDO = "CL"; |
||||||
|
|
||||||
|
@SuppressWarnings("serial") |
||||||
|
public static final Map<String, String> iconMapper = new HashMap<String, String>() { |
||||||
|
{ |
||||||
|
put(TIPO_TOTALE, "fa-bullseye"); |
||||||
|
put(TIPO_COMPILAZIONE, "fa-pencil"); |
||||||
|
put(TIPO_FIRMA_INSERIMENTO_ALLEGATI, "fa-paperclip"); |
||||||
|
put(TIPO_GEOLOGO, "fa-globe"); |
||||||
|
put(TIPO_COLLAUDO, "fa-cogs"); |
||||||
|
put(TIPO_PAGAMENTO, "fa-eur"); |
||||||
|
put(TIPO_VISUALIZZAZIONE, "fa-eye"); |
||||||
|
put(TIPO_FINE_LAVORI, "fa-window-close"); |
||||||
|
} |
||||||
|
}; |
||||||
|
} |
Some files were not shown because too many files have changed in this diff Show More
Caricamento…
Reference in new issue