This commit is contained in:
2023-12-22 18:04:58 -07:00
9 changed files with 300 additions and 78 deletions

View File

@@ -9476,6 +9476,7 @@ Public Class ClsPaginas
PaginaDict.Add("/Transportes/ListadoContratos.aspx".ToUpper(), 598)
PaginaDict.Add("/Transportes/ListadoViajes.aspx".ToUpper(), 598)
PaginaDict.Add("/Transportes/Boletos.aspx".ToUpper(), 598)
PaginaDict.Add("/Transportes/ListadoBoletos.aspx".ToUpper(), 598)
#End Region
'Antes de aquí.

View File

@@ -1304,20 +1304,31 @@
<asp:TemplateField>
<HeaderTemplate>Serie</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="TxtSerie" runat="server" Text='<%# Eval("Serie") %>' ></asp:Label>
<asp:Label ID="LblLote" runat="server" Width="50px" Text='<%# Eval("Lote") %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Lote</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="TxtLote" runat="server" Text='<%# Eval("Lote") %>' ></asp:Label>
<asp:Label ID="LblSerie" runat="server" Width="50px" Text='<%# Eval("Serie") %>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Fecha Cad.</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="TxtFechaCaducidad" runat="server" Text='<%# Eval("FechaCaducidad", "{0:d}") %>'></asp:Label>
</div>
<asp:Label ID="LblFechaCaducidad" runat="server" Width="50px" Text='<%# Eval("FechaCaducidad", "{0:dd/MM/yyyy}") %>' ></asp:Label>
<%--<div runat="server" id="DVFechaCaducidad" visible="false">
<asp:TextBox ID="TxtFechaCaducidad" runat="server" Width="70px" Text='<%# Eval("FechaCaducidad") %>' ></asp:TextBox>
<ajax:MaskedEditExtender ID="METxtFechaCaducidad" runat="server" TargetControlID="TxtFechaCaducidad" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CCTxtFechaCaducidad" TargetControlID="TxtFechaCaducidad" PopupButtonID="TxtFechaCaducidad" PopupPosition="BottomLeft" ></ajax:CalendarExtender>
<asp:CompareValidator ID="CVTxtFechaCaducidad" runat="server" ControlToValidate="TxtFechaCaducidad" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Caducidad''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."
Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpDevolucion">
</asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCTxtFechaCaducidad" runat="server" HighlightCssClass="vco" TargetControlID="CVTxtFechaCaducidad" Width="350px"></ajax:ValidatorCalloutExtender>
</div> --%>
</ItemTemplate>
</asp:TemplateField>

View File

