|
|
|
@ -32,10 +32,19 @@ import java.util.HashMap;
|
|
|
|
|
import java.util.List; |
|
|
|
|
import java.util.Locale; |
|
|
|
|
import java.util.Map; |
|
|
|
|
import java.util.Map.Entry; |
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
|
|
|
|
|
|
import org.apache.commons.lang.StringUtils; |
|
|
|
|
import org.apache.http.HttpResponse; |
|
|
|
|
import org.apache.http.client.methods.HttpPost; |
|
|
|
|
import org.apache.http.entity.mime.HttpMultipartMode; |
|
|
|
|
import org.apache.http.entity.mime.MultipartEntityBuilder; |
|
|
|
|
import org.apache.http.entity.mime.content.ByteArrayBody; |
|
|
|
|
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.exception.PortalException; |
|
|
|
@ -45,10 +54,8 @@ import com.liferay.portal.kernel.json.JSONFactoryUtil;
|
|
|
|
|
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.Http.FilePart; |
|
|
|
|
import com.liferay.portal.kernel.util.Http.Options; |
|
|
|
|
import com.liferay.portal.kernel.util.HttpUtil; |
|
|
|
|
import com.liferay.portal.kernel.util.LocaleUtil; |
|
|
|
|
import com.liferay.portal.kernel.util.StringPool; |
|
|
|
|
import com.liferay.portal.kernel.util.UniqueList; |
|
|
|
|
import com.liferay.portal.kernel.util.Validator; |
|
|
|
|
import com.liferay.portal.kernel.workflow.WorkflowConstants; |
|
|
|
@ -230,16 +237,6 @@ public class ValidazionePraticaUtil {
|
|
|
|
|
|
|
|
|
|
DettPratica dettPratica = DettPraticaServiceUtil.getLastCompletedByIntPratica(intPraticaId); |
|
|
|
|
|
|
|
|
|
// return Validator.isNotNull(dettPratica)
|
|
|
|
|
// &&
|
|
|
|
|
// userScreenName.equalsIgnoreCase(dettPratica.getCodiceFiscaleDelegatoFineLavori())
|
|
|
|
|
// &&
|
|
|
|
|
// FineLavoriLocalServiceUtil.countByIntPraticaId_Parziale(intPraticaId,
|
|
|
|
|
// false) == 0
|
|
|
|
|
// && !praticaHasFineLavoriInProgress(intPraticaId) &&
|
|
|
|
|
// !praticaHasVarianteInProgress(intPraticaId)
|
|
|
|
|
// && !praticaHasIntegrazioneInProgress(intPraticaId);
|
|
|
|
|
|
|
|
|
|
return Validator.isNotNull(dettPratica) |
|
|
|
|
&& userScreenName.equalsIgnoreCase(dettPratica.getCodiceFiscaleDelegatoFineLavori()) |
|
|
|
|
&& FineLavoriLocalServiceUtil.countByIntPraticaId_Parziale_Completata(intPraticaId, false, |
|
|
|
@ -452,21 +449,6 @@ public class ValidazionePraticaUtil {
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static boolean isDelegaGeologoCompleted(long dettPraticaId) throws PortalException, |
|
|
|
|
SystemException { |
|
|
|
|
|
|
|
|
|
return hasDelegaGeologoCompleted(dettPraticaId).isEmpty(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static List<String> hasDelegaGeologoCompleted(long dettPraticaId) throws PortalException, |
|
|
|
|
SystemException { |
|
|
|
|
|
|
|
|
|
List<String> notCompleted = notCompletedDatiSezionGeologica(dettPraticaId); |
|
|
|
|
notCompleted.addAll(notCompletedAllegatiSezionGeologicaDelega(dettPraticaId)); |
|
|
|
|
|
|
|
|
|
return notCompleted; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static List<String> notCompletedDettagliPrincipali(long dettPraticaId) throws PortalException, |
|
|
|
|
SystemException { |
|
|
|
|
|
|
|
|
@ -830,7 +812,7 @@ public class ValidazionePraticaUtil {
|
|
|
|
|
return notCompleted; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static List<String> notCompletedSezioneGeologica(long dettPraticaId) throws PortalException, |
|
|
|
|
public static List<String> notCompletedSezioneGeologica(long dettPraticaId) throws PortalException, |
|
|
|
|
SystemException { |
|
|
|
|
|
|
|
|
|
DettPratica dettPratica = DettPraticaServiceUtil.getDettPratica(dettPraticaId); |
|
|
|
@ -864,128 +846,119 @@ public class ValidazionePraticaUtil {
|
|
|
|
|
+ LanguageUtil.get(LocaleUtil.getDefault(), "label-documenti-tipologia-A23")); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
int indaginiGeologiche = DocPraticaLocalServiceUtil.countValidTmpByIntPratica_Tipologie( |
|
|
|
|
dettPratica.getIntPraticaId(), |
|
|
|
|
DocumentiPraticaUtil.getIndaginiGeologiche().toArray(new String[0])); |
|
|
|
|
if (indaginiGeologiche == 0) { |
|
|
|
|
notCompleted.add("Indagini Geologoche non presenti"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(dettPratica.getIntPraticaId()); |
|
|
|
|
|
|
|
|
|
notCompleted.addAll(firmeMancanti(intPratica, dettPratica, DocumentiPraticaUtil.getDocGeologo())); |
|
|
|
|
|
|
|
|
|
return notCompleted; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static List<String> notCompletedDatiSezionGeologica(long dettPraticaId) throws PortalException, |
|
|
|
|
SystemException { |
|
|
|
|
|
|
|
|
|
DettPratica dettPratica = DettPraticaServiceUtil.getDettPratica(dettPraticaId); |
|
|
|
|
private static List<String> firmeMancanti(IntPratica intPratica, DettPratica dettPratica, |
|
|
|
|
List<String> tipologie) throws SystemException { |
|
|
|
|
List<String> notCompleted = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
/*if (Validator.isNull(dettPratica.getGeoDtRelazione())) { |
|
|
|
|
notCompleted.add("geo-dt-relazione"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoClasseIndagine())) { |
|
|
|
|
notCompleted.add("geo-classe-indagine"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoOperaRilevante())) { |
|
|
|
|
notCompleted.add("geo-opera-rilevante"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoCategoriaSottosuolo())) { |
|
|
|
|
notCompleted.add("geo-categoria-sottosuolo"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoCategoriaTopografica())) { |
|
|
|
|
notCompleted.add("geo-categoria-topografica"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoOpereDiSostegno())) { |
|
|
|
|
notCompleted.add("geo-opere-di-sostegno"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoConsolidamento())) { |
|
|
|
|
notCompleted.add("geo-consolidamento"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoOpereInSotterranea())) { |
|
|
|
|
notCompleted.add("geo-opere-in-sotterranea"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoPericolositaGeologica())) { |
|
|
|
|
notCompleted.add("geo-pericolosita-geologica"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoPericolositaGeomorfica())) { |
|
|
|
|
notCompleted.add("geo-pericolosita-geomorfica"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoRischioGeomorfologicoPai())) { |
|
|
|
|
notCompleted.add("geo-rischio-geomorfologico"); |
|
|
|
|
}*/ |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoPericolositaIdraulicaPai())) { |
|
|
|
|
notCompleted.add("geo-pericolosita-idraulica-pai"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoRischioIdraulicoPai())) { |
|
|
|
|
notCompleted.add("geo-rischio-idraulico-pai"); |
|
|
|
|
} |
|
|
|
|
/*if (Validator.isNull(dettPratica.getGeoPericolositaSismica())) { |
|
|
|
|
notCompleted.add("geo-pericolosita-sismica"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoFattibilitaSismica())) { |
|
|
|
|
notCompleted.add("geo-fattibilita-sismica"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoPericolositaIdraulica())) { |
|
|
|
|
notCompleted.add("geo-pericolosita-idraulica"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoFattibilitaIdraulica())) { |
|
|
|
|
notCompleted.add("geo-fattibilita-idraulica"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoFattibilitaGeologica())) { |
|
|
|
|
notCompleted.add("geo-fattibilita-geologica"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoPresenzaPrescrizioni())) { |
|
|
|
|
notCompleted.add("geo-presenza-prescrizioni"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoEvidenzeGeologiche())) { |
|
|
|
|
notCompleted.add("geo-evidenze-geologiche-short"); |
|
|
|
|
List<Soggetto> soggetti = SoggettoLocalServiceUtil.getValidTmpByDettPratica(dettPratica |
|
|
|
|
.getDettPraticaId()); |
|
|
|
|
String cfTitolare = intPratica.getUserName(); |
|
|
|
|
long intPraticaId = intPratica.getIntPraticaId(); |
|
|
|
|
for (String tipologia : tipologie) { |
|
|
|
|
List<DocPratica> docs = DocPraticaLocalServiceUtil.getValidTmpByIntPratica_Tipologia( |
|
|
|
|
intPraticaId, tipologia, QueryUtil.ALL_POS, QueryUtil.ALL_POS); |
|
|
|
|
List<String> firmeMancanti = new UniqueList<>(); |
|
|
|
|
for (DocPratica doc : docs) { |
|
|
|
|
List<String> firmeObbligatorie = getFirmeObbligatorie(tipologia); |
|
|
|
|
FirmeBean firmeBean = FirmeUtil.deserialize(doc.getJsonFirmatari()); |
|
|
|
|
List<String> firmePresenti = firmeBean.allSignatures(); |
|
|
|
|
|
|
|
|
|
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 (!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-" |
|
|
|
|
+ tipologia) |
|
|
|
|
+ ", firme mancanti: " + StringUtils.join(tipologieMancanti, ", ")); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoEvidenzeGeomorfiche())) { |
|
|
|
|
notCompleted.add("geo-evidenze-geomorfiche-short"); |
|
|
|
|
}*/ |
|
|
|
|
|
|
|
|
|
return notCompleted; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static List<String> notCompletedAllegatiSezionGeologicaDelega(long dettPraticaId) |
|
|
|
|
throws PortalException, SystemException { |
|
|
|
|
private static List<String> notCompletedDatiSezionGeologica(long dettPraticaId) throws PortalException, |
|
|
|
|
SystemException { |
|
|
|
|
|
|
|
|
|
DettPratica dettPratica = DettPraticaServiceUtil.getDettPratica(dettPraticaId); |
|
|
|
|
List<String> notCompleted = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
// Allegati obbligatori devono essere presenti
|
|
|
|
|
/* |
|
|
|
|
* int a05 = |
|
|
|
|
* DocPraticaLocalServiceUtil.countValidTmpByIntPratica_Tipologia( |
|
|
|
|
* dettPratica.getIntPraticaId(), |
|
|
|
|
* DocumentiPraticaUtil.TIPOLOGIA_ALLEGATO_A05); |
|
|
|
|
* if (Validator.isNull(dettPratica.getGeoDtRelazione())) { |
|
|
|
|
* notCompleted.add("geo-dt-relazione"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoClasseIndagine())) { |
|
|
|
|
* notCompleted.add("geo-classe-indagine"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoOperaRilevante())) { |
|
|
|
|
* notCompleted.add("geo-opera-rilevante"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoCategoriaSottosuolo())) { |
|
|
|
|
* notCompleted.add("geo-categoria-sottosuolo"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoCategoriaTopografica())) { |
|
|
|
|
* notCompleted.add("geo-categoria-topografica"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoOpereDiSostegno())) { |
|
|
|
|
* notCompleted.add("geo-opere-di-sostegno"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoConsolidamento())) { |
|
|
|
|
* notCompleted.add("geo-consolidamento"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoOpereInSotterranea())) { |
|
|
|
|
* notCompleted.add("geo-opere-in-sotterranea"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoPericolositaGeologica())) { |
|
|
|
|
* notCompleted.add("geo-pericolosita-geologica"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoPericolositaGeomorfica())) { |
|
|
|
|
* notCompleted.add("geo-pericolosita-geomorfica"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoRischioGeomorfologicoPai())) { |
|
|
|
|
* notCompleted.add("geo-rischio-geomorfologico"); } |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
if (Validator.isNull(dettPratica.getGeoPericolositaIdraulicaPai())) { |
|
|
|
|
notCompleted.add("geo-pericolosita-idraulica-pai"); |
|
|
|
|
} |
|
|
|
|
if (Validator.isNull(dettPratica.getGeoRischioIdraulicoPai())) { |
|
|
|
|
notCompleted.add("geo-rischio-idraulico-pai"); |
|
|
|
|
} |
|
|
|
|
/* |
|
|
|
|
* int a05 = 0; if (a05 == 0) { |
|
|
|
|
* notCompleted.add(LanguageUtil.get(LocaleUtil.getDefault(), |
|
|
|
|
* "label-documenti-tipologia-" + |
|
|
|
|
* DocumentiPraticaUtil.TIPOLOGIA_ALLEGATO_A05) + " non presente"); } |
|
|
|
|
* if (Validator.isNull(dettPratica.getGeoPericolositaSismica())) { |
|
|
|
|
* notCompleted.add("geo-pericolosita-sismica"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoFattibilitaSismica())) { |
|
|
|
|
* notCompleted.add("geo-fattibilita-sismica"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoPericolositaIdraulica())) { |
|
|
|
|
* notCompleted.add("geo-pericolosita-idraulica"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoFattibilitaIdraulica())) { |
|
|
|
|
* notCompleted.add("geo-fattibilita-idraulica"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoFattibilitaGeologica())) { |
|
|
|
|
* notCompleted.add("geo-fattibilita-geologica"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoPresenzaPrescrizioni())) { |
|
|
|
|
* notCompleted.add("geo-presenza-prescrizioni"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoEvidenzeGeologiche())) { |
|
|
|
|
* notCompleted.add("geo-evidenze-geologiche-short"); } if |
|
|
|
|
* (Validator.isNull(dettPratica.getGeoEvidenzeGeomorfiche())) { |
|
|
|
|
* notCompleted.add("geo-evidenze-geomorfiche-short"); } |
|
|
|
|
*/ |
|
|
|
|
// int a06 =
|
|
|
|
|
// DocPraticaLocalServiceUtil.countValidTmpByIntPratica_Tipologia(dettPratica.getIntPraticaId(),
|
|
|
|
|
// DocumentiPraticaUtil.TIPOLOGIA_ALLEGATO_A06);
|
|
|
|
|
// if (a06 == 0) {
|
|
|
|
|
// notCompleted.add(LanguageUtil.get(LocaleUtil.getDefault(),
|
|
|
|
|
// "label-documenti-tipologia-"
|
|
|
|
|
// + DocumentiPraticaUtil.TIPOLOGIA_ALLEGATO_A06)
|
|
|
|
|
// + " non presente");
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// int a14 =
|
|
|
|
|
// DocPraticaLocalServiceUtil.countValidTmpByIntPratica_Tipologia(dettPratica.getIntPraticaId(),
|
|
|
|
|
// DocumentiPraticaUtil.TIPOLOGIA_ALLEGATO_A14);
|
|
|
|
|
// if (a14 == 0) {
|
|
|
|
|
// notCompleted.add(LanguageUtil.get(LocaleUtil.getDefault(),
|
|
|
|
|
// "label-documenti-tipologia-"
|
|
|
|
|
// + DocumentiPraticaUtil.TIPOLOGIA_ALLEGATO_A14)
|
|
|
|
|
// + " non presente");
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
int indaginiGeologiche = DocPraticaLocalServiceUtil.countValidTmpByIntPratica_Tipologie( |
|
|
|
|
dettPratica.getIntPraticaId(), |
|
|
|
|
DocumentiPraticaUtil.getIndaginiGeologiche().toArray(new String[0])); |
|
|
|
|
if (indaginiGeologiche == 0) { |
|
|
|
|
notCompleted.add("Indagini Geologoche non presenti"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return notCompleted; |
|
|
|
|
} |
|
|
|
@ -999,7 +972,6 @@ public class ValidazionePraticaUtil {
|
|
|
|
|
|
|
|
|
|
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( |
|
|
|
@ -1008,38 +980,11 @@ public class ValidazionePraticaUtil {
|
|
|
|
|
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(doc.getTipologia()); |
|
|
|
|
FirmeBean firmeBean = FirmeUtil.deserialize(doc.getJsonFirmatari()); |
|
|
|
|
List<String> firmePresenti = firmeBean.allSignatures(); |
|
|
|
|
|
|
|
|
|
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 (!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, ", ")); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
notCompleted.addAll(firmeMancanti(intPratica, dettPratica, DocumentiPraticaUtil.getDocDomanda())); |
|
|
|
|
|
|
|
|
|
return notCompleted; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -1296,27 +1241,23 @@ public class ValidazionePraticaUtil {
|
|
|
|
|
Company company = CompanyLocalServiceUtil.getCompany(companyId); |
|
|
|
|
String urlPdfExtractor = (String) company.getExpandoBridge().getAttribute("url_pdf_extractor", false); |
|
|
|
|
|
|
|
|
|
Options options = new Options(); |
|
|
|
|
options.setLocation(urlPdfExtractor); |
|
|
|
|
options.setPost(true); |
|
|
|
|
List<FilePart> fileParts = new ArrayList<>(); |
|
|
|
|
// 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); |
|
|
|
|
|
|
|
|
|
String responseBody = HttpUtil.URLtoString(options); |
|
|
|
|
|
|
|
|
|
if (options.getResponse().getResponseCode() == HttpServletResponse.SC_OK |
|
|
|
|
|| options.getResponse().getResponseCode() == HttpServletResponse.SC_CREATED) { |
|
|
|
|
|
|
|
|
|
HttpPost request = new HttpPost(urlPdfExtractor); |
|
|
|
|
MultipartEntityBuilder builder = MultipartEntityBuilder.create(); |
|
|
|
|
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); |
|
|
|
|
builder.addPart("file", new ByteArrayBody(fileBytes, fileName)); |
|
|
|
|
request.setEntity(builder.build()); |
|
|
|
|
CloseableHttpClient client = HttpClientBuilder.create().build(); |
|
|
|
|
HttpResponse httpResponse = client.execute(request); |
|
|
|
|
int statusCode = httpResponse.getStatusLine().getStatusCode(); |
|
|
|
|
String responseBody = EntityUtils.toString(httpResponse.getEntity(), StringPool.UTF8); |
|
|
|
|
client.close(); |
|
|
|
|
|
|
|
|
|
if (statusCode == HttpServletResponse.SC_OK || statusCode == HttpServletResponse.SC_CREATED) { |
|
|
|
|
JSONArray arrayFirme = JSONFactoryUtil.createJSONObject(responseBody).getJSONArray("cf"); |
|
|
|
|
List<String> cf = new UniqueList<String>(); |
|
|
|
|
for (int i = 0; i < arrayFirme.length(); i++) { |
|
|
|
|
cf.add(arrayFirme.getString(i)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return cf; |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
@ -1334,7 +1275,7 @@ public class ValidazionePraticaUtil {
|
|
|
|
|
return firme; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static final Map<String, List<String>> firmeObbligatorie = new HashMap<String, List<String>>() { |
|
|
|
|
private static final Map<String, List<String>> firmeObbligatorie = new HashMap<String, List<String>>(24) { |
|
|
|
|
private static final long serialVersionUID = 1L; |
|
|
|
|
{ |
|
|
|
|
put(DocumentiPraticaUtil.TIPOLOGIA_ALLEGATO_A01, new ArrayList<String>() { |
|
|
|
|