Sfoglia il codice sorgente

Nuovo conteggio giorni

master
Salvatore La Manna 4 anni fa
parent
commit
c1629d5b52
  1. 3
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ControlloPraticaLocalService.java
  2. 5
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ControlloPraticaLocalServiceClp.java
  3. 3
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ControlloPraticaLocalServiceUtil.java
  4. 3
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/ControlloPraticaLocalServiceWrapper.java
  5. 11
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalService.java
  6. 541
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceClp.java
  7. 13
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceUtil.java
  8. 15
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/service/it/tref/liferay/portos/bo/service/IntPraticaLocalServiceWrapper.java
  9. 273
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/mwg/sismica/bo/util/SismicaUtil.java
  10. 4
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/PortosAdministrationPortlet.java
  11. 560
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/base/IntPraticaLocalServiceClpInvoker.java
  12. 218
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/service/impl/ControlloPraticaLocalServiceImpl.java
  13. 4
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/service.properties
  14. 30
      liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/sismica_administration/view.jsp

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

@ -441,7 +441,8 @@ public interface ControlloPraticaLocalService extends BaseLocalService,
long intPraticaId) long intPraticaId)
throws com.liferay.portal.kernel.exception.SystemException; throws com.liferay.portal.kernel.exception.SystemException;
public long calculateDateAvvioProcedimento(long controlloPraticaId) public java.lang.Long calculateDateAvvioProcedimento(
long controlloPraticaId)
throws com.liferay.portal.kernel.exception.PortalException, throws com.liferay.portal.kernel.exception.PortalException,
com.liferay.portal.kernel.exception.SystemException; com.liferay.portal.kernel.exception.SystemException;

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

@ -1698,7 +1698,8 @@ public class ControlloPraticaLocalServiceClp
} }
@Override @Override
public long calculateDateAvvioProcedimento(long controlloPraticaId) public java.lang.Long calculateDateAvvioProcedimento(
long controlloPraticaId)
throws com.liferay.portal.kernel.exception.PortalException, throws com.liferay.portal.kernel.exception.PortalException,
com.liferay.portal.kernel.exception.SystemException { com.liferay.portal.kernel.exception.SystemException {
Object returnObj = null; Object returnObj = null;
@ -1727,7 +1728,7 @@ public class ControlloPraticaLocalServiceClp
} }
} }
return ((Long)returnObj).longValue(); return (java.lang.Long)ClpSerializer.translateOutput(returnObj);
} }
@Override @Override

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

@ -528,7 +528,8 @@ public class ControlloPraticaLocalServiceUtil {
return getService().findByIntPratica(intPraticaId); return getService().findByIntPratica(intPraticaId);
} }
public static long calculateDateAvvioProcedimento(long controlloPraticaId) public static java.lang.Long calculateDateAvvioProcedimento(
long controlloPraticaId)
throws com.liferay.portal.kernel.exception.PortalException, throws com.liferay.portal.kernel.exception.PortalException,
com.liferay.portal.kernel.exception.SystemException { com.liferay.portal.kernel.exception.SystemException {
return getService().calculateDateAvvioProcedimento(controlloPraticaId); return getService().calculateDateAvvioProcedimento(controlloPraticaId);

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

@ -560,7 +560,8 @@ public class ControlloPraticaLocalServiceWrapper
} }
@Override @Override
public long calculateDateAvvioProcedimento(long controlloPraticaId) public java.lang.Long calculateDateAvvioProcedimento(
long controlloPraticaId)
throws com.liferay.portal.kernel.exception.PortalException, throws com.liferay.portal.kernel.exception.PortalException,
com.liferay.portal.kernel.exception.SystemException { com.liferay.portal.kernel.exception.SystemException {
return _controlloPraticaLocalService.calculateDateAvvioProcedimento(controlloPraticaId); return _controlloPraticaLocalService.calculateDateAvvioProcedimento(controlloPraticaId);

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

@ -317,6 +317,17 @@ public interface IntPraticaLocalService extends BaseLocalService,
java.lang.String[] parameterTypes, java.lang.Object[] arguments) java.lang.String[] parameterTypes, java.lang.Object[] arguments)
throws java.lang.Throwable; 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.HashMap<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 * Restituisce la lista di pratiche da sottoporre a sorteggio suddivisa per
* codice provincia. * codice provincia.

541
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

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

@ -342,6 +342,19 @@ public class IntPraticaLocalServiceUtil {
return getService().invokeMethod(name, parameterTypes, arguments); 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.HashMap<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 * Restituisce la lista di pratiche da sottoporre a sorteggio suddivisa per
* codice provincia. * codice provincia.

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

@ -362,6 +362,21 @@ public class IntPraticaLocalServiceWrapper implements IntPraticaLocalService,
arguments); 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.HashMap<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 * Restituisce la lista di pratiche da sottoporre a sorteggio suddivisa per
* codice provincia. * codice provincia.

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

