From 4c3eae82dd2c5a155d1bf21dce82c70c693506b0 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Wed, 6 Dec 2023 10:54:34 -0700 Subject: [PATCH] Procedimientos medicos cat detalles --- App_Code/ClsPaginas.vb | 1 + App_Code/ClsVentas.vb | 136 ++++++++++++ Ventas/CatProcedimientoDetalle.aspx | 260 ++++++++++++++++++++++ Ventas/CatProcedimientoDetalle.aspx.vb | 285 +++++++++++++++++++++++++ Ventas/CatProcedimientos.aspx | 69 +++--- 5 files changed, 718 insertions(+), 33 deletions(-) create mode 100644 Ventas/CatProcedimientoDetalle.aspx create mode 100644 Ventas/CatProcedimientoDetalle.aspx.vb diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index d63910d2f..e974a2f66 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -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) diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 6f2f06af9..11e958064 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -6149,9 +6149,16 @@ Public Class ClsVentas .Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa End With + Try SqlAdapter.Fill(Data) Retorno = True + Catch Ex1 As SqlException + If Ex1.Message.Contains("Número: 547;") Then + Alert("La 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 @@ -6159,6 +6166,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" diff --git a/Ventas/CatProcedimientoDetalle.aspx b/Ventas/CatProcedimientoDetalle.aspx new file mode 100644 index 000000000..6191532b1 --- /dev/null +++ b/Ventas/CatProcedimientoDetalle.aspx @@ -0,0 +1,260 @@ +<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatProcedimientoDetalle.aspx.vb" Inherits="Ventas_CatProcedimientoDetalle" %> + + + + + + + + + + + + + + + +
  • + +
  • + +
    +
    + +
    + + + + + + + + + + + + + +
    +
    +
    +
    +
    + + General +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
    + + + +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + +
    + " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " class="btn btn-circle btn-sm label-info"> +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    + + + + + + + + +
    + " style="display: inline-block; margin-right: -20px; width: 150px;" /> + " class="btn btn-circle btn-sm label-info"> +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    +
    +
    + + +
    +
    + + + + + +
    + + + + + +
    + +
    +
    + + + + + + + + + +
    + + + diff --git a/Ventas/CatProcedimientoDetalle.aspx.vb b/Ventas/CatProcedimientoDetalle.aspx.vb new file mode 100644 index 000000000..5663495a2 --- /dev/null +++ b/Ventas/CatProcedimientoDetalle.aspx.vb @@ -0,0 +1,285 @@ +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() + 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 + ProcesoOK = True + End If + 'Else + ' If ObjVentas.AddProcedimiento(TxtProcedimiento.Text.Trim, ChkEstatus.Checked, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + ' ProcesoOK = True + ' End If + End If + + ObjVentas.Dispose() + + If ProcesoOK Then + Alert($"Procedimiento {If(CveProcedimiento > 0, "Actualizado", "Guardado")} Correctamente.") + 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 diff --git a/Ventas/CatProcedimientos.aspx b/Ventas/CatProcedimientos.aspx index d50048c14..e47af474b 100644 --- a/Ventas/CatProcedimientos.aspx +++ b/Ventas/CatProcedimientos.aspx @@ -34,44 +34,47 @@
    -
    - - - +
    + + + + + + <%-- - - - - - - - + --%> - - - - - + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +