Examples of EsitoInvioFlussiBonificoException


Examples of it.pdor.gestionePratica.exception.EsitoInvioFlussiBonificoException

      file = new FileInputStream(fileInput);
      in = new BufferedReader(new InputStreamReader(file));
      ArrayList<String> mioFile = new ArrayList<String>();
      while ((inputLine = in.readLine()) != null) {
        if (inputLine.length() != 120) {
          throw new EsitoInvioFlussiBonificoException(messages.getMessage("gestionePratica.invioBonifico.lunghezzaRecordErrata"));
        } else {
          mioFile.add(inputLine);
        }
      }
      if (!mioFile.get(0).startsWith(" EP")) {       
        throw new EsitoInvioFlussiBonificoException(messages.getMessage("gestionePratica.invioBonifico.recordTestaNonValido"));
     
      } else if (!mioFile.get(mioFile.size() - 1).startsWith(" EF")) {       
        throw new EsitoInvioFlussiBonificoException(messages.getMessage("gestionePratica.invioBonifico.recordCodaNonValido"));

      } else {
        for (int i = 0; i < mioFile.size(); i++)
        {         
          String record = mioFile.get(i);
          if (record.startsWith(" EP")) { //record di testa
            codiceSiaFlusso = record.substring(8,13);
            dataEsitoFlusso = convertiDataFlusso(record.substring(13,19));
            if (!codiceSia.equals(codiceSiaFlusso)) {
              throw new EsitoInvioFlussiBonificoException(messages.getMessage("gestionePratica.invioBonifico.codiceSiaErrato"));
            }             
          }

          Double importo = 0d;
          int pgrLiq = 0;
          long nrMutuo = 0l;
          if (record.startsWith(" 10")) {
            contaDisposizioni++;
            importo = Double.parseDouble(record.substring(40,53));
            totImporti += importo;

            String tipoRiferimento = record.substring(58,59);
            //se tipoRiferimento=1 then riferimento=cro /// se tipoRiferimento=2 then riferimento=codice interno banca
            String codiceRiferimento = record.substring(59,94);
            String errorCode = StringUtility.checkNull(record.substring(99,100)).trim();
           
            /* Nella posizione 11-40 ho l'id che originariamente ho messo nella posizione 71-100
            del record 70 della richiesta, cio� 3 caratteri per pgr liquidazione + 8 caratteri per num mutuo */
            nrMutuo = Long.parseLong(record.substring(13,21));
            pgrLiq = Integer.parseInt(record.substring(10,13));
           
            //recupero la liquidazione corrispondente
            LiquidazioneMutuo liq = new LiquidazioneMutuo();
            liq = getLiquidazioneMutuo(nrMutuo, pgrLiq);
            if(liq == null)
              throw new EsitoInvioFlussiBonificoException(messages.getMessage("gestionePratica.invioBonifico.errorLoadingDisp"));
           
            EsitoDisposizioniPerInvioBonifici esito = new EsitoDisposizioniPerInvioBonifici(); //lista liquidazioni per il fe
            esito.setLiquidazione(liq);
            esito.setEsitoFlusso(errorCode);
            esito.setNumeroMutuo(nrMutuo);
            esito.setProgressivoLiq(pgrLiq);
            esito.setNumProtocollo(liq.getProtocolloDocumento());
            esito.setImportoDisposizione(importo/100);
            esito.setDataEsito(dataEsitoFlusso);
            esito.setTipoRiferimento(tipoRiferimento);
            esito.setCodiceRiferimento(codiceRiferimento);
           
            //intestatario bonifico
            String tipoBeneficiario = StringUtility.checkNull(liq.getTipoBeneficiario());
            if(tipoBeneficiario.equals(""))
              tipoBeneficiario = "S";
            long numBeneficiario = 0l;
            if(tipoBeneficiario.equalsIgnoreCase("C")) {
              numBeneficiario = connettoreAnagraficaService.getPrimoCointestatario(liq.getNumeroBeneficiario());
            } else {
              numBeneficiario = liq.getNumeroBeneficiario().longValue();
            }
            esito.setNumBeneficiario(numBeneficiario);
            DatiSoggetto datiSogg = connettoreAnagraficaService.getDatiSoggetto( Long.valueOf(numBeneficiario) );
            if(datiSogg != null)
              esito.setIntestatarioBonifico(datiSogg.getDescrizioneSoggetto());
            listaEsiti.add(esito);
          } //fine record 10

          if (record.startsWith(" EF")) { //record di coda
            totDisposizioni = Long.parseLong(record.substring(45,52));
            totRecord = Long.parseLong(record.substring(82,89));
            totImportiFlusso = Double.parseDouble(record.substring(67,82));
            if(mioFile.size() != totRecord.intValue()) {
              throw new EsitoInvioFlussiBonificoException(messages.getMessage("gestionePratica.invioBonifico.numeroRecordNonValido"));
            }
          }
        }
      }
      if(totDisposizioni.intValue() != contaDisposizioni) {
        throw new EsitoInvioFlussiBonificoException(messages.getMessage("gestionePratica.invioBonifico.numeroDisposizioniNonValido"));
      }
      if(!totImporti.equals(totImportiFlusso) ) {
        throw new EsitoInvioFlussiBonificoException(messages.getMessage("gestionePratica.invioBonifico.importoTotaleNonValido"));
      }
    } catch (IOException ioex) {   
      ioex.printStackTrace();
      throw new EsitoInvioFlussiBonificoException(messages.getMessage("gestionePratica.invioBonifico.IOError"));
    }
    return listaEsiti;
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.