@ -9,25 +9,16 @@ import it.tref.liferay.portos.bo.model.Avviso;
import it.tref.liferay.portos.bo.model.ControlloPratica; import it.tref.liferay.portos.bo.model.ControlloPratica;
import it.tref.liferay.portos.bo.model.DettPratica; import it.tref.liferay.portos.bo.model.DettPratica;
import it.tref.liferay.portos.bo.model.IntPratica; import it.tref.liferay.portos.bo.model.IntPratica;
import it.tref.liferay.portos.bo.model.Sorteggio;
import it.tref.liferay.portos.bo.service.AvvisoLocalServiceUtil; import it.tref.liferay.portos.bo.service.AvvisoLocalServiceUtil;
import it.tref.liferay.portos.bo.service.ConfigurazioneLocalServiceUtil; import it.tref.liferay.portos.bo.service.ConfigurazioneLocalServiceUtil;
import it.tref.liferay.portos.bo.service.ControlloPraticaLocalService;
import it.tref.liferay.portos.bo.service.ControlloPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.ControlloPraticaLocalServiceUtil;
import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil;
import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil;
import it.tref.liferay.portos.bo.service.SorteggioLocalServiceUtil;
import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil;
import it.tref.liferay.portos.bo.service.impl.ControlloPraticaLocalServiceImpl;
import it.tref.liferay.portos.bo.shared.protocollo.model.Protocollo.TipoProtocollo;
import it.tref.liferay.portos.bo.shared.util.ConfigurazioneConstants; 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.StatoPraticaConstants;
import it.tref.liferay.portos.bo.util.AvvisoUtil; import it.tref.liferay.portos.bo.util.AvvisoUtil;
import it.tref.liferay.portos.bo.util.Constants; import it.tref.liferay.portos.bo.util.Constants;
import it.tref.liferay.portos.bo.util.ContentType;
import java.io.File;
import java.io.IOException;
import java.io.Serializable; import java.io.Serializable;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -38,30 +29,19 @@ import java.util.HashMap;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.TreeMap;
import java.util.Map.Entry; import java.util.Map.Entry;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.FileUtils;
import com.liferay.portal.kernel.dao.orm.QueryUtil; import com.liferay.portal.kernel.dao.orm.QueryUtil;
import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.json.JSONFactoryUtil;
import com.liferay.portal.kernel.language.LanguageUtil; import com.liferay.portal.kernel.language.LanguageUtil;
import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.kernel.repository.model.FileEntry; import com.liferay.portal.kernel.repository.model.FileEntry;
import com.liferay.portal.kernel.util.FileUtil;
import com.liferay.portal.kernel.util.GetterUtil; import com.liferay.portal.kernel.util.GetterUtil;
import com.liferay.portal.kernel.util.HttpUtil;
import com.liferay.portal.kernel.util.LocaleUtil; import com.liferay.portal.kernel.util.LocaleUtil;
import com.liferay.portal.kernel.util.OrderByComparatorFactoryUtil; import com.liferay.portal.kernel.util.OrderByComparatorFactoryUtil;
import com.liferay.portal.kernel.util.PropsUtil;
import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.kernel.util.Http.FilePart;
import com.liferay.portal.kernel.util.Http.Options;
import com.liferay.portal.kernel.workflow.WorkflowConstants; import com.liferay.portal.kernel.workflow.WorkflowConstants;
import com.liferay.portal.kernel.workflow.WorkflowException; import com.liferay.portal.kernel.workflow.WorkflowException;
import com.liferay.portal.kernel.workflow.WorkflowHandlerRegistryUtil; import com.liferay.portal.kernel.workflow.WorkflowHandlerRegistryUtil;
@ -69,9 +49,7 @@ import com.liferay.portal.kernel.workflow.WorkflowInstance;
import com.liferay.portal.kernel.workflow.WorkflowInstanceManagerUtil; import com.liferay.portal.kernel.workflow.WorkflowInstanceManagerUtil;
import com.liferay.portal.kernel.workflow.WorkflowTask; import com.liferay.portal.kernel.workflow.WorkflowTask;
import com.liferay.portal.kernel.workflow.WorkflowTaskManagerUtil; import com.liferay.portal.kernel.workflow.WorkflowTaskManagerUtil;
import com.liferay.portal.model.Company;
import com.liferay.portal.model.User; import com.liferay.portal.model.User;
import com.liferay.portal.service.CompanyLocalServiceUtil;
import com.liferay.portal.service.ServiceContext; import com.liferay.portal.service.ServiceContext;
import com.liferay.portal.service.UserLocalServiceUtil; import com.liferay.portal.service.UserLocalServiceUtil;
import com.liferay.portal.workflow.kaleo.model.KaleoTaskInstanceToken; import com.liferay.portal.workflow.kaleo.model.KaleoTaskInstanceToken;
@ -85,6 +63,7 @@ public class SismicaUtil {
private static final SimpleDateFormat dfmt = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); private static final SimpleDateFormat dfmt = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
private static final SimpleDateFormat dfmtGiorno = new SimpleDateFormat("dd/MM/yyyy"); private static final SimpleDateFormat dfmtGiorno = new SimpleDateFormat("dd/MM/yyyy");
private static final SimpleDateFormat sdfGiornoDB = new SimpleDateFormat("yyyy-MM-dd");
private final static int SLICE = 1000; private final static int SLICE = 1000;
public static Date[] getWeekInterval(int dow) { public static Date[] getWeekInterval(int dow) {
@ -127,6 +106,40 @@ public class SismicaUtil {
return date; return date;
} }
public static Long daysBetween(Date start, Date end) {
if (Validator.isNotNull(start) && Validator.isNotNull(end)) {
try {
start = sdfGiornoDB.parse(sdfGiornoDB.format(start));
end = sdfGiornoDB.parse(sdfGiornoDB.format(end));
} catch (ParseException e) {
}
return Math.round((end.getTime() - start.getTime()) / 86400000.0);
}
return null;
}
public static Long daysBetween(String start, String end) {
Long diff = null;
try {
diff = daysBetween(sdfGiornoDB.parse(start), sdfGiornoDB.parse(end));
} catch (ParseException e) {
}
return diff;
}
public static Long daysPast(Date start) {
return daysBetween(start, new Date());
}
public static Long daysPast(String start) {
Long diff = null;
try {
diff = daysBetween(sdfGiornoDB.parse(start), new Date());
} catch (ParseException e) {
}
return diff;
}
public static boolean isLong(String s) { public static boolean isLong(String s) {
try { try {
Long.parseLong(s); Long.parseLong(s);
@ -375,15 +388,13 @@ public class SismicaUtil {
for (IntPratica pratica : pratiche) { for (IntPratica pratica : pratiche) {
String stato = pratica.getStatoPratica(); String stato = pratica.getStatoPratica();
if (Validator.isNotNull(stato) && Validator.isNotNull(pratica.getTipoProcedura()) if (Validator.isNotNull(stato) && Validator.isNotNull(pratica.getTipoProcedura())
&& pratica.getTipoPratica().equalsIgnoreCase(Constants.TIPO_PRATICA_DEPOSITO) && pratica.getTipoPratica().equalsIgnoreCase(Constants.TIPO_PRATICA_DEPOSITO)) {
&& stato.equals(StatoPraticaConstants.VIDIMATA)) {
try { try {
avvisi = AvvisoLocalServiceUtil.findByIntPraticaId_tipoDocumento( avvisi = AvvisoLocalServiceUtil.findByIntPraticaId_tipoDocumento(
pratica.getIntPraticaId(), StatoPraticaConstants.CONFORME); pratica.getIntPraticaId(), StatoPraticaConstants.CONFORME);
} catch (SystemException e) { } catch (SystemException e) {
esito.add("Errore caricamento avvisi: " + e.getMessage()); esito.add("Errore caricamento avvisi: " + e.getMessage());
} }
if (avvisi.size() == 0) {
List<Avviso> totali = null; List<Avviso> totali = null;
try { try {
totali = AvvisoLocalServiceUtil.findByIntPratica(pratica.getIntPraticaId(), totali = AvvisoLocalServiceUtil.findByIntPratica(pratica.getIntPraticaId(),
@ -391,6 +402,7 @@ public class SismicaUtil {
} catch (SystemException e) { } catch (SystemException e) {
totali = new ArrayList<>(); totali = new ArrayList<>();
} }
if ((avvisi.size() == 0) && stato.equalsIgnoreCase(StatoPraticaConstants.VIDIMATA)) {
List<ControlloPratica> controlli = null; List<ControlloPratica> controlli = null;
try { try {
controlli = ControlloPraticaLocalServiceUtil.findByIntPratica(pratica controlli = ControlloPraticaLocalServiceUtil.findByIntPratica(pratica
@ -453,14 +465,25 @@ public class SismicaUtil {
"Attestazione di deposito progetto", new Date(), "Attestazione di deposito progetto", new Date(),
AvvisoUtil.TIPO_AVVISO_DIRETTO, AvvisoUtil.TIPO_AVVISO_DIRETTO,
StatoPraticaConstants.CONFORME, fileEntryIdTemplate, StatoPraticaConstants.CONFORME, fileEntryIdTemplate,
dettPratica.getDettPraticaId(), DettPratica.class.getName(), dettPratica.getDettPraticaId(),
DettPratica.class.getName(),
controllo.getControlloPraticaId(), serviceContext); controllo.getControlloPraticaId(), serviceContext);
pratica.setStatoPratica(StatoPraticaConstants.CONFORME);
IntPraticaLocalServiceUtil.updateIntPratica(pratica);
} catch (PortalException | SystemException e) { } catch (PortalException | SystemException e) {
} }
} }
} }
} }
} }
} else if ((totali.size() == 2) && (avvisi.size() > 0)
&& stato.equalsIgnoreCase(StatoPraticaConstants.SOTTOPOSTA_A_PARERE)) {
esito.add("Rendo conforme: " + pratica.getNumeroProgetto());
pratica.setStatoPratica(StatoPraticaConstants.CONFORME);
try {
IntPraticaLocalServiceUtil.updateIntPratica(pratica);
} catch (SystemException e) {
}
} }
} }
} }
@ -604,80 +627,17 @@ public class SismicaUtil {
return esito; return esito;
} }
public static List<String> testInterno2(long companyId) { public static List<String> testInterno(long companyId) {
List<String> esito = new ArrayList<>(); List<String> esito = new ArrayList<>();
Company company = null;
try {
company = CompanyLocalServiceUtil.getCompany(companyId);
} catch (PortalException | SystemException e) {
esito.add("Errore di accesso a company id " + companyId);
return esito;
}
List<DLFileEntry> fileEntries = null;
int totale = 0, p7m = 0, start = 0;
Map<Integer, Integer> conteggi = new TreeMap<>();
do {
try { try {
fileEntries = DLFileEntryLocalServiceUtil.getFileEntries(start, start + SLICE); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
} catch (SystemException e) { Date start = sdf.parse("2020-01-01 13:45:23.1111");
fileEntries = new ArrayList<>(); Date end = sdf.parse("2020-12-31 10:45:23.1111");
} long diff = Math.round((end.getTime() - start.getTime()) / 86400000.0);
start += SLICE; esito.add(diff + " giorni");
for (DLFileEntry fileEntry : fileEntries) { } catch (Exception e) {
totale++; esito.add("Eccezione: " + e.getMessage());
if (fileEntry.getExtension().equalsIgnoreCase("p7m")) {
try {
byte[] contenuto = FileUtil.getBytes(fileEntry.getContentStream());
String url = (String) company.getExpandoBridge().getAttribute("url_pdf_extractor",
false);
Options options = new Options();
options.setLocation(url);
options.setPost(true);
List<FilePart> fileParts = new ArrayList<>();
fileParts.add(new FilePart("file", fileEntry.getTitle(), contenuto, ContentType.P7M
.getContentType(), "UTF-8"));
options.setFileParts(fileParts);
String response = HttpUtil.URLtoString(options);
int numeroFirme = 0;
if (options.getResponse().getResponseCode() == HttpServletResponse.SC_OK
|| options.getResponse().getResponseCode() == HttpServletResponse.SC_CREATED) {
numeroFirme = JSONFactoryUtil.createJSONObject(response).getJSONArray("cf")
.length();
}
if (conteggi.containsKey(numeroFirme)) {
conteggi.put(numeroFirme, conteggi.get(numeroFirme) + 1);
} else {
conteggi.put(numeroFirme, 1);
}
p7m++;
if ((numeroFirme > 4) || (numeroFirme == 0)) {
String folder = PropsUtil.get("env.HOME") + "/documenti/" + numeroFirme
+ "_firme";
File file = new File(folder);
if (!file.exists()) {
file.mkdirs();
}
String fileName = folder + "/" + fileEntry.getTitle();
file = new File(fileName);
FileUtils.writeByteArrayToFile(file, contenuto);
_log.info("Salvato " + fileName);
String msg = "";
for (Map.Entry<Integer, Integer> conteggio : conteggi.entrySet()) {
msg += (msg.equals("") ? "" : ", ") + conteggio.getKey() + " => "
+ conteggio.getValue();
}
_log.info(p7m + "/" + totale + ", conteggi: " + msg);
}
} catch (PortalException | SystemException | IOException e) {
}
}
}
} while (fileEntries.size() > 0);
esito.add("Conteggio file: " + totale + ", p7m: " + p7m);
for (Map.Entry<Integer, Integer> conteggio : conteggi.entrySet()) {
esito.add(conteggio.getKey() + " firme: " + conteggio.getValue());
} }
return esito; return esito;
} }
@ -685,7 +645,7 @@ public class SismicaUtil {
private static Map<String, String> templateByKey; private static Map<String, String> templateByKey;
private static Map<Long, String> templateById; private static Map<Long, String> templateById;
private static Map<String, Long> templateIdByKey; private static Map<String, Long> templateIdByKey;
private static final Date inizio = SismicaUtil.stringToDate("2019-12-31"); private static final Date inizio = stringToDate("2019-12-31");
private static List<String> riparaDocumenti(long companyId) throws SystemException, PortalException { private static List<String> riparaDocumenti(long companyId) throws SystemException, PortalException {
List<String> esito = new ArrayList<String>(); List<String> esito = new ArrayList<String>();
@ -899,45 +859,6 @@ public class SismicaUtil {
return esito; return esito;
} }
public static List<String> inviaComunicazione2(long companyId) throws SystemException {
List<String> esito = new ArrayList<>();
int start = 0;
List<IntPratica> pratiche = null;
List<ControlloPratica> chiudere = new ArrayList<>();
do {
pratiche = IntPraticaLocalServiceUtil.getIntPraticas(start, start + SLICE);
for (IntPratica pratica : pratiche) {
if (pratica.getTipoProcedura().equals(Constants.PROCEDURA_B1)
&& Validator.isNotNull(pratica.getDtSorteggio())
&& pratica.getStatoPratica().equals(StatoPraticaConstants.CONFORME)
&& (pratica.getStatusByUserId() == 0)
&& pratica.getTipoPratica().equals(Constants.TIPO_PRATICA_DEPOSITO)) {
Sorteggio sorteggio = SorteggioLocalServiceUtil.findByIntPratica(pratica
.getIntPraticaId());
if (Validator.isNull(sorteggio)) {
List<ControlloPratica> controlli = ControlloPraticaLocalServiceUtil
.findByIntPratica(pratica.getIntPraticaId());
if ((controlli.size() == 1) || (pratica.getStatusByUserId() == 0)) {
for (ControlloPratica controllo : controlli) {
if (controllo.getStatus() == WorkflowConstants.STATUS_PENDING) {
chiudere.add(controllo);
}
}
}
}
}
}
start += SLICE;
} while (pratiche.size() > 0);
esito.add(chiudere.size() + " da togliere");
for (ControlloPratica controllo : chiudere) {
controllo.setStatus(WorkflowConstants.STATUS_APPROVED);
ControlloPraticaLocalServiceUtil.updateControlloPratica(controllo);
}
return esito;
}
public static List<String> inviaComunicazione(long companyId) throws SystemException, PortalException, public static List<String> inviaComunicazione(long companyId) throws SystemException, PortalException,
ParseException { ParseException {
List<String> esito = new ArrayList<>(); List<String> esito = new ArrayList<>();
@ -1007,82 +928,4 @@ public class SismicaUtil {
} }
return esito; return esito;
} }
public static List<String> inviaComunicazione3(long companyId) throws SystemException, ParseException,
PortalException {
List<String> esito = new ArrayList<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSS");
Date prima = sdf.parse("2020-03-05 11:10:17.964");
Date seconda = sdf.parse("2020-03-05 11:12:18.006");
SimpleDateFormat hdf = new SimpleDateFormat("dd/MM/yyyy");
int start = 0;
List<IntPratica> pratiche = null;
List<ControlloPratica> vecchi = new ArrayList<>();
List<IntPratica> SP = new ArrayList<>();
List<IntPratica> CO = new ArrayList<>();
do {
pratiche = IntPraticaLocalServiceUtil.getIntPraticas(start, start + SLICE);
for (IntPratica pratica : pratiche) {
if (Validator.isNotNull(pratica.getDtSorteggio()) && pratica.getDtSorteggio().equals(seconda)) {
String tipo = "";
List<Avviso> avvisi = AvvisoLocalServiceUtil.findByIntPratica(
pratica.getIntPraticaId(),
QueryUtil.ALL_POS,
QueryUtil.ALL_POS,
OrderByComparatorFactoryUtil.getOrderByComparatorFactory().create(
"portos_bo_Avviso", "dtProtocollo", true));
for (Avviso avviso : avvisi) {
Date dtAvviso = sdf.parse(avviso.getDtAvviso().toString());
if (dtAvviso.equals(prima)) {
tipo += avviso.getTipoDocumento();
} else if (dtAvviso.equals(seconda)) {
tipo += avviso.getTipoDocumento();
}
}
List<ControlloPratica> controlli = ControlloPraticaLocalServiceUtil
.findByIntPratica(pratica.getIntPraticaId());
for (ControlloPratica controllo : controlli) {
vecchi.add(controllo);
}
switch (tipo) {
case "COCO":
case "COSP":
CO.add(pratica);
break;
case "SPCO":
case "SPSP":
SP.add(pratica);
break;
}
}
}
start += SLICE;
} while (pratiche.size() > 0);
esito.add("<b>" + vecchi.size() + " controlli</b>");
esito.add("<b>" + CO.size() + " conformi</b>");
for (IntPratica pratica : SP) {
if (pratica.getNumeroProgetto().equals("62976")) {
List<ControlloPratica> controlli = ControlloPraticaLocalServiceUtil.findByIntPratica(pratica
.getIntPraticaId());
for (ControlloPratica controllo : controlli) {
ControlloPraticaLocalServiceUtil.deleteControlloPratica(controllo);
}
DettPratica dettPratica = DettPraticaLocalServiceUtil.getLastCompletedByIntPratica(pratica
.getIntPraticaId());
ServiceContext serviceContext = new ServiceContext();
serviceContext.setCompanyId(dettPratica.getCompanyId());
serviceContext.setScopeGroupId(dettPratica.getGroupId());
serviceContext.setUserId(dettPratica.getUserId());
ControlloPratica controlloPratica = ControlloPraticaLocalServiceUtil.addControlloPratica(
pratica.getGroupId(), pratica.getUserId(), pratica.getIntPraticaId(),
dettPratica.getDettPraticaId(), true, serviceContext);
}
}
return esito;
}
} }

