-- merge Procedimientos

This commit is contained in:
2023-12-07 12:54:58 -07:00
parent 4b99d4ab0e
commit 5706953e80
10 changed files with 1060 additions and 48 deletions

View File

@@ -9371,6 +9371,7 @@ Public Class ClsPaginas
PaginaDict.Add("/Ventas/RepIndicadoresPorProyecto.aspx".ToUpper(), 617)
PaginaDict.Add("/Ventas/CatMedicos.aspx".ToUpper(), 1343)
PaginaDict.Add("/Ventas/CatProcedimientos.aspx".ToUpper(), 1344)
PaginaDict.Add("/Ventas/CatProcedimientoDetalle.aspx".ToUpper(), 1344)
PaginaDict.Add("/Ventas/VentasMedicas.aspx".ToUpper(), 1345)

View File

@@ -6101,22 +6101,25 @@ Public Class ClsVentas
End Function
Public Function AddProcedimiento(Procedimiento As String, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Public Function AddProcedimiento(Procedimiento As String, Estatus As Boolean, CveUsuario As Integer, CveEmpresa As Integer) As Integer
Dim Retorno As Boolean = False
Dim Retorno As Integer = -1
DataAdapter("PA_Vta_ProcedimientosAdd")
With SqlAdapter.SelectCommand.Parameters
.Add("@Procedimiento", SqlDbType.VarChar).Value = Procedimiento
.Add("@Estatus", SqlDbType.Int).Value = Estatus
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveProcedimiento", SqlDbType.Int).Direction = ParameterDirection.Output
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Retorno = SqlAdapter.SelectCommand.Parameters("@CveProcedimiento").Value.ToString.ToEntero
Catch ex As Exception
OnError("Ocurrió un error al guardar el Procedimiento.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
@@ -6150,9 +6153,17 @@ Public Class ClsVentas
.Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
'SqlAdapter.SelectCommand.ExecuteNonQuery()
Retorno = True
Catch Ex1 As SqlException
If Ex1.Message.Contains("Número: 547;") Then
Alert("El procedimiento no se pudo eliminar porque está siendo usado por un registro.", TipoMensaje.MsgAdvertencia)
Else
OnError("Ocurrió un error al eliminar el Procedimiento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End If
Catch ex As Exception
OnError("Ocurrió un error al eliminar el Procedimiento.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
@@ -6160,6 +6171,135 @@ Public Class ClsVentas
End Function
Public Function AddProcedimientoProducto(CveProcedimiento As Integer, CvePS As Integer, Autogenerado As Boolean, Estatus As Boolean, CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_ProcedimientosProductosAdd")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@Autogenerado", SqlDbType.Bit).Value = Autogenerado
.Add("@Estatus", SqlDbType.Bit).Value = Estatus
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al guardar el producto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function UpdateProcedimientoProducto(CveProcedimientoProducto As Integer, CvePS As Integer, Autogenerado As Boolean, Estatus As Boolean, CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_ProcedimientosProductosUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveProcedimientoProducto", SqlDbType.Int).Value = CveProcedimientoProducto
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@Autogenerado", SqlDbType.Bit).Value = Autogenerado
.Add("@Estatus", SqlDbType.Bit).Value = Estatus
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el producto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function SincronizacionProcedimientoProducto(CveProcedimiento As Integer, CveVenta As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_ProcedimientosProductosSincronizacion")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al sincronizar los Productos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetProcedimientoProducto(CveProcedimiento As Integer, Estatus As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_ProcedimientosProductosGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento
.Add("@Estatus", SqlDbType.Int).Value = Estatus
.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 Productos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function RemoveProcedimientoProducto(CveProcedimientoProducto As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_ProcedimientosProductosRemove")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveProcedimientoProducto", SqlDbType.Int).Value = CveProcedimientoProducto
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al eliminar los Productos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetProcedimientoVentas(CveProcedimiento As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_ProcedimientosVentasGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento
.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 ventas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region
#Region "IDisposable Support"

124
Transportes/CrearViaje.aspx Normal file
View File

@@ -0,0 +1,124 @@
<%@ Page Language="VB" AutoEventWireup="false" MasterPageFile="~/Site.master" CodeFile="CrearViaje.aspx.vb"
Inherits="CrearViaje" %>
<asp:Content ID="Content1" ContentPlaceHolderID="E" runat="Server">
Crear Viaje
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="C" runat="Server">
<ContentTemplate>
<div class="col-md-12">
<div class="row margin-bottom-5" id="TrAF" runat="server">
<label class="col-md-4 bold">
<asp:Label runat="server" Text="Transporte:"></asp:Label></label><div
class="col-md-8">
<asp:DropDownList ID="DdlTransporte" AppendDataBoundItems="true" DataTextField="Descripcion"
DataValueField="CveActivoFijo" Class="table-group-action-input form-control input-inline text-center"
Width="200px" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTransporte" runat="server" ControlToValidate="DdlTransporte"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Transporte''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETransporte" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTransporte" Width="400px" BehaviorID="_content_VCETransporte">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row margin-bottom-5" id="TrRutas" runat="server">
<label class="col-md-4 bold">
<asp:Label runat="server" Text="Seleccione Ruta:"></asp:Label></label><div
class="col-md-8">
<asp:DropDownList ID="DdlRutas" AppendDataBoundItems="true" DataTextField="Ruta"
DataValueField="CveEmpresa" Class="table-group-action-input form-control input-inline text-center"
Width="200px" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVRutas" runat="server" ControlToValidate="DdlRutas"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Rutas''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCERutas" runat="server" HighlightCssClass="vco"
TargetControlID="RFVRutas" Width="400px" BehaviorID="_content_VCERutas">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row margin-bottom-5" id="TrDestino" runat="server">
<label class="col-md-4 bold">
<asp:Label runat="server" Text="Partida:"></asp:Label></label><div
class="col-md-8">
<asp:DropDownList ID="DdlDestino" AppendDataBoundItems="true" DataTextField="Ruta"
DataValueField="CveEmpresa" Class="table-group-action-input form-control input-inline text-center"
Width="200px" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVDestino" runat="server" ControlToValidate="DdlDestino"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Destino''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDestino" runat="server" HighlightCssClass="vco"
TargetControlID="RFVDestino" Width="400px" BehaviorID="_content_VCEDestino">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row margin-bottom-5" id="TrPartida" runat="server">
<label class="col-md-4 bold">
<asp:Label runat="server" Text="Destino:"></asp:Label></label><div
class="col-md-8">
<asp:DropDownList ID="DdlPartida" AppendDataBoundItems="true" DataTextField="Ruta"
DataValueField="CveEmpresa" Class="table-group-action-input form-control input-inline text-center"
Width="200px" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVPartida" runat="server" ControlToValidate="DdlPartida"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Partida''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEPartida" runat="server" HighlightCssClass="vco"
TargetControlID="RFVPartida" Width="400px" BehaviorID="_content_VCEPartida">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row margin-bottom-5" id="TrChofer" runat="server">
<label class="col-md-4 bold">
<asp:Label runat="server" Text="Chofer:"></asp:Label></label><div
class="col-md-8">
<asp:DropDownList ID="DdlChofer" AppendDataBoundItems="true" DataValueField="CveChofer"
DataTextField="Chofer" Class="table-group-action-input form-control input-inline text-center"
Width="200px" runat="server">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVChofer" runat="server" ControlToValidate="DdlChofer"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Chofer''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEChofer" runat="server" HighlightCssClass="vco"
TargetControlID="RFVChofer" Width="400px" BehaviorID="_content_VCEChofer">
</ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row my-1">
<label class="col-md-4 bold">Fecha Viaje:</label>
<div class="col-md-8">
<div class="input-group input-sm input-small date date-picker">
<asp:TextBox ID="TxtFechaViaje" runat="server" CssClass="form-control text-center" Width="200px"
CausesValidation="True"
type="date"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtFechaViaje" runat="server" ControlToValidate="TxtFechaViaje"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Viaje''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETxtFechaViaje" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTxtFechaViaje" Width="400px" BehaviorID="_content_VCETxtFechaViaje">
</ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<asp:Button CssClass="btn btn-success rounded-4 " Text="Guardar" ID="BtnGuardar"
runat="server" OnClick="AddViaje" ValidationGroup="GrpGuardar" />
</div>
</ContentTemplate>
</asp:Content>

View File

@@ -0,0 +1,65 @@
Partial Class CrearViaje
Inherits ClsPaginas
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
CargaDatos()
End If
End Sub
Private Sub CargaDatos()
'Lista Activos Fijos'
Dim ObjAF As New ClsAF()
If ObjAF.GetActivosFijos(-1, 13, "-1", "-1", -1, -1, "-1", -1, -1, -1, -1, 1, "-1", -1, -1, -1) Then
If ObjAF.DtResultados.Rows.Count > 0 Then
DdlTransporte.DataSource = ObjAF.DtResultados
DdlTransporte.DataBind()
DdlTransporte.Items.Insert(0, New ListItem("<--Seleccione Transporte-->", ""))
End If
End If
ObjAF.Dispose()
'Lista Rutas'
Dim ObjRutas As New ClsRH()
If ObjRutas.GetRutas(7) Then
Page.Response.Write("<script>console.log('El resultado de tu variable" + ObjRutas.DtResultados.Rows.ToString + "')</script>")
If ObjRutas.DtResultados.Rows.Count > 0 Then
DdlRutas.DataSource = ObjRutas.DtResultados
DdlRutas.DataBind()
DdlRutas.Items.Insert(0, New ListItem("<--Seleccione Ruta-->", ""))
DdlPartida.DataSource = ObjRutas.DtResultados
DdlPartida.DataBind()
DdlPartida.Items.Insert(0, New ListItem("<--Seleccione Partida-->", ""))
DdlDestino.DataSource = ObjRutas.DtResultados
DdlDestino.DataBind()
DdlDestino.Items.Insert(0, New ListItem("<--Seleccione Destino-->", ""))
End If
End If
ObjRutas.Dispose()
'Lista Chofer'
'GlobalDTRHPersonal()'
'CvePersonal - Text Nombre COmpleto'
Dim ObjAcar As New ClsAcarreos()
If ObjAcar.GetChofer(-1, UsuarioActual.CveEmpresa, 1, -1) Then
DdlChofer.DataSource = ObjAcar.DtResultados
DdlChofer.DataBind()
DdlChofer.Items.Insert(0, New ListItem("<--Seleccione Chofer-->", ""))
End If
ObjAcar.Dispose()
End Sub
Protected Sub AddViaje(sender As Object, e As EventArgs)
'Dónde están los PA para agregar viajes?'
'Dónde están los PA para consultar Destinos y rutas viajes?'
'Por qué siempre cambia el aside de Transportes V&A?'
Page.Response.Write("<script>console.log('clits')</script>")
End Sub
End Class

View File

@@ -0,0 +1,260 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatProcedimientoDetalle.aspx.vb" Inherits="Ventas_CatProcedimientoDetalle" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
<asp:Label runat="server" Text="Procedimiento" ID="LblProcedimiento"></asp:Label>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel runat="server" ID="UpAcciones">
<ContentTemplate>
<li>
<asp:LinkButton runat="server" ID="LnkAgregarProducto" CssClass="" data-toggle="tooltip" data-placement="left" Text="<i class='fa fa-plus'></i> Agregar Producto" Visible="false"></asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel UpdateMode="Conditional" runat="server" ID="UpDatos">
<ContentTemplate>
<ajax:TabContainer runat="server" ID="TabsRoles">
<ajax:TabPanel ID="TabPanel1" runat="server" HeaderText="Procedimiento">
<ContentTemplate>
<asp:UpdatePanel ID="UpTabGeneral" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<div class="row">
<div class="col-md-6">
<div class="portlet light xspadding bordered ">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">General</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtProcedimiento" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVRol" runat="server" ControlToValidate="TxtProcedimiento" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>'Nombre del Procedimiento''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<label for="<%= TxtProcedimiento.ClientID.ToString()%>">Nombre Procedimiento:</label>
</div>
<div class="form-group form-md-line-input input-iconright" id="Div1" runat="server">
<label for="<%= ChkEstatus.ClientID.ToString()%>">Activo:</label>
<asp:CheckBox ID="ChkEstatus" runat="server" CssClass="form-control make-switchsd" data-size="small"></asp:CheckBox>
</div>
<div class="form-group form-md-line-input input-iconright" id="LblFechaAlta" runat="server">
<label for="<%= LblFecha.ClientID.ToString()%>">Fecha:</label>
<asp:Label ID="LblFecha" runat="server"></asp:Label>
</div>
<div class="form-group form-md-line-input input-iconright" id="LblUsuarioAlta" runat="server">
<label for="<%= LblUsuario.ClientID.ToString()%>">Usuario:</label>
<asp:Label ID="LblUsuario" runat="server"></asp:Label>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabProductos" runat="server" HeaderText="Productos Relacionados" Visible="false">
<ContentTemplate>
<asp:UpdatePanel ID="UpTabProductos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row" align="right">
<input type="text" id="TxtBusqueda2" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvProductos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvProductos.ClientID) %>" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvProductos" runat="server" CssClass="table table-hover table-striped ScrollAD mysmallbtn" data-sort="true" AutoGenerateColumns="False" Width="100%"
DataKeyNames="CveProcedimientoProducto,CveProcedimiento,CvePS,CodigoPS,Autogenerado,Estatus,CveVenta" GridLines="None">
<Columns>
<asp:BoundField DataField="CodigoPS" HeaderText="Producto">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="EstatusStr" HeaderText="Estatus">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="AutogeneradoStr" HeaderText="Autogenerado">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="FechaIng" HeaderText="Fecha Ing." ItemStyle-Width="80px" DataFormatString="{0:dd/MM/yyyy}">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Usuario" HeaderText="Usuario">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="SerieFolioVenta" HeaderText="Serie Folio">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="FechaVenta" HeaderText="Fecha Venta" ItemStyle-Width="80px" DataFormatString="{0:dd/MM/yyyy}">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:TemplateField ItemStyle-HorizontalAlign="center" HeaderText="Opciones" ItemStyle-Width="100px" >
<ItemTemplate>
<asp:LinkButton ID="LnkEditarProducto" runat="server" AlternateText="Editar" OnClick="LnkEditarProducto_Click" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="LnkEliminarProducto" OnClick="LnkEliminarProducto_Click" runat="server" Visible="true" AlternateText="Eliminar" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i title='Eliminar' class='icon-trash' title='Eliminar' ></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="Titulos" Height="15px"></HeaderStyle>
</asp:GridView>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabVentas" runat="server" HeaderText="Ventas Relacionadas" Visible="false">
<ContentTemplate>
<asp:UpdatePanel ID="UpTabVentas" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row" align="right" style="max-width:50%">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvVentas.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvVentas.ClientID) %>" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<div class="row" style="max-width:50%">
<div class="col-md-12">
<asp:GridView ID="GvVentas" runat="server" CssClass="table table-hover table-striped ScrollAD mysmallbtn"
data-sort="true" AutoGenerateColumns="False" Width="100%" DataKeyNames="" GridLines="None">
<Columns>
<asp:BoundField DataField="SerieFolio" HeaderText="SerieFolio">
<ItemStyle HorizontalAlign="Left" />
<ItemStyle Width="120px" />
</asp:BoundField>
<asp:BoundField DataField="TipoDocto" HeaderText="TipoDocto">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Fecha" HeaderText="Fecha" ItemStyle-Width="80px" DataFormatString="{0:dd/MM/yyyy}">
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="Hospital" HeaderText="Cliente">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Medico" HeaderText="Médico">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
</Columns>
<HeaderStyle CssClass="Titulos" Height="15px"></HeaderStyle>
</asp:GridView>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
<br />
<table width="100%">
<tr>
<td align="center">
<asp:Button runat="server" ID="BtnGuardar" Text="Guardar" CssClass="btn btn-primary" />
<asp:LinkButton runat="server" ID="LnkEliminar" Text="Eliminar" CssClass="btn btn-danger" OnClick="LnkEliminar_Click"
AlternateText="Eliminar" CausesValidation="False" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si"/>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<div id="ModalAgregar" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpAgregar" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header ">
<h4 class="modal-title">
<asp:Literal ID="LtlTituloAgregar" Text="" runat="server"> </asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<ADS:Dropdownlost runat="server" ID="DdlProducto" CssClass="form-control input-sm select2me" CssStyle="width: 90%;" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" Width="" />
<label style="line-height: 0.8" for="<%= DdlProducto.ClientID.ToString()%>">Producto: </label>
</div>
<div class="form-group form-md-line-input input-iconright" runat="server" id="DVProdcutoEstatus" visible="false" style="margin-top:15px!important">
<asp:CheckBox runat="server" ID="ChkEstatusProducto" CssClass="form-control" />
<label style="line-height: 0.8" for="<%= ChkEstatusProducto.ClientID.ToString()%>">Estatus: </label>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="LkAgregarProducto" runat="server" CssClass="btn btn-primary" Text="Guardar" OnClick="LkAgregarProducto_Click"></asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,299 @@
Imports System.Data
Imports System.Drawing
Imports Extensiones
Imports Microsoft.Owin.Security.Provider
Imports Microsoft.Reporting.WebForms
Partial Class Ventas_CatProcedimientoDetalle
Inherits ClsPaginas
#Region "Propiedades"
Private Property CveProcedimiento As Integer
Get
If ViewState("CveProcedimiento") Is Nothing Then
ViewState("CveProcedimiento") = -1
End If
Return ViewState("CveProcedimiento").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveProcedimiento") = value
End Set
End Property
Private Property CveProcedimientoProducto As Integer
Get
If ViewState("CveProcedimientoProducto") Is Nothing Then
ViewState("CveProcedimientoProducto") = -1
End If
Return ViewState("CveProcedimientoProducto").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveProcedimientoProducto") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
CveProcedimiento = If(Request("CveProcedimiento") <> "", Request("CveProcedimiento").ToString.ToEntero, "-1".ToEntero)
If CveProcedimiento > 0 Then
CargaDatos()
CargaProductos()
CargaVentas()
TabProductos.Visible = True
TabVentas.Visible = True
LnkAgregarProducto.Visible = True
Else
ChkEstatus.Checked = True
End If
DdlProducto.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
If Not DdlProducto.UsaWebService AndAlso CType(DdlProducto.DataSource, DataTable) Is Nothing Then
DdlProducto.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoPS = 2")
DdlProducto.DataBind()
DdlProducto.ddl.Items.Insert(0, New ListItem("Seleccione", "-1"))
End If
End If
End Sub
Private Sub CargaVentas()
Dim objVenta As New ClsVentas
If objVenta.GetProcedimientoVentas(CveProcedimiento, UsuarioActual.CveEmpresa) Then
GvVentas.DataSource = objVenta.DtResultados
End If
objVenta.Dispose()
GvVentas.DataBind()
UpTabVentas.Update()
End Sub
Private Sub CargaDatos()
If CveProcedimiento > 0 Then
Dim DTProcedimiento As New DataTable
Dim Objeto As New ClsVentas
If Objeto.GetProcedimientos(CveProcedimiento, UsuarioActual.CveEmpresa, -1) Then
DTProcedimiento = Objeto.DtResultados
If DTProcedimiento.Rows.Count > 0 Then
LblProcedimiento.Text = DTProcedimiento.FiltroPrimeroValor("Procedimiento")
TxtProcedimiento.Text = DTProcedimiento.FiltroPrimeroValor("Procedimiento")
ChkEstatus.Checked = Boolean.Parse(DTProcedimiento.FiltroPrimeroValor("Estatus"))
LblFecha.Text = DTProcedimiento.FiltroPrimeroValor("FechaIng").ToDate.ToShortDateString
LblUsuario.Text = DTProcedimiento.FiltroPrimeroValor("Usuario")
Else
Dim Liga As String = $"document.location.href=""/Ventas/CatProcedimientos.aspx"";"
Alert("El Procedimiento solicitado no existe.", TipoMensaje.MsgAdvertencia, Liga)
End If
Objeto.Dispose()
End If
Else
LblFechaAlta.Visible = False
LblUsuarioAlta.Visible = False
End If
End Sub
Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
Dim ProcesoOK = False
Dim ObjVentas As New ClsVentas
If CveProcedimiento > 0 Then
If ObjVentas.UpdateProcedimiento(CveProcedimiento, TxtProcedimiento.Text.Trim, ChkEstatus.Checked, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Alert($"Procedimiento Actualizado Correctamente.")
ProcesoOK = True
End If
Else
CveProcedimiento = ObjVentas.AddProcedimiento(TxtProcedimiento.Text.Trim, ChkEstatus.Checked, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CveProcedimiento > 0 Then
ProcesoOK = True
TabProductos.Visible = True
TabVentas.Visible = True
LnkAgregarProducto.Visible = True
UpDatos.Update()
Alert($"Procedimiento Guardado Correctamente.")
End If
End If
ObjVentas.Dispose()
If ProcesoOK Then
'RegistraScript("$('#DVAgregarProcedimiento').modal('hide');")
CargaDatos()
CargaGlobal()
UpDatos.Update()
End If
End Sub
Protected Sub LnkEliminar_Click(sender As Object, e As EventArgs)
'Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
'CveProcedimiento = GvRow.DataKey("CveProcedimiento").ToEntero
Dim ObjVentas As New ClsVentas
Dim ProcesoOK = False
If ObjVentas.RemoveProcedimiento(CveProcedimiento, UsuarioActual.CveEmpresa) Then
ProcesoOK = True
End If
ObjVentas.Dispose()
If ProcesoOK Then
CargaGlobal()
Dim Liga As String = $"document.location.href=""/Ventas/CatProcedimientos.aspx"";"
Alert("Procedimiento eliminando correctamente.", TipoMensaje.MsgInformacion, Liga)
End If
End Sub
Private Sub CargaGlobal()
GlobalDTProcedimientos(UsuarioActual.CveEmpresa) = Nothing
End Sub
Protected Sub LnkAgregarProducto_Click() Handles LnkAgregarProducto.Click
limpiarModal()
UpAgregar.Update()
RegistraScript("$('#ModalAgregar').modal()")
End Sub
Private Sub limpiarModal()
LtlTituloAgregar.Text = "Agregar Producto"
CveProcedimientoProducto = -1
DdlProducto.SelectedValue = "-1"
DdlProducto.SelectedText = ""
DVProdcutoEstatus.Visible = False
UpAgregar.Update()
End Sub
Protected Sub LkAgregarProducto_Click(sender As Object, e As EventArgs)
Dim ProcesoOK As Boolean = False
Dim objVenta As New ClsVentas
If CveProcedimientoProducto > 0 Then
If objVenta.UpdateProcedimientoProducto(CveProcedimientoProducto, DdlProducto.SelectedValue.ToEntero, False, True, UsuarioActual.CveUsuario) Then
ProcesoOK = True
End If
Else
If objVenta.AddProcedimientoProducto(CveProcedimiento, DdlProducto.SelectedValue.ToEntero, False, True, UsuarioActual.CveUsuario) Then
ProcesoOK = True
End If
End If
objVenta.Dispose()
If ProcesoOK Then
RegistraScript("$('#ModalAgregar').modal('hide')")
Alert($"Producto {If(CveProcedimientoProducto > 0, "actualizado", "agregado")} correctamente.")
CargaProductos()
End If
End Sub
Private Sub CargaProductos()
Dim objVenta As New ClsVentas
If objVenta.GetProcedimientoProducto(CveProcedimiento, -1, UsuarioActual.CveEmpresa) Then
GvProductos.DataSource = objVenta.DtResultados
End If
objVenta.Dispose()
GvProductos.DataBind()
UpTabProductos.Update()
End Sub
Protected Sub LnkEditarProducto_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
CveProcedimientoProducto = GvRow.DataKey("CveProcedimientoProducto").ToEntero
Dim CvePS As String = GvRow.DataKey("CvePS")
Dim CodigoPS As String = GvRow.DataKey("CodigoPS")
Dim Estatus As Boolean = Boolean.Parse(GvRow.DataKey("Estatus"))
DdlProducto.ddl.SelectedValueExist(CvePS)
DdlProducto.txtText.Value = CodigoPS
DdlProducto.txtValue.Value = CvePS
ChkEstatusProducto.Checked = Estatus
LtlTituloAgregar.Text = "Actualizar producto"
DVProdcutoEstatus.Visible = True
UpAgregar.Update()
RegistraScript("$('#ModalAgregar').modal()")
End Sub
Protected Sub LnkEliminarProducto_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim CveProcedimientoProductoEliminar = GvRow.DataKey("CveProcedimientoProducto").ToEntero
Dim ObjVentas As New ClsVentas
Dim ProcesoOK = False
If ObjVentas.RemoveProcedimientoProducto(CveProcedimientoProductoEliminar, UsuarioActual.CveEmpresa) Then
ProcesoOK = True
End If
ObjVentas.Dispose()
If ProcesoOK Then
Alert("Producto eliminando correctamente.")
CargaProductos()
End If
End Sub
End Class

View File

@@ -17,7 +17,8 @@
<asp:UpdatePanel runat="server" ID="UpAgregar">
<ContentTemplate>
<li>
<asp:LinkButton runat="server" ID="LnkAgregarProcedimiento" OnClick="LnkAgregarProcedimiento_Click" data-toggle="tooltip" data-placement="left" title="Agregar Procedimiento" Text="<i class='fa fa-plus'></i> Agregar Procedimiento"></asp:LinkButton>
<a runat="server" href="~/Ventas/CatProcedimientoDetalle.aspx?CveProcedimiento=-1" target="_blank"
data-toggle="tooltip" data-placement="left" title="Agregar Procedimiento" ><i class='fa fa-plus'></i> Agregar Procedimiento</a>
</li>
</ContentTemplate>
</asp:UpdatePanel>
@@ -34,44 +35,47 @@
<div class="row">
<div class="col-md-12">
<div style="max-width:800px">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False"
DataKeyNames="CveProcedimiento, Procedimiento, Estatus, FechaIng, CveUsuario, CveEmpresa, Usuario, EstatusStr"
EmptyDataText="No se encontraron Procedimientos Registrados" ToolTip="Listado de Procedimientos" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Procedimiento" ItemStyle-HorizontalAlign="Left" >
<div style="max-width: 800px">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False"
DataKeyNames="CveProcedimiento, Procedimiento, Estatus, FechaIng, CveUsuario, CveEmpresa, Usuario, EstatusStr"
EmptyDataText="No se encontraron Procedimientos Registrados" ToolTip="Listado de Procedimientos" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" GridLines="None">
<Columns>
<asp:HyperLinkField HeaderText="Procedimiento" DataNavigateUrlFields="CveProcedimiento" DataNavigateUrlFormatString="CatProcedimientoDetalle.aspx?CveProcedimiento={0}" DataTextField="Procedimiento" Target="_blank" />
<%-- <asp:TemplateField HeaderText="Procedimiento" ItemStyle-HorizontalAlign="Left" >
<ItemTemplate>
<asp:Literal ID="LtlProcedimiento" runat="server" Text='<%# Eval("Procedimiento") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Estatus" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlEstatus" runat="server" Text='<%# Eval("EstatusStr") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</asp:TemplateField>--%>
<asp:TemplateField HeaderText="Fecha Ing." ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlFechaIng" runat="server" Text='<%# Eval("FechaIng", "{0:d}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Estatus" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlEstatus" runat="server" Text='<%# Eval("EstatusStr") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Usuario" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlUsuario" runat="server" Text='<%# Eval("Usuario") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="center" HeaderText="Opciones" ItemStyle-Width="100px">
<ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" OnClick="Edit_Click" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="LnkEliminar" OnClick="LnkEliminar_Click" runat="server" Visible="true" AlternateText="Reasignar" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i title='Reasignar' class='icon-trash' title='Eliminar' ></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:TemplateField HeaderText="Fecha Ing." ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlFechaIng" runat="server" Text='<%# Eval("FechaIng", "{0:d}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Usuario" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlUsuario" runat="server" Text='<%# Eval("Usuario") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="center" HeaderText="Opciones" ItemStyle-Width="100px" Visible="false">
<ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" OnClick="Edit_Click" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="LnkEliminar" OnClick="LnkEliminar_Click" runat="server" Visible="true" AlternateText="Reasignar" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i title='Reasignar' class='icon-trash' title='Eliminar' ></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>

View File

@@ -56,7 +56,7 @@ Partial Class Ventas_CatProcedimientos
ProcesoOK = True
End If
Else
If ObjVentas.AddProcedimiento(TxtProcedimiento.Text.Trim, ChkEstatus.Checked, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
If ObjVentas.AddProcedimiento(TxtProcedimiento.Text.Trim, ChkEstatus.Checked, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) > 0 Then
ProcesoOK = True
End If
End If

View File

@@ -8428,7 +8428,7 @@
<div class="col-md-4" >
</div>
<div class="col-md-4" style="text-align:left!important" >
<asp:RadioButtonList ID="RBLTipoVenta" DataTextField="TipoVenta" RepeatDirection="Vertical" DataValueField="CveTipoVenta" runat="server" AutoPostBack="true" OnSelectedIndexChanged="RBLTipoVenta_SelectedIndexChanged">
<asp:RadioButtonList ID="RBLTipoVenta" DataTextField="TipoVenta" RepeatDirection="Vertical" DataValueField="CveTipoVenta" runat="server" AutoPostBack="true" OnSelectedIndexChanged="RBLTipoVenta_SelectedIndexChanged" Style="margin-top:10px!important">
</asp:RadioButtonList>
</div>
<div class="col-md-4" >
@@ -8449,23 +8449,26 @@
<%--Medico Procedimiento--%>
<div runat="server" visible="False" id="DvModalTipoVentaPasoMedicoProcedimiento">
<div class="row">
<div class="form-group col-md-6 form-md-line-input input-iconright ">
<asp:Label runat="server" Style="width: 90%; color: #888888;" AssociatedControlID="DdlMedicoModal">Médico:</asp:Label>
<div class="form-group col-md-6 form-md-line-input input-iconright ">
<asp:DropDownList ID="DdlMedicoModal" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="Medico" DataValueField="CveMedico" >
<asp:ListItem Value="-1">Seleccione uno</asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlMedicoModal" runat="server" CssClass="help-block errorimput" Display="None" InitialValue="-1"
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlMedicoModal" runat="server" CssClass="" Display="None" InitialValue="-1"
ControlToValidate="DdlMedicoModal" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Medico''</b> es necesario, por favor ingréselo." ValidationGroup="GrpModalVentaMedica"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCRfvDdlMedicoModal" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlMedicoModal" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" Style="width: 90%; color: #888888;" AssociatedControlID="DdlMedicoModal">Médico:</asp:Label>
</div>
<div class="form-group col-md-6 form-md-line-input input-iconright ">
<asp:Label runat="server" Style="width: 90%; color: #888888;" AssociatedControlID="DdlProcedimientoModal">Procedimiento:</asp:Label>
<asp:DropDownList ID="DdlProcedimientoModal" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="Procedimiento" DataValueField="CveProcedimiento" >
<div class="form-group col-md-6 form-md-line-input input-iconright ">
<asp:DropDownList ID="DdlProcedimientoModal" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="Procedimiento" DataValueField="CveProcedimiento"
OnSelectedIndexChanged="DdlProcedimientoModal_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Value="-1">Seleccione uno</asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlProcedimientoModal" runat="server" CssClass="help-block errorimput" Display="None" InitialValue="-1"
ControlToValidate="DdlProcedimientoModal" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Procedimiento''</b> es necesario, por favor ingréselo." ValidationGroup="GrpModalVentaMedica"></asp:RequiredFieldValidator>
<asp:RequiredFieldValidator ID="RfvDdlProcedimientoModal" runat="server" CssClass="" Display="None" InitialValue="-1"
ControlToValidate="DdlProcedimientoModal" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Procedimiento''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpModalVentaMedica"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCRfvDdlProcedimientoModal" runat="server" HighlightCssClass="vco" TargetControlID="RfvDdlProcedimientoModal" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:Label runat="server" Style="width: 90%; color: #888888;" AssociatedControlID="DdlProcedimientoModal">Procedimiento:</asp:Label>
</div>
</div>
@@ -8487,6 +8490,53 @@
</div>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvProductosProcedimiento" runat="server" CssClass="table table-hover table-striped ScrollAD mysmallbtn" data-sort="true" AutoGenerateColumns="False" Width="100%"
DataKeyNames="CveProcedimientoProducto,CveProcedimiento,CvePS,CodigoPS,Autogenerado,Estatus,CveVenta,CveUnidadMedida,Abreviatura,CveClasificacion,Clasificacion" GridLines="None">
<Columns>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="20px">
<ItemTemplate>
<asp:CheckBox ID="Chk" runat="server" ></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right" HeaderText="Cant." ItemStyle-Width="30px">
<ItemTemplate>
<asp:TextBox ID="TxtCantidad" runat="server" Text="1" Width="30px"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilTxtCantidad" runat="server" TargetControlID="TxtCantidad" FilterType="Custom, Numbers" ValidChars="." />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="CodigoPS" HeaderText="Producto">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Abreviatura" HeaderText="UM">
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<%--<asp:BoundField DataField="Precio" HeaderText="Precio">
<ItemStyle HorizontalAlign="Right" />
</asp:BoundField> --%>
<asp:TemplateField ItemStyle-HorizontalAlign="Right" HeaderText="P.U." ItemStyle-Width="30px">
<ItemTemplate>
<asp:TextBox ID="TxtPrecio" runat="server" Text='<%# Eval("Precio") %>' Width="30px"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilTxtPrecio" runat="server" TargetControlID="TxtPrecio" FilterType="Custom, Numbers" ValidChars="." />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="Titulos" Height="15px"></HeaderStyle>
</asp:GridView>
</div>
</div>

View File

@@ -13499,6 +13499,7 @@ Partial Class Ventas
End If
If EsVentaMedica AndAlso ErrorList.Count = 0 AndAlso ChkRequiereTecnico.Checked Then
GeneraOS(ObjVentas.IniciaTransacSQL, ErrorList)
If ErrorList.Count = 0 Then
@@ -13507,6 +13508,10 @@ Partial Class Ventas
End If
End If
If Not ObjVentas.SincronizacionProcedimientoProducto(DdlProcedimiento.SelectedValue.ToEntero, factura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
ErrorList.Add("Ocurrió un error al guardar los productos al procedimiento")
End If
End If
@@ -35613,6 +35618,9 @@ Partial Class Ventas
DdlMedicoModal.SelectedValueExist(-1)
DdlProcedimientoModal.SelectedValueExist(-1)
GvProductosProcedimiento.DataSource = Nothing
GvProductosProcedimiento.DataBind()
UpDvModalTipoVenta.Update()
End Sub
@@ -35671,6 +35679,44 @@ Partial Class Ventas
RegistraScript("$('#DvModalTipoVenta').modal('hide');")
Dim CountPsAgregados As Integer = 0
For Each GvRow As GridViewRow In GvProductosProcedimiento.Rows
Dim Chk As CheckBox = GvRow.FCCheckBox("Chk")
Dim Cantidad As Decimal = GvRow.FCTextBox("TxtCantidad").Text.ToDecimal
If Chk.Checked AndAlso Cantidad > 0 Then
Dim CveUnidadMedida As Integer = GvRow.DataKey("CveUnidadMedida").ToEntero
Dim Abreviatura As String = GvRow.DataKey("Abreviatura").ToString
Dim PU As Decimal = GvRow.FCTextBox("TxtPrecio").Text.ToDecimal
Dim CveClasificacion As Integer = GvRow.DataKey("CveClasificacion").ToEntero
Dim Clasificacion As String = GvRow.DataKey("Clasificacion").ToString
Dim CvePS As Integer = GvRow.DataKey("CvePS").ToEntero
If AgregarProductoServicio(Cantidad, CveUnidadMedida, Abreviatura, CveClasificacion, Clasificacion,
CvePS, "", TxtObsPS.Text.TrimEnd, PU, 0,
DdlProyecto.SelectedValue.ToEntero(), DdlProyecto.SelectedItem.Text, DdlSubProyecto.SelectedValue.ToEntero(), DdlSubProyecto.SelectedItem.Text,
Serie:=If(DIVCod.Visible, TxtCodigoSerie.Text.Trim, ""), TiempoEntrega:=TxtTiempoEntrega.Text, CuentaPredial:=TxtCuentaPredial.Text.Trim, RegeneraIEPS:=ClienteDesglosaIEPS, CvePromocionDetalle:=-1,
ImporteProntoPago:=0, ObjDescuento:=Nothing, CvePrecioLista:=-1, PrecioLista:="", NumTurnos:=0) Then
CountPsAgregados = CountPsAgregados + 1
Else
Exit For
End If
End If
Next
If CountPsAgregados > 0 Then
CalculaTotalesVenta()
End If
UpCliente.Update()
End Sub
@@ -35682,6 +35728,27 @@ Partial Class Ventas
End Sub
Protected Sub DdlProcedimientoModal_SelectedIndexChanged(sender As Object, e As EventArgs)
If DdlProcedimientoModal.SelectedValue.ToEntero > 0 Then
Dim objVenta As New ClsVentas
If objVenta.GetProcedimientoProducto(DdlProcedimientoModal.SelectedValue.ToEntero, 1, UsuarioActual.CveEmpresa) Then
GvProductosProcedimiento.DataSource = objVenta.DtResultados
End If
objVenta.Dispose()
Else
GvProductosProcedimiento.DataSource = Nothing
End If
GvProductosProcedimiento.DataBind()
UpDvModalTipoVenta.Update()
End Sub
Private Function GeneraOS(ByRef TransacSQL As SqlTransaction, ByRef errorList As List(Of String)) As Boolean
@@ -35767,5 +35834,7 @@ Partial Class Ventas
'End Sub
End Class