Option Strict On Option Explicit On Imports Extensiones Imports System.Data Partial Class Nomina_PreNominaHistorial Inherits ClsPaginas Private ReadOnly Property DTPeriodos As DataTable Get Return DirectCast(ViewState("DTPeriodos"), DataTable) End Get End Property Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then CargaTiposPeriodo() CargaProyecto() CargaTurnos() End If End Sub #Region "CargaCombos" Private Sub CargaTiposPeriodo() DdlTipoPeriodo.DataSource = GlobalDTTipoPeriodo DdlTipoPeriodo.DataBind() End Sub Private Sub CargaPeriodos() Dim ObjPeriodos As New ClsNominas If ObjPeriodos.GetPeriodos(DdlTipoPeriodo.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, -1, -1) Then ViewState("DTPeriodos") = ObjPeriodos.DtResultados DdlPeriodo.DataSource = DTPeriodos Else DdlPeriodo.DataSource = Nothing End If ObjPeriodos.Dispose() DdlPeriodo.DataBind() DdlPeriodo.Items.Clear() DdlPeriodo.DataBind() DdlPeriodo.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub Private Sub CargaProyecto() DdlProyecto.DataSource = GlobalDTProyectos(UsuarioActual.Empresa.CveEmpresa) DdlProyecto.DataBind() End Sub Private Sub CargaSubProyecto() DdlSubProyecto.Items.Clear() DdlSubProyecto.DataSource = GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero) DdlSubProyecto.DataBind() DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub Private Sub CargaTurnos() DdlTurno.DataSource = GlobalDTTurno.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) DdlTurno.DataBind() End Sub #End Region Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlProyecto.SelectedIndexChanged CargaSubProyecto() End Sub Protected Sub DdlTipoPeriodo_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlTipoPeriodo.SelectedIndexChanged CargaPeriodos() End Sub Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click If DdlPeriodo.SelectedValue <> "-1" Then Dim ObjNomina As New ClsRH Dim FechaI, FechaF As Date FechaI = DTPeriodos.FiltraParametros("CvePeriodo = " & DdlPeriodo.SelectedValue).Rows(0)("FechaInicio").ToString.ToDate FechaF = DTPeriodos.FiltraParametros("CvePeriodo = " & DdlPeriodo.SelectedValue).Rows(0)("FechaFin").ToString.ToDate LtlLunes.Text = If(FechaI.Day.ToString.Length = 1, "0" & FechaI.Day.ToString, FechaI.Day.ToString) LtlMartes.Text = If(FechaI.AddDays(1).Day.ToString.Length = 1, "0" & FechaI.AddDays(1).Day.ToString, FechaI.AddDays(1).Day.ToString) LtlMiercoles.Text = If(FechaI.AddDays(2).Day.ToString.Length = 1, "0" & FechaI.AddDays(2).Day.ToString, FechaI.AddDays(2).Day.ToString) LtlJueves.Text = If(FechaI.AddDays(3).Day.ToString.Length = 1, "0" & FechaI.AddDays(3).Day.ToString, FechaI.AddDays(3).Day.ToString) LtlViernes.Text = If(FechaI.AddDays(4).Day.ToString.Length = 1, "0" & FechaI.AddDays(4).Day.ToString, FechaI.AddDays(4).Day.ToString) LtlSabado.Text = If(FechaI.AddDays(5).Day.ToString.Length = 1, "0" & FechaI.AddDays(5).Day.ToString, FechaI.AddDays(5).Day.ToString) LtlDomingo.Text = If(FechaI.AddDays(6).Day.ToString.Length = 1, "0" & FechaI.AddDays(6).Day.ToString, FechaI.AddDays(6).Day.ToString) If ObjNomina.GetPreNominaHistorial(DdlSubProyecto.SelectedValue.ToEntero, DdlTurno.SelectedValue.ToEntero, FechaI, FechaF, UsuarioActual.CveEmpresa) Then GvDatos.DataSource = ObjNomina.DtResultados Else GvDatos.DataSource = Nothing End If ObjNomina.Dispose() GvDatos.DataBind() UPDatos.Update() HLImgImprimir.HRef = String.Format("/Nomina/RepPreNomina.aspx?CveSubProyecto={0}&CveTurno={1}&FechaI={2}&FechaF={3}&Periodo={4}", DdlSubProyecto.SelectedValue, DdlTurno.SelectedValue, FechaI.ToShortDateString, FechaF.ToShortDateString, DdlPeriodo.SelectedItem.Text) UpnTools.Update() Else Alert("Debe de seleccionar el Periodo con el que se desea trabajar", TipoMensaje.MsgAdvertencia) End If End Sub Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("Turno") = "" AndAlso e.Row.DBCampo("Nombre") = "" Then e.Row.FCLiteral("LtlNombre").Text = "Sub Proyecto: " & e.Row.DBCampo("SubProyecto") & "" e.Row.Cells(0).ColumnSpan = 22 e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left For i As Integer = 1 To 21 e.Row.Cells(i).Visible = False Next e.Row.FCLiteral("LtlAsistencias").Text = CType(CType(sender, GridView).DataSource, DataTable).SUM("Asistencias", "Nombre <> ''").ToString e.Row.FCLiteral("LtlFaltas").Text = CType(CType(sender, GridView).DataSource, DataTable).SUM("Faltas", "Nombre <> ''").ToString If e.Row.FCLiteral("LtlAsistencias").Text.ToDouble = 0 Then e.Row.FCLiteral("LtlAsistencias").Text = "" Else e.Row.FCLiteral("LtlAsistencias").Text = "" & e.Row.FCLiteral("LtlAsistencias").Text & "" End If If e.Row.FCLiteral("LtlFaltas").Text.ToDouble = 0 Then e.Row.FCLiteral("LtlFaltas").Text = "" Else e.Row.FCLiteral("LtlFaltas").Text = "" & e.Row.FCLiteral("LtlFaltas").Text & "" End If If e.Row.FCLiteral("LtlHorasExtras").Text.ToDouble = 0 Then e.Row.FCLiteral("LtlHorasExtras").Text = "" Else e.Row.FCLiteral("LtlHorasExtras").Text = "" & e.Row.FCLiteral("LtlHorasExtras").Text & "" End If ElseIf e.Row.DBCampo("Turno") <> "" AndAlso e.Row.DBCampo("Nombre") = "" Then e.Row.FCLiteral("LtlNombre").Text = "Turno: " & e.Row.DBCampo("Turno") e.Row.Cells(0).ColumnSpan = 22 e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left For i As Integer = 1 To 21 e.Row.Cells(i).Visible = False Next e.Row.FCLiteral("LtlAsistencias").Text = CType(CType(sender, GridView).DataSource, DataTable).SUM("Asistencias", "Turno = '" & e.Row.DBCampo("Turno") & "' AND Nombre <> ''").ToString e.Row.FCLiteral("LtlFaltas").Text = CType(CType(sender, GridView).DataSource, DataTable).SUM("Faltas", "Turno = '" & e.Row.DBCampo("Turno") & "' AND Nombre <> ''").ToString If e.Row.FCLiteral("LtlAsistencias").Text.ToDouble = 0 Then e.Row.FCLiteral("LtlAsistencias").Text = "" Else e.Row.FCLiteral("LtlAsistencias").Text = "" & e.Row.FCLiteral("LtlAsistencias").Text & "" End If If e.Row.FCLiteral("LtlFaltas").Text.ToDouble = 0 Then e.Row.FCLiteral("LtlFaltas").Text = "" Else e.Row.FCLiteral("LtlFaltas").Text = "" & e.Row.FCLiteral("LtlFaltas").Text & "" End If If e.Row.FCLiteral("LtlHorasExtras").Text.ToDouble = 0 Then e.Row.FCLiteral("LtlHorasExtras").Text = "" Else e.Row.FCLiteral("LtlHorasExtras").Text = "" & e.Row.FCLiteral("LtlHorasExtras").Text & "" End If Else e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left Dim FechaI, FechaF As String FechaI = String.Empty : FechaF = String.Empty Dim Array() As String = DdlPeriodo.SelectedItem.Text.Split("-"c) If Array.Length > 0 Then FechaI = Array(1).Trim FechaF = Array(2).Trim End If e.Row.FCLiteral("LtlNombre").Text = "" & e.Row.FCLiteral("LtlNombre").Text & "" If e.Row.DBCampo("Lu_HrsDobles").ToDouble = 0 Then e.Row.FCLiteral("LtlLu_HrsDobles").Text = "" If e.Row.DBCampo("Ma_HrsDobles").ToDouble = 0 Then e.Row.FCLiteral("LtlMa_HrsDobles").Text = "" If e.Row.DBCampo("Mi_HrsDobles").ToDouble = 0 Then e.Row.FCLiteral("LtlMi_HrsDobles").Text = "" If e.Row.DBCampo("Ju_HrsDobles").ToDouble = 0 Then e.Row.FCLiteral("LtlJu_HrsDobles").Text = "" If e.Row.DBCampo("Vi_HrsDobles").ToDouble = 0 Then e.Row.FCLiteral("LtlVi_HrsDobles").Text = "" If e.Row.DBCampo("Sa_HrsDobles").ToDouble = 0 Then e.Row.FCLiteral("LtlSa_HrsDobles").Text = "" If e.Row.DBCampo("Do_HrsDobles").ToDouble = 0 Then e.Row.FCLiteral("LtlDo_HrsDobles").Text = "" If e.Row.DBCampo("Asistencias").ToDouble = 0 Then e.Row.FCLiteral("LtlAsistencias").Text = "" If e.Row.DBCampo("Faltas").ToDouble = 0 Then e.Row.FCLiteral("LtlFaltas").Text = "" If e.Row.DBCampo("HorasDobles").ToDouble = 0 Then e.Row.FCLiteral("LtlHorasExtras").Text = "" End If End If End Sub Protected Sub ImgExcel_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles ImgExcel.Click GvDatos.ExportToExcel("PreNomina", TblHeader) End Sub End Class