4
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/WEB-INF/src/it/tref/liferay/portos/bo/portlet/PortosAdministrationPortlet.java

@ -128,9 +128,9 @@ public class PortosAdministrationPortlet extends MVCPortlet {
// avvioWorkflowSorteggiate(); // avvioWorkflowSorteggiate();
} }
public void pulisciDatabase(ActionRequest actionRequest, ActionResponse actionResponse) { public void testInterno(ActionRequest actionRequest, ActionResponse actionResponse) {
ThemeDisplay td = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY); ThemeDisplay td = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);
List<String> esito = PuliziaDatabase.pulisci(td.getCompanyId()); List<String> esito = SismicaUtil.testInterno(td.getCompanyId());
actionResponse.setRenderParameter("esito", esito.toArray(new String[esito.size()])); actionResponse.setRenderParameter("esito", esito.toArray(new String[esito.size()]));
} }

560
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

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

@ -12,11 +12,13 @@
package it.tref.liferay.portos.bo.service.impl; package it.tref.liferay.portos.bo.service.impl;
import it.mwg.sismica.bo.util.SismicaUtil;
import it.tref.liferay.portos.bo.model.Avviso; import it.tref.liferay.portos.bo.model.Avviso;
import it.tref.liferay.portos.bo.model.ControlloPratica; import it.tref.liferay.portos.bo.model.ControlloPratica;
import it.tref.liferay.portos.bo.model.DettPratica; import it.tref.liferay.portos.bo.model.DettPratica;
import it.tref.liferay.portos.bo.model.IntPratica; import it.tref.liferay.portos.bo.model.IntPratica;
import it.tref.liferay.portos.bo.model.Tempistica; import it.tref.liferay.portos.bo.model.Tempistica;
import it.tref.liferay.portos.bo.service.AvvisoLocalServiceUtil;
import it.tref.liferay.portos.bo.service.ControlloPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.ControlloPraticaLocalServiceUtil;
import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.DettPraticaLocalServiceUtil;
import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil; import it.tref.liferay.portos.bo.service.IntPraticaLocalServiceUtil;
@ -48,6 +50,7 @@ import com.liferay.portal.kernel.dao.orm.DynamicQuery;
import com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil; import com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil;
import com.liferay.portal.kernel.dao.orm.Order; import com.liferay.portal.kernel.dao.orm.Order;
import com.liferay.portal.kernel.dao.orm.OrderFactoryUtil; import com.liferay.portal.kernel.dao.orm.OrderFactoryUtil;
import com.liferay.portal.kernel.dao.orm.QueryUtil;
import com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil; import com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil;
import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException; import com.liferay.portal.kernel.exception.SystemException;
@ -61,6 +64,7 @@ import com.liferay.portal.kernel.search.Indexer;
import com.liferay.portal.kernel.search.IndexerRegistryUtil; import com.liferay.portal.kernel.search.IndexerRegistryUtil;
import com.liferay.portal.kernel.util.ContentTypes; import com.liferay.portal.kernel.util.ContentTypes;
import com.liferay.portal.kernel.util.GetterUtil; import com.liferay.portal.kernel.util.GetterUtil;
import com.liferay.portal.kernel.util.OrderByComparatorFactoryUtil;
import com.liferay.portal.kernel.util.StringPool; import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.kernel.util.Validator; import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.kernel.workflow.WorkflowHandlerRegistryUtil; import com.liferay.portal.kernel.workflow.WorkflowHandlerRegistryUtil;
@ -750,162 +754,80 @@ public class ControlloPraticaLocalServiceImpl extends ControlloPraticaLocalServi
return controlloPraticaPersistence.findByIntPraticaId(intPraticaId); return controlloPraticaPersistence.findByIntPraticaId(intPraticaId);
} }
public long calculateDateAvvioProcedimento(long controlloPraticaId) throws SystemException, public Long calculateDateAvvioProcedimento(long controlloPraticaId) throws SystemException,
PortalException { PortalException {
ControlloPratica controllo = ControlloPraticaLocalServiceUtil
long giorni = 0;
ControlloPratica controlloPratica = ControlloPraticaLocalServiceUtil
.fetchControlloPratica(controlloPraticaId); .fetchControlloPratica(controlloPraticaId);
IntPratica pratica = IntPraticaLocalServiceUtil.fetchIntPratica(controllo.getIntPraticaId());
Long intPraticaId = controlloPratica.getIntPraticaId();
Long giorni = SismicaUtil.daysPast(pratica.getDtPratica());
List<Tempistica> tempisticaList = TempisticaLocalServiceUtil.findByIntPratica_Tipo(intPraticaId,
TempisticaConstants.TIPO_PRATICA); if (Validator.isNotNull(giorni)) {
List<Avviso> avvisi = AvvisoLocalServiceUtil.findByIntPratica(pratica.getIntPraticaId(),
if (tempisticaList != null && tempisticaList.size() > 0) { QueryUtil.ALL_POS, QueryUtil.ALL_POS, OrderByComparatorFactoryUtil
Tempistica temp = null; .getOrderByComparatorFactory().create("portos_bo_Avviso", "dtAvviso", true));
Date start = null;
for (Iterator iterator = tempisticaList.iterator(); iterator.hasNext();) { Date end = null;
Tempistica tempistica = (Tempistica) iterator.next(); // _log.info("Pratica " + pratica.getNumeroProgetto());
if (temp == null || temp.getCreateDate().before(tempistica.getCreateDate())) for (Avviso avviso : avvisi) {
temp = tempistica; if (!avviso.isAnnullato()) {
// _log.info("Avviso " + avviso.getTipoDocumento() + " " +
// avviso.getDtAvviso());
if (avviso.getTipoDocumento().equalsIgnoreCase(StatoPraticaConstants.INTEGRAZIONE)) {
start = avviso.getDtInvio();
end = null;
_log.info("start = " + start + ", pratica " + pratica.getNumeroProgetto());
} else if (avviso.getTipoDocumento().equalsIgnoreCase(StatoPraticaConstants.VIDIMATA)) {
end = avviso.getDtAvviso();
// _log.info("end = " + end + " (" + start + ")");
}
}
if (Validator.isNotNull(start) && Validator.isNotNull(end)) {
Long diff = SismicaUtil.daysBetween(start, end);
_log.info("Differenza: " + diff + ", pratica " + pratica.getNumeroProgetto());
start = end = null;
} else {
// _log.info(start + " --- " + end);
}
} }
long giorniMillisecFormat = 0;
if (temp.getStop() > 0)
giorniMillisecFormat = temp.getStop() - (temp.getStart() + temp.getWait());
else if (temp.getStop() == 0)
giorniMillisecFormat = System.currentTimeMillis() - (temp.getStart() + temp.getWait());
giorni = TimeUnit.DAYS.convert(giorniMillisecFormat, TimeUnit.MILLISECONDS);
} }
return giorni; return giorni;
} }
// public long calculateDateAvvioProcedimento(long controlloPraticaId) /*
// throws SystemException, PortalException{ * public long calculateDateAvvioProcedimentoOld(long controlloPraticaId)
// * throws SystemException, PortalException {
// long giorni = 0; *
// * long giorni = 0;
// ControlloPratica controlloPratica = *
// ControlloPraticaLocalServiceUtil.fetchControlloPratica(controlloPraticaId); * ControlloPratica controlloPratica = ControlloPraticaLocalServiceUtil
// * .fetchControlloPratica(controlloPraticaId);
// Date avvioProcedimento = controlloPratica.getCreateDate(); *
// * Long intPraticaId = controlloPratica.getIntPraticaId();
// int sort = 0; *
// * List<Tempistica> tempisticaList =
// List<CronostoriaBean> events = new ArrayList<CronostoriaBean>(); * TempisticaLocalServiceUtil.findByIntPratica_Tipo(intPraticaId,
// * TempisticaConstants.TIPO_PRATICA);
// List<DettPratica> pratiche = *
// DettPraticaLocalServiceUtil.findByIntPraticaId(controlloPratica.getIntPraticaId()); * if (tempisticaList != null && tempisticaList.size() > 0) { Tempistica
// for(DettPratica dettPratica: pratiche){ * temp = null;
// if(dettPratica.getTipoIntegrazione() != null && *
// dettPratica.getTipoIntegrazione().equals(TipoIntegrazioneUtil.RICHIESTA_INTEGRAZIONE)){ * for (Iterator iterator = tempisticaList.iterator(); iterator.hasNext();)
// * { Tempistica tempistica = (Tempistica) iterator.next(); if (temp == null
// * || temp.getCreateDate().before(tempistica.getCreateDate())) temp =
// Date dataEvento = dettPratica.getDataEffettuazione(); * tempistica; }
// if(Validator.isNotNull(dataEvento)){ *
// String tipoEvento = CronostoriaUtil.TIPO_UTENTE; * long giorniMillisecFormat = 0; if (temp.getStop() > 0)
// String tipoIntegrazione = * giorniMillisecFormat = temp.getStop() - (temp.getStart() +
// Validator.isNull(dettPratica.getTipoIntegrazione()) ? "Domanda" * temp.getWait()); else if (temp.getStop() == 0) giorniMillisecFormat =
// :dettPratica.getTipoIntegrazione(); * System.currentTimeMillis() - (temp.getStart() + temp.getWait());
// String testoEvento ="Invio della "+tipoIntegrazione+" '"+ *
// dettPratica.getTitle()+"'"; * giorni = TimeUnit.DAYS.convert(giorniMillisecFormat,
// //testoEvento += " al Genio Civile"; * TimeUnit.MILLISECONDS); }
// String tipoLink = CronostoriaUtil.LINK; *
// * return giorni; }
// events.add(new */
// CronostoriaBean(dataEvento,tipoEvento,testoEvento,tipoLink, new
// CronostoriaLink[]{new CronostoriaLink(CronostoriaTypeEnum.VIEW, "")}));
//
// }
// }
// }
// List<Avviso> avvisi =
// AvvisoLocalServiceUtil.findByIntPratica_Inviato(controlloPratica.getIntPraticaId(),
// AvvisoUtil.DOCUMENTO_INVIATO, QueryUtil.ALL_POS, QueryUtil.ALL_POS,
// null);
// for(Avviso avviso:avvisi){
// Date dataEvento = avviso.getDtInvio();
//
// if(Validator.isNotNull(avviso.getDtInvio())){
// if(avviso.getTipoDocumento().equals("IN") ||
// avviso.getTipoDocumento().equals("SP")){
//
// String tipoEvento = CronostoriaUtil.TIPO_GENIO_CIVILE;
// String testoEvento = avviso.getFullDescription();
//
// String tipoLink = CronostoriaUtil.DOWNLOAD;
// List<CronostoriaLink> links = new ArrayList<CronostoriaLink>();
//
// String linkInvio = StringPool.BLANK;
// if(Validator.isNull(avviso.getFileEntryIdInvio()) &&
// Validator.isNotNull(avviso.getOldAvvisoId())){
// links.add(new CronostoriaLink(CronostoriaTypeEnum.IMPORT, linkInvio));
// }
//
// events.add(new
// CronostoriaBean(dataEvento,tipoEvento,testoEvento,tipoLink,
// links.toArray(new CronostoriaLink[0])));
// }
// }
// }
//
// Comparator<CronostoriaBean> comparator = null;
// comparator = new Comparator<CronostoriaBean>(){
// public int compare(CronostoriaBean evento1,CronostoriaBean evento2){
// return evento1.getDataEvento().compareTo(evento2.getDataEvento());
// }
// };
//
// Collections.sort(events,comparator);
//
// if(events != null && !events.isEmpty()){
// for (int i = 0; i < events.size(); i++) {
// // if(i == 0){
// // Date primaRichiesta = events.get(0).getDataEvento();
// // long diff = primaRichiesta.getTime() - avvioProcedimento.getTime();
// // long days = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
// // giorni = giorni + days;
// // } else {
// if((i % 2) == 0){
//
// Date dateFrom = events.get(i).getDataEvento();
//
// Date dateTo = null;
// int x = i + 1;
//
// if(events.size() > x){
// dateTo = events.get((i + 1)).getDataEvento();
// } else {
// dateTo = new Date();
// }
//
// Date dateToTruncatedDate = DateUtils.truncate(dateTo, Calendar.DATE);
// Date dateFromTruncatedDate = DateUtils.truncate(dateFrom, Calendar.DATE);
//
// long diff = dateToTruncatedDate.getTime() -
// dateFromTruncatedDate.getTime();
// long days = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
// giorni = giorni + days;
//
// }
// // }
// }
//
// } else {
//
// Date now = new Date();
//
// long diff = now.getTime() - avvioProcedimento.getTime();
// long days = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
// giorni = giorni + days;
// }
//
// return giorni;
// }
/** /**
* ADT: gestione workflow varianti * ADT: gestione workflow varianti

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.namespace=portos_bo
build.number=2276 build.number=2279
build.date=1590494949598 build.date=1590675408364
build.auto.upgrade=true build.auto.upgrade=true
## ##

30
liferay-plugins-sdk-6.2/portlets/portos-bo-portlet/docroot/html/sismica_administration/view.jsp

@ -88,15 +88,15 @@ String dataProssimoSorteggio =
</div> </div>
</div> </div>
<liferay-portlet:actionURL name="pulisciDatabase" var="pulisciDatabaseURL" /> <liferay-portlet:actionURL name="testInterno" var="testInternoURL" />
<liferay-portlet:actionURL name="riparaSorteggi" var="riparaSorteggiURL" /> <liferay-portlet:actionURL name="riparaSorteggi" var="riparaSorteggiURL" />
<liferay-portlet:actionURL name="riparaWorkflow" var="riparaWorkflowURL" /> <liferay-portlet:actionURL name="riparaWorkflow" var="riparaWorkflowURL" />
<div class="row-fluid" style="margin-top: 10px;"> <div class="row-fluid" style="margin-top: 10px;">
<div class="span6"> <div class="span6">
<div style="font-weight: bold; font-size: 18px; margin-bottom: 10px;">Pulizia Database v0.1</div> <div style="font-weight: bold; font-size: 18px; margin-bottom: 10px;">Test interno</div>
<aui:form action="<%=pulisciDatabaseURL%>" method="post" name="fmPulisciDatabase"> <aui:form action="<%=testInternoURL%>" method="post" name="fmTestInterno">
<div> <div>
<aui:button cssClass="btn-danger" type="submit" value="Pulisci Database" /> <aui:button cssClass="btn-danger" type="submit" value="Test interno" />
</div> </div>
</aui:form> </aui:form>
</div> </div>
@ -110,17 +110,17 @@ String dataProssimoSorteggio =
</div> </div>
</div> </div>
<liferay-portlet:actionURL name="inviaComunicazione" var="inviaComunicazioneUrl" /> <%-- <liferay-portlet:actionURL name="inviaComunicazione" var="inviaComunicazioneUrl" /> --%>
<div class="row-fluid" style="margin-top: 10px;"> <!-- <div class="row-fluid" style="margin-top: 10px;"> -->
<div class="span6"> <!-- <div class="span6"> -->
<div style="font-weight: bold; font-size: 18px; margin-bottom: 10px;">Invia comunicazione ATAP</div> <!-- <div style="font-weight: bold; font-size: 18px; margin-bottom: 10px;">Invia comunicazione ATAP</div> -->
<aui:form action="<%=inviaComunicazioneUrl%>" method="post" name="fmInviaComunicazione"> <%-- <aui:form action="<%=inviaComunicazioneUrl%>" method="post" name="fmInviaComunicazione"> --%>
<div> <!-- <div> -->
<aui:button cssClass="btn-danger" type="submit" value="Invia" /> <%-- <aui:button cssClass="btn-danger" type="submit" value="Invia" /> --%>
</div> <!-- </div> -->
</aui:form> <%-- </aui:form> --%>
</div> <!-- </div> -->
</div> <!-- </div> -->
<% <%
String[] esito = renderRequest.getParameterValues("esito"); String[] esito = renderRequest.getParameterValues("esito");

Caricamento…
Annulla
Salva