@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; }
@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"; }