problema con el programa

Tagged:  

import com.microsoft.sqlserver.jdbc.SQLServerException;
import java.awt.Cursor;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.*;
import com.kds.mail.SendMail;
import java.net.InetAddress;
import java.util.concurrent.ExecutionException;
 
/**
 *
 * @author amiranda
 */
public class JavaApplication2 {
 
    private static Object[] rutaFichero;
    public static String rr;
    private static ConexBD conexion = null;
    public static Correo c;
    public static String estado = "";
 
    public static void main(String[] args) throws java.io.IOException, Exception {
            ArrayList nombreTareaArray = new ArrayList();
            ArrayList estadodeTareaProgramadaArray = new ArrayList();
            ArrayList nombreTareaArrayHistorico = new ArrayList();
            ArrayList estadodeTareaProgramadaArrayHistorico = new ArrayList();
 
 
 
 
 
        /*try {
         new SendMail("", "",", " , "", "TareasProgramadasError", "error63");
         } catch (Exception ex) {
         ex.printStackTrace();
         }*/
        JavaApplication2.c = new Correo();
        JavaApplication2.c.escribeArchivo("Inicio de la aplicación");
 
        Calendar fecha = new GregorianCalendar();
        int año = fecha.get(Calendar.YEAR);
        int mes = fecha.get(Calendar.MONTH);
        int dia = fecha.get(Calendar.DAY_OF_MONTH);
        int hora = fecha.get(Calendar.HOUR_OF_DAY);
        int minuto = fecha.get(Calendar.MINUTE);
        int segundo = fecha.get(Calendar.SECOND);
 
        String fechaf = String.format("%04d-%02d-%02d %02d:%02d:%02d %n", año, mes + 1, dia, hora, minuto, segundo);
        String fecha1 = String.format("%04d-%02d-%02d %02d:%02d:%02d", año, mes + 1, dia, 00, 00, 00);
        String fecha2 = String.format("%04d-%02d-%02d %02d:%02d:%02d", año, mes + 1, dia - 1, 00, 00, 00);
 
        ArrayList fechafArray = new ArrayList();
        ArrayList fechafHistoricoArray = new ArrayList();
 
 
        try {
            String command = "schtasks /query /fo csv /v";
            Process p = Runtime.getRuntime().exec(command);
            JavaApplication2.c.escribeArchivo("comando ejecutado " + command);
            JavaApplication2.estado += "\nRealizando ejecución del comando " + command;
            BufferedReader in = new BufferedReader(
                    new InputStreamReader(p.getInputStream()));
            String line = ("");
 
 
 
            int contador = 0;
            conexion = new ConexBD("TareasProg");
 
             String que = "select IDsecuencia from InformacionGeneral where Fechainsercion>'" + fecha1 + "' and Fechainsercion<'" + fecha2 + "'";
            ResultSet rs = conexion.st.executeQuery(que);
 
            if (rs.next()) {
                System.out.println("Los registros ya se encuentran guardados.");
                JavaApplication2.estado += "\nLos registros ya se encuentran guardados.";
            } else {
                InetAddress addr = InetAddress.getLocalHost();
                String ip = addr.getHostAddress();
                System.out.println("Ip: " + ip);
 
                String query = null;
                int c = 0;
                int H = 0;
                int D = 1;
 
                while ((line = in.readLine()) != null) {
 
                    String[] arreglo = line.split(",");
 
                    String nombreHost = arreglo[0].replace('"', ' ').trim();
                    nombreHost = ip;
                    String nombreTarea = (arreglo[1].replace('"', ' ').trim()).replace("\\Microsoft", "");
                    String Horaproximaejecucion = arreglo[2].replace('"', ' ').trim();
                    String Estado = arreglo[3].replace('"', ' ').trim();
                    String Mododeiniciodesesion = arreglo[4].replace('"', ' ').trim();
                    String ultimotiempodeejecucion = arreglo[5].replace('"', ' ').trim();
                    String ultimoresultado = arreglo[6].replace('"', ' ').trim();
                    String Autor = arreglo[7].replace('"', ' ').trim();
                    String tareaqueseejecutar = arreglo[8].replace('"', ' ').trim();
                    String Iniciaren = arreglo[9].replace('"', ' ').trim();
                    String Comentario = arreglo[10].replace('"', ' ').trim();
                    String Estadodetareaprogramada = arreglo[11].replace('"', ' ').trim();
                    String Tiempodeinactividad = arreglo[12].replace('"', ' ').trim();
                    String Administraciondeenergia = arreglo[13].replace('"', ' ').trim();
                    String Ejecutarcomousuario = arreglo[14].replace('"', ' ').trim();
                    String Eliminartareasinosevuelveaprogramar = arreglo[15].replace('"', ' ').trim();
                    String EliminartareasiejecutaduranteXhorasyXminutos = arreglo[16].replace('"', ' ').trim();
                    String Programacion = arreglo[17].replace('"', ' ').trim();
                    String Tipodeprogramacion = arreglo[18].replace('"', ' ').trim();
                    String Horadeinicio = arreglo[19].replace('"', ' ').trim();
                    String Fechadeinicio = arreglo[20].replace('"', ' ').trim();
                    String Fechafinal = arreglo[21].replace('"', ' ').trim();
                    String Dias = arreglo[22].replace('"', ' ').trim();
                    String Meses = arreglo[23].replace('"', ' ').trim();
                    String Repetir_cada = arreglo[24].replace('"', ' ').trim();
                    String Repetir_hasta_hora = arreglo[25].replace('"', ' ').trim();
                    String Repetir_hasta_duracion = arreglo[26].replace('"', ' ').trim();
                    String Repetir_detenersiaunseejecuta = arreglo[27].replace('"', ' ').trim();
                    String fechainsercion = arreglo[28].replace('"', ' ').trim();
                    String estatus = arreglo[29].replace('"',' ').trim();
 
 
                    nombreTareaArray.add(nombreTarea);
                    estadodeTareaProgramadaArray.add(Estadodetareaprogramada);
 
                    fechafArray.add (fechaf);
                    fechafHistoricoArray.add (fechaf);
 
 
                    if (nombreTarea.charAt(0) == '\\') {
                        contador++;
                        query = "INSERT INTO InformacionGeneral (nombreHost,nombreTarea,Horaproximaejecucion,Estado,Mododeiniciodesesion,ultimotiempodeejecucion,ultimoresultado,Autor,tareaqueseejecutar,Iniciaren,Comentario,Estadodetareaprogramada,Tiempodeinactividad,Administraciondeenergia,Ejecutarcomousuario,Eliminartareasinosevuelveaprogramar,EliminartareasiejecutaduranteXhorasyXminutos,Programacion,Tipodeprogramacion,Horadeinicio,Fechadeinicio,Fechafinal,Dias,Meses,Repetir_cada,Repetir_hasta_hora,Repetir_hasta_duracion,Repetir_detenersiaunseejecuta,Fechainsercion) VALUES ('" + nombreHost + "','" + nombreTarea + "','" + Horaproximaejecucion + "','" + Estado + "','" + Mododeiniciodesesion + "','" + ultimotiempodeejecucion + "','" + ultimoresultado + "','" + Autor + "','" + tareaqueseejecutar + "','" + Iniciaren + "','" + Comentario + "','" + Estadodetareaprogramada + "','" + Tiempodeinactividad + "','" + Administraciondeenergia + "','" + Ejecutarcomousuario + "','" + Eliminartareasinosevuelveaprogramar + "','" + EliminartareasiejecutaduranteXhorasyXminutos + "','" + Programacion + "','" + Tipodeprogramacion + "','" + Horadeinicio + "','" + Fechadeinicio + "','" + Fechafinal + "','" + Dias + "','" + Meses + "','" + Repetir_cada + "','" + Repetir_hasta_hora + "','" + Repetir_hasta_duracion + "','" + Repetir_detenersiaunseejecuta + "',getdate())";
                        System.out.println(query);
 
                        int result = conexion.st.executeUpdate(query);
                        System.out.println(contador + ": " + result);
                    }
                    c++;
                }
 
                JavaApplication2.c.escribeArchivo("La información ha sido insertada");
                JavaApplication2.estado += "\nLa información ha sido insertada, tareas totales: " + c;
            }
 
        } catch (SQLException ex) {
 
            Logger.getLogger(JavaApplication2.class.getName()).log(Level.SEVERE, null, ex);
                //Mandar el correo
 
            JavaApplication2.c.escribeArchivo("Error de la BD");
            JavaApplication2.estado += "\nError de la BD";
            JavaApplication2.c.closeAll();
            try {
                new SendMail("", "", ", ", "", "Tareasprogcp", JavaApplication2.estado);
            } catch (Exception ex1) {
                Logger.getLogger(JavaApplication2.class.getName()).log(Level.SEVERE, null, ex1);
 
            }
 
        } catch (IOException e) {
            e.printStackTrace();
            //Mandar el correo
            JavaApplication2.c.escribeArchivo("Error de entrada y salida");
            JavaApplication2.estado += "\nError de entrada y salida";
            JavaApplication2.c.closeAll();
 
            try {
                new SendMail("admxm01.marzamcorp.com", "[email protected]", "[email protected], ", "", "Tareras", JavaApplication2.estado);
            } catch (Exception ex1) {
                Logger.getLogger(JavaApplication2.class.getName()).log(Level.SEVERE, null, ex1);
            }
        } catch (Exception exx) {
            exx.printStackTrace();
            //Mandar el correo
            JavaApplication2.c.escribeArchivo("Error en servidor");
            JavaApplication2.estado += "\nError en servidor";
            JavaApplication2.c.closeAll();
 
            try {
                new SendMail("", "", ", ", "", "TareasProgramadas", JavaApplication2.estado);
            } catch (Exception ex1) {
                Logger.getLogger(JavaApplication2.class.getName()).log(Level.SEVERE, null, ex1);
            }
        }
        JavaApplication2.c.escribeArchivo("Exito en la Operacion");
        JavaApplication2.c.closeAll();
        try {
            JavaApplication2.c.escribeArchivo(JavaApplication2.estado);
            new SendMail("", "", ", ", "", "tareas_programadas", JavaApplication2.estado);
        }   catch (Exception ex1) {
            Logger.getLogger(JavaApplication2.class.getName()).log(Level.SEVERE, null, ex1);
        }
        JavaApplication2.c.escribeArchivo(JavaApplication2.estado);
 
        new SendMail("", "", " ", "", "tareas_programadas", JavaApplication2.estado);
        String ip = null;
        String message = "Detalle de Tareas Programadas\n"
                + "Servidor" + ip
                + "Hora de Ejecución" + hora + ":" + minuto + ":" + segundo 
                + "fechainsercion" + fechaf + ":" + fecha1 + ":" + fecha2 + ":";
 
        String que = "SELECT nombreTarea, Estadodetareaprogramada FROM InformacionGeneralHistorico";
        ResultSet rs = conexion.st.executeQuery(que);
 
        while (rs.next()) {
            System.out.println(rs.getString(1) + ", " + rs.getString(2));
            System.out.println(rs.getString(1) + ", " + rs.getString(2));
            nombreTareaArrayHistorico.add(rs.getString(1));
            estadodeTareaProgramadaArrayHistorico.add(rs.getString(2));
        }  
        for(int x=0;x<nombreTareaArray.size();x++) {
            String nombreT = (String)nombreTareaArray.get(x);
 
            for(int w=0;w<nombreTareaArrayHistorico.size();w++) {
                String nombreTH = (String)nombreTareaArrayHistorico.get(w);                
                if(nombreT.equals(nombreTH)){
 
                }else{
 
                }
                }
 
            for(int t=0;t<estadodeTareaProgramadaArrayHistorico.size();t++) {
                String estadoH = (String)estadodeTareaProgramadaArrayHistorico.get(t);
                Object estadoPH = null;           
            if (estadoH.equals(estadoPH)){      
 
 
            System.out.println ("Habilitado!");
 
            }else{ 
 
         System.out.println("Deshabilitado!");
                    }}
 
        String queque = "SELECT *FROM InformacionGeneral T1 LEFT JOIN InformacionGeneralHistorico T2 ON T1.Estadodetareaprogramada =  T2.Estadodetareaprogramada where T1.Estadodetareaprogramada = T2.Estadodetareaprogramada";
        ResultSet rse;
        rse = conexion.st.executeQuery(queque);
 
 
         if ( fechaf == fecha2  ) { System.out.println ("es correcto"); }
 
 
          else {
            System.out.println ("No se ha admitido el valor");
        }
 
 
 
 
         }
 
    }    
}

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <pre>. The supported tag styles are: <foo>, [foo].

Más información sobre opciones de formato

By submitting this form, you accept the Mollom privacy policy.