This commit is contained in:
@@ -2251,7 +2251,30 @@ Public Class ClsNominas
|
|||||||
End Try
|
End Try
|
||||||
Return retorno
|
Return retorno
|
||||||
End Function
|
End Function
|
||||||
Public Function GetchecadorAdistencia(FechaInicio As DateTime, FechaFin As DateTime, CveEmpresa As Integer) As Boolean
|
Public Function AsistenciaDetallePorTurnoGet(FechaInicio As DateTime, FechaFin As DateTime, CveEmpresa As Integer, Optional CvePersonal As Integer = -1) As Boolean
|
||||||
|
Dim retorno As Boolean = False
|
||||||
|
|
||||||
|
Try
|
||||||
|
DTSet = New DataSet()
|
||||||
|
DataAdapter("PA_RH_AsistenciaDetallePorTurnoGet", CommandType.StoredProcedure)
|
||||||
|
With SqlAdapter.SelectCommand.Parameters
|
||||||
|
.Add("@FechaInicio", SqlDbType.DateTime).Value = FechaInicio
|
||||||
|
.Add("@FechaFin", SqlDbType.DateTime).Value = FechaFin
|
||||||
|
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||||
|
.Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
|
||||||
|
End With
|
||||||
|
SqlAdapter.Fill(DTSet)
|
||||||
|
retorno = True
|
||||||
|
Catch sqEx As SqlException
|
||||||
|
retorno = False
|
||||||
|
OnError("Ocurrió un error al obtener la asistenciadetalle.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||||
|
Catch ex As Exception
|
||||||
|
retorno = False
|
||||||
|
OnError("Ocurrió un error al obtener la asistenciadetalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||||
|
End Try
|
||||||
|
Return retorno
|
||||||
|
End Function
|
||||||
|
Public Function GetchecadorAsistencia(FechaInicio As DateTime, FechaFin As DateTime, CveEmpresa As Integer) As Boolean
|
||||||
Dim retorno As Boolean = False
|
Dim retorno As Boolean = False
|
||||||
|
|
||||||
Try
|
Try
|
||||||
@@ -2266,10 +2289,10 @@ Public Class ClsNominas
|
|||||||
retorno = True
|
retorno = True
|
||||||
Catch sqEx As SqlException
|
Catch sqEx As SqlException
|
||||||
retorno = False
|
retorno = False
|
||||||
OnError("Ocurrió un error al Realizar el calculo de asistencia.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
OnError("Ocurrió un error al realizar el calculo de asistencia.", sqEx, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
retorno = False
|
retorno = False
|
||||||
OnError("Ocurrió un error al Realizar el calculo de asistencia.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
OnError("Ocurrió un error al realizar el calculo de asistencia.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||||
End Try
|
End Try
|
||||||
Return retorno
|
Return retorno
|
||||||
End Function
|
End Function
|
||||||
|
|||||||
@@ -3896,7 +3896,7 @@ Public Class ClsPaginas
|
|||||||
If Application("GlobalSIGAppPaginas") Is Nothing Then
|
If Application("GlobalSIGAppPaginas") Is Nothing Then
|
||||||
PaginaDict = New System.Collections.Hashtable
|
PaginaDict = New System.Collections.Hashtable
|
||||||
|
|
||||||
PaginaDict.Add("/Nomina/ChecadorAsistencia.aspx".ToUpper(), -1)
|
PaginaDict.Add("/Nomina/ChecadorAsistencia.aspx".ToUpper(), 921)
|
||||||
PaginaDict.Add("/Nomina/ISRCalculoAnual.aspx".ToUpper(), 918)
|
PaginaDict.Add("/Nomina/ISRCalculoAnual.aspx".ToUpper(), 918)
|
||||||
PaginaDict.Add("/Nomina/MovimientosSUA.aspx".ToUpper(), 919)
|
PaginaDict.Add("/Nomina/MovimientosSUA.aspx".ToUpper(), 919)
|
||||||
'PaginaDict.Add("/Nomina/Acumulados.aspx".ToUpper(), 916)
|
'PaginaDict.Add("/Nomina/Acumulados.aspx".ToUpper(), 916)
|
||||||
|
|||||||
@@ -2438,8 +2438,53 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
|
|||||||
End Try
|
End Try
|
||||||
|
|
||||||
Return Retorno
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
Public Function UpAsistenciaDetalle(CveEmpresa As Integer, registros As List(Of RequestUpAsistenciaDetalle)) As Boolean
|
||||||
|
Dim Retorno As Boolean = False
|
||||||
|
Dim xmlProductos As System.Xml.Linq.XDocument = Nothing
|
||||||
|
If registros IsNot Nothing AndAlso registros.Count > 0 Then
|
||||||
|
xmlProductos = New System.Xml.Linq.XDocument(New System.Xml.Linq.XElement("registros", From x In registros Select New System.Xml.Linq.XElement("registro", New System.Xml.Linq.XElement("CveAsistenciaDetalle", x.CveAsistenciaDetalle), New System.Xml.Linq.XElement("CvePersonal", x.CvePersonal), New System.Xml.Linq.XElement("CveAsistenciasInasistencias", x.CveAsistenciasInasistencias), New System.Xml.Linq.XElement("CveSubProyecto", x.CveSubProyecto), New System.Xml.Linq.XElement("Fecha", x.Fecha))))
|
||||||
|
End If
|
||||||
|
Data = New DataTable
|
||||||
|
SqlDataAdapter("PA_RH_AsistenciaDetalleUP")
|
||||||
|
With SqlAdapter.SelectCommand.Parameters
|
||||||
|
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||||
|
.Add("@xmlRegistros", SqlDbType.Xml).Value = xmlProductos.ToString()
|
||||||
|
End With
|
||||||
|
Try
|
||||||
|
SqlAdapter.Fill(Data)
|
||||||
|
Retorno = True
|
||||||
|
Catch Ex1 As SqlException
|
||||||
|
Me.OnError("Ocurrió un error al guardar la Asistencia.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||||
|
Catch ex As Exception
|
||||||
|
OnError("Ocurrió un error al guardar la Asistencia.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||||
|
End Try
|
||||||
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
Public Function AddChecadorRegistro(CveEmpresa As Integer, registros As List(Of RequestAddChecadorRegistro)) As Boolean
|
||||||
|
Dim Retorno As Boolean = False
|
||||||
|
Dim xmlProductos As System.Xml.Linq.XDocument = Nothing
|
||||||
|
If registros IsNot Nothing AndAlso registros.Count > 0 Then
|
||||||
|
xmlProductos = New System.Xml.Linq.XDocument(New System.Xml.Linq.XElement("registros", From x In registros Select New System.Xml.Linq.XElement("registro", New System.Xml.Linq.XElement("CveChecador", x.CveChecador), New System.Xml.Linq.XElement("CvePersonal", x.CvePersonal), New System.Xml.Linq.XElement("ChecadorID", x.ChecadorID), New System.Xml.Linq.XElement("Fecha", x.Fecha))))
|
||||||
|
End If
|
||||||
|
Data = New DataTable
|
||||||
|
SqlDataAdapter("PA_RH_ChecadorAsistenciaAdd")
|
||||||
|
With SqlAdapter.SelectCommand.Parameters
|
||||||
|
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||||
|
.Add("@xmlRegistros", SqlDbType.Xml).Value = xmlProductos.ToString()
|
||||||
|
End With
|
||||||
|
Try
|
||||||
|
SqlAdapter.Fill(Data)
|
||||||
|
Retorno = True
|
||||||
|
Catch Ex1 As SqlException
|
||||||
|
Me.OnError("Ocurrió un error al guardar la Asistencia.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||||
|
Catch ex As Exception
|
||||||
|
OnError("Ocurrió un error al guardar la Asistencia.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||||
|
End Try
|
||||||
|
Return Retorno
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function AddAsistenciaMasiva(CvePeriodo As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
|
Public Function AddAsistenciaMasiva(CvePeriodo As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
|
||||||
|
|
||||||
Dim Retorno As Boolean = False
|
Dim Retorno As Boolean = False
|
||||||
@@ -7088,3 +7133,16 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
|
|||||||
End Sub
|
End Sub
|
||||||
#End Region
|
#End Region
|
||||||
End Class
|
End Class
|
||||||
|
Public Class RequestAddChecadorRegistro
|
||||||
|
Public Property CveChecador As Integer
|
||||||
|
Public Property CvePersonal As Integer
|
||||||
|
Public Property ChecadorID As Integer
|
||||||
|
Public Property Fecha As DateTime
|
||||||
|
End Class
|
||||||
|
Public Class RequestUpAsistenciaDetalle
|
||||||
|
Public Property CveAsistenciaDetalle As Integer
|
||||||
|
Public Property Fecha As DateTime
|
||||||
|
Public Property CvePersonal As Integer
|
||||||
|
Public Property CveAsistenciasInasistencias As Integer
|
||||||
|
Public Property CveSubProyecto As Integer
|
||||||
|
End Class
|
||||||
|
|||||||
102
General/ExcelToBD.aspx
Normal file
102
General/ExcelToBD.aspx
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ExcelToBD.aspx.cs" Inherits="General_ExcelToBD" %>
|
||||||
|
|
||||||
|
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
|
||||||
|
|
||||||
|
<asp:UpdatePanel runat="server" ID="UpDetallesDia" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="portlet light smmallpadding bordered">
|
||||||
|
<div class="portlet-title">
|
||||||
|
<div class="caption font-green">
|
||||||
|
<i class="fa fa-upload font-green"></i>
|
||||||
|
<span class="caption-subject bold uppercase">Paso 1: cargar plantilla </span>
|
||||||
|
</div>
|
||||||
|
<div class="tools">
|
||||||
|
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="portlet-body rowpadding ">
|
||||||
|
<asp:Label runat="server" Text="Label">ingrese el archivo a cargar</asp:Label>
|
||||||
|
<asp:TextBox ID="TxtArchivoXls" CssClass="ADSdropzone hidden" data-maxFilesize="100" runat="server"></asp:TextBox>
|
||||||
|
<div class="text-right">
|
||||||
|
<asp:LinkButton ID="LnkCargarArchivo" CssClass="btn btn-success" OnClick="LnkCargarArchivo_Click" runat="server">Cargar excel</asp:LinkButton>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
|
||||||
|
<div class="portlet light smmallpadding bordered">
|
||||||
|
<div class="portlet-title">
|
||||||
|
<div class="caption font-green">
|
||||||
|
<i class="fa fa-upload font-green"></i>
|
||||||
|
<span class="caption-subject bold uppercase">Paso 2: Configuración </span>
|
||||||
|
</div>
|
||||||
|
<div class="tools">
|
||||||
|
<asp:LinkButton ID="Lnkdoit" CssClass="btn btn-success" OnClick="Lnkdoit_Click" runat="server">Mostrar</asp:LinkButton>
|
||||||
|
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="portlet-body rowpadding ">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlWorkBooks" runat="server" CssClass="select2me form-control" DataTextField="Name" DataValueField="position" OnSelectedIndexChanged="DdlWorkBooks_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
|
||||||
|
<asp:Label runat="server" AssociatedControlID="DdlWorkBooks" Text="Hoja Excel"></asp:Label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-3">
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox CssClass="form-control" ID="TxtFilas" runat="server" Text="1" Enabled="false"></asp:TextBox>
|
||||||
|
<asp:Label runat="server" AssociatedControlID="TxtFilas" type="number" Text="Filas"></asp:Label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox CssClass="form-control" ID="TxtInicia" runat="server" Text="1" Enabled="false"></asp:TextBox>
|
||||||
|
<asp:Label runat="server" AssociatedControlID="TxtInicia" type="number" Text="Fila inicial"></asp:Label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox CssClass="form-control" ID="TxtColumnas" runat="server" Text="1" Enabled="false"></asp:TextBox>
|
||||||
|
<asp:Label runat="server" AssociatedControlID="TxtColumnas" type="number" Text="Columnas"></asp:Label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-3">
|
||||||
|
<asp:CheckBox ID="chkcontieneTitulos" Checked="true" TextAlign="Left" Text="Contiene titulos:" runat="server" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="text-right">
|
||||||
|
<asp:LinkButton ID="LnkContinuar" OnClick="LnkContinuar_Click" runat="server">Continuar</asp:LinkButton>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
|
||||||
116
General/ExcelToBD.aspx.cs
Normal file
116
General/ExcelToBD.aspx.cs
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.UI;
|
||||||
|
using System.Web.UI.WebControls;
|
||||||
|
using ClosedXML.Excel;
|
||||||
|
using Extensiones;
|
||||||
|
|
||||||
|
public partial class General_ExcelToBD : System.Web.UI.Page
|
||||||
|
{
|
||||||
|
#region propiedades
|
||||||
|
|
||||||
|
private string URLFile
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (ViewState["URLFile"] == null) { return ""; }
|
||||||
|
else { return ViewState["URLFile"].ToString(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
set { ViewState["URLFile"] = value; }
|
||||||
|
}
|
||||||
|
private string extension
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (ViewState["extension"] == null) { return ""; }
|
||||||
|
else { return ViewState["extension"].ToString(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
set { ViewState["extension"] = value; }
|
||||||
|
}
|
||||||
|
private List<ADSWorksBooks> workBooks
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (ViewState["workBooks"] == null) { return null; }
|
||||||
|
else { return (List<ADSWorksBooks>)ViewState["workBooks"]; }
|
||||||
|
}
|
||||||
|
|
||||||
|
set { ViewState["workBooks"] = value; }
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void LnkCargarArchivo_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
List<Archivo> filesgral = TxtArchivoXls.getfiles().Archivos;
|
||||||
|
workBooks = new List<ADSWorksBooks>();
|
||||||
|
foreach (Archivo fileItem in filesgral)
|
||||||
|
{
|
||||||
|
extension = System.IO.Path.GetExtension(string.Format(@"{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "");
|
||||||
|
URLFile = fileItem.FileUrl;
|
||||||
|
}
|
||||||
|
using (var workbook = new XLWorkbook(URLFile))
|
||||||
|
{
|
||||||
|
int position = 1;
|
||||||
|
foreach (IXLWorksheet wokitem in workbook.Worksheets)
|
||||||
|
{
|
||||||
|
workBooks.Add(new ADSWorksBooks() { Name = wokitem.Name, position = position++ });
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
DdlWorkBooks.DataSource = workBooks;
|
||||||
|
DdlWorkBooks.DataBind();
|
||||||
|
if (workBooks.Count > 0)
|
||||||
|
{
|
||||||
|
DdlWorkBooks.SelectedIndex = 0;
|
||||||
|
DdlWorkBooks_SelectedIndexChanged(null,null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void DdlWorkBooks_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
using (var workbook = new XLWorkbook(URLFile))
|
||||||
|
{
|
||||||
|
|
||||||
|
int Filas = 0;
|
||||||
|
int columnas = 0;
|
||||||
|
IXLWorksheet workSheet = workbook.Worksheet(DdlWorkBooks.SelectedValue.ToEntero());
|
||||||
|
Filas = workSheet.LastColumnUsed().CellCount();
|
||||||
|
columnas = workSheet.LastRowUsed().CellCount();
|
||||||
|
TxtFilas.Text = Filas.ToString();
|
||||||
|
TxtInicia.Text = "1";
|
||||||
|
TxtColumnas.Text = Filas.ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Lnkdoit_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void LnkContinuar_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
int Filas = 0;
|
||||||
|
int columnas = 0;
|
||||||
|
using (var workbook = new XLWorkbook(URLFile))
|
||||||
|
{
|
||||||
|
IXLWorksheet workSheet = workbook.Worksheet(DdlWorkBooks.SelectedValue.ToEntero());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Serializable]
|
||||||
|
public class ADSWorksBooks
|
||||||
|
{
|
||||||
|
public int position { get; set; }
|
||||||
|
public string Name { get; set; }
|
||||||
|
}
|
||||||
BIN
Metronic/assets/global/images/spritemap.png
Normal file
BIN
Metronic/assets/global/images/spritemap.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
BIN
Metronic/assets/global/images/spritemap@2x.png
Normal file
BIN
Metronic/assets/global/images/spritemap@2x.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
@@ -38,6 +38,9 @@
|
|||||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||||
|
<li>
|
||||||
|
<asp:HyperLink ID="HypAgregarRegistro" data-toggle="modal" data-target="#DivAgregarRegistro" runat="server"><i class="fa fa-check"></i> Agregar registro</asp:HyperLink>
|
||||||
|
</li>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
|
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
@@ -122,12 +125,15 @@
|
|||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<div class="modal-header ">
|
<div class="modal-header ">
|
||||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||||
<h4 class="modal-title">
|
<h4 class="modal-title">Asistencia detalle</h4>
|
||||||
<asp:Literal ID="LtlAsistenciaHorariosModal" runat="server">Detalles</asp:Literal></h4>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox CssClass="form-control" ID="TxtEmpleadolabel" runat="server" Text="" Enabled="false"></asp:TextBox>
|
||||||
|
<asp:Label runat="server" AssociatedControlID="TxtEmpleadolabel" Text="Empleado"></asp:Label>
|
||||||
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
@@ -142,74 +148,109 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<asp:GridView ID="GvAsistenciaUp" runat="server" DataKeyNames="CveAsistenciaDetalle,CveAsistenciasInasistencias,CvePersonal,CveSubProyecto,CveProyecto,CveTurno,Fecha" AutoGenerateColumns="false" ShowHeaderWhenEmpty="false" OnRowDataBound="GvAsistenciaUp_RowDataBound"
|
||||||
|
CssClass=" table table-striped table-advance table-hover Widthall" Style="text-align: center;" GridLines="None">
|
||||||
|
<Columns>
|
||||||
|
<asp:TemplateField HeaderText="Turno" ItemStyle-HorizontalAlign="Left" Visible="true">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:Label runat="server" Width="150" Text='<%# Eval("Turno") %>'></asp:Label>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField HeaderText="Asistencia" Visible="true">
|
||||||
|
<ItemTemplate>
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlTipoAsistencias" runat="server" CssClass="select2me form-control" DataTextField="Tipo" DataValueField="CveAsistenciasInasistencias"></asp:DropDownList>
|
||||||
|
</div>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
<asp:TemplateField HeaderText="Centro de costos" Visible="true">
|
||||||
<asp:TextBox CssClass="form-control" ID="TxtEmpleadolabel" runat="server" Text="" Enabled="false" Style="font-size: 11px;"></asp:TextBox>
|
<ItemTemplate>
|
||||||
<asp:Label runat="server" AssociatedControlID="TxtEmpleadolabel" Text="Empleado"></asp:Label>
|
|
||||||
</div>
|
<asp:Panel ID="PnlProyecto" CssClass="col-md-6" runat="server">
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
<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>
|
<asp:DropDownList ID="DdlAsisProyecto" runat="server" AppendDataBoundItems="true" CssClass="form-control select2me" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
|
||||||
<asp:Label runat="server" AssociatedControlID="TxtPorPago" Text="Porcentaje Pago"></asp:Label>
|
<asp:ListItem Text="Seleccione" Value="-1"></asp:ListItem>
|
||||||
</div>
|
</asp:DropDownList>
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
<asp:Label ID="LblAsisProyecto" AssociatedControlID="DdlAsisProyecto" runat="server" Text="Proyecto:"></asp:Label>
|
||||||
<asp:DropDownList ID="DdlTipoAsistencias" Enabled="false" Width="150" runat="server" CssClass="select2me form-control" DataTextField="Tipo" DataValueField="CveAsistenciasInasistencias"></asp:DropDownList>
|
</div>
|
||||||
<asp:Label runat="server" AssociatedControlID="DdlTipoAsistencias" Text="Asistencia"></asp:Label>
|
</asp:Panel>
|
||||||
</div>
|
<asp:Panel ID="PnlSubProyecto" CssClass="col-md-12" runat="server">
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlAsisSubProyecto" runat="server" AppendDataBoundItems="true" CssClass="form-control select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
|
||||||
|
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
|
||||||
|
</asp:DropDownList>
|
||||||
|
<asp:Label ID="LblAsisSubProyecto" Visible="false" AssociatedControlID="DdlAsisSubProyecto" runat="server" Text="SubProyecto:"></asp:Label>
|
||||||
|
</div>
|
||||||
|
</asp:Panel>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
</Columns>
|
||||||
|
</asp:GridView>
|
||||||
|
<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>
|
||||||
|
<asp:Label runat="server" AssociatedControlID="TxtPorPago" Text="Porcentaje Pago"></asp:Label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlTipoAsistencias" Enabled="false" Width="150" runat="server" CssClass="select2me form-control" DataTextField="Tipo" DataValueField="CveAsistenciasInasistencias"></asp:DropDownList>
|
||||||
|
<asp:Label runat="server" AssociatedControlID="DdlTipoAsistencias" Text="Asistencia"></asp:Label>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
<asp:TextBox CssClass="form-control " ID="TxtHorasDobles" runat="server" MaxLength="3" Text="0"></asp:TextBox>
|
<asp:TextBox CssClass="form-control " ID="TxtHorasDobles" runat="server" MaxLength="3" Text="0"></asp:TextBox>
|
||||||
<asp:Label runat="server" AssociatedControlID="TxtHorasDobles" Text="Horas Dobles"></asp:Label>
|
<asp:Label runat="server" AssociatedControlID="TxtHorasDobles" Text="Horas Dobles"></asp:Label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox CssClass="form-control " ID="TxtHorasTriples" runat="server" MaxLength="3" Text="0"></asp:TextBox>
|
||||||
|
<asp:Label runat="server" AssociatedControlID="TxtHorasTriples" Text="Horas Triples"></asp:Label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlMotivoHoraExtra" runat="server" AppendDataBoundItems="true" DataTextField="MotivoHoraExtra" DataValueField="CveMotivoHoraExtra"
|
||||||
|
CssClass="form-control select2me" Width="100%">
|
||||||
|
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||||
|
</asp:DropDownList>
|
||||||
|
<asp:Label runat="server" AssociatedControlID="DdlMotivoHoraExtra" Text="Motivo"></asp:Label><%-- Hora Extra--%>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
|
||||||
<asp:TextBox CssClass="form-control " ID="TxtHorasTriples" runat="server" MaxLength="3" Text="0"></asp:TextBox>
|
<div class="row">
|
||||||
<asp:Label runat="server" AssociatedControlID="TxtHorasTriples" Text="Horas Triples"></asp:Label>
|
<asp:Panel ID="PnlProyecto" CssClass="col-md-6" runat="server">
|
||||||
</div>
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlAsisProyecto" runat="server" AppendDataBoundItems="true" CssClass="form-control select2me" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
|
||||||
|
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||||
|
</asp:DropDownList>
|
||||||
|
<asp:Label ID="LblAsisProyecto" AssociatedControlID="DdlAsisProyecto" runat="server" Text="Proyecto:"></asp:Label>
|
||||||
|
</div>
|
||||||
|
</asp:Panel>
|
||||||
|
<asp:Panel ID="PnlSubProyecto" CssClass="col-md-12" runat="server">
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlAsisSubProyecto" runat="server" AppendDataBoundItems="true" CssClass="form-control select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
|
||||||
|
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
||||||
|
</asp:DropDownList>
|
||||||
|
<asp:Label ID="LblAsisSubProyecto" AssociatedControlID="DdlAsisSubProyecto" runat="server" Text="SubProyecto:"></asp:Label>
|
||||||
|
</div>
|
||||||
|
</asp:Panel>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
|
||||||
<asp:DropDownList ID="DdlMotivoHoraExtra" runat="server" AppendDataBoundItems="true" DataTextField="MotivoHoraExtra" DataValueField="CveMotivoHoraExtra"
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
CssClass="form-control select2me" Width="100%">
|
<asp:TextBox CssClass="form-control" ID="TxtObservaciones" runat="server" MaxLength="150"></asp:TextBox>
|
||||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
<asp:Label runat="server" AssociatedControlID="TxtObservaciones" Text="Observaciones"></asp:Label>
|
||||||
</asp:DropDownList>
|
|
||||||
<asp:Label runat="server" AssociatedControlID="DdlMotivoHoraExtra" Text="Motivo"></asp:Label><%-- Hora Extra--%>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</asp:Panel>
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<asp:Panel ID="PnlProyecto" CssClass="col-md-6" runat="server">
|
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
|
||||||
<asp:DropDownList ID="DdlAsisProyecto" runat="server" AppendDataBoundItems="true" CssClass="form-control select2me" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
|
|
||||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
|
||||||
</asp:DropDownList>
|
|
||||||
<asp:Label ID="LblAsisProyecto" AssociatedControlID="DdlAsisProyecto" runat="server" Text="Proyecto:"></asp:Label>
|
|
||||||
</div>
|
|
||||||
</asp:Panel>
|
|
||||||
<asp:Panel ID="PnlSubProyecto" CssClass="col-md-12" runat="server">
|
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
|
||||||
<asp:DropDownList ID="DdlAsisSubProyecto" runat="server" AppendDataBoundItems="true" CssClass="form-control select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
|
|
||||||
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
|
|
||||||
</asp:DropDownList>
|
|
||||||
<asp:Label ID="LblAsisSubProyecto" AssociatedControlID="DdlAsisSubProyecto" runat="server" Text="SubProyecto:"></asp:Label>
|
|
||||||
</div>
|
|
||||||
</asp:Panel>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
|
||||||
<asp:TextBox CssClass="form-control" ID="TxtObservaciones" runat="server" MaxLength="150"></asp:TextBox>
|
|
||||||
<asp:Label runat="server" AssociatedControlID="TxtObservaciones" Text="Observaciones"></asp:Label>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<asp:GridView ID="GvDetalleDias" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros" with="150"
|
<asp:GridView ID="GvDetalleDias" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros"
|
||||||
CssClass=" table table-striped table-advance table-hover Widthall" Style="text-align: center;" GridLines="None">
|
CssClass=" table table-striped table-advance table-hover Widthall" Style="text-align: center;" GridLines="None">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:TemplateField HeaderText="Registros Checador" ItemStyle-HorizontalAlign="Left" Visible="true">
|
<asp:TemplateField HeaderText="Registros Checador" ItemStyle-HorizontalAlign="Left" Visible="true">
|
||||||
@@ -266,6 +307,51 @@
|
|||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="DivAgregarRegistro" class="modal ADS fade" role="dialog">
|
||||||
|
<div class="modal-dialog " style="width: 600px;">
|
||||||
|
|
||||||
|
<asp:UpdatePanel runat="server" class="modal-content" ID="UpdatePanel1" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
<div class="modal-header ">
|
||||||
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||||
|
<h4 class="modal-title">Agregar registro</h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div runat="server" id="PnlConceptoPersonal" class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlmcPersonal" DataTextField="CodigoNombreCompleto" DataValueField="CvePersonal" runat="server" Width="100%" AppendDataBoundItems="true" CssClass="form-control select2me">
|
||||||
|
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||||
|
</asp:DropDownList>
|
||||||
|
<asp:Label runat="server" AssociatedControlID="DdlmcPersonal" Enabled="false" Text="Empleado"></asp:Label>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
<label style="top: 0; margin-bottom: 0; font-size: 13px; color: #888888; display: block;">Fecha</label>
|
||||||
|
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy hh:mm" style="display: inline-block; padding-left: 0px;">
|
||||||
|
<asp:TextBox ID="TxtFechaIngreso" runat="server" CssClass="form-control input-sm ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px "></asp:TextBox>
|
||||||
|
<asp:RequiredFieldValidator ID="RFVFechaIngreso" runat="server" ControlToValidate="txtFechaIngreso" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpFechas"></asp:RequiredFieldValidator>
|
||||||
|
<ajax:ValidatorCalloutExtender ID="VcoFechaIngreso" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaIngreso" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlChecador" runat="server" CssClass="select2me form-control" Width="100%" DataTextField="Checador" DataValueField="CveChecador"></asp:DropDownList>
|
||||||
|
<asp:Label runat="server" AssociatedControlID="DdlTipoAsistencias" Text="Asistencia"></asp:Label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="text-right">
|
||||||
|
<asp:CheckBox ID="chkcontinuarAgregando" Checked="true" TextAlign="Left" Text="Continuar agregando:" runat="server" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<asp:LinkButton ID="LnkAgregarRegistro" OnClick="LnkAgregarRegistro_Click" CssClass="btn btn-primary" runat="server">Agregar</asp:LinkButton>
|
||||||
|
<button id="Button3" runat="server" type="button" class="btn default" data-dismiss="modal">Cerrar</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||||
<script>
|
<script>
|
||||||
@@ -274,6 +360,53 @@
|
|||||||
$('.TxtCvePersonal').val(CvePersonal);
|
$('.TxtCvePersonal').val(CvePersonal);
|
||||||
$('.BtnOpenModal').click();
|
$('.BtnOpenModal').click();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function CargaPickers() {
|
||||||
|
$.datetimepicker.setLocale('es');
|
||||||
|
$('input.ADDateTimePicker').each(function () {
|
||||||
|
var TThis = $(this);
|
||||||
|
TThis.datetimepicker({
|
||||||
|
dayOfWeekStart: 1,
|
||||||
|
lang: 'es',
|
||||||
|
format: 'd/m/Y H:i',
|
||||||
|
formatDate: 'd/m/Y H:i',
|
||||||
|
step: 30
|
||||||
|
});
|
||||||
|
var Div = TThis.parent()
|
||||||
|
var boton = document.createElement('span');
|
||||||
|
boton.className = "input-group-btn"
|
||||||
|
|
||||||
|
var subboton = document.createElement('a')
|
||||||
|
subboton.className = "btn default"
|
||||||
|
subboton.innerHTML = "<i class='fa fa-calendar'></i>"
|
||||||
|
subboton.addEventListener('click', function () {
|
||||||
|
TThis.datetimepicker('show')
|
||||||
|
});
|
||||||
|
boton.appendChild(subboton)
|
||||||
|
|
||||||
|
var agregar = true;
|
||||||
|
for (var i = 0; i < Div[0].children.length; i++) {
|
||||||
|
if (Div[0].children[i].isEqualNode(boton)) {
|
||||||
|
agregar = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (agregar) {
|
||||||
|
Div[0].appendChild(boton);
|
||||||
|
}
|
||||||
|
//Div[0].appendChild(boton)
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Sys.Application.add_load(function (s, e) {
|
||||||
|
CargaPickers();
|
||||||
|
});
|
||||||
|
$(document).ready(function () {
|
||||||
|
CargaPickers();
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
|
||||||
|
|||||||
@@ -29,9 +29,17 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
|
|||||||
DdlTipoAsistencias.DataBind();
|
DdlTipoAsistencias.DataBind();
|
||||||
|
|
||||||
|
|
||||||
|
using (ClsRH ObjPersonal = new ClsRH())
|
||||||
|
{
|
||||||
|
if (ObjPersonal.GetPersonal(-1, UsuarioActual.CveEmpresa))
|
||||||
|
{
|
||||||
|
DdlmcPersonal.DataSource = ObjPersonal.DtResultados;
|
||||||
|
DdlmcPersonal.DataBind();
|
||||||
|
}
|
||||||
|
}
|
||||||
DdlMotivoHoraExtra.DataSource = GlobalDTMotivosHorasExtras.FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa));
|
DdlMotivoHoraExtra.DataSource = GlobalDTMotivosHorasExtras.FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa));
|
||||||
DdlMotivoHoraExtra.DataBind();
|
DdlMotivoHoraExtra.DataBind();
|
||||||
|
cargaChecadores();
|
||||||
CargarCentrosDeCosto(DdlAsisProyecto, DdlAsisSubProyecto, LblAsisProyecto, LblAsisSubProyecto);
|
CargarCentrosDeCosto(DdlAsisProyecto, DdlAsisSubProyecto, LblAsisProyecto, LblAsisSubProyecto);
|
||||||
PnlProyecto.Visible = DdlAsisProyecto.Visible;
|
PnlProyecto.Visible = DdlAsisProyecto.Visible;
|
||||||
if (PnlProyecto.Visible)
|
if (PnlProyecto.Visible)
|
||||||
@@ -67,7 +75,7 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
|
|||||||
}
|
}
|
||||||
using (ClsNominas objnom = new ClsNominas())
|
using (ClsNominas objnom = new ClsNominas())
|
||||||
{
|
{
|
||||||
if (objnom.GetchecadorAdistencia(FechaI, FechaF, UsuarioActual.CveEmpresa))
|
if (objnom.GetchecadorAsistencia(FechaI, FechaF, UsuarioActual.CveEmpresa))
|
||||||
{
|
{
|
||||||
DataTable dtASis = objnom.DTSetResultados.Tables[0];
|
DataTable dtASis = objnom.DTSetResultados.Tables[0];
|
||||||
dtper = objnom.DTSetResultados.Tables[1];
|
dtper = objnom.DTSetResultados.Tables[1];
|
||||||
@@ -92,11 +100,11 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
|
|||||||
string Horas2 = "";
|
string Horas2 = "";
|
||||||
if (dtx.Rows.Count > 1)
|
if (dtx.Rows.Count > 1)
|
||||||
{
|
{
|
||||||
Horas2 = drfec["Horas"].ToString();
|
|
||||||
DataRow drf = dtx.Rows[1];
|
DataRow drf = dtx.Rows[1];
|
||||||
asistencia2 = "<i class='fa fa-check-square' style=\"color:green;\"></i>";
|
asistencia2 = "<i class='fa fa-check-square' style=\"color:green;\"></i>";
|
||||||
TipoAsis = drf["TipoAsistencia"].ToString();
|
TipoAsis = drf["TipoAsistencia"].ToString();
|
||||||
switch (drfec["Tipo"].ToString().ToEntero())
|
Horas2 = drf["Horas"].ToString();
|
||||||
|
switch (drf["Tipo"].ToString().ToEntero())
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
asistencia2 = "<i class='fa fa-check-square' style=\"color:green;\"></i>";
|
asistencia2 = "<i class='fa fa-check-square' style=\"color:green;\"></i>";
|
||||||
@@ -113,6 +121,9 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
|
|||||||
case 5:
|
case 5:
|
||||||
asistencia2 = "<i class='fa fa-clock-o' style=\"color:red;\" aria-hidden='true'></i>";
|
asistencia2 = "<i class='fa fa-clock-o' style=\"color:red;\" aria-hidden='true'></i>";
|
||||||
break;
|
break;
|
||||||
|
case 6:
|
||||||
|
asistencia2 = "<div style=\"color:red;\">❌</div>";
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -137,6 +148,9 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
|
|||||||
case 5:
|
case 5:
|
||||||
asistencia = "<i class='fa fa-clock-o' style=\"color:red;\" aria-hidden='true'></i>";
|
asistencia = "<i class='fa fa-clock-o' style=\"color:red;\" aria-hidden='true'></i>";
|
||||||
break;
|
break;
|
||||||
|
case 6:
|
||||||
|
asistencia = "<div style=\"color:red;\">❌</div>";
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -190,13 +204,38 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private void cargaChecadores()
|
||||||
|
{
|
||||||
|
ClsRH ObjRH = new ClsRH();
|
||||||
|
if (ObjRH.GetChecadores(-1, UsuarioActual.CveEmpresa))
|
||||||
|
{
|
||||||
|
DdlChecador.DataSource = ObjRH.DtResultados;
|
||||||
|
}
|
||||||
|
ObjRH.Dispose();
|
||||||
|
DdlChecador.DataBind();
|
||||||
|
}
|
||||||
protected void BtnOpenModal_Click(object sender, EventArgs e)
|
protected void BtnOpenModal_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
DateTime fechai = TxtFecha.Text.ToDateTime();
|
DateTime fechai = TxtFecha.Text.ToDateTime();
|
||||||
DateTime fechaf = fechai.AddDays(1);
|
DateTime fechaf = fechai.AddDays(1);
|
||||||
int CvePersonal = TxtCvePersonal.Text.ToEntero();
|
int CvePersonal = TxtCvePersonal.Text.ToEntero();
|
||||||
|
DataRow drow = dtper.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal));
|
||||||
|
if (drow != null)
|
||||||
|
{
|
||||||
|
TxtCodigolabel.Text = drow["Codigo"].ToString();
|
||||||
|
TxtEmpleadolabel.Text = drow["NombreCompleto"].ToString();
|
||||||
|
}
|
||||||
TxtFechalabel.Text = string.Format("{0:dd/MM/yyyy}", fechai);
|
TxtFechalabel.Text = string.Format("{0:dd/MM/yyyy}", fechai);
|
||||||
|
DataTable dtTurno = GlobalDTTurno.FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa));
|
||||||
|
|
||||||
|
using (ClsNominas objnom = new ClsNominas())
|
||||||
|
{
|
||||||
|
if (objnom.AsistenciaDetallePorTurnoGet(fechai, fechai, UsuarioActual.CveEmpresa, CvePersonal))
|
||||||
|
{
|
||||||
|
GvAsistenciaUp.DataSource = objnom.DTSetResultados.Tables[0];
|
||||||
|
GvAsistenciaUp.DataBind();
|
||||||
|
}
|
||||||
|
}
|
||||||
using (ClsRH objRH = new ClsRH())
|
using (ClsRH objRH = new ClsRH())
|
||||||
{
|
{
|
||||||
if (objRH.PreAsistenciaRegistrosGet(fechai, fechaf, -1, UsuarioActual.Empresa.CveEmpresa))
|
if (objRH.PreAsistenciaRegistrosGet(fechai, fechaf, -1, UsuarioActual.Empresa.CveEmpresa))
|
||||||
@@ -217,39 +256,131 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
|
|||||||
TxtHorasTriples.Text = dr["HorasTriples"].ToString();
|
TxtHorasTriples.Text = dr["HorasTriples"].ToString();
|
||||||
DdlMotivoHoraExtra.SelectedValueExist(dr["CveMotivoHoraExtra"].ToString());
|
DdlMotivoHoraExtra.SelectedValueExist(dr["CveMotivoHoraExtra"].ToString());
|
||||||
TxtObservaciones.Text = dr["Observacion"].ToString();
|
TxtObservaciones.Text = dr["Observacion"].ToString();
|
||||||
|
LnkAgregarRegistro.Visible = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LnkAgregarRegistro.Visible = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DataRow drow = dtper.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal));
|
|
||||||
if(drow != null)
|
|
||||||
{
|
|
||||||
TxtCodigolabel.Text = drow["Codigo"].ToString();
|
|
||||||
TxtEmpleadolabel.Text = drow["NombreCompleto"].ToString();
|
|
||||||
}
|
|
||||||
|
|
||||||
UpDetallesDia.Update();
|
UpDetallesDia.Update();
|
||||||
|
|
||||||
RegistraScript("$('#divDetallesDia').modal();");
|
RegistraScript("$('#divDetallesDia').modal();");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void BtnEstusAsistenciaModal_Click(object sender, EventArgs e)
|
|
||||||
|
protected void LnkAgregarRegistro_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
DateTime fecha = TxtFecha.Text.ToDateTime();
|
bool continuar = false;
|
||||||
int CvePersonal = TxtCvePersonal.Text.ToEntero();
|
List<RequestAddChecadorRegistro> items = new List<RequestAddChecadorRegistro>();
|
||||||
|
items.Add(new RequestAddChecadorRegistro() { CveChecador = DdlChecador.SelectedValue.ToEntero(), CvePersonal = DdlmcPersonal.SelectedValue.ToEntero(), ChecadorID = -1, Fecha = TxtFechaIngreso.Text.ToDateTimeExcat() });
|
||||||
//int CvePersonal = TxtasiscvePersonal.Text.ToEntero();
|
using (ClsRH objrh = new ClsRH())
|
||||||
//DateTime fecha = TxtasisFecha.Text.ToDate();
|
|
||||||
using (ClsRH objpersonal = new ClsRH())
|
|
||||||
{
|
{
|
||||||
|
objrh.IniciaTransacSQL();
|
||||||
if (objpersonal.AddAsistencia(CvePersonal, -1, DdlAsisSubProyecto.SelectedValue.ToEntero(), fecha, DdlTipoAsistencias.SelectedValue.ToEntero(), TxtPorPago.Text.Trim().ToDouble(), TxtHorasDobles.Text.Trim().ToDouble(),
|
if (objrh.AddChecadorRegistro(UsuarioActual.CveEmpresa, items))
|
||||||
TxtHorasTriples.Text.Trim().ToDouble(), DdlMotivoHoraExtra.SelectedValue.ToEntero(), TxtObservaciones.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
|
|
||||||
{
|
{
|
||||||
//Alert(string.Format("se ha guardado la asistencia satisfactoriamente <br/>{0}<br/>{1:dd/MM/yyyy}", TxtPersonal.Text, TxtasisFecha.Text.ToDate()), TipoMensaje.ToastInformacion);
|
continuar = true;
|
||||||
Alert("Se ha guardado la asistencia satisfactoriamente");
|
}
|
||||||
RegistraScript("$('#DModalModAsistencia').modal('hide');");
|
if (continuar)
|
||||||
|
{
|
||||||
|
objrh.Commit();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
objrh.RollBack();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (continuar)
|
||||||
|
{
|
||||||
|
Alert(string.Format("La asistencia se a agregado ({0:dd-MM-yyyy HH:mm}).", TxtFechaIngreso.Text.ToDateTimeExcat()), ModExtensiones.TipoMensaje.ToastInformacion);
|
||||||
|
}
|
||||||
|
if (!chkcontinuarAgregando.Checked)
|
||||||
|
{
|
||||||
|
LnkConsultar_Click(null, null);
|
||||||
|
RegistraScript("$('#DivAgregarRegistro').modal('hide');");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void GvAsistenciaUp_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (e.Row.RowType == DataControlRowType.DataRow)
|
||||||
|
{
|
||||||
|
//CveAsistenciaDetalle,CvePersonal,CveSubProyecto,CveProyecto,CveTurno,Fecha
|
||||||
|
int CveAsistenciasInasistencias = e.Row.DataKey("CveAsistenciasInasistencias").ToEntero();
|
||||||
|
int CveProyecto = e.Row.DataKey("CveProyecto").ToEntero();
|
||||||
|
int CveSubProyecto = e.Row.DataKey("CveSubProyecto").ToEntero();
|
||||||
|
DropDownList DdlTipoAsistenciasB = (DropDownList)e.Row.FindControl("DdlTipoAsistencias");
|
||||||
|
DropDownList DdlAsisProyectoB = (DropDownList)e.Row.FindControl("DdlAsisProyecto");
|
||||||
|
DropDownList DdlAsisSubProyectoB = (DropDownList)e.Row.FindControl("DdlAsisSubProyecto");
|
||||||
|
Label LblAsisProyectoB = (Label)e.Row.FindControl("LblAsisProyecto");
|
||||||
|
Label LblAsisSubProyectoB = (Label)e.Row.FindControl("LblAsisSubProyecto");
|
||||||
|
Panel PnlProyectoB = (Panel)e.Row.FindControl("PnlProyecto");
|
||||||
|
Panel PnlSubProyectoB = (Panel)e.Row.FindControl("PnlSubProyecto");
|
||||||
|
|
||||||
|
DdlTipoAsistenciasB.DataSource = GlobalDTAsistenciasInasistencias.FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa));
|
||||||
|
DdlTipoAsistenciasB.DataBind();
|
||||||
|
/*
|
||||||
|
DdlAsisProyectoB.DataSource = DdlAsisProyecto.DataSource;
|
||||||
|
DdlAsisProyectoB.DataBind();
|
||||||
|
DdlAsisSubProyectoB.DataSource = DdlAsisSubProyecto.DataSource;
|
||||||
|
DdlAsisSubProyectoB.DataBind();
|
||||||
|
LblAsisProyectoB.Text = LblAsisProyecto.Text;
|
||||||
|
LblAsisSubProyectoB.Text = LblAsisSubProyecto.Text;
|
||||||
|
*/
|
||||||
|
|
||||||
|
CargarCentrosDeCosto(DdlAsisProyectoB, DdlAsisSubProyectoB, LblAsisProyectoB, LblAsisSubProyectoB);
|
||||||
|
PnlProyectoB.Visible = PnlProyecto.Visible;
|
||||||
|
PnlSubProyectoB.Visible = PnlSubProyectoB.Visible;
|
||||||
|
DdlTipoAsistenciasB.SelectedValueExist(CveAsistenciasInasistencias);
|
||||||
|
DdlAsisProyectoB.SelectedValueExist(CveProyecto);
|
||||||
|
DdlAsisSubProyectoB.SelectedValueExist(CveSubProyecto);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected void BtnEstusAsistenciaModal_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
DateTime fecha = TxtFecha.Text.ToDateTime();
|
||||||
|
int CvePersonal = TxtCvePersonal.Text.ToEntero();
|
||||||
|
List<RequestUpAsistenciaDetalle> registros = new List<RequestUpAsistenciaDetalle>();
|
||||||
|
foreach (GridViewRow row in GvAsistenciaUp.Rows)
|
||||||
|
{
|
||||||
|
|
||||||
|
int CveAsistenciaDetalle = row.DataKey("CveAsistenciaDetalle").ToEntero();
|
||||||
|
int CveAsistenciasInasistencias = row.DataKey("CveAsistenciasInasistencias").ToEntero();
|
||||||
|
int CveProyecto = row.DataKey("CveProyecto").ToEntero();
|
||||||
|
int CveSubProyecto = row.DataKey("CveSubProyecto").ToEntero();
|
||||||
|
DropDownList DdlTipoAsistenciasB = (DropDownList)row.FindControl("DdlTipoAsistencias");
|
||||||
|
DropDownList DdlAsisProyectoB = (DropDownList)row.FindControl("DdlAsisProyecto");
|
||||||
|
DropDownList DdlAsisSubProyectoB = (DropDownList)row.FindControl("DdlAsisSubProyecto");
|
||||||
|
RequestUpAsistenciaDetalle obj = new RequestUpAsistenciaDetalle();
|
||||||
|
obj.CveAsistenciaDetalle = CveAsistenciaDetalle;
|
||||||
|
obj.CveAsistenciasInasistencias = DdlTipoAsistenciasB.SelectedValue.ToEntero();
|
||||||
|
obj.CveSubProyecto = DdlAsisSubProyectoB.SelectedValue.ToEntero();
|
||||||
|
obj.CvePersonal = CvePersonal;
|
||||||
|
obj.Fecha = fecha;
|
||||||
|
registros.Add(obj);
|
||||||
|
}
|
||||||
|
using (ClsRH objRH = new ClsRH())
|
||||||
|
{
|
||||||
|
objRH.UpAsistenciaDetalle(UsuarioActual.CveEmpresa, registros);
|
||||||
|
}
|
||||||
|
//int CvePersonal = TxtasiscvePersonal.Text.ToEntero();
|
||||||
|
//DateTime fecha = TxtasisFecha.Text.ToDate();
|
||||||
|
//using (ClsRH objpersonal = new ClsRH())
|
||||||
|
//{
|
||||||
|
|
||||||
|
// if (objpersonal.AddAsistencia(CvePersonal, -1, DdlAsisSubProyecto.SelectedValue.ToEntero(), fecha, DdlTipoAsistencias.SelectedValue.ToEntero(), TxtPorPago.Text.Trim().ToDouble(), TxtHorasDobles.Text.Trim().ToDouble(),
|
||||||
|
// TxtHorasTriples.Text.Trim().ToDouble(), DdlMotivoHoraExtra.SelectedValue.ToEntero(), TxtObservaciones.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
|
||||||
|
// {
|
||||||
|
// //Alert(string.Format("se ha guardado la asistencia satisfactoriamente <br/>{0}<br/>{1:dd/MM/yyyy}", TxtPersonal.Text, TxtasisFecha.Text.ToDate()), TipoMensaje.ToastInformacion);
|
||||||
|
// Alert("Se ha guardado la asistencia satisfactoriamente");
|
||||||
|
// RegistraScript("$('#DModalModAsistencia').modal('hide');");
|
||||||
|
|
||||||
|
// }
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -830,7 +830,7 @@
|
|||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<a onclick="$('#C_BtnImprimirsobrerecibo').click()" class="btn yellow-gold">Imprimir</a>
|
<a onclick="$('#C_BtnImprimirsobrerecibo').click()" class="btn yellow-gold">Imprimir</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn-group hidden">
|
<div class="btn-group ">
|
||||||
<a class="btn yellow-gold btn-sm" href="javascript:;" data-toggle="dropdown" data-hover="dropdown" data-close-others="true" aria-expanded="true"><i class="fa fa-calculator"></i>Calculos
|
<a class="btn yellow-gold btn-sm" href="javascript:;" data-toggle="dropdown" data-hover="dropdown" data-close-others="true" aria-expanded="true"><i class="fa fa-calculator"></i>Calculos
|
||||||
<i class="fa fa-angle-down"></i>
|
<i class="fa fa-angle-down"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -1028,7 +1028,7 @@ function ADDropzone(txtid) {
|
|||||||
var urldown = txt.data('urldown'); if ((urldown) && (urldown != "")) { } else { urldown = domain + "/Ashx/SIGWeb.ashx"; }
|
var urldown = txt.data('urldown'); if ((urldown) && (urldown != "")) { } else { urldown = domain + "/Ashx/SIGWeb.ashx"; }
|
||||||
var urlget = txt.data('urlget'); if ((urlget) && (urlget != "")) { } else { urlget = domain + "/temp/"; }
|
var urlget = txt.data('urlget'); if ((urlget) && (urlget != "")) { } else { urlget = domain + "/temp/"; }
|
||||||
|
|
||||||
var maxFilesize = txt.data('maxFilesize'); if (maxFilesize) { } else { maxFilesize = 10; }
|
var maxFilesize = txt.data('maxfilesize'); if (maxFilesize) { } else { maxFilesize = 10; }
|
||||||
var maxFile = txt.attr('data-maxFile'); if (maxFile) { } else { maxFile = null; }
|
var maxFile = txt.attr('data-maxFile'); if (maxFile) { } else { maxFile = null; }
|
||||||
var mydiv = $("<div id='" + txtid + "-drop' class='addropzone'></div>");
|
var mydiv = $("<div id='" + txtid + "-drop' class='addropzone'></div>");
|
||||||
var mypaste = $("<div id='" + txtid + "-paste' contenteditable='true' class='mypaste'></div>")
|
var mypaste = $("<div id='" + txtid + "-paste' contenteditable='true' class='mypaste'></div>")
|
||||||
|
|||||||
@@ -312,6 +312,10 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user