Checador correcion dia de decanso y se agrega codigo de empleado

This commit is contained in:
rakcsle
2024-03-01 17:14:16 -07:00
parent 295f1884fa
commit 9f23b56e0c
3 changed files with 232 additions and 194 deletions

View File

@@ -91,7 +91,6 @@
</div>
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" Enabled="false" class="btn btn-primary" OnClick="BtnConsultar_Click" />
</div>
</div>
@@ -106,9 +105,9 @@
<asp:GridView ID="GVRegDatos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros"
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="Numero" ItemStyle-HorizontalAlign="Left" >
<asp:TemplateField HeaderText="Codigo" ItemStyle-HorizontalAlign="Left" >
<ItemTemplate>
<asp:Label ID="LtlNumero" runat="server" CssClass="truncate" Width="50" Text='<%# Eval("CvePersonal") %>'> </asp:Label>
<asp:Label ID="LtlNumero" runat="server" CssClass="truncate" Width="50" Text='<%# Eval("Codigo") %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Personal" ItemStyle-HorizontalAlign="Left">

View File

@@ -327,7 +327,7 @@ Partial Class RH_RepChecadorPreAsistencia
Resultados.Columns.Add("CvePersonal")
Resultados.Columns.Add("NombreCompleto")
'Resultados.Columns.Add("Codigo")
Resultados.Columns.Add("Codigo")
Resultados.Columns.Add("CveSubProyecto")
Resultados.Columns.Add("SalarioDiario")
Resultados.Columns.Add("CveAsistenciasInasistencias")
@@ -349,7 +349,7 @@ Partial Class RH_RepChecadorPreAsistencia
Resultados.Columns.Add("TipoCorto")
Resultados.Columns.Add("Sancion")
If DdlTurno.SelectedValue.ToEntero > 0 And DdlTipoPeriodo.SelectedValue.ToEntero > 0 And DdlRango.SelectedValue.ToEntero > 0 Then
If DdlTipoPeriodo.SelectedValue.ToEntero > 0 And DdlRango.SelectedValue.ToEntero > 0 Then
Dim FiltroSubProyecto As String = ""
Dim filtroturno = If(DdlTurno.SelectedValue = "-1", "", $"AND CveTurno = { DdlTurno.SelectedValue}")
@@ -422,6 +422,10 @@ Partial Class RH_RepChecadorPreAsistencia
Dim ContadorFaltas As Integer = 0
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
@@ -431,7 +435,7 @@ Partial Class RH_RepChecadorPreAsistencia
Dim ReRow As DataRow = Resultados.NewRow
ReRow("CvePersonal") = dRow(0).ToString()
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
'ReRow("Codigo") = dRow("Codigo").ToString()
ReRow("Codigo") = Codigo
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
ReRow("CveAsistenciasInasistencias") = "-1"
@@ -458,7 +462,7 @@ Partial Class RH_RepChecadorPreAsistencia
Dim diaSemana As Integer = Fecha.DayOfWeek
Dim Asistencia As Boolean = True
Dim Horario As DataTable = HorarioDiario(Fecha, DTHorarioPersonal)
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())
@@ -615,7 +619,7 @@ Partial Class RH_RepChecadorPreAsistencia
ReRow("CvePersonal") = dRow(0).ToString()
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
'ReRow("Codigo") = dRow("Codigo").ToString()
ReRow("Codigo") = Codigo
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
@@ -651,7 +655,7 @@ Partial Class RH_RepChecadorPreAsistencia
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta
End If
Dim Horario As DataTable = HorarioDiario(Fecha, DTHorarioPersonal)
Dim Horario As DataTable = HorarioDiario(Fecha, DTHorarioPersonal, DiaDescanso)
Dim DiaLaboral As Boolean = Boolean.Parse(Horario(0)(0).ToString())
If Not DiaLaboral Then
@@ -705,6 +709,8 @@ Partial Class RH_RepChecadorPreAsistencia
Dim ContadorFaltas As Integer = 0
Dim registrosPersonal As DataTable = DTAsistenciasInasistenciasReg.FiltraParametros(" CvePersonal = " & dRow(0).ToString())
Dim Codigo As String = dRow("Codigo").ToString
If registrosPersonal.Rows.Count > 0 Then
For x As Integer = 1 To (DiasPeriodo)
@@ -712,7 +718,7 @@ Partial Class RH_RepChecadorPreAsistencia
Dim ReRow As DataRow = Resultados.NewRow
ReRow("CvePersonal") = dRow(0).ToString()
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
'ReRow("Codigo") = dRow("Codigo").ToString()
ReRow("Codigo") = Codigo
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
@@ -765,7 +771,7 @@ Partial Class RH_RepChecadorPreAsistencia
ReRow("NombreCompleto") = dRow("NombreCompleto").ToString()
ReRow("CveSubProyecto") = dRow("CveSubProyecto").ToString()
ReRow("SalarioDiario") = dRow("SalarioDiario").ToString()
'ReRow("Codigo") = dRow("Codigo").ToString()
ReRow("Codigo") = Codigo
ReRow("CveAsistenciasInasistencias") = CveAsistenciaInasistenciaFalta
ReRow("PorcentajePago") = "0"
ReRow("Asistio") = "False"
@@ -802,8 +808,8 @@ Partial Class RH_RepChecadorPreAsistencia
DtResultados = Resultados
dt.Columns.Add("CvePersonal")
dt.Columns.Add("Codigo")
dt.Columns.Add("NombreCompleto")
'dt.Columns.Add("Codigo")
dt.Columns.Add("Fecha1")
dt.Columns.Add("Fecha2")
dt.Columns.Add("Fecha3")
@@ -836,6 +842,7 @@ Partial Class RH_RepChecadorPreAsistencia
dt.Columns.Add("Fecha30")
dt.Columns.Add("Fecha31")
Dim DTFechas As DataTable
Dim DTUPersonal As DataTable
@@ -845,7 +852,7 @@ Partial Class RH_RepChecadorPreAsistencia
Dim ColumN As Integer = (dt.Columns.Count) - 2
For x As Integer = 3 To dt.Columns.Count
For x As Integer = 3 To dt.Columns.Count-1
GVRegDatos.Columns(x).HeaderText = ""
GVRegDatos.Columns(x).Visible = False
Next
@@ -866,9 +873,9 @@ Partial Class RH_RepChecadorPreAsistencia
Dim RRow As DataRow = dt.NewRow
RRow("CvePersonal") = pRow("CvePersonal")
RRow("NombreCompleto") = pRow("NombreCompleto")
'RRow("Codigo") = pRow("Codigo")
RRow("Codigo") = pRow("Codigo")
ColumN = 2
ColumN = 3
Dim ResumenDia As New DataTable
Dim DTTempAsistencias As New DataTable
@@ -970,19 +977,23 @@ Partial Class RH_RepChecadorPreAsistencia
End Sub
Private Sub ReprocesarTabla()
If DdlTipoPeriodo.SelectedValue.ToEntero > 0 And DdlRango.SelectedValue.ToEntero > 0 Then
Dim dt As New DataTable
Dim DtPersonal As New DataTable
Dim DTAsistenciasInasistencias As New DataTable
Dim objRH As New ClsRH
If objRH.GetPersonalAsistenciaRegistros(FechaInicioPeriodo, FechaFinPeriodo, UsuarioActual.CveEmpresa) Then
DTAsistenciasInasistencias = objRH.DtResultados
End If
DtPersonal = GlobalDTRHPersonal(UsuarioActual.Empresa.CveEmpresa).FiltraParametros($" CveTipoPeriodo = { DdlTipoPeriodo.SelectedValue} AND CveEstado = 1 " & If(DdlTurno.SelectedValue = "-1", "", $" AND CveTurno = {DdlTurno.SelectedValue}"))
dt.Columns.Add("CvePersonal")
dt.Columns.Add("NombreCompleto")
'dt.Columns.Add("Codigo")
@@ -1194,9 +1205,13 @@ Partial Class RH_RepChecadorPreAsistencia
Next
Dim stopp As Integer = 0
DtDatosTabla = dt
End If
End Sub
Private Function HorarioDiario(Fecha As Date, DTHorarioPersonal As DataTable) As DataTable
Private Function HorarioDiario(Fecha As Date, DTHorarioPersonal As DataTable, DiaDescanso As Integer) As DataTable
Dim respuesta As New DataTable
respuesta.Columns.Add("TRABAJO", System.Type.GetType("System.Boolean"))
@@ -1212,9 +1227,12 @@ Partial Class RH_RepChecadorPreAsistencia
Dim diaSemana As Integer = Fecha.DayOfWeek
DiaDescanso = If(DiaDescanso > -1, DiaDescanso, 0)
Select Case diaSemana
Case 0
Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Domingo").ToString()))
Drow(0) = Boolean.Parse(If(IsNothing(drp), $"{(DiaDescanso <> diaSemana).ToString}", drp("Domingo").ToString()))
'Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Domingo").ToString()))
Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("DomingoEntrada").ToString()))
Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("DomingoSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("DomingoEntradaComida").ToString()))
@@ -1222,42 +1240,48 @@ Partial Class RH_RepChecadorPreAsistencia
Exit Select
Case 1
Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Lunes").ToString()))
Drow(0) = Boolean.Parse(If(IsNothing(drp), $"{(DiaDescanso <> diaSemana).ToString}", drp("Lunes").ToString()))
'Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Lunes").ToString()))
Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("LunesEntrada").ToString()))
Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("LunesSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("LunesEntradaComida").ToString()))
Drow(4) = TimeSpan.Parse(If(IsNothing(drp), "09:00", drp("LunesSalida").ToString()))
Exit Select
Case 2
Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Martes").ToString()))
Drow(0) = Boolean.Parse(If(IsNothing(drp), $"{(DiaDescanso <> diaSemana).ToString}", drp("Martes").ToString()))
'Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Martes").ToString()))
Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("MartesEntrada").ToString()))
Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("MartesSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("MartesEntradaComida").ToString()))
Drow(4) = TimeSpan.Parse(If(IsNothing(drp), "09:00", drp("MartesSalida").ToString()))
Exit Select
Case 3
Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Miercoles").ToString()))
Drow(0) = Boolean.Parse(If(IsNothing(drp), $"{(DiaDescanso <> diaSemana).ToString}", drp("Miercoles").ToString()))
'Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Miercoles").ToString()))
Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("MiercolesEntrada").ToString()))
Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("MiercolesSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("MiercolesEntradaComida").ToString()))
Drow(4) = TimeSpan.Parse(If(IsNothing(drp), "09:00", drp("MiercolesSalida").ToString()))
Exit Select
Case 4
Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Jueves").ToString()))
Drow(0) = Boolean.Parse(If(IsNothing(drp), $"{(DiaDescanso <> diaSemana).ToString}", drp("Jueves").ToString()))
'Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Jueves").ToString()))
Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("JuevesEntrada").ToString()))
Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("JuevesSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("JuevesEntradaComida").ToString()))
Drow(4) = TimeSpan.Parse(If(IsNothing(drp), "09:00", drp("JuevesSalida").ToString()))
Exit Select
Case 5
Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Viernes").ToString()))
Drow(0) = Boolean.Parse(If(IsNothing(drp), $"{(DiaDescanso <> diaSemana).ToString}", drp("Viernes").ToString()))
'Drow(0) = Boolean.Parse(If(IsNothing(drp), "true", drp("Viernes").ToString()))
Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("ViernesEntrada").ToString()))
Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("ViernesSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("ViernesEntradaComida").ToString()))
Drow(4) = TimeSpan.Parse(If(IsNothing(drp), "09:00", drp("ViernesSalida").ToString()))
Exit Select
Case 6
Drow(0) = Boolean.Parse(If(IsNothing(drp), "False", drp("Sabado").ToString()))
Drow(0) = Boolean.Parse(If(IsNothing(drp), $"{(DiaDescanso <> diaSemana).ToString}", drp("Sabado").ToString()))
'Drow(0) = Boolean.Parse(If(IsNothing(drp), "False", drp("Sabado").ToString()))
Drow(1) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("SabadoEntrada").ToString()))
Drow(2) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("SabadoSalidaComida").ToString()))
Drow(3) = TimeSpan.Parse(If(IsNothing(drp), "00:00", drp("SabadoEntradaComida").ToString()))

View File

@@ -18127,15 +18127,30 @@ Partial Class Ventas
End If
' NO VALIDA EXISTENCIAS NI COSTO - PERMISO PARA NO VALIDAR
If Not UsuarioActual.TienePermisoProceso(169) Then
If Not UsuarioActual.TienePermisoProceso(169) AndAlso RBLTipoVenta.SelectedValue.ToEntero <> 5 Then
'SOLO VALIDA EXISTENCIAS Y COSTO: SI USA INVENTARIOS, SOLO PRODUCTOS TIPO PRODUCTO, SOLO REMISIONES E INGRESOS
If UsuarioActual.Empresa.UsaInventarios AndAlso CveTipoPS = 2 AndAlso (DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing", "PA") OrElse ((DdlTipoComprobante.SelectedValue.Contiene("Cot") And UsuarioActual.CveEmpresa.Contiene(119)) OrElse (DdlTipoComprobante.SelectedValue.Contiene("Ped") And UsuarioActual.CveEmpresa.Contiene(186)))) Then
Dim ObjInventarios As New ClsInventarios
Dim BuscarEnTabla As Boolean = If(UsuarioActual.Empresa.Funcionalidad(715) = "1", True, False)
Dim Existencia As Decimal = ObjInventarios.GetExistenciasPS(CvePS, CveUM, UsuarioActual.CveEmpresa, -1, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(),
Dim Existencia As Decimal = 0D
''CveAlamcenFiltroDdl
If RBLTipoVenta.SelectedValue.ToEntero = 6 Then
Existencia = ObjInventarios.GetExistenciasPS(CvePS, CveUM, UsuarioActual.CveEmpresa, CveAlamcenFiltroDdl, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=-1,
CveVendedor:=DdlVendedor.SelectedValue.ToEntero(), CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=0, PendientePorSurtir:=1,
RestringirAlmacenes:=1, ExcluyeApartados:=-1, BuscarEnTabla:=BuscarEnTabla)
Else
Existencia = ObjInventarios.GetExistenciasPS(CvePS, CveUM, UsuarioActual.CveEmpresa, -1, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(),
CveVendedor:=DdlVendedor.SelectedValue.ToEntero(), CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=1, PendientePorSurtir:=1,
RestringirAlmacenes:=1, ExcluyeApartados:=-1, BuscarEnTabla:=BuscarEnTabla)
End If
Dim Costo As Decimal = ObjInventarios.GetCostoPS(CvePS, TxtCantidad.Text.Trim.ToDecimal, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero(), CveTipoAlmacen:=1)
'si el costo es cero, puede ser que no halla movimientos del producto, en esa sucursal. y se volverá a sacar sin especificar sucursal