Commit inicial Ventas Productivo
This commit is contained in:
240
Nomina/ReportePTU.aspx.vb
Normal file
240
Nomina/ReportePTU.aspx.vb
Normal file
@@ -0,0 +1,240 @@
|
||||
Imports Extensiones
|
||||
Imports System.Data
|
||||
Imports System.Drawing
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
Imports System.IO
|
||||
Imports System.Xml
|
||||
|
||||
Partial Class Nomina_ReportePTU
|
||||
Inherits ClsPaginas
|
||||
#Region "Propiedades"
|
||||
Dim dtPeriodos As DataTable
|
||||
Private Property DTUtilidades As DataTable
|
||||
Get
|
||||
Return CType(ViewState("DTUtilidades"), DataTable)
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DTUtilidades") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property utilimporte As Double
|
||||
Get
|
||||
Return ViewState("utilimporte").ToString().ToDouble()
|
||||
End Get
|
||||
Set(value As Double)
|
||||
ViewState("utilimporte") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property utilimporteAnt As Double
|
||||
Get
|
||||
Return ViewState("utilimporteAnt").ToString().ToDouble()
|
||||
End Get
|
||||
Set(value As Double)
|
||||
ViewState("utilimporteAnt") = 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
|
||||
Dim objnom As New ClsNominas()
|
||||
objnom.GetEjercicios(UsuarioActual.CveEmpresa)
|
||||
DdlEjercicios.DataSource = objnom.DtResultados
|
||||
'DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo.FiltraParametros("Estatus = 'Activo'")
|
||||
'DdlTipoPeriodo.DataBind()
|
||||
'DdlTipoPeriodo.SelectedValueExist("6")
|
||||
'DdlTipoPeriodo.Enabled = False
|
||||
|
||||
objnom.Dispose()
|
||||
DdlEjercicios.DataBind()
|
||||
If (DdlEjercicios.Items.Count > 0) Then
|
||||
DdlEjercicios.SelectedIndex = 0
|
||||
DdlEjercicios_SelectedIndexChanged(Nothing, Nothing)
|
||||
End If
|
||||
End If
|
||||
|
||||
End Sub
|
||||
Protected Sub BtnCalcular_Click(sender As Object, e As EventArgs)
|
||||
Dim ejercicio As Integer = DdlEjercicios.SelectedValue.ToEntero()
|
||||
utilimporte = TxtPA_Nimporte.Text.ToDouble()
|
||||
utilimporteAnt = TxtPA_NimporteA.Text.ToDouble()
|
||||
|
||||
Dim objnom As New ClsNominas()
|
||||
objnom.GetCalculoUtilidades(ejercicio, UsuarioActual.CveEmpresa, utilimporte, utilimporteAnt)
|
||||
DTUtilidades = objnom.DtResultados
|
||||
objnom.Dispose()
|
||||
|
||||
cargaEjercicio(DTUtilidades)
|
||||
LnkAutorizarModal.Visible = True
|
||||
upDatosPA_N.Update()
|
||||
End Sub
|
||||
|
||||
Private Sub CargaPeriodos()
|
||||
Dim ObjPeriodos As New ClsNominas()
|
||||
If ObjPeriodos.GetPeriodos(-1, UsuarioActual.CveEmpresa, DdlEjercicios.SelectedValue.ToEntero, -1, -1) Then
|
||||
dtPeriodos = ObjPeriodos.DtResultados.FiltraParametros("Estatus IN (0,1)")
|
||||
End If
|
||||
ObjPeriodos.Dispose()
|
||||
Dim listaCveTipoPeriodo As New StringBuilder("-1")
|
||||
Dim dt As DataTable = DTUtilidades.FiltraParametros("", "", {"CveTipoPeriodo"})
|
||||
For Each rowp As DataRow In dt.Rows
|
||||
listaCveTipoPeriodo.Append(",")
|
||||
listaCveTipoPeriodo.Append(rowp("CveTipoPeriodo"))
|
||||
Next
|
||||
|
||||
|
||||
GVTipoPeriodo.DataSource = GlobalDTTipoPeriodo.FiltraParametros($"Estatus = 'Activo' AND CveTipoPeriodo IN({listaCveTipoPeriodo.ToString()})")
|
||||
GVTipoPeriodo.DataBind()
|
||||
|
||||
If (Not IsNothing(dtPeriodos) AndAlso dtPeriodos.Rows.Count()) Then
|
||||
DdlPeriodo.DataSource = dtPeriodos.FiltraParametros("CveTipoPeriodo=6")
|
||||
|
||||
End If
|
||||
DdlPeriodo.DataBind()
|
||||
DdlPeriodo.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
UpModalAutorizar.Update()
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlPeriodo_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
PnlTipoPeriodos.Visible = (DdlPeriodo.SelectedValue.ToEntero() <= 0)
|
||||
End Sub
|
||||
'Protected Sub DdlTipoPeriodo_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
' CargaPeriodos()
|
||||
'End Sub
|
||||
Protected Sub LnkAutorizarModal_Click(sender As Object, e As EventArgs)
|
||||
CargaPeriodos()
|
||||
RegistraScript("$('#ModalAutorizar').modal();")
|
||||
End Sub
|
||||
Protected Sub LnkAutorizar_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim continuar As Boolean = True
|
||||
Dim mensaje As String = ""
|
||||
Dim DiasLaborados As Integer
|
||||
Dim SueldoTotal As Double
|
||||
Dim Importe As Double
|
||||
Dim CveMoneda As Integer = 1
|
||||
Dim CvePeriodoSeleccionado = DdlPeriodo.SelectedValue.ToEntero()
|
||||
Dim ejercicio As Integer = DdlEjercicios.SelectedValue.ToEntero()
|
||||
Dim CvePersonal As Integer
|
||||
Dim CvePeriodo As Integer
|
||||
Dim listaperiodos As New List(Of Periodos)
|
||||
If CvePeriodoSeleccionado <= 0 Then
|
||||
|
||||
For Each gvRow As GridViewRow In GVTipoPeriodo.Rows
|
||||
Dim periodo As New Periodos
|
||||
periodo.CveTipoPeriodo = gvRow.DataKey("CveTipoPeriodo").ToString().ToEntero()
|
||||
periodo.CvePeriodo = gvRow.FCDropDownList("ddlPeriodo").SelectedValue.ToEntero()
|
||||
If periodo.CvePeriodo <= 0 Then
|
||||
continuar = False
|
||||
mensaje = "debe seleccionar un periodo Extraordinario o el periodo para los distintos tipo de periodos del personal!"
|
||||
Exit For
|
||||
End If
|
||||
listaperiodos.Add(periodo)
|
||||
Next
|
||||
End If
|
||||
'Dim ImporteGravado As Double
|
||||
'Dim ImporteExento As Double
|
||||
''Dim NombrePersonal As String
|
||||
'Dim CveMetodoPago As Integer
|
||||
'Dim CveNomina As Integer
|
||||
Dim CveConcepto As Integer = 0
|
||||
If continuar Then
|
||||
Dim objNomina As New ClsNominas()
|
||||
objNomina.IniciaTransacSQL()
|
||||
If continuar Then
|
||||
continuar = objNomina.UpADDdUtilidadesEjercicio(UsuarioActual.CveEmpresa, ejercicio, utilimporte, utilimporteAnt, False)
|
||||
If continuar Then
|
||||
If objNomina.DtResultados.Rows.Count < 0 OrElse objNomina.DtResultados.Rows(0)("CONTimbrado").ToString() = "1" Then
|
||||
continuar = False
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
If continuar Then continuar = objNomina.GetConceptos(UsuarioActual.CveEmpresa)
|
||||
If continuar Then
|
||||
Dim rowc As DataRow = objNomina.DtResultados.FiltroPrimero("Concepto='Utilidades' AND Tipo='P'")
|
||||
If Not IsNothing(rowc) Then
|
||||
CveConcepto = rowc("CveConcepto").ToString().ToEntero()
|
||||
Else
|
||||
CveConcepto = objNomina.AddConcepto("PTU", "Utilidades", "P", "", True, True, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, -1, -1, -1, 0, -1)
|
||||
End If
|
||||
If CveConcepto < 1 Then
|
||||
continuar = False
|
||||
End If
|
||||
End If
|
||||
For Each row As DataRow In DTUtilidades.Rows
|
||||
Importe = row("Importe").ToString().ToDouble()
|
||||
SueldoTotal = row("SueldoTotal").ToString().ToDouble()
|
||||
DiasLaborados = row("DiasLaborados").ToString().ToEntero()
|
||||
CvePersonal = row("CvePersonal").ToString().ToEntero()
|
||||
CvePeriodo = CvePeriodoSeleccionado
|
||||
|
||||
If continuar Then
|
||||
continuar = objNomina.AddUtilidad(CvePersonal, Importe, CvePeriodo, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, ejercicio, DiasLaborados, SueldoTotal)
|
||||
End If
|
||||
If Not continuar Then
|
||||
Exit For
|
||||
End If
|
||||
|
||||
Next
|
||||
If continuar And CvePeriodoSeleccionado > 0 Then
|
||||
|
||||
continuar = objNomina.CambiaEstatusPeriodo(CvePeriodoSeleccionado, enumNominasEstatus.Activa, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
End If
|
||||
If continuar Then
|
||||
objNomina.Commit()
|
||||
Else
|
||||
objNomina.RollBack()
|
||||
End If
|
||||
objNomina.Dispose()
|
||||
End If
|
||||
If mensaje.Length > 0 Then
|
||||
Alert(mensaje, TipoMensaje.MsgAdvertencia)
|
||||
continuar = False
|
||||
End If
|
||||
If continuar Then
|
||||
RegistraScript("$('#ModalAutorizar').modal('hide');")
|
||||
Alert("Se han generado las utilidades")
|
||||
End If
|
||||
End Sub
|
||||
Private Class Periodos
|
||||
Public Property CveTipoPeriodo As Integer
|
||||
Public Property CvePeriodo As Integer
|
||||
|
||||
|
||||
End Class
|
||||
Protected Sub DdlEjercicios_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
Dim ejercicio As Integer = DdlEjercicios.SelectedValue.ToEntero()
|
||||
Dim objnom As New ClsNominas()
|
||||
Dim dt As DataTable = Nothing
|
||||
objnom.GetUtilidadesEjercicio(UsuarioActual.CveEmpresa, ejercicio)
|
||||
If (objnom.DtResultados.Rows.Count > 0) Then
|
||||
TxtPA_Nimporte.Text = $"{objnom.DtResultados.Rows(0)("Importe"):N2}"
|
||||
TxtPA_NimporteA.Text = $"${objnom.DtResultados.Rows(0)("ImporteAnterior"):N2}"
|
||||
objnom.GetUtilidad(-1, -1, UsuarioActual.CveEmpresa, ejercicio)
|
||||
dt = objnom.DtResultados
|
||||
End If
|
||||
objnom.Dispose()
|
||||
cargaEjercicio(dt)
|
||||
End Sub
|
||||
Private Sub cargaEjercicio(dt As DataTable)
|
||||
If Not IsNothing(dt) AndAlso dt.Rows.Count > 0 Then
|
||||
pnlTotales.Visible = True
|
||||
LblNumeroDias.Text = $"{dt.SUM("DiasLaborados"):N0}"
|
||||
LblSueldos.Text = $"{dt.SUM("SueldoTotal"):N0}"
|
||||
Else
|
||||
pnlTotales.Visible = False
|
||||
End If
|
||||
GVCalcularUtilidades.DataSource = dt
|
||||
GVCalcularUtilidades.DataBind()
|
||||
End Sub
|
||||
Protected Sub GVTipoPeriodo_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
If (Not IsNothing(dtPeriodos) AndAlso dtPeriodos.Rows.Count()) Then
|
||||
Dim dddlperiodo As DropDownList = e.Row.FCDropDownList("ddlPeriodo")
|
||||
dddlperiodo.DataSource = dtPeriodos.FiltraParametros(String.Format("CveTipoPeriodo={0}", e.Row.DataKey("CveTipoPeriodo")))
|
||||
dddlperiodo.DataBind()
|
||||
dddlperiodo.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user