From 9c23b043bb418fc7fd2e66c3081b4e704a4db23b Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Mon, 30 Nov 2020 12:25:54 -0700 Subject: [PATCH 01/18] se agregaron la seccion, serie, lote y fecha caducidad al realizar inventario fisico --- Inventarios/InventarioFisicoDetalle.aspx | 20 +++-- Inventarios/InventarioFisicoDetalle.aspx.vb | 96 ++++++++++++++++----- Inventarios/RepAnomalias.aspx | 2 + Inventarios/RepAnomalias.aspx.vb | 10 ++- 4 files changed, 97 insertions(+), 31 deletions(-) diff --git a/Inventarios/InventarioFisicoDetalle.aspx b/Inventarios/InventarioFisicoDetalle.aspx index 6a15e7ad1..e7c1feb0c 100644 --- a/Inventarios/InventarioFisicoDetalle.aspx +++ b/Inventarios/InventarioFisicoDetalle.aspx @@ -229,7 +229,7 @@
- +
@@ -240,7 +240,7 @@
- +
@@ -259,12 +259,22 @@
-
-
- +
+ +
+ + <%--Seleccione--%> + + +
+
+
+
+
+
diff --git a/Inventarios/InventarioFisicoDetalle.aspx.vb b/Inventarios/InventarioFisicoDetalle.aspx.vb index a1678237c..a5abf5a98 100644 --- a/Inventarios/InventarioFisicoDetalle.aspx.vb +++ b/Inventarios/InventarioFisicoDetalle.aspx.vb @@ -6,7 +6,7 @@ Imports Extensiones Imports Microsoft.Reporting.WebForms Partial Class Inventarios_InventarioFisicoDetalle - Inherits ClsPaginas + Inherits ClsPaginas #Region "Propiedades" Public Property DtEquivalencias() As DataTable Get @@ -39,9 +39,18 @@ Partial Class Inventarios_InventarioFisicoDetalle Set(value As DataTable) ViewState("DtVentas") = value End Set - End Property + End Property + Private Property CveAlmacenes As String + Get + Return ViewState("CveAlmacenes").ToString + End Get + Set(value As String) + ViewState("CveAlmacenes") = value + End Set + End Property + #End Region - + Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not IsPostBack Then If Request("CveInventarioFisico") IsNot Nothing AndAlso Request("CveInventarioFisico").ToString.ToEntero > 0 Then @@ -51,10 +60,10 @@ Partial Class Inventarios_InventarioFisicoDetalle End If End If - End Sub - - - + End Sub + + + #Region " USUARIOS " Private Sub CargaUsuarios() ddlUsuario.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 1", "Nombre") @@ -82,9 +91,9 @@ Partial Class Inventarios_InventarioFisicoDetalle UPAgregarPro.Update() UPPInventario.Update() - End Sub + End Sub #End Region - + #Region " CARGA DATOS " Private Sub CargaDatos(CveInventarioFisico As Integer, CveEmpresa As Integer, Optional CveUsuario As Integer = -1) @@ -135,13 +144,16 @@ Partial Class Inventarios_InventarioFisicoDetalle If ObjInventario.GetInventarioFisicoDetallesAlmacen(CveInventarioFisico, UsuarioActual.CveEmpresa) Then Dim dt As DataTable = ObjInventario.DtResultados Dim str As New StringBuilder + Dim CveAlmacenesStr As New StringBuilder If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then For Each dr As DataRow In dt.Rows str.AppendFormat("{0},", dr("almacen")) + CveAlmacenesStr.AppendFormat("{0},", dr("CveAlmacen")) Next End If LblAlmacenes.Text = str.ToString + CveAlmacenes = CveAlmacenesStr.ToString.Substring(0, CveAlmacenesStr.Length - 1) End If If ObjInventario.GetInventarioFisicoDetallesClasificacion(CveInventarioFisico, UsuarioActual.CveEmpresa) Then @@ -246,11 +258,11 @@ Partial Class Inventarios_InventarioFisicoDetalle RegistraScript("OrdenarGV();") End If UPPInventario.Update() - End Sub + End Sub #End Region - + #Region " AGREGAR " - + Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click Dim Valido As Boolean = False @@ -260,8 +272,9 @@ Partial Class Inventarios_InventarioFisicoDetalle Dim CodigoBarras As String = If(TxtCodigoBarras.Text.Trim <> "", TxtCodigoBarras.Text.Trim, "-1").Replace("'", "''") ' scanner cambian los guiones por apostrofes Dim Serie As String = TxtCodigoSerie.Text.Trim Dim Lote As String = If(TxtLote.Text.Length > 0, TxtLote.Text, "-1") - Dim FechaCaducidad As String=MinFecha.ToString + Dim FechaCaducidad As String = MinFecha.ToString Dim CveSeccionAlmacen As Integer = -1 + Dim SeccionAlmacen As String = "" Dim Cantidad = TxtCantidadProducto.Text.ToDouble @@ -279,11 +292,13 @@ Partial Class Inventarios_InventarioFisicoDetalle Dim AplicaCaducidad As Boolean = dr("AplicaCaducidad") = "1" Dim AplicaLote As Boolean = dr("AplicaLote") = "1" Dim AplicaSerie As Boolean = dr("AplicaSerie") = "1" + Dim AplicaSeccion As Boolean = dr("AplicaSeccion") = "1" 'divSeccionAlmacen.Visible = AplicaSeccion divLote.Visible = AplicaLote divFechaCaducidad.Visible = AplicaCaducidad divSerie.Visible = AplicaSerie + UPAgregarPro.Update() If AplicaSerie And Serie = "" Then @@ -294,7 +309,7 @@ Partial Class Inventarios_InventarioFisicoDetalle RFVSerie.ValidationGroup = " " Exit Sub End If - If AplicaLote And Lote = "" Then + If AplicaLote And (Lote = "" Or Lote = "-1") Then RFVLote.Enabled = True RFVLote.Visible = True RFVLote.SetFocusOnError = True @@ -313,13 +328,46 @@ Partial Class Inventarios_InventarioFisicoDetalle End If FechaCaducidad = If(TxtFechaCaducidad.Text.Length > 0, TxtFechaCaducidad.Text, MinFecha.ToString) End If - + If AplicaSeccion Then + Dim ObjInv As New ClsInventarios + Dim SeccionesAlmacenDelProducto As New DataTable + If ObjInv.GetProductosServiciosAlmacenSeccion(CveProducto, -1, -1, UsuarioActual.CveEmpresa) Then + SeccionesAlmacenDelProducto = ObjInv.DtResultados.FiltraParametros(String.Format("CveAlmacen IN ({0})", CveAlmacenes)) + End If + 'Dim SeccionesAlmacenDelProducto As DataTable = (UsuarioActual.CveEmpresa, -1, CveProducto) '.FiltraParametros(String.Format("CveAlmacen IN ({0})", CveAlmacenes)) + 'Alert(SeccionesAlmacenDelProducto.Rows.Count.ToString) + If SeccionesAlmacenDelProducto.Rows.Count = 1 Then + CveSeccionAlmacen = SeccionesAlmacenDelProducto.FiltroPrimeroValor("CveSeccionAlmacen") + Else + divSeccion.Visible = AplicaSeccion + If DdlSeccionAlmacen.Items.Count = 0 Then + DdlSeccionAlmacen.DataSource = SeccionesAlmacenDelProducto + DdlSeccionAlmacen.DataBind() + DdlSeccionAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1")) + End If + + If DdlSeccionAlmacen.SelectedValue = "-1" Then + RfvSeccionAlmacen.Enabled = True + RfvSeccionAlmacen.Visible = True + RfvSeccionAlmacen.SetFocusOnError = True + RfvSeccionAlmacen.Validate() + RfvSeccionAlmacen.ValidationGroup = " " + Exit Sub + End If + CveSeccionAlmacen = DdlSeccionAlmacen.SelectedValue.ToEntero + End If + ObjInv.Dispose() + SeccionAlmacen = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("SeccionAlmacen", String.Format("CveSeccionAlmacen = {0}", CveSeccionAlmacen)) + End If + RFVSerie.ValidationGroup = "GrpIngresar" RFVSerie.Enabled = False RFVLote.ValidationGroup = "GrpIngresar" RFVLote.Enabled = False RFVCaducidad.ValidationGroup = "GrpIngresar" RFVCaducidad.Enabled = False + RfvSeccionAlmacen.ValidationGroup = "GrpIngresar" + RfvSeccionAlmacen.Enabled = False 'VALIDA QUE LA SERIE NO SEA IGUAL AL CODIGO O CODIGOBARRAS If Serie <> "" And (Serie.ToUpper = dr("Codigo").ToString.ToUpper Or Serie.ToUpper = dr("CodigoBarras").ToString.ToUpper) Then @@ -331,7 +379,7 @@ Partial Class Inventarios_InventarioFisicoDetalle Using Inventarios As New ClsInventarios If Inventarios.AddInventarioFisicoDetalle(CveInventarioFisico, CveProducto, CveUnidadMedida, If(AplicaSerie, 1, Cantidad), Serie, UsuarioActual.CveUsuario, - CveSeccionAlmacen:=-1, Lote:=Lote, FechaCaducidad:=FechaCaducidad.ToDate) Then + CveSeccionAlmacen:=CveSeccionAlmacen, Lote:=Lote, FechaCaducidad:=FechaCaducidad.ToDate) Then GvIFDUltimoRegistrado.Columns(4).Visible = CveSeccionAlmacen > 0 GvIFDUltimoRegistrado.Columns(5).Visible = Serie <> "" @@ -344,7 +392,7 @@ Partial Class Inventarios_InventarioFisicoDetalle GvIFDUltimoRegistrado.Rows(0).Cells(1).Text = dr("CodigoBarras").ToString GvIFDUltimoRegistrado.Rows(0).Cells(2).Text = dr("Codigo").ToString GvIFDUltimoRegistrado.Rows(0).Cells(3).Text = dr("PSCodigo").ToString - GvIFDUltimoRegistrado.Rows(0).Cells(4).Text = "" + GvIFDUltimoRegistrado.Rows(0).Cells(4).Text = SeccionAlmacen GvIFDUltimoRegistrado.Rows(0).Cells(5).Text = TxtCodigoSerie.Text.Trim GvIFDUltimoRegistrado.Rows(0).Cells(6).Text = Lote GvIFDUltimoRegistrado.Rows(0).Cells(7).Text = FechaCaducidad @@ -371,6 +419,7 @@ Partial Class Inventarios_InventarioFisicoDetalle divLote.Visible = False divFechaCaducidad.Visible = False divSerie.Visible = False + divSeccion.Visible = False RegistraScript("playsonidito('beep-07.wav')") Else TxtCodigoSerie.Text = "" @@ -386,6 +435,7 @@ Partial Class Inventarios_InventarioFisicoDetalle divLote.Visible = False divFechaCaducidad.Visible = False divSerie.Visible = False + divSeccion.Visible = False TxtLote.Text = "" TxtFechaCaducidad.Text = "" Alert("No se encontró el producto, favor de escribirlo correctamente.", TipoMensaje.MsgError) @@ -395,9 +445,9 @@ Partial Class Inventarios_InventarioFisicoDetalle DivBuscador.Visible = False UPPInventario.Update() - End Sub + End Sub #End Region - + #Region " ELIMINAR " Protected Sub gvInventarioFisicoDetalle_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvIFD.RowDeleting If ddlUsuario.SelectedValue = UsuarioActual.CveUsuario.ToString OrElse UsuarioActual.TienePermisoProceso(283) Then @@ -425,9 +475,9 @@ Partial Class Inventarios_InventarioFisicoDetalle Alert("No se puede eliminar un producto registrado por otro usuario.", TipoMensaje.MsgAdvertencia) RegistraScript("playsonidito('142608__autistic-lucario__error.wav')") End If - End Sub + End Sub #End Region - + #Region " FINALIZAR " Protected Sub btnFin_Click(sender As Object, e As EventArgs) Handles btnFin.Click If btnFin.Text.Contains("Iniciar") Then @@ -475,9 +525,9 @@ Partial Class Inventarios_InventarioFisicoDetalle UPAgregarPro.Update() UPPInventario.Update() - End Sub + End Sub #End Region - + #Region " VER AVANCE " Protected Sub LBAvance_Click(sender As Object, e As EventArgs) Response.Redirect($"~/Inventarios/RepAnomalias.aspx?CveInventarioFisico={CveInventarioFisico}&EsAvance=1") diff --git a/Inventarios/RepAnomalias.aspx b/Inventarios/RepAnomalias.aspx index 3751b969e..61dc09004 100644 --- a/Inventarios/RepAnomalias.aspx +++ b/Inventarios/RepAnomalias.aspx @@ -198,6 +198,7 @@ + @@ -232,6 +233,7 @@ + diff --git a/Inventarios/RepAnomalias.aspx.vb b/Inventarios/RepAnomalias.aspx.vb index a71900ab2..12433a1ec 100644 --- a/Inventarios/RepAnomalias.aspx.vb +++ b/Inventarios/RepAnomalias.aspx.vb @@ -194,6 +194,9 @@ Partial Class Inventarios_RepAnomalias e.Row.Cells(8).Text = "0" End If + If e.Row.Cells(7).Text = MinFecha Then + e.Row.Cells(7).Text = "" + End If e.Row.FCLabel("Lblc").Text = e.Row.RowIndex + 1 End If @@ -273,9 +276,10 @@ Partial Class Inventarios_RepAnomalias #End Region Private Sub BanderaSerieLoteCad(Gv As GridView, resultado As DataTable) - Gv.Columns(4).Visible = resultado.MAX("Serie") <> "" - Gv.Columns(5).Visible = resultado.MAX("Lote") <> "" - Gv.Columns(6).Visible = resultado.MAX("FechaCaducidad").ToDate > MinFecha + Gv.Columns(4).Visible = resultado.MAX("CveSeccionAlmacen").ToEntero > 0 + Gv.Columns(5).Visible = resultado.MAX("Serie") <> "" + Gv.Columns(6).Visible = resultado.MAX("Lote") <> "" + Gv.Columns(7).Visible = resultado.MAX("FechaCaducidad").ToDate > MinFecha End Sub End Class From a3c8a8872a74fc0c84fd40239f53185e3ccc3265 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Tue, 1 Dec 2020 10:13:05 -0700 Subject: [PATCH 02/18] web service econo --- App_Code/ClsProductosServicios.vb | 67 ++++- Ashx/E141.ashx | 470 ++++++++++++++++++++++++++---- 2 files changed, 481 insertions(+), 56 deletions(-) diff --git a/App_Code/ClsProductosServicios.vb b/App_Code/ClsProductosServicios.vb index 016bdbaee..d77dbbe60 100644 --- a/App_Code/ClsProductosServicios.vb +++ b/App_Code/ClsProductosServicios.vb @@ -2135,6 +2135,71 @@ Public Class ClsProductosServicios End Try Return Retorno - End Function + End Function + + Public Function GetProductosModificados(CveEmpresa As Integer, CvePrecioLista As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_ProductosModificadosGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CvePrecioLista", SqlDbType.Int).Value = CvePrecioLista + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los productos modificados.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + Public Function GetPreciosModificados(CveEmpresa As Integer, CvePrecioLista As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_ProductosPreciosModificadosGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CvePrecioLista", SqlDbType.Int).Value = CvePrecioLista + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los precios modificados.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetExistenciasEmpresa(Codigo As String, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_ProductosExistenciasEmpresaGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@Codigo", SqlDbType.VarChar).Value = Codigo + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener las existencias.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetVendedoresModificados(CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_VendedoresModificadosGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los vendedores.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function End Class diff --git a/Ashx/E141.ashx b/Ashx/E141.ashx index 1afdca0b9..ee2b2f1e0 100644 --- a/Ashx/E141.ashx +++ b/Ashx/E141.ashx @@ -2,8 +2,9 @@ Imports System Imports System.Web -Imports System.Data +Imports System.Data Imports System.Net.Http +Imports System.Net Imports Newtonsoft.Json Imports Newtonsoft.Json.Linq Imports Extensiones @@ -28,8 +29,27 @@ Public Class E141 : Implements IHttpHandler End If End Get End Property + Public ReadOnly Property UsuarioWSE141 As String + Get + If IsNothing(System.Configuration.ConfigurationManager.AppSettings("UsuarioWSE141")) Then + Return "" + Else + Return System.Configuration.ConfigurationManager.AppSettings("UsuarioWSE141").ToString() + End If + End Get + End Property + Public ReadOnly Property PasswordWSE141 As String + Get + If IsNothing(System.Configuration.ConfigurationManager.AppSettings("PasswordWSE141")) Then + Return "" + Else + Return System.Configuration.ConfigurationManager.AppSettings("PasswordWSE141").ToString() + End If + End Get + End Property Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest + context.Response.ContentType = "application/json" Dim retorno As String = "no se encontro la variable" Try Dim Params = If(context.Request("P") = Nothing, "", context.Request("P").ToString()) @@ -43,57 +63,395 @@ Public Class E141 : Implements IHttpHandler End If End If + + Dim Metodo = If(context.Request("Metodo") = Nothing, "", context.Request("Metodo").ToString()) + + If Metodo = "CrearActualizarProductos" Then + retorno = CrearActualizarProductos() + End If + + If Metodo = "ActualizarPrecios" Then + retorno = ActualizarPrecios() + End If + + If Metodo = "ActualizarExistencias" Then + retorno = ActualizarExistencias() + End If + + If Metodo = "ActualizarVendedores" Then + retorno = ActualizarVendedores() + End If + + If Metodo = "GetExistencia" Then + Dim Codigo = If(context.Request("Sku") = Nothing, "", context.Request("Sku").ToString()) + retorno = GetExistencia(context, Codigo) + End If + Catch ex As Exception retorno = ex.ToString() ex.GuardaLog(ex.ToString()) - context.Response.Write(retorno) + End Try + context.Response.Write(retorno) End Sub + Private Function GetExistencia(ByVal context As HttpContext, Codigo As String) As String + Dim respuesta = New With {.isSuccess = False, .message = "", .products = New JArray} + If String.IsNullOrEmpty(Codigo) OrElse Codigo = "-1" Then + respuesta.message = "el parametro 'Sku' es invalido" + respuesta.isSuccess = False - 'Private Function DescargarFactura(CveVenta As Integer) As Byte() - ' Dim Url = New Uri(String.Format("{0}Compras/PopUpVerFactura.aspx?P={1}", ClsPaginas.UrlSitio, Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=0", CveVenta)))) - ' Dim File As Byte() = Nothing - ' Try - ' Using httpClient = New HttpClient() - ' httpClient.Timeout = New TimeSpan(0, 15, 0) - ' Using request = New HttpRequestMessage(HttpMethod.Get, Url) - ' request.Headers.Add("ADSToken", Encripta(String.Format("CVEEMPRESA={0}&TICKS={1}&CVEUSUARIO=100", CveEmpresa, DateTime.UtcNow.Ticks))) - ' Dim response = httpClient.SendAsync(request).Result - ' If response.StatusCode = Net.HttpStatusCode.OK Then - ' File = response.Content.ReadAsByteArrayAsync().Result - ' End If - ' End Using - ' End Using - ' Catch ex As Exception - ' File = Nothing - ' OnError("Ocurrió un error al descargar la factura", ex) - ' End Try - - ' Return File - 'End Function + Return JsonConvert.SerializeObject(respuesta) + End If - Private Function DescargarFactura(FilePDF As String) As Byte() - Dim Url = New Uri(String.Format("{0}Compras/PopUpVerFactura.aspx?TipoDocto=Ing&File={1}&TipoArchivo=PDF", "http://localhost/", FilePDF)) - Dim File As Byte() = Nothing - Try - Using httpClient = New HttpClient() - httpClient.Timeout = New TimeSpan(0, 1, 0) - Using request = New HttpRequestMessage(HttpMethod.Get, Url) - request.Headers.Add("ADSToken", Encripta(String.Format("CVEEMPRESA={0}&TICKS={1}&CVEUSUARIO=100", CveEmpresa, DateTime.UtcNow.Ticks))) - Dim response = httpClient.SendAsync(request).Result - If response.StatusCode = Net.HttpStatusCode.OK Then - File = response.Content.ReadAsByteArrayAsync().Result - End If - End Using - End Using - Catch ex As Exception - File = Nothing - OnError("Ocurrió un error al descargar la factura", ex) - End Try - - Return File + Dim unauthorized As Boolean = True + + Dim authHeader = context.Request.Headers("Authorization") + If authHeader IsNot Nothing Then + Dim basicAuth As String = authHeader.Replace("Basic ", "") + + Dim usernamePasswordArray = Encoding.UTF8.GetString(Convert.FromBase64String(basicAuth)).Split(":"c) + + Dim userName = usernamePasswordArray(0) + Dim password = usernamePasswordArray(1) + unauthorized = Not (userName = Me.UsuarioWSE141 AndAlso password = Me.PasswordWSE141) + + Else + respuesta.message = "el usuario y/o contraseña son requeridos" + respuesta.isSuccess = False + 'context.Response.StatusCode = 401 + + Return JsonConvert.SerializeObject(respuesta) + End If + + If unauthorized Then + respuesta.message = "el usuario y/o contraseña no son validos" + respuesta.isSuccess = False + 'context.Response.StatusCode = 401 + + Return JsonConvert.SerializeObject(respuesta) + End If + + Using ObjPS As New ClsProductosServicios() + If ObjPS.GetExistenciasEmpresa(Codigo, CveEmpresa) Then + Dim ArrayPS As New JArray + For Each RowPS As DataRow In ObjPS.DtResultados.Rows + Dim producto As New JObject( + New JProperty("sku", RowPS("Codigo")), + New JProperty("stock", RowPS("Existencia")) + ) + ArrayPS.Add(producto) + Next + + respuesta.products = ArrayPS + respuesta.isSuccess = True + respuesta.message = "La existencia se obtuvo correctamente" + Else + respuesta.isSuccess = False + respuesta.message = "Ocurrió un error al obtener la existencia" + End If + + End Using + + Return JsonConvert.SerializeObject(respuesta) + End Function + + Private Function EnviarInformacion(url As String, payload As String) As String + Dim Retorno As String = "{}" + Try + Using httpClient = New HttpClient() + Using request = New HttpRequestMessage(HttpMethod.Post, New Uri(url)) + request.Headers.Add("token", "$2y$10$LGqtRWUloKQmAt.jcUldc.PmS5LJ6l.WU2w1G4PBOTLMVKZRNQFPS") + + Using content = New StringContent(payload, Encoding.UTF8, "application/json") + request.Content = content + + Dim response = httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result + + If response.StatusCode = Net.HttpStatusCode.OK Then + Retorno = response.Content.ReadAsStringAsync().Result + End If + End Using + + End Using + + End Using + Catch ex As Exception + Retorno = New JObject(New JProperty("Error", ex.ToString())).ToString() + OnError("Ocurrió un error al enviar la informacion", ex) + End Try + Return Retorno + End Function + + Private Function EnviarInformacion2(url As String, payload As String) As String + Dim Retorno As String = "{}" + Try + Dim Request As WebRequest = WebRequest.Create(url) + Request.Method = "post" + Request.ContentType = "application/json" + Request.Headers.Add("token", "$2y$10$LGqtRWUloKQmAt.jcUldc.PmS5LJ6l.WU2w1G4PBOTLMVKZRNQFPS") + + Dim byteArray As Byte() = Encoding.UTF8.GetBytes(payload) + Request.ContentLength = byteArray.Length + + Using dataStream As Stream = Request.GetRequestStream() + dataStream.Write(byteArray, 0, byteArray.Length) + Using tResponse As WebResponse = Request.GetResponse() + Using dataStreamResponse As Stream = tResponse.GetResponseStream() + Using tReader As New StreamReader(dataStreamResponse) + Retorno = tReader.ReadToEnd() + End Using + End Using + End Using + End Using + Catch ex As Exception + Retorno = New JObject(New JProperty("Error", ex.ToString())).ToString() + OnError("Ocurrió un error al enviar la informacion", ex) + End Try + Return Retorno + End Function + + ' var httpWebRequest = (httpWebRequest)WebRequest.Create("http://url"); + 'httpWebRequest.ContentType = "application/json"; + 'httpWebRequest.Method = "POST"; + + 'Using (var streamWriter = New StreamWriter(httpWebRequest.GetRequestStream())) + '{ + ' String json = "{\"user\":\"test\"," + + ' "\"password\":\"bla\"}"; + + ' streamWriter.Write(json); + '} + + 'var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); + 'Using (var streamReader = New StreamReader(httpResponse.GetResponseStream())) + '{ + ' var result = StreamReader.ReadToEnd(); + '} +#Region "C R E A C I Ó N / A C T U A L I Z A C I Ó N - P R O D U C T O S" + Private Function CrearActualizarProductos() As String + Return EnviarInformacion2("https://services.fidelityapps/api/services/products/import", GetProductosModificados()) + End Function + + Private Function GetProductosModificados() As String + Dim Retorno As String = "{}" + + Dim DtPS As DataTable = Nothing + Using ObjPS As New ClsProductosServicios + 'OBTERNER PRECIOS DE PUBLICO GENERAL + If ObjPS.GetProductosModificados(CveEmpresa, 44) Then + DtPS = ObjPS.DtResultados.Copy() + End If + End Using + + If DtPS IsNot Nothing Then + + Dim ArrayPS As New JArray + For Each RowPS As DataRow In DtPS.Rows + + Dim PSData As String() = RowPS("PS").ToString().Split(" ".ToCharArray()) + + Dim Measurement As String = "", Size As String = "", alt_code As String = "" + + If PSData.Length > 0 Then + Measurement = PSData(0) + End If + + If PSData.Length > 1 Then + Size = PSData(1) + End If + + alt_code = String.Concat(Measurement, Size) + + Dim producto As New JObject( + New JProperty("clasificacion", RowPS("Clasificacion")), + New JProperty("category", "Prod"), + New JProperty("pza", RowPS("Unidad")), + New JProperty("sku", RowPS("Codigo")), + New JProperty("name", RowPS("PS")), + New JProperty("measurement", Measurement), + New JProperty("size", Size), + New JProperty("brand", RowPS("Marca")), + New JProperty("price", RowPS("Precio")), + New JProperty("active", RowPS("Estado")), + New JProperty("user", RowPS("UsuarioModifico")), + New JProperty("alt_code", alt_code), + New JProperty("short_description", ""), + New JProperty("description", ""), + New JProperty("currency", 1), + New JProperty("promo_price", RowPS("PrecioPromocion")) + ) + + ArrayPS.Add(producto) + Next + Retorno = New JObject(New JProperty("products", ArrayPS)).ToString() + End If + + Return Retorno + End Function +#End Region + +#Region "A C T U A L I Z A R - P R E C I O S" + + Private Function ActualizarPrecios() As String + Return EnviarInformacion("https://services.fidelityapps/api/services/products/price-import", GetPreciosModificados()) + End Function + + Private Function GetPreciosModificados() As String + Dim Retorno As String = "{}" + + Dim DtPS As DataTable = Nothing + Using ObjPS As New ClsProductosServicios + 'OBTERNER PRECIOS DE PUBLICO GENERAL + If ObjPS.GetPreciosModificados(CveEmpresa, 44) Then + DtPS = ObjPS.DtResultados.Copy() + End If + End Using + + If DtPS IsNot Nothing Then + + Dim ArrayPS As New JArray + For Each RowPS As DataRow In DtPS.Rows + + Dim producto As New JObject( + New JProperty("sku", RowPS("Codigo")), + New JProperty("price", RowPS("Precio")), + New JProperty("promo_price", RowPS("PrecioPromocion")) + ) + + ArrayPS.Add(producto) + Next + Retorno = New JObject(New JProperty("products", ArrayPS)).ToString() + End If + + Return Retorno + End Function +#End Region + +#Region "A C T U A L I Z A R - E X I S T E N C I A S" + + Private Function ActualizarExistencias() As String + Return EnviarInformacion("https://services.fidelityapps/api/services/products/stock", GetPSExistencias()) + End Function + + Private Function GetPSExistencias() As String + Dim Retorno As String = "{}" + + Dim DtPS As DataTable = Nothing + Using ObjPS As New ClsProductosServicios + 'OBTERNER PRECIOS DE PUBLICO GENERAL + If ObjPS.GetExistenciasEmpresa("-1", CveEmpresa) Then + DtPS = ObjPS.DtResultados.Copy() + End If + End Using + + If DtPS IsNot Nothing Then + + Dim ArrayPS As New JArray + For Each RowPS As DataRow In DtPS.Rows + + Dim producto As New JObject( + New JProperty("sku", RowPS("Codigo")), + New JProperty("branch_office_code", "01"), + New JProperty("stock", RowPS("Existencia")) + ) + + ArrayPS.Add(producto) + Next + Retorno = New JObject(New JProperty("stock", ArrayPS)).ToString() + End If + + Return Retorno + End Function +#End Region + + +#Region "A C T U A L I Z A R - E X I S T E N C I A S" + + Private Function ActualizarVendedores() As String + Return EnviarInformacion("https://services.fidelityapps/api/v1/sellers/import", GetVendedores()) + End Function + + Private Function GetVendedores() As String + Dim Retorno As String = "{}" + + Dim DtVendedores As DataTable = Nothing + Using ObjPS As New ClsProductosServicios + 'OBTERNER PRECIOS DE PUBLICO GENERAL + If ObjPS.GetVendedoresModificados(CveEmpresa) Then + DtVendedores = ObjPS.DtResultados.Copy() + End If + End Using + + If DtVendedores IsNot Nothing Then + + Dim ArrayVendedores As New JArray + For Each RowVendedor As DataRow In DtVendedores.Rows + + Dim VendedorData As String() = RowVendedor("Vendedor").ToString().Split(" ".ToCharArray()) + + Dim Nombre As String = "", Apellido As String = "" + + Select Case VendedorData.Length + Case 1 + Nombre = VendedorData(0) + Case 2 + Nombre = VendedorData(1) + Apellido = VendedorData(0) + Case 3 + Nombre = VendedorData(2) + Apellido = String.Concat(VendedorData(0), " ", VendedorData(1)) + Case 4 + Nombre = String.Concat(VendedorData(2), " ", VendedorData(3)) + Apellido = String.Concat(VendedorData(0), " ", VendedorData(1)) + End Select + + Dim vendedor As New JObject( + New JProperty("email", RowVendedor("Correo")), + New JProperty("password", RowVendedor("Correo")), + New JProperty("name", Nombre), + New JProperty("last_name", Apellido), + New JProperty("type_seller", "Administrador"), + New JProperty("state", RowVendedor("Estado")), + New JProperty("city", RowVendedor("Municipio")), + New JProperty("age", 0), + New JProperty("gender", 0), + New JProperty("address", ""), + New JProperty("code", "") + ) + + ArrayVendedores.Add(vendedor) + Next + Retorno = New JObject(New JProperty("sellers", ArrayVendedores)).ToString() + End If + + Return Retorno + End Function +#End Region + +#Region "D E S C A R G A - P D F" + + Private Function DescargarFactura(FilePDF As String) As Byte() + Dim Url = New Uri(String.Format("{0}Compras/PopUpVerFactura.aspx?TipoDocto=Ing&File={1}&TipoArchivo=PDF", "http://localhost/", FilePDF)) + Dim File As Byte() = Nothing + Try + Using httpClient = New HttpClient() + httpClient.Timeout = New TimeSpan(0, 1, 0) + Using request = New HttpRequestMessage(HttpMethod.Get, Url) + request.Headers.Add("ADSToken", Encripta(String.Format("CVEEMPRESA={0}&TICKS={1}&CVEUSUARIO=100", CveEmpresa, DateTime.UtcNow.Ticks))) + Dim response = httpClient.SendAsync(request).Result + If response.StatusCode = Net.HttpStatusCode.OK Then + File = response.Content.ReadAsByteArrayAsync().Result + End If + End Using + End Using + Catch ex As Exception + File = Nothing + OnError("Ocurrió un error al descargar la factura", ex) + End Try + + Return File End Function Public Sub ImprimirbytesPDF(ByVal context As HttpContext, bytes As Byte(), NombreArchivo As String) @@ -118,18 +476,20 @@ Public Class E141 : Implements IHttpHandler End Try End Sub - Private Function Parametros(Cadena As String) As Hashtable - Dim P1() As String = Cadena.Split("&"c) - Dim Tmp As String - Dim P2() As String - - Dim URLParametros As New Hashtable - - For Each Tmp In P1 - P2 = Tmp.Replace("%26%", "&").Split("="c) - URLParametros.Add(P2(0).ToString.ToUpper, P2(1)) - Next - Return URLParametros +#End Region + + Private Function Parametros(Cadena As String) As Hashtable + Dim P1() As String = Cadena.Split("&"c) + Dim Tmp As String + Dim P2() As String + + Dim URLParametros As New Hashtable + + For Each Tmp In P1 + P2 = Tmp.Replace("%26%", "&").Split("="c) + URLParametros.Add(P2(0).ToString.ToUpper, P2(1)) + Next + Return URLParametros End Function End Class \ No newline at end of file From 3fa9c5030f22d19e81bb605fb4c5d71e60b66d8b Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Tue, 1 Dec 2020 13:11:33 -0700 Subject: [PATCH 03/18] se agregaron las empresas franquicias a la generacion de codigo qr para econo --- App_Code/ClsPaginas.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index b1d582319..8baa88e9c 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -6750,7 +6750,7 @@ Public Class ClsPaginas End If 'ECONOLLANTAS - AGREGAR QR DE DESCARGA - If UsuarioActual.CveEmpresa = 141 Then + If UsuarioActual.CveEmpresa.Contiene(141, 152, 159, 160, 161, 162, 163) Then Dim QRDescarga As String = "" Dim cfdi As New RVCFDI33.GeneraCFDI() From 9032c10f35629c8bfc92cde854699bcf2b948b12 Mon Sep 17 00:00:00 2001 From: Antonio Gonzalez Date: Tue, 1 Dec 2020 18:41:34 -0700 Subject: [PATCH 04/18] =?UTF-8?q?nuevo=20cat=C3=A1logo=20de=20checadores?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/ClsPaginas.vb | 1 + App_Code/ClsRH.vb | 75 +++++++++++++++++++++++++ RH/CatChecadores.aspx | 101 ++++++++++++++++++++++++++++++++++ RH/CatChecadores.aspx.cs | 115 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 292 insertions(+) create mode 100644 RH/CatChecadores.aspx create mode 100644 RH/CatChecadores.aspx.cs diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index bde4f584f..a704afaf3 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -4860,6 +4860,7 @@ Public Class ClsPaginas PaginaDict.Add("/RH/SolicitudViaticos.aspx".ToUpper(), 663) PaginaDict.Add("/RH/ReporteViaticos.aspx".ToUpper(), 664) PaginaDict.Add("/RH/MiPerfil.aspx".ToUpper(), -1) ' se dejará libre el módulo para que cualquier que tenga cvepersonal, pueda acceder + PaginaDict.Add("/RH/CatChecadores.aspx".ToUpper(), 694) #End Region #Region "Sistema" 'Cargo las páginas que deben tener restricción diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb index 5508900fd..b7729c3f2 100644 --- a/App_Code/ClsRH.vb +++ b/App_Code/ClsRH.vb @@ -6879,6 +6879,81 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo #End Region +#Region "Checador" + Public Function GetChecadores(CveChecador As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_RH_ChecadorGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveChecador", SqlDbType.Int).Value = CveChecador + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el listado de checadores", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function AddChecadores(Checador As String, CveSubProyecto As Integer, IPLocal As String, Puerto As String, CveUsuario As Integer, Optional CveModelo As Integer = 1, Optional Estatus As Integer = 1) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_RH_ChecadorAdd") + With SqlAdapter.SelectCommand.Parameters + .Add("@Checador", SqlDbType.NVarChar).Value = Checador + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@IPLocal", SqlDbType.NVarChar).Value = IPLocal + .Add("@Puerto", SqlDbType.NVarChar).Value = Puerto + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveModelo", SqlDbType.Int).Value = CveModelo + .Add("@Estatus", SqlDbType.Int).Value = Estatus + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al agregar el checador", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function UpdateChecadores(CveChecador As Integer, Checador As String, CveSubProyecto As Integer, IPLocal As String, Puerto As String, Optional CveModelo As Integer = 1, Optional Estatus As Boolean = True) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_RH_ChecadorUpdate") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveChecador", SqlDbType.Int).Value = CveChecador + .Add("@Checador", SqlDbType.NVarChar).Value = Checador + .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto + .Add("@IPLocal", SqlDbType.NVarChar).Value = IPLocal + .Add("@Puerto", SqlDbType.NVarChar).Value = Puerto + .Add("@CveModelo", SqlDbType.Int).Value = CveModelo + .Add("@Estatus", SqlDbType.Bit).Value = Estatus + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar el checador", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function RemoveChecadores(CveChecador As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_RH_ChecadorDelete") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveChecador", SqlDbType.Int).Value = CveChecador + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al eliminar el checador", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function +#End Region + 'Public msgsError As New StringBuilder() 'Public Sub OnError(Mensaje As String, Exeption As Exception, Optional InfoAdicional As String = "") diff --git a/RH/CatChecadores.aspx b/RH/CatChecadores.aspx new file mode 100644 index 000000000..0e7b07707 --- /dev/null +++ b/RH/CatChecadores.aspx @@ -0,0 +1,101 @@ +<%@ Page Title="RH - Catálogo de Checadores" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="CatChecadores.aspx.cs" Inherits="RH_CatChecadores" %> + +<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> + + + + + + + + Catálogo de Checadores + + + + +
  • + +
  • + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/RH/CatChecadores.aspx.cs b/RH/CatChecadores.aspx.cs new file mode 100644 index 000000000..c05160605 --- /dev/null +++ b/RH/CatChecadores.aspx.cs @@ -0,0 +1,115 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using Extensiones; +using System.Data; + +public partial class RH_CatChecadores : ClsPaginas +{ + private int CveChecador + { + get + { + return ViewState["CveChecador"].ToString().ToEntero(); + } + + set + { + ViewState["CveChecador"] = value; + } + } + + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + CargaDatos(); + CargaSubProyectos(); + } + } + + private void CargaDatos() + { + ClsRH ObjRH = new ClsRH(); + if (ObjRH.GetChecadores(-1, UsuarioActual.CveEmpresa)) + { + GvDatos.DataSource = ObjRH.DtResultados; + } + ObjRH.Dispose(); + GvDatos.DataBind(); + } + + private void CargaSubProyectos() + { + DdlSubProyecto.DataSource = get_GlobalDTSubProyectos(-1, CveEmpresa: UsuarioActual.CveEmpresa); + DdlSubProyecto.DataBind(); + } + + protected void BtnAgregarChecador_Click(object sender, EventArgs e) + { + TxtChecador.Text = ""; + DdlSubProyecto.SelectedValue = "-1"; + TxtIPLocal.Text = ""; + TxtPuerto.Text = ""; + BtnChecadorAgregar.Text = "Agregar"; + divChkEstatus.Visible = false; + UpModalTiposD.Update(); + RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD")); + } + + protected void BtnChecadorAgregar_Click(object sender, EventArgs e) + { + ClsRH ObjRH = new ClsRH(); + if (BtnChecadorAgregar.Text == "Agregar") + { + if (ObjRH.AddChecadores(TxtChecador.Text, DdlSubProyecto.SelectedValue.ToEntero(), TxtIPLocal.Text, TxtPuerto.Text, UsuarioActual.CveUsuario)) + { + Alert("Checador agregado correctamente"); + } + } + else + { + if (ObjRH.UpdateChecadores(CveChecador,TxtChecador.Text,DdlSubProyecto.SelectedValue.ToEntero(),TxtIPLocal.Text,TxtPuerto.Text,Estatus: ChkEstatus.Checked)) + { + Alert("Checador actualizado correctamente"); + } + } + ObjRH.Dispose(); + CargaDatos(); + UpDatos.Update(); + RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD")); + } + + protected void LnkEditar_Click(object sender, EventArgs e) + { + GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer); + + CveChecador = GvRow.DataKey("CveChecador").ToEntero(); + TxtChecador.Text = GvRow.DataKey("Checador"); + DdlSubProyecto.SelectedValue = GvRow.DataKey("CveSubProyecto"); + TxtIPLocal.Text = GvRow.DataKey("IPLocal"); + TxtPuerto.Text = GvRow.DataKey("Puerto"); + BtnChecadorAgregar.Text = "Actualizar"; + ChkEstatus.Checked = GvRow.DataKey("Estatus") == "Activo"; + divChkEstatus.Visible = true; + UpModalTiposD.Update(); + RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD")); + } + + protected void LnkEliminar_Click(object sender, EventArgs e) + { + GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer); + + ClsRH ObjRH = new ClsRH(); + if (ObjRH.RemoveChecadores(GvRow.DataKey("CveChecador").ToEntero())) + { + Alert("Checador eliminado correctamente"); + CargaDatos(); + UpDatos.Update(); + } + ObjRH.Dispose(); + } +} \ No newline at end of file From 8953c5c94ce4b70604e4561d470a511e663785c8 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 2 Dec 2020 01:38:35 -0700 Subject: [PATCH 05/18] bdh --- Inventarios/RecepcionUsados.aspx | 2 +- Inventarios/RecepcionUsados.aspx.vb | 115 ++++++++++------ Ventas/Clientes.aspx | 85 +++--------- Ventas/Clientes.aspx.vb | 48 ++----- Ventas/Ventas.aspx | 203 +++++++++++++++------------- Ventas/Ventas.aspx.vb | 142 ++++++++++++++++--- 6 files changed, 338 insertions(+), 257 deletions(-) diff --git a/Inventarios/RecepcionUsados.aspx b/Inventarios/RecepcionUsados.aspx index 0a80a9302..f5b6dcc47 100644 --- a/Inventarios/RecepcionUsados.aspx +++ b/Inventarios/RecepcionUsados.aspx @@ -752,7 +752,7 @@ diff --git a/Inventarios/RecepcionUsados.aspx.vb b/Inventarios/RecepcionUsados.aspx.vb index 7c83727db..22e3f17ec 100644 --- a/Inventarios/RecepcionUsados.aspx.vb +++ b/Inventarios/RecepcionUsados.aspx.vb @@ -2489,7 +2489,6 @@ Partial Class Inventarios_RecepcionUsados For Each Row As GridViewRow In GvM.Rows If Row.RowType = DataControlRowType.DataRow Then - Dim CvePS As Integer = Row.DataKey("CvePS").ToEntero() Dim Cantidad As Decimal = Row.DataKey("Cantidad").ToDecimal() Dim PU As Decimal = Row.DataKey("PU").ToDecimal() Dim CveTamaño As Integer = Row.DataKey("CveTamaño").ToEntero() @@ -2502,29 +2501,45 @@ Partial Class Inventarios_RecepcionUsados Dim PS As String = "" Dim PorcentajeIVA As Decimal = 0D Dim IVA As Decimal = 0D - If CvePS > 0 Then - If SubTotal > 0 Then - Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).Rows(0) - If Dr IsNot Nothing Then - CveUnidadMedida = Dr("CveUnidadMedida").ToString.ToEntero - CveClasificacion = Dr("CveClasificacion").ToString.ToEntero - PS = Dr("PSCodigo").ToString - UnidadMedida = Dr("UnidadMedida").ToString - Clasificacion = Dr("Clasificacion").ToString + + Dim CvePS As Integer = 0 + + Select Case RblUsadosAjuste.SelectedValue + Case "0" ' USADOS + CvePS = Row.DataKey("CvePS").ToEntero() + Case "1" ' AJUSTE/GARANTIA + Dim drDatos As DataRow = GlobalDTAcumTamaños().FiltroPrimero(String.Format("CveTamaño = {0} AND CveEmpresa = {1}", CveTamaño, UsuarioActual.CveEmpresa)) + + If drDatos IsNot Nothing Then + CvePS = drDatos.Item("CvePSCargo").ToString.ToEntero End If - PorcentajeIVA = 0.16D - IVA = SubTotal * PorcentajeIVA + End Select + + If CvePS > 0 Then + Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).Rows(0) + If Dr IsNot Nothing Then + CveUnidadMedida = Dr("CveUnidadMedida").ToString.ToEntero + CveClasificacion = Dr("CveClasificacion").ToString.ToEntero + PS = Dr("PSCodigo").ToString + UnidadMedida = Dr("UnidadMedida").ToString + Clasificacion = Dr("Clasificacion").ToString End If + PorcentajeIVA = 0.16D + IVA = SubTotal * PorcentajeIVA + + AddPSRNC(ObjRemisionNC.DtDetalle, Cantidad, CveUnidadMedida, UnidadMedida, CveClasificacion, Clasificacion, CvePS, PS, "", PU, 0, -1, "", + ObjRemisionNC.CveSubProyecto, ObjRemisionNC.SubProyecto.SubProyecto, PorcentajeIVA:=PorcentajeIVA, CveTamaño:=CveTamaño) + Else + Alert("No se pudo cargar el producto", TipoMensaje.MsgError) End If - AddPSRNC(ObjRemisionNC.DtDetalle, Cantidad, CveUnidadMedida, UnidadMedida, CveClasificacion, Clasificacion, CvePS, PS, "", PU, 0, -1, "", - ObjRemisionNC.CveSubProyecto, ObjRemisionNC.SubProyecto.SubProyecto, PorcentajeIVA:=PorcentajeIVA, CveTamaño:=CveTamaño) End If Next + 'SI ES AJUSTE/GARANTIA If RblUsadosAjuste.SelectedValue = "1" Then 'agrego un registro extra del importe de ajuste - Dim PU As Decimal = TxtImporteAjuste.Text.ToDecimal + Dim PU As Decimal = TmpDTAjustes.SUMD("Importe") 'CONSULTA EL CONCEPTO DE NC Dim ArrayNC As String() = UsuarioActual.Empresa.Funcionalidad(591).Split(",".ToCharArray()) Dim NCAjuste As Integer = -1 @@ -2540,7 +2555,18 @@ Partial Class Inventarios_RecepcionUsados CveClasificacion = Dr("CveClasificacion").ToString.ToEntero CvePS = Dr("CvePS").ToString.ToEntero Dim PorcentajeIVA As Decimal = 0.16D - Dim Obs As String = $"Descuento por garantía. BCI: {DdlBCIAjuste.SelectedValue}" + + Dim SbBCI As New StringBuilder() + SbBCI.Append("BCI: ") + 'AGREGA LOS PRODUCTOS COMO OBSERVACION + For Each GvRow As GridViewRow In GvM.Rows + If GvRow.RowType = DataControlRowType.DataRow Then + SbBCI.AppendFormat("{0},", GvRow.DataKey("CodigoPS")) + End If + Next + SbBCI.Remove(SbBCI.Length - 1, 1) + + Dim Obs As String = SbBCI.ToString() AddPSRNC(ObjRemisionNC.DtDetalle, 1, CveUnidadMedida, "", CveClasificacion, "", CvePS, "", Obs, PU, 0, -1, "", ObjRemisionNC.CveSubProyecto, ObjRemisionNC.SubProyecto.SubProyecto, PorcentajeIVA:=PorcentajeIVA) @@ -2570,7 +2596,6 @@ Partial Class Inventarios_RecepcionUsados ObjRemisionNC.Total = Total ObjRemisionNC.TotalOtrosConceptos = 0 - ObjRemisionNC.DtMovimientosUsados = DtMovimientos ObjRemisionNC.CveAlmacen = DdlAlmacen.SelectedValue.ToEntero() ObjRemisionNC.ObservacionesMovimiento = TxtObservaciones.Text @@ -2646,6 +2671,10 @@ Partial Class Inventarios_RecepcionUsados End Sub Private Sub CargaPSAjuste() DdlPSAjuste.setEsWebService(True) + DdlPSAjuste.Attributes.Add("data-cvesubproyecto", "-1") + DdlPSAjuste.ddlWS.Attributes.Add("data-cveclasificacion", "-1") + DdlPSAjuste.ddlWS.Attributes.Add("data-pagina", "ventas/ventas") + DdlPSAjuste.ddlWS.Attributes.Add("data-Estatus", "1") End Sub Protected Sub DdlPSAjuste_selectedindexchange(sender As Object, e As EventArgs) @@ -2996,28 +3025,38 @@ Partial Class Inventarios_RecepcionUsados End If Dim ObjPS As New ClsProductosServicios - Dim CveTamaño As Integer = -1 - If ObjPS.GetPS(CvePS, -1, UsuarioActual.CveEmpresa) Then - CveTamaño = ObjPS.DtResultados.FiltroPrimeroValor("CveTamaño").ToEntero - End If - Dim drDatos As DataRow = GlobalDTAcumTamaños().FiltroPrimero(String.Format("CveTamaño = {0} AND CveEmpresa = {1}", CveTamaño, UsuarioActual.CveEmpresa)) - - If drDatos IsNot Nothing Then - Dim Importe As Decimal = drDatos("Cargo").ToString.ToDecimal - Dim drTamañoPS As DataRow = Nothing - - DtMovimientos.Rows.Clear() - - If ObjPS.GetPS(drDatos.Item("CvePSCargo").ToString.ToEntero, -1, UsuarioActual.CveEmpresa) Then - drTamañoPS = ObjPS.DtResultados.FiltroPrimero("") - 'CveTamaño = -1 'limpio esta variable para que no se registre dos veces en la clase Modelos - AddNew(drTamañoPS.Item("CvePS").ToString.ToEntero, drTamañoPS.Item("PSCodigo").ToString, drTamañoPS.Item("CveUM").ToString.ToEntero, drTamañoPS.Item("UnidadMedida").ToString, 1.0, Importe, - "", "-1", "-1", "-1", "", "", -1, "", "", CveTamaño) - + Try + Dim CveTamaño As Integer = -1 + If ObjPS.GetPS(CvePS, -1, UsuarioActual.CveEmpresa) Then + CveTamaño = ObjPS.DtResultados.FiltroPrimeroValor("CveTamaño").ToEntero End If - Else - Alert("No se pudo cargar el producto", TipoMensaje.MsgError) - End If + Dim drDatos As DataRow = GlobalDTAcumTamaños().FiltroPrimero(String.Format("CveTamaño = {0} AND CveEmpresa = {1}", CveTamaño, UsuarioActual.CveEmpresa)) + + If drDatos IsNot Nothing Then + Dim Importe As Decimal = drDatos("Cargo").ToString.ToDecimal + Dim drTamañoPS As DataRow = Nothing + + DtMovimientos.Rows.Clear() + + Select Case RblUsadosAjuste.SelectedValue + Case "0" ' USADOS + CvePS = drDatos.Item("CvePSCargo").ToString.ToEntero + Case "1" ' AJUSTE/GARANTIA + CvePS = DdlPSAjuste.SelectedValue.ToEntero + End Select + + If ObjPS.GetPS(CvePS, -1, UsuarioActual.CveEmpresa) Then + drTamañoPS = ObjPS.DtResultados.FiltroPrimero("") + 'CveTamaño = -1 'limpio esta variable para que no se registre dos veces en la clase Modelos + AddNew(drTamañoPS.Item("CvePS").ToString.ToEntero, drTamañoPS.Item("PSCodigo").ToString, drTamañoPS.Item("CveUM").ToString.ToEntero, drTamañoPS.Item("UnidadMedida").ToString, 1.0, Importe, + "", "-1", "-1", "-1", "", "", -1, "", "", CveTamaño) + End If + Else + Alert("No se pudo cargar el producto", TipoMensaje.MsgError) + End If + Catch ex As Exception + OnError("Ocurrió un error al agregar el producto", ex) + End Try ObjPS.Dispose() GuardaAjuste() diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx index bab59dcf6..b168f7b82 100644 --- a/Ventas/Clientes.aspx +++ b/Ventas/Clientes.aspx @@ -4155,61 +4155,7 @@ - -
    -
    -
    -
    -
    - - Usados resumen -
    -
    -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - - - - - -
    Puntos -
    Importe Cargo$ - - - -
    Importe Bonificación$ - - - -
    - -
    -
    - - -
    -
    -
    @@ -4219,23 +4165,28 @@
    +
    - - - - - - - - - - - +
    +
    + + + + + + + + + + + +
    +
    diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index a996cf41b..55ce1f097 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -4783,7 +4783,7 @@ Partial Class Clientes Exit Select Case 6 TxtCuentaValor.Visible = True - TxtCuentaValor.TextMode = TextBoxMode.Number + TxtCuentaValor.TextMode = TextBoxMode.SingleLine If Requerido = 1 Then RFVCuentaValor1.Enabled = True @@ -4893,7 +4893,7 @@ Partial Class Clientes Exit Select Case 6 TxtCuentaValor.Visible = True - TxtCuentaValor.TextMode = TextBoxMode.Number + TxtCuentaValor.TextMode = TextBoxMode.SingleLine If Requerido = 1 Then RFVCuentaValor2.Enabled = True @@ -9135,45 +9135,27 @@ Partial Class Clientes Dim ObjAcum As New ClsAcumuladores Dim ImporteCargo As Decimal = 0D - Dim ImporteBonificacion As Decimal = 0D If ObjAcum.DistribuidorMovtosGet(CveCliente, UsuarioActual.CveEmpresa, TxtFechaIUsados.Text.ToDate, TxtFechaFUsados.Text.ToDate, CveConcepto:=DdlConceptoUsado.SelectedValue.ToEntero()) Then - GvAcum.DataSource = ObjAcum.DtResultados - - LblUsadosPuntos.Text = (ObjAcum.DtResultados.SUM("Puntos", " CveConcepto = 2 ") - ObjAcum.DtResultados.SUM("Puntos", " CveConcepto IN (1,3) ")).ToDecimal.FormatoNumero(2) - - ImporteCargo = ObjAcum.DtResultados.SUM("ImporteCargo", "(FacturadoCargo = 0 OR FacturadoCargo IS NULL) AND CveConcepto = 1 ").ToDecimal - ImporteBonificacion = ObjAcum.DtResultados.SUM("ImporteBonificacion", "(FacturadoBonificacion = 0 OR FacturadoBonificacion IS NULL) AND CveConcepto = 1 ").ToDecimal - - LblUsadosImpCargo.Text = ImporteCargo.FormatoNumero(2) - LblusadosImpBonificacion.Text = ImporteBonificacion.FormatoNumero(2) - - Else - GvAcum.DataSource = Nothing - - ImporteCargo = 0D - ImporteBonificacion = 0D - - LblUsadosImpCargo.Text = "" - LblusadosImpBonificacion.Text = "" - LblUsadosPuntos.Text = "" - - End If - - If ObjAcum.GetMovimientosDistribuidorResumen(CveCliente, UsuarioActual.CveEmpresa) Then + End If + + Dim ImporteBonificacion As Decimal = 0 + If ObjAcum.GetMovimientosDistribuidorResumen(CveCliente, UsuarioActual.CveEmpresa) AndAlso ObjAcum.DtResultados.Rows.Count > 0 Then GvUsadosResumen.DataSource = ObjAcum.DtResultados + ImporteBonificacion = ObjAcum.DtResultados.Rows(4)("Valor").ToString().ToDecimal() End If - GvUsadosResumen.DataBind() - - 'LnkFacturaUsadosCargos.Visible = If(ImporteCargo > 0, True, False) - LnkFacturaUsadosBonificacion.Visible = If(ImporteBonificacion > 0, True, False) - + GvUsadosResumen.DataBind() + + + 'LnkFacturaUsadosCargos.Visible = If(ImporteCargo > 0, True, False) + LnkFacturaUsadosBonificacion.Visible = If(ImporteBonificacion > 0, True, False) + ObjAcum.Dispose() GvAcum.DataBind() UpAcciones.Update() - UpUsadosResumen.Update() + 'UpUsadosResumen.Update() UpGvUsadosResumen.Update() UpAcum.Update() @@ -10187,7 +10169,7 @@ Partial Class Clientes Private Sub LnkUsadosReset_Click(sender As Object, e As EventArgs) Handles LnkUsadosReset.Click Dim Acum As New ClsAcumuladores - Dim Puntos As Decimal = -LblUsadosPuntos.Text.ToDecimal + Dim Puntos As Decimal = -GvUsadosResumen.Rows.Cast(Of GridViewRow).Where(Function(x) x.RowType = DataControlRowType.DataRow).FirstOrDefault(Function(gvr) gvr.RowIndex = 3).DataKey("Puntos").ToEntero() If Acum.DistribuidorMovtosAdd(CveCliente, 1, 1, 3, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Puntos, "Saldo Inicializado") Then Alert("Puntuación Inicializada") End If diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index cb3ea762a..7482a17fe 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -6273,12 +6273,21 @@
    +
    + + + + + +
    +
    +
    - Cargos +
    @@ -8086,75 +8095,75 @@ function LimpiaModal() { $('#<%= TxtDireccion.ClientID %>').val(''); - $('#<%= TxtColonia.ClientID %>').val(''); - $('#<%= TxtCiudad.ClientID %>').val(''); - $('#<%= TxtEstado.ClientID %>').val(''); - $('#<%= TxtCP.ClientID %>').val(''); - } + $('#<%= TxtColonia.ClientID %>').val(''); + $('#<%= TxtCiudad.ClientID %>').val(''); + $('#<%= TxtEstado.ClientID %>').val(''); + $('#<%= TxtCP.ClientID %>').val(''); + } - function BtnMateriales() { - $('#BtnMateriales').click(); - } + function BtnMateriales() { + $('#BtnMateriales').click(); + } - function BtnEnviarMailCancelacion() { - $('#BtnEnviarMailCancelacion').click(); - } - function BtnRefacturacionConfirmar() { - $('#BtnRefacturacionConfirmar').click(); - } - function BtnRefacturacionConfirmarAceptacion(Liga) { - $('#BtnRefacturacionConfirmarAceptacion').click(); - } - function BtnRefrescarPagina() { - $('#BtnRefrescarPagina').click(); - } - function Recargar() { - $('#BtnRefrescarPagina').click(); - } - function BtnAplicaNuevaNC() { - $('#BtnAplicaNuevaNC').click(); - } + function BtnEnviarMailCancelacion() { + $('#BtnEnviarMailCancelacion').click(); + } + function BtnRefacturacionConfirmar() { + $('#BtnRefacturacionConfirmar').click(); + } + function BtnRefacturacionConfirmarAceptacion(Liga) { + $('#BtnRefacturacionConfirmarAceptacion').click(); + } + function BtnRefrescarPagina() { + $('#BtnRefrescarPagina').click(); + } + function Recargar() { + $('#BtnRefrescarPagina').click(); + } + function BtnAplicaNuevaNC() { + $('#BtnAplicaNuevaNC').click(); + } - $('.DdlPS').on("select2:open", function (e) { $('.select2-container.select2-container--default .select2-dropdown .select2anothertable').remove(); }); - $('.DdlPSPyME').on("select2:open", function (e) { $('.select2-container.select2-container--default .select2-dropdown .select2anothertable').remove(); }); + $('.DdlPS').on("select2:open", function (e) { $('.select2-container.select2-container--default .select2-dropdown .select2anothertable').remove(); }); + $('.DdlPSPyME').on("select2:open", function (e) { $('.select2-container.select2-container--default .select2-dropdown .select2anothertable').remove(); }); - $("body").on("mouseenter", ".select2-container.select2-container--default.select2-container--open .select2-dropdown li", function (event) { - var $this = $(this); - var ind = $this.index(); - $(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable tr.active").removeClass('active'); - $(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable tr:nth-child(" + (ind + 2) + ")").addClass('active'); - //log($this); - }); - var scrollfuncion = function () { - var stop = this.scrollTop; - $(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable").scrollTop(stop); - } - function CargaExistenciaAlmacenes(data, params) { - var div = $('
    '); - $('.select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable').remove(); - $('.select2-container.select2-container--default.select2-container--open .select2-dropdown').prepend(div); - var table = $('
    '); div.append(table); - var tbody = $(''); table.append(tbody); - $(".select2-container--default .select2-results>.select2-results__options").off("scroll", scrollfuncion); - $(".select2-container--default .select2-results>.select2-results__options").scroll(scrollfuncion); - var indexd = 0; - data.forEach(function (item) { - if (indexd == 0) { + $("body").on("mouseenter", ".select2-container.select2-container--default.select2-container--open .select2-dropdown li", function (event) { + var $this = $(this); + var ind = $this.index(); + $(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable tr.active").removeClass('active'); + $(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable tr:nth-child(" + (ind + 2) + ")").addClass('active'); + //log($this); + }); + var scrollfuncion = function () { + var stop = this.scrollTop; + $(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable").scrollTop(stop); + } + function CargaExistenciaAlmacenes(data, params) { + var div = $('
    '); + $('.select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable').remove(); + $('.select2-container.select2-container--default.select2-container--open .select2-dropdown').prepend(div); + var table = $('
    '); div.append(table); + var tbody = $(''); table.append(tbody); + $(".select2-container--default .select2-results>.select2-results__options").off("scroll", scrollfuncion); + $(".select2-container--default .select2-results>.select2-results__options").scroll(scrollfuncion); + var indexd = 0; + data.forEach(function (item) { + if (indexd == 0) { + var tr = $(''); tbody.append(tr); + var td; + for (var key in item) { + if (!(key == "text" || key == "id")) { td = $('' + key + ''); tr.append(td); } + } + } var tr = $(''); tbody.append(tr); + var td; for (var key in item) { - if (!(key == "text" || key == "id")) { td = $('' + key + ''); tr.append(td); } - } - } - var tr = $(''); tbody.append(tr); - - var td; - for (var key in item) { - if (!(key == "text" || key == "id")) { - if ((item[key] > 0)) { - td = $('' + item[key] + ''); tr.append(td); - } else { - if ('<%= UsuarioActual.Empresa.Funcionalidad(566) %>' == '1') { + if (!(key == "text" || key == "id")) { + if ((item[key] > 0)) { + td = $('' + item[key] + ''); tr.append(td); + } else { + if ('<%= UsuarioActual.Empresa.Funcionalidad(566) %>' == '1') { var buscarAlmacenes = "CargaExistenciasSucursales(" + item.id + ",'" + item.text + "');" td = $('' + item[key] + ' '); tr.append(td); } else { @@ -8361,44 +8370,44 @@ if (TotalAnticipos > 0) { $('#<%= BtnAceptarAnticipos.ClientID %>').prop('disabled', false); - } else { - $('#<%= BtnAceptarAnticipos.ClientID %>').prop('disabled', true); - } - } else { - $('#<%= BtnAceptarAnticipos.ClientID %>').prop('disabled', true); - } + } else { + $('#<%= BtnAceptarAnticipos.ClientID %>').prop('disabled', true); + } + } else { + $('#<%= BtnAceptarAnticipos.ClientID %>').prop('disabled', true); + } + } + + function showDivEC() { + $('#<%= TxtRFCCliente.ClientID %>').val(''); + $('#<%= TxtNombreCliente.ClientID %>').val(''); + $('#<%= TxtDireccionCliente.ClientID %>').val(''); + $('#<%= TxtNumExtCliente.ClientID %>').val(''); + $('#<%= TxtNumIntCliente.ClientID %>').val(''); + $('#<%= TxtCPCliente.ClientID %>').val(''); + $('#<%= TxtColoniaCliente.ClientID %>').val(''); + $('#<%= TxtTelefonoCliente.ClientID %>').val(''); + $('#<%= TxtCiudadCliente.ClientID %>').val(''); + $('#<%= TxtLocalidadCliente.ClientID %>').val(''); + $('#<%= DdlSATPais.ClientID %>').val(''); + $('#<%= DdlEstadoSAT.ClientID %>').val(''); + $('#<%= TxtCorreoCliente.ClientID %>').val(''); + + $('#divAgregarCliente').modal(); } - function showDivEC() { - $('#<%= TxtRFCCliente.ClientID %>').val(''); - $('#<%= TxtNombreCliente.ClientID %>').val(''); - $('#<%= TxtDireccionCliente.ClientID %>').val(''); - $('#<%= TxtNumExtCliente.ClientID %>').val(''); - $('#<%= TxtNumIntCliente.ClientID %>').val(''); - $('#<%= TxtCPCliente.ClientID %>').val(''); - $('#<%= TxtColoniaCliente.ClientID %>').val(''); - $('#<%= TxtTelefonoCliente.ClientID %>').val(''); - $('#<%= TxtCiudadCliente.ClientID %>').val(''); - $('#<%= TxtLocalidadCliente.ClientID %>').val(''); - $('#<%= DdlSATPais.ClientID %>').val(''); - $('#<%= DdlEstadoSAT.ClientID %>').val(''); - $('#<%= TxtCorreoCliente.ClientID %>').val(''); + function hideDivEC() { + $('#divAgregarCliente').modal('hide'); + } - $('#divAgregarCliente').modal(); - } - - function hideDivEC() { - $('#divAgregarCliente').modal('hide'); - } - - var ValidarRNC = false; - function AplicarValidarRNC(Valor) { - ValidarRNC = Valor; - } - function CompararNC() { - if (ValidarRNC) { - var TotalRem = ToDouble(document.getElementById('<%= TxtImportesRemisionesNC.ClientID %>').value); + var ValidarRNC = false; + function AplicarValidarRNC(Valor) { + ValidarRNC = Valor; + } + function CompararNC() { + if (ValidarRNC) { + var TotalRem = ToDouble(document.getElementById('<%= TxtImportesRemisionesNC.ClientID %>').value); var TotalNC = ToDouble(document.getElementById('<%= TxtNCImporte.ClientID %>').value); if (TotalRem == TotalNC) { diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 90038885c..18be4a942 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -14776,8 +14776,9 @@ Partial Class Ventas If NuevaFactura = 1 AndAlso UsuarioActual.TienePermisoProceso(222) Then If ObjVentas.GetVentaDetalle(ObjFacturaDevolucion.CveVenta) Then TmpDT = ObjVentas.DtResultados + TmpDT.Columns.Add("CveVentaDetalleRNC", GetType(Integer)) End If - ErrorCancelar = ProcesoPrepolizas(ObjConta, ObjFacturaDevolucion, -1, TmpDT, ObjAC, -1, ObjBancos, ObjVentas) + ErrorCancelar = ProcesoPrepolizaBtnAplicaNuevaNC_Clicks(ObjConta, ObjFacturaDevolucion, -1, TmpDT, ObjAC, -1, ObjBancos, ObjVentas) Else ErrorCancelar = ProcesoPrepolizas(ObjConta, ObjFacturaDevolucion, -1, TmpDT, ObjAC, -1, ObjBancos, ObjVentas) End If @@ -23582,7 +23583,7 @@ Partial Class Ventas End Sub Protected Sub DdlVentaUsado_SelectedIndexChanged(sender As Object, e As EventArgs) - CargaRNC(DdlVentaUsado.SelectedValue.ToEntero()) + RblRNCTipo_SelectedIndexChanged(RblRNCTipo, EventArgs.Empty) End Sub Private Sub InicializaAplicarNCMasiva() @@ -23603,7 +23604,9 @@ Partial Class Ventas 'LkNotaCredito.Visible = False DivGvCxC.Visible = True CargaCxC() - CargaRNC() + 'CARGAR RNC + RblRNCTipo_SelectedIndexChanged(RblRNCTipo, EventArgs.Empty) + TxtNCPorcentaje.Attributes.Add("onkeyup", "CalculaImporteNCMasivo();") TxtNCImporte.Text = "0.00" TxtNCImporte.Enabled = False @@ -23622,6 +23625,28 @@ Partial Class Ventas ObjMovtos.Dispose() GvCxC.DataBind() End Sub + + Protected Sub RblRNCTipo_SelectedIndexChanged(sender As Object, e As EventArgs) + Select Case RblRNCTipo.SelectedValue + Case "1" 'CARGOS + LtlCargos.Text = "CARGOS" + DivRNCCargo.Visible = True + DivRNCBon.Visible = False + CargaRNC(DdlVentaUsado.SelectedValue.ToEntero(), False, False) + + Case "2" 'BONIFICACIONES + DivRNCCargo.Visible = False + DivRNCBon.Visible = True + CargaRNC(-1, True, False) + + Case "3" 'AJUSTE/GARANTIAS + LtlCargos.Text = "AJUSTES/GARANTIAS" + DivRNCCargo.Visible = True + DivRNCBon.Visible = False + CargaRNC(DdlVentaUsado.SelectedValue.ToEntero(), False, True) + + End Select + End Sub Protected Sub ChkMostarProductosRNC_CheckedChanged(sender As Object, e As EventArgs) If ChkMostarProductosRNC.Checked Then DivRNCCargos.Visible = False @@ -23630,11 +23655,11 @@ Partial Class Ventas Else DivRNCCargos.Visible = True DivRNCCargosDetalle.Visible = False - CargaRNC(DdlVentaUsado.SelectedValue.ToEntero()) + RblRNCTipo_SelectedIndexChanged(RblRNCTipo, EventArgs.Empty) End If UpModalRemisionesNC.Update() End Sub - Private Sub CargaRNC(Optional CveVentaUsado As Integer = -1) + Private Sub CargaRNC(Optional CveVentaUsado As Integer = -1, Optional CargarBonificaciones As Boolean = False, Optional CargarSoloGarantias As Boolean = False) Dim DtNC As DataTable = Nothing Dim ObjMovtos As New ClsMovimientos() @@ -23643,16 +23668,24 @@ Partial Class Ventas End If ObjMovtos.Dispose() - TmpDTRNCBonificacionesSeleccionadas = Nothing - - GvRemisionesNC.DataSource = DtNC.FiltraParametros("TipoRNC = 1") - GvRemisionesNCBon.DataSource = TmpDTRNCBonificacionesSeleccionadas + Me.TmpDTRNCBonificacionesSeleccionadas = Nothing Me.TmpDTRNCBonificacionesCliente = DtNC.FiltraParametros("TipoRNC = 2") Me.TmpDTRNCBonificacionesCliente.Columns.Add("ImporteBonificacion", GetType(Decimal)) Me.TmpDTRNCBonificacionesCliente.Columns.Add("IVABonificacion", GetType(Decimal)) Me.TmpDTRNCBonificacionesCliente.Columns.Add("CveVentaRNCCargo", GetType(Integer)) + If CargarBonificaciones Then + Me.TmpDTRNCBonificacionesSeleccionadas = Me.TmpDTRNCBonificacionesCliente.Copy() + End If + + If CargarSoloGarantias Then + GvRemisionesNC.DataSource = DtNC.FiltraParametros("TipoRNC = 1 AND EsGarantia = True") + Else + GvRemisionesNC.DataSource = DtNC.FiltraParametros("TipoRNC = 1 AND EsGarantia = False") + End If + GvRemisionesNCBon.DataSource = Me.TmpDTRNCBonificacionesSeleccionadas + GvRemisionesNC.DataBind() GvRemisionesNCBon.DataBind() @@ -24119,12 +24152,18 @@ Partial Class Ventas End If Else - For Each RNC In ListaRemisionesNC - DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore) - Next - For Each RNC In ListaNCBonificacion - DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore) - Next + If ListaRemisionesNC IsNot Nothing Then + For Each RNC In ListaRemisionesNC + DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore) + Next + End If + + If ListaNCBonificacion IsNot Nothing Then + For Each RNC In ListaNCBonificacion + DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore) + Next + End If + End If @@ -24320,12 +24359,11 @@ Partial Class Ventas For Each RNC In ListaNC Dim UltimoRenglonRNC As Integer = 1 Dim TotalAcumuladoRNC As Decimal = 0 + Dim Terminar As Boolean = False For Each RowUsado As DataRow In RNC.DtDetalle.Rows - Dim PorcentajeAplicado = (RNC.TotalRemNCAplicado / RNC.Total) - - Dim Cantidad As Decimal = RowUsado("Cantidad").ToString().ToDecimal() * PorcentajeAplicado + Dim Cantidad As Decimal = RowUsado("Cantidad").ToString().ToDecimal() Dim Obs = RowUsado("CodigoPS").ToString() @@ -24345,8 +24383,33 @@ Partial Class Ventas TotalAcumuladoRNC += (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + 'SI EL IMPORTE ES MAYOR REALIZA EL AJUSTE + If TotalAcumuladoRNC > RNC.TotalRemNCAplicado Then + Terminar = True + 'RESTA LO SUMANDO DEL ACUMULADO + TotalAcumuladoRNC -= (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + + Dim Diferencia As Decimal = RNC.TotalRemNCAplicado - TotalAcumuladoRNC + + Dim TotalPartida As Decimal = (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + + Dim PorcentajePorAplicar As Decimal = (Diferencia / TotalPartida) + + Cantidad = Cantidad * PorcentajePorAplicar + + TotalCalculableImpuestos = (Cantidad * ImportePU) + ImporteIVA = (TotalCalculableImpuestos * RowUsado("PorcentajeIVA").ToString().ToDecimal).RoundSQL(2) + ImporteIEPS = (TotalCalculableImpuestos * RowUsado("PorcentajeIEPS").ToString().ToDecimal).RoundSQL(2) + ImporteRetIVA = (TotalCalculableImpuestos * RowUsado("PorcentajeRetIVA").ToString().ToDecimal).RoundSQL(2) + ImporteRetISR = (TotalCalculableImpuestos * RowUsado("PorcentajeRetISR").ToString().ToDecimal).RoundSQL(2) + + ImporteTotal = TotalCalculableImpuestos + + TotalAcumuladoRNC += (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + End If + 'SI ES EL ULTIMO REGLON REALIZA UN AJUSTE - If UltimoRenglonRNC = RNC.DtDetalle.Rows.Count Then + If UltimoRenglonRNC = RNC.DtDetalle.Rows.Count OrElse Terminar Then Dim Ajuste As Decimal = 0 If Math.Abs(RNC.TotalRemNCAplicado - TotalAcumuladoRNC) > 0.00 Then Ajuste = RNC.TotalRemNCAplicado - TotalAcumuladoRNC @@ -24361,6 +24424,10 @@ Partial Class Ventas Obs, Cantidad, ImportePU, RowUsado("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, RowUsado("PorcentajeRetIVA").ToString().ToDecimal, ImporteRetIVA, RowUsado("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowUsado("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0.0, ImporteTotal, "", "", -1, -1, DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1, CveVentaDetalleRNC:=RowUsado("CveVentaDetalle").ToString().ToEntero()) + + If Terminar Then + Exit For + End If Next Next @@ -24424,6 +24491,7 @@ Partial Class Ventas For Each RNCBonificacion In ListaNCBonificacion Dim UltimoRenglonRNC As Integer = 1 Dim TotalAcumuladoRNC As Decimal = 0 + Dim Terminar As Boolean = False Dim RNCCargo = ListaNC.Where(Function(f) f.CveVenta = RNCBonificacion.CveVentaRNCCargo).FirstOrDefault() @@ -24431,7 +24499,7 @@ Partial Class Ventas Dim PorcentajeAplicado = (RNCBonificacion.TotalRemNCAplicado / RNCBonificacion.Total) - Dim Cantidad As Decimal = RowCargo("Cantidad").ToString().ToDecimal() * PorcentajeAplicado + Dim Cantidad As Decimal = RowCargo("Cantidad").ToString().ToDecimal() '* PorcentajeAplicado Dim Obs = RowCargo("CodigoPS").ToString() @@ -24451,6 +24519,31 @@ Partial Class Ventas TotalAcumuladoRNC += (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + 'SI EL IMPORTE ES MAYOR REALIZA EL AJUSTE + If TotalAcumuladoRNC > RNCBonificacion.TotalRemNCAplicado Then + Terminar = True + 'RESTA LO SUMANDO DEL ACUMULADO + TotalAcumuladoRNC -= (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + + Dim Diferencia As Decimal = RNCBonificacion.TotalRemNCAplicado - TotalAcumuladoRNC + + Dim TotalPartida As Decimal = (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + + Dim PorcentajePorAplicar As Decimal = (Diferencia / TotalPartida) + + Cantidad = Cantidad * PorcentajePorAplicar + + TotalCalculableImpuestos = (Cantidad * ImportePU) + ImporteIVA = (TotalCalculableImpuestos * RowCargo("PorcentajeIVA").ToString().ToDecimal).RoundSQL(2) + ImporteIEPS = (TotalCalculableImpuestos * RowCargo("PorcentajeIEPS").ToString().ToDecimal).RoundSQL(2) + ImporteRetIVA = (TotalCalculableImpuestos * RowCargo("PorcentajeRetIVA").ToString().ToDecimal).RoundSQL(2) + ImporteRetISR = (TotalCalculableImpuestos * RowCargo("PorcentajeRetISR").ToString().ToDecimal).RoundSQL(2) + + ImporteTotal = TotalCalculableImpuestos + + TotalAcumuladoRNC += (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + End If + 'SI ES EL ULTIMO REGLON REALIZA UN AJUSTE If UltimoRenglonRNC = RNCCargo.DtDetalle.Rows.Count Then Dim Ajuste As Decimal = 0 @@ -24491,6 +24584,7 @@ Partial Class Ventas TmpDT = ObjVentas.DtResultados.Copy() TmpDT.Columns.Add("EntregaDirecta", GetType(Integer)) TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer)) + TmpDT.Columns.Add("CveVentaDetalleRNC", GetType(Integer)) End If If AplicaNCMasiva OrElse AplicaNCUsado Then @@ -27606,6 +27700,13 @@ Partial Class Ventas End If End If Next + + 'SI SON SOLO BONIFICACIONES GENERA LA NC PRINCIPAL EN BASE A ESAS + If RblRNCTipo.SelectedValue.ToString() = "2" AndAlso ListaRemisionesNC.Count = 0 Then + ListaRemisionesNC.AddRange(ListaNCBonificacion) + ListaNCBonificacion.Clear() + End If + End If TxtImportesRemisionesNC.Text = TotalRemNCAplicado.FormatoNumero @@ -28406,5 +28507,4 @@ Partial Class Ventas Public ImporteBonificacion As Decimal = 0 Public IVABonificacion As Decimal = 0 End Class - End Class \ No newline at end of file From 4f69db851d5ed4b9fc8be9b90335e53d3ac37ca2 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 2 Dec 2020 01:38:41 -0700 Subject: [PATCH 06/18] 141 --- Ashx/E141.ashx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Ashx/E141.ashx b/Ashx/E141.ashx index ee2b2f1e0..0d782b316 100644 --- a/Ashx/E141.ashx +++ b/Ashx/E141.ashx @@ -231,7 +231,7 @@ Public Class E141 : Implements IHttpHandler '} #Region "C R E A C I Ó N / A C T U A L I Z A C I Ó N - P R O D U C T O S" Private Function CrearActualizarProductos() As String - Return EnviarInformacion2("https://services.fidelityapps/api/services/products/import", GetProductosModificados()) + Return EnviarInformacion("https://services.fidelityapps.mx/api/services/products/import", GetProductosModificados()) End Function Private Function GetProductosModificados() As String @@ -295,7 +295,7 @@ Public Class E141 : Implements IHttpHandler #Region "A C T U A L I Z A R - P R E C I O S" Private Function ActualizarPrecios() As String - Return EnviarInformacion("https://services.fidelityapps/api/services/products/price-import", GetPreciosModificados()) + Return EnviarInformacion("https://services.fidelityapps.mx/api/services/products/price-import", GetPreciosModificados()) End Function Private Function GetPreciosModificados() As String @@ -332,7 +332,7 @@ Public Class E141 : Implements IHttpHandler #Region "A C T U A L I Z A R - E X I S T E N C I A S" Private Function ActualizarExistencias() As String - Return EnviarInformacion("https://services.fidelityapps/api/services/products/stock", GetPSExistencias()) + Return EnviarInformacion("https://services.fidelityapps.mx/api/services/products/stock", GetPSExistencias()) End Function Private Function GetPSExistencias() As String @@ -370,7 +370,7 @@ Public Class E141 : Implements IHttpHandler #Region "A C T U A L I Z A R - E X I S T E N C I A S" Private Function ActualizarVendedores() As String - Return EnviarInformacion("https://services.fidelityapps/api/v1/sellers/import", GetVendedores()) + Return EnviarInformacion("https://services.fidelityapps.mx/api/v1/sellers/import", GetVendedores()) End Function Private Function GetVendedores() As String From e75da60228b43d960563cf207e26f7791c0b86e8 Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Wed, 2 Dec 2020 11:11:15 -0700 Subject: [PATCH 07/18] Cambios Compras --- Compras/Compras.aspx.vb | 133 ++++++------ TareasProgramadas/Tareas119.ashx | 336 ++++++++++++++++--------------- 2 files changed, 251 insertions(+), 218 deletions(-) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index da0b58856..c73133e33 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -2688,77 +2688,88 @@ Partial Class Compras_Compras TmpDT.Columns.Add("CveContrato", GetType(Integer)) TmpDT.Columns.Add("DifPSSat", GetType(Integer)) - TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) - TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer)) + + If Not TmpDT.Columns.Contains("CveContratoDetalle") Then + TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) + End If + + + If Not TmpDT.Columns.Contains("CveCultivoCuadroDetalle") Then + TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer)) + End If + + + + GvPS.DataSource = TmpDT - GvPS.DataBind() - - If UsuarioActual.Empresa.UsaAC Then - CargaHidendsAC() - End If - - CalculaTotales(True) - - If UsuarioActual.Empresa.UsaInventarios Then - DtInv = TmpDT.FiltraParametros(String.Format("CveTipoPS = 2")).Copy - - If dr("Inventario").ToString = "1" Then - - CveMovimientoAlmacen = dr("CveMovimiento").ToString.ToEntero - - Dim Inv As New ClsInventarios - If Inv.GetMovimientosDetalle(dr("CveMovimiento").ToString.ToEntero, UsuarioActual.CveEmpresa) Then - 'Dim TempParametros = Encripta(String.Format("OP=Alm&CveMovimiento={0}", dr("CveMovimiento"))) - 'ImgImprimirAlmacen.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", TempParametros) - - ImgImprimirAlmacen.Visible = True - ImgImprimirAlmacen.NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", dr("CveMovimiento")) - - Dim drt As DataRow - 'actualizo el almacen - For Each dri As DataRow In DtInv.Rows - - drt = Inv.DtResultados.FiltroPrimero(String.Format("CvePS = {0} AND Cantidad = {1}", dri("CvePS"), dri("Cantidad"))) - If drt IsNot Nothing Then - Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dri("Consec").ToString.ToEntero}")(0) 'Charlie - TmpDr("CveAlmacen") = drt("CveAlmacen") 'Charlie - - dri("CveAlmacen") = drt("CveAlmacen") - - End If - - Next - - End If - - 'Proceso Super Tramposo de Charlie - If Inv.GetMovimientosDetalle(dr("CveMovimiento").ToString.ToEntero, UsuarioActual.CveEmpresa, CveCompra:=-123) Then - Dim drt As DataRow - For Each dri As DataRow In DtInv.Rows - drt = Inv.DtResultados.FiltroPrimero(String.Format("CvePS = {0} AND Cantidad = {1}", dri("CvePS"), dri("Cantidad"))) - If drt IsNot Nothing Then - Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dri("Consec").ToString.ToEntero}")(0) - TmpDr("CveAlmacen") = drt("CveAlmacen") - End If - Next - End If - - Inv.Dispose() + GvPS.DataBind() + If UsuarioActual.Empresa.UsaAC Then + CargaHidendsAC() End If - CargaGvInv() + CalculaTotales(True) - 'Ocultamos "Recibir Aqui" - GvInv.Columns(6).Visible = False - GvInv.Columns(7).Visible = False + If UsuarioActual.Empresa.UsaInventarios Then + DtInv = TmpDT.FiltraParametros(String.Format("CveTipoPS = 2")).Copy + If dr("Inventario").ToString = "1" Then + + CveMovimientoAlmacen = dr("CveMovimiento").ToString.ToEntero + + Dim Inv As New ClsInventarios + If Inv.GetMovimientosDetalle(dr("CveMovimiento").ToString.ToEntero, UsuarioActual.CveEmpresa) Then + 'Dim TempParametros = Encripta(String.Format("OP=Alm&CveMovimiento={0}", dr("CveMovimiento"))) + 'ImgImprimirAlmacen.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", TempParametros) + + ImgImprimirAlmacen.Visible = True + ImgImprimirAlmacen.NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", dr("CveMovimiento")) + + Dim drt As DataRow + 'actualizo el almacen + For Each dri As DataRow In DtInv.Rows + + drt = Inv.DtResultados.FiltroPrimero(String.Format("CvePS = {0} AND Cantidad = {1}", dri("CvePS"), dri("Cantidad"))) + If drt IsNot Nothing Then + Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dri("Consec").ToString.ToEntero}")(0) 'Charlie + TmpDr("CveAlmacen") = drt("CveAlmacen") 'Charlie + + dri("CveAlmacen") = drt("CveAlmacen") + + End If + + Next + + End If + + 'Proceso Super Tramposo de Charlie + If Inv.GetMovimientosDetalle(dr("CveMovimiento").ToString.ToEntero, UsuarioActual.CveEmpresa, CveCompra:=-123) Then + Dim drt As DataRow + For Each dri As DataRow In DtInv.Rows + drt = Inv.DtResultados.FiltroPrimero(String.Format("CvePS = {0} AND Cantidad = {1}", dri("CvePS"), dri("Cantidad"))) + If drt IsNot Nothing Then + Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dri("Consec").ToString.ToEntero}")(0) + TmpDr("CveAlmacen") = drt("CveAlmacen") + End If + Next + End If + + Inv.Dispose() + + End If + + CargaGvInv() + + 'Ocultamos "Recibir Aqui" + GvInv.Columns(6).Visible = False + GvInv.Columns(7).Visible = False + + End If End If - End If - DdlTipoComprobante.Enabled = False + DdlTipoComprobante.Enabled = False DdlTipoComprobante.SelectedValue = dr("TipoDocto").ToString If dr("TipoDocto").ToString = "Fac" Then ChkAplicaNotaCredito.Enabled = True diff --git a/TareasProgramadas/Tareas119.ashx b/TareasProgramadas/Tareas119.ashx index 4fbb5489d..3ce799f59 100644 --- a/TareasProgramadas/Tareas119.ashx +++ b/TareasProgramadas/Tareas119.ashx @@ -273,188 +273,210 @@ 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); - - foreach (DataRow DRow in DTVentas.Rows) + try { - 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, 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: llenando archivo excel ventas. "); + int count = 2; + var wbVentas = new ClosedXML.Excel.XLWorkbook(FormatoVentas); + this.GuardaLog($"EjecutaThalamus: archivo excel ventas cargado. "); + this.GuardaLog($"EjecutaThalamus: archivo excel ventas creando sheet."); + var wsVentas = wbVentas.Worksheet(1); + this.GuardaLog($"EjecutaThalamus: archivo excel ventas sheet creada."); + + foreach (DataRow DRow in DTVentas.Rows) + { + 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, 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); + var wsAlmacenes = wbAlmacenes.Worksheet(1); + + 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(); + count++; + } + this.GuardaLog($"EjecutaThalamus: guardando archivo excel alamcenes " + RutaAlmacenes + " "); + wbAlmacenes.SaveAs(RutaAlmacenes); + + var wbAClientes = new ClosedXML.Excel.XLWorkbook(FormatoClientes); + var wsClientes = wbAClientes.Worksheet(1); + + count = 2; + + this.GuardaLog($"EjecutaThalamus: llenando archivo excel clientes. "); + foreach (DataRow DRow in DTClientes.Rows) + { + wsClientes.Cell(count, 1).Value = "'" + DRow["systemId"].ToString(); + wsClientes.Cell(count, 2).Value = DRow["fiscalIdMex"].ToString(); + wsClientes.Cell(count, 3).Value = DRow["fiscalName"].ToString(); + wsClientes.Cell(count, 4).Value = DRow["email"].ToString(); + wsClientes.Cell(count, 5).Value = DRow["address.countryId"].ToString(); + wsClientes.Cell(count, 6).Value = DRow["address.stateId"].ToString(); + wsClientes.Cell(count, 7).Value = DRow["address.city"].ToString(); + wsClientes.Cell(count, 8).Value = DRow["address.street1"].ToString(); + wsClientes.Cell(count, 9).Value = DRow["address.street2"].ToString(); + wsClientes.Cell(count, 10).Value = "'" + DRow["address.postalCode"].ToString(); + wsClientes.Cell(count, 11).Value = DRow["phone.intCode"].ToString(); + wsClientes.Cell(count, 12).Value = DRow["phone.areaCode"].ToString(); + wsClientes.Cell(count, 13).Value = "'" + DRow["phone.number"].ToString(); + wsClientes.Cell(count, 14).Value = DRow["salesman"].ToString(); + + 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(); + wsProductos.Cell(count, 2).Value = DRow["Nombre del Producto"].ToString(); + wsProductos.Cell(count, 3).Value = DRow["Presentación"].ToString(); + + count++; + } + this.GuardaLog($"EjecutaThalamus: guardando archivo excel productos " + RutaProductos + " "); + wbProductos.SaveAs(RutaProductos); + ///////////////////////////////////////////////////////////// + } - this.GuardaLog($"EjecutaThalamus: guardando archivo excel ventas " + RutaVentas + " "); - wbVentas.SaveAs(RutaVentas); - - var wbAlmacenes = new ClosedXML.Excel.XLWorkbook(FormatoAlmacenes); - var wsAlmacenes = wbAlmacenes.Worksheet(1); - - count = 2; - - this.GuardaLog($"EjecutaThalamus: llenando archivo excel almacenes. "); - foreach (DataRow DRow in DTAlmacenes.Rows) + catch (Exception ex) { - 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(); - count++; - } - this.GuardaLog($"EjecutaThalamus: guardando archivo excel alamcenes " + RutaAlmacenes + " "); - wbAlmacenes.SaveAs(RutaAlmacenes); - - var wbAClientes = new ClosedXML.Excel.XLWorkbook(FormatoClientes); - var wsClientes = wbAClientes.Worksheet(1); - - count = 2; - - this.GuardaLog($"EjecutaThalamus: llenando archivo excel clientes. "); - foreach (DataRow DRow in DTClientes.Rows) - { - wsClientes.Cell(count, 1).Value = "'" + DRow["systemId"].ToString(); - wsClientes.Cell(count, 2).Value = DRow["fiscalIdMex"].ToString(); - wsClientes.Cell(count, 3).Value = DRow["fiscalName"].ToString(); - wsClientes.Cell(count, 4).Value = DRow["email"].ToString(); - wsClientes.Cell(count, 5).Value = DRow["address.countryId"].ToString(); - wsClientes.Cell(count, 6).Value = DRow["address.stateId"].ToString(); - wsClientes.Cell(count, 7).Value = DRow["address.city"].ToString(); - wsClientes.Cell(count, 8).Value = DRow["address.street1"].ToString(); - wsClientes.Cell(count, 9).Value = DRow["address.street2"].ToString(); - wsClientes.Cell(count, 10).Value = "'" + DRow["address.postalCode"].ToString(); - wsClientes.Cell(count, 11).Value = DRow["phone.intCode"].ToString(); - wsClientes.Cell(count, 12).Value = DRow["phone.areaCode"].ToString(); - wsClientes.Cell(count, 13).Value = "'" + DRow["phone.number"].ToString(); - wsClientes.Cell(count, 14).Value = DRow["salesman"].ToString(); - - count++; + this.GuardaLog($"EjecutaThalamus: Error procesamiento archivos exel " + ex.StackTrace.ToString() + " "); + ErrorProceso = true; + Respuesta = false; } - 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) + if (!ErrorProceso) { - wsProductos.Cell(count, 1).Value = "'" + DRow["Código Producto Interno"].ToString(); - wsProductos.Cell(count, 2).Value = DRow["Nombre del Producto"].ToString(); - wsProductos.Cell(count, 3).Value = DRow["Presentación"].ToString(); + var FInfoProductos = new FileInfo(RutaProductos); + var FInfoVentas = new FileInfo(RutaVentas); + var FInfoClientes = new FileInfo(RutaClientes); + var FInfoAlmacenes = new FileInfo(RutaAlmacenes); - count++; - } - this.GuardaLog($"EjecutaThalamus: guardando archivo excel productos " + RutaProductos + " "); - wbProductos.SaveAs(RutaProductos); - ///////////////////////////////////////////////////////////// + bool CargaProductos = false; + bool CargaVentas = false; + bool CargaClientes = false; + bool CargaAlmacenes = false; - var FInfoProductos = new FileInfo(RutaProductos); - var FInfoVentas = new FileInfo(RutaVentas); - var FInfoClientes = new FileInfo(RutaClientes); - var FInfoAlmacenes = new FileInfo(RutaAlmacenes); - - bool CargaProductos = false; - bool CargaVentas = false; - bool CargaClientes = false; - bool CargaAlmacenes = false; - - SBLog.AppendLine("Cargas
    "); - SBLog.AppendLine(""); + SBLog.AppendLine("Cargas
    "); + SBLog.AppendLine("
    ArchivoEstado
    "); - this.GuardaLog($"EjecutaThalamus: Cargando archivo excel productos a FTP. "); - CargaProductos = CargarArchivos(FInfoProductos, FTPServer, TFPUsr, FTPPass); + 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); - } + if (CargaProductos) + { + this.GuardaLog($"EjecutaThalamus: Verificando archivo productos. "); + CargaProductos = VerificarArchivo(FInfoProductos, FInfoProductos.Length, FTPServer, TFPUsr, FTPPass); + } - if (CargaProductos) - { - SBLog.AppendLine($""); - } - else - { - SBLog.AppendLine($""); - } + if (CargaProductos) + { + SBLog.AppendLine($""); + } + else + { + SBLog.AppendLine($""); + } + + 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); + } + } - 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); + SBLog.AppendLine($""); + } + else + { + SBLog.AppendLine($""); } - } - if (CargaVentas) - { - SBLog.AppendLine($""); - } - else - { - SBLog.AppendLine($""); - } + 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); + } + } - 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); + SBLog.AppendLine($""); } - } - - if (CargaClientes) - { - SBLog.AppendLine($""); - } - else - { - SBLog.AppendLine($""); - } - - if (CargaProductos & CargaVentas & CargaClientes) - { - this.GuardaLog($"EjecutaThalamus: Cargando archivo excel almacenes a FTP. "); - CargaAlmacenes = CargarArchivos(FInfoAlmacenes, $"{FTPServer}/Stock", TFPUsr, FTPPass); - if (CargaClientes) + else { - this.GuardaLog($"EjecutaThalamus: Verificando archivo almacenes. "); - CargaAlmacenes = VerificarArchivo(FInfoAlmacenes, FInfoAlmacenes.Length, $"{FTPServer}/Stock", TFPUsr, FTPPass); + SBLog.AppendLine($""); } - } - if (CargaAlmacenes) - { - SBLog.AppendLine($""); - } - else - { - SBLog.AppendLine($""); - } + 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); + } + } + + if (CargaAlmacenes) + { + SBLog.AppendLine($""); + } + else + { + SBLog.AppendLine($""); + } - if (CargaProductos & CargaVentas & CargaClientes & CargaAlmacenes) - { - Respuesta = true; - } - else + if (CargaProductos & CargaVentas & CargaClientes & CargaAlmacenes) + { + Respuesta = true; + } + else + { + Respuesta = false; + } + + }else { Respuesta = false; } @@ -505,8 +527,8 @@ 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); From 7e7dbe28b84e96f48af0eb99d6702187e86fb4b8 Mon Sep 17 00:00:00 2001 From: JORGE LUIS CAUDILLO ESPARZA Date: Wed, 2 Dec 2020 13:41:41 -0700 Subject: [PATCH 08/18] --- App_Code/ClsClaseBase.vb | 93 ++++++++ Nomina/Aguinaldo.aspx | 97 +++++--- Nomina/Aguinaldo.aspx.cs | 479 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 635 insertions(+), 34 deletions(-) diff --git a/App_Code/ClsClaseBase.vb b/App_Code/ClsClaseBase.vb index a51bde5ba..d5857b782 100644 --- a/App_Code/ClsClaseBase.vb +++ b/App_Code/ClsClaseBase.vb @@ -120,6 +120,83 @@ Public Class ClsClaseBase SqlAdapter.SelectCommand.Parameters.Add(name, tipo).Value = valor End If End Sub + + Public Function runQuerystr(Query As String, Optional Listaparametros As List(Of parametroQuery) = Nothing, Optional msgError As String = "", Optional mostrarError As Boolean = True) As Boolean + Dim retorno As Boolean = False + Try + If SqlConexion.State = ConnectionState.Open Then + SqlAdapter.SelectCommand.Parameters.Clear() + SqlAdapter.SelectCommand.CommandText = Query + SqlAdapter.SelectCommand.CommandType = CommandType.Text + Data = New DataTable() + If Not IsNothing(Listaparametros) Then + For Each pr As parametroQuery In Listaparametros + If Not IsNothing(pr.SqlDataType) Then + If Not IsNothing(pr.ParameterDirection) Then + SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Direction = pr.ParameterDirection + Else + SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Value = If(Not IsNothing(pr.SqlValue), pr.SqlValue, DBNull.Value) + End If + Else + SqlAdapter.SelectCommand.Parameters.AddWithValue(pr.ParameterName, pr.SqlValue) + End If + Next + End If + + SqlAdapter.Fill(Data) + retorno = True + Else + Dim InfoAdicional As String = "Se intenta realizar una conexion con una conexion cerrada" + InfoAdicional = $"{InfoAdicional}{Environment.NewLine}{msgError}{Environment.NewLine}" + GuardaLog(InfoAdicional) + End If + Catch sqEx As SqlException + retorno = False + setOnError(msgError, sqEx) + Catch ex As Exception + retorno = False + setOnError(msgError, ex) + End Try + Return retorno + End Function + Public Function ExecQuery(Query As String, Optional Listaparametros As List(Of parametroQuery) = Nothing, Optional msgError As String = "", Optional mostrarError As Boolean = True) As Integer + Dim retorno As Integer = -1 + Try + If SqlConexion.State = ConnectionState.Open Then + SqlAdapter.SelectCommand.Parameters.Clear() + SqlAdapter.SelectCommand.CommandText = Query + SqlAdapter.SelectCommand.CommandType = CommandType.Text + If Not IsNothing(Listaparametros) Then + For Each pr As parametroQuery In Listaparametros + If Not IsNothing(pr.SqlDataType) Then + If Not IsNothing(pr.ParameterDirection) Then + SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Direction = pr.ParameterDirection + Else + SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Value = If(Not IsNothing(pr.SqlValue), pr.SqlValue, DBNull.Value) + End If + Else + SqlAdapter.SelectCommand.Parameters.AddWithValue(pr.ParameterName, pr.SqlValue) + End If + Next + End If + + retorno = SqlAdapter.SelectCommand.ExecuteNonQuery() + Else + Dim InfoAdicional As String = "Se intenta realizar una conexion con una conexion cerrada" + InfoAdicional = $"{InfoAdicional}{Environment.NewLine}{msgError}{Environment.NewLine}" + GuardaLog(InfoAdicional) + End If + Catch sqEx As SqlException + retorno = -1 + setOnError(msgError, sqEx) + Catch ex As Exception + retorno = -1 + setOnError(msgError, ex) + End Try + Return retorno + End Function + + Protected Function RunQuery(msgOnError As String) As Boolean Dim retorno As Boolean = False @@ -203,3 +280,19 @@ Public Class ClsClaseBase End Sub End Class + +Public Class parametroQuery + Public Sub New(parameterName As String, sqlValue As Object, Optional sqlDataType As SqlDbType = Nothing, Optional parameterDirection As ParameterDirection = Nothing) + Me.ParameterName = parameterName + Me.SqlDataType = sqlDataType + Me.ParameterDirection = parameterDirection + Me.SqlValue = sqlValue + + End Sub + + Public Property ParameterName As String + Public Property SqlDataType As SqlDbType + Public Property ParameterDirection As ParameterDirection + Public Property SqlValue As Object + +End Class \ No newline at end of file diff --git a/Nomina/Aguinaldo.aspx b/Nomina/Aguinaldo.aspx index a4f20fae3..456282339 100644 --- a/Nomina/Aguinaldo.aspx +++ b/Nomina/Aguinaldo.aspx @@ -3,6 +3,26 @@ + @@ -51,7 +71,7 @@
    -
    +
    @@ -59,35 +79,55 @@
    - Total Aguinaldo + Total aguinaldo
    -
    +
    -
    + +
    Autorizado
    -
    +
    -
    + +
    Días ejercicio
    +
    +
    +
    +
    +
    + +
    +
    + UMA +
    +
    +
    +
    +
    +
    +
    + +
    @@ -97,37 +137,31 @@ - + - + - + - + - + - + - + - + - + - + - - - - - - - + @@ -135,7 +169,13 @@ - + + + + + + + @@ -143,6 +183,7 @@ + <%-- @@ -174,7 +215,7 @@ diff --git a/Nomina/Aguinaldo.aspx.cs b/Nomina/Aguinaldo.aspx.cs index c0d0f5939..e1507fd52 100644 --- a/Nomina/Aguinaldo.aspx.cs +++ b/Nomina/Aguinaldo.aspx.cs @@ -1,7 +1,10 @@ using System; using System.Collections.Generic; +using System.Configuration; using System.Data; +using System.Data.SqlClient; using System.Linq; +using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; @@ -42,6 +45,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas DdlTipoPeriodo.SelectedIndex = 0; } } + LtlUma.Text = "86.88"; } @@ -58,13 +62,14 @@ public partial class Nomina_Aguinaldo : ClsPaginas DTAguinaldos = objnom.DtResultados; GVCalcularAguinaldo.DataSource = DTAguinaldos; LtlTotal.Text = string.Format("{0:N2}", DTAguinaldos.SUM("Aguinaldo")); - LtlAutorizado.Text = string.Format("{0:N2}", DTAguinaldos.SUM("Aguinaldo","CveNomina>0")); - + LtlAutorizado.Text = string.Format("{0:N2}", DTAguinaldos.SUM("Aguinaldo", "CveNomina>0")); + LtldiasEjercicio.Text = string.Format("{0}/12/31", ejercicio).ToDate().DayOfYear.ToString(); } GVCalcularAguinaldo.DataBind(); LnkAutorizarModal.Visible = true; + BtnRecalcular_Click(sender, null); upDatosPA_N.Update(); } private void CargaPeriodos() @@ -149,7 +154,7 @@ public partial class Nomina_Aguinaldo : ClsPaginas { continuar = false; Alert("debe agregar un concepto para el calculo del aguinaldo", ModExtensiones.TipoMensaje.ToastAdventencia); - } + } } if (continuar) { @@ -169,9 +174,9 @@ public partial class Nomina_Aguinaldo : ClsPaginas ImporteGravado = row["AguinaldoGravado"].ToString().ToDecimal(); ImporteExento = Importe - ImporteGravado; ImporteValor = row["DiasLaborados"].ToString().ToDecimal(); - - if (CvePersonal > 0 && Importe>0 && row["CveNomina"].ToString().ToEntero()==0) + + if (CvePersonal > 0 && Importe > 0 && row["CveNomina"].ToString().ToEntero() == 0) { if (objNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodoSeleccionado, -1, UsuarioActual.CveEmpresa)) { @@ -261,4 +266,466 @@ public partial class Nomina_Aguinaldo : ClsPaginas } } } -} \ No newline at end of file + + protected void BtnRecalcular_Click(object sender, EventArgs e) + { + decimal uma = 86.88m; + decimal aguiexentogral = uma * 30; + decimal salariodiario = 0; + decimal diasanio = 366; + decimal diaslaborados = 0; + decimal diasaguinaldo = 0; + decimal diasaguipago = 0; + decimal salariomensual = 0; + decimal aguinaldo = 0; + decimal aguinaldoexcento = 0; + decimal aguinaldogravado = 0; + decimal diasmes = 30.5m; + decimal FraccionI = 0; + decimal FraccionII_1 = 0; + decimal FraccionII_2 = 0; + decimal FraccionIII_1 = 0; + decimal FraccionIII_2 = 0; + decimal FraccionV = 0; + decimal FraccionIV = 0; + + decimal Aguinaldoapagar = 0; + decimal AguinaldoapagarTotal = 0; + StringBuilder str = new StringBuilder(); + using (ClsClaseBaseD objbase = new ClsClaseBaseD()) + { + + foreach (GridViewRow gvrow in GVCalcularAguinaldo.Rows) + { + salariodiario = gvrow.FCTextBox("TxtsueldoDiario").Text.ToDecimal(); + diaslaborados = gvrow.FCTextBox("TxtdiasLaborados").Text.ToDecimal(); + diasaguinaldo = gvrow.FCTextBox("TxtdiasAguinaldo").Text.ToDecimal(); + if (salariodiario > 0) + { + + diasaguipago = (diaslaborados / diasanio) * diasaguinaldo; + salariomensual = salariodiario * 30; + aguinaldo = diasaguipago * salariodiario; + aguinaldoexcento = (aguiexentogral > aguinaldo ? aguinaldo : aguiexentogral); + aguinaldogravado = aguinaldo - aguinaldoexcento; + if (aguinaldogravado > 0) { + FraccionI = (aguinaldogravado / diasanio) * diasmes; + FraccionII_1 = salariomensual + FraccionI; + str.Clear(); + str.AppendFormat("SELECT dbo.Fnc_NomValues(40, 0, 00, -1, {0}, {1}, {1}) isrFraccionII_2,", FraccionII_1, diasmes); + str.AppendFormat(" dbo.Fnc_NomValues(40, 0, 00, -1, {0}, {1}, {1}) isrFraccionIII_1", salariomensual, diasmes); + if (objbase.runQuerystr(str.ToString())) + { + DataRow drow = objbase.DtResultados.Rows[0]; + FraccionII_2 = drow["isrFraccionII_2"].ToString().ToDecimal(); + FraccionIII_1 = drow["isrFraccionIII_1"].ToString().ToDecimal(); + } + else { break; } + + FraccionIII_2 = FraccionII_2 - FraccionIII_1; + FraccionV = FraccionIII_2 / FraccionI; + FraccionIV = aguinaldogravado * FraccionV; + Aguinaldoapagar = aguinaldo - FraccionIV; + } + else + { + + FraccionIV = 0; + Aguinaldoapagar = aguinaldo - FraccionIV; + } + } + else + { + aguinaldo = 0; + Aguinaldoapagar = 0; + aguinaldogravado = 0; + FraccionIV = 0; + } + AguinaldoapagarTotal += Aguinaldoapagar; + gvrow.FCLabel("lblsueldoAguinaldoCompleto").Text = string.Format("${0:N2}", aguinaldo); + gvrow.FCLabel("lblAguinaldo").Text = string.Format("${0:N2}", Aguinaldoapagar); + gvrow.FCLabel("lblAguinaldoGravado").Text = string.Format("${0:N2}", aguinaldogravado); + gvrow.FCLabel("lblISRAguinaldo").Text = string.Format("${0:N2}", FraccionIV); + } + + } + LtlTotal.Text =string.Format("${0:N2}", AguinaldoapagarTotal); + + /* + * + * + + lblAguinaldo + lblAguinaldoGravado + lblISRAguinaldo + + salario diario +dias año +Dias laborados +dias Aguinaldo +dias aguinaldo(PAGO) +UMA +Salario mensual +Aguinaldo +Aguinaldo excento +Aguinaldo gravado + +dias mes +FraccionI +FraccionII +FraccionII +FraccionIII +FraccionIII +FraccionV +FraccionIV + +Aguinaldoapagar + + + + + * + */ + } +} + + class ClsClaseBaseD : IDisposable +{ + protected SqlConnection SqlConexion; + protected SqlDataAdapter SqlAdapter; + protected DataTable datos; + protected DataSet DTSet; + public DataTable DtResultados + { + get + { + return datos; + } + } + public DataSet DTSetResultados + { + get + { + return DTSet; + } + } + protected bool disposedValue = false; + protected bool EsTransaccion = false; + public string MyCurrentError; + // REGISTRAR CONEXIÓN + private int CveConexion = 0; + + public ClsClaseBaseD(ClsClaseBaseD adsObj = null) + { + if (adsObj != null && adsObj.SqlAdapter != null && adsObj.SqlAdapter.SelectCommand != null && adsObj.SqlAdapter.SelectCommand.Transaction != null) + { + SqlConexion = adsObj.SqlConexion; + SqlAdapter = adsObj.SqlAdapter; + EsTransaccion = true; + } + else + { + SqlConexion = new SqlConnection(); + SqlConexion.ConnectionString = ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString; + try + { + SqlConexion.Open(); + SqlAdapter = new SqlDataAdapter("", SqlConexion); + ConexionAdd(); + } + catch (Exception ex) + { + this.OnError("Ocurrió un error al intentar conectarse a la base de datos.", ex); + } + } + } + + public void SqlDataAdapter(string StrSQL, CommandType TipoComando = CommandType.StoredProcedure) + { + if (SqlConexion.State == ConnectionState.Open) + { + SqlAdapter.SelectCommand.Parameters.Clear(); + SqlAdapter.SelectCommand.CommandText = StrSQL; + SqlAdapter.SelectCommand.CommandType = TipoComando; + datos = new DataTable(); + DTSet = new DataSet(); + } + } + protected void DataAdapter(string StrSQL, CommandType TipoComando = CommandType.Text) + { + + // if (SqlAdapter.SelectCommand == null) + // { + // if ((sqlCommand != null)) + // { + // SqlAdapter.SelectCommand = sqlCommand; + // } + // else + // { + // SqlAdapter.SelectCommand = new SqlCommand(); + // } + // SqlAdapter.SelectCommand.Connection = SqlConexion; + // } + + if (SqlConexion.State == ConnectionState.Open) + { + SqlAdapter.SelectCommand.Parameters.Clear(); + SqlAdapter.SelectCommand.CommandText = StrSQL; + SqlAdapter.SelectCommand.CommandType = TipoComando; + datos = new DataTable(); + DTSet = new DataSet(); + } + } + + private void ConexionAdd() + { + if (ConfigurationManager.AppSettings["RegistraConexion"] != null && ConfigurationManager.AppSettings["RegistraConexion"].ToString() == "1") + { + try + { + SqlDataAdapter("PA_Sis_RegistrarConexion"); + { + var withBlock = SqlAdapter.SelectCommand.Parameters; + withBlock.Add("@Clase", SqlDbType.VarChar).Value = this.GetType().Name; + withBlock.Add("@Modulo", SqlDbType.VarChar).Value = string.Format("{0}?{1}", HttpContext.Current.Request.Url.AbsolutePath.ToString(), HttpContext.Current.Request.QueryString.ToString()); + withBlock.Add("@IDConexion", SqlDbType.Int).Direction = ParameterDirection.Output; + } + SqlAdapter.Fill(datos); + CveConexion = SqlAdapter.SelectCommand.Parameters["@IDConexion"].Value.ToString().ToEntero(); + } + catch (Exception ex) + { + this.OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()); + } + } + } + + private void ConexionClose() + { + if (CveConexion > 0 && ConfigurationManager.AppSettings["RegistraConexion"] != null && ConfigurationManager.AppSettings["RegistraConexion"].ToString() == "1") + { + SqlDataAdapter(string.Format("UPDATE Sis_Conexiones SET FechaCierre = GETDATE() WHERE CveConexion = {0}", CveConexion), CommandType.Text); + + try + { + SqlAdapter.Fill(datos); + } + catch (Exception ex) + { + this.OnError("Ocurrió un error registrar la conexión.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()); + } + CveConexion = 0; + } + } + protected void addParameters(string name, SqlDbType tipo, object valor) + { + if (SqlConexion.State == ConnectionState.Open) + SqlAdapter.SelectCommand.Parameters.Add(name, tipo).Value = valor; + } + + public bool runQuerystr(string Query, List Listaparametros = null, string msgError = "", bool mostrarError = true) + { + bool retorno = false; + try + { + if (SqlConexion.State == ConnectionState.Open) + { + SqlAdapter.SelectCommand.Parameters.Clear(); + SqlAdapter.SelectCommand.CommandText = Query; + SqlAdapter.SelectCommand.CommandType = CommandType.Text; + datos = new DataTable(); + if (Listaparametros!= null) + { + foreach (parametroQuery pr in Listaparametros) + { + if (pr.SqlDataType != null) + { + if (pr.ParameterDirection != null) + SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Direction = pr.ParameterDirection; + else + SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Value = pr.SqlValue != null ? pr.SqlValue : DBNull.Value; + } + else + SqlAdapter.SelectCommand.Parameters.AddWithValue(pr.ParameterName, pr.SqlValue); + } + } + + SqlAdapter.Fill(datos); + retorno = true; + } + else + { + string InfoAdicional = "Se intenta realizar una conexion con una conexion cerrada"; + InfoAdicional = $"{InfoAdicional}{Environment.NewLine}{msgError}{Environment.NewLine}"; + ModExtensiones.GuardaLog(InfoAdicional); + } + } + catch (SqlException sqEx) + { + retorno = false; + setOnError(msgError, sqEx); + } + catch (Exception ex) + { + retorno = false; + setOnError(msgError, ex); + } + return retorno; + } + public int ExecQuery(string Query, List Listaparametros = null, string msgError = "", bool mostrarError = true) + { + int retorno = -1; + try + { + if (SqlConexion.State == ConnectionState.Open) + { + SqlAdapter.SelectCommand.Parameters.Clear(); + SqlAdapter.SelectCommand.CommandText = Query; + SqlAdapter.SelectCommand.CommandType = CommandType.Text; + if (Listaparametros!= null) + { + foreach (parametroQuery pr in Listaparametros) + { + if ( pr.SqlDataType != null) + { + if ( pr.ParameterDirection != null) + SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Direction = pr.ParameterDirection; + else + SqlAdapter.SelectCommand.Parameters.Add(pr.ParameterName, pr.SqlDataType).Value = pr.SqlValue != null ? pr.SqlValue : DBNull.Value; + } + else + SqlAdapter.SelectCommand.Parameters.AddWithValue(pr.ParameterName, pr.SqlValue); + } + } + + retorno = SqlAdapter.SelectCommand.ExecuteNonQuery(); + } + else + { + string InfoAdicional = "Se intenta realizar una conexion con una conexion cerrada"; + InfoAdicional = $"{InfoAdicional}{Environment.NewLine}{msgError}{Environment.NewLine}"; + this.GuardaLog(InfoAdicional); + } + } + catch (SqlException sqEx) + { + retorno = -1; + setOnError(msgError, sqEx); + } + catch (Exception ex) + { + retorno = -1; + setOnError(msgError, ex); + } + return retorno; + } + + + protected bool RunQuery(string msgOnError) + { + bool retorno = false; + + try + { + SqlAdapter.Fill(datos); + retorno = true; + } + catch (Exception ex) + { + retorno = false; + + setOnError(msgOnError, ex); + } + return retorno; + } + protected bool RunQueryDS(string msgOnError) + { + bool retorno = false; + + try + { + SqlAdapter.Fill(DTSet); + retorno = true; + } + catch (Exception ex) + { + retorno = false; + + setOnError(msgOnError, ex); + } + return retorno; + } + public void setOnError(string Mensaje, Exception Exeption) + { + string InfoAdicional = ""; + if (SqlAdapter != null && SqlAdapter.SelectCommand != null && SqlAdapter.SelectCommand.Parameters != null) + InfoAdicional = SqlAdapter.SelectCommand.Parameters.ParametrosInfo(); + MyCurrentError = string.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", Mensaje, Exeption.ToString(), "\r\n", InfoAdicional); + this.OnError(Mensaje, Exeption, InfoAdicional); + } + public void IniciaTransacSQL() + { + SqlAdapter.SelectCommand.Transaction = SqlConexion.BeginTransaction(); + EsTransaccion = true; + } + + public void Commit() + { + SqlAdapter.SelectCommand.Transaction.Commit(); + SqlConexion.Close(); + } + + public void RollBack() + { + SqlAdapter.SelectCommand.Transaction.Rollback(); + SqlConexion.Close(); + } + public void Dispose() + { + ConexionClose(); + if ((SqlConexion != null)) + { + if (SqlConexion.State == ConnectionState.Open) + { + try + { + if ((SqlAdapter != null)) + SqlAdapter.Dispose(); + + SqlConexion.Close(); + } + catch (Exception ex) + { + this.OnError("Ocurrió un error al intentar cerrar la base de datos.", ex); + } + } + SqlConexion.Dispose(); + } + + if (datos != null) + datos.Dispose(); + if (SqlAdapter != null) + SqlAdapter.Dispose(); + + if (DTSet != null) + DTSet.Dispose(); + + GC.SuppressFinalize(this); + } +} + +public class parametroQuery +{ + public parametroQuery(string parameterName, object sqlValue, SqlDbType sqlDataType = default(SqlDbType), ParameterDirection parameterDirection = default(ParameterDirection)) + { + this.ParameterName = parameterName; + this.SqlDataType = sqlDataType; + this.ParameterDirection = parameterDirection; + this.SqlValue = sqlValue; + } + + public string ParameterName { get; set; } + public SqlDbType SqlDataType { get; set; } + public ParameterDirection ParameterDirection { get; set; } + public object SqlValue { get; set; } +} From e714e816a665607c9ffbe0394baa820d60b40ae6 Mon Sep 17 00:00:00 2001 From: Rakcsle Supertramp Date: Wed, 2 Dec 2020 17:03:17 -0700 Subject: [PATCH 09/18] Contratos 2020-12-02 --- Contratos/ContratoAvance.aspx | 392 ++++++++++++++++--------------- Contratos/ContratoAvance.aspx.vb | 165 +++++++------ Contratos/ContratoObra.aspx | 131 +++++------ 3 files changed, 352 insertions(+), 336 deletions(-) diff --git a/Contratos/ContratoAvance.aspx b/Contratos/ContratoAvance.aspx index f52875650..1ad582236 100644 --- a/Contratos/ContratoAvance.aspx +++ b/Contratos/ContratoAvance.aspx @@ -45,200 +45,210 @@ - + + + + +
    +
    +
    + +
    +
    + + + +
    +
    + + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + +
    + +
    + Fecha: +
    +
    +
    + + + + + + + + + + +
    +
    + + +
    +
    + " style="display: inline-block; margin-right: -20px; width: 150px; height: 25px; border-color: #89C4F4;" /> + " class="btn btn-circle btn-sm label-info"> +
    + +
    + +
    +
    + +
    ArchivoEstado
    Productosok
    ProductosError carga
    Productosok
    ProductosError carga
    Ventasok
    VentasError carga
    Ventasok
    VentasError carga
    Clientesok
    Clientesok
    ClientesError carga
    ClientesError carga
    Almacenesok
    AlmacenesError carga
    Almacenesok
    AlmacenesError carga
    + + + + + + + + + + + + + + + + + + + +
    Producto / ServicioAvanceUltimo AvanceLevantamientoAnexo
    + +
    +
    + + + + + + + + + + + + + <%# Eval("Abreviatura")%> + + + + + + <%# Eval("Cantidad", "{0:N2}")%> + + + + + + <%# Eval("Importe", "{0:N2}")%> + + + + + <%# Eval("Cantidad_Ultima", "{0:N2}")%> + + + + + <%# Eval("Importe_Ultima", "{0:N2}")%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    + + + + + + + + +<%-- - - -
    -
    -
    - -
    -
    - - - -
    -
    - - -
    -
    -
    - - -
    -
    -
    -
    -
    -
    - - -
    - -
    - Fecha: -
    -
    -
    - - - - - - - - - - -
    -
    - - -
    - -
    - - -
    -
    - - - - - - - - - - - - - - - - - - - - - -
    Producto / ServicioAvanceUltimo AvanceLevantamientoAnexo
    - -
    -
    - - - - - - - - - - - - - <%# Eval("Abreviatura")%> - - - - - - <%# Eval("Cantidad", "{0:N2}")%> - - - - - - <%# Eval("Importe", "{0:N2}")%> - - - - - <%# Eval("Cantidad_Ultima", "{0:N2}")%> - - - - - <%# Eval("Importe_Ultima", "{0:N2}")%> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - - -
    - -
    - - -
    -
    +
    @@ -341,7 +351,7 @@ -
    + --%> diff --git a/Contratos/ContratoAvance.aspx.vb b/Contratos/ContratoAvance.aspx.vb index 66c961842..15d5ccce3 100644 --- a/Contratos/ContratoAvance.aspx.vb +++ b/Contratos/ContratoAvance.aspx.vb @@ -138,8 +138,8 @@ Partial Class Contratos_ContratoAvance DdlContratos.DataSource = GlobalDTContratos.FiltraParametros(String.Format($"CveContratoTipo in (30,31) AND CveEmpresa = {UsuarioActual.CveEmpresa}")) DdlContratos.DataBind() - DDlContratosEstimaciones.DataSource = GlobalDTContratos.FiltraParametros(String.Format($"CveContratoTipo in (30,31) AND CveEmpresa = {UsuarioActual.CveEmpresa}")) - DDlContratosEstimaciones.DataBind() + 'DDlContratosEstimaciones.DataSource = GlobalDTContratos.FiltraParametros(String.Format($"CveContratoTipo in (30,31) AND CveEmpresa = {UsuarioActual.CveEmpresa}")) + 'DDlContratosEstimaciones.DataBind() End Sub @@ -207,7 +207,7 @@ Partial Class Contratos_ContratoAvance If e.Row.DataKey("CveContratoDetalle").ToEntero > 0 Then Dim LnkAnexo As LinkButton = e.Row.FCLinkButton("LnkModalDropzone") - 'LnkAnexo.Visible = True + Dim DVAnexo As Control = DirectCast(e.Row.FindControl("ModalAnexoEvidencia"), Control) LnkAnexo.OnClientClick = $" $('#{DVAnexo.ClientID}').modal('show'); return false;" @@ -220,9 +220,20 @@ Partial Class Contratos_ContratoAvance Dim LnkGuardarAvance As LinkButton = e.Row.FCLinkButton("LnkGuardarAvance") LnkGuardarAvance.Visible = True + + If e.Row.DataKey("CantidadMax").ToDouble = 0 Then + LnkAnexo.Visible = False + e.Row.FCTextBox("TxtCantidad").Visible = False + LnkGuardarAvance.Visible = False + + End If + End If + + + End If End Sub Protected Sub GetAnexos(sender As Object, e As System.EventArgs) @@ -432,120 +443,120 @@ Partial Class Contratos_ContratoAvance #Region "ESTIMACION" - Private Sub CargaAvancesParaEstimar() - CveContratoEstimacion = -1 + 'Private Sub CargaAvancesParaEstimar() + ' CveContratoEstimacion = -1 - Dim ObjContratos As New ClsContratos() - Dim DTEstimaciones As New DataTable - Dim NumeroEstimacionActual As Integer = 0 + ' Dim ObjContratos As New ClsContratos() + ' Dim DTEstimaciones As New DataTable + ' Dim NumeroEstimacionActual As Integer = 0 - If ObjContratos.GetContratosAvanceEstimacion(DDlContratosEstimaciones.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1) Then - DTEstimaciones = ObjContratos.DtResultados + ' If ObjContratos.GetContratosAvanceEstimacion(DDlContratosEstimaciones.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1) Then + ' DTEstimaciones = ObjContratos.DtResultados - CveContratoEstimacion = DDlContratosEstimaciones.SelectedValue.ToEntero + ' CveContratoEstimacion = DDlContratosEstimaciones.SelectedValue.ToEntero - End If + ' End If - ObjContratos.Dispose() + ' ObjContratos.Dispose() - If DTEstimaciones.Rows.Count > 0 Then - GvEstimaciones.DataSource = DTEstimaciones - BtnGuardarEstimacion.Visible = True - Else - GvEstimaciones.DataSource = Nothing - BtnGuardarEstimacion.Visible = False - End If - GvEstimaciones.DataBind() + ' If DTEstimaciones.Rows.Count > 0 Then + ' GvEstimaciones.DataSource = DTEstimaciones + ' BtnGuardarEstimacion.Visible = True + ' Else + ' GvEstimaciones.DataSource = Nothing + ' BtnGuardarEstimacion.Visible = False + ' End If + ' GvEstimaciones.DataBind() - UpEstimaciones.Update() - End Sub + ' UpEstimaciones.Update() + 'End Sub - Private Sub BtnConsultarEstimaciones_Click(sender As Object, e As EventArgs) Handles BtnConsultarEstimaciones.Click + 'Private Sub BtnConsultarEstimaciones_Click(sender As Object, e As EventArgs) Handles BtnConsultarEstimaciones.Click - CargaAvancesParaEstimar() + ' CargaAvancesParaEstimar() - End Sub + 'End Sub - Private Sub GvEstimaciones_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEstimaciones.RowDataBound + 'Private Sub GvEstimaciones_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEstimaciones.RowDataBound - If e.Row.RowType = DataControlRowType.DataRow Then + ' If e.Row.RowType = DataControlRowType.DataRow Then - If e.Row.DBCampo("CveContratoDetalle").ToString.ToEntero = 0 Then + ' If e.Row.DBCampo("CveContratoDetalle").ToString.ToEntero = 0 Then - If e.Row.DBCampo("CveSubFamilias").ToString.ToEntero = 0 Then - If e.Row.DBCampo("CveFamilias").ToString.ToEntero = 0 Then - e.Row.CssClass = "SubTotales" - Else - e.Row.CssClass = "SubTotales2" - End If - Else - e.Row.CssClass = "SubTotales3" - End If - End If - End If + ' If e.Row.DBCampo("CveSubFamilias").ToString.ToEntero = 0 Then + ' If e.Row.DBCampo("CveFamilias").ToString.ToEntero = 0 Then + ' e.Row.CssClass = "SubTotales" + ' Else + ' e.Row.CssClass = "SubTotales2" + ' End If + ' Else + ' e.Row.CssClass = "SubTotales3" + ' End If + ' End If + ' End If - End Sub + 'End Sub - Private Sub BtnGuardarEstimacion_Click(sender As Object, e As EventArgs) Handles BtnGuardarEstimacion.Click + 'Private Sub BtnGuardarEstimacion_Click(sender As Object, e As EventArgs) Handles BtnGuardarEstimacion.Click - CveEstimacionNueva = -1 - NuemeroEstimacionNuevo = -1 + ' CveEstimacionNueva = -1 + ' NuemeroEstimacionNuevo = -1 - Dim ObjContratos As New ClsContratos() - Dim ErrorProceso As Boolean = False + ' Dim ObjContratos As New ClsContratos() + ' Dim ErrorProceso As Boolean = False - ObjContratos.IniciaTransacSQL() + ' ObjContratos.IniciaTransacSQL() - If ObjContratos.AddContratosAvanceEstimacion(CveContratoEstimacion, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + ' If ObjContratos.AddContratosAvanceEstimacion(CveContratoEstimacion, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - CveEstimacionNueva = ObjContratos.CveEstimacionNueva - NuemeroEstimacionNuevo = ObjContratos.NumeroEstimacionNueva + ' CveEstimacionNueva = ObjContratos.CveEstimacionNueva + ' NuemeroEstimacionNuevo = ObjContratos.NumeroEstimacionNueva - For Each GvRow As GridViewRow In GvEstimaciones.Rows + ' For Each GvRow As GridViewRow In GvEstimaciones.Rows - If GvRow.DataKey("CveContratoAvance").ToEntero > 0 Then - If Not ObjContratos.UpdateContratosAvanceEstimacion(GvRow.DataKey("CveContratoAvance").ToEntero, ObjContratos.CveEstimacionNueva, UsuarioActual.CveEmpresa) Then - ErrorProceso = True - Exit For - End If - End If - Next + ' If GvRow.DataKey("CveContratoAvance").ToEntero > 0 Then + ' If Not ObjContratos.UpdateContratosAvanceEstimacion(GvRow.DataKey("CveContratoAvance").ToEntero, ObjContratos.CveEstimacionNueva, UsuarioActual.CveEmpresa) Then + ' ErrorProceso = True + ' Exit For + ' End If + ' End If + ' Next - Else - ErrorProceso = True - End If + ' Else + ' ErrorProceso = True + ' End If - 'AddContratosAvanceEstimacion - 'UpdateContratosAvanceEstimacion + ' 'AddContratosAvanceEstimacion + ' 'UpdateContratosAvanceEstimacion - If Not ErrorProceso Then - ObjContratos.Commit() - Alert($"Estimación {NuemeroEstimacionNuevo} agregada correctamente.") + ' If Not ErrorProceso Then + ' ObjContratos.Commit() + ' Alert($"Estimación {NuemeroEstimacionNuevo} agregada correctamente.") - BtnGuardarEstimacion.Visible = False - BtnDescargarGenerado.Visible = True + ' BtnGuardarEstimacion.Visible = False + ' BtnDescargarGenerado.Visible = True - Else - ObjContratos.RollBack() - End If + ' Else + ' ObjContratos.RollBack() + ' End If - ObjContratos.Dispose() + ' ObjContratos.Dispose() - UpEstimaciones.Update() - End Sub + ' UpEstimaciones.Update() + 'End Sub - Private Sub BtnDescargarGenerado_Click(sender As Object, e As EventArgs) Handles BtnDescargarGenerado.Click + 'Private Sub BtnDescargarGenerado_Click(sender As Object, e As EventArgs) Handles BtnDescargarGenerado.Click - GeneraAnexo(CveEstimacionNueva, NuemeroEstimacionNuevo, Now, DDlContratosEstimaciones.SelectedItem.Text) + ' GeneraAnexo(CveEstimacionNueva, NuemeroEstimacionNuevo, Now, DDlContratosEstimaciones.SelectedItem.Text) - End Sub + 'End Sub Private Sub GeneraAnexo(CveEstimacion As Integer, NumeroEstimacion As Integer, FechaEstimacion As Date, NumeroContrato As String) diff --git a/Contratos/ContratoObra.aspx b/Contratos/ContratoObra.aspx index 86f5165e3..d56c9c6bc 100644 --- a/Contratos/ContratoObra.aspx +++ b/Contratos/ContratoObra.aspx @@ -320,24 +320,20 @@
    Datos del Contrato
    -
    - - - - +
    - -
    + +
    - -
    + +
    @@ -345,16 +341,16 @@
    - -
    + +
    -