This commit is contained in:
2024-04-24 11:45:37 -07:00
4 changed files with 463 additions and 28 deletions

View File

@@ -2273,6 +2273,23 @@ Public Class ClsNominas
Return Retorno
End Function
Public Function UpdatePeriodoEnvioPrenomina(CvePeriodo As Integer, CveEmpresa As Integer, PreAsistenciaEnviada As Boolean) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Nom_PeriodoEnvioPrenominaUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePeriodo", SqlDbType.Int).Value = CvePeriodo
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@PreAsistenciaEnviada", SqlDbType.Int).Value = PreAsistenciaEnviada
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el envio de Pre asistencia del periodo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function RemovePeriodo(CvePeriodo As Integer) As Boolean
Dim Retorno As Boolean = False

View File

@@ -216,18 +216,27 @@
<asp:GridView ID="GVRegDatos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros" DataKeyNames="CvePersonal,NombreCompleto"
CssClass="ADSCROLLER2 table table-striped table-advance table-hover Widthall" data-rows="1" data-cols="3" data-heightmenos="100" data-heightfijo="600" Style="text-align: center;" GridLines="None">
<Columns>
<%--<asp:TemplateField HeaderText="Codigo" ItemStyle-HorizontalAlign="Left" >
<asp:TemplateField HeaderText="Codigo" ItemStyle-HorizontalAlign="Left" >
<ItemTemplate>
<asp:Label ID="LtlNumero" runat="server" CssClass="truncate" Width="50" Text='<%# Eval("Codigo") %>'> </asp:Label>
<div class="row">
<div class="col-md-2" style="margin-top:-5px!important">
<asp:CheckBox runat="server" ID="Chk" Visible="false" />
</div>
<div class="col-md-6" style="margin-top:-5px!important">
<asp:Label ID="LtlNumero" runat="server" CssClass="truncate" Width="50" Text='<%# Eval("Codigo") %>'> </asp:Label>
</div>
</div>
</ItemTemplate>
</asp:TemplateField>--%>
</asp:TemplateField>
<%-- <asp:TemplateField HeaderText="Personal" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblIPersonal" runat="server" CssClass="truncate" Width="250" Text='<%# Eval("NombreCompleto") %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>--%>
<asp:HyperLinkField DataTextField="Codigo" HeaderText="Código" DataNavigateUrlFields="CvePersonal" DataNavigateUrlFormatString="Personal.aspx?CvePersonal={0}" ItemStyle-HorizontalAlign="Left" Target="_blank" />
<%--<asp:HyperLinkField DataTextField="Codigo" HeaderText="Código" DataNavigateUrlFields="CvePersonal" DataNavigateUrlFormatString="Personal.aspx?CvePersonal={0}" ItemStyle-HorizontalAlign="Left" Target="_blank" />--%>
<asp:HyperLinkField DataTextField="NombreCompleto" HeaderText="Personal" DataNavigateUrlFields="CvePersonal" DataNavigateUrlFormatString="Personal.aspx?CvePersonal={0}" ItemStyle-HorizontalAlign="Left" Target="_blank" />
<asp:TemplateField HeaderText="Faltas" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>

View File

@@ -1,9 +1,12 @@
Option Strict On
Imports DocumentFormat.OpenXml.Wordprocessing
Imports Extensiones
Imports System
Imports System.Data
Imports System.Runtime.Remoting
Imports System.ServiceModel.Security
@@ -158,6 +161,18 @@ Partial Class RH_RepChecadorPreAsistencia
End Property
Public Property VerChkSeleccionPersonal As Boolean
Get
If ViewState("VerChkSeleccionPersonal") Is Nothing Then
ViewState("VerChkSeleccionPersonal") = False
End If
Return Boolean.Parse(ViewState("VerChkSeleccionPersonal").ToString)
End Get
Set(value As Boolean)
ViewState("VerChkSeleccionPersonal") = value
End Set
End Property
'Private Property dtPeriodos As DataTable
' Get
' If ViewState("dtPeriodos") Is Nothing Then
@@ -375,24 +390,24 @@ Partial Class RH_RepChecadorPreAsistencia
' DdlPeriodo.DataSource = Nothing
End If
objNomina.Dispose()
objNomina.Dispose()
Dim DtTempFechaInicial As DataTable = DTPeriodos.FiltraParametros("Estatus = 1")
DdlPeriodo.DataBind()
DdlPeriodo.DataBind()
If DtTempFechaInicial.Rows.Count > 0 Then
Dim temCvePeriodoNomi As Integer = DtTempFechaInicial(0)("CvePeriodo").ToString().ToEntero
DdlPeriodo.SelectedValueExist(temCvePeriodoNomi)
End If
If DtTempFechaInicial.Rows.Count > 0 Then
Dim temCvePeriodoNomi As Integer = DtTempFechaInicial(0)("CvePeriodo").ToString().ToEntero
DdlPeriodo.SelectedValueExist(temCvePeriodoNomi)
End If
DdlPeriodo.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
UPFiltros.Update()
' BtnConsultar.Enabled = True
Else
DdlPeriodo.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
UPFiltros.Update()
' BtnConsultar.Enabled = True
Else
DTPeriodos = Nothing
DTPeriodos = Nothing
DdlPeriodo.DataSource = Nothing
'DdlRango.Visible = False
@@ -535,12 +550,12 @@ Partial Class RH_RepChecadorPreAsistencia
Dim FilCveDepartamento As Integer = DdlDepartamento.SelectedValue.ToEntero
Dim FilasFiltradas = From fila In GlobalDTRHPersonal(UsuarioActual.Empresa.CveEmpresa).FiltraParametros(FiltroSubProyecto).AsEnumerable()
Let Inicio = fila.Field(Of Date)("FechaInicio")
Let FechaFinOriginal = fila.Field(Of Date?)("FechaFin")
Let FechaFin = If(FechaFinOriginal.HasValue, FechaFinOriginal.Value, Now)
Where Inicio <= FechaInicioPeriodoFiltro AndAlso FechaInicioPeriodoFiltro <= FechaFin _
Let Inicio = fila.Field(Of Date)("FechaInicio")
Let FechaFinOriginal = fila.Field(Of Date?)("FechaFin")
Let FechaFin = If(FechaFinOriginal.HasValue, FechaFinOriginal.Value, Now)
Where Inicio <= FechaInicioPeriodoFiltro AndAlso FechaInicioPeriodoFiltro <= FechaFin _
AndAlso (FilCveDepartamento = -1 OrElse fila.Field(Of Integer)("CveDepartamento") = FilCveDepartamento)
Select fila
Select fila
DtPersonal = FilasFiltradas.CopyToDataTable()
@@ -1937,6 +1952,11 @@ Partial Class RH_RepChecadorPreAsistencia
Else
lblFaltas.Text = "-"
End If
If VerChkSeleccionPersonal Then
e.Row.FCCheckBox("Chk").Visible = True
End If
End If
End Sub
@@ -2482,8 +2502,14 @@ Partial Class RH_RepChecadorPreAsistencia
DVEnvioMasivo.Visible = True
End If
VerChkSeleccionPersonal = True
UpDatos.Update()
GvBind()
End Sub
Private Function PeriodoBloqueado(CvePeriodo As Integer) As Boolean
@@ -2552,16 +2578,28 @@ Partial Class RH_RepChecadorPreAsistencia
For Each GvRow As GridViewRow In GVRegDatos.Rows
Dim CvePersonal As Integer = GvRow.DataKey("CvePersonal").ToEntero
If GvRow.RowType = DataControlRowType.DataRow Then
Dim Chk As CheckBox = GvRow.FCCheckBox("Chk")
If Chk.Checked Then
Dim CvePersonal As Integer = GvRow.DataKey("CvePersonal").ToEntero
If Not ObjRH.AddPreAsistencia(CvePersonal, FechaCarga, DdlAsistenciaInacistenciaCarga.SelectedValue.ToEntero, TxtPorcentajePago.Text.ToDecimal, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
TxtHorasDobles.Text.ToDecimal, TxtHorasTriples.Text.ToDecimal, DdlMotivoHoraExtra.SelectedValue.ToEntero, TxtObs.Text) Then
ProcesoOK = False
Exit For
End If
End If
If Not ObjRH.AddPreAsistencia(CvePersonal, FechaCarga, DdlAsistenciaInacistenciaCarga.SelectedValue.ToEntero, TxtPorcentajePago.Text.ToDecimal, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
TxtHorasDobles.Text.ToDecimal, TxtHorasTriples.Text.ToDecimal, DdlMotivoHoraExtra.SelectedValue.ToEntero, TxtObs.Text) Then
ProcesoOK = False
Exit For
End If
Next
If ProcesoOK Then
'ProcesoOK =
adasd
End If
If ProcesoOK Then
ObjRH.Commit()
Alert("Carga realizada correctamente.")
@@ -2569,9 +2607,369 @@ Partial Class RH_RepChecadorPreAsistencia
Else
ObjRH.RollBack()
End If
End Sub
Private Sub EnviarPreAsistencia()
For Each dRow As DataRow In DtPersonal.Rows
Dim Fecha As Date = FechaInicioPeriodo
Dim ContadorFaltas As Integer = 0
objRH = New ClsRH
If objRH.PreAsistenciaRegistrosGet(FechaInicioPeriodo, FechaFinPeriodo, DdlTurno.SelectedValue.ToEntero, UsuarioActual.Empresa.CveEmpresa, True) Then
DTChecadorRegistros = objRH.DtResultados
End If
objRH.Dispose()
Dim registrosPersonal As DataTable = DTChecadorRegistros.FiltraParametros(" CvePersonal = " & dRow(0).ToString())
Dim CveTurno As Integer = dRow("CveTurno").ToString.ToEntero
Dim DiaDescanso As Integer = GlobalDTTurno(UsuarioActual.CveEmpresa).FiltroPrimeroValor("DiaDescanso", $" CveTurno = {CveTurno} ").ToEntero - 1 'El -1 es por que en .net el domingo empieza 0 y en la sql en 1
Dim Codigo As String = dRow("Codigo").ToString
If registrosPersonal.Rows.Count > 0 Then
DTHorarioPersonal = DTHorarios.FiltraParametros(" CveChecadorHorario = " & registrosPersonal(0)("CveHorario").ToString() & "")
Retardos = 0
For x As Integer = 1 To (DiasPeriodo)
Dim ReRow As DataRow = Resultados.NewRow
ReRow("CvePersonal") = dRow(0).ToString()
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
ReRow("Codigo") = Codigo
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
ReRow("CveAsistenciasInasistencias") = "-1"
ReRow("PorcentajePago") = "0"
ReRow("Fecha") = Fecha.ToString()
ReRow("Retraso") = "False"
ReRow("Asistio") = "True"
ReRow("Inconsistencia") = "False"
ReRow("Descanso") = "False"
ReRow("Entrada") = "ND"
ReRow("Salida") = "ND"
ReRow("FaltaRetraso") = "False"
ReRow("FaltaPorRetrasos") = "False"
ReRow("DiaInhabil") = "False"
ReRow("Mensaje") = ""
ReRow("FaltaRetardosAcumulados") = "False"
ReRow("DiaInhabil") = "False"
ReRow("DiaInhabilStr") = ""
ReRow("DiaVacacion") = "False"
ReRow("CveAsistenciasInasistencias") = "-1"
ReRow("TipoCorto") = ""
ReRow("Sancion") = "False"
ReRow("HorasDobles") = 0
ReRow("HorasTriples") = 0
ReRow("CveMotivoHoraExtra") = -1
ReRow("Observacion") = ""
Dim diaSemana As Integer = Fecha.DayOfWeek
Dim Asistencia As Boolean = True
Dim Horario As DataTable = HorarioDiario(Fecha, DTHorarioPersonal, DiaDescanso)
Dim DiaLaboral As Boolean = Boolean.Parse(Horario(0)(0).ToString())
Dim HorarioEntrada As TimeSpan = TimeSpan.Parse(Horario(0)(1).ToString())
Dim HorarioSalidaComida As TimeSpan = TimeSpan.Parse(Horario(0)(2).ToString())
Dim HorarioEntradaComida As TimeSpan = TimeSpan.Parse(Horario(0)(3).ToString())
Dim HorarioSalida As TimeSpan = TimeSpan.Parse(Horario(0)(4).ToString())
Dim FechaHoraEntrada As DateTime
Dim FechahoraSalida As DateTime
Dim turnoNocturno As Boolean
Dim FechaHoraRegistroEntrada As DateTime
Dim FechaHoraRegistroSalida As DateTime
FechaHoraEntrada = Fecha + HorarioEntrada
If Not turnoNocturno Then
FechahoraSalida = Fecha + HorarioEntrada + (HorarioSalida - HorarioEntrada)
Else
FechahoraSalida = FechahoraSalida.AddDays(1) - HorarioEntrada + HorarioSalida
End If
Dim tempDatetime1 As DateTime = FechaHoraEntrada.AddHours(-2) 'la entrada se podra checar hasta dos horas antes de la hora de entrada
Dim tempDatetime2 As DateTime = FechahoraSalida.AddHours(4) 'Legalmente no se pueden hacer mas de 3 horas extras al día
Dim tabladelDia As DataTable = registrosPersonal.FiltraParametros(" CvePersonal = " & dRow(0).ToString() & " AND FechaRegistro >= '" & tempDatetime1.ToShortDateString & "' AND FechaRegistro <= '" & tempDatetime2.ToString() & "'")
If DTPreAsistenciasInasistencias.FiltraParametros(" CvePersonal = " & dRow(0).ToString() & " AND Fecha = '" & Fecha & "'").Rows.Count > 0 Then
Dim DTPreasistencia As DataTable = DTPreAsistenciasInasistencias.FiltraParametros(" CvePersonal = " & dRow(0).ToString() & " AND Fecha = '" & Fecha & "'")
If DTPreasistencia IsNot Nothing AndAlso DTPreasistencia.Rows.Count > 0 Then
ReRow("CveAsistenciasInasistencias") = DTPreasistencia.Rows(0)("CveAsistenciasInasistencias").ToString()
ReRow("HorasDobles") = DTPreasistencia.Rows(0)("HorasDobles").ToString.ToDecimal
ReRow("HorasTriples") = DTPreasistencia.Rows(0)("HorasTriples").ToString.ToDecimal
ReRow("CveMotivoHoraExtra") = DTPreasistencia.Rows(0)("CveMotivoHoraExtra").ToString.ToEntero
ReRow("Observacion") = DTPreasistencia.Rows(0)("Observacion").ToString
ReRow("PorcentajePago") = DTPreasistencia.Rows(0)("PorcentajePago").ToString.ToDecimal
End If
If ReRow("CveAsistenciasInasistencias").ToString.ToEntero > 0 Then
Dim drowAsistenciaInasistencia As DataRow = GlobalDTAsistenciasInasistencias(UsuarioActual.CveEmpresa).FiltroPrimero($"CveAsistenciasInasistencias={ReRow("CveAsistenciasInasistencias").ToString.ToEntero}")
ReRow("Asistio") = drowAsistenciaInasistencia("AplicaAsistencia").ToString = "Aplica"
ReRow("PorcentajePago") = DTPreAsistenciasInasistencias(0)("PorcentajePago").ToString.ToDecimal
ReRow("Descanso") = drowAsistenciaInasistencia("AplicaVacacion").ToString = "Aplica"
ReRow("DiaInhabil") = "False"
ReRow("DiaVacacion") = drowAsistenciaInasistencia("AplicaVacacion").ToString = "Aplica"
ReRow("FaltaRetardosAcumulados") = drowAsistenciaInasistencia("AplicaFalta").ToString = "Aplica"
ReRow("Retraso") = drowAsistenciaInasistencia("AplicaRetardo").ToString = "Aplica"
ReRow("FaltaRetraso") = False 'Not drowAsistenciaInasistencia("AplicaAsistencia").ToString = "Aplica"
ReRow("TipoCorto") = drowAsistenciaInasistencia("TipoCorto").ToString
End If
End If
If Not ReRow("CveAsistenciasInasistencias").ToString.ToEntero > 0 Then
'If tabladelDia.Rows.Count > 0 AndAlso tabladelDia.Rows.Count <> 4 And DiaLaboral = False Then
If tabladelDia.Rows.Count > 0 AndAlso tabladelDia.Rows.Count <> 4 Then
'Dim drowAsistenciaInasistencia As DataRow = GlobalDTAsistenciasInasistencias(UsuarioActual.CveEmpresa).FiltroPrimero($"CveAsistenciasInasistencias={ReRow("CveAsistenciasInasistencias").ToString.ToEntero}")
ReRow("Asistio") = False
ReRow("PorcentajePago") = 0
ReRow("Descanso") = False
ReRow("DiaInhabil") = False
ReRow("DiaVacacion") = False
ReRow("FaltaRetardosAcumulados") = False
ReRow("Retraso") = False
ReRow("FaltaRetraso") = False
ReRow("TipoCorto") = "_ND"
Else
Dim CountRegistros As Integer = tabladelDia.Rows.Count
Dim Inconsistencia As Boolean = False
If Not DiaLaboral Then
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaDescanso
ReRow("PorcentajePago") = "100"
ReRow("Descanso") = "True"
End If
Dim TempDTValidaciones As DataTable = DTDiasInhabiles.FiltraParametros(" FechaInhabil = '" & Fecha.ToString() & "'")
If TempDTValidaciones.Rows.Count > 0 Then
ReRow("PorcentajePago") = "100"
ReRow("DiaInhabil") = "True"
ReRow("DiaInhabilStr") = TempDTValidaciones(0)("DiaInhabil").ToString()
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaDescanso
ReRow("PorcentajePago") = "100"
Else
ReRow("DiaInhabil") = "False"
ReRow("DiaInhabilStr") = ""
End If
TempDTValidaciones = DtVacaciones.FiltraParametros(" Fecha = '" & Fecha.ToString() & "' AND CvePersonal = " & dRow(0).ToString())
If TempDTValidaciones.Rows.Count > 0 Then
ReRow("DiaVacacion") = "True"
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaDescanso
ReRow("PorcentajePago") = "100"
Else
ReRow("DiaVacacion") = "False"
End If
If Fecha >= NowADS() Then
ReRow("Asistio") = "True"
ReRow("CveAsistenciasInasistencias") = CveASistenciaInasistenciaAsistio
ReRow("PorcentajePago") = "100"
Else
If ReRow("DiaVacacion").ToString() <> "True" And ReRow("Descanso").ToString() <> "True" Then
If CountRegistros > 0 Then
FechaHoraRegistroEntrada = DateTime.Parse(tabladelDia(0)("FechaRegistro").ToString())
FechaHoraRegistroSalida = DateTime.Parse(tabladelDia(tabladelDia.Rows.Count - 1)("FechaRegistro").ToString())
If Not (FechaHoraRegistroEntrada - FechaHoraEntrada).TotalMinutes > TolFalEntradaMin Then
If (FechaHoraRegistroEntrada - FechaHoraEntrada).TotalMinutes > TolRetEntradaMin Then
Retardos = Retardos + 1
ReRow("Mensaje") = ReRow("Mensaje").ToString() & vbLf & "Retardo"
If Retardos >= TolRetAcumulados Then
ReRow("Asistio") = "False"
ReRow("FaltaRetardosAcumulados") = "True"
ReRow("Mensaje") = ReRow("Mensaje").ToString() & vbLf & " Falta por " & TolRetAcumulados & " acumulados. "
Retardos = 0
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta
ReRow("PorcentajePago") = "0"
Else
ReRow("Asistio") = "True"
ReRow("Retraso") = "True"
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaRetardo
ReRow("PorcentajePago") = "100"
End If
Else
ReRow("Asistio") = "True"
ReRow("CveAsistenciasInasistencias") = CveASistenciaInasistenciaAsistio
ReRow("PorcentajePago") = "100"
End If
Else
Asistencia = False
ReRow("Mensaje") = ReRow("Mensaje").ToString() & vbLf & "Falta por retardo."
ReRow("FaltaRetraso") = "True"
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta
ReRow("PorcentajePago") = "0"
End If
If FechahoraSalida > FechaHoraRegistroSalida Then
Dim diferenciasalidaMinutos As Integer = (FechahoraSalida - FechaHoraRegistroSalida).TotalMinutes.ToString().ToEntero
If RetSalidaAntes Then
If diferenciasalidaMinutos > TolSalidaAntesMin Then
ReRow("Asistio") = "True"
ReRow("Retraso") = "True"
ReRow("Mensaje") = ReRow("Mensaje").ToString() & vbLf & "Retraso por salida antes de tiempo (" & diferenciasalidaMinutos & " minutos)."
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaRetardo
ReRow("PorcentajePago") = "100"
Else
ReRow("Asistio") = "True"
ReRow("Retraso") = "False"
ReRow("Mensaje") = ReRow("Mensaje").ToString() & vbLf & "Salida antes de tiempo (" & diferenciasalidaMinutos & " minutos)."
ReRow("CveAsistenciasInasistencias") = CveASistenciaInasistenciaAsistio
ReRow("PorcentajePago") = "100"
End If
End If
End If
Else
ReRow("Asistio") = "False"
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta
ReRow("PorcentajePago") = "0"
End If
End If
End If
If ReRow("Asistio").ToString() = "True" Then ReRow("PorcentajePago") = "100" Else ReRow("PorcentajePago") = "0"
End If
End If
'adasdasd
Resultados.Rows.Add(ReRow)
Fecha = Fecha.AddDays(1)
Next x
Else
For x As Integer = 1 To (DiasPeriodo)
Dim ReRow As DataRow = Resultados.NewRow
ReRow("CvePersonal") = dRow(0).ToString()
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
ReRow("Codigo") = Codigo
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta
ReRow("PorcentajePago") = "0"
ReRow("Fecha") = Fecha.ToString()
ReRow("Retraso") = "False"
ReRow("Inconsistencia") = "False"
ReRow("Descanso") = "False"
ReRow("FaltaPorRetrasos") = "False"
ReRow("Entrada") = "ND"
ReRow("Salida") = "ND"
ReRow("Mensaje") = ""
ReRow("FaltaRetardosAcumulados") = "False"
ReRow("FaltaRetardosAcumulados") = "False"
ReRow("DiaInhabil") = "False"
ReRow("DiaInhabilStr") = ""
ReRow("DiaVacacion") = "False"
ReRow("CveAsistenciasInasistencias") = "-1"
ReRow("TipoCorto") = ""
ReRow("Sancion") = "False"
ReRow("HorasDobles") = 0
ReRow("HorasTriples") = 0
ReRow("CveMotivoHoraExtra") = -1
ReRow("Observacion") = ""
If dRow("CveChecadorHorario").ToString().ToEntero > 0 Then
DTHorarioPersonal = DTHorarios.FiltraParametros(" CveChecadorHorario = " & dRow("CveChecadorHorario").ToString().ToEntero & "")
If Fecha >= NowADS() Then
ReRow("Asistio") = "True"
ReRow("CveAsistenciasInasistencias") = CveASistenciaInasistenciaAsistio
Else
ReRow("Asistio") = "False"
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta
End If
Dim Horario As DataTable = HorarioDiario(Fecha, DTHorarioPersonal, DiaDescanso)
Dim DiaLaboral As Boolean = Boolean.Parse(Horario(0)(0).ToString())
If Not DiaLaboral Then
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaDescanso
ReRow("PorcentajePago") = "100"
ReRow("Descanso") = "True"
Else
Dim TempDTValidaciones As DataTable = DTDiasInhabiles.FiltraParametros(" FechaInhabil = '" & Fecha.ToString() & "'")
If TempDTValidaciones.Rows.Count > 0 Then
ReRow("DiaInhabil") = "True"
ReRow("DiaInhabilStr") = TempDTValidaciones(0)("DiaInhabil").ToString()
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaDescanso
ReRow("PorcentajePago") = "100"
Else
ReRow("DiaInhabil") = "False"
ReRow("DiaInhabilStr") = ""
ReRow("PorcentajePago") = "0"
End If
TempDTValidaciones = DtVacaciones.FiltraParametros(" Fecha = '" & Fecha.ToString() & "' AND CvePersonal = " & dRow(0).ToString())
If TempDTValidaciones.Rows.Count > 0 Then
ReRow("DiaVacacion") = "True"
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaDescanso
ReRow("PorcentajePago") = "100"
Else
ReRow("DiaVacacion") = "False"
End If
End If
End If
Resultados.Rows.Add(ReRow)
Fecha = Fecha.AddDays(1)
Next
End If
Next
End Sub
End Class

View File

@@ -292,8 +292,15 @@ Partial Class Ventas_PVCobranza
End If
If e.Row.DBCampo("AplicaImpresionPorAnt").ToEntero() = 1 Then
e.Row.FCLinkButton("BtnPagar").Visible = False
'SI TIENE SALDO, QUE APLIQUE EL PAGO
If e.Row.DBCampo("Saldo").ToDecimal() > 0 Then
e.Row.FCLinkButton("BtnPagar").Visible = True
e.Row.FCLinkButton("LnkImprimir").Visible = False
Else
e.Row.FCLinkButton("BtnPagar").Visible = False
End If
End If
End If
End Sub
@@ -467,6 +474,10 @@ Partial Class Ventas_PVCobranza
MsgError = "Error al aplicar el corte"
End If
If MsgError = "" AndAlso Not ObjVentas2.UpdateVentaTicketImpreso(CveVenta, 0) Then
MsgError = "No se pudo desmarcar la impresión"
End If
Else
MsgError = "Error al registrar prepólizas"
End If