From 7b5b6ec00399b2d2641afba77c47bd82202810ae Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Fri, 20 Nov 2020 12:01:20 -0700 Subject: [PATCH] Tareas 119 logea todo paso a paso --- Contratos/RepContratosObraAvances.aspx | 4 +- Contratos/RepContratosObraAvances.aspx.vb | 4 +- .../RepContratosObraAvancesDetalle.aspx.vb | 8 +- TareasProgramadas/Tareas119.ashx | 149 ++++++++++++------ 4 files changed, 116 insertions(+), 49 deletions(-) diff --git a/Contratos/RepContratosObraAvances.aspx b/Contratos/RepContratosObraAvances.aspx index 7f31c16ea..9762001bb 100644 --- a/Contratos/RepContratosObraAvances.aspx +++ b/Contratos/RepContratosObraAvances.aspx @@ -168,7 +168,7 @@
- + <%--76% Avance--%>
@@ -220,7 +220,7 @@
- + <%--76% Avance--%>
diff --git a/Contratos/RepContratosObraAvances.aspx.vb b/Contratos/RepContratosObraAvances.aspx.vb index 066bab9dc..987e7206c 100644 --- a/Contratos/RepContratosObraAvances.aspx.vb +++ b/Contratos/RepContratosObraAvances.aspx.vb @@ -52,8 +52,8 @@ Partial Class RepContratosObraAvances Dim TotalFaltante As Decimal = TotalContratos - TotalAvance - Dim TotalAvancePorcentaje As Decimal = (TotalAvance * 100) / TotalContratos - Dim TotalFaltantePorcentaje As Decimal = 100 - TotalAvancePorcentaje + Dim TotalAvancePorcentaje As Decimal = ((TotalAvance * 100) / TotalContratos).RoundAD(2) + Dim TotalFaltantePorcentaje As Decimal = (100 - TotalAvancePorcentaje).RoundAD(2) LtlGrafNumeroContratos.Text = NumeroContratos.ToString diff --git a/Contratos/RepContratosObraAvancesDetalle.aspx.vb b/Contratos/RepContratosObraAvancesDetalle.aspx.vb index 0c5d28a6a..a2d70d35f 100644 --- a/Contratos/RepContratosObraAvancesDetalle.aspx.vb +++ b/Contratos/RepContratosObraAvancesDetalle.aspx.vb @@ -88,7 +88,13 @@ Partial Class RepContratosObraAvancesDetalle Dim AvanceImporte As Decimal = DTDatos(0)("AvanceImporte").ToString.ToDecimal Dim TotalContratos As Decimal = DTDatos(0)("Importe").ToString.ToDecimal - Dim TotalAvancePorcentaje As Decimal = (AvanceImporte * 100) / TotalContratos + + Dim TotalAvancePorcentaje As Decimal = 0 + If TotalContratos > 0 Then + TotalAvancePorcentaje = (AvanceImporte * 100) / TotalContratos + End If + + Dim TotalFaltantePorcentaje As Decimal = 100 - TotalAvancePorcentaje Dim FechaFinal As Date = DTDatos(0)("FechaFinal").ToString.ToDate diff --git a/TareasProgramadas/Tareas119.ashx b/TareasProgramadas/Tareas119.ashx index dfbee9c74..4fbb5489d 100644 --- a/TareasProgramadas/Tareas119.ashx +++ b/TareasProgramadas/Tareas119.ashx @@ -1,7 +1,7 @@ -<%@ WebHandler Language="C#" Class="TareasJam" %> - -using System; -using System.Web; +<%@ WebHandler Language="C#" Class="TareasJam" %> + +using System; +using System.Web; using Extensiones; using System.Net; using System.IO; @@ -9,46 +9,49 @@ using System.Web.Services; using System.Web.Services.Protocols; using GemBox.Spreadsheet; using System.Data; -using System.Text; +using System.Text; using System.Collections.Generic; -using ClosedXML; - -public class TareasJam : IHttpHandler -{ - - public void ProcessRequest(HttpContext context) - { - context.Response.ContentType = "text/plain"; - //context.Response.Write("Hello World"); - bool retorno = false; - string Metodo = context.Request["Metodo"] ==null?"": context.Request["Metodo"]; - int CveEmpresa =context.Request["CveEmpresa"] ==null?0: context.Request["CveEmpresa"].ToEntero(); - switch (Metodo) +using ClosedXML; + +public class TareasJam : IHttpHandler +{ + + public void ProcessRequest(HttpContext context) + { + context.Response.ContentType = "text/plain"; + //context.Response.Write("Hello World"); + bool retorno = false; + string Metodo = context.Request["Metodo"] ==null?"": context.Request["Metodo"]; + int CveEmpresa =context.Request["CveEmpresa"] ==null?0: context.Request["CveEmpresa"].ToEntero(); + switch (Metodo) { case "TestConexion": retorno = PruebaConexionFTP("ftp://us2.hostedftp.com/", "agrojam", "A12345678"); break; - case "EjecutaThalamus": - retorno =EjecutaThalamus(CveEmpresa); - break; - default: - break; - } - if (retorno) - { - context.Response.Write("True"); - - }else - { - context.Response.Write("False"); - - } + case "EjecutaThalamus": + retorno =EjecutaThalamus(CveEmpresa); + break; + default: + break; + } + if (retorno) + { + context.Response.Write("True"); + + }else + { + context.Response.Write("False"); + + } context.Response.End(); } private bool EjecutaThalamus(int CveEmpresa) { + + this.GuardaLog("EjecutaThalamus: Inicio. "); + bool Respuesta = false; StringBuilder SBLog = new StringBuilder(); @@ -96,6 +99,7 @@ public class TareasJam : IHttpHandler } catch (Exception ex) { SBLog.AppendLine("Error al eliminar archivos"); + this.GuardaLog("EjecutaThalamus: Error Eliminado arrchivo " + ex.Message + " "); } @@ -113,46 +117,60 @@ public class TareasJam : IHttpHandler SBLog.AppendLine("Consultas
"); SBLog.AppendLine(""); + + + this.GuardaLog("EjecutaThalamus: Consultando Prodcutos. "); if (ObjGenerales.GetJAMCorveta(1)) { DTProductos = ObjGenerales.DtResultados.Copy(); SBLog.AppendLine($""); + this.GuardaLog($"EjecutaThalamus: Consultando Prodcutos correcto {DTProductos.Rows.Count} registros. "); } else { ErrorProceso = true; SBLog.AppendLine($""); + this.GuardaLog($"EjecutaThalamus: Consultando Prodcutos Error. "); } + this.GuardaLog($"EjecutaThalamus: Consultando Ventas. "); if (ObjGenerales.GetJAMCorveta(2) & ErrorProceso == false) { DTVentas = ObjGenerales.DtResultados.Copy(); SBLog.AppendLine($"Ventas"); + this.GuardaLog($"EjecutaThalamus: Consultando Ventas correcto {DTVentas.Rows.Count} registros. "); } else { ErrorProceso = true; SBLog.AppendLine($""); + this.GuardaLog($"EjecutaThalamus: Consultando Ventas Error. "); } - if (ObjGenerales.GetJAMCorveta(3) & ErrorProceso == false) + this.GuardaLog($"EjecutaThalamus: Consultando Clientes. "); + if (ObjGenerales.GetJAMCorveta(3) & ErrorProceso == false) { DTClientes = ObjGenerales.DtResultados.Copy(); SBLog.AppendLine($""); + this.GuardaLog($"EjecutaThalamus: Consultando Clientes correco {DTClientes.Rows.Count} registros. "); } else { ErrorProceso = true; SBLog.AppendLine($""); + this.GuardaLog($"EjecutaThalamus: Consultando Clientes Error. "); } + this.GuardaLog($"EjecutaThalamus: Consultando Almacenes. "); if (ObjGenerales.GetJAMCorveta(4) & ErrorProceso == false) { DTAlmacenes = ObjGenerales.DtResultados.Copy(); SBLog.AppendLine($""); + this.GuardaLog($"EjecutaThalamus: Consultando Almacenes Correcto {DTAlmacenes.Rows.Count} registros. "); } else { ErrorProceso = true; SBLog.AppendLine($""); + this.GuardaLog($"EjecutaThalamus: Consultando Almacenes Error. "); } SBLog.AppendLine("
ConsultaRegistros
Productos{DTProductos.Rows.Count}
ProductosError al consultar
{DTVentas.Rows.Count}
VentasError al consultar
Clientes{DTClientes.Rows.Count}
ClientesError al consultar
Almacenes{DTAlmacenes.Rows.Count}
AlmacenesError al consultar
"); @@ -166,12 +184,14 @@ public class TareasJam : IHttpHandler try { + this.GuardaLog($"EjecutaThalamus: Renombrando columnas tabla productos. "); DTProductos.Columns[0].ColumnName = "Código Producto Interno"; DTProductos.Columns[1].ColumnName = "Nombre del Producto"; DTProductos.Columns[2].ColumnName = "Presentación"; DTProductos.AcceptChanges(); + this.GuardaLog($"EjecutaThalamus: Renombrando columnas tabla clientes. "); DTClientes.Columns[4].ColumnName = "address.countryId"; DTClientes.Columns[5].ColumnName = "address.stateId"; DTClientes.Columns[6].ColumnName = "address.city"; @@ -189,6 +209,8 @@ public class TareasJam : IHttpHandler //DTClientes.Columns.RemoveAt(7); DTClientes.AcceptChanges(); + + this.GuardaLog($"EjecutaThalamus: Renombrando columnas tabla ventas. "); DTVentas.Columns.RemoveAt(7); //DTVentas.Columns.RemoveAt(6); @@ -197,13 +219,14 @@ public class TareasJam : IHttpHandler DTVentas.AcceptChanges(); - + this.GuardaLog($"EjecutaThalamus: Renombrando columnas tabla almacenes. "); DTAlmacenes.Columns[2].ColumnName = "Description"; DTAlmacenes.Columns[3].ColumnName = "Stock Date"; DTAlmacenes.AcceptChanges(); + this.GuardaLog($"EjecutaThalamus: procesando tabla de ventas DTVentas.Clone() para asiganación de tipo de dato fecha. "); DataTable dtCloned = DTVentas.Clone(); dtCloned.Columns[3].DataType = typeof(DateTime); @@ -221,7 +244,7 @@ public class TareasJam : IHttpHandler DTVentas.AcceptChanges(); - + this.GuardaLog($"EjecutaThalamus: procesando tabla de ventas DTAlmacenes.Clone() para asiganación de tipo de dato fecha. "); dtCloned = DTAlmacenes.Clone(); dtCloned.Columns[3].DataType = typeof(DateTime); @@ -242,6 +265,7 @@ public class TareasJam : IHttpHandler catch (Exception e) { SBLog.AppendLine("Error al renombrar columnas"); + this.GuardaLog($"EjecutaThalamus: Error procesamiento de tablas " + e.StackTrace.ToString() + " "); } } @@ -250,6 +274,8 @@ public class TareasJam : IHttpHandler if (!ErrorProceso) { ////////////////////////////////////////////////////////////// + + this.GuardaLog($"EjecutaThalamus: llenando archivo excel ventas. "); int count = 2; var wbVentas = new ClosedXML.Excel.XLWorkbook(FormatoVentas); var wsVentas = wbVentas.Worksheet(1); @@ -259,12 +285,13 @@ public class TareasJam : IHttpHandler wsVentas.Cell(count, 1).Value = "'" + DRow["systemId"].ToString(); wsVentas.Cell(count, 2).Value = DRow["Branch"].ToString(); wsVentas.Cell(count, 3).Value = "'" + DRow["Code"].ToString(); - wsVentas.Cell(count, 4).Value = DRow["Sale Date"].ToString(); + wsVentas.Cell(count, 4).Value = DRow["Sale Date"].ToString(); wsVentas.Cell(count, 5).Value = DRow["Quantity"].ToString(); wsVentas.Cell(count, 6).Value = DRow["Amount"].ToString(); wsVentas.Cell(count, 7).Value = DRow["Transaction ID"].ToString(); count++; } + this.GuardaLog($"EjecutaThalamus: guardando archivo excel ventas " + RutaVentas + " "); wbVentas.SaveAs(RutaVentas); var wbAlmacenes = new ClosedXML.Excel.XLWorkbook(FormatoAlmacenes); @@ -272,14 +299,16 @@ public class TareasJam : IHttpHandler count = 2; + this.GuardaLog($"EjecutaThalamus: llenando archivo excel almacenes. "); foreach (DataRow DRow in DTAlmacenes.Rows) { wsAlmacenes.Cell(count, 1).Value = "'" + DRow["Code"].ToString(); wsAlmacenes.Cell(count, 2).Value = DRow["Quantity"].ToString(); wsAlmacenes.Cell(count, 3).Value = DRow["Description"].ToString(); - wsAlmacenes.Cell(count, 4).Value = DRow["Stock Date"].ToString(); + wsAlmacenes.Cell(count, 4).Value = DRow["Stock Date"].ToString(); count++; } + this.GuardaLog($"EjecutaThalamus: guardando archivo excel alamcenes " + RutaAlmacenes + " "); wbAlmacenes.SaveAs(RutaAlmacenes); var wbAClientes = new ClosedXML.Excel.XLWorkbook(FormatoClientes); @@ -287,6 +316,7 @@ public class TareasJam : IHttpHandler count = 2; + this.GuardaLog($"EjecutaThalamus: llenando archivo excel clientes. "); foreach (DataRow DRow in DTClientes.Rows) { wsClientes.Cell(count, 1).Value = "'" + DRow["systemId"].ToString(); @@ -306,13 +336,15 @@ public class TareasJam : IHttpHandler count++; } + + this.GuardaLog($"EjecutaThalamus: guardando archivo excel clientes " + RutaClientes + " "); wbAClientes.SaveAs(RutaClientes); var wbProductos= new ClosedXML.Excel.XLWorkbook(FormatoProductos); var wsProductos = wbProductos.Worksheet(1); count = 2; - + this.GuardaLog($"EjecutaThalamus: llenando archivo excel productos. "); foreach (DataRow DRow in DTProductos.Rows) { wsProductos.Cell(count, 1).Value = "'" + DRow["Código Producto Interno"].ToString(); @@ -321,6 +353,7 @@ public class TareasJam : IHttpHandler count++; } + this.GuardaLog($"EjecutaThalamus: guardando archivo excel productos " + RutaProductos + " "); wbProductos.SaveAs(RutaProductos); ///////////////////////////////////////////////////////////// @@ -337,10 +370,13 @@ public class TareasJam : IHttpHandler SBLog.AppendLine("Cargas
"); SBLog.AppendLine(""); + + this.GuardaLog($"EjecutaThalamus: Cargando archivo excel productos a FTP. "); CargaProductos = CargarArchivos(FInfoProductos, FTPServer, TFPUsr, FTPPass); if (CargaProductos) { + this.GuardaLog($"EjecutaThalamus: Verificando archivo productos. "); CargaProductos = VerificarArchivo(FInfoProductos, FInfoProductos.Length, FTPServer, TFPUsr, FTPPass); } @@ -355,9 +391,11 @@ public class TareasJam : IHttpHandler if (CargaProductos) { + this.GuardaLog($"EjecutaThalamus: Cargando archivo excel ventas a FTP. "); CargaVentas = CargarArchivos(FInfoVentas, $"{FTPServer}/Ventas", TFPUsr, FTPPass); if (CargaVentas) { + this.GuardaLog($"EjecutaThalamus: Verificando archivo ventas. "); CargaVentas = VerificarArchivo(FInfoVentas, FInfoVentas.Length, $"{FTPServer}/Ventas", TFPUsr, FTPPass); } } @@ -373,9 +411,11 @@ public class TareasJam : IHttpHandler if (CargaProductos & CargaVentas) { + this.GuardaLog($"EjecutaThalamus: Cargando archivo excel clientes a FTP. "); CargaClientes = CargarArchivos(FInfoClientes, $"{FTPServer}/Clientes", TFPUsr, FTPPass); if (CargaClientes) { + this.GuardaLog($"EjecutaThalamus: Verificando archivo clientes. "); CargaClientes = VerificarArchivo(FInfoClientes, FInfoClientes.Length, $"{FTPServer}/Clientes", TFPUsr, FTPPass); } } @@ -391,9 +431,11 @@ public class TareasJam : IHttpHandler if (CargaProductos & CargaVentas & CargaClientes) { + this.GuardaLog($"EjecutaThalamus: Cargando archivo excel almacenes a FTP. "); CargaAlmacenes = CargarArchivos(FInfoAlmacenes, $"{FTPServer}/Stock", TFPUsr, FTPPass); if (CargaClientes) { + this.GuardaLog($"EjecutaThalamus: Verificando archivo almacenes. "); CargaAlmacenes = VerificarArchivo(FInfoAlmacenes, FInfoAlmacenes.Length, $"{FTPServer}/Stock", TFPUsr, FTPPass); } } @@ -429,8 +471,10 @@ public class TareasJam : IHttpHandler string Cuerpo = Respuesta ? $"Correcto
Tarea de carga de archios Corteva realizada correctamente
{SBLog.ToString()}" : $"Error
Error tarea de carga de archios Corteva
{SBLog.ToString()}" ; + this.GuardaLog($"EjecutaThalamus: Enviado correo. "); MandaCorreo(Cuerpo, Respuesta, RutaProductos, RutaVentas, RutaClientes, RutaAlmacenes); + this.GuardaLog($"EjecutaThalamus: Tarea terminada se regresa respuesta {Respuesta.ToString()}. "); return Respuesta; } @@ -461,15 +505,17 @@ public class TareasJam : IHttpHandler ClsSisMail Correo = new ClsSisMail(); - string Para = "julian@adssistemas.mx;rene.molina@adssistemas.mx;oscar.irigoyen@adssistemas.mx"; - //string Para = "oscar.irigoyen@adssistemas.mx"; + string Para = "julian@adssistemas.mx;rene.molina@adssistemas.mx;oscar.irigoyen@adssistemas.mx"; + // string Para = "oscar.irigoyen@adssistemas.mx"; string Asunto = ErrorProceso ? $"Carga Layout Corteva {DateTime.Now.ToString("yyyy-MM-dd")}" : $"Carga Layout Corteva Error {DateTime.Now.ToString("yyyy-MM-dd")}"; Correo.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Cuerpo, Archivos:ListaArchivos); + this.GuardaLog($"EjecutaThalamus: MandaCorreo() correo enviado. "); }catch(Exception ex) { Extensiones.ModExtensiones.GuardaLog(null,$"Error Tareas Programadas 119 error enviar mail --> {ex.Message} "); + this.GuardaLog($"EjecutaThalamus: MandaCorreo() Error {ex.StackTrace.ToString()}. "); } } @@ -480,6 +526,8 @@ public class TareasJam : IHttpHandler if (FInfo.Exists) { + this.GuardaLog($"EjecutaThalamus: CargarArchivos() Conectando a TFP. "); + FtpWebRequest request = (FtpWebRequest)WebRequest.Create($"{FTPServer}/{FInfo.Name}"); request.Method = WebRequestMethods.Ftp.UploadFile; int tamanio = 1024; @@ -491,10 +539,12 @@ public class TareasJam : IHttpHandler { request.GetResponse(); Conected = true; + this.GuardaLog($"EjecutaThalamus: CargarArchivos() conexión a TFP correcta. "); } catch (Exception ex) { Extensiones.ModExtensiones.GuardaLog(null,$"Error Tareas Programadas 119 Conexión a servidor FTP archivo { FInfo.Name } {ex.Message} "); + this.GuardaLog($"EjecutaThalamus: CargarArchivos() FTP Error Tareas Programadas 119 Conexión a servidor FTP archivo { FInfo.Name } {ex.Message}. "); } if (Conected) @@ -517,16 +567,20 @@ public class TareasJam : IHttpHandler { Respuesta = false; Extensiones.ModExtensiones.GuardaLog(null,$"Error Tareas Programadas 119 cargando archivo { FInfo.Name } {ex.Message} "); + this.GuardaLog($"EjecutaThalamus: CargarArchivos() Conectando a TFP Error Tareas Programadas 119 cargando archivo { FInfo.Name } {ex.Message}. "); } + if (f is object) { f.Close(); } + this.GuardaLog($"EjecutaThalamus: CargarArchivos() TFP cerrrando conxión. "); if (ftpStream is object) { ftpStream.Close(); + this.GuardaLog($"EjecutaThalamus: CargarArchivos() TFP conxión cerrada. "); } } else @@ -553,6 +607,7 @@ public class TareasJam : IHttpHandler try { + this.GuardaLog($"EjecutaThalamus: VerificarArchivo() conectando a FTP ."); FtpWebRequest request = (FtpWebRequest)WebRequest.Create($"{FTPServer}/{FInfo.Name}"); request.Credentials = new NetworkCredential(FTPUsr, FTPPass); request.Method = WebRequestMethods.Ftp.GetFileSize; @@ -562,14 +617,20 @@ public class TareasJam : IHttpHandler respSize = (FtpWebResponse)request.GetResponse(); long size = respSize.ContentLength; respSize.Close(); + + this.GuardaLog($"EjecutaThalamus: VerificarArchivo() tamaño local {Tamanio} ftp { size}. "); if (Tamanio == size) { Respuesta = true; + this.GuardaLog($"EjecutaThalamus: VerificarArchivo() tamaño ok. "); } }catch(Exception ex) { + Extensiones.ModExtensiones.GuardaLog(null,$"Error Tareas Programadas 119 verificando archivo { FInfo.Name } {ex.Message} "); + this.GuardaLog($"EjecutaThalamus: VerificarArchivo() Error {ex.StackTrace.ToString()}. " ); + Respuesta = false; } @@ -592,7 +653,7 @@ public class TareasJam : IHttpHandler } catch (Exception ex) { - Extensiones.ModExtensiones.GuardaLog(null, $"Error Tareas Programadas 119 error Prueba de Conexión a servidor FTP archivo {ex.Message} "); + Extensiones.ModExtensiones.GuardaLog(null, $"Error Tareas Programadas 119 error Prueba de Conexión a servidor FTP archivo {ex.Message}. "); } return Respuesta; @@ -603,6 +664,6 @@ public class TareasJam : IHttpHandler public bool IsReusable { get { return false; } - } - + } + } \ No newline at end of file
ArchivoEstado