@ModelAttribute("navigaProgetti") public NavigaProgetti modelAttrNavigaProgetti() { NavigaProgetti navigaProgetti = new NavigaProgetti(); String idNatura = (aggregataFacade.findNaturaByCod(codiNaturaOpenCUP) == null) ? "0" : aggregataFacade.findNaturaByCod(codiNaturaOpenCUP).getId().toString(); navigaProgetti.setIdNatura(idNatura); return navigaProgetti; }
private void initInModelMascheraRicerca(Model model, NavigaProgetti filtro) { // Carico la lista delle regioni List<AreaGeografica> listAreaGeografica = aggregataFacade.findAreaGeografica(); model.addAttribute("listAreaGeografica", listAreaGeografica); if ((!"-1".equals(filtro.getIdAreaGeografica())) && (!"0".equals(filtro.getIdAreaGeografica()))) { // Regione selezionata carico le Province List<Regione> listRegione = aggregataFacade.findRegioniByIdAreaGeografica( Integer.valueOf(filtro.getIdAreaGeografica())); model.addAttribute("listRegione", listRegione); } if ((!"-1".equals(filtro.getIdRegione())) && (!"0".equals(filtro.getIdRegione()))) { // Regione selezionata carico le Province List<Provincia> listProvincia = aggregataFacade.findProvinciaByIdRegione(Integer.valueOf(filtro.getIdRegione())); model.addAttribute("listProvincia", listProvincia); } if ((!"-1".equals(filtro.getIdProvincia())) && (!"0".equals(filtro.getIdProvincia()))) { // Provincia selezionata carico i Comuni List<Comune> listComune = aggregataFacade.findComuneByIdProvincia(Integer.valueOf(filtro.getIdProvincia())); model.addAttribute("listComune", listComune); } // Carico la lista degli Anni Decisione List<AnnoDecisione> listaAnnoDecisione = aggregataFacade.findAnniDecisione(); model.addAttribute("listaAnnoDecisione", listaAnnoDecisione); // Carico la lista delle Tipologia Intervento List<TipologiaIntervento> listaTipologiaIntervento = aggregataFacade.findTipologiaIntervento(); model.addAttribute("listaTipologiaIntervento", listaTipologiaIntervento); // Carico la lista degli Stato Progetto List<StatoProgetto> listaStatoProgetto = aggregataFacade.findStatoProgetto(); model.addAttribute("listaStatoProgetto", listaStatoProgetto); // Carico la lista della Aree Soggetto List<AreaSoggetto> listAreaSoggetto = aggregataFacade.findAreaSoggetto(); model.addAttribute("listAreaSoggetto", listAreaSoggetto); if ((!"-1".equals(filtro.getIdAreaSoggetto())) && (!"0".equals(filtro.getIdAreaSoggetto()))) { // Carico la lista della Categoria Soggetto List<CategoriaSoggetto> listCategoriaSoggetto = aggregataFacade .findCategoriaSoggettoByIdAreaSoggetto(); // Integer.valueOf( // filtro.getIdAreaSoggetto() )); model.addAttribute("listCategoriaSoggetto", listCategoriaSoggetto); } if ((!"-1".equals(filtro.getIdCategoriaSoggetto())) && (!"0".equals(filtro.getIdCategoriaSoggetto()))) { // Carico la lista della Sottocategoria Soggetto List<SottocategoriaSoggetto> listSottoCategoriaSoggetto = aggregataFacade.findSottocategoriaSoggetto( Integer.valueOf(filtro.getIdCategoriaSoggetto())); model.addAttribute("listSottoCategoriaSoggetto", listSottoCategoriaSoggetto); } // Carico le Aree d'intervednto List<AreaIntervento> listAreaIntervento = aggregataFacade.findAreaIntervento(); model.addAttribute("listAreaIntervento", listAreaIntervento); if ((!"-1".equals(filtro.getIdAreaIntervento())) && (!"0".equals(filtro.getIdAreaIntervento()))) { // Settore intervento selezionata carico i sottosettori List<SottosettoreIntervento> listSottosettoreIntervento = aggregataFacade.findSottosettoreByArea(Integer.valueOf(filtro.getIdAreaIntervento())); model.addAttribute("listSottosettoreIntervento", listSottosettoreIntervento); } if (((!"-1".equals(filtro.getIdAreaIntervento())) && (!"-1".equals(filtro.getIdSottosettoreIntervento()))) && ((!"0".equals(filtro.getIdAreaIntervento())) && (!"0".equals(filtro.getIdSottosettoreIntervento())))) { // Settore intervento e sottosettore intervento selezionati carico le categorie List<CategoriaIntervento> listaCategoriaIntervento = aggregataFacade.findCategoriaInterventoByAreaSottosettore( Integer.valueOf(filtro.getIdAreaIntervento()), Integer.valueOf(filtro.getIdSottosettoreIntervento())); model.addAttribute("listaCategoriaIntervento", listaCategoriaIntervento); } }
@RenderMapping(params = "action=elencoProgetti") public String elencoProgettiRenderRequest( RenderRequest renderRequest, RenderResponse renderResponse, Model model, @ModelAttribute("navigaProgetti") NavigaProgetti navigaProgetti) { // ,@RequestParam(required=false, value="jsonnavigaprogetti") String jsonnavigaprogetti){ // if(!StringUtils.isEmpty(jsonnavigaprogetti)){ // navigaProgetti = createModelProgettiFromJsonString(jsonnavigaprogetti); // } if (StringUtils.isEmpty(navigaProgetti.getCurrentAction())) { navigaProgetti.setCurrentAction("elencoProgetti"); } model.addAttribute("currentAction", navigaProgetti.getCurrentAction()); model.addAttribute("paginate", "true"); // LISTA PROGETTI // // orderByCol is the column name passed in the request while sorting String orderByCol = ParamUtil.getString(renderRequest, "orderByCol"); if (Validator.isNull(orderByCol) || Validator.equals("", orderByCol)) { orderByCol = "impoCostoProgetto"; } // orderByType is passed in the request while sorting. It can be either asc or desc String orderByType = ParamUtil.getString(renderRequest, "orderByType"); if (Validator.isNull(orderByType) || Validator.equals("", orderByType)) { orderByType = "desc"; } // delta String sDelta = ParamUtil.getString(renderRequest, "delta"); int delta = maxResult; if (!(Validator.isNull(sDelta) || Validator.equals("", sDelta))) { delta = Integer.parseInt(sDelta); } SearchContainer<Progetto> searchContainerElenco = new SearchContainer<Progetto>( renderRequest, renderResponse.createRenderURL(), null, "Nessun dato trovato per la selezione fatta"); searchContainerElenco.setDelta(delta); searchContainerElenco.setOrderByCol(orderByCol); searchContainerElenco.setOrderByType(orderByType); // int size = progettoFacade.sizeElencoProgetti( navigaProgetti ).getSize(); navigaProgetti.setOrderByCol(searchContainerElenco.getOrderByCol()); navigaProgetti.setOrderByType(searchContainerElenco.getOrderByType()); navigaProgetti.setStart(searchContainerElenco.getStart()); navigaProgetti.setDelta(delta); List<Progetto> elencoProgetti4Pag = progettoFacade.findElencoProgetti(navigaProgetti); // int size = elencoProgetti.size(); /* searchContainerElenco.setTotal(size); int fromIndex = searchContainerElenco.getStart(); int toIndex = (((searchContainerElenco.getStart() + delta) > size)?size:(searchContainerElenco.getStart() + delta)) - 1; System.out.println( fromIndex ); System.out.println( toIndex ); List<Progetto> elencoProgetti4Pag = new ArrayList<Progetto>(); for( Progetto tmp : elencoProgetti.subList(fromIndex, toIndex) ){ if( tmp.getAnagraficaCup().getFkDcupDcupIdMaster() != null ){ tmp.getAnagraficaCup().setAnagraficaCup( progettoFacade.findAnagraficaCupById( tmp.getAnagraficaCup().getFkDcupDcupIdMaster() ) ); } elencoProgetti4Pag.add(tmp); } */ searchContainerElenco.setResults(elencoProgetti4Pag); model.addAttribute("pagDettaglioProgetto", paginaDettaglioProgetto); // FINE LISTA PROGETTI // // MASCHERA RICERCA PROGETTI // initInModelMascheraRicerca(model, navigaProgetti); model.addAttribute("navigaProgetti", navigaProgetti); // FINE RICERCA PROGETTI // // RIEPILOGO // // DATI TOTALI NavigaAggregata navigaAggregata = new NavigaAggregata(); String idNatura = (aggregataFacade.findNaturaByCod(codiNaturaOpenCUP) == null) ? "0" : aggregataFacade.findNaturaByCod(codiNaturaOpenCUP).getId().toString(); navigaAggregata.setIdNatura(idNatura); List<AggregataDTO> listaAggregataDTO = aggregataFacade.findAggregataByNatura(navigaAggregata); NavigaProgetti navigaProgettitot = new NavigaProgetti(); navigaProgettitot.setIdNatura(idNatura); Double impoCostoProgetti = 0.0; Double impoImportoFinanziato = 0.0; long sizetot = 0; // progettoFacade.sizeElencoProgetti( navigaProgettitot ).getSize(); for (AggregataDTO aggregataDTO : listaAggregataDTO) { impoCostoProgetti = impoCostoProgetti + aggregataDTO.getImpoCostoProgetti(); impoImportoFinanziato = impoImportoFinanziato + aggregataDTO.getImpoImportoFinanziato(); sizetot = sizetot + aggregataDTO.getNumeProgetti(); } model.addAttribute("volumeDeiProgetti", sizetot); model.addAttribute("costoDeiProgetti", impoCostoProgetti); model.addAttribute("importoFinanziamenti", impoImportoFinanziato); // if( size > (delta*2)){ // navigaAggregata = new NavigaAggregata(); // navigaAggregata.setIdNatura(idNatura); // navigaAggregata.importa( navigaProgetti ); // //Gestione ANNI // if( navigaProgetti.getIdAnnoDecisiones() != null && // navigaProgetti.getIdAnnoDecisiones().size() > 0){ // if( navigaProgetti.getIdAnnoDecisiones().contains("-1") ){ // List<String> idAnnoAggregatos = new ArrayList<String>(); // idAnnoAggregatos.add("0"); // navigaAggregata.setIdAnnoAggregatos( idAnnoAggregatos ); // }else{ // List<String> idAnnoAggregatos = new ArrayList<String>(); // for( String tmp : navigaProgetti.getIdAnnoDecisiones() ){ // // idAnnoAggregatos.add((aggregataFacade.findAnniDecisione(Integer.valueOf(tmp))).getAnnoAggregato().getId().toString()); // } // navigaAggregata.setIdAnnoAggregatos( idAnnoAggregatos ); // } // } // //FINE Gestione ANNI // // listaAggregataDTO = aggregataFacade.findAggregataByNatura(navigaAggregata); // // Double impoCostoProgettiProg = 0.0; // Double impoImportoFinanziatoProg = 0.0; // // for(AggregataDTO aggregataDTO : listaAggregataDTO){ // impoCostoProgettiProg = impoCostoProgettiProg + aggregataDTO.getImpoCostoProgetti(); // impoImportoFinanziatoProg = impoImportoFinanziatoProg + // aggregataDTO.getImpoImportoFinanziato(); // } // model.addAttribute("costoDeiProgettiProg", impoCostoProgettiProg); // model.addAttribute("importoFinanziamentiProg", impoImportoFinanziatoProg); // }else{ TotaliDTO totali = progettoFacade.sommaImpElencoProgetti(navigaProgetti); model.addAttribute("costoDeiProgettiProg", totali.getImpoCostoProgetto()); model.addAttribute("importoFinanziamentiProg", totali.getImpoImportoFinanziato()); model.addAttribute("volumeDeiProgettiProg", totali.getContaProgetti().intValue()); // } searchContainerElenco.setTotal(totali.getContaProgetti().intValue()); model.addAttribute("searchContainerElenco", searchContainerElenco); /* System.out.println("STEP 4"); Double impoCostoProgettiProg = 0.0; Double impoImportoFinanziatoProg = 0.0; for( Progetto p : elencoProgetti ){ impoCostoProgettiProg = impoCostoProgettiProg + p.getImpoCostoProgetto(); impoImportoFinanziatoProg = impoImportoFinanziatoProg + p.getImpoImportoFinanziato(); } model.addAttribute("volumeDeiProgettiProg", size); model.addAttribute("costoDeiProgettiProg", impoCostoProgettiProg); model.addAttribute("importoFinanziamentiProg", impoImportoFinanziatoProg); */ // FINE RIEPILOGO // model.addAttribute("valoreRicercaValido", "SI"); return "elenco-progetti-view"; }