|
|
|
@ -25,264 +25,278 @@ import com.liferay.portal.kernel.workflow.WorkflowConstants;
|
|
|
|
|
|
|
|
|
|
public class AzioniPraticheUtil { |
|
|
|
|
|
|
|
|
|
public static final String ACTION_AGGIUNGI_SOGGETTO = "AGGIUNGI_SOGGETTO"; |
|
|
|
|
public static final String ACTION_RIMUOVI_SOGGETTO = "RIMUOVI_SOGGETTO"; |
|
|
|
|
public static final String ACTION_VARIAZIONE_SOGGETTI = "VARIAZIONE_SOGGETTI"; |
|
|
|
|
public static final String ACTION_VARIANTE = "VARIANTE"; |
|
|
|
|
public static final String ACTION_FL_PARZIALE = "FL_PARZIALE"; |
|
|
|
|
public static final String ACTION_FL_TOTALE = "FL_TOTALE"; |
|
|
|
|
public static final String ACTION_ANNULLA = "ANNULLA"; |
|
|
|
|
public static final String ACTION_CO_PARZIALE = "CO_PARZIALE"; |
|
|
|
|
public static final String ACTION_CO_TOTALE = "CO_TOTALE"; |
|
|
|
|
public static final String ACTION_INTEGRAZIONE = "INTEGRAZIONE"; |
|
|
|
|
|
|
|
|
|
public static final String STATE_COMPILAZIONE = "COMPILAZIONE"; |
|
|
|
|
public static final String STATE_VIDIMATO = "VIDIMATO"; |
|
|
|
|
public static final String STATE_SOTTOPOSTO_A_PARERE_AUTORIZZAZIONE = "SP_AUTORIZZAZIONE"; |
|
|
|
|
public static final String STATE_SOTTOPOSTO_A_PARERE_DEPOSITO = "SP_DEPOSITO"; |
|
|
|
|
public static final String STATE_ANNULLATO = "ANNULLATO"; |
|
|
|
|
public static final String STATE_NON_CONFORME = "NON_CONFORME"; |
|
|
|
|
public static final String NON_AUTORIZZATA = "NON_AUTORIZZATA"; |
|
|
|
|
public static final String STATE_INTEGRAZIONE_AUTORIZZAZIONE = "INTEGRAZIONE_AUTORIZZAZIONE"; |
|
|
|
|
public static final String STATE_INTEGRAZIONE_DEPOSITO = "INTEGRAZIONE_DEPOSITO"; |
|
|
|
|
public static final String STATE_FINE_LAVORI_PARZIALE = "FINE_LAVORI_PARZIALE"; |
|
|
|
|
public static final String STATE_FINE_LAVORI_TOTALE = "FINE_LAVORI_TOTALE"; |
|
|
|
|
public static final String STATE_COLLAUDO_PARZIALE = "COLLAUDO_PARZIALE"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static List<String> ALL_ACTIONS = new UniqueList<String>() { |
|
|
|
|
{ |
|
|
|
|
add(ACTION_AGGIUNGI_SOGGETTO); |
|
|
|
|
add(ACTION_RIMUOVI_SOGGETTO); |
|
|
|
|
add(ACTION_VARIAZIONE_SOGGETTI); |
|
|
|
|
add(ACTION_VARIANTE); |
|
|
|
|
add(ACTION_FL_PARZIALE); |
|
|
|
|
add(ACTION_FL_TOTALE); |
|
|
|
|
add(ACTION_ANNULLA); |
|
|
|
|
add(ACTION_CO_PARZIALE); |
|
|
|
|
add(ACTION_CO_TOTALE); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
public static Map<String, List<String>> STATE_ACTIONS_MAP = new HashMap<String, List<String>>() { |
|
|
|
|
{ |
|
|
|
|
put(STATE_VIDIMATO, ALL_ACTIONS); |
|
|
|
|
put(STATE_SOTTOPOSTO_A_PARERE_AUTORIZZAZIONE, |
|
|
|
|
ListUtil.toList(new String[] {ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, ACTION_VARIAZIONE_SOGGETTI, |
|
|
|
|
ACTION_ANNULLA})); |
|
|
|
|
put(STATE_SOTTOPOSTO_A_PARERE_DEPOSITO, ALL_ACTIONS); |
|
|
|
|
put(STATE_ANNULLATO, new ArrayList<String>()); |
|
|
|
|
put(STATE_NON_CONFORME, new ArrayList<String>()); |
|
|
|
|
put(NON_AUTORIZZATA, new ArrayList<String>()); |
|
|
|
|
put(STATE_INTEGRAZIONE_AUTORIZZAZIONE, |
|
|
|
|
ListUtil.toList(new String[] {ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, ACTION_INTEGRAZIONE, |
|
|
|
|
ACTION_ANNULLA})); |
|
|
|
|
put(STATE_INTEGRAZIONE_DEPOSITO, |
|
|
|
|
ListUtil.toList(new String[] {ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, ACTION_INTEGRAZIONE, |
|
|
|
|
// ACTION_ANNULLA, ACTION_FL_PARZIALE, ACTION_FL_TOTALE, ACTION_CO_PARZIALE,
|
|
|
|
|
// ACTION_CO_TOTALE}));
|
|
|
|
|
ACTION_ANNULLA})); |
|
|
|
|
put(STATE_COMPILAZIONE, |
|
|
|
|
ListUtil.toList(new String[] {ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, ACTION_ANNULLA})); |
|
|
|
|
put(STATE_FINE_LAVORI_PARZIALE, |
|
|
|
|
ListUtil.toList(new String[] {ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, ACTION_VARIANTE, |
|
|
|
|
ACTION_FL_PARZIALE, ACTION_FL_TOTALE, ACTION_CO_PARZIALE})); |
|
|
|
|
put(STATE_FINE_LAVORI_TOTALE, |
|
|
|
|
ListUtil.toList(new String[] {ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, ACTION_CO_TOTALE , ACTION_CO_PARZIALE})); |
|
|
|
|
put(STATE_COLLAUDO_PARZIALE, |
|
|
|
|
ListUtil.toList(new String[] {ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, ACTION_VARIANTE, |
|
|
|
|
ACTION_CO_PARZIALE, ACTION_CO_TOTALE})); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
public static boolean isAllowedAction(long intPraticaId, String action) throws PortalException, SystemException { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!ALL_ACTIONS.contains(action) && !ACTION_INTEGRAZIONE.equalsIgnoreCase(action)) { |
|
|
|
|
throw new SystemException("Azione non presente: " + action); |
|
|
|
|
} |
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); |
|
|
|
|
|
|
|
|
|
boolean isDeposito = isDeposito(intPraticaId); |
|
|
|
|
boolean isAutorizzazione = isAutorizzazione(intPraticaId); |
|
|
|
|
|
|
|
|
|
String status = StringPool.BLANK; |
|
|
|
|
|
|
|
|
|
if (intPratica.getStatus() == WorkflowConstants.STATUS_PENDING) { |
|
|
|
|
|
|
|
|
|
if (StatoPraticaConstants.INTEGRAZIONE.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
if (isDeposito) { |
|
|
|
|
status = STATE_INTEGRAZIONE_DEPOSITO; |
|
|
|
|
} else if (isAutorizzazione) { |
|
|
|
|
status = STATE_INTEGRAZIONE_AUTORIZZAZIONE; |
|
|
|
|
} else { |
|
|
|
|
throw new SystemException("Tipo pratica non esiste"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} else if (isDeposito) { |
|
|
|
|
status = STATE_SOTTOPOSTO_A_PARERE_DEPOSITO; |
|
|
|
|
} else if (isAutorizzazione) { |
|
|
|
|
status = STATE_SOTTOPOSTO_A_PARERE_AUTORIZZAZIONE; |
|
|
|
|
} else { |
|
|
|
|
throw new SystemException("Tipo pratica non esiste"); |
|
|
|
|
} |
|
|
|
|
} else if (StatoPraticaConstants.CONFORME.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_VIDIMATO; |
|
|
|
|
} else if (StatoPraticaConstants.NON_CONFORME.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_NON_CONFORME; |
|
|
|
|
} else if (StatoPraticaConstants.AUTORIZZATA.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_VIDIMATO; |
|
|
|
|
} else if (StatoPraticaConstants.NON_AUTORIZZATA.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = NON_AUTORIZZATA; |
|
|
|
|
} else if (StatoPraticaConstants.ANNULLATA.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_ANNULLATO; |
|
|
|
|
} else if (StatoPraticaConstants.VIDIMATA.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_VIDIMATO; |
|
|
|
|
} else if (StatoPraticaConstants.FINE_LAVORI.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_FINE_LAVORI_TOTALE; |
|
|
|
|
} else if (StatoPraticaConstants.FINE_LAVORI_PARZIALE.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_FINE_LAVORI_PARZIALE; |
|
|
|
|
} else if (intPratica.getStatus() == WorkflowConstants.STATUS_ANY) { |
|
|
|
|
status = STATE_COMPILAZIONE; |
|
|
|
|
} else if (StatoPraticaConstants.COLLAUDO_PARZIALE.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_COLLAUDO_PARZIALE; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
List<String> actionList = STATE_ACTIONS_MAP.get(status); |
|
|
|
|
if (actionList == null) { |
|
|
|
|
actionList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
if (!actionList.contains(action)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!action.equalsIgnoreCase(ACTION_INTEGRAZIONE) && intPratica.getCollaudoTotale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_FL_PARZIALE) && intPratica.getFineLavoriTotale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_FL_TOTALE) && intPratica.getFineLavoriTotale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_CO_PARZIALE) && !intPratica.getFineLavoriParziale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_CO_TOTALE) && !intPratica.getFineLavoriTotale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_VARIANTE) && intPratica.getFineLavoriTotale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_ANNULLA) |
|
|
|
|
&& (intPratica.getFineLavoriTotale() || intPratica.getFineLavoriParziale() || intPratica.getCollaudoParziale())) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_RIMUOVI_SOGGETTO) && intPratica.getCollaudoParziale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static boolean canPrintFascicolo(long intPraticaId) throws PortalException, SystemException{ |
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(intPraticaId); |
|
|
|
|
//ADT BUG ID = 3
|
|
|
|
|
if((!intPratica.getStatoPratica().equals("") || intPratica.isValidata()) && !intPratica.getNumeroProgetto().equals("")){ |
|
|
|
|
return true; |
|
|
|
|
} else { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static boolean canPrintFascicoloVariante(long intPraticaId) throws PortalException, SystemException{ |
|
|
|
|
|
|
|
|
|
int nVarianti = DettPraticaLocalServiceUtil.countCompletedByIntPraticaAndTipoPratica(intPraticaId, Arrays.asList(new String[]{TipoIntegrazioneUtil.VARIANTE})); |
|
|
|
|
|
|
|
|
|
if(nVarianti > 0){ |
|
|
|
|
return true; |
|
|
|
|
} else { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static boolean canAddSoggetto(long intPraticaId, String tipoSoggetto) throws PortalException, SystemException { |
|
|
|
|
|
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); |
|
|
|
|
|
|
|
|
|
if (!isAllowedAction(intPraticaId, ACTION_AGGIUNGI_SOGGETTO)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//ADT BUG FE ID = 11
|
|
|
|
|
|
|
|
|
|
/* if ((!TipoSoggettoUtil.COMMITTENTE.equalsIgnoreCase(tipoSoggetto) && !TipoSoggettoUtil.COLLAUDATORE |
|
|
|
|
.equalsIgnoreCase(tipoSoggetto)) && (intPratica.isFineLavoriTotale() || intPratica.getCollaudoParziale())) { |
|
|
|
|
return false; |
|
|
|
|
}*/ |
|
|
|
|
if ((!TipoSoggettoUtil.COMMITTENTE.equalsIgnoreCase(tipoSoggetto) && !TipoSoggettoUtil.COLLAUDATORE |
|
|
|
|
.equalsIgnoreCase(tipoSoggetto)) && (intPratica.isFineLavoriTotale())) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static boolean canRemoveSoggetto(long intPraticaId, String tipoSoggetto) throws PortalException, |
|
|
|
|
SystemException { |
|
|
|
|
|
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); |
|
|
|
|
if (!isAllowedAction(intPraticaId, ACTION_RIMUOVI_SOGGETTO)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ((!TipoSoggettoUtil.COMMITTENTE.equalsIgnoreCase(tipoSoggetto) && !TipoSoggettoUtil.COLLAUDATORE |
|
|
|
|
.equalsIgnoreCase(tipoSoggetto)) && (intPratica.isFineLavoriTotale() || intPratica.getCollaudoParziale())) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
if ((TipoSoggettoUtil.DIRETTORE_LAVORI.equalsIgnoreCase(tipoSoggetto) || TipoSoggettoUtil.DITTA |
|
|
|
|
.equalsIgnoreCase(tipoSoggetto)) && intPratica.isFineLavoriParziale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static boolean isDeposito(long intPraticaId) throws PortalException, SystemException { |
|
|
|
|
|
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); |
|
|
|
|
// Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId());
|
|
|
|
|
// return Constants.PRATICA_ZONE.get(territorio.getZona()).equalsIgnoreCase(Constants.TIPO_PRATICA_DEPOSITO);
|
|
|
|
|
// Manifattura Web Group per Regione Siciliana
|
|
|
|
|
return intPratica.getTipoPratica().equalsIgnoreCase(Constants.TIPO_PRATICA_DEPOSITO); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static boolean isAutorizzazione(long intPraticaId) throws PortalException, SystemException { |
|
|
|
|
|
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); |
|
|
|
|
// Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId());
|
|
|
|
|
// return Constants.PRATICA_ZONE.get(territorio.getZona()).equalsIgnoreCase(Constants.TIPO_PRATICA_AUTORIZZAZIONE);
|
|
|
|
|
// Manifattura Web Group per Regione Siciliana
|
|
|
|
|
return intPratica.getTipoPratica().equalsIgnoreCase(Constants.TIPO_PRATICA_AUTORIZZAZIONE); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//ADT BUG ID = 7
|
|
|
|
|
public static boolean canAddVariazioneSoggetti(long intPraticaId) throws PortalException, SystemException{ |
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(intPraticaId); |
|
|
|
|
if(!intPratica.getStatoPratica().equals("") && !intPratica.getNumeroProgetto().equals("")){ |
|
|
|
|
return true; |
|
|
|
|
} else { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
public static final String ACTION_AGGIUNGI_SOGGETTO = "AGGIUNGI_SOGGETTO"; |
|
|
|
|
public static final String ACTION_RIMUOVI_SOGGETTO = "RIMUOVI_SOGGETTO"; |
|
|
|
|
public static final String ACTION_VARIAZIONE_SOGGETTI = "VARIAZIONE_SOGGETTI"; |
|
|
|
|
public static final String ACTION_VARIANTE = "VARIANTE"; |
|
|
|
|
public static final String ACTION_FL_PARZIALE = "FL_PARZIALE"; |
|
|
|
|
public static final String ACTION_FL_TOTALE = "FL_TOTALE"; |
|
|
|
|
public static final String ACTION_ANNULLA = "ANNULLA"; |
|
|
|
|
public static final String ACTION_CO_PARZIALE = "CO_PARZIALE"; |
|
|
|
|
public static final String ACTION_CO_TOTALE = "CO_TOTALE"; |
|
|
|
|
public static final String ACTION_INTEGRAZIONE = "INTEGRAZIONE"; |
|
|
|
|
|
|
|
|
|
public static final String STATE_COMPILAZIONE = "COMPILAZIONE"; |
|
|
|
|
public static final String STATE_VIDIMATO = "VIDIMATO"; |
|
|
|
|
public static final String STATE_SOTTOPOSTO_A_PARERE_AUTORIZZAZIONE = "SP_AUTORIZZAZIONE"; |
|
|
|
|
public static final String STATE_SOTTOPOSTO_A_PARERE_DEPOSITO = "SP_DEPOSITO"; |
|
|
|
|
public static final String STATE_ANNULLATO = "ANNULLATO"; |
|
|
|
|
public static final String STATE_NON_CONFORME = "NON_CONFORME"; |
|
|
|
|
public static final String NON_AUTORIZZATA = "NON_AUTORIZZATA"; |
|
|
|
|
public static final String STATE_INTEGRAZIONE_AUTORIZZAZIONE = "INTEGRAZIONE_AUTORIZZAZIONE"; |
|
|
|
|
public static final String STATE_INTEGRAZIONE_DEPOSITO = "INTEGRAZIONE_DEPOSITO"; |
|
|
|
|
public static final String STATE_FINE_LAVORI_PARZIALE = "FINE_LAVORI_PARZIALE"; |
|
|
|
|
public static final String STATE_FINE_LAVORI_TOTALE = "FINE_LAVORI_TOTALE"; |
|
|
|
|
public static final String STATE_COLLAUDO_PARZIALE = "COLLAUDO_PARZIALE"; |
|
|
|
|
|
|
|
|
|
public static List<String> ALL_ACTIONS = new UniqueList<String>() { |
|
|
|
|
{ |
|
|
|
|
add(ACTION_AGGIUNGI_SOGGETTO); |
|
|
|
|
add(ACTION_RIMUOVI_SOGGETTO); |
|
|
|
|
add(ACTION_VARIAZIONE_SOGGETTI); |
|
|
|
|
add(ACTION_VARIANTE); |
|
|
|
|
add(ACTION_FL_PARZIALE); |
|
|
|
|
add(ACTION_FL_TOTALE); |
|
|
|
|
add(ACTION_ANNULLA); |
|
|
|
|
add(ACTION_CO_PARZIALE); |
|
|
|
|
add(ACTION_CO_TOTALE); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
public static Map<String, List<String>> STATE_ACTIONS_MAP = new HashMap<String, List<String>>() { |
|
|
|
|
{ |
|
|
|
|
put(STATE_VIDIMATO, ALL_ACTIONS); |
|
|
|
|
put(STATE_SOTTOPOSTO_A_PARERE_AUTORIZZAZIONE, |
|
|
|
|
ListUtil.toList(new String[] { ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, |
|
|
|
|
ACTION_VARIAZIONE_SOGGETTI, ACTION_ANNULLA })); |
|
|
|
|
put(STATE_SOTTOPOSTO_A_PARERE_DEPOSITO, ALL_ACTIONS); |
|
|
|
|
put(STATE_ANNULLATO, new ArrayList<String>()); |
|
|
|
|
put(STATE_NON_CONFORME, new ArrayList<String>()); |
|
|
|
|
put(NON_AUTORIZZATA, new ArrayList<String>()); |
|
|
|
|
put(STATE_INTEGRAZIONE_AUTORIZZAZIONE, |
|
|
|
|
ListUtil.toList(new String[] { ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, |
|
|
|
|
ACTION_INTEGRAZIONE, ACTION_ANNULLA })); |
|
|
|
|
put(STATE_INTEGRAZIONE_DEPOSITO, |
|
|
|
|
ListUtil.toList(new String[] { ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, |
|
|
|
|
ACTION_INTEGRAZIONE, |
|
|
|
|
// ACTION_ANNULLA, ACTION_FL_PARZIALE,
|
|
|
|
|
// ACTION_FL_TOTALE, ACTION_CO_PARZIALE,
|
|
|
|
|
// ACTION_CO_TOTALE}));
|
|
|
|
|
ACTION_ANNULLA })); |
|
|
|
|
put(STATE_COMPILAZIONE, |
|
|
|
|
ListUtil.toList(new String[] { ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, |
|
|
|
|
ACTION_ANNULLA })); |
|
|
|
|
put(STATE_FINE_LAVORI_PARZIALE, |
|
|
|
|
ListUtil.toList(new String[] { ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, |
|
|
|
|
ACTION_VARIANTE, ACTION_FL_PARZIALE, ACTION_FL_TOTALE, ACTION_CO_PARZIALE })); |
|
|
|
|
put(STATE_FINE_LAVORI_TOTALE, |
|
|
|
|
ListUtil.toList(new String[] { ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, |
|
|
|
|
ACTION_CO_TOTALE, ACTION_CO_PARZIALE })); |
|
|
|
|
put(STATE_COLLAUDO_PARZIALE, |
|
|
|
|
ListUtil.toList(new String[] { ACTION_AGGIUNGI_SOGGETTO, ACTION_RIMUOVI_SOGGETTO, |
|
|
|
|
ACTION_VARIANTE, ACTION_CO_PARZIALE, ACTION_CO_TOTALE })); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
public static boolean isAllowedAction(long intPraticaId, String action) throws PortalException, |
|
|
|
|
SystemException { |
|
|
|
|
|
|
|
|
|
if (!ALL_ACTIONS.contains(action) && !ACTION_INTEGRAZIONE.equalsIgnoreCase(action)) { |
|
|
|
|
throw new SystemException("Azione non presente: " + action); |
|
|
|
|
} |
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); |
|
|
|
|
|
|
|
|
|
boolean isDeposito = isDeposito(intPraticaId); |
|
|
|
|
boolean isAutorizzazione = isAutorizzazione(intPraticaId); |
|
|
|
|
|
|
|
|
|
String status = StringPool.BLANK; |
|
|
|
|
|
|
|
|
|
if (intPratica.getStatus() == WorkflowConstants.STATUS_PENDING) { |
|
|
|
|
|
|
|
|
|
if (StatoPraticaConstants.INTEGRAZIONE.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
if (isDeposito) { |
|
|
|
|
status = STATE_INTEGRAZIONE_DEPOSITO; |
|
|
|
|
} else if (isAutorizzazione) { |
|
|
|
|
status = STATE_INTEGRAZIONE_AUTORIZZAZIONE; |
|
|
|
|
} else { |
|
|
|
|
throw new SystemException("Tipo pratica non esiste"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} else if (isDeposito) { |
|
|
|
|
status = STATE_SOTTOPOSTO_A_PARERE_DEPOSITO; |
|
|
|
|
} else if (isAutorizzazione) { |
|
|
|
|
status = STATE_SOTTOPOSTO_A_PARERE_AUTORIZZAZIONE; |
|
|
|
|
} else { |
|
|
|
|
throw new SystemException("Tipo pratica non esiste"); |
|
|
|
|
} |
|
|
|
|
} else if (StatoPraticaConstants.CONFORME.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_VIDIMATO; |
|
|
|
|
} else if (StatoPraticaConstants.NON_CONFORME.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_NON_CONFORME; |
|
|
|
|
} else if (StatoPraticaConstants.AUTORIZZATA.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_VIDIMATO; |
|
|
|
|
} else if (StatoPraticaConstants.NON_AUTORIZZATA.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = NON_AUTORIZZATA; |
|
|
|
|
} else if (StatoPraticaConstants.ANNULLATA.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_ANNULLATO; |
|
|
|
|
} else if (StatoPraticaConstants.VIDIMATA.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_VIDIMATO; |
|
|
|
|
} else if (StatoPraticaConstants.FINE_LAVORI.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_FINE_LAVORI_TOTALE; |
|
|
|
|
} else if (StatoPraticaConstants.FINE_LAVORI_PARZIALE.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_FINE_LAVORI_PARZIALE; |
|
|
|
|
} else if (intPratica.getStatus() == WorkflowConstants.STATUS_ANY) { |
|
|
|
|
status = STATE_COMPILAZIONE; |
|
|
|
|
} else if (StatoPraticaConstants.COLLAUDO_PARZIALE.equalsIgnoreCase(intPratica.getStatoPratica())) { |
|
|
|
|
status = STATE_COLLAUDO_PARZIALE; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
List<String> actionList = STATE_ACTIONS_MAP.get(status); |
|
|
|
|
if (actionList == null) { |
|
|
|
|
actionList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
if (!actionList.contains(action)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!action.equalsIgnoreCase(ACTION_INTEGRAZIONE) && intPratica.getCollaudoTotale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_FL_PARZIALE) && intPratica.getFineLavoriTotale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_FL_TOTALE) && intPratica.getFineLavoriTotale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_CO_PARZIALE) && !intPratica.getFineLavoriParziale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_CO_TOTALE) && !intPratica.getFineLavoriTotale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_VARIANTE) && intPratica.getFineLavoriTotale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_ANNULLA) |
|
|
|
|
&& (intPratica.getFineLavoriTotale() || intPratica.getFineLavoriParziale() || intPratica |
|
|
|
|
.getCollaudoParziale())) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (action.equalsIgnoreCase(ACTION_RIMUOVI_SOGGETTO) && intPratica.getCollaudoParziale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static boolean canPrintFascicolo(long intPraticaId) throws PortalException, SystemException { |
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(intPraticaId); |
|
|
|
|
// ADT BUG ID = 3
|
|
|
|
|
if ((!intPratica.getStatoPratica().equals("") || intPratica.isValidata()) |
|
|
|
|
&& !intPratica.getNumeroProgetto().equals("")) { |
|
|
|
|
return true; |
|
|
|
|
} else { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static boolean canPrintFascicoloVariante(long intPraticaId) throws PortalException, |
|
|
|
|
SystemException { |
|
|
|
|
|
|
|
|
|
int nVarianti = DettPraticaLocalServiceUtil.countCompletedByIntPraticaAndTipoPratica(intPraticaId, |
|
|
|
|
Arrays.asList(new String[] { TipoIntegrazioneUtil.VARIANTE })); |
|
|
|
|
|
|
|
|
|
if (nVarianti > 0) { |
|
|
|
|
return true; |
|
|
|
|
} else { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static boolean canAddSoggetto(long intPraticaId, String tipoSoggetto) throws PortalException, |
|
|
|
|
SystemException { |
|
|
|
|
|
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); |
|
|
|
|
|
|
|
|
|
if (!isAllowedAction(intPraticaId, ACTION_AGGIUNGI_SOGGETTO)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// ADT BUG FE ID = 11
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
* if ((!TipoSoggettoUtil.COMMITTENTE.equalsIgnoreCase(tipoSoggetto) && |
|
|
|
|
* !TipoSoggettoUtil.COLLAUDATORE .equalsIgnoreCase(tipoSoggetto)) && |
|
|
|
|
* (intPratica.isFineLavoriTotale() || |
|
|
|
|
* intPratica.getCollaudoParziale())) { return false; } |
|
|
|
|
*/ |
|
|
|
|
if ((!TipoSoggettoUtil.COMMITTENTE.equalsIgnoreCase(tipoSoggetto) && !TipoSoggettoUtil.COLLAUDATORE |
|
|
|
|
.equalsIgnoreCase(tipoSoggetto)) && (intPratica.isFineLavoriTotale())) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static boolean canRemoveSoggetto(long intPraticaId, String tipoSoggetto) throws PortalException, |
|
|
|
|
SystemException { |
|
|
|
|
|
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); |
|
|
|
|
if (!isAllowedAction(intPraticaId, ACTION_RIMUOVI_SOGGETTO)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ((!TipoSoggettoUtil.COMMITTENTE.equalsIgnoreCase(tipoSoggetto) && !TipoSoggettoUtil.COLLAUDATORE |
|
|
|
|
.equalsIgnoreCase(tipoSoggetto)) |
|
|
|
|
&& (intPratica.isFineLavoriTotale() || intPratica.getCollaudoParziale())) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
if ((TipoSoggettoUtil.DIRETTORE_LAVORI.equalsIgnoreCase(tipoSoggetto) || TipoSoggettoUtil.DITTA |
|
|
|
|
.equalsIgnoreCase(tipoSoggetto)) && intPratica.isFineLavoriParziale()) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static boolean isDeposito(long intPraticaId) throws PortalException, SystemException { |
|
|
|
|
|
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); |
|
|
|
|
// Territorio territorio =
|
|
|
|
|
// TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId());
|
|
|
|
|
// return
|
|
|
|
|
// Constants.PRATICA_ZONE.get(territorio.getZona()).equalsIgnoreCase(Constants.TIPO_PRATICA_DEPOSITO);
|
|
|
|
|
// Manifattura Web Group per Regione Siciliana
|
|
|
|
|
return intPratica.getTipoPratica().equalsIgnoreCase(Constants.TIPO_PRATICA_DEPOSITO); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static boolean isAutorizzazione(long intPraticaId) throws PortalException, SystemException { |
|
|
|
|
|
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.getIntPratica(intPraticaId); |
|
|
|
|
// Territorio territorio =
|
|
|
|
|
// TerritorioLocalServiceUtil.getTerritorio(intPratica.getTerritorioId());
|
|
|
|
|
// return
|
|
|
|
|
// Constants.PRATICA_ZONE.get(territorio.getZona()).equalsIgnoreCase(Constants.TIPO_PRATICA_AUTORIZZAZIONE);
|
|
|
|
|
// Manifattura Web Group per Regione Siciliana
|
|
|
|
|
return intPratica.getTipoPratica().equalsIgnoreCase(Constants.TIPO_PRATICA_AUTORIZZAZIONE); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// ADT BUG ID = 7
|
|
|
|
|
public static boolean canAddVariazioneSoggetti(long intPraticaId) throws PortalException, SystemException { |
|
|
|
|
IntPratica intPratica = IntPraticaLocalServiceUtil.fetchIntPratica(intPraticaId); |
|
|
|
|
if (!intPratica.getStatoPratica().equals("") && !intPratica.getNumeroProgetto().equals("")) { |
|
|
|
|
return true; |
|
|
|
|
} else { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|