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--%>
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("
| Consulta | Registros |
");
+
+
+ this.GuardaLog("EjecutaThalamus: Consultando Prodcutos. ");
if (ObjGenerales.GetJAMCorveta(1))
{
DTProductos = ObjGenerales.DtResultados.Copy();
SBLog.AppendLine($"| Productos | {DTProductos.Rows.Count} |
");
+ this.GuardaLog($"EjecutaThalamus: Consultando Prodcutos correcto {DTProductos.Rows.Count} registros. ");
}
else {
ErrorProceso = true;
SBLog.AppendLine($"| Productos | Error al consultar |
");
+ this.GuardaLog($"EjecutaThalamus: Consultando Prodcutos Error. ");
}
+ this.GuardaLog($"EjecutaThalamus: Consultando Ventas. ");
if (ObjGenerales.GetJAMCorveta(2) & ErrorProceso == false)
{
DTVentas = ObjGenerales.DtResultados.Copy();
SBLog.AppendLine($"Ventas | {DTVentas.Rows.Count} |
");
+ this.GuardaLog($"EjecutaThalamus: Consultando Ventas correcto {DTVentas.Rows.Count} registros. ");
}
else
{
ErrorProceso = true;
SBLog.AppendLine($"| Ventas | Error al consultar |
");
+ 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($"| Clientes | {DTClientes.Rows.Count} |
");
+ this.GuardaLog($"EjecutaThalamus: Consultando Clientes correco {DTClientes.Rows.Count} registros. ");
}
else {
ErrorProceso = true;
SBLog.AppendLine($"| Clientes | Error al consultar |
");
+ this.GuardaLog($"EjecutaThalamus: Consultando Clientes Error. ");
}
+ this.GuardaLog($"EjecutaThalamus: Consultando Almacenes. ");
if (ObjGenerales.GetJAMCorveta(4) & ErrorProceso == false)
{
DTAlmacenes = ObjGenerales.DtResultados.Copy();
SBLog.AppendLine($"| Almacenes | {DTAlmacenes.Rows.Count} |
");
+ this.GuardaLog($"EjecutaThalamus: Consultando Almacenes Correcto {DTAlmacenes.Rows.Count} registros. ");
}
else {
ErrorProceso = true;
SBLog.AppendLine($"| Almacenes | Error al consultar |
");
+ this.GuardaLog($"EjecutaThalamus: Consultando Almacenes Error. ");
}
SBLog.AppendLine("
");
@@ -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("
| Archivo | Estado |
");
+
+ 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