From 756c92cd69318679e999cbb4e2cc2c15f3a8586b Mon Sep 17 00:00:00 2001 From: rakcsle Date: Sat, 29 Mar 2025 08:42:54 -0700 Subject: [PATCH] Compras correcion total al actualizar compra ya registrada --- App_WebReferences/GrowerService/service.disco | 6 + .../GrowerService/service.discomap | 7 + App_WebReferences/GrowerService/service.wsdl | 350 ++++++++++++++++++ Ashx/E158.ashx | 169 +++++++++ Compras/Compras.aspx.vb | 4 +- 5 files changed, 535 insertions(+), 1 deletion(-) create mode 100644 App_WebReferences/GrowerService/service.disco create mode 100644 App_WebReferences/GrowerService/service.discomap create mode 100644 App_WebReferences/GrowerService/service.wsdl create mode 100644 Ashx/E158.ashx diff --git a/App_WebReferences/GrowerService/service.disco b/App_WebReferences/GrowerService/service.disco new file mode 100644 index 000000000..ee543b932 --- /dev/null +++ b/App_WebReferences/GrowerService/service.disco @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/App_WebReferences/GrowerService/service.discomap b/App_WebReferences/GrowerService/service.discomap new file mode 100644 index 000000000..a7281ccc9 --- /dev/null +++ b/App_WebReferences/GrowerService/service.discomap @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/App_WebReferences/GrowerService/service.wsdl b/App_WebReferences/GrowerService/service.wsdl new file mode 100644 index 000000000..487453d24 --- /dev/null +++ b/App_WebReferences/GrowerService/service.wsdl @@ -0,0 +1,350 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Ashx/E158.ashx b/Ashx/E158.ashx new file mode 100644 index 000000000..9ca13d1cc --- /dev/null +++ b/Ashx/E158.ashx @@ -0,0 +1,169 @@ +<%@ WebHandler Language="VB" Class="E158" %> + +Imports System +Imports System.Web +Imports System.Data +Imports Newtonsoft.Json +Imports Newtonsoft.Json.Linq +Imports Extensiones +Imports System.IO +Imports CrystalDecisions.CrystalReports.Engine +Imports CrystalDecisions.Shared +Imports Microsoft.Reporting.WebForms +Imports System.Threading +Imports System.Threading.Tasks +Imports System.Net.Http +Imports System.Net.Http.Headers +Imports SharpCompress.Archive.Rar +Imports SharpCompress.Common +Imports SharpCompress.Reader +Imports System.Xml +'Imports ADSistemaLibrary.SatXml +'Imports ADSistemaLibrary.SatXml.XmlSatCFDI +Imports System.Diagnostics +Imports System.Drawing +Imports System.Drawing.Imaging + + + +Public Class E158 : Implements IHttpHandler, IReadOnlySessionState + + + Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable + Get + Return False + End Get + End Property + + Private currentcontext As HttpContext + Private URLParametros As New Hashtable + Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest + context.Response.ContentType = "text/plain" + currentcontext = context + Dim retorno As String = "no se encontro la variable" + Try + Dim metodo As String = "" + Dim FechaActual As DateTime = ClsPaginas.NowADS() + Dim FechaEnvio As DateTime = FechaActual + + If context.Request("var") IsNot Nothing Then + URLParametros = Parametros(context.Request("var")) + metodo = URLParametros("metodo").ToString + 'SI TRAE UN JSON COMO PARAMETRO + ElseIf context.Request("metodo") IsNot Nothing Then + metodo = context.Request("metodo").ToString() + If context.Request("FechaEnvio") IsNot Nothing Then + FechaEnvio = context.Request("FechaEnvio").ToString().ToDateTime() + End If + End If + + Select Case metodo + Case "PreciosVentaCultivo" + Dim tCveEmpresa As Integer = context.Request("CveEmpresa").ToString.ToEntero + If PreciosVentaCultivo(tCveEmpresa, context) Then + retorno = "OK" + Else + retorno = "Error" + End If + + context.Response.Write(retorno) + End Select + Catch ex As Exception + ex.GuardaLog(ex.ToString()) + context.Response.Write(retorno) + End Try + + End Sub + + Private Function PreciosVentaCultivo(ByVal CveEmpresa As Integer, ByVal context As HttpContext) As Boolean + Dim Respuesta As Boolean = False + Dim Usuario As Usuario = ValidaUsuarioSistema(100, CveEmpresa) + + ' Crear una instancia del servicio web + Dim wsservice As New GrowerService.Service() + wsservice.Url = "http://webservices.optimaproduce.net/GrowerService/service.asmx" + + ' Llamar al método GetSales con los parámetros necesarios + + Dim Parametro1 As Integer = 9 + Dim Parametro2 As Integer = 1 + Dim Parametro3 As Integer = 43 + Dim Parametro4 As Integer = 0 '–batchid de una liquidación – 0 Todos + Dim Parametro5 As Integer = 3 '– Para agropecuaria Jam + Dim Parametro6 As Integer = 0 + Dim Parametro6Date As Date = Now.AddDays(-3) + + 'Dim DTresp As DataTable = wsservice.GetSales(Parametro1, Parametro2, Parametro3, Parametro4, Parametro5, Parametro6) + 'DTresp.WriteXml("C:\temp\GrowerService\Sales.xml", XmlWriteMode.WriteSchema) + + 'Dim DTAdjustements As DataTable = wsservice.GetAdjustements(Parametro1, Parametro2, Parametro4, Parametro5, Parametro6) + 'DTAdjustements.WriteXml("C:\temp\GrowerService\Adjustements.xml", XmlWriteMode.WriteSchema) + + + + 'Dim DTGeneralExpenses As DataTable = wsservice.GetGeneralExpenses(Parametro1, Parametro2, Parametro3, Parametro4, Parametro5, Parametro6, expenseID:=) + 'DTGeneralExpenses.WriteXml("C:\temp\GrowerService\GeneralExpenses.xml", XmlWriteMode.WriteSchema) + + 'Dim DTLotexpenses As DataTable = wsservice.GetLotExpenses(Parametro1, Parametro2, Parametro3, Parametro4, Parametro5, Parametro6, expenseID:=) + 'DTLotexpenses.WriteXml("C:\temp\GrowerService\Lotexpenses.xml", XmlWriteMode.WriteSchema) + + Dim DTTodayInvoices As DataTable = wsservice.GetTodayInvoices(Parametro1, Parametro2, Parametro3, Parametro4, Parametro5, Parametro6Date, ContractFilter:=1) + DTTodayInvoices.WriteXml("C:\temp\GrowerService\TodayInvoices.xml", XmlWriteMode.WriteSchema) + + Dim InvParametro1 As Integer = 9 + Dim InvParametro2 As Integer = 1 + Dim InvParametro3 As Date = Now.AddDays(-3) ' “01/01/2025” '- ldDate + Dim InvParametro4 As Integer = 3 '- PackerID + Dim InvParametro5 As Integer = 0 ' - GrowerID + Dim InvParametro6 As Integer = 0 '- LabelID(0 = Todos) + Dim InvParametro7 As String = ”E” '- Language + + 'Dim DTIntentoryActivity As DataTable = wsservice.GetInventoryActivity(InvParametro1, InvParametro2, InvParametro3, InvParametro4, InvParametro5, InvParametro6, InvParametro7) + 'DTIntentoryActivity.WriteXml("C:\temp\GrowerService\IntentoryActivity.xml", XmlWriteMode.WriteSchema) + + + + + + Return Respuesta + End Function + + + Private Function ValidaUsuarioSistema(CveUsuario As Integer, CveEmpresa As Integer) As Usuario + Dim UsuarioActual As Usuario = Nothing + Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa) + Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena) + UsuarioActual = ObjUsuarios.GetUsuarioDetalle(CveUsuario, CveEmpresa) + If UsuarioActual IsNot Nothing Then + HttpContext.Current.Session("UsuarioSIG") = UsuarioActual + 'CreaObjetoEmpresa(UsuarioActual) + End If + ObjUsuarios.Dispose() + + Return UsuarioActual + End Function + + Private Function Parametros(Cadena As String) As Hashtable + Cadena = Decripta(Cadena) + 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(), P2(1)) + Next + Return URLParametros + End Function + + +End Class + + + + + + + diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 1c656dea0..784aaecf0 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -17381,7 +17381,9 @@ Partial Class Compras_Compras If TxtIEPS.Text.ToDouble > 0 Then TrIEPS.Visible = True End If If TxtDescuento.Text.ToDouble > 0 Then TrDescuento.Visible = True - If ActualizaTotales And UsuarioActual.CveEmpresa = 72 Then TxtTotal.Text = Total.ToString.FormatoNumero() + 'If ActualizaTotales And UsuarioActual.CveEmpresa = 72 Then + TxtTotal.Text = Total.ToString.FormatoNumero() + 'End If Else TxtSubTotal.Text = SubTotal.ToString.FormatoNumero() TxtSubTotal2.Text = SubTotal2.ToString.FormatoNumero()