Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -917,7 +917,14 @@ Public Class Timbrado
|
|||||||
.NumParcialidad = VentaNumParcialidad,
|
.NumParcialidad = VentaNumParcialidad,
|
||||||
.ObjetoImpuesto = ObjetoImpuesto} 'If(drr("MetodoPago").ToString = "PUE", 0, drr("NumParcialidad").ToString.ToEntero)}
|
.ObjetoImpuesto = ObjetoImpuesto} 'If(drr("MetodoPago").ToString = "PUE", 0, drr("NumParcialidad").ToString.ToEntero)}
|
||||||
|
|
||||||
For Each drp As DataRow In dttpagosimpuestos.FiltraParametros(String.Format("FolioFiscal = '{0}'", VentaFolioFiscal.ToLower)).Rows
|
|
||||||
|
'dtTempdttpagosimpuestos se esta usando para el caso de que el objeto de impuesto del ps de la venta sea 01 (la consulta por default genera 02)
|
||||||
|
Dim dtTempdttpagosimpuestos As DataTable = dttpagosimpuestos.FiltraParametros(String.Format("FolioFiscal = '{0}'", VentaFolioFiscal.ToLower))
|
||||||
|
If dtTempdttpagosimpuestos IsNot Nothing AndAlso doc.ObjetoImpuesto = "02" AndAlso dtTempdttpagosimpuestos.Rows.Count = 0 Then
|
||||||
|
doc.ObjetoImpuesto = "01"
|
||||||
|
End If
|
||||||
|
|
||||||
|
For Each drp As DataRow In dtTempdttpagosimpuestos.Rows
|
||||||
doc.Impuestos.Add(New CFDIConceptosImpuestos With {
|
doc.Impuestos.Add(New CFDIConceptosImpuestos With {
|
||||||
.TrasladooRetencion = drp("Tipo").ToString,
|
.TrasladooRetencion = drp("Tipo").ToString,
|
||||||
.Base = drp("Base").ToString.ToDecimal.RoundSQL,
|
.Base = drp("Base").ToString.ToDecimal.RoundSQL,
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ Imports iText.Html2pdf
|
|||||||
Imports iText.Html2pdf.Resolver.Font
|
Imports iText.Html2pdf.Resolver.Font
|
||||||
Imports iText.Layout.Properties
|
Imports iText.Layout.Properties
|
||||||
Imports Newtonsoft.Json
|
Imports Newtonsoft.Json
|
||||||
|
Imports Stimulsoft.Base.Json.Linq
|
||||||
Namespace Extensiones
|
Namespace Extensiones
|
||||||
|
|
||||||
#Region "E X T E N S I O N E S"
|
#Region "E X T E N S I O N E S"
|
||||||
@@ -153,6 +154,8 @@ Namespace Extensiones
|
|||||||
Public Const MinFecha As Date = #1/1/1900#
|
Public Const MinFecha As Date = #1/1/1900#
|
||||||
Public Const MaxFecha As Date = #1/1/9999#
|
Public Const MaxFecha As Date = #1/1/9999#
|
||||||
Public Const GlobalRowVersion As Integer = 555555
|
Public Const GlobalRowVersion As Integer = 555555
|
||||||
|
Public Const WhatsAppToken As String = "EAAQvTBdnkp4BO51Hmf5PD48NaY3ZC830gUS7WVNNoZAampZCK256UQ68OZCVCcPZCZCMmtW4xZA0PtP8HLRz6ZASufOgqk4A0lOpCi4ZBtWR5ZCpiMZCr9e0PpwUx4lZBW0spGZBM1DcOHQE5DnTmeJ1RISBnzI1i8RbRClLk2xbvNTu4elEXoSaofd96bW2mQ66ddLprSAZDZD"
|
||||||
|
|
||||||
|
|
||||||
#Region "PropiedadesEncriptación"
|
#Region "PropiedadesEncriptación"
|
||||||
Private _Key() As Byte = {}
|
Private _Key() As Byte = {}
|
||||||
@@ -631,10 +634,9 @@ Namespace Extensiones
|
|||||||
Public Function EnviarNotificacionWhatsApp(NumeroTelefono As String, Mensaje As String, Optional NombrePlantilla As String = "") As Boolean
|
Public Function EnviarNotificacionWhatsApp(NumeroTelefono As String, Mensaje As String, Optional NombrePlantilla As String = "") As Boolean
|
||||||
Dim RetornoObj As String = "{}"
|
Dim RetornoObj As String = "{}"
|
||||||
Dim Retorno As Boolean = False
|
Dim Retorno As Boolean = False
|
||||||
Dim Str As String = My.Computer.FileSystem.ReadAllText($"c:\temp\WSToken.txt")
|
|
||||||
|
|
||||||
Try
|
Try
|
||||||
Dim TokenAutorizacion As String = $"Bearer {Str}"
|
Dim TokenAutorizacion As String = $"Bearer {WhatsAppToken}"
|
||||||
Using httpClient = New HttpClient()
|
Using httpClient = New HttpClient()
|
||||||
Using request = New HttpRequestMessage(HttpMethod.Post, New Uri("https://graph.facebook.com/v20.0/425866980604901/messages"))
|
Using request = New HttpRequestMessage(HttpMethod.Post, New Uri("https://graph.facebook.com/v20.0/425866980604901/messages"))
|
||||||
|
|
||||||
@@ -681,6 +683,78 @@ Namespace Extensiones
|
|||||||
Return Retorno
|
Return Retorno
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function EnviarNotificacionBienvendiaWhatsApp(NumeroTelefono As String, NombreUsuario As String, Mensaje As String) As Boolean
|
||||||
|
Dim RetornoObj As String = "{}"
|
||||||
|
Dim Retorno As Boolean = False
|
||||||
|
|
||||||
|
Try
|
||||||
|
Dim TokenAutorizacion As String = $"Bearer {WhatsAppToken}"
|
||||||
|
Using httpClient = New HttpClient()
|
||||||
|
Using request = New HttpRequestMessage(HttpMethod.Post, New Uri("https://graph.facebook.com/v20.0/425866980604901/messages"))
|
||||||
|
|
||||||
|
request.Headers.Add("Authorization", TokenAutorizacion)
|
||||||
|
Dim json = New Newtonsoft.Json.Linq.JObject()
|
||||||
|
json.Add(New Newtonsoft.Json.Linq.JProperty("messaging_product", "whatsapp"))
|
||||||
|
json.Add(New Newtonsoft.Json.Linq.JProperty("to", NumeroTelefono))
|
||||||
|
|
||||||
|
json.Add(New Newtonsoft.Json.Linq.JProperty("type", "template"))
|
||||||
|
|
||||||
|
Dim plantilla As New Newtonsoft.Json.Linq.JObject(
|
||||||
|
New Newtonsoft.Json.Linq.JProperty("name", "bienvenida"),
|
||||||
|
New Newtonsoft.Json.Linq.JProperty("language",
|
||||||
|
New Newtonsoft.Json.Linq.JObject(
|
||||||
|
New Newtonsoft.Json.Linq.JProperty("code", "es_MX")
|
||||||
|
)
|
||||||
|
),
|
||||||
|
New Newtonsoft.Json.Linq.JProperty("components",
|
||||||
|
New Newtonsoft.Json.Linq.JArray(
|
||||||
|
New Newtonsoft.Json.Linq.JObject(
|
||||||
|
New Newtonsoft.Json.Linq.JProperty("type", "header"),
|
||||||
|
New Newtonsoft.Json.Linq.JProperty("parameters",
|
||||||
|
New Newtonsoft.Json.Linq.JArray(
|
||||||
|
New Newtonsoft.Json.Linq.JObject(
|
||||||
|
New Newtonsoft.Json.Linq.JProperty("type", "text"),
|
||||||
|
New Newtonsoft.Json.Linq.JProperty("text", NombreUsuario)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
),
|
||||||
|
New Newtonsoft.Json.Linq.JObject(
|
||||||
|
New Newtonsoft.Json.Linq.JProperty("type", "body"),
|
||||||
|
New Newtonsoft.Json.Linq.JProperty("parameters",
|
||||||
|
New Newtonsoft.Json.Linq.JArray(
|
||||||
|
New Newtonsoft.Json.Linq.JObject(
|
||||||
|
New Newtonsoft.Json.Linq.JProperty("type", "text"),
|
||||||
|
New Newtonsoft.Json.Linq.JProperty("text", Mensaje)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
json.Add(New Newtonsoft.Json.Linq.JProperty("template", plantilla))
|
||||||
|
|
||||||
|
Using content = New StringContent(json.ToString, Encoding.UTF8, "application/json")
|
||||||
|
request.Content = content
|
||||||
|
Dim response = httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result
|
||||||
|
|
||||||
|
If response.StatusCode = Net.HttpStatusCode.OK Then
|
||||||
|
RetornoObj = response.Content.ReadAsStringAsync().Result
|
||||||
|
Retorno = True
|
||||||
|
End If
|
||||||
|
End Using
|
||||||
|
|
||||||
|
End Using
|
||||||
|
|
||||||
|
End Using
|
||||||
|
Catch ex As Exception
|
||||||
|
RetornoObj = New Newtonsoft.Json.Linq.JObject(New Newtonsoft.Json.Linq.JProperty("Error", ex.ToString())).ToString()
|
||||||
|
GuardaLog("Ocurrió un error al enviar la informacion por whatsapp" & ex.Message)
|
||||||
|
End Try
|
||||||
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
#End Region
|
#End Region
|
||||||
|
|||||||
@@ -1513,7 +1513,7 @@ Partial Class Compras_Proveedores
|
|||||||
GlobalDTCompProveedores(UsuarioActual.CveEmpresa) = Nothing
|
GlobalDTCompProveedores(UsuarioActual.CveEmpresa) = Nothing
|
||||||
GlobalDTProveedoresCuentas(UsuarioActual.CveEmpresa, -1) = Nothing
|
GlobalDTProveedoresCuentas(UsuarioActual.CveEmpresa, -1) = Nothing
|
||||||
|
|
||||||
Alert("El Proveedor se guardó correctamente. " & "<br />" & MsgCuentaContable, TipoMensaje.MsgInformacion, If(Request("CveFactura") Is Nothing, "document.location.href=""/Compras/CatProveedores.aspx""", "window.opener.location.href = window.opener.location.href; window.close();"))
|
Alert("El Proveedor se guardó correctamente. " & "<br />" & MsgCuentaContable, TipoMensaje.MsgInformacion, If(Request("CveFactura") Is Nothing, "document.location.href=""/Compras/CatProveedores.aspx""", "if (window.opener && !window.opener.closed) { window.opener.location.href = window.opener.location.href; window.close(); }else{ alert('No se pudo recargar la pestaña origen, recargue manualmente si lo necesita.'); }"))
|
||||||
RecargaGlobalCuentasBancarias()
|
RecargaGlobalCuentasBancarias()
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -435,7 +435,7 @@
|
|||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField HeaderText="Proveedor">
|
<asp:TemplateField HeaderText="Proveedor">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:HyperLink ID="HplProveedor" runat="server" CssClass="Texto" Target="_blank" rel="opener" Text='<%# Eval("NombreProveedor") %>'></asp:HyperLink>
|
<asp:HyperLink ID="HplProveedor" runat="server" CssClass="Texto" Target="_blank" Text='<%# Eval("NombreProveedor") %>' rel="opener"></asp:HyperLink>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
<ItemStyle HorizontalAlign="Left" />
|
<ItemStyle HorizontalAlign="Left" />
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|||||||
@@ -437,6 +437,7 @@
|
|||||||
}
|
}
|
||||||
gantt.render();
|
gantt.render();
|
||||||
}
|
}
|
||||||
|
|
||||||
var datosGant = [];
|
var datosGant = [];
|
||||||
function loadGant() {
|
function loadGant() {
|
||||||
gantt.config.date_format = "%Y-%m-%d %H:%i";
|
gantt.config.date_format = "%Y-%m-%d %H:%i";
|
||||||
|
|||||||
@@ -129,7 +129,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||||
|
|||||||
@@ -192,6 +192,10 @@ Partial Class SessionesActivas
|
|||||||
Protected Sub LnkEnviar_Click(sender As Object, e As EventArgs)
|
Protected Sub LnkEnviar_Click(sender As Object, e As EventArgs)
|
||||||
|
|
||||||
Dim mensaje = TxtMensaje.Text.Trim() + "<br/> <a target='_blank' href='https://www.w3schools.com'>Liga</a>"
|
Dim mensaje = TxtMensaje.Text.Trim() + "<br/> <a target='_blank' href='https://www.w3schools.com'>Liga</a>"
|
||||||
|
|
||||||
|
|
||||||
|
EnviarNotificacionWhatsApp("6621143532", mensaje)
|
||||||
|
|
||||||
ClsSisNotificaciones.EnviarAlerta("Aviso", mensaje, RCveUsuario, Tipo:=TipoNotificacion.ToastInformacionB)
|
ClsSisNotificaciones.EnviarAlerta("Aviso", mensaje, RCveUsuario, Tipo:=TipoNotificacion.ToastInformacionB)
|
||||||
|
|
||||||
RegistraScript($"$(""#DivMensaje"").modal('hide');console.log('{Decripta(Context.User.Identity.Name)}')")
|
RegistraScript($"$(""#DivMensaje"").modal('hide');console.log('{Decripta(Context.User.Identity.Name)}')")
|
||||||
|
|||||||
@@ -1249,7 +1249,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-7">
|
<div class="col-md-7">
|
||||||
<div class="portlet light xspadding bordered" style="display:none!important">
|
<div class="portlet light xspadding bordered" style="display: none!important">
|
||||||
<div class="portlet-title">
|
<div class="portlet-title">
|
||||||
<div class="caption font-green">
|
<div class="caption font-green">
|
||||||
<i class="icon-pin font-green"></i>
|
<i class="icon-pin font-green"></i>
|
||||||
@@ -2622,6 +2622,37 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="portlet light xspadding bordered " id="DivNotificaciones" runat="server" visible="false">
|
||||||
|
<div class="portlet-title">
|
||||||
|
<div class="caption font-green">
|
||||||
|
<i class="icon-pin font-green"></i>
|
||||||
|
<span class="caption-subject bold uppercase">Notificaciones</span>
|
||||||
|
</div>
|
||||||
|
<div class="actions">
|
||||||
|
<div class="btn-group">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tools">
|
||||||
|
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||||
|
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="portlet-body nomarginleftright form-horizontal form-row-sepe formnombottom ">
|
||||||
|
<table border="0">
|
||||||
|
<tr>
|
||||||
|
<td>Celular:</td>
|
||||||
|
<td>
|
||||||
|
<asp:TextBox ID="TxtTelefono" TextMode="Phone" CssClass="form-control input-sm" runat="server"></asp:TextBox>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="2"> <asp:Button ID="BtnEnviarMensaje" runat="server" Text="Enviar Notificación" class="btn btn-primary" OnClick="BtnEnviarMensaje_Click" /></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
<Triggers>
|
<Triggers>
|
||||||
@@ -3194,7 +3225,6 @@
|
|||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||||
<script src="/Metronic/assets/global/plugins/jquery.pulsate.min.js"></script>
|
<script src="/Metronic/assets/global/plugins/jquery.pulsate.min.js"></script>
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
Option Strict On
|
Option Strict On
|
||||||
|
|
||||||
Imports System.Data
|
Imports System.Data
|
||||||
|
Imports System.Net.Http
|
||||||
Imports Extensiones
|
Imports Extensiones
|
||||||
Imports Microsoft.Reporting.WebForms
|
Imports Microsoft.Reporting.WebForms
|
||||||
|
|
||||||
@@ -470,6 +471,10 @@ Partial Class Sistemas_UsuarioDetalle
|
|||||||
TrCodigoAcceso.Visible = True
|
TrCodigoAcceso.Visible = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If UsuarioActual.CveRol = 1 Then
|
||||||
|
DivNotificaciones.Visible = True
|
||||||
|
End If
|
||||||
|
|
||||||
CargaDatos()
|
CargaDatos()
|
||||||
InicializaClonarUsuario()
|
InicializaClonarUsuario()
|
||||||
InicializaRestricciones()
|
InicializaRestricciones()
|
||||||
@@ -611,6 +616,7 @@ Partial Class Sistemas_UsuarioDetalle
|
|||||||
TxtPorcentajeMaximoAutorizacion.Text = ObjUsuario.DtResultados.Rows(0)("PorcentajeMaximoAutorizacion").ToString().ToDecimal().FormatoNumero(2)
|
TxtPorcentajeMaximoAutorizacion.Text = ObjUsuario.DtResultados.Rows(0)("PorcentajeMaximoAutorizacion").ToString().ToDecimal().FormatoNumero(2)
|
||||||
TxtDiasVencidos.Text = ObjUsuario.DtResultados.Rows(0)("DiasMaximoAutorizacion").ToString()
|
TxtDiasVencidos.Text = ObjUsuario.DtResultados.Rows(0)("DiasMaximoAutorizacion").ToString()
|
||||||
|
|
||||||
|
TxtTelefono.Text = ObjUsuario.DtResultados.Rows(0)("Celular").ToString()
|
||||||
Else
|
Else
|
||||||
Alert("El Usuario Solicitado no existe, Revise su búsqueda.", TipoMensaje.MsgAdvertencia)
|
Alert("El Usuario Solicitado no existe, Revise su búsqueda.", TipoMensaje.MsgAdvertencia)
|
||||||
BtnGuardar.Enabled = False
|
BtnGuardar.Enabled = False
|
||||||
@@ -858,7 +864,7 @@ Partial Class Sistemas_UsuarioDetalle
|
|||||||
|
|
||||||
'REGISTRA O ACTUALIZA LOS DATOS GENERALES DEL USUARIO
|
'REGISTRA O ACTUALIZA LOS DATOS GENERALES DEL USUARIO
|
||||||
If CveUsuario = -1 Then
|
If CveUsuario = -1 Then
|
||||||
CveUsuario = ObjUsuarios.AddUsuario(TxtUsuario.Text.Trim, Encripta(ContraseñaPredeterminada), TxtNombre.Text.Trim, DdlRol.SelectedValue.ToEntero, TxtCorreo.Text.Trim, DdlPersonal.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, ChkCambiarContraseña.Checked, UsuarioActual.CveUsuario, DdlEmpresa.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero, CveAlmacenAsignado:=DdlAlmacenGeneral.SelectedValue.ToEntero, AsignarSubProyecto:=ChkAsignarSubProyecto.Checked, AsignarOC:=ChkAsignarOC.Checked, DescuentoAutorizado:=TxtDescuentoAutorizado.Text.ToDouble, CodigoAcceso:=CodigoAcceso, LimiteCreditoAutorizado:=TxtLimiteAutorizado.Text.ToDecimal(), PorcentajeMaximoAutorizacion:=TxtPorcentajeMaximoAutorizacion.Text.ToDecimal(), DiasMaximoAutorizacion:=TxtDiasVencidos.Text.ToEntero())
|
CveUsuario = ObjUsuarios.AddUsuario(TxtUsuario.Text.Trim, Encripta(ContraseñaPredeterminada), TxtNombre.Text.Trim, DdlRol.SelectedValue.ToEntero, TxtCorreo.Text.Trim, DdlPersonal.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, ChkCambiarContraseña.Checked, UsuarioActual.CveUsuario, DdlEmpresa.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero, CveAlmacenAsignado:=DdlAlmacenGeneral.SelectedValue.ToEntero, AsignarSubProyecto:=ChkAsignarSubProyecto.Checked, AsignarOC:=ChkAsignarOC.Checked, DescuentoAutorizado:=TxtDescuentoAutorizado.Text.ToDouble, CodigoAcceso:=CodigoAcceso, LimiteCreditoAutorizado:=TxtLimiteAutorizado.Text.ToDecimal(), PorcentajeMaximoAutorizacion:=TxtPorcentajeMaximoAutorizacion.Text.ToDecimal(), DiasMaximoAutorizacion:=TxtDiasVencidos.Text.ToEntero(), Celular:=TxtTelefono.Text.Trim())
|
||||||
EsNuevoUsuario = True
|
EsNuevoUsuario = True
|
||||||
If CveUsuario = -1 Then
|
If CveUsuario = -1 Then
|
||||||
TieneError = True
|
TieneError = True
|
||||||
@@ -870,7 +876,7 @@ Partial Class Sistemas_UsuarioDetalle
|
|||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
Else
|
Else
|
||||||
If Not ObjUsuarios.UpdateUsuario(TxtUsuario.Text.Trim, TxtNombre.Text.Trim, DdlRol.SelectedValue.ToEntero, TxtCorreo.Text.Trim, DdlPersonal.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, ChkCambiarContraseña.Checked, ChkEstatus.Checked, DdlEmpresa.SelectedValue.ToEntero, CveUsuario, DdlAlmacenGeneral.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero, UsuarioActual.CveUsuario, AsignarSubProyecto:=ChkAsignarSubProyecto.Checked, AsignarOC:=ChkAsignarOC.Checked, DescuentoAutorizado:=TxtDescuentoAutorizado.Text.ToDouble, CodigoAcceso:=CodigoAcceso, LimiteCreditoAutorizado:=TxtLimiteAutorizado.Text.ToDecimal(), PorcentajeMaximoAutorizacion:=TxtPorcentajeMaximoAutorizacion.Text.ToDecimal(), DiasMaximoAutorizacion:=TxtDiasVencidos.Text.ToEntero()) Then
|
If Not ObjUsuarios.UpdateUsuario(TxtUsuario.Text.Trim, TxtNombre.Text.Trim, DdlRol.SelectedValue.ToEntero, TxtCorreo.Text.Trim, DdlPersonal.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, ChkCambiarContraseña.Checked, ChkEstatus.Checked, DdlEmpresa.SelectedValue.ToEntero, CveUsuario, DdlAlmacenGeneral.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero, UsuarioActual.CveUsuario, AsignarSubProyecto:=ChkAsignarSubProyecto.Checked, AsignarOC:=ChkAsignarOC.Checked, DescuentoAutorizado:=TxtDescuentoAutorizado.Text.ToDouble, CodigoAcceso:=CodigoAcceso, LimiteCreditoAutorizado:=TxtLimiteAutorizado.Text.ToDecimal(), PorcentajeMaximoAutorizacion:=TxtPorcentajeMaximoAutorizacion.Text.ToDecimal(), DiasMaximoAutorizacion:=TxtDiasVencidos.Text.ToEntero(), Celular:=TxtTelefono.Text.Trim()) Then
|
||||||
TieneError = True
|
TieneError = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
@@ -5013,4 +5019,82 @@ Partial Class Sistemas_UsuarioDetalle
|
|||||||
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
|
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
|
||||||
ImprimirPDF("Empresas/Grales/Formatos/BitacoraLogin.rdlc", DtDatos, params, String.Format("BitacoraRegistro-{0}", NowADS().ToDateTime.ToShortDateString))
|
ImprimirPDF("Empresas/Grales/Formatos/BitacoraLogin.rdlc", DtDatos, params, String.Format("BitacoraRegistro-{0}", NowADS().ToDateTime.ToShortDateString))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub BtnEnviarMensaje_Click(sender As Object, e As EventArgs)
|
||||||
|
EnviarNotificacionBienvendiaWhatsApp($"52{TxtTelefono.Text}", TxtNombre.Text, "\nFavor de responder el mensaje")
|
||||||
|
Alert("El mensaje se envio correctamente")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
'Public Function EnviarNotificacionBienvendiaWhatsApp(NumeroTelefono As String, NombreUsuario As String, Mensaje As String) As Boolean
|
||||||
|
' Dim RetornoObj As String = "{}"
|
||||||
|
' Dim Retorno As Boolean = False
|
||||||
|
|
||||||
|
' Try
|
||||||
|
' Dim TokenAutorizacion As String = $"Bearer {WhatsAppToken}"
|
||||||
|
' Using httpClient = New HttpClient()
|
||||||
|
' Using request = New HttpRequestMessage(HttpMethod.Post, New Uri("https://graph.facebook.com/v20.0/425866980604901/messages"))
|
||||||
|
|
||||||
|
' request.Headers.Add("Authorization", TokenAutorizacion)
|
||||||
|
' Dim json = New Newtonsoft.Json.Linq.JObject()
|
||||||
|
' json.Add(New Newtonsoft.Json.Linq.JProperty("messaging_product", "whatsapp"))
|
||||||
|
' json.Add(New Newtonsoft.Json.Linq.JProperty("to", NumeroTelefono))
|
||||||
|
|
||||||
|
' json.Add(New Newtonsoft.Json.Linq.JProperty("type", "template"))
|
||||||
|
|
||||||
|
' Dim plantilla As New Newtonsoft.Json.Linq.JObject(
|
||||||
|
' New Newtonsoft.Json.Linq.JProperty("name", "bienvenida"),
|
||||||
|
' New Newtonsoft.Json.Linq.JProperty("language",
|
||||||
|
' New Newtonsoft.Json.Linq.JObject(
|
||||||
|
' New Newtonsoft.Json.Linq.JProperty("code", "es_MX")
|
||||||
|
' )
|
||||||
|
' ),
|
||||||
|
' New Newtonsoft.Json.Linq.JProperty("components",
|
||||||
|
' New Newtonsoft.Json.Linq.JArray(
|
||||||
|
' New Newtonsoft.Json.Linq.JObject(
|
||||||
|
' New Newtonsoft.Json.Linq.JProperty("type", "header"),
|
||||||
|
' New Newtonsoft.Json.Linq.JProperty("parameters",
|
||||||
|
' New Newtonsoft.Json.Linq.JArray(
|
||||||
|
' New Newtonsoft.Json.Linq.JObject(
|
||||||
|
' New Newtonsoft.Json.Linq.JProperty("type", "text"),
|
||||||
|
' New Newtonsoft.Json.Linq.JProperty("text", NombreUsuario)
|
||||||
|
' )
|
||||||
|
' )
|
||||||
|
' )
|
||||||
|
' ),
|
||||||
|
' New Newtonsoft.Json.Linq.JObject(
|
||||||
|
' New Newtonsoft.Json.Linq.JProperty("type", "body"),
|
||||||
|
' New Newtonsoft.Json.Linq.JProperty("parameters",
|
||||||
|
' New Newtonsoft.Json.Linq.JArray(
|
||||||
|
' New Newtonsoft.Json.Linq.JObject(
|
||||||
|
' New Newtonsoft.Json.Linq.JProperty("type", "text"),
|
||||||
|
' New Newtonsoft.Json.Linq.JProperty("text", Mensaje)
|
||||||
|
' )
|
||||||
|
' )
|
||||||
|
' )
|
||||||
|
' )
|
||||||
|
' )
|
||||||
|
' )
|
||||||
|
' )
|
||||||
|
|
||||||
|
' json.Add(New Newtonsoft.Json.Linq.JProperty("template", plantilla))
|
||||||
|
|
||||||
|
' Using content = New StringContent(json.ToString, Encoding.UTF8, "application/json")
|
||||||
|
' request.Content = content
|
||||||
|
' Dim response = httpClient.SendAsync(request, HttpCompletionOption.ResponseHeadersRead).Result
|
||||||
|
|
||||||
|
' If response.StatusCode = Net.HttpStatusCode.OK Then
|
||||||
|
' RetornoObj = response.Content.ReadAsStringAsync().Result
|
||||||
|
' Retorno = True
|
||||||
|
' End If
|
||||||
|
' End Using
|
||||||
|
|
||||||
|
' End Using
|
||||||
|
|
||||||
|
' End Using
|
||||||
|
' Catch ex As Exception
|
||||||
|
' RetornoObj = New Newtonsoft.Json.Linq.JObject(New Newtonsoft.Json.Linq.JProperty("Error", ex.ToString())).ToString()
|
||||||
|
' GuardaLog("Ocurrió un error al enviar la informacion por whatsapp" & ex.Message)
|
||||||
|
' End Try
|
||||||
|
' Return Retorno
|
||||||
|
'End Function
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -23,7 +23,75 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 600px;
|
height: 600px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.fc-month-view .fc-day {
|
||||||
|
border-left: 4px solid #464646;
|
||||||
|
border-right: 4px solid #464646
|
||||||
|
}
|
||||||
|
.fc-month-view .fc-week {
|
||||||
|
border-left: 4px solid #464646;
|
||||||
|
border-right: 4px solid #464646;
|
||||||
|
border-top: 4px solid #464646;
|
||||||
|
}
|
||||||
|
.fc-month-view .fc-row.fc-week.fc-widget-content:last-of-type {
|
||||||
|
border-bottom: 4px solid #464646!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.btn.newsubpro {
|
||||||
|
margin-left: 3px;
|
||||||
|
padding: 2px 4px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style>
|
||||||
|
.gantt-samples-banner_controls_bar.controls_bar {
|
||||||
|
margin: 0;
|
||||||
|
//position: absolute;
|
||||||
|
top: -30px;
|
||||||
|
width: 100%;
|
||||||
|
right: 0;
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.controls_bar {
|
||||||
|
border-top: 1px solid #bababa;
|
||||||
|
border-bottom: 1px solid #bababa;
|
||||||
|
clear: both;
|
||||||
|
height: 28px;
|
||||||
|
background: #f1f1f1;
|
||||||
|
color: #494949;
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
font-size: 13px;
|
||||||
|
padding-left: 10px;
|
||||||
|
line-height: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gantt-samples-banner_controls_bar.controls_bar, .gantt_scale_line .gantt_scale_cell, .gantt_grid_scale .gantt_grid_head_cell, .gantt_grid_scale .gantt_grid_head_cell a, .gantt_grid_scale .gantt_grid_head_cell a:hover {
|
||||||
|
background-color: #95a5a6 !important;
|
||||||
|
color: #FFF !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gantt_link_point {
|
||||||
|
display: none !important; /* Oculta los checkmarks (drag handles) */
|
||||||
|
}
|
||||||
|
|
||||||
|
#gantt_here {
|
||||||
|
scroll-behavior: smooth; /* Aplica un desplazamiento suave */
|
||||||
|
overflow-y: auto; /* Asegura que el desplazamiento vertical esté activo */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/Metronic/assets/global/plugins/dhtmlxgantt/dhtmlxgantt.css" type="text/css">
|
||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
|
||||||
<asp:Content ID="Content2" ContentPlaceHolderID="E" runat="Server">
|
<asp:Content ID="Content2" ContentPlaceHolderID="E" runat="Server">
|
||||||
@@ -287,6 +355,61 @@
|
|||||||
<%--Calendario Tab--%>
|
<%--Calendario Tab--%>
|
||||||
<ajax:TabPanel ID="TabGrantt" runat="server" HeaderText="Cronograma">
|
<ajax:TabPanel ID="TabGrantt" runat="server" HeaderText="Cronograma">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
|
|
||||||
|
<asp:UpdatePanel ID="UPGat" runat="server" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<div class="gantt-samples-banner_controls_bar controls_bar">
|
||||||
|
|
||||||
|
<strong>Formato: </strong>
|
||||||
|
<label>
|
||||||
|
<input name="scales" onclick="zoom_tasks(this)" type="radio" value="week">
|
||||||
|
<span>Horas</span></label>
|
||||||
|
<label>
|
||||||
|
<input name="scales" onclick="zoom_tasks(this)" type="radio" value="trplweek" checked="true">
|
||||||
|
<span>Día</span></label>
|
||||||
|
<label>
|
||||||
|
<input name="scales" onclick="zoom_tasks(this)" type="radio" value="year">
|
||||||
|
<span>Mes</span></label>
|
||||||
|
<label>
|
||||||
|
<input name="scales" onclick="zoom_tasks(this)" type="radio" value="yearyear">
|
||||||
|
<span>año</span></label>
|
||||||
|
|
||||||
|
<div id="filter_hours" style="display: none;">
|
||||||
|
|
||||||
|
<span> | </span>
|
||||||
|
<strong>Mostrar: </strong>
|
||||||
|
<label>
|
||||||
|
<input name="scales_filter" onclick="set_scale_units(this)" type="radio" value="full_day">
|
||||||
|
<span>Dia Completo</span>
|
||||||
|
</label>
|
||||||
|
<label>
|
||||||
|
<input name="scales_filter" onclick="set_scale_units(this)" type="radio" value="work_hours">
|
||||||
|
<span>Horario de Oficina</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div id="filter_days" style="">
|
||||||
|
|
||||||
|
<span> | </span>
|
||||||
|
<strong>Mostrar: </strong>
|
||||||
|
<label>
|
||||||
|
<input name="scales_filter" onclick="set_scale_units(this)" type="radio" value="full_week">
|
||||||
|
<span>Semana completa</span>
|
||||||
|
</label>
|
||||||
|
<label>
|
||||||
|
<input name="scales_filter" onclick="set_scale_units(this)" type="radio" value="work_week">
|
||||||
|
<span>Dias de Trabajo</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="gantt_here" style='width: 100%; height: 100vh;'></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
|
||||||
<asp:UpdatePanel ID="UPPGantt" runat="server" UpdateMode="Conditional">
|
<asp:UpdatePanel ID="UPPGantt" runat="server" UpdateMode="Conditional">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<div class="portlet solid grey-cascade portlet-filter">
|
<div class="portlet solid grey-cascade portlet-filter">
|
||||||
@@ -560,6 +683,7 @@
|
|||||||
<script src="https://cdn.amcharts.com/lib/5/index.js"></script>
|
<script src="https://cdn.amcharts.com/lib/5/index.js"></script>
|
||||||
<script src="https://cdn.amcharts.com/lib/5/xy.js"></script>
|
<script src="https://cdn.amcharts.com/lib/5/xy.js"></script>
|
||||||
<script src="https://cdn.amcharts.com/lib/5/themes/Animated.js"></script>
|
<script src="https://cdn.amcharts.com/lib/5/themes/Animated.js"></script>
|
||||||
|
<script src="/Metronic/assets/global/plugins/dhtmlxgantt/dhtmlxgantt.js"></script>
|
||||||
<script>
|
<script>
|
||||||
// Create root element
|
// Create root element
|
||||||
// https://www.amcharts.com/docs/v5/getting-started/#Root_element
|
// https://www.amcharts.com/docs/v5/getting-started/#Root_element
|
||||||
@@ -1008,8 +1132,8 @@
|
|||||||
slotEventOverlap: false, // No permitir la superposición en vistas de agenda
|
slotEventOverlap: false, // No permitir la superposición en vistas de agenda
|
||||||
eventRender: function (event, element) {
|
eventRender: function (event, element) {
|
||||||
element.css({
|
element.css({
|
||||||
'margin-bottom': '1px',
|
'margin-bottom': '2px',
|
||||||
'margin-left': '1px',
|
'margin-left': '2px',
|
||||||
'white-space': 'normal', // Permitir el ajuste de texto
|
'white-space': 'normal', // Permitir el ajuste de texto
|
||||||
'height': 'auto', // Ajustar la altura automáticamente
|
'height': 'auto', // Ajustar la altura automáticamente
|
||||||
'overflow': 'hidden' // Ocultar cualquier desbordamiento
|
'overflow': 'hidden' // Ocultar cualquier desbordamiento
|
||||||
@@ -1086,6 +1210,230 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Gant
|
||||||
|
let RCveEvento =<%= RCveEvento %>;
|
||||||
|
function NuevoEvento(CveEvento) {
|
||||||
|
$('.txtCveEvento').val(CveEvento);
|
||||||
|
$('.BtnopenmodalClickGant').click();
|
||||||
|
}
|
||||||
|
function zoom_tasks(node) {
|
||||||
|
switch (node.value) {
|
||||||
|
case "week":
|
||||||
|
gantt.config.scale_unit = "day";
|
||||||
|
gantt.config.date_scale = "%d %M";
|
||||||
|
|
||||||
|
gantt.config.scale_height = 60;
|
||||||
|
gantt.config.min_column_width = 30;
|
||||||
|
gantt.config.subscales = [
|
||||||
|
{ unit: "hour", step: 1, date: "%H" }
|
||||||
|
];
|
||||||
|
show_scale_options("hour");
|
||||||
|
break;
|
||||||
|
case "trplweek":
|
||||||
|
gantt.config.min_column_width = 70;
|
||||||
|
gantt.config.scale_unit = "day";
|
||||||
|
gantt.config.date_scale = "%d %M";
|
||||||
|
gantt.config.subscales = [];
|
||||||
|
gantt.config.scale_height = 35;
|
||||||
|
show_scale_options("day");
|
||||||
|
break;
|
||||||
|
case "month":
|
||||||
|
gantt.config.min_column_width = 70;
|
||||||
|
gantt.config.scale_unit = "week";
|
||||||
|
gantt.config.date_scale = "Week #%W";
|
||||||
|
gantt.config.subscales = [
|
||||||
|
{ unit: "day", step: 1, date: "%D" }
|
||||||
|
];
|
||||||
|
show_scale_options();
|
||||||
|
gantt.config.scale_height = 60;
|
||||||
|
break;
|
||||||
|
case "year":
|
||||||
|
gantt.config.min_column_width = 70;
|
||||||
|
gantt.config.scale_unit = "month";
|
||||||
|
gantt.config.date_scale = "%M";
|
||||||
|
gantt.config.scale_height = 60;
|
||||||
|
show_scale_options();
|
||||||
|
gantt.config.subscales = [
|
||||||
|
{ unit: "week", step: 1, date: "#%W" }
|
||||||
|
];
|
||||||
|
break;
|
||||||
|
case "yearyear":
|
||||||
|
gantt.config.min_column_width = 70;
|
||||||
|
gantt.config.scale_unit = "month";
|
||||||
|
gantt.config.date_scale = "%y %M";
|
||||||
|
gantt.config.scale_height = 60;
|
||||||
|
show_scale_options();
|
||||||
|
gantt.config.subscales = [
|
||||||
|
{ unit: "month", step: 1, date: "#%M" }
|
||||||
|
];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
set_scale_units();
|
||||||
|
gantt.render();
|
||||||
|
}
|
||||||
|
function show_scale_options(mode) {
|
||||||
|
var hourConf = document.getElementById("filter_hours"),
|
||||||
|
dayConf = document.getElementById("filter_days");
|
||||||
|
if (mode == 'day') {
|
||||||
|
hourConf.style.display = "none";
|
||||||
|
dayConf.style.display = "";
|
||||||
|
dayConf.getElementsByTagName("input")[0].checked = true;
|
||||||
|
} else if (mode == "hour") {
|
||||||
|
hourConf.style.display = "";
|
||||||
|
dayConf.style.display = "none";
|
||||||
|
hourConf.getElementsByTagName("input")[0].checked = true;
|
||||||
|
} else {
|
||||||
|
hourConf.style.display = "none";
|
||||||
|
dayConf.style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function set_scale_units(mode) {
|
||||||
|
if (mode && mode.getAttribute) {
|
||||||
|
mode = mode.getAttribute("value");
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (mode) {
|
||||||
|
case "work_hours":
|
||||||
|
gantt.config.subscales = [
|
||||||
|
{ unit: "hour", step: 1, date: "%H" }
|
||||||
|
];
|
||||||
|
gantt.ignore_time = function (date) {
|
||||||
|
if (date.getHours() < 9 || date.getHours() > 16) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
break;
|
||||||
|
case "full_day":
|
||||||
|
gantt.config.subscales = [
|
||||||
|
{ unit: "hour", step: 3, date: "%H" }
|
||||||
|
];
|
||||||
|
gantt.ignore_time = null;
|
||||||
|
break;
|
||||||
|
case "work_week":
|
||||||
|
gantt.ignore_time = function (date) {
|
||||||
|
if (date.getDay() == 0 || date.getDay() == 6) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
gantt.ignore_time = null;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
gantt.render();
|
||||||
|
}
|
||||||
|
|
||||||
|
var datosGant = [];
|
||||||
|
function loadGant() {
|
||||||
|
gantt.config.date_format = "%Y-%m-%d %H:%i";
|
||||||
|
gantt.config.order_branch = true;
|
||||||
|
gantt.i18n.setLocale("es");
|
||||||
|
gantt.init("gantt_here");
|
||||||
|
|
||||||
|
gantt.config.drag_move = false; // Desactiva mover tareas
|
||||||
|
gantt.config.drag_resize = false; // Desactiva redimensionar tareas
|
||||||
|
gantt.config.drag_progress = false; // Desactiva mover la barra de progreso
|
||||||
|
|
||||||
|
//gantt.config.smart_scales = false;// Desactiva el salto automático entre escalas de tiempo
|
||||||
|
//gantt.config.scroll_size = 1;
|
||||||
|
// gantt.config.scroll_on_click = false; // Desactiva el scroll automático al hacer clic
|
||||||
|
//gantt.config.autosize = "xy";
|
||||||
|
//gantt.config.smart_rendering = false;
|
||||||
|
|
||||||
|
gantt.config.columns = [
|
||||||
|
//{ name: "text", label: "Contrato ", width: "*", min_width: 150, tree: true, resize: true, template: function (obj) { return "<a href=\"/Transportes/RepContratoDetalle.aspx?CveContrato=" + obj.id + "\" target=\"_Blank\">" + obj.text + " </a>" } },
|
||||||
|
//{ name: "start_date", label: "Inicio", min_width: 90, align: "center" },
|
||||||
|
//{ name: "end_date", label: "Fin", min_width: 90, align: "center" }
|
||||||
|
|
||||||
|
//{ name: "progress", label: "Avance", align: "center", template: function (obj) { return "" + (obj.progress * 100).toFixed(2) + " %" } },
|
||||||
|
//{ name: "duration", label: "Duración", align: "center" },
|
||||||
|
//{ name: "new", label: "<a onclick=\"NuevoEvento(" + RCveEvento + ");\" target=\"_Blank\"><i class='fa fa-plus'></i></a>", align: "center", template: function (obj) { return "<a onclick=\"NuevoEvento(" + obj.id + ");\" target=\"_Blank\"><i class='fa fa-plus'></i> </a>" } }
|
||||||
|
/*{name:"staff", label:"Holder(s)", template:function(obj){return obj.holder+"("+obj.progress+")"} },*/
|
||||||
|
//{ name: "add", label: "" }
|
||||||
|
];
|
||||||
|
|
||||||
|
gantt.parse({
|
||||||
|
data: datosGant
|
||||||
|
});
|
||||||
|
|
||||||
|
// Agregar evento para hover y mostrar tooltip
|
||||||
|
gantt.attachEvent("onMouseMove", function (id, e) {
|
||||||
|
if (id) {
|
||||||
|
var task = gantt.getTask(id);
|
||||||
|
|
||||||
|
// Mostrar el tooltip burbuja
|
||||||
|
var tooltip = document.getElementById("gantt_tooltip");
|
||||||
|
if (!tooltip) {
|
||||||
|
tooltip = document.createElement("div");
|
||||||
|
tooltip.id = "gantt_tooltip";
|
||||||
|
tooltip.style.position = "absolute";
|
||||||
|
tooltip.style.backgroundColor = "#fff";
|
||||||
|
tooltip.style.border = "1px solid #ccc";
|
||||||
|
tooltip.style.padding = "5px";
|
||||||
|
tooltip.style.borderRadius = "5px";
|
||||||
|
tooltip.style.boxShadow = "0 2px 5px rgba(0,0,0,0.2)";
|
||||||
|
tooltip.style.zIndex = "1000";
|
||||||
|
document.body.appendChild(tooltip);
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip.innerHTML = "<b>UNIDAD: </b> " + task.unidad + "<br/><b>CONTRATO: </b> " + task.text +
|
||||||
|
"<br/><b>DURACIÓN: </b> " + task.duracion;
|
||||||
|
|
||||||
|
// Posicionar el tooltip cerca del cursor
|
||||||
|
tooltip.style.left = (e.pageX + 15) + "px"; // Desplazado un poco a la derecha del cursor
|
||||||
|
tooltip.style.top = (e.pageY + 15) + "px"; // Desplazado un poco abajo del cursor
|
||||||
|
tooltip.style.display = "block";
|
||||||
|
} else {
|
||||||
|
var tooltip = document.getElementById("gantt_tooltip");
|
||||||
|
if (tooltip) {
|
||||||
|
tooltip.style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
gantt.attachEvent("onTaskDblClick", function (id, e) {
|
||||||
|
// Cancelar el comportamiento predeterminado
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
gantt.attachEvent("onBeforeTaskMove", function (id, parent, tindex) {
|
||||||
|
console.log(tindex)
|
||||||
|
var task = gantt.getTask(id);
|
||||||
|
if (task.parent != parent)
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
gantt.attachEvent("onRowDragEnd", function (id, target, tindex) {
|
||||||
|
console.log(tindex)
|
||||||
|
debugger;
|
||||||
|
drag_id = null;
|
||||||
|
gantt.render();
|
||||||
|
});
|
||||||
|
|
||||||
|
gantt.attachEvent("onGanttScroll", function (left, top) {
|
||||||
|
|
||||||
|
// var step = 50; // Define cuánto avanzar con cada paso del scroll
|
||||||
|
//var newTop = top + step; // Incrementa el scroll vertical en 50 píxeles
|
||||||
|
|
||||||
|
//gantt.scrollTo(left, newTop); // Establece el nuevo valor de scroll vertical
|
||||||
|
console.log("Scroll vertical: ", top);
|
||||||
|
return false; // Previene el scroll predeterminado para que solo se aplique el manual
|
||||||
|
|
||||||
|
|
||||||
|
//return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
loadGant();
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -39,9 +39,17 @@ Partial Class RepContratosCalendario
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
#End Region
|
#End Region
|
||||||
|
Public Property RCveEvento As Integer
|
||||||
|
Get
|
||||||
|
Return If(ViewState("RCveEvento") IsNot Nothing, ViewState("RCveEvento").ToString().ToEntero(), 0)
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
ViewState("RCveEvento") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||||
If Not IsPostBack Then
|
If Not IsPostBack Then
|
||||||
|
RCveEvento = 0
|
||||||
txtFechaI.Text = NowADS().FirstDayOfMonth.ToShortDateString()
|
txtFechaI.Text = NowADS().FirstDayOfMonth.ToShortDateString()
|
||||||
txtFechaF.Text = GetLastDayOfMonth(NowADS()).ToShortDateString()
|
txtFechaF.Text = GetLastDayOfMonth(NowADS()).ToShortDateString()
|
||||||
InicializaCombos()
|
InicializaCombos()
|
||||||
@@ -83,16 +91,16 @@ Partial Class RepContratosCalendario
|
|||||||
Private Sub CargaCronograma(Optional TipoVista As Integer = -1)
|
Private Sub CargaCronograma(Optional TipoVista As Integer = -1)
|
||||||
If DtAvance IsNot Nothing Then
|
If DtAvance IsNot Nothing Then
|
||||||
|
|
||||||
|
Dim separator As String = ""
|
||||||
|
Dim str As New StringBuilder()
|
||||||
|
str.AppendLine("datosGant=[")
|
||||||
|
|
||||||
|
|
||||||
Dim StrFiltro As String = ""
|
Dim StrFiltro As String = ""
|
||||||
If DdlTipoUnidad.SelectedValue.ToEntero > 0 Then StrFiltro = " AND CveTipoActivoFijo = " & DdlTipoUnidad.SelectedValue
|
If DdlTipoUnidad.SelectedValue.ToEntero > 0 Then StrFiltro = " AND CveTipoActivoFijo = " & DdlTipoUnidad.SelectedValue
|
||||||
|
|
||||||
Dim DtUnidades As DataTable = GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltraParametros("Codigo <> '' AND MedidaVehicular IN (2,3) " & StrFiltro, Orderby:=" TipoActivoFijo ASC, CodigoNumeroOrden ASC", DistinctColumns:={"Codigo", "CveActivoFijo"})
|
Dim DtUnidades As DataTable = GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltraParametros("Codigo <> '' AND MedidaVehicular IN (2,3) " & StrFiltro, Orderby:=" TipoActivoFijo ASC, CodigoNumeroOrden ASC", DistinctColumns:={"Codigo", "CveActivoFijo"})
|
||||||
|
|
||||||
'For Each Row As DataRow In DtAvance.Rows
|
|
||||||
' If String.IsNullOrEmpty(Row("CodigoAF").ToString()) Then
|
|
||||||
' Row("CodigoAF") = "Unidad no asignada"
|
|
||||||
' End If
|
|
||||||
'Next
|
|
||||||
|
|
||||||
Dim jsonData As New JArray()
|
Dim jsonData As New JArray()
|
||||||
Dim jsonCategorias As New JArray()
|
Dim jsonCategorias As New JArray()
|
||||||
@@ -117,6 +125,16 @@ Partial Class RepContratosCalendario
|
|||||||
)
|
)
|
||||||
jsonData.Add(obj)
|
jsonData.Add(obj)
|
||||||
strAF.AppendFormat("{0},", Row("CveAF"))
|
strAF.AppendFormat("{0},", Row("CveAF"))
|
||||||
|
|
||||||
|
'uniad contrato y duracion
|
||||||
|
|
||||||
|
Dim unidad As String = $"{Row("CodigoAF")}-{Row("NombreAF")}"
|
||||||
|
Dim duracion As String = $"{Row("FechaInicial").ToString.ToDate.ToString("dd/MM/yyyy HH:mm")} - {Row("FechaFinal").ToString.ToDate.ToString("dd/MM/yyyy HH:mm")}"
|
||||||
|
|
||||||
|
str.AppendLine(String.Format("{0}{{id: {1}, text: ""{2}"", start_date: ""{3:yyyy/MM/dd HH:mm}"", end_date: ""{4:yyyy/MM/dd HH:mm}"", parent: {5}, progress:{6}, open: true, unidad: ""{7}"",duracion: ""{8}""}}",
|
||||||
|
separator, Row("CveContrato"), Row("NumeroContrato").ToString().Replace("\\", "\\\\").Replace("""", "\"""), Row("FechaInicial"), Row("FechaFinal"), 0, 100, unidad, duracion))
|
||||||
|
separator = ","
|
||||||
|
|
||||||
Next
|
Next
|
||||||
|
|
||||||
If TipoVista = 1 Then 'solo con viajes
|
If TipoVista = 1 Then 'solo con viajes
|
||||||
@@ -134,11 +152,45 @@ Partial Class RepContratosCalendario
|
|||||||
Dim FechaF = txtFechaF.Text.ToDateTime()
|
Dim FechaF = txtFechaF.Text.ToDateTime()
|
||||||
|
|
||||||
Dim ScriptZoom = $"zoomAxis({FechaI.Year},{FechaI.Month - 1},{FechaI.Day},{FechaF.Year},{FechaF.Month - 1},{FechaF.Day});"
|
Dim ScriptZoom = $"zoomAxis({FechaI.Year},{FechaI.Month - 1},{FechaI.Day},{FechaF.Year},{FechaF.Month - 1},{FechaF.Day});"
|
||||||
|
|
||||||
RegistraScript($"cargaDiagramaGrant({jsonData.ToString()},{jsonCategorias.ToString()},{TipoVista});{ScriptZoom}", "A1")
|
RegistraScript($"cargaDiagramaGrant({jsonData.ToString()},{jsonCategorias.ToString()},{TipoVista});{ScriptZoom}", "A1")
|
||||||
|
|
||||||
|
|
||||||
|
str.AppendLine("];loadGant();")
|
||||||
|
RegistraScript(str.ToString())
|
||||||
|
|
||||||
UPPGantt.Update()
|
UPPGantt.Update()
|
||||||
|
UPGat.Update()
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
'Public Sub loadEvento()
|
||||||
|
' Dim separator As String = ""
|
||||||
|
' Dim str As New StringBuilder()
|
||||||
|
' str.AppendLine("datosGant=[")
|
||||||
|
|
||||||
|
' Using oieve As New ClsOIEventos()
|
||||||
|
' If oieve.GetEventos2(RCveEvento, UsuarioActual.CveEmpresa) AndAlso oieve.DtResultados.Rows.Count > 0 Then
|
||||||
|
' Dim drow As System.Data.DataRow = oieve.DtResultados.Rows(0)
|
||||||
|
' LblAsunto.Text = drow("Asunto").ToString()
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' If oieve.GetTareaConHijos(RCveEvento, UsuarioActual.CveEmpresa) Then
|
||||||
|
' For Each dr As System.Data.DataRow In oieve.DtResultados.Select("Nivel > 0")
|
||||||
|
' str.AppendLine(String.Format("{0}{{id: {1}, text: ""{2}"", start_date: ""{3:yyyy/MM/dd}"", end_date: ""{4:yyyy/MM/dd}"", parent: {5}, progress:{6}, open: true }}",
|
||||||
|
' separator, dr("CveEvento"), dr("Asunto").ToString().Replace("\\", "\\\\").Replace("""", "\"""), dr("FechaInicio"), dr("FechaFin"), If(dr("Nivel").ToString().ToEntero() <= 1, 0, dr("CveEventoPadre").ToString().ToEntero()), dr("Avance").ToString().ToDecimal() / 100))
|
||||||
|
' separator = ","
|
||||||
|
' Next
|
||||||
|
' End If
|
||||||
|
' End Using
|
||||||
|
|
||||||
|
' str.AppendLine("];loadGant();")
|
||||||
|
' RegistraScript(str.ToString())
|
||||||
|
' UpContenido.Update()
|
||||||
|
' ' { id: 2, text: "Direccion: evaluación de mercado", start_date: "2020/04/29 00:00", end_date: "2020/05/02 00:00",/*duration: 3,*/ parent: 1, progress: 0.25 }
|
||||||
|
'End Sub
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Private Sub InicializaCalendar()
|
Private Sub InicializaCalendar()
|
||||||
|
|
||||||
RegistraScript("InitCalendar();")
|
RegistraScript("InitCalendar();")
|
||||||
|
|||||||
@@ -292,7 +292,7 @@
|
|||||||
<table width="100%">
|
<table width="100%">
|
||||||
<tr>
|
<tr>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<asp:UpdatePanel runat="server">
|
<asp:UpdatePanel runat="server" >
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<asp:Button ID="BtnGuardar" Text="Guardar" CssClass="btn btn-primary" ValidationGroup="GrpGuardar" OnClick="BtnGuardar_Click" runat="server" />
|
<asp:Button ID="BtnGuardar" Text="Guardar" CssClass="btn btn-primary" ValidationGroup="GrpGuardar" OnClick="BtnGuardar_Click" runat="server" />
|
||||||
<asp:Button ID="ButBtnEliminar" Text="Eliminar" CssClass="btn btn-danger" OnClick="BtnEliminar_Click" runat="server" Visible="false"
|
<asp:Button ID="ButBtnEliminar" Text="Eliminar" CssClass="btn btn-danger" OnClick="BtnEliminar_Click" runat="server" Visible="false"
|
||||||
|
|||||||
@@ -121,16 +121,16 @@ Partial Class Ventas_Promociones
|
|||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
Private Property EmpresaFnc382 As Boolean
|
Private Property EmpresaGrupoDiaz As Boolean
|
||||||
Get
|
Get
|
||||||
|
|
||||||
If ViewState("EmpresaFnc382") Is Nothing Then
|
If ViewState("EmpresaGrupoDiaz") Is Nothing Then
|
||||||
ViewState("EmpresaFnc382") = False
|
ViewState("EmpresaGrupoDiaz") = False
|
||||||
End If
|
End If
|
||||||
Return Boolean.Parse(ViewState("EmpresaFnc382").ToString)
|
Return Boolean.Parse(ViewState("EmpresaGrupoDiaz").ToString)
|
||||||
End Get
|
End Get
|
||||||
Set(value As Boolean)
|
Set(value As Boolean)
|
||||||
ViewState("EmpresaFnc382") = value
|
ViewState("EmpresaGrupoDiaz") = value
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@@ -157,10 +157,10 @@ Partial Class Ventas_Promociones
|
|||||||
PorMinMasCostoVentaFnc129 = UsuarioActual.Empresa.Funcionalidad(129).ToDecimal
|
PorMinMasCostoVentaFnc129 = UsuarioActual.Empresa.Funcionalidad(129).ToDecimal
|
||||||
PermisoAutorizPromocionPorcentaje = UsuarioActual.TienePermisoProceso(386)
|
PermisoAutorizPromocionPorcentaje = UsuarioActual.TienePermisoProceso(386)
|
||||||
|
|
||||||
EmpresaFnc382 = If(UsuarioActual.Empresa.Funcionalidad(382) = "1", True, False) 'Grupo díaz
|
EmpresaGrupoDiaz = If(UsuarioActual.Empresa.Funcionalidad(382) = "1", True, False) 'Grupo díaz
|
||||||
'EmpresaFnc382 = True ''Para pruebas
|
'EmpresaGrupoDiaz = True ''Para pruebas
|
||||||
|
|
||||||
If EmpresaFnc382 Then
|
If EmpresaGrupoDiaz Then
|
||||||
DVModalClasificacion.Visible = False
|
DVModalClasificacion.Visible = False
|
||||||
GvDatos.Columns(6).Visible = True
|
GvDatos.Columns(6).Visible = True
|
||||||
GvDatos.Columns(7).Visible = True
|
GvDatos.Columns(7).Visible = True
|
||||||
@@ -179,8 +179,18 @@ Partial Class Ventas_Promociones
|
|||||||
|
|
||||||
|
|
||||||
ValidaPromosiones(False)
|
ValidaPromosiones(False)
|
||||||
If EmpresaFnc382 AndAlso ChkEstatus.Checked = False AndAlso BloqueadoPromocionPorcentaje AndAlso Not PermisoAutorizPromocionPorcentaje Then
|
If EmpresaGrupoDiaz Then
|
||||||
ChkEstatus.Enabled = False
|
|
||||||
|
If ChkEstatus.Checked = False AndAlso BloqueadoPromocionPorcentaje AndAlso Not PermisoAutorizPromocionPorcentaje Then
|
||||||
|
ChkEstatus.Enabled = False
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ChkEstatus.Checked = True And Not PermisoAutorizPromocionPorcentaje Then
|
||||||
|
BtnGuardar.Visible = False
|
||||||
|
ButBtnEliminar.Visible = False
|
||||||
|
'UpBotones.Update()
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Else
|
Else
|
||||||
@@ -351,7 +361,7 @@ Partial Class Ventas_Promociones
|
|||||||
|
|
||||||
Private Sub CargaDTUltimoCosto()
|
Private Sub CargaDTUltimoCosto()
|
||||||
|
|
||||||
If EmpresaFnc382 Then
|
If EmpresaGrupoDiaz Then
|
||||||
Dim DTPSUltimoCosto = New DataTable
|
Dim DTPSUltimoCosto = New DataTable
|
||||||
|
|
||||||
Dim ObjInv As New ClsInventarios
|
Dim ObjInv As New ClsInventarios
|
||||||
@@ -659,7 +669,7 @@ Partial Class Ventas_Promociones
|
|||||||
Private Sub ValidaPromosiones(Bloquear As Boolean)
|
Private Sub ValidaPromosiones(Bloquear As Boolean)
|
||||||
|
|
||||||
|
|
||||||
If Not EmpresaFnc382 Then
|
If Not EmpresaGrupoDiaz Then
|
||||||
BloqueadoPromocionPorcentaje = False
|
BloqueadoPromocionPorcentaje = False
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
@@ -808,6 +818,15 @@ Partial Class Ventas_Promociones
|
|||||||
|
|
||||||
Private Sub GuardaPromocion()
|
Private Sub GuardaPromocion()
|
||||||
|
|
||||||
|
If EmpresaGrupoDiaz Then
|
||||||
|
|
||||||
|
If DdlClientes.SelectedValue.ToEntero <= 0 AndAlso Not PermisoAutorizPromocionPorcentaje Then
|
||||||
|
Alert("Debe de seleccionar un cliente. Seleccione uno e intente de nuevo.", TipoMensaje.MsgAdvertencia)
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
ValidaPromosiones(True)
|
ValidaPromosiones(True)
|
||||||
|
|
||||||
Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero)
|
Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero)
|
||||||
@@ -858,8 +877,19 @@ Partial Class Ventas_Promociones
|
|||||||
|
|
||||||
|
|
||||||
Private Sub ActualizaPromocion()
|
Private Sub ActualizaPromocion()
|
||||||
|
|
||||||
Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero)
|
Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero)
|
||||||
|
|
||||||
|
If EmpresaGrupoDiaz Then
|
||||||
|
|
||||||
|
If DdlClientes.SelectedValue.ToEntero <= 0 AndAlso Not PermisoAutorizPromocionPorcentaje Then
|
||||||
|
Alert("Debe de seleccionar un cliente. Seleccione uno e intente de nuevo.", TipoMensaje.MsgAdvertencia)
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
Dim ObjVentas As New ClsVentas
|
Dim ObjVentas As New ClsVentas
|
||||||
|
|
||||||
Dim TieneError As Boolean = False
|
Dim TieneError As Boolean = False
|
||||||
@@ -1079,7 +1109,7 @@ Partial Class Ventas_Promociones
|
|||||||
TieneError = True
|
TieneError = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If EmpresaFnc382 AndAlso EstatusOriginal = False AndAlso ChkEstatus.Checked And BloqueadoPromocionPorcentaje Then
|
If EmpresaGrupoDiaz AndAlso EstatusOriginal = False AndAlso ChkEstatus.Checked And BloqueadoPromocionPorcentaje Then
|
||||||
|
|
||||||
Dim objGeneral As New ClsGenerales(ObjVentas.IniciaTransacSQL)
|
Dim objGeneral As New ClsGenerales(ObjVentas.IniciaTransacSQL)
|
||||||
If Not objGeneral.AddHistorialBitacora(360, -1, -1, -1, -1, -1, -1, -1, "Se Autorizo con bloqueo", "No", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, "", "", "", CvePromocion:=CvePromocion) Then
|
If Not objGeneral.AddHistorialBitacora(360, -1, -1, -1, -1, -1, -1, -1, "Se Autorizo con bloqueo", "No", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, "", "", "", CvePromocion:=CvePromocion) Then
|
||||||
@@ -1335,6 +1365,8 @@ Partial Class Ventas_Promociones
|
|||||||
CargaGrid()
|
CargaGrid()
|
||||||
RegistraScript("$('#DivAgregarPlantilla').modal('hide')")
|
RegistraScript("$('#DivAgregarPlantilla').modal('hide')")
|
||||||
|
|
||||||
|
ValidaPromosiones(True)
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function ValidaDTPlantilla(ByRef DTPlantilla As DataTable) As Boolean
|
Private Function ValidaDTPlantilla(ByRef DTPlantilla As DataTable) As Boolean
|
||||||
|
|||||||
@@ -24,12 +24,16 @@
|
|||||||
<li>
|
<li>
|
||||||
<asp:LinkButton ID="LnkImprimirPedidos" runat="server" Visible="false" OnClick="LnkImprimirPedidos_Click"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Imprimir Pedidos</asp:LinkButton>
|
<asp:LinkButton ID="LnkImprimirPedidos" runat="server" Visible="false" OnClick="LnkImprimirPedidos_Click"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Imprimir Pedidos</asp:LinkButton>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<asp:LinkButton ID="LnkImprimirPedidosExcel" runat="server" Visible="false" OnClick="LnkImprimirPedidosExcel_Click"> <i class="fa fa-file-excel-o" aria-hidden="true" style="font-weight:bold;"></i> Excel Pedidos</asp:LinkButton>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<asp:LinkButton runat="server" ID="BtnHorariosPedidos" OnClick="BtnHorariosPedidos_Click" data-toggle="tooltip" data-placement="left" title="Agregar Horario" Text="Horarios de Pedidos"></asp:LinkButton>
|
<asp:LinkButton runat="server" ID="BtnHorariosPedidos" OnClick="BtnHorariosPedidos_Click" data-toggle="tooltip" data-placement="left" title="Agregar Horario" Text="Horarios de Pedidos"></asp:LinkButton>
|
||||||
</li>
|
</li>
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
<Triggers>
|
<Triggers>
|
||||||
<asp:PostBackTrigger ControlID="LnkImprimirPedidos" />
|
<asp:PostBackTrigger ControlID="LnkImprimirPedidos" />
|
||||||
|
<asp:PostBackTrigger ControlID="LnkImprimirPedidosExcel" />
|
||||||
</Triggers>
|
</Triggers>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
|
|
||||||
|
|||||||
@@ -65,6 +65,12 @@ Partial Class Ventas_RepPedidosSTF
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Sub CargaDatos()
|
Protected Sub CargaDatos()
|
||||||
|
LnkImprimirPedidos.Visible = False
|
||||||
|
LnkImprimirPedidosExcel.Visible = False
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
DatosGV = New DataTable
|
||||||
|
|
||||||
Dim Opcion As Integer = 1
|
Dim Opcion As Integer = 1
|
||||||
Dim FechaInicio As Date = MinFecha
|
Dim FechaInicio As Date = MinFecha
|
||||||
@@ -99,6 +105,7 @@ Partial Class Ventas_RepPedidosSTF
|
|||||||
GvDatos.DataSource = DatosGV
|
GvDatos.DataSource = DatosGV
|
||||||
If DatosGV IsNot Nothing AndAlso DatosGV.Rows.Count > 0 Then
|
If DatosGV IsNot Nothing AndAlso DatosGV.Rows.Count > 0 Then
|
||||||
LnkImprimirPedidos.Visible = True
|
LnkImprimirPedidos.Visible = True
|
||||||
|
LnkImprimirPedidosExcel.Visible = True
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
ObjVentas.Dispose()
|
ObjVentas.Dispose()
|
||||||
@@ -372,7 +379,15 @@ Partial Class Ventas_RepPedidosSTF
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Sub LnkImprimirPedidos_Click(sender As Object, e As EventArgs)
|
Protected Sub LnkImprimirPedidos_Click(sender As Object, e As EventArgs)
|
||||||
|
ImprimirReporte("PDF")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub LnkImprimirPedidosExcel_Click(sender As Object, e As EventArgs)
|
||||||
|
ImprimirReporte("Excel")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub ImprimirReporte(Formato As String)
|
||||||
Dim FechaI As String = txtFechaI.Text
|
Dim FechaI As String = txtFechaI.Text
|
||||||
Dim FechaF As String = txtFechaF.Text
|
Dim FechaF As String = txtFechaF.Text
|
||||||
If txtFechaI.Text = "" Then FechaI = "-1"
|
If txtFechaI.Text = "" Then FechaI = "-1"
|
||||||
@@ -408,13 +423,13 @@ Partial Class Ventas_RepPedidosSTF
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
ImprimirPDF("Empresas/Grales/Formatos/RepPedidos.rdlc", DatosGV, params, "ReportePedidos")
|
ImprimirPDF("Empresas/Grales/Formatos/RepPedidos.rdlc", DatosGV, params, "ReportePedidos", Formato)
|
||||||
Else
|
Else
|
||||||
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
|
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
Protected Sub BtnEditarHorariosPedidos_Click(sender As Object, e As EventArgs)
|
Protected Sub BtnEditarHorariosPedidos_Click(sender As Object, e As EventArgs)
|
||||||
Dim objSisEmpresas As New ClsSisEmpresas
|
Dim objSisEmpresas As New ClsSisEmpresas
|
||||||
If objSisEmpresas.UpdateEmpresaFuncionalidad(546, $"{TxtHorarioDe.Text}|{TxtHorarioA.Text}", UsuarioActual.CveEmpresa) Then
|
If objSisEmpresas.UpdateEmpresaFuncionalidad(546, $"{TxtHorarioDe.Text}|{TxtHorarioA.Text}", UsuarioActual.CveEmpresa) Then
|
||||||
|
|||||||
Reference in New Issue
Block a user