|
|
@ -1,39 +1,9 @@ |
|
|
|
package it.mwg.sismica.bo.util; |
|
|
|
package it.mwg.sismica.bo.util; |
|
|
|
|
|
|
|
|
|
|
|
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.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.ConfigurazioneLocalServiceUtil; |
|
|
|
|
|
|
|
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.ProvinciaLocalServiceUtil; |
|
|
|
|
|
|
|
import it.tref.liferay.portos.bo.service.SoggettoLocalServiceUtil; |
|
|
|
|
|
|
|
import it.tref.liferay.portos.bo.service.SorteggioLocalServiceUtil; |
|
|
|
|
|
|
|
import it.tref.liferay.portos.bo.service.TerritorioLocalServiceUtil; |
|
|
|
|
|
|
|
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.TipoSoggettoUtil; |
|
|
|
|
|
|
|
import it.tref.liferay.portos.bo.util.AvvisoUtil; |
|
|
|
|
|
|
|
import it.tref.liferay.portos.report.shared.constants.ReportConstants; |
|
|
|
|
|
|
|
import it.tref.liferay.portos.report.shared.dto.ReportDto; |
|
|
|
|
|
|
|
import it.tref.liferay.portos.report.shared.util.ReportUtil; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import java.security.SecureRandom; |
|
|
|
|
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Calendar; |
|
|
|
import java.util.Calendar; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.HashMap; |
|
|
|
|
|
|
|
import java.util.List; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
import java.util.TreeMap; |
|
|
|
|
|
|
|
import java.util.concurrent.locks.Lock; |
|
|
|
import java.util.concurrent.locks.Lock; |
|
|
|
import java.util.concurrent.locks.ReentrantLock; |
|
|
|
import java.util.concurrent.locks.ReentrantLock; |
|
|
|
|
|
|
|
|
|
|
@ -43,14 +13,8 @@ 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.repository.model.FileEntry; |
|
|
|
import com.liferay.portal.kernel.repository.model.FileEntry; |
|
|
|
import com.liferay.portal.kernel.repository.model.Folder; |
|
|
|
import com.liferay.portal.kernel.repository.model.Folder; |
|
|
|
import com.liferay.portal.kernel.util.Validator; |
|
|
|
|
|
|
|
import com.liferay.portal.model.Company; |
|
|
|
import com.liferay.portal.model.Company; |
|
|
|
import com.liferay.portal.model.Role; |
|
|
|
|
|
|
|
import com.liferay.portal.model.RoleConstants; |
|
|
|
|
|
|
|
import com.liferay.portal.service.CompanyLocalServiceUtil; |
|
|
|
import com.liferay.portal.service.CompanyLocalServiceUtil; |
|
|
|
import com.liferay.portal.service.RoleLocalServiceUtil; |
|
|
|
|
|
|
|
import com.liferay.portal.service.ServiceContext; |
|
|
|
|
|
|
|
import com.liferay.portal.service.UserLocalServiceUtil; |
|
|
|
|
|
|
|
import com.liferay.portlet.documentlibrary.model.DLFolderConstants; |
|
|
|
import com.liferay.portlet.documentlibrary.model.DLFolderConstants; |
|
|
|
import com.liferay.portlet.documentlibrary.service.DLAppLocalServiceUtil; |
|
|
|
import com.liferay.portlet.documentlibrary.service.DLAppLocalServiceUtil; |
|
|
|
|
|
|
|
|
|
|
@ -65,8 +29,6 @@ public class SorteggioPraticaUtil { |
|
|
|
|
|
|
|
|
|
|
|
private static final String FOLDER_SORTEGGIO = "Report_Sorteggio"; |
|
|
|
private static final String FOLDER_SORTEGGIO = "Report_Sorteggio"; |
|
|
|
|
|
|
|
|
|
|
|
private static final String FILE_ENTRY_TEMPLATE_SORTEGGIO = "Sorteggio"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
/** |
|
|
|
* |
|
|
|
* |
|
|
|
* Implementazione della procedura di sorteggio secondo i requisiti della |
|
|
|
* Implementazione della procedura di sorteggio secondo i requisiti della |
|
|
@ -82,142 +44,9 @@ public class SorteggioPraticaUtil { |
|
|
|
SystemException { |
|
|
|
SystemException { |
|
|
|
|
|
|
|
|
|
|
|
List<String> esito = new ArrayList<>(); |
|
|
|
List<String> esito = new ArrayList<>(); |
|
|
|
if (lock.tryLock()) { |
|
|
|
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat(DATE_TIME_FORMAT); |
|
|
|
|
|
|
|
esito.add("Sorteggio iniziato in data " + sdf.format(dtSorteggio) + ".<br><br>"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String, List<IntPratica>> sorteggiabili = IntPraticaLocalServiceUtil.findSorteggiabiliNew( |
|
|
|
|
|
|
|
companyId, dtSorteggio); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int numeroSorteggiabili = 0; |
|
|
|
|
|
|
|
for (Map.Entry<String, List<IntPratica>> s : sorteggiabili.entrySet()) { |
|
|
|
|
|
|
|
numeroSorteggiabili += s.getValue().size(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
esito.add("<h1>" + numeroSorteggiabili + " pratiche sottoposte a sorteggio.</h1>"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SecureRandom rnd = new SecureRandom(); |
|
|
|
|
|
|
|
List<IntPratica> sorteggiate = new ArrayList<>(); |
|
|
|
|
|
|
|
for (Map.Entry<String, List<IntPratica>> s : sorteggiabili.entrySet()) { |
|
|
|
|
|
|
|
String codiceProvincia = s.getKey(); |
|
|
|
|
|
|
|
List<IntPratica> elenco = s.getValue(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(companyId, codiceProvincia); |
|
|
|
|
|
|
|
long numeroSorteggiate = (long) Math.ceil(0.1 * elenco.size()); |
|
|
|
|
|
|
|
String testoSorteggio; |
|
|
|
|
|
|
|
if (numeroSorteggiate > 1) { |
|
|
|
|
|
|
|
testoSorteggio = "saranno estratte " + numeroSorteggiate + " pratiche"; |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
testoSorteggio = "sarà estratta 1 pratica"; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
esito.add("<h2><small>(" + sdf.format(new Date()) + ")</small> Provincia di " |
|
|
|
|
|
|
|
+ provincia.getProvincia() + " " + elenco.size() + " pratiche, " + testoSorteggio |
|
|
|
|
|
|
|
+ ".</h2><ol>"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<Integer, IntPratica> ordinate = new HashMap<>(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int chiave; |
|
|
|
|
|
|
|
for (IntPratica pratica : elenco) { |
|
|
|
|
|
|
|
do { |
|
|
|
|
|
|
|
chiave = rnd.nextInt(); |
|
|
|
|
|
|
|
} while (ordinate.containsKey(chiave)); |
|
|
|
|
|
|
|
ordinate.put(chiave, pratica); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
TreeMap<Integer, IntPratica> mescolate = new TreeMap<Integer, IntPratica>(ordinate); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
long contatore = 0; |
|
|
|
|
|
|
|
for (Map.Entry<Integer, IntPratica> m : mescolate.entrySet()) { |
|
|
|
|
|
|
|
IntPratica pratica = m.getValue(); |
|
|
|
|
|
|
|
long intPraticaId = pratica.getIntPraticaId(); |
|
|
|
|
|
|
|
DettPratica dettPratica = DettPraticaLocalServiceUtil |
|
|
|
|
|
|
|
.getLastCompletedByIntPratica(intPraticaId); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ServiceContext serviceContext = new ServiceContext(); |
|
|
|
|
|
|
|
serviceContext.setCompanyId(dettPratica.getCompanyId()); |
|
|
|
|
|
|
|
serviceContext.setScopeGroupId(dettPratica.getGroupId()); |
|
|
|
|
|
|
|
serviceContext.setUserId(dettPratica.getUserId()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (contatore++ < numeroSorteggiate) { |
|
|
|
|
|
|
|
sorteggiate.add(pratica); |
|
|
|
|
|
|
|
esito.add("<li>Sorteggiata: " + pratica.getNumeroProgetto() + " (id " + intPraticaId |
|
|
|
|
|
|
|
+ ") del " + sdf.format(pratica.getDtPratica()) + " (" + m.getKey() |
|
|
|
|
|
|
|
+ ")</li>"); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
pratica.setDtSorteggio(dtSorteggio); |
|
|
|
|
|
|
|
IntPraticaLocalServiceUtil.updateIntPratica(pratica); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
esito.add("<li>Non sorteggiata: " + pratica.getNumeroProgetto() + " (id " |
|
|
|
|
|
|
|
+ intPraticaId + ") del " + sdf.format(pratica.getDtPratica()) + " (" |
|
|
|
|
|
|
|
+ m.getKey() + ")</li>"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
esito.add("</ol>"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (sorteggiate.size() > 0) { |
|
|
|
|
|
|
|
saveSorteggio(companyId, sorteggiate, dtSorteggio); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
esito.add("Sorteggio terminato in data " + sdf.format(new Date()) + ".<br><br>"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
creaReportSorteggio(companyId, dtSorteggio, esito); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Salvataggio data ultimo sorteggio
|
|
|
|
|
|
|
|
ServiceContext serviceContext = new ServiceContext(); |
|
|
|
|
|
|
|
serviceContext.setCompanyId(companyId); |
|
|
|
|
|
|
|
serviceContext.setScopeGroupId(-1L); |
|
|
|
|
|
|
|
serviceContext.setUserId(UserLocalServiceUtil.getDefaultUserId(companyId)); |
|
|
|
|
|
|
|
ConfigurazioneLocalServiceUtil.storeConfig(ConfigurazioneConstants.DATE_ULTIMO_SORTEGGIO, |
|
|
|
|
|
|
|
sdf.format(dtSorteggio), serviceContext); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lock.unlock(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return esito; |
|
|
|
return esito; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private static FileEntry creaReportSorteggio(long companyId, Date dtSorteggio, List<String> contenuto) |
|
|
|
|
|
|
|
throws PortalException, SystemException { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Role role = RoleLocalServiceUtil.getRole(companyId, RoleConstants.ADMINISTRATOR); |
|
|
|
|
|
|
|
long userId = UserLocalServiceUtil.getRoleUsers(role.getRoleId(), 0, 1).get(0).getUserId(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Company company = CompanyLocalServiceUtil.getCompany(companyId); |
|
|
|
|
|
|
|
Folder folderTemplate = DLAppLocalServiceUtil.getFolder(company.getGroupId(), |
|
|
|
|
|
|
|
DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, "Template"); |
|
|
|
|
|
|
|
FileEntry fileEntryTemplate = DLAppLocalServiceUtil.getFileEntry(folderTemplate.getGroupId(), |
|
|
|
|
|
|
|
folderTemplate.getFolderId(), FILE_ENTRY_TEMPLATE_SORTEGGIO); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Folder folderReport = DLAppLocalServiceUtil.getFolder(company.getGroupId(), |
|
|
|
|
|
|
|
DLFolderConstants.DEFAULT_PARENT_FOLDER_ID, FOLDER_SORTEGGIO); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
StringBuilder sb = new StringBuilder(contenuto.size()); |
|
|
|
|
|
|
|
for (String riga : contenuto) { |
|
|
|
|
|
|
|
sb.append(riga); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
Map<String, Object> parameters = new HashMap<String, Object>(); |
|
|
|
|
|
|
|
parameters.put("html", sb.toString()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ReportDto reportDto = new ReportDto(); |
|
|
|
|
|
|
|
reportDto.setFileEntryIds(new long[] { fileEntryTemplate.getFileEntryId() }); |
|
|
|
|
|
|
|
reportDto.setFolderId(folderReport.getFolderId()); |
|
|
|
|
|
|
|
reportDto.setFileName(reportFileName(companyId, dtSorteggio)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
reportDto.setHeader(""); |
|
|
|
|
|
|
|
reportDto.setHeaderHeight(1); |
|
|
|
|
|
|
|
reportDto.setFooter(""); |
|
|
|
|
|
|
|
reportDto.setFooterHeight(40); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
reportDto.setParameters(parameters); |
|
|
|
|
|
|
|
reportDto.setShowNumberOfPage(true); |
|
|
|
|
|
|
|
reportDto.setType(ReportConstants.ReportType.VELOCITY_TO_PDF.toString()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String resourcePath = SorteggioPraticaUtil.class.getName().replaceAll("\\w+\\.", "../") |
|
|
|
|
|
|
|
.replace(SorteggioPraticaUtil.class.getSimpleName(), "resource/asseverazioni"); |
|
|
|
|
|
|
|
reportDto.setPortalURL(SorteggioPraticaUtil.class.getResource(resourcePath).getPath()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ReportUtil.generateReport(companyId, userId, reportDto, null); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return null; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private static String reportFileName(long companyId, Date dtSorteggio) { |
|
|
|
private static String reportFileName(long companyId, Date dtSorteggio) { |
|
|
|
Calendar calSorteggio = DateUtils.toCalendar(dtSorteggio); |
|
|
|
Calendar calSorteggio = DateUtils.toCalendar(dtSorteggio); |
|
|
|
String anno = String.valueOf(calSorteggio.get(Calendar.YEAR)); |
|
|
|
String anno = String.valueOf(calSorteggio.get(Calendar.YEAR)); |
|
|
@ -240,72 +69,6 @@ public class SorteggioPraticaUtil { |
|
|
|
* @throws PortalException |
|
|
|
* @throws PortalException |
|
|
|
* @throws SystemException |
|
|
|
* @throws SystemException |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
private static void saveSorteggio(long companyId, List<IntPratica> pratiche, Date dtSorteggio) |
|
|
|
|
|
|
|
throws PortalException, SystemException { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
long numeroEstrazione = 1; |
|
|
|
|
|
|
|
for (IntPratica pratica : pratiche) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Territorio territorio = TerritorioLocalServiceUtil.getTerritorio(pratica.getTerritorioId()); |
|
|
|
|
|
|
|
Comune comune = ComuneLocalServiceUtil.getComune(territorio.getComuneId()); |
|
|
|
|
|
|
|
Provincia provincia = ProvinciaLocalServiceUtil.fetchByC_C(territorio.getCompanyId(), |
|
|
|
|
|
|
|
comune.getCodiceProvincia()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DettPratica dettPratica = DettPraticaLocalServiceUtil.getLastCompletedByIntPratica(pratica |
|
|
|
|
|
|
|
.getIntPraticaId()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String committente = ""; |
|
|
|
|
|
|
|
List<Soggetto> soggetti = SoggettoLocalServiceUtil |
|
|
|
|
|
|
|
.findByIntPratica_TipologiaSoggetto_Aggiuntivo_Rimosso(pratica.getIntPraticaId(), |
|
|
|
|
|
|
|
TipoSoggettoUtil.COMMITTENTE, false, false); |
|
|
|
|
|
|
|
if (soggetti.size() > 0) { |
|
|
|
|
|
|
|
Soggetto soggetto = soggetti.get(0); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Bug 32771
|
|
|
|
|
|
|
|
if (Validator.isNotNull(soggetto.getNome()) && Validator.isNotNull(soggetto.getCognome())) |
|
|
|
|
|
|
|
committente = soggetto.getNome() + " " + soggetto.getCognome(); |
|
|
|
|
|
|
|
else if (Validator.isNotNull(soggetto.getDenominazione())) |
|
|
|
|
|
|
|
committente = soggetto.getDenominazione(); |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
committente = soggetto.getLegaleRap(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// anno, mese, settimana della data sorteggio
|
|
|
|
|
|
|
|
Calendar calSorteggio = Calendar.getInstance(); |
|
|
|
|
|
|
|
calSorteggio.setTime(dtSorteggio); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String anno = String.valueOf(calSorteggio.get(Calendar.YEAR)); |
|
|
|
|
|
|
|
String mese = String.format("%02d", calSorteggio.get(Calendar.MONTH) + 1); |
|
|
|
|
|
|
|
int settimana = calSorteggio.get(Calendar.WEEK_OF_YEAR); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ServiceContext serviceContext = new ServiceContext(); |
|
|
|
|
|
|
|
serviceContext.setCompanyId(dettPratica.getCompanyId()); |
|
|
|
|
|
|
|
serviceContext.setScopeGroupId(dettPratica.getGroupId()); |
|
|
|
|
|
|
|
serviceContext.setUserId(dettPratica.getUserId()); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SorteggioLocalServiceUtil.addSorteggio(pratica.getIntPraticaId(), dettPratica.getDettPraticaId(), |
|
|
|
|
|
|
|
anno, mese, settimana, dtSorteggio, "", APERTO, "", numeroEstrazione++, |
|
|
|
|
|
|
|
pratica.getNumeroProgetto(), committente, comune.getDenominazione(), |
|
|
|
|
|
|
|
provincia.getProvincia(), false, pratica.getIntPraticaId(), false, serviceContext); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ControlloPratica controlloPratica = ControlloPraticaLocalServiceUtil.addControlloPratica( |
|
|
|
|
|
|
|
pratica.getGroupId(), pratica.getUserId(), pratica.getIntPraticaId(), |
|
|
|
|
|
|
|
dettPratica.getDettPraticaId(), true, serviceContext); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
long fileEntryIdTemplate = ConfigurazioneLocalServiceUtil.findByC_ChiaveLong( |
|
|
|
|
|
|
|
serviceContext.getCompanyId(), "conf.geniocivile.avviso.template.id.deposito.S"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AvvisoLocalServiceUtil.addAvviso(pratica.getIntPraticaId(), "Avviso di sorteggio", dtSorteggio, |
|
|
|
|
|
|
|
AvvisoUtil.TIPO_AVVISO_DIRETTO, StatoPraticaConstants.SOTTOPOSTA_A_PARERE, |
|
|
|
|
|
|
|
fileEntryIdTemplate, dettPratica.getDettPraticaId(), DettPratica.class.getName(), |
|
|
|
|
|
|
|
controlloPratica.getControlloPraticaId(), serviceContext); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IntPraticaLocalServiceUtil.updateIntPraticaSorteggio(pratica.getIntPraticaId(), dtSorteggio, |
|
|
|
|
|
|
|
StatoPraticaConstants.SOTTOPOSTA_A_PARERE); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static FileEntry getFileEntrySorteggio(long companyId, long groupId, Date dtSorteggio) |
|
|
|
public static FileEntry getFileEntrySorteggio(long companyId, long groupId, Date dtSorteggio) |
|
|
|
throws PortalException, SystemException { |
|
|
|
throws PortalException, SystemException { |
|
|
|
|
|
|
|
|
|
|
|