@@ -5,6 +5,8 @@ Imports Extensiones
Imports System.IO
Imports System.Data
Imports Telerik.Web.UI
Imports System.Data.SqlClient
Imports Stimulsoft.Report.StiOptions.Export
Partial Class OS_OrdenesServicios
Inherits ClsPaginas
@@ -838,11 +840,14 @@ Partial Class OS_OrdenesServicios
Dim ObjMateriales As New ClsOS
If ObjMateriales.GetDetalleMateriales(CveOsDetalle, CveOS, -1) Then
For Each RowE As DataRow In ObjMateriales.DtResultados.Rows
Dim Row As DataRow = Nothing
Row = TmpDTMaterialesDetalle.NewRow()
Row("CveConsecutivo") = Consecutivo
Row("CveConsecutivoDetalle") = CveConsecutivoDetalle
Row("CveOSDetalle") = CveOsDetalle
@@ -3084,6 +3089,8 @@ Partial Class OS_OrdenesServicios
Dim CveSubProyectoPedido As Integer = DTSolicitudDev.FiltroPrimeroValor("CveSubProyecto").ToEntero
Dim CveVentaPedido As Integer = DTSolicitudDev.FiltroPrimeroValor("CveVenta").ToEntero
Dim CveAlmacenDestino As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, 10).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto = {CveSubProyectoPedido}").ToEntero
If Not CveAlmacenDestino > 0 Then
@@ -3129,10 +3136,10 @@ Partial Class OS_OrdenesServicios
End If
Next
If SbErroresDev.ToString.Length > 0 Then
Alert($"Se encontraron los siguientes errores: <br> {SbErroresDev.ToString}", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
'If SbErroresDev.ToString.Length > 0 Then
' Alert($"Se encontraron los siguientes errores: <br> {SbErroresDev.ToString}", TipoMensaje.MsgAdvertencia)
' Exit Sub
'End If
Dim ProcesoOK As Boolean = True
Dim ObjV As New ClsVentas
@@ -3157,11 +3164,23 @@ Partial Class OS_OrdenesServicios
Next
End If
Dim Respuesta = New RespuestaFacturacion()
If PropcesoOK Then
Respuesta = GeneraRemision(CveVentaPedido, ObjV.IniciaTransacSQL())
If Not Respuesta.CveVenta > 0 Then
PropcesoOK = False
End If
End If
If ProcesoOK Then
Dim ObjInventario As New ClsInventarios(ObjV.IniciaTransacSQL())
Dim CveMovimiento As Integer = ObjInventario.AddMovimiento(CveAlmacenActual, 8, CveMoneda, ClsPaginas.NowADS(), -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaPedido, CveSubProyectoPedido, -1, CveOS:=CveOS, CveAlmacenDestino:=CveAlmacenDestino)
Dim CveMovimiento As Integer = ObjInventario.AddMovimiento(CveAlmacenActual, 8, CveMoneda, ClsPaginas.NowADS(), -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, Respuesta.CveVenta, CveSubProyectoPedido, -1, CveOS:=CveOS, CveAlmacenDestino:=CveAlmacenDestino)
Dim Folio As Integer = ObjInventario.Folio
If CveMovimiento > 0 Then
@@ -3191,7 +3210,7 @@ Partial Class OS_OrdenesServicios
If ProcesoOK Then
Dim CveMovimientoSalida As Integer = ObjInventario.AddMovimiento(CveAlmacenDestino, 9, CveMoneda, ClsPaginas.NowADS(), -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVentaPedido, CveSubProyectoPedido, -1, CveOS:=CveOS, CveMovimientoRelacionado:=CveMovimiento)
Dim CveMovimientoSalida As Integer = ObjInventario.AddMovimiento(CveAlmacenDestino, 9, CveMoneda, ClsPaginas.NowADS(), -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, Respuesta.CveVenta, CveSubProyectoPedido, -1, CveOS:=CveOS, CveMovimientoRelacionado:=CveMovimiento)
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
@@ -3231,11 +3250,11 @@ Partial Class OS_OrdenesServicios
End If
End If
If ProcesoOK Then
'ObjV.RollBack()
If PropcesoOK Then
ObjV.Commit()
Alert("El material utilizado se guardó correctamente")
RegistraScript("$('#DivModalMaterialUtilizado').modal('hide');")
RegistraScript("$('#DVModalSolicitarDevolucion').modal('hide');")
Else
ObjV.RollBack()
End If
@@ -3244,4 +3263,92 @@ Partial Class OS_OrdenesServicios
End Sub
Private Function GeneraRemision(CveVentaPedido As Integer, ByRef TransaccionSQL As SqlTransaction) As RespuestaFacturacion
Dim Respuesta = New RespuestaFacturacion()
Dim CveRemiocionGenerada As Integer = -1
Dim ObjVentas As New ClsVentas(TransaccionSQL)
Dim ProcesoOK As Boolean = True
Dim CveSubProyectoPedido As Integer = -1
Dim CveMoneda As Integer = -1
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa, VerificaAlmacen:=False) Then
Dim DbRowVenta As DataRow = ObjVentas.DtResultados.Copy().Rows(0)
CveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero
CveSubProyectoPedido = DbRowVenta("CveSubProyecto").ToString().ToEntero()
End If
Dim ObjFactura = Modelos.Factura.CrearVentaNueva(UsuarioActual, CveSubProyectoPedido, CveCliente, CveMoneda, "Ped")
If ObjFactura IsNot Nothing Then
If ProcesoOK Then
For Each GvRow As GridViewRow In GvSolicitarDevolucion.Rows
Dim CvePS As Integer = GvRow.DataKey("CvePS").ToEntero
Dim Cantidad As Decimal = GvRow.DataKey("Cantidad").ToDecimal
Dim CantidadDev As Decimal = GvRow.FCTextBox("TxtDev").Text.ToDecimal
Dim CantidadRegistro = Cantidad - CantidadDev
Dim PU As Decimal = GvRow.DataKey("PU").ToDecimal
Dim Descuento As Decimal = GvRow.DataKey("Descuento").ToDecimal
Dim Obs As String = GvRow.DataKey("Observaciones")
If Not ObjFactura.AgregarPS(CvePS, CantidadRegistro, PU, Descuento, Obs, CveSubProyecto:=CveSubProyectoPedido) Then
Alert("Error al agregar producto", TipoMensaje.MsgAdvertencia)
ProcesoOK = False
Exit For
End If
Next
If ProcesoOK Then
ObjFactura.CalculaTotales()
Dim Resp As New Modelos.Factura.MMensajeFactura
Resp = ObjFactura.EmitirFactura(False, Transac:=TransaccionSQL)
If Resp.CveVenta > 0 Then
Respuesta.CveVenta = Resp.CveVenta
Respuesta.SerieFolio = Resp.SerieFolio
Else
ProcesoOK = False
End If
End If
End If
Else
ProcesoOK = False
End If
Return Respuesta
End Function
Friend Class RespuestaFacturacion
Public Property CveVenta As Integer = -1
Public Property SerieFolio As String = "-1"
Public Sub New()
End Sub
End Class
End Class

View File

@@ -37,7 +37,7 @@
display: inline-block;
width: 45px;
height: 45px;
background-color: #E7505A;
background-color: #F3565D;
border-radius: 10px !important;
margin: 5px;
cursor: pointer;
@@ -217,60 +217,7 @@
</div>
<div class="portlet light xspadding bordered margin-bottom-10">
<asp:GridView ID="GvBoletos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontró ningún viaje registrado"
CssClass="table table-striped table-hover Widthall ScrollAD text-center" GridLines="None"
data-sort="true">
<Columns>
<asp:TemplateField HeaderText="Nombre">
<ItemTemplate>
<asp:Literal ID="LtlNombre" runat="server" Text='<%# Eval("Nombre") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Visa">
<ItemTemplate>
<asp:Literal ID="LtlVisa" runat="server" Text='<%# Eval("Visa") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Celular">
<ItemTemplate>
<asp:Literal ID="LtlCelular" runat="server" Text='<%# Eval("Celular") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sexo">
<ItemTemplate>
<asp:Literal ID="LtlSexo" runat="server" Text='<%# If(Eval("Sexo").ToString = "True", "Masculino", "Femenino") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Estatus">
<ItemTemplate>
<asp:Label ID="LtlEstatus" runat="server" Text='<%# If(Eval("Estatus").ToString = "True", "Activo", "Cancelado") %>'
CssClass='<%# If(Eval("Estatus").ToString = "True", "text-success", "text-danger") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Acciones">
<ItemTemplate>
<asp:LinkButton ID="BtnEditar" runat="server" AlternateText="Editar"
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="BtnEliminar" runat="server" AlternateText="Eliminar"
CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-cancel'></i>"
data-toggle="confirmation" data-popout="true" data-original-title="Confirmar"
data-btn-ok-label="si" />
<asp:LinkButton ID="BtnViaje" runat="server" AlternateText="Viaje"
CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-print'></i>" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>

View File

@@ -1,5 +1,5 @@
Imports Extensiones
Imports System.Data
Imports System.Data
Imports Extensiones
Partial Class Boletos
Inherits ClsPaginas
@@ -66,22 +66,20 @@ Partial Class Boletos
'Boletos Vendidos
Dim dt As DataTable
If ObjViaje.GetViajesPasajeros(CveViaje) Then
GvBoletos.DataSource = ObjViaje.DtResultados
dt = ObjViaje.DtResultados
Dim cph As ContentPlaceHolder = CType(Me.Master.FindControl("C"), ContentPlaceHolder)
For Each dr As DataRow In dt.Rows
Dim lnk As LinkButton = CType(cph.FindControl($"A{dr("Asiento")}"), LinkButton)
If lnk IsNot Nothing Then
lnk.Enabled = False ' se vendieron
lnk.BackColor = Drawing.Color.Red
'falta ponerlelos colores rojos, colorear con
lnk.Enabled = False
lnk.CssClass = "nodisponible"
lnk.ToolTip = dr("Nombre").ToString
End If
Next
End If
End If
ObjViaje.Dispose()
GvBoletos.DataBind()
End Sub

View File

@@ -0,0 +1,107 @@
<%@ Page Language="VB" AutoEventWireup="false" MasterPageFile="~/Site.master" CodeFile="ListadoBoletos.aspx.vb"
Inherits="ListadoBoletos" EnableEventValidation="true" %>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Listado de Boletos
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.my-1 {
margin-block: 1rem;
}
</style>
</asp:Content>
<asp:Content ID="Content1" ContentPlaceHolderID="HB" runat="Server">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<li>
<asp:HyperLink ID="LBListadoContratos" runat="server" NavigateUrl="ListadoContratos.aspx"
Target="_blank"><i class='fa fa-file'></i>Contratos</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="LBListadoViajes" runat="server" NavigateUrl="ListadoViajes.aspx"
Target="_blank"><i class='fa fa-road'></i>Viajes</asp:HyperLink>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<div class="row my-1" style="margin-right: 10px; margin-top: 18px;" align="right">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvBoletos.ClientID) %>"
style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvBoletos.ClientID) %>"
style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier">
</i></a>
</div>
<div class="portlet light xspadding bordered margin-bottom-10">
<asp:GridView ID="GvBoletos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontró ningún boleto registrado"
CssClass="table table-striped table-hover Widthall ScrollAD text-center" GridLines="None"
data-sort="true">
<Columns>
<asp:TemplateField HeaderText="No. Asiento">
<ItemTemplate>
<asp:Literal ID="LtlAsiento" runat="server" Text='<%# Eval("Asiento") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Nombre">
<ItemTemplate>
<asp:Literal ID="LtlNombre" runat="server" Text='<%# Eval("Nombre") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Visa">
<ItemTemplate>
<asp:Literal ID="LtlVisa" runat="server" Text='<%# Eval("Visa") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Celular">
<ItemTemplate>
<asp:Literal ID="LtlCelular" runat="server" Text='<%# Eval("Celular") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sexo">
<ItemTemplate>
<asp:Literal ID="LtlSexo" runat="server" Text='<%# If(Eval("Sexo").ToString = "True", "Masculino", "Femenino") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Estatus">
<ItemTemplate>
<asp:Label ID="LtlEstatus" runat="server" Text='<%# If(Eval("Estatus").ToString = "True", "Activo", "Cancelado") %>'
CssClass='<%# If(Eval("Estatus").ToString = "True", "text-success", "text-danger") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Acciones">
<ItemTemplate>
<asp:LinkButton ID="BtnEditar" runat="server" AlternateText="Editar"
CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="BtnEliminar" runat="server" AlternateText="Eliminar"
CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-cancel'></i>"
data-toggle="confirmation" data-popout="true" data-original-title="Confirmar"
data-btn-ok-label="si" />
<asp:LinkButton ID="BtnViaje" runat="server" AlternateText="Viaje"
CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-print'></i>" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</asp:Content>

View File

@@ -0,0 +1,43 @@
Option Explicit On
Option Strict On
Imports ADSNetLibrary.SIGAPI.Helpers
Imports Extensiones.ModExtensiones
Partial Class ListadoBoletos
Inherits ClsPaginas
Private Property CveViaje As Integer
Get
Return ViewState("CveViaje").ToString().ToEntero
End Get
Set(value As Integer)
ViewState("CveViaje") = value
End Set
End Property
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
If Request.QueryString("CveViaje") Is Nothing Then
Response.Redirect("/Transportes/ListadoViajes.aspx")
End If
CveViaje = Request.QueryString("CveViaje").ToEntero
InicializaCombos()
CargaDatos()
End If
End Sub
Private Sub InicializaCombos()
End Sub
Private Sub CargaDatos()
Dim ObjTransportes As New ClsTransportes
If ObjTransportes.GetViajesPasajeros(CveViaje) Then
GvBoletos.DataSource = ObjTransportes.DtResultados
ObjTransportes.Dispose()
GvBoletos.DataBind()
End If
End Sub
End Class

View File

@@ -103,9 +103,13 @@
CssClass="btn btn-circle btn-sm red" OnClick="RemoveViaje" Text="<i class='fa fa-trash'></i>"
data-toggle="confirmation" data-popout="true" data-original-title='<%# If(Eval("CveMasivo").ToString <> "", "Eliminación masiva", "Confirmar") %>'
data-btn-ok-label="si" />
<asp:LinkButton ID="BtnBoletos" runat="server" AlternateText="Boletos"
CssClass="btn btn-circle btn-sm yellow" Text="<i class='fa fa-ticket'></i>"
OnClick="GoBoletos" />
<asp:LinkButton ID="BtnViaje" runat="server" AlternateText="Viaje"
CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-arrow-right'></i>" OnClick="GoViaje"
/>
CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-arrow-right'></i>"
OnClick="GoViaje" />
</ItemTemplate>
</asp:TemplateField>

View File

@@ -232,5 +232,9 @@ Partial Class ListadoViajes
Dim CveViaje As String = GvRow.DataKey("CveViaje")
Response.Redirect(String.Format("~/Transportes/Boletos.aspx?CveViaje={0}", CveViaje))
End Sub
Protected Sub GoBoletos(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim CveViaje As String = GvRow.DataKey("CveViaje")
Response.Redirect(String.Format("~/Transportes/ListadoBoletos.aspx?CveViaje={0}", CveViaje))
End Sub
End Class