Package it.pdor.generatorePdA.domain

Examples of it.pdor.generatorePdA.domain.Spesa


   
    try {
      Finanziamento finanziamentoConSpese = new FinanziamentoTradizionaleRegolareFake();
      List<Spesa> spese = new ArrayList<Spesa>();
      for (int i = 0; i < 12; i++) {
        Spesa spesa = new Spesa();
        spesa.setFlagNoTabelle("S");
        spesa.setFlagFinanziata("S");
        spesa.setImporto(0d);
        spesa.setImportoFisso(Math.pow(2, i));
        spesa.setPremioPercentuale(0.0);
        spese.add(spesa);
       
      }
      finanziamentoConSpese.setSpese(spese);
      finanziamentoConSpese= calcolatoreTassoPeriodale.calcolaTassoPeriodale(finanziamentoConSpese);
View Full Code Here


 
 
  private double calcolaSpeseIncasso(Finanziamento fin, int month, Date scadenza){
    double quotaSpeseIncasso = 0;
    if( fin.getSpese() != null && fin.getSpese().size()> 0 ){
      Spesa spesa = getTipoSpesa(fin.getSpese(),CostantiSpese.SPESE_INCASSO.value())
      if(spesa != null){
        if("S".equals(spesa.getFlagNoTabelle())){
          if( spesa.getBaseSpesa().trim().equals(TipiBaseSpesa.ANNUALE.value())){
            if( month == DateUtility.getMonth(scadenza) ){
              quotaSpeseIncasso = spesa.getImporto() / (fin.getNumeroRate() * fin.getTipoPeriodicita() / 12);
            }
          }else if (spesa.getBaseSpesa().trim().equals(TipiBaseSpesa.RATEALE.value())){
            quotaSpeseIncasso = spesa.getImporto() / fin.getNumeroRate();
          }else{
            quotaSpeseIncasso =  RoundUtils.round2Cifre( spesa.getImporto() / ( fin.getNumeroRate() - fin.getTotaleRateNulle() ) );
          }
        }else
          if( spesa.getImportoFisso() > 0 ){
            if( spesa.getBaseSpesa().trim().equals(TipiBaseSpesa.ANNUALE.value())){
              if( month == DateUtility.getMonth(scadenza) ){
                quotaSpeseIncasso = spesa.getImportoFisso();
              }
            }else if (spesa.getBaseSpesa().trim().equals(TipiBaseSpesa.RATEALE.value()) ) {
              quotaSpeseIncasso = spesa.getImportoFisso();
            }
          }
        }
      }
    }
View Full Code Here

  }

  private double calcolaQuotaCommissioniGestione(Finanziamento fin, int month, Date scadenza){
    double quotaCommissioniGestione = 0;
    if( fin.getSpese() != null && fin.getSpese().size()> 0 ){
      Spesa spesa = getTipoSpesa(fin.getSpese(),CostantiSpese.COMMISSIONI_DI_GESTIONE.value());
      if (spesa != null) {
        if("S".equals(spesa.getFlagNoTabelle())){
          quotaCommissioniGestione = RoundUtils.round2Cifre( spesa.getImporto() / ( fin.getNumeroRate() - fin.getTotaleRateNulle() ) );
        }else{
          if( spesa.getImportoFisso() > 0){
            if( spesa.getBaseSpesa().trim().equals(TipiBaseSpesa.ANNUALE.value())){
              if( month == DateUtility.getMonth(scadenza) ){
                quotaCommissioniGestione = spesa.getImportoFisso();
              }
            }else if(spesa.getBaseSpesa().trim().equals(TipiBaseSpesa.RATEALE.value())){
              quotaCommissioniGestione = spesa.getImportoFisso();
            }
          }
        }
      }
    }
View Full Code Here

 
  private double calcolaSpeseIncassoConvenzioni(Finanziamento fin, int month, Date scadenza){
    double quotaSpeseIncasso = 0;
    if( fin.getSpese() != null && fin.getSpese().size()> 0 ){         
      if(month==DateUtility.getMonth(scadenza)){
        Spesa spesa = getTipoSpesa(fin.getSpese(),CostantiSpese.SPESE_INCASSO.value());
        if(spesa != null){
          if(spesa.getImportoUnitario()!=null && spesa.getImportoGlobale()!=null)
          quotaSpeseIncasso = spesa.getImportoGlobale()+(spesa.getImportoUnitario()*(12/fin.getTipoPeriodicita()));;
        }
      }
    }
    return quotaSpeseIncasso;
  }
View Full Code Here

  }
 
  private double calcolaSpeseIncassoGraduati(Finanziamento fin){
    double quotaSpeseIncasso = 0;
    if( fin.getSpese() != null && fin.getSpese().size()> 0 ){         
      Spesa spesa = getTipoSpesa(fin.getSpese(),CostantiSpese.SPESE_INCASSO.value());
      if(spesa != null){
        if(spesa.getImportoUnitario()!=null)
        quotaSpeseIncasso = spesa.getImportoUnitario();   
      }
    }
    return quotaSpeseIncasso;
  }
View Full Code Here

    }
    return quotaSpeseIncasso;
  }
 
  private Spesa getTipoSpesa(List<Spesa> spese,String desc){
    Spesa spesa = null;
    for(int i = 0 ; i < spese.size() ; i ++ ){
      if(desc.equals(spese.get(i).getCodiceSpesa())){
        spesa = spese.get(i);
      }
    }
View Full Code Here

   
    List<Rata> rateRicalcolate = new ArrayList<Rata>(0);
    tassoCalcolo = RoundUtils.round5Cifre(tassoCalcolo);
   
    //Recupero le spese di incasso
    Spesa sIncasso = null;
    if( fin.getSpese() != null )
      for(Spesa s : fin.getSpese() )
        if( CostantiSpese.SPESE_INCASSO.value().equals(s.getCodiceSpesa()) )
          sIncasso = s;

    //Spese di incasso
    Date dataScadenzaSpese = null;
   
    if( sIncasso != null && "A".equals(sIncasso.getBaseSpesa()) ){
      //Se le spese sono su base annuale recupero la rata di addebito spese
      //Ordino descending
      RataComparator rc = new RataComparator("dtScadRata", false);
      Collections.sort(rateDaNonRicalcolare, rc);
      for(Rata r : rateDaNonRicalcolare ){
        if( r.getQuotaSpese().doubleValue() != 0.0 ){
          //Essendo le spese su base annuale a partire dal basso prendo la scadenza
          //della rata che ha le spese valorizzate
          dataScadenzaSpese = r.getDtScadRata();
          break;
        }
      }
      rc.setAscending(true);
      //Riordino in ascending
      Collections.sort(rateDaNonRicalcolare, rc);
    }
   
    //Commissioni di gestione
    Spesa sGest = null;
    if( fin.getSpese() != null )
      for(Spesa s : fin.getSpese() )
        if( CostantiSpese.COMMISSIONI_DI_GESTIONE.value().equals(s.getCodiceSpesa()) )
          sGest = s;
   
    Date dataScadenzaCommissioni = null;
   
    if( sGest != null && "A".equals(sGest.getBaseSpesa()) ){
      //Se le spese sono su base annuale recupero la rata di addebito spese
      //Ordino descending
      RataComparator rc = new RataComparator("dtScadRata", false);
      Collections.sort(rateDaNonRicalcolare, rc);
      for(Rata r : rateDaNonRicalcolare ){
        if( r.getQuotaSpese().doubleValue() != 0.0 ){
          //Essendo le spese su base annuale a partire dal basso prendo la scadenza
          //della rata che ha le spese valorizzate
          dataScadenzaCommissioni = r.getDtScadRata();
          break;
        }
      }
      rc.setAscending(true);
      //Riordino in ascending
      Collections.sort(rateDaNonRicalcolare, rc);
    }
   
   
    //Provo a ricalcolare il piano con la rata originaria+nuovo capitale + nuovo tasso
    while( residuo > 0 ){
      Rata r = new Rata();
      //Rate del piano definitivo quindi ho sia quota capitale che quota interessi
      double quotaInteressi = NumberUtils.arrotonda(
          residuo * tassoCalcolo / 100,
          UtilityMatematiche.ARROTONDAMENTO_RATA);
     
      //Mi serve per calcolare la quota di indicizzo
      double quotaInteressiVecchio = NumberUtils.arrotonda(
          residuo * fin.getTassoPeriodale() ,
          UtilityMatematiche.ARROTONDAMENTO_RATA);
     
      double quotaCapitale = importoRata - quotaInteressi;
      if( quotaCapitale > residuo ){ //Per sistemare gli arrotondamenti sull'ultima rata
        quotaCapitale = residuo;
        importoRata = quotaCapitale + quotaInteressi;
      }
      residuo -= quotaCapitale;
     
      r.setQuotaInteressi(quotaInteressiVecchio);
      r.setQuotaIndicizzo(quotaInteressi - quotaInteressiVecchio);
      r.setQuotaCapitale(quotaCapitale);
     
      r.setCapitaleResiduo(residuo);
     
      dataScadenzaRata = DateUtility.addMese(dataScadenzaRata, 1);
      r.setDtScadRata(dataScadenzaRata);
      r.setDataRegIndicizzazione(null);
     
      r.setCodiceFormaPagamento(primaRataSuccessiva.getCodiceFormaPagamento());
      r.setNumeroIndirizzo(primaRataSuccessiva.getNumeroIndirizzo());
      r.setNumeroRinnovo(primaRataSuccessiva.getNumeroRinnovo());
     
      r.setTassoApplicato( RoundUtils.round5Cifre(tassoCalcolo*12/fin.getTipoPeriodicita()) );
      r.setTipoRata(primaRataSuccessiva.getTipoRata());
      r.setCodicePosizioneRata(1);
      r.setStatoIndicizzazione(null);
      r.setTassoIndicizzazione(primaRataSuccessiva.getTassoIndicizzazione());
     
      //Spese incasso
      if( dataScadenzaSpese != null  ){
        if( DateUtility.addMese(dataScadenzaSpese, 12).equals(dataScadenzaRata) ){
          r.setQuotaSpese(sIncasso.getImportoFisso());
          //porto avanti alla prossima data di addebito spese
          dataScadenzaSpese = DateUtility.addMese(dataScadenzaSpese, 12);
        }else{
          r.setQuotaSpese(0.0);
        }
      }else{
        r.setQuotaSpese(quotaSpese)
      }
     
      //Commissioni di gestione
      if( dataScadenzaCommissioni != null  ){
        if( DateUtility.addMese(dataScadenzaCommissioni, 12).equals(dataScadenzaRata) ){
          r.setQuotaCommGest(sGest.getImportoFisso());
          //porto avanti alla prossima data di addebito commissioni gest
          dataScadenzaCommissioni = DateUtility.addMese(dataScadenzaCommissioni, 12);
        }else{
          r.setQuotaCommGest(0.0);
        }
View Full Code Here

TOP

Related Classes of it.pdor.generatorePdA.domain.Spesa

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.