362 lines
12 KiB
VB.net
362 lines
12 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports System.Data
|
|
Imports System.Data.Entity
|
|
Imports Extensiones
|
|
Imports Microsoft.EntityFrameworkCore
|
|
|
|
|
|
Partial Class Ventas_RepComisionesSMS
|
|
Inherits ClsPaginas
|
|
|
|
Property DTDatos As DataTable
|
|
Get
|
|
If ViewState("DTDatos") Is Nothing Then
|
|
ViewState("DTDatos") = New DataTable
|
|
End If
|
|
Return DirectCast(ViewState("DTDatos"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DTDatos") = value
|
|
End Set
|
|
End Property
|
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
|
|
If Not Page.IsPostBack Then
|
|
|
|
Dim FechaInicial As Date = New Date(10)
|
|
|
|
txtFechaI.Text = Now.FirstDayOfMonth.ToString("dd/MM/yyyy")
|
|
txtFechaF.Text = Now.ToString("dd/MM/yyyy")
|
|
CargaCombos()
|
|
CargaDatos()
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub CargaCombos()
|
|
|
|
|
|
'If UsuarioActual.Empresa.Funcionalidad(302) = "1" AndAlso DdlSubProyectoDatos.SelectedValue.ToEntero() > 0 Then
|
|
' DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltraParametros(String.Format("VendedorTipo IN (1,4) AND (CveSubProyecto IS NULL OR CveSubProyecto = {0})", DdlSubProyectoDatos.SelectedValue))
|
|
'Else
|
|
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltraParametros("VendedorTipo = 1")
|
|
'End If
|
|
DdlVendedor.DataBind()
|
|
DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
|
|
DdlMedico.DataSource = GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' ")
|
|
DdlMedico.DataBind()
|
|
DdlMedico.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlUsuarioAtendio.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
|
|
DdlUsuarioAtendio.DataBind()
|
|
DdlUsuarioAtendio.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Public Sub CargaDatos()
|
|
|
|
LnkExportar.Visible = False
|
|
|
|
Dim ObjVentas As New ClsVentas
|
|
|
|
If ObjVentas.GetComisionesMedicasRep(txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, UsuarioActual.CveEmpresa, -1, -1, DdlMedico.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, DdlUsuarioAtendio.SelectedValue.ToEntero, -1, 1) Then
|
|
GvDatos.DataSource = ObjVentas.DtResultados
|
|
|
|
If ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
|
|
LnkExportar.Visible = True
|
|
End If
|
|
Else
|
|
GvDatos.DataSource = Nothing
|
|
End If
|
|
|
|
ObjVentas.Dispose()
|
|
|
|
GvDatos.DataBind()
|
|
|
|
UpDatos.Update()
|
|
|
|
End Sub
|
|
|
|
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
|
|
|
|
|
|
CargaDatos()
|
|
|
|
|
|
End Sub
|
|
|
|
#Region "EXCEL"
|
|
|
|
Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
|
|
|
|
Dim SbFiltros As New StringBuilder()
|
|
SbFiltros.AppendFormat($"Fecha Inicio: {txtFechaI.Text} Fecha Fin: {txtFechaF.Text}|")
|
|
|
|
GvDatos.Columns(10).Visible = False
|
|
GvDatos.ExportToExcelGembox("Comisiones", UsuarioActual, "Comisiones", DatoTituloExtra:=$"", DatosFiltros:=SbFiltros.ToString())
|
|
GvDatos.Columns(10).Visible = True
|
|
|
|
End Sub
|
|
|
|
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
|
|
Protected Sub LnkComisiones_Click(sender As Object, e As EventArgs)
|
|
CargaComisiones()
|
|
RegistraScript("$('#DvModalComisiones').modal('show');")
|
|
End Sub
|
|
|
|
Private Sub CargaComisiones()
|
|
DTDatos = New DataTable
|
|
GvComisiones.DataSource = Nothing
|
|
|
|
Dim objVentas As New ClsVentas
|
|
|
|
If objVentas.GetComisionesMedicas(UsuarioActual.CveEmpresa) Then
|
|
GvComisiones.DataSource = objVentas.DtResultados
|
|
DTDatos = objVentas.DtResultados
|
|
End If
|
|
|
|
objVentas.Dispose()
|
|
|
|
GvComisiones.DataBind()
|
|
|
|
UpDvModalComisiones.Update()
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Protected Sub BtnGuardarComisiones_Click(sender As Object, e As EventArgs)
|
|
|
|
Dim objVentas As New ClsVentas
|
|
objVentas.IniciaTransacSQL()
|
|
|
|
Dim TieneError As Boolean = False
|
|
|
|
For Each GvRow As GridViewRow In GvComisiones.Rows
|
|
|
|
Dim CvePS As Integer = GvRow.DataKey("CvePS").ToEntero
|
|
Dim ComisionMedicoDT As Decimal = DTDatos.FiltroPrimeroValor("ComisionMedico", $"CvePS = {CvePS} ").ToDecimal
|
|
Dim ComisionVendedorDT As Decimal = DTDatos.FiltroPrimeroValor("ComisionVendedor", $"CvePS = {CvePS} ").ToDecimal
|
|
Dim ComisionTecnicoDT As Decimal = DTDatos.FiltroPrimeroValor("ComisionTecnico", $"CvePS = {CvePS} ").ToDecimal
|
|
Dim ComisionGerenteDT As Decimal = DTDatos.FiltroPrimeroValor("ComisionGerente", $"CvePS = {CvePS} ").ToDecimal
|
|
|
|
Dim ComisionMedicoGV As Decimal = GvRow.FCTextBox("TxtComisionMedico").Text.ToDecimal
|
|
Dim ComisionGerenteGV As Decimal = (GvRow.FCTextBox("TxtComisionGerente").Text.ToDecimal / 100).RoundSQL(4)
|
|
Dim ComisionVendedorGV As Decimal = (GvRow.FCTextBox("TxtComisionVendedor").Text.ToDecimal / 100).RoundSQL(4)
|
|
Dim ComisionTecnicoGV As Decimal = (GvRow.FCTextBox("TxtComisionTecnico").Text.ToDecimal / 100).RoundSQL(4)
|
|
|
|
|
|
If ComisionMedicoDT <> ComisionMedicoGV Or ComisionVendedorDT <> ComisionVendedorGV Or ComisionTecnicoDT <> ComisionTecnicoGV Or ComisionGerenteDT <> ComisionGerenteGV Then
|
|
If Not objVentas.AddUpdateComisionesMedicas(GvRow.DataKey("CvePS").ToEntero, UsuarioActual.CveEmpresa, ComisionMedicoGV, ComisionVendedorGV, ComisionTecnicoGV, ComisionGerenteGV) Then
|
|
TieneError = True
|
|
End If
|
|
End If
|
|
|
|
Next
|
|
|
|
If TieneError Then
|
|
objVentas.RollBack()
|
|
Else
|
|
objVentas.Commit()
|
|
Alert("Comisiones Actualizadas correctamente")
|
|
End If
|
|
|
|
objVentas.Dispose()
|
|
|
|
End Sub
|
|
|
|
Protected Sub GvComisiones_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
|
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
'ComisionMedico,ComisionGerente,ComisionVendedor,ComisionTecnico"
|
|
|
|
If e.Row.DataKey("ComisionMedico").ToDecimal = 0 Then
|
|
e.Row.FCTextBox("TxtComisionMedico").Text = ""
|
|
Else
|
|
e.Row.FCTextBox("TxtComisionMedico").Text = e.Row.DataKey("ComisionMedico").ToDecimal.ToString("###.00")
|
|
End If
|
|
|
|
|
|
If e.Row.DataKey("ComisionGerente").ToDecimal = 0 Then
|
|
e.Row.FCTextBox("TxtComisionGerente").Text = ""
|
|
Else
|
|
e.Row.FCTextBox("TxtComisionGerente").Text = (e.Row.DataKey("ComisionGerente").ToDecimal * 100).ToString("###.00")
|
|
End If
|
|
|
|
|
|
If e.Row.DataKey("ComisionVendedor").ToDecimal = 0 Then
|
|
e.Row.FCTextBox("TxtComisionVendedor").Text = ""
|
|
Else
|
|
e.Row.FCTextBox("TxtComisionVendedor").Text = (e.Row.DataKey("ComisionVendedor").ToDecimal * 100).ToString("###.00")
|
|
End If
|
|
|
|
If e.Row.DataKey("ComisionTecnico").ToDecimal = 0 Then
|
|
e.Row.FCTextBox("TxtComisionTecnico").Text = ""
|
|
Else
|
|
e.Row.FCTextBox("TxtComisionTecnico").Text = (e.Row.DataKey("ComisionTecnico").ToDecimal * 100).ToString("###.00")
|
|
End If
|
|
|
|
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
#Region "COMISIONES ESPECIALES"
|
|
|
|
Protected Sub LnkComisionesEspeciales_Click(sender As Object, e As EventArgs)
|
|
|
|
ReiniciaModalComisionesEspeciales()
|
|
|
|
CargaComisionesEspeciales()
|
|
RegistraScript("$('#DvModalComisionesEspeciales').modal('show');")
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub ReiniciaModalComisionesEspeciales()
|
|
|
|
DdlModalTipoComision.SelectedValueExist(-1)
|
|
|
|
DdlModalMedico.SelectedValue = Nothing
|
|
DdlModalMedico.ClearSelection()
|
|
DdlModalMedico.Items.Clear()
|
|
DdlModalMedico.DataSource = GlobalDTMedicos(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'True' ")
|
|
DdlModalMedico.DataBind()
|
|
DdlModalMedico.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
|
|
DdlModalPS.SelectedValue = "-1"
|
|
DdlModalPS.SelectedValue = ""
|
|
DdlModalPS.SelectedText = ""
|
|
|
|
Dim EsWS As Boolean = If(UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1", True, False)
|
|
If EsWS Then
|
|
DdlModalPS.setEsWebService(True)
|
|
Else
|
|
|
|
DdlModalPS.ddl.SelectedValue = Nothing
|
|
DdlModalPS.ddl.ClearSelection()
|
|
DdlModalPS.ddl.Items.Clear()
|
|
|
|
|
|
'Objeto.ddl.DataSource = GlobalDTProductosServicios(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion, AplicaParaVenta:=1, Estatus:=1)
|
|
DdlModalPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, Estatus:=1)
|
|
DdlModalPS.ddl.DataBind()
|
|
DdlModalPS.ddl.Items.Insert(0, New ListItem("*** Actualizar listado de Productos o Servicios ***", "-2"))
|
|
DdlModalPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
|
|
|
|
DdlModalPS.setEsWebService(False)
|
|
End If
|
|
|
|
TxtModalComision.Text = ""
|
|
|
|
UpModalComisionesEspeciales.Update()
|
|
|
|
End Sub
|
|
Private Sub CargaComisionesEspeciales()
|
|
|
|
Dim ObjVentas As New ClsVentas
|
|
GvComisionesEspeciales.DataSource = Nothing
|
|
If ObjVentas.GetComisionesMedicasEsPeciales(-1, -1, UsuarioActual.CveEmpresa) Then
|
|
GvComisionesEspeciales.DataSource = ObjVentas.DtResultados
|
|
End If
|
|
ObjVentas.Dispose()
|
|
GvComisionesEspeciales.DataBind()
|
|
UpModalComisionesEspeciales.Update()
|
|
End Sub
|
|
|
|
Protected Sub LnkEliminarComisionEspecial_Click(sender As Object, e As EventArgs)
|
|
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
|
Dim CveMedicoComision As Integer = GvRow.DataKey("CveMedicoComision").ToEntero
|
|
|
|
If CveMedicoComision > 0 Then
|
|
Dim errorProceso As Boolean = False
|
|
|
|
Dim ObjVentas As New ClsVentas
|
|
|
|
If ObjVentas.RemoveComisionesMedicasEspeciales(CveMedicoComision, UsuarioActual.CveEmpresa) Then
|
|
Alert("Comisión eliminada correctamente")
|
|
Else
|
|
errorProceso = True
|
|
End If
|
|
|
|
ObjVentas.Dispose()
|
|
|
|
|
|
If Not errorProceso Then
|
|
CargaComisionesEspeciales()
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
|
|
Protected Sub DdlModalTipoComision_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
|
|
TxtModalComision.Text = ""
|
|
|
|
If DdlModalTipoComision.SelectedValue.ToEntero = 1 Then
|
|
TxtModalComision.Attributes.Add("onkeyup", "FormatoMoneda(this)")
|
|
Else
|
|
TxtModalComision.Attributes.Add("onkeyup", "FormatoMoneda(this);validaPorcentaje(this);")
|
|
End If
|
|
|
|
UpModalComisionesEspeciales.Update()
|
|
|
|
End Sub
|
|
|
|
Protected Sub LnkModalGuardarComisionEspecial_Click(sender As Object, e As EventArgs)
|
|
|
|
If DdlModalPS.SelectedValue.ToEntero <= 0 Then
|
|
Alert("Debe de seleccionar un producto.", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
|
|
If TxtModalComision.Text.ToDecimal = 0 Then
|
|
Alert("La comisión es requerida.", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim errorProceso As Boolean = False
|
|
|
|
Dim Comision As Decimal = TxtModalComision.Text.ToDecimal
|
|
|
|
If DdlModalTipoComision.SelectedValue.ToEntero = 2 Then
|
|
Comision = TxtModalComision.Text.ToDecimal / 100
|
|
End If
|
|
|
|
Dim ObjVentas As New ClsVentas
|
|
|
|
If ObjVentas.AddComisionesMedicasEspeciales(DdlModalMedico.SelectedValue.ToEntero, DdlModalPS.SelectedValue.ToEntero, DdlModalTipoComision.SelectedValue.ToEntero, Comision, UsuarioActual.CveUsuario) Then
|
|
Alert("Comisión agregada correctamente")
|
|
Else
|
|
errorProceso = True
|
|
End If
|
|
|
|
ObjVentas.Dispose()
|
|
|
|
If Not errorProceso Then
|
|
CargaComisionesEspeciales()
|
|
ReiniciaModalComisionesEspeciales()
|
|
End If
|
|
|
|
End Sub
|
|
End Class
|