Examples of AttivazioneRIDException


Examples of it.pdor.gestionePratica.exception.AttivazioneRIDException

      // leggo il file e lo metto in un Array
      while ((inputLine = in.readLine()) != null) {

        if (inputLine.length() != 120) {
          throw new AttivazioneRIDException("LUNGHEZZA RECORD FLUSSO ERRATA");

        } else {
          mioFile.add(inputLine);
        }

      }

      // il primo record dell'array dev'essere " AL" e lungo 120 e
      // l'ultimo record � " EF"
      if (!mioFile.get(0).startsWith(" AL")) {
        throw new AttivazioneRIDException("il FLUSSO ["+fileInput.getName()+"]non � un file di flussi RID valido (AL)");
      } else if (!mioFile.get(mioFile.size() - 1).startsWith(" EF")) {
        throw new AttivazioneRIDException("il FLUSSO ["+fileInput.getName()+"]non � un file di flussi RID valido (EF)");
      } else {

        List<RidErrato> tabRidErrati = gestionePraticaDao.getFlussiErratiRID(new ArrayList<SearchCriteriaLogicProduct>());
       
        for (int i = 0; i < mioFile.size(); i++) {
         
          String record = mioFile.get(i);
          boolean ridErrati = false;

          if (record.startsWith(" AL")) {
            codiceSiaFlusso = record.substring(8, 13);
            nomeSupporto = record.substring(19, 39);
            if (!codSia.equals(codiceSiaFlusso)) {
              throw new AttivazioneRIDException("Il Codice SIA del Flusso ("+codiceSiaFlusso+") non coincide con il codice Sia della Banca ("+codSia+")");
            }
          }
         
          if (record.startsWith(" 12") && i > 1
              && !mioFile.get(i - 1).startsWith(" 70")) {
            throw new AttivazioneRIDException("SEQUENZA FLUSSO ERRATO: [12 - 70]");

          } else {
           
            if (record.startsWith(" 12")) {

              causale = record.substring(28, 33);

              String dataInvioStr = record.substring(16, 22);
              if(dataInvioStr != null && "".equals(dataInvioStr.trim())) {
               
                dataInvioStr ="01/01/1900";
                SimpleDateFormat formatterData = new SimpleDateFormat("dd/MM/yyyy");
               
                try {
                  dataInvio = formatterData.parse(dataInvioStr);
                } catch (ParseException e) {
                  log.error(e.toString());
                  e.printStackTrace();
                  throw new AttivazioneRIDException("Errore nella formattazione delle date presenti nel FILE.");
                }
               
              } else{
               
                dataInvio = convertiDataFlusso(dataInvioStr);
              }
             
              log.info("dataInvioStr: <"+dataInvioStr+">");

              try{
                mutuoFlusso = Long.parseLong(record.substring(97, 113));             
                log.info("mutuoFlusso: <"+mutuoFlusso+">");

              }catch (NumberFormatException nfe) {
                log.error("parseLong sul mutuo non riuscito!!!");
                nfe.printStackTrace();
                mutuoFlusso = null;
              }
             
              String ridFlusso = record.substring(97, 113);             
              log.info("ridFlusso: <"+ridFlusso+">");
             
              Long progDisposizione = null;
              try{
                progDisposizione = Long.parseLong(record.substring(3, 11));             
                log.info("progDisposizione: <"+progDisposizione+">");

              }catch (NumberFormatException nfe) {
                log.error("parseLong su progDisposizione non riuscito!!!");
                nfe.printStackTrace();
                progDisposizione = null;
              }

              String dataRicezioneStr = record.substring(10, 16);
              dataRicezione = convertiDataFlusso(dataRicezioneStr);
              log.info("dataRicezioneStr: <"+dataRicezioneStr+">");

              ibanFlusso = record.substring(43, 45)
                  + " " + record.substring(45, 47) + " "
                  + record.substring(68, 69) + " "
                  + record.substring(69, 74) + " "
                  + record.substring(74, 79) + " "
                  + record.substring(79, 91);
              log.info("ibanFlusso: <"+ibanFlusso+">");

              int count = 0;
              if(mutuoFlusso == null || progDisposizione == null) {
                count = 0;
              } else {
               
                count = gestionePraticaDaoJdbc.contaRecordIndRateFlussoRID(mutuoFlusso,ridFlusso);
              }

              if (count == 0) {
                ridErrati = true;
                esistonoErrati = true;
               
                for(RidErrato re : tabRidErrati) {
                 
                  if(re.getNomeSupporto().equals(nomeSupporto)
                    && re.getProgressivoDisposizione() == progDisposizione)
                    //throw new AttivazioneRIDException("IL FLUSSO E' GIA' STATO CARICATO A SISTEMA.");
                    erratiCaricati = true;
                }
               
                RidErrato ridErrato = new RidErrato();
                ridErrato.setNomeSupporto(nomeSupporto);
                if(progDisposizione != null) ridErrato.setProgressivoDisposizione(progDisposizione);
                else ridErrato.setProgressivoDisposizione(contaDisposizioni+1);
                ridErrato.setCodiceRid(ridFlusso);
                ridErrato.setCodiceCausale(causale);
                ridErrato.setDataInvio(dataInvio);
                ridErrato.setDataRicezione(dataRicezione);
                ridErrato.setNomeFile(fileInput.getName());
                ridErrato.setIbanFlusso(ibanFlusso);
                if(!erratiCaricati) gestionePraticaDao.inserisciRidErrati(ridErrato);

              }

            }
           
            if (record.startsWith(" 70")) {
              riferimOrig = record.substring(10, 100);
             
              log.info("riferimOrig: <"+riferimOrig+">");
             
              contaDisposizioni++;
             
              if (!ridErrati && mutuoFlusso != null){
               
                m = new Mutuo();
               
               
                m.setNumeroMutuoCustom(mutuoFlusso);
               
                Set<AttivazioneRid> listaAtt = new HashSet<AttivazioneRid>();
                AttivazioneRid att = new AttivazioneRid();
               
                att.setCodiceCausale(causale);
                att.setIbanCorrente(ibanFlusso);
                att.setDataRegistrazione(dataAttivazioneFlusso);
                att.setDataInvio(dataInvio);
                att.setDataRicezione(dataRicezione);
                att.setRiferimentoOrig(riferimOrig);
                att.setMutuo(m);
                listaAtt.add(att);
               
                m.setAttivazioniRid(listaAtt);
                mAcquisiti.add(m);
               
              }
             
            }
           
            if (record.startsWith(" EF")) {
              totDisposizioniFlusso = Long.parseLong(record.substring(45, 52));
              log.info("totDisposizioniFlusso: <"+totDisposizioniFlusso+">");
              totRecordFlusso = Long.parseLong(record.substring(82, 89));
              log.info("totRecordFlusso: <"+totRecordFlusso+">");
              if(mioFile.size() != totRecordFlusso) {
               
                throw new AttivazioneRIDException("Il numero di record indicato nel file non corrisponde al totale dei record inviati. " +
                    "L'operazione verra' annullata.");
              }
            }
             
          }
         
        }
       
        if(esistonoErrati && erratiCaricati){
          m = new Mutuo();
          m.setNoteStipula("IL FLUSSO E' GIA' STATO CARICATO A SISTEMA.");
          mAcquisiti.add(m);
        } else if (esistonoErrati){
          m = new Mutuo();
          m.setNoteStipula("Sono Presenti Flussi RID Scartati.");
          mAcquisiti.add(m);
        }
       
        if(totDisposizioniFlusso != contaDisposizioni ){
          throw new AttivazioneRIDException("Il numero di disposizioni indicato nel file non corrisponde al totale delle disposizioni inviate. " +
              "L'operazione verra' annullata.");
     
        }

      }

    } catch (IOException ex) {
      //System.out.println("IOException : " + ex.toString());
      log.error(ex.toString());
      ex.printStackTrace();
      throw new AttivazioneRIDException(ex.toString());
    }
   
//    catch (NumberFormatException nfe) {
//      //System.out.println("IOException : " + ex.toString());
//      log.error(nfe.toString());
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.