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", "tareas2@marzam.com.mx", "amiranda@marzam.com.mx, ", "", "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");
}
}
}
}
Comentarios sobre la versión: 7 (0)
No hay comentarios