public ActualizaFuerzasVentaDAO(FileDataTO fileDataTO, int idRegion) {
   try {
     this.fileDataTO = fileDataTO;
     this.idRegion = idRegion;
     this.schema_database =
         ServiceLocator.getInstance().getVariable(ServiceLocator.schema_database);
   } catch (Exception e) {
     this.error.error((Object) "ActualizaFuerzasVentaDAO", (Throwable) e);
   }
 }
 public boolean actualizaFuerzasVenta(String nombreArchivo, int idRegion) throws Exception {
   Connection connection = null;
   int movimientosBD = 0;
   InputStreamReader inputStreamReader = null;
   InputStreamReader fileReader = null;
   BufferedReader reader = null;
   PrintWriter reporteInsert = null;
   PrintWriter reporteError = null;
   File insert = null;
   File error = null;
   FileOutputStream insertOutput = null;
   FileOutputStream errorOutput = null;
   try {
     ConsultaCuentasCorreoDAO consultaCuentasCorreoDAO = new ConsultaCuentasCorreoDAO();
     Map<String, String> parametrosCorreo =
         consultaCuentasCorreoDAO.obtieneCuentasCorreoCargaCatalogos(this.idRegion);
     inputStreamReader = new InputStreamReader(this.fileDataTO.getData());
     reader = new BufferedReader(inputStreamReader);
     if (reader == null) {
       Utils.enviaCorreo(
           parametrosCorreo,
           (String) "Error al procesar las fuerzas de venta.",
           (String) "No se pudo procesar el archivo, verifique que haya sido previamente cargado.",
           (List) null);
       return false;
     }
     try {
       String logInserts = "fzaActualizadosR" + idRegion + ".txt";
       String logErrores = "fzaActualizadosErroresR" + idRegion + ".txt";
       insert = new File(logInserts);
       error = new File(logErrores);
       insertOutput = new FileOutputStream(insert);
       errorOutput = new FileOutputStream(error);
       reporteInsert = new PrintWriter(insertOutput);
       reporteError = new PrintWriter(errorOutput);
       String linea = "";
       connection = ServiceLocator.getInstance().getConnection(ServiceLocator.jdbcCirculoAzul);
       connection.setAutoCommit(false);
       while (linea != null) {
         linea = reader.readLine();
         if (linea == null || linea.trim().equals("")) continue;
         FuerzaVentaTO fuerzaVentaTO = null;
         try {
           fuerzaVentaTO = new FuerzaVentaTO(linea.split(","));
         } catch (Exception e) {
           reporteError.println(
               String.valueOf(++movimientosBD)
                   + ": Error al obtener linea del archivo ["
                   + linea
                   + "]"
                   + e.getMessage());
         }
         if (fuerzaVentaTO == null) continue;
         try {
           FuerzaVentaTO fuerzaVentaActualizada = this.actualizar(fuerzaVentaTO, connection);
           if (fuerzaVentaActualizada.getIdError() == 0) {
             connection.commit();
             reporteInsert.println(
                 String.valueOf(++movimientosBD)
                     + ": Se actualizo["
                     + fuerzaVentaActualizada.toString()
                     + "]");
             continue;
           }
           reporteError.println(
               String.valueOf(++movimientosBD)
                   + ": No se actualizo["
                   + fuerzaVentaActualizada.toString()
                   + "]idError:"
                   + fuerzaVentaActualizada.getIdError()
                   + ",Mensaje:"
                   + fuerzaVentaActualizada.getMensaje());
           continue;
         } catch (Exception e) {
           reporteError.println(
               String.valueOf(++movimientosBD)
                   + ": No se actualizo["
                   + fuerzaVentaTO.toString()
                   + "]idError:"
                   + fuerzaVentaTO.getIdError()
                   + ",Mensaje:"
                   + fuerzaVentaTO.getMensaje());
         }
       }
       if (movimientosBD > 0) {
         connection.commit();
       }
       reporteInsert.flush();
       reporteError.flush();
       ArrayList<String> archivosLog = new ArrayList<String>();
       archivosLog.add(logInserts);
       archivosLog.add(logErrores);
       Utils.enviaCorreo(
           parametrosCorreo,
           (String) "Actualizacion de fuerzas de venta.",
           (String) "Las fuerzas de venta fueron procesadas.",
           archivosLog);
     } catch (Exception e) {
       e.printStackTrace();
     }
   } finally {
     if (connection != null) {
       try {
         if (movimientosBD > 0) {
           connection.commit();
         }
         connection.setAutoCommit(true);
         connection.close();
         connection = null;
       } catch (Exception var22_17) {
       }
     }
     if (reader != null) {
       try {
         reader.close();
       } catch (IOException var22_18) {
       }
     }
     if (inputStreamReader != null) {
       try {
         inputStreamReader.close();
       } catch (IOException var22_19) {
       }
     }
     if (fileReader != null) {
       try {
         fileReader.close();
       } catch (IOException var22_20) {
       }
     }
     if (reporteInsert != null) {
       reporteInsert.close();
     }
     if (reporteError != null) {
       reporteError.close();
     }
     if (insertOutput != null) {
       insertOutput.close();
     }
     if (errorOutput != null) {
       errorOutput.close();
     }
     if (insert != null) {
       insert.delete();
     }
     if (error != null) {
       error.delete();
     }
   }
   return true;
 }