This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2021-11-20 12:50:09 -07:00
parent 8c70517f13
commit 2bb6065f81
10 changed files with 279 additions and 71 deletions

View File

@@ -3358,7 +3358,8 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
Return Retorno
End Function
Public Function AddTurno(Turno As String, HorarioDe As String, HorarioA As String, CveUsuario As Integer, CveEmpresa As Integer, CveChecadorHorario As Integer) As Boolean
Public Function AddTurno(Turno As String, HorarioDe As String, HorarioA As String, CveUsuario As Integer, CveEmpresa As Integer, CveChecadorHorario As Integer,
ToleranciaERetardo As Integer, ToleranciaEFalta As Integer, ToleranciaSRetardo As Integer, ToleranciaSFalta As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -3371,6 +3372,10 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveChecadorHorario", SqlDbType.Int).Value = CveChecadorHorario
.Add("@ToleranciaERetardo", SqlDbType.Int).Value = ToleranciaERetardo
.Add("@ToleranciaEFalta", SqlDbType.Int).Value = ToleranciaEFalta
.Add("@ToleranciaSRetardo", SqlDbType.Int).Value = ToleranciaSRetardo
.Add("@ToleranciaSFalta", SqlDbType.Int).Value = ToleranciaSFalta
End With
Try
@@ -3388,7 +3393,8 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
Return Retorno
End Function
Public Function UpdateTurno(Turno As String, HorarioDe As String, HorarioA As String, Estatus As Boolean, CveTurno As Integer, CveUsuario As Integer, CveChecadorHorario As Integer) As Boolean
Public Function UpdateTurno(Turno As String, HorarioDe As String, HorarioA As String, Estatus As Boolean, CveTurno As Integer, CveUsuario As Integer, CveChecadorHorario As Integer,
ToleranciaERetardo As Integer, ToleranciaEFalta As Integer, ToleranciaSRetardo As Integer, ToleranciaSFalta As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -3402,7 +3408,12 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
.Add("@CveTurno", SqlDbType.Int).Value = CveTurno
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveChecadorHorario", SqlDbType.Int).Value = CveChecadorHorario
.Add("@ToleranciaERetardo", SqlDbType.Int).Value = ToleranciaERetardo
.Add("@ToleranciaEFalta", SqlDbType.Int).Value = ToleranciaEFalta
.Add("@ToleranciaSRetardo", SqlDbType.Int).Value = ToleranciaSRetardo
.Add("@ToleranciaSFalta", SqlDbType.Int).Value = ToleranciaSFalta
End With
Try

View File

@@ -59,7 +59,14 @@
<div class="portlet-title portlet-filterT smalltitle">
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1">Tipo vista:</label>
<div class="col-md-1">
<asp:DropDownList ID="DdlTipoVista" runat="server" CssClass="select2me" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Style="width: 100% !important;">
<asp:ListItem Text="Asistencia" Value="1" Selected="True"></asp:ListItem>
<asp:ListItem Text="Registros" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1">Tipo Período:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlTipoPeriodo" runat="server" CssClass="select2me" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Style="width: 100% !important;">
@@ -209,6 +216,16 @@
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList Width="100%" ID="DdlTurno" runat="server" AppendDataBoundItems="True" DataTextField="Turno" DataValueField="CveTurno" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label AssociatedControlID="DdlTurno" runat="server" Text="Turno:"></asp:Label>
<asp:RequiredFieldValidator ID="RFVTurno" runat="server" ControlToValidate="DdlTurno" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Turno''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<i></i>
</div>
<asp:Panel ID="Panel1" Visible="false" runat="server">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtPorPago" runat="server" Text="" type="number" min="0" max="100" step="0.01"></asp:TextBox>

View File

@@ -23,6 +23,10 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
{
if (!IsPostBack)
{
DdlTurno.DataSource = GlobalDTTurno.FiltraParametros("CveEmpresa = " + UsuarioActual.CveEmpresa);
DdlTurno.DataBind();
CargaTiposPeriodo();
TxtRpdFechaInicio.Text = "01/09/2021";
TxtRpdFechaFin.Text = "15/09/2021";
@@ -66,6 +70,20 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
DataTable dtCon = new DataTable();
dtCon.Columns.Add(new DataColumn("Codigo", typeof(string)));
dtCon.Columns.Add(new DataColumn("Empleado", typeof(string)));
string strasis = "<i class='fa fa-check-square' style=\"color:green;\"></i>";
string strdescanso = "<i class='fa fa-sun-o' style=\"color:green;\"></i>";
string strretardo = "<i class='fa fa-clock-o' style=\"color:orange;\" aria-hidden='true'></i>";
string strfaltaretardo = "<i class='fa fa-clock-o' style=\"color:red;\" aria-hidden='true'></i>";
string strfalta = "<div style=\"color:red;\">❌</div>";
if (salto == "\r\n")
{
strasis = "✅";
strdescanso = "🌣";
strretardo = "🕖";
strfaltaretardo = "❌";
strfalta = "--";
}
DateTime CFecha = FechaI;
while (FechaF > CFecha)
{
@@ -90,7 +108,7 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
{
int Fecha = string.Format("{0:yyyyMMdd}", CFecha).ToEntero();
string FechaCol = string.Format("{0:dd-MM-yyyy}", CFecha);
if (UsuarioActual.CveEmpresa == 119)
if (DdlTipoVista.SelectedValue == "2")
{
DataTable Dtb = objnom.DTSetResultados.Tables[4];
StringBuilder str = new StringBuilder();
@@ -109,7 +127,7 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
}
else
{
string TipoAsis = "(Faltó)";
string TipoAsis = "--";
DataRow drfec = dtASis.FiltroPrimero(string.Format("CvePersonal={0} AND Agrupador ={1}", item["CvePersonal"], Fecha), "Salida");
if (drfec != null)
{
@@ -129,22 +147,22 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
switch (drf["Tipo"].ToString().ToEntero())
{
case 1:
asistencia2 = "<i class='fa fa-check-square' style=\"color:green;\"></i>";
asistencia2 = strasis;
break;
case 2:
asistencia2 = "<i class='fa fa-clock-o' style=\"color:orange;\" aria-hidden='true'></i>";
asistencia2 = strretardo;
break;
case 3:
asistencia2 = "<i class='fa fa-clock-o' style=\"color:orange;\" aria-hidden='true'></i>";
asistencia2 = strretardo;
break;
case 4:
asistencia2 = "<i class='fa fa-clock-o' style=\"color:red;\" aria-hidden='true'></i>";
asistencia2 = strfaltaretardo;
break;
case 5:
asistencia2 = "<i class='fa fa-clock-o' style=\"color:red;\" aria-hidden='true'></i>";
asistencia2 = strfaltaretardo;
break;
case 6:
asistencia2 = "<div style=\"color:red;\">❌</div>";
asistencia2 = strfalta;
break;
default:
@@ -157,43 +175,58 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
switch (drfec["Tipo"].ToString().ToEntero())
{
case 1:
asistencia = "<i class='fa fa-check-square' style=\"color:green;\"></i>";
asistencia = strasis;
break;
case 2:
asistencia = "<i class='fa fa-clock-o' style=\"color:orange;\" aria-hidden='true'></i>";
asistencia = strretardo;
break;
case 3:
asistencia = "<i class='fa fa-clock-o' style=\"color:orange;\" aria-hidden='true'></i>";
asistencia = strretardo;
break;
case 4:
asistencia = "<i class='fa fa-clock-o' style=\"color:red;\" aria-hidden='true'></i>";
asistencia = strfaltaretardo;
break;
case 5:
asistencia = "<i class='fa fa-clock-o' style=\"color:red;\" aria-hidden='true'></i>";
asistencia = strfaltaretardo;
break;
case 6:
asistencia = "<div style=\"color:red;\">❌</div>";
asistencia = strfalta;
break;
default:
break;
}
drow[FechaCol] = string.Format("<div style='display:inline-block'>{0}<br>{1}{2}</div><div style='display:inline-block'>{3}<br>{4}{5}</div>", asistencia, drfec["Horas"], HoraExtraPorAutorizar, asistencia2, Horas2, HoraExtraPorAutorizar2);
if (salto == "\r\n")
{
drow[FechaCol] = string.Format("{0}{1}", asistencia, asistencia2, salto);
//drow[FechaCol] = string.Format("{0}{6}{1}{2}{3}{6}{4}{5}", asistencia, drfec["Horas"], HoraExtraPorAutorizar, asistencia2, Horas2, HoraExtraPorAutorizar2, salto);
}
else
{
drow[FechaCol] = string.Format("<div style='display:inline-block'>{0}{6}{1}{2}</div><div style='display:inline-block'>{3}{6}{4}{5}</div>", asistencia, drfec["Horas"], HoraExtraPorAutorizar, asistencia2, Horas2, HoraExtraPorAutorizar2, salto);
}
//drow[FechaCol] = string.Format("{0}<br>{1:HH}:{1:mm} - {2:HH}:{2:mm}", asistencia, drfec["Entrada"], drfec["Salida"]);
}
else
{
if (CFecha.DayOfWeek == DayOfWeek.Sunday)
{
drow[FechaCol] = "<i class='fa fa-sun-o' style=\"color:green;\"></i>";
drow[FechaCol] = strdescanso;
TipoAsis = "(Descanso)";
}
else
{
drow[FechaCol] = "<div style=\"color:red;\">❌</div>";
drow[FechaCol] = salto; // "<div style=\"color:red;\">❌</div>";
}
}
drow[FechaCol] = string.Format("<div class\" Widthall \" onclick=\"OpenModal('{2}',{3}) \">{0}<br>{1}</div>", drow[FechaCol], TipoAsis, FechaCol, item["CvePersonal"]);
if (salto == "\r\n")
{
drow[FechaCol] = string.Format("{0}{4}{1}", drow[FechaCol], TipoAsis, FechaCol, item["CvePersonal"], salto);
}
else
{
drow[FechaCol] = string.Format("<div class\" Widthall \" onclick=\"OpenModal('{2}',{3}) \">{0}{4}{1}</div>", drow[FechaCol], TipoAsis, FechaCol, item["CvePersonal"], salto);
}
//dtCon.Columns.Add(new DataColumn(FechaCol, typeof(string)));Widthall
@@ -275,6 +308,7 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
{
TxtCodigolabel.Text = drow["Codigo"].ToString();
TxtEmpleadolabel.Text = drow["NombreCompleto"].ToString();
DdlTurno.SelectedValueExist(drow["CveTurno"].ToString());
}
TxtFechalabel.Text = string.Format("{0:dd/MM/yyyy}", fechai);
DataTable dtTurno = GlobalDTTurno.FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa));
@@ -407,9 +441,16 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
DateTime fecha = TxtFecha.Text.ToDateTime();
int CvePersonal = TxtCvePersonal.Text.ToEntero();
List<RequestUpAsistenciaDetalle> registros = new List<RequestUpAsistenciaDetalle>();
int CveTurnoNEW = DdlTurno.SelectedValue.ToEntero();
using (ClsClaseBase objbase = new ClsClaseBase())
{
objbase.runQuerystr(string.Format("UPDATE RH_Personal SET CveTurno={1} WHERE CvePersonal ={0}", CvePersonal, CveTurnoNEW));
}
foreach (GridViewRow row in GvAsistenciaUp.Rows)
{
int CveTurno = row.DataKey("CveTurno").ToEntero();
string Fecha = row.DataKey("Fecha");
int CveAsistenciaDetalle = row.DataKey("CveAsistenciaDetalle").ToEntero();
int CveAsistenciasInasistencias = row.DataKey("CveAsistenciasInasistencias").ToEntero();
int CveProyecto = row.DataKey("CveProyecto").ToEntero();
@@ -425,6 +466,15 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
obj.CvePersonal = CvePersonal;
obj.Fecha = fecha;
obj.Motivo = TxtMotivo.Text.Trim();
if (CveTurno != CveTurnoNEW)
{
using (ClsClaseBase objbase = new ClsClaseBase())
{
objbase.runQuerystr(string.Format("UPDATE RH_PersonalAsistenciasDetalle SET CveTurno={1} WHERE CveAsistenciaDetalle ={0}", CveAsistenciaDetalle, CveTurnoNEW));
objbase.runQuerystr(string.Format("UPDATE D SET CveTurno={1} FROM RH_PersonalAsistencias A INNER JOIN RH_PersonalAsistenciasDetalle D ON D.CveAsistencia =A.CveAsistencia AND D.CveTurno = {2} WHERE A.Fecha > '{0}' AND A.CvePersonal ={3}", Fecha, CveTurnoNEW, CveTurno, CvePersonal));
}
}
if (obj.Motivo.Length == 0 && CveAsistenciasInasistencias != obj.CveAsistenciasInasistencias)
{
continuar = false;
@@ -468,6 +518,76 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
{
DataTable dtCon = generateTable("\r\n");
dtCon.ExportToExcel("Formato");
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
var libro = wb.AddWorksheet(dtCon, "Asistencia");
//string strinicio;
//string strfin;
//ClosedXML.Excel.IXLFontBase fini;
//for (int r = 2; r < dtCon.Rows.Count + 2; r++)
//{
// for (int c = 3; c < dtCon.Columns.Count + 1; c++)
// {
// var ccell = libro.Cell(r, c);
// if (ccell.Value.ToString().Substring(0, 1) != "")
// {
// //ccell.RichText.Substring(0, 1).SetFontColor(ClosedXML.Excel.XLColor.Green);
// strinicio = ccell.Value.ToString().Substring(0, 1);
// switch (strinicio)
// {
// case "✅":
// //ccell.RichText.Substring(0, 1).SetFontColor(ClosedXML.Excel.XLColor.Green);
// //ccell.RichText.AddText(ccell.RichText);
// //ClosedXML.Excel.IXLFontBase ffin = new ClosedXML.Excel.XLFontBase();
// ccell.RichText.SetFontColor(ClosedXML.Excel.XLColor.Green);
// break;
// case "🌣":
// //ccell.RichText.Substring(0, 1).SetFontColor(ClosedXML.Excel.XLColor.Green);
// ccell.RichText.SetFontColor(ClosedXML.Excel.XLColor.Green);
// break;
// case "🕖":
// //ccell.RichText.Substring(0, 1).SetFontColor(ClosedXML.Excel.XLColor.Orange);
// ccell.RichText.SetFontColor(ClosedXML.Excel.XLColor.Orange);
// break;
// case "❌":
// //ccell.RichText.Substring(0, 1).SetFontColor(ClosedXML.Excel.XLColor.Red);
// ccell.RichText.SetFontColor(ClosedXML.Excel.XLColor.Red);
// break;
// default:
// break;
// }
// }
// }
//}
libro.Tables.FirstOrDefault().ShowAutoFilter = false;
libro.SheetView.Freeze(1, 2);
libro.ColumnsUsed().AdjustToContents();
libro.Range(1, 3, dtCon.Rows.Count, dtCon.Columns.Count).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
System.IO.Stream fs = new System.IO.MemoryStream();
wb.SaveAs(fs);
fs.Position = 0;
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
using (System.IO.Stream input = fs)
{
input.CopyTo(memoryStream);
}
memoryStream.Position = 0;
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", string.Format("attachment;filename={0} del {1} al {2}.xlsx", "Asistencia", TxtRpdFechaInicio.Text.Replace("/", "-"), TxtRpdFechaFin.Text.Replace("/", "-")));
Response.BinaryWrite(memoryStream.ToArray());
Response.End();
}
}

View File

@@ -147,6 +147,19 @@
<asp:Label ID="LblSalario" runat="server" Text="--"></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoPeriodo" runat="server" AppendDataBoundItems="True" DataTextField="MotivoBaja" DataValueField="CveMotivoBaja" Width="100%"
CssClass="form-control select2me" ValidationGroup="GrpGuardar">
<asp:ListItem Text="Ordinario" Value="-1" Selected="True"></asp:ListItem>
<asp:ListItem Text="Extraordinario" Value="-2"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" Text="Tipo perdiodo" AssociatedControlID="DdlTipoPeriodo"></asp:Label>
</div>
</div>
</div>
<div class="row ">
</div>
</div>

View File

@@ -1077,7 +1077,7 @@ public partial class Nomina_Finiquito : ClsPaginas
using (ClsRH ObjPersonal = new ClsRH())
using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL()))
{
if (continuar = ObjPersonal.UpPersonalAltas(CvePersonal, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), -1, DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0)
if (continuar = ObjPersonal.UpPersonalAltas(CvePersonal, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), DdlTipoPeriodo.SelectedValue.ToEntero(), DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0)
{
DataRow da = ObjPersonal.DtResultados.Rows[0];
CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero();
@@ -1329,7 +1329,7 @@ public partial class Nomina_Finiquito : ClsPaginas
using (ClsRH ObjPersonal = new ClsRH())
using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL()))
{
if (continuar = ObjPersonal.UpPersonalAltas(CvePersonal, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), -1, DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0)
if (continuar = ObjPersonal.UpPersonalAltas(CvePersonal, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), DdlTipoPeriodo.SelectedValue.ToEntero(), DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0)
{
DataRow da = ObjPersonal.DtResultados.Rows[0];
CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero();

View File

@@ -4,6 +4,15 @@
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.bright {
border-right: 2px solid #fff;
}
.bleft {
border-left: 2px solid #fff;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
@@ -11,46 +20,59 @@
Catálogo de Turnos
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel ID="UppAddAcciones" runat="server">
<ContentTemplate>
<asp:UpdatePanel ID="UppAddAcciones" runat="server">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkTurno" runat="server" Text="Agregar"></asp:LinkButton>
<asp:LinkButton ID="LnkTurno" runat="server" Text="Agregar"></asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:HiddenField ClientIDMode="Static" runat="server" ID="HdnCveTurno" Value="-1" />
<div class="row" style="margin-right: 10px; margin-top: 18px;" align="right">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvTurno.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvTurno.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
<div style="text-align: right;">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvTurno.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvTurno.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<asp:GridView ID="GvTurno" runat="server" GridLines="None" DataKeyNames="CveTurno,Turno,CveChecadorHorario,HorarioDe,HorarioA,Estatus,FechaIng,CveUsuario,CveEmpresa,Usuario,ChecadorHorario" CssClass="table table-striped table-advance table-hover Widthall" CellSpacing="0" Width="100%" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros" ToolTip="Listado de Turnos">
<table id="thheader" style="display: none;">
<tr>
<th colspan="4"></th>
<th class="bright bleft" colspan="2">Entrada</th>
<th class="bright bleft">Salida</th>
<th colspan="4"></th>
</tr>
</table>
<asp:GridView ID="GvTurno" runat="server" GridLines="None" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" CellSpacing="0" Width="100%" AutoGenerateColumns="False"
EmptyDataText="No se encontraron registros" ToolTip="Listado de Turnos" data-tableheader="#thheader"
DataKeyNames="CveTurno,Turno,CveChecadorHorario,HorarioDe,HorarioA,Estatus,FechaIng,CveUsuario,CveEmpresa,Usuario,ChecadorHorario,ToleranciaERetardo,ToleranciaEFalta,ToleranciaEFalta2,ToleranciaSRetardo,ToleranciaSFalta">
<Columns>
<asp:BoundField DataField="Turno" HeaderText="Turno" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="ChecadorHorario" HeaderText="Checador Horario" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="HorarioDe" HeaderText="Hr. Entrada" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="HorarioA" HeaderText="Hr. Salida" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="ToleranciaERetardo" HeaderStyle-CssClass=" bleft" HeaderText="Tolerancia" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="ToleranciaEFalta2" HeaderStyle-CssClass="bright " HeaderText="Retardo" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="ToleranciaSFalta" HeaderStyle-CssClass="bright bleft" HeaderText="Tolerancia" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Estatus">
<ItemTemplate>
<asp:Label ID="LblEstatus" runat="server" Text='<%# Eval("Estatus") %>'>></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<ItemTemplate>
<asp:Label ID="LblEstatus" runat="server" Text='<%# Eval("Estatus") %>'>></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="FechaIng" HeaderText="Fecha de Ingreso" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<asp:BoundField DataField="Usuario" HeaderText="Usuario" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Comandos">
<ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CssClass="btn btn-circle btn-sm green" OnClick="Edit_Click" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" OnClick="Delete_Click" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CssClass="btn btn-circle btn-sm green" OnClick="Edit_Click" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" OnClick="Delete_Click" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:HiddenField ID="HdnModalidad" runat="server" Value="A" ClientIDMode="Static" />
<asp:HiddenField ID="HdnID" runat="server" Value="-1" ClientIDMode="Static" />
</Columns>
</asp:GridView>
<asp:HiddenField ID="HdnModalidad" runat="server" Value="A" ClientIDMode="Static" />
<asp:HiddenField ID="HdnID" runat="server" Value="-1" ClientIDMode="Static" />
</ContentTemplate>
</asp:UpdatePanel>
@@ -69,9 +91,9 @@
<asp:UpdatePanel ID="UpBodyTurno" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtTurno" runat="server" CausesValidation="true" CssClass="form-control" MaxLength="50" ValidationGroup="GrpObligatorio" ></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTurno" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtTurno" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Turno''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCTurno" runat="server" HighlightCssClass="vco" TargetControlID="RFVTurno"></ajax:ValidatorCalloutExtender>
<asp:TextBox ID="TxtTurno" runat="server" CausesValidation="true" CssClass="form-control" MaxLength="50" ValidationGroup="GrpObligatorio"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTurno" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtTurno" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Turno''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCTurno" runat="server" HighlightCssClass="vco" TargetControlID="RFVTurno"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtTurno.ClientID.ToString()%>">Turno:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
@@ -79,13 +101,13 @@
<label for="<%= DdlChecadorHorario.ClientID.ToString()%>">Checador de Horario:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtHorarioDe" runat="server" CausesValidation="true" CssClass="form-control" MaxLength="10" Width="104px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVHorarioDe" runat="server" ControlToValidate="TxtHorarioDe" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Hr. Entrada''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOHorarioDe1" runat="server" HighlightCssClass="vco" TargetControlID="RFVHorarioDe" Width="300px"></ajax:ValidatorCalloutExtender>
<ajax:MaskedEditExtender ID="MEEHorarioDe" runat="server" TargetControlID="TxtHorarioDe" Mask="99:99:99" MaskType="Time" InputDirection="RightToLeft"></ajax:MaskedEditExtender>
<ajax:MaskedEditValidator ID="MEVHorarioDe" runat="server" ControlExtender="MEEHorarioDe" ControlToValidate="TxtHorarioDe" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Hr. Entrada''</b> no tiene el formato correcto, por favor corrija (Formato 24 Horas)." IsValidEmpty="true" MaximumValue="23:59:59" MinimumValue="00:00:00" ToolTip="Formato 24 Horas" ValidationGroup="GrpObligatorio"></ajax:MaskedEditValidator>
<ajax:ValidatorCalloutExtender ID="VCOHorarioDe2" runat="server" HighlightCssClass="vco" TargetControlID="MEVHorarioDe"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtHorarioDe.ClientID.ToString()%>">Hora de Entrada:</label>
<asp:TextBox ID="TxtHorarioDe" runat="server" CausesValidation="true" CssClass="form-control" MaxLength="10" Width="104px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVHorarioDe" runat="server" ControlToValidate="TxtHorarioDe" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Hr. Entrada''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOHorarioDe1" runat="server" HighlightCssClass="vco" TargetControlID="RFVHorarioDe" Width="300px"></ajax:ValidatorCalloutExtender>
<ajax:MaskedEditExtender ID="MEEHorarioDe" runat="server" TargetControlID="TxtHorarioDe" Mask="99:99:99" MaskType="Time" InputDirection="RightToLeft"></ajax:MaskedEditExtender>
<ajax:MaskedEditValidator ID="MEVHorarioDe" runat="server" ControlExtender="MEEHorarioDe" ControlToValidate="TxtHorarioDe" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Hr. Entrada''</b> no tiene el formato correcto, por favor corrija (Formato 24 Horas)." IsValidEmpty="true" MaximumValue="23:59:59" MinimumValue="00:00:00" ToolTip="Formato 24 Horas" ValidationGroup="GrpObligatorio"></ajax:MaskedEditValidator>
<ajax:ValidatorCalloutExtender ID="VCOHorarioDe2" runat="server" HighlightCssClass="vco" TargetControlID="MEVHorarioDe"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtHorarioDe.ClientID.ToString()%>">Hora de Entrada:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtHorarioA" runat="server" CausesValidation="true" CssClass="form-control" MaxLength="10" Width="84px" ValidationGroup="GrpObligatorio"></asp:TextBox>
@@ -96,10 +118,22 @@
<ajax:ValidatorCalloutExtender ID="VCOHorarioA2" runat="server" HighlightCssClass="vco" TargetControlID="MEVHorarioA"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtHorarioDe.ClientID.ToString()%>">Hora de Salida:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtRetardo" runat="server" CausesValidation="true" CssClass="form-control" ValidationGroup="GrpObligatorio"></asp:TextBox>
<asp:Label AssociatedControlID="TxtRetardo" runat="server" Text="Tolerancia Entrada"></asp:Label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtFretardo" runat="server" CausesValidation="true" CssClass="form-control" ValidationGroup="GrpObligatorio"></asp:TextBox>
<asp:Label AssociatedControlID="TxtFretardo" runat="server" Text="Retardo"></asp:Label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtFsalida" runat="server" CausesValidation="true" CssClass="form-control" ValidationGroup="GrpObligatorio"></asp:TextBox>
<asp:Label AssociatedControlID="TxtFretardo" runat="server" Text="Tolerancia salida"></asp:Label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:CheckBox ID="ChkEstatus" runat="server" CssClass="form-control" />
<label for="<%= ChkEstatus.ClientID.ToString()%>">Estatus:</label>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="modal-footer">
@@ -117,5 +151,4 @@
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -40,13 +40,15 @@ Partial Class RH_CatTurno
Dim Estatus As Boolean = False
If ChkEstatus.Checked Then Estatus = True
If HdnModalidad.Value = "A" Then
If ObjRH.AddTurno(TxtTurno.Text, TxtHorarioDe.Text, TxtHorarioA.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlChecadorHorario.SelectedValue.ToEntero) Then
If ObjRH.AddTurno(TxtTurno.Text, TxtHorarioDe.Text, TxtHorarioA.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlChecadorHorario.SelectedValue.ToEntero(),
TxtRetardo.Text.ToEntero(), TxtFretardo.Text.ToEntero() - TxtRetardo.Text.ToEntero(), 0, TxtFsalida.Text.ToEntero()) Then
CargaDatos()
CargaGlobalDTTurno()
Alert("Agregado Correctamente.", TipoMensaje.MsgInformacion)
End If
ElseIf HdnModalidad.Value = "U" Then
If ObjRH.UpdateTurno(TxtTurno.Text, TxtHorarioDe.Text, TxtHorarioA.Text, Estatus, HdnID.Value.ToEntero, UsuarioActual.CveUsuario, DdlChecadorHorario.SelectedValue.ToEntero) Then
If ObjRH.UpdateTurno(TxtTurno.Text, TxtHorarioDe.Text, TxtHorarioA.Text, Estatus, HdnID.Value.ToEntero(), UsuarioActual.CveUsuario, DdlChecadorHorario.SelectedValue.ToEntero(),
TxtRetardo.Text.ToEntero(), TxtFretardo.Text.ToEntero() - TxtRetardo.Text.ToEntero(), 0, TxtFsalida.Text.ToEntero()) Then
CargaDatos()
CargaGlobalDTTurno()
Alert("Actualizado Correctamente.", TipoMensaje.MsgInformacion)
@@ -69,6 +71,9 @@ Partial Class RH_CatTurno
TxtTurno.Text = GvRow.DataKey("Turno")
TxtHorarioDe.Text = GvRow.DataKey("HorarioDe")
TxtHorarioA.Text = GvRow.DataKey("HorarioA")
TxtRetardo.Text = GvRow.DataKey("ToleranciaERetardo")
TxtFretardo.Text = (GvRow.DataKey("ToleranciaEFalta2").ToEntero()).ToString()
TxtFsalida.Text = GvRow.DataKey("ToleranciaSFalta")
ChkEstatus.Checked = CBool(GvRow.DataKey("Estatus"))
UpAddTurno.Update()
@@ -85,6 +90,9 @@ Partial Class RH_CatTurno
TxtHorarioA.Text = ""
TxtHorarioDe.Text = ""
TxtTurno.Text = ""
TxtRetardo.Text = "15"
TxtFretardo.Text = "30"
TxtFsalida.Text = "15"
CargaDdlChecadorHorario()
ChkEstatus.Checked = True
UpAddTurno.Update()

View File

@@ -5,7 +5,9 @@
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<link href="/Metronic/assets/global/plugins/dropzone/css/dropzone.css" rel="stylesheet" />
<style>
.GvAsistenciaDiv .ADScroller-header{
overflow: visible;
}
.lblforchk {
font-size: 13px;
color: #888888;
@@ -1925,7 +1927,7 @@
</div>
</div>
</div>
<div class="portlet-data">
<div class="portlet-data GvAsistenciaDiv">
<table class="table table-striped table-hover Widthall" id="GvAsistenciaHeader">
<%--<thead>--%>
<tr class="Titulos">
@@ -1974,8 +1976,7 @@
<%--</thead>--%>
<tr>
<td>
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style=" min-width: 100px;
max-width: 200px;">
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style=" min-width: 100px; max-width: 200px;">
<asp:TextBox ID="TxtFechaAsistencia" runat="server" CausesValidation="true" CssClass="form-control input-sm"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgCalendarioAsistencia" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
@@ -2272,14 +2273,10 @@
<div class="portlet-body">
<asp:LinkButton ID="BtnPDFResguardo" OnClick="BtnPDFResguardo_Click" runat="server" data-toggle="tooltip" Title="PDF" Style=" float: right;"><i class="fa fa-file-pdf-o" style=" margin-right: 10px;
font-size: 15px;
font-weight: bold;
color: dimgray;"></i></asp:LinkButton>
<asp:LinkButton ID="BtnExcelResguardo" OnClick="BtnExcelResguardo_Click" runat="server" data-toggle="tooltip" Title="Excel" Style=" float: right;"><i style=' margin-right: 10px;
font-size: 15px;
font-weight: bold;
color: dimgray;' class='fa fa-file-excel-o'></i></asp:LinkButton>
<asp:LinkButton ID="BtnPDFResguardo" OnClick="BtnPDFResguardo_Click" runat="server" data-toggle="tooltip" Title="PDF" Style=" float: right;">
<i class="fa fa-file-pdf-o" style=" margin-right: 10px; font-size: 15px; font-weight: bold; color: dimgray;"></i></asp:LinkButton>
<asp:LinkButton ID="BtnExcelResguardo" OnClick="BtnExcelResguardo_Click" runat="server" data-toggle="tooltip" Title="Excel" Style=" float: right;">
<i style=' margin-right: 10px; font-size: 15px; font-weight: bold; color: dimgray;' class='fa fa-file-excel-o'></i></asp:LinkButton>
<asp:GridView ID="GvResguardos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveActivoFijoResguardo" EmptyDataText="No se encontraron Resguardos Registrados" ToolTip="Listado de Resguardos" CssClass="table table-striped table-advance table-hover Widthall" GridLines="None">
<Columns>

View File

@@ -1607,6 +1607,9 @@ Partial Class RH_Personal
cargaagrodeptos()
DDlAgroDepartamento.SelectedValueExist(drow("CveDepartamentoAgropecuaria").ToString())
ChkCharolaForanea.Checked = (drow("CharolaForanea").ToString().ToUpper().Contiene("1", "TRUE"))
ChkPensionado.Checked = (drow("Pensionado").ToString().ToUpper().Contiene("1", "TRUE"))
DdlSupervisor.SelectedValue = ObjPersonal.CveSupervisor.ToString()
'Carga Nómina
TxtFechaIngreso.Text = ObjPersonal.FechaIngreso.ToShortDateString

View File

@@ -354,6 +354,12 @@