This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2021-09-23 08:10:35 -07:00
parent 29d0e84352
commit dd0da844f7
12 changed files with 344 additions and 80 deletions

View File

@@ -121,13 +121,13 @@ Public Class ClsClaseBase
End If
End Sub
Public Function runQuerystr(Query As String, Optional Listaparametros As List(Of parametroQuery) = Nothing, Optional msgError As String = "", Optional mostrarError As Boolean = True) As Boolean
Public Function runQuerystr(Query As String, Optional Listaparametros As List(Of parametroQuery) = Nothing, Optional msgError As String = "", Optional mostrarError As Boolean = True, Optional tipo As CommandType = CommandType.Text) As Boolean
Dim retorno As Boolean = False
Try
If SqlConexion.State = ConnectionState.Open Then
SqlAdapter.SelectCommand.Parameters.Clear()
SqlAdapter.SelectCommand.CommandText = Query
SqlAdapter.SelectCommand.CommandType = CommandType.Text
SqlAdapter.SelectCommand.CommandType = tipo
Data = New DataTable()
If Not IsNothing(Listaparametros) Then
For Each pr As parametroQuery In Listaparametros

View File

@@ -2525,7 +2525,9 @@ Public Class ClsGenerales
Public Function GetHistorialBitacora(CveAcarreo As Integer, CveOrdenCompra As Integer, CveActivoFijo As Integer,
CveOS As Integer, CvePS As Integer, CveCompra As Integer, CveIE As Integer,
CveEmpresa As Integer, Optional CveUsuario As Integer = -1, Optional CvePersonal As Integer = -1,
Optional IdPoliza As Integer = -1, Optional CvePrePoliza As Integer = -1, Optional CvePeriodo As Integer = -1, Optional CveConceptoNomina As Integer = -1, Optional CvePromocion As Integer = -1) As Boolean
Optional IdPoliza As Integer = -1, Optional CvePrePoliza As Integer = -1, Optional CvePeriodo As Integer = -1, Optional CveConceptoNomina As Integer = -1, Optional CvePromocion As Integer = -1,
Optional CveAsistencia As Integer = -1, Optional CveAsistenciaDetalle As Integer = -1, Optional CveTipoBitacora As Integer = -1,
Optional FechaInicio As String = "", Optional FechaFin As String = "") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Gral_HistorialBitacoraGet")
@@ -2547,6 +2549,11 @@ Public Class ClsGenerales
.Add("@CvePromocion", SqlDbType.Int).Value = CvePromocion
.Add("@CveAsistencia", SqlDbType.Int).Value = CveAsistencia
.Add("@CveAsistenciaDetalle", SqlDbType.Int).Value = CveAsistenciaDetalle
.Add("@CveTipoBitacora", SqlDbType.Int).Value = CveTipoBitacora
.Add("@FechaInicio", SqlDbType.VarChar).Value = FechaInicio
.Add("@FechaFin", SqlDbType.VarChar).Value = FechaFin
End With
'SqlTypes.SqlDateTime.Null

View File

@@ -2251,6 +2251,26 @@ Public Class ClsNominas
End Try
Return retorno
End Function
Public Function ExcelToBD(xmlstring As String) As Boolean
Dim retorno As Boolean = False
Try
DTSet = New DataSet()
DataAdapter("PA_ExcelToBD", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@xmlstring", SqlDbType.Xml).Value = xmlstring
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 AsistenciaDetallePorTurnoGet(FechaInicio As DateTime, FechaFin As DateTime, CveEmpresa As Integer, Optional CvePersonal As Integer = -1) As Boolean
Dim retorno As Boolean = False

View File

@@ -1807,7 +1807,7 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
Calle As String, NumExt As String, NumInt As String, Colonia As String, CP As String, Ciudad As String, CveEstado As Integer, Telefono As String, Celular As String, RFC As String, CURP As String,
NombrePadre As String, NombreMadre As String, CveSATBanco As Integer, CveSATRiesgoPuesto As Integer, CveSATRegimenContratacion As Integer, CveClienteAsignado As Integer, CveSubProyecto As Integer, URL As String, CveSupervisor As Integer, CLABE As String, BancoNumCuenta As String,
CveJornada As Integer, IdCtaContPersonal As Integer, CtaContPersonal As String, IdCtaContPrestamos As Integer, CtaContPrestamos As String, CveUsuario As Integer, CveEmpresa As Integer, CveUsuarioNomina As Integer, Optional CveSubProyectoZona As Integer = Nothing, Optional CveUniforme As Integer = -1,
Optional TelefonoExtension As String = "-1", Optional CelularPersonal As String = "-1", Optional TelefonoMarcadoRapido As String = "-1", Optional ContactoAlterno As String = "-1", Optional CveTipodeSalario As Integer = 1, Optional Sindicalizado As Boolean = False, Optional CvePais As Integer = -1) As Boolean
Optional TelefonoExtension As String = "-1", Optional CelularPersonal As String = "-1", Optional TelefonoMarcadoRapido As String = "-1", Optional ContactoAlterno As String = "-1", Optional CveTipodeSalario As Integer = 1, Optional Sindicalizado As Boolean = False, Optional CvePais As Integer = -1, Optional Pensionado As Boolean = False) As Boolean
Dim Retorno As Boolean = False
@@ -1889,6 +1889,7 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
.Add("@ContactoAlterno", SqlDbType.VarChar).Value = ContactoAlterno
.Add("@CveTipodeSalario", SqlDbType.Int).Value = CveTipodeSalario
.Add("@Sindicalizado", SqlDbType.Bit).Value = Sindicalizado
.Add("@Pensionado", SqlDbType.Bit).Value = Pensionado
.Add("@CvePais", SqlDbType.Int).Value = CvePais
.Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
@@ -1922,7 +1923,7 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
NombrePadre As String, NombreMadre As String, CveSATBanco As Integer, CveSATRiesgoPuesto As Integer, CveSATRegimenContratacion As Integer, CveClienteAsignado As Integer, CveSubProyecto As Integer, CvePersonal As Integer, URL As String, CveSupervisor As Integer, CLABE As String, BancoNumCuenta As String,
CveJornada As Integer, IdCtaContPersonal As Integer, CtaContPersonal As String, IdCtaContPrestamos As Integer, CtaContPrestamos As String, CveEmpresa As Integer, CveUsuarioNomina As Integer, Optional CveSubProyectoZona As Integer = Nothing, Optional CveUniforme As Integer = -1,
Optional TelefonoExtension As String = "-1", Optional CelularPersonal As String = "-1", Optional TelefonoMarcadoRapido As String = "-1", Optional ContactoAlterno As String = "-1", Optional CveUsuarioModifico As Integer = -1,
Optional FechaActivo As Date = MinFecha, Optional FechaReingreso As Date = MinFecha, Optional CveTipodeSalario As Integer = 1, Optional Sindicalizado As Integer = -1, Optional CvePais As Integer = -1) As Boolean
Optional FechaActivo As Date = MinFecha, Optional FechaReingreso As Date = MinFecha, Optional CveTipodeSalario As Integer = 1, Optional Sindicalizado As Integer = -1, Optional CvePais As Integer = -1, Optional Pensionado As Boolean = False) As Boolean
Dim Retorno As Boolean = False
@@ -2008,6 +2009,7 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
.Add("@FechaReingreso", SqlDbType.Date).Value = FechaReingreso
.Add("@CveTipodeSalario", SqlDbType.Int).Value = CveTipodeSalario
.Add("@Sindicalizado", SqlDbType.Int).Value = Sindicalizado
.Add("@Pensionado", SqlDbType.Bit).Value = Pensionado
.Add("@CvePais", SqlDbType.Int).Value = CvePais
End With
@@ -2441,7 +2443,7 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
End Function
Public Function UpAsistenciaDetalle(CveEmpresa As Integer, registros As List(Of RequestUpAsistenciaDetalle)) As Boolean
Public Function UpAsistenciaDetalle(CveEmpresa As Integer, CveUsuario 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
@@ -2451,6 +2453,7 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
SqlDataAdapter("PA_RH_AsistenciaDetalleUP")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@xmlRegistros", SqlDbType.Xml).Value = xmlProductos.ToString()
End With
Try
@@ -7145,4 +7148,5 @@ Public Class RequestUpAsistenciaDetalle
Public Property CvePersonal As Integer
Public Property CveAsistenciasInasistencias As Integer
Public Property CveSubProyecto As Integer
Public Property Motivo As String
End Class

Binary file not shown.

View File

@@ -14,7 +14,7 @@
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel runat="server" ID="UpDetallesDia" UpdateMode="Conditional">
<asp:UpdatePanel runat="server" ID="UpDetallesDia" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-6">
@@ -48,9 +48,13 @@
<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 class="actions">
<div class="btn-group">
<asp:LinkButton ID="Lnkdoit" CssClass="btn btn-success" OnClick="Lnkdoit_Click" runat="server">Mostrar</asp:LinkButton>
</div>
</div>
</div>
<div class="portlet-body rowpadding ">
<div class="row">
@@ -67,19 +71,19 @@
<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:TextBox CssClass="form-control" ID="TxtFilas" runat="server" Text="1" ></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:TextBox CssClass="form-control" ID="TxtInicia" runat="server" Text="1" ></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:TextBox CssClass="form-control" ID="TxtColumnas" runat="server" Text="1" ></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtColumnas" type="number" Text="Columnas"></asp:Label>
</div>
</div>
@@ -88,12 +92,15 @@
</div>
</div>
<div class="text-right">
<asp:LinkButton ID="LnkContinuar" OnClick="LnkContinuar_Click" runat="server">Continuar</asp:LinkButton>
<asp:LinkButton ID="LnkContinuar" CssClass="btn btn-success" OnClick="LnkContinuar_Click" runat="server">Continuar</asp:LinkButton>
</div>
</div>
</div>
</div>
</div>
<asp:GridView ID="GVDatos" data-cols="6" CssClass="table table-hover table-advance ScrollAD" runat="server">
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>

View File

@@ -1,6 +1,9 @@
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
@@ -41,6 +44,16 @@ public partial class General_ExcelToBD : System.Web.UI.Page
set { ViewState["workBooks"] = value; }
}
private ConcurrentDictionary<string, string> ColumnsTitles
{
get
{
if (ViewState["ColumnsTitles"] == null) { return null; }
else { return (ConcurrentDictionary<string, string>)ViewState["ColumnsTitles"]; }
}
set { ViewState["ColumnsTitles"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
@@ -64,21 +77,21 @@ public partial class General_ExcelToBD : System.Web.UI.Page
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);
DdlWorkBooks_SelectedIndexChanged(null, null);
}
}
protected void DdlWorkBooks_SelectedIndexChanged(object sender, EventArgs e)
{
using (var workbook = new XLWorkbook(URLFile))
{
{
int Filas = 0;
int columnas = 0;
@@ -86,25 +99,151 @@ public partial class General_ExcelToBD : System.Web.UI.Page
Filas = workSheet.LastColumnUsed().CellCount();
columnas = workSheet.LastRowUsed().CellCount();
TxtFilas.Text = Filas.ToString();
TxtInicia.Text = "1";
TxtColumnas.Text = Filas.ToString();
TxtInicia.Text = "2";
TxtColumnas.Text = "62";// columnas.ToString();
}
}
protected void Lnkdoit_Click(object sender, EventArgs e)
{
GVDatos.DataSource = GetDatosExcel();
GVDatos.DataBind();
}
protected void LnkContinuar_Click(object sender, EventArgs e)
{
int Filas = 0;
int columnas = 0;
DataSet ds = new DataSet();
DataTable dtDatos = new DataTable();
DataTable dt = GetDatosExcel();
ds.DataSetName = "DSDatos";
dtDatos.TableName = "TCol";
dt.TableName = "TData";
dtDatos.Columns.Add(new DataColumn("Columnas", typeof(string)));
dtDatos.Columns.Add(new DataColumn("LEN", typeof(int)));
foreach (DataColumn item in dt.Columns)
{
DataRow drow = dtDatos.NewRow();
drow["Columnas"] = item.ColumnName;
int longitud = 0;
foreach (DataRow dr in dt.Rows)
{
int length = dr[item.ColumnName].ToString().Length;
longitud = length > longitud ? length : longitud;
}
drow["LEN"] = longitud;
dtDatos.Rows.Add(drow);
}
ds.Tables.Add(dtDatos);
ds.Tables.Add(dt);
string xml = ds.GetXml();
using (ClsNominas objbase = new ClsNominas())
{
if (objbase.ExcelToBD(xml))
{
this.Alert("Información capturada", ModExtensiones.TipoMensaje.MsgInformacion);
}
}
GVDatos.DataSource = dt;
GVDatos.DataBind();
//this.Alert(string.Format("<div style=\"width:700px;\"><pre><xmp>{0}</xmp>\n</pre></br></div>", xml), ModExtensiones.TipoMensaje.MsgInformacion);
}
public string validtitle(string Valor)
{
Valor = Valor.Replace(" ", "_");
Valor = Valor.Replace("$$$$", "_Money_");
Valor = Valor.Replace("$$$", "_Money_");
Valor = Valor.Replace("$$", "_Money_");
Valor = Valor.Replace("$", "_Money_");
Valor = Valor.Replace(".", string.Empty);
Regex reg = new Regex("[*'\",&#^@]");
Valor = reg.Replace(Valor, string.Empty);
if (Valor.Trim().Length == 0)
{
Valor = "Val";
}
return Valor;
}
public DataTable GetDatosExcel()
{
DataTable dtDatos = new DataTable();
ColumnsTitles = new ConcurrentDictionary<string, string>();
using (var workbook = new XLWorkbook(URLFile))
{
IXLWorksheet workSheet = workbook.Worksheet(DdlWorkBooks.SelectedValue.ToEntero());
DateTime d = new DateTime();
bool continuarFila = true;
string validaValor;
int contadorValida = 0;
bool haveTitles = chkcontieneTitulos.Checked;
int FilaInicial = TxtInicia.Text.ToEntero() > 0 ? TxtInicia.Text.ToEntero() : 1;
int ColumnaFinal = TxtColumnas.Text.ToEntero();
int cFila = FilaInicial;
int cCol = 1;
while (cCol <= ColumnaFinal)
{
string Valor = cCol.ToString();
if (haveTitles)
{
Valor = workSheet.Cell(cFila, cCol).Value != null && workSheet.Cell(cFila, cCol).Value.GetType() == d.GetType() ? string.Format("{0:yyyy/MM/dd}", workSheet.Cell(cFila, cCol).Value) : workSheet.Cell(cFila, cCol).Value.ToString();
Valor = validtitle(Valor);
}
if (!ColumnsTitles.TryAdd(Valor, Valor))
{
int x = 2;
while (!ColumnsTitles.TryAdd(string.Format("{0}_{1}", Valor, x), Valor)) { x++; }
Valor = string.Format("{0}_{1}", Valor, x);
}
dtDatos.Columns.Add(new DataColumn(Valor, typeof(string)));
cCol++;
}
if (haveTitles)
{
cFila++;
}
while (continuarFila)
{
DataRow drow = dtDatos.NewRow();
cCol = 1;
validaValor = "";
while (cCol <= ColumnaFinal)
{
string Valor = workSheet.Cell(cFila, cCol).Value != null && workSheet.Cell(cFila, cCol).Value.GetType() == d.GetType() ? string.Format("{0:yyyy/MM/dd}", workSheet.Cell(cFila, cCol).Value) : workSheet.Cell(cFila, cCol).Value.ToString();
validaValor = string.Format("{0}{1}", validaValor, Valor);
drow[cCol - 1] = Valor;
cCol++;
}
if (validaValor.Trim() == "")
{
contadorValida++;
if (contadorValida > 30)
{
continuarFila = false;
}
}
else
{
contadorValida = 0;
dtDatos.Rows.Add(drow);
}
cFila++;
if (cFila >= 1048576)
{
continuarFila = false;
}
}
}
return dtDatos;
}
}

View File

@@ -115,11 +115,40 @@
</asp:GridView>
<div class="portlet light bordered xspadding">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Historial de Modificación</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
</div>
<div class="portlet-body">
<asp:GridView ID="GvBitacora" runat="server" GridLines="None" Width="100%" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" CellSpacing="0" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="Fecha" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("FechaIng") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="NombreCompleto" HeaderText="Nombre" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="ConceptoHistorialBitacora" HeaderText="Campo" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Anterior" HeaderText="Anterior" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Actual" HeaderText="Actual" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Descripcion" HeaderText="Motivo" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Usuario" HeaderText="Usuario" ItemStyle-HorizontalAlign="Left" />
</Columns>
</asp:GridView>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="divDetallesDia" class="modal ADS fade" role="dialog">
<div id="Div1" runat="server" class="modal-dialog " style="width: 600px;">
<div id="Div1" runat="server" class="modal-dialog " style="width: 900px;">
<asp:UpdatePanel runat="server" class="modal-content" ID="UpDetallesDia" UpdateMode="Conditional">
<ContentTemplate>
@@ -148,45 +177,6 @@
</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>
<asp:TemplateField HeaderText="Centro de costos" Visible="true">
<ItemTemplate>
<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 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 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>
@@ -262,6 +252,43 @@
</asp:GridView>
</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" HeaderStyle-Width="80px">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Turno") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Asistencia" Visible="true" HeaderStyle-Width="100px">
<ItemTemplate>
<asp:DropDownList ID="DdlTipoAsistencias" runat="server" CssClass="select2me form-control" DataTextField="Tipo" DataValueField="CveAsistenciasInasistencias"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Centro de costos" Visible="true" HeaderStyle-Width="150px">
<ItemTemplate>
<asp:Panel ID="PnlProyecto" 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 Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label ID="LblAsisProyecto" AssociatedControlID="DdlAsisProyecto" runat="server" Text="Proyecto:"></asp:Label>
</div>
</asp:Panel>
<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>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Motivo" Visible="true" HeaderStyle-Width="300px">
<ItemTemplate>
<asp:TextBox ID="TxtMotivo" CssClass="form-control" TextMode="MultiLine" rows="2" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<%-- <table style="width: 100%">
<tr>
<td style="width: 50%; vertical-align: top!important">
@@ -332,7 +359,13 @@
<ajax:ValidatorCalloutExtender ID="VcoFechaIngreso" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaIngreso" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-6">
<div class="col-md-2">
<label style="top: 0; margin-bottom: 0; font-size: 13px; color: #888888; display: block;">Segundos</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="TxtSegundos" runat="server" CssClass="form-control input-sm " CausesValidation="true" MaxLength="18" ></asp:TextBox>
</div>
</div>
<div class="col-md-4">
<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>

View File

@@ -61,7 +61,7 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
private DataTable generateTable()
{
DateTime FechaI = TxtRpdFechaInicio.Text.ToDateTime();
DateTime FechaF = TxtRpdFechaFin.Text.ToDateTime();
DateTime FechaF = TxtRpdFechaFin.Text.ToDateTime().AddDays(1);
DataTable dtCon = new DataTable();
dtCon.Columns.Add(new DataColumn("Codigo", typeof(string)));
dtCon.Columns.Add(new DataColumn("Empleado", typeof(string)));
@@ -98,12 +98,14 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
string asistencia2 = "";
string Horas2 = "";
string HoraExtraPorAutorizar2 = "";
if (dtx.Rows.Count > 1)
{
DataRow drf = dtx.Rows[1];
asistencia2 = "<i class='fa fa-check-square' style=\"color:green;\"></i>";
TipoAsis = drf["TipoAsistencia"].ToString();
Horas2 = drf["Horas"].ToString();
HoraExtraPorAutorizar2 = drf["HoraExtraPorAutorizar"].ToString().ToEntero() > 0 ? string.Format("({0:0.##})", drf["HoraExtraPorAutorizar"]) : "";
switch (drf["Tipo"].ToString().ToEntero())
{
case 1:
@@ -131,6 +133,7 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
}
string asistencia = "<i class='fa fa-check-square' style=\"color:green;\"></i>";
TipoAsis = drfec["TipoAsistencia"].ToString();
string HoraExtraPorAutorizar = drfec["HoraExtraPorAutorizar"].ToString().ToEntero() > 0 ? string.Format("({0:0.##})", drfec["HoraExtraPorAutorizar"]) : "";
switch (drfec["Tipo"].ToString().ToEntero())
{
case 1:
@@ -155,7 +158,7 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
default:
break;
}
drow[FechaCol] = string.Format("<div style='display:inline-block'>{0}<br>{1}</div><div style='display:inline-block'>{2}<br>{3}</div>", asistencia, drfec["Horas"], asistencia2, Horas2);
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);
//drow[FechaCol] = string.Format("{0}<br>{1:HH}:{1:mm} - {2:HH}:{2:mm}", asistencia, drfec["Entrada"], drfec["Salida"]);
}
else
@@ -188,6 +191,29 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
DataTable dtCon = generateTable();
GvNominas.DataSource = dtCon;
GvNominas.DataBind();
DateTime fechai = TxtFecha.Text.ToDateTime();
DateTime fechaf = fechai.AddDays(1);
using (ClsGenerales ObjGral = new ClsGenerales()) {
if (ObjGral.GetHistorialBitacora(-1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveEmpresa, FechaInicio: fechai.ToString("yyyy/MM/dd"), FechaFin: fechai.ToString("yyyy/MM/dd")))
{
GvBitacora.DataSource = ObjGral.DtResultados;
GvBitacora.DataBind();
}
}
/*
If CvePersonal > 0 Then
Dim ObjGral As New ClsGenerales()
If ObjGral.GetHistorialBitacora(-1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveEmpresa, CvePersonal:=CvePersonal) Then
GvBitacora.DataSource = ObjGral.DtResultados
End If
ObjGral.Dispose()
GvBitacora.DataBind()
UpHistorialModificacion.Update()
End If
*/
UpDatos.Update();
}
@@ -273,9 +299,10 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
protected void LnkAgregarRegistro_Click(object sender, EventArgs e)
{
DateTime fechaing = string.Format("{0:dd-MM-yyyy} {0:HH}:{0:mm}:{1:00}", TxtFechaIngreso.Text.ToDateTimeExcat(), TxtSegundos.Text.ToEntero()).ToDateTimeExcat("dd-MM-yyyy HH:mm:ss");
bool continuar = false;
List<RequestAddChecadorRegistro> items = new List<RequestAddChecadorRegistro>();
items.Add(new RequestAddChecadorRegistro() { CveChecador = DdlChecador.SelectedValue.ToEntero(), CvePersonal = DdlmcPersonal.SelectedValue.ToEntero(), ChecadorID = -1, Fecha = TxtFechaIngreso.Text.ToDateTimeExcat() });
items.Add(new RequestAddChecadorRegistro() { CveChecador = DdlChecador.SelectedValue.ToEntero(), CvePersonal = DdlmcPersonal.SelectedValue.ToEntero(), ChecadorID = -1, Fecha = fechaing });
using (ClsRH objrh = new ClsRH())
{
objrh.IniciaTransacSQL();
@@ -294,7 +321,7 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
}
if (continuar)
{
Alert(string.Format("La asistencia se a agregado ({0:dd-MM-yyyy HH:mm}).", TxtFechaIngreso.Text.ToDateTimeExcat()), ModExtensiones.TipoMensaje.ToastInformacion);
Alert(string.Format("La asistencia se a agregado ({0:dd-MM-yyyy HH:mm:ss}).", fechaing), ModExtensiones.TipoMensaje.ToastInformacion);
}
if (!chkcontinuarAgregando.Checked)
{
@@ -316,9 +343,8 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
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");
//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();
@@ -331,9 +357,8 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
LblAsisSubProyectoB.Text = LblAsisSubProyecto.Text;
*/
CargarCentrosDeCosto(DdlAsisProyectoB, DdlAsisSubProyectoB, LblAsisProyectoB, LblAsisSubProyectoB);
CargarCentrosDeCosto(DdlAsisProyectoB, DdlAsisSubProyectoB, LblAsisProyectoB, LblAsisSubProyecto);
PnlProyectoB.Visible = PnlProyecto.Visible;
PnlSubProyectoB.Visible = PnlSubProyectoB.Visible;
DdlTipoAsistenciasB.SelectedValueExist(CveAsistenciasInasistencias);
DdlAsisProyectoB.SelectedValueExist(CveProyecto);
DdlAsisSubProyectoB.SelectedValueExist(CveSubProyecto);
@@ -343,6 +368,7 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
protected void BtnEstusAsistenciaModal_Click(object sender, EventArgs e)
{
bool continuar = true;
DateTime fecha = TxtFecha.Text.ToDateTime();
int CvePersonal = TxtCvePersonal.Text.ToEntero();
List<RequestUpAsistenciaDetalle> registros = new List<RequestUpAsistenciaDetalle>();
@@ -356,17 +382,37 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
DropDownList DdlTipoAsistenciasB = (DropDownList)row.FindControl("DdlTipoAsistencias");
DropDownList DdlAsisProyectoB = (DropDownList)row.FindControl("DdlAsisProyecto");
DropDownList DdlAsisSubProyectoB = (DropDownList)row.FindControl("DdlAsisSubProyecto");
TextBox TxtMotivo = (TextBox)row.FindControl("TxtMotivo");
RequestUpAsistenciaDetalle obj = new RequestUpAsistenciaDetalle();
obj.CveAsistenciaDetalle = CveAsistenciaDetalle;
obj.CveAsistenciasInasistencias = DdlTipoAsistenciasB.SelectedValue.ToEntero();
obj.CveSubProyecto = DdlAsisSubProyectoB.SelectedValue.ToEntero();
obj.CvePersonal = CvePersonal;
obj.Fecha = fecha;
obj.Motivo = TxtMotivo.Text.Trim();
if (obj.Motivo.Length == 0 && CveAsistenciasInasistencias != obj.CveAsistenciasInasistencias)
{
continuar = false;
break;
}
registros.Add(obj);
}
using (ClsRH objRH = new ClsRH())
if (continuar)
{
objRH.UpAsistenciaDetalle(UsuarioActual.CveEmpresa, registros);
using (ClsRH objRH = new ClsRH())
{
if (objRH.UpAsistenciaDetalle(UsuarioActual.CveEmpresa,UsuarioActual.CveUsuario, registros))
{
Alert("Se ha guardado la asistencia satisfactoriamente");
RegistraScript("$('#divDetallesDia').modal('hide');");
LnkConsultar_Click(null, null);
}
}
}
else
{
Alert("El campo motivo es requerido favor de llenarlo",ModExtensiones.TipoMensaje.MsgAdvertencia);
}
//int CvePersonal = TxtasiscvePersonal.Text.ToEntero();
//DateTime fecha = TxtasisFecha.Text.ToDate();
@@ -377,8 +423,7 @@ public partial class Nomina_ChecadorAsistencia : ClsPaginas
// 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');");
// }
//}

View File

@@ -566,11 +566,13 @@
<asp:Label AssociatedControlID="DDLUsuarioNomina" runat="server" Text="Nominista:"></asp:Label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:Label AssociatedControlID="ChkPensionado" CssClass="lblforchk" runat="server" Text="Pensionado:"></asp:Label>
<asp:CheckBox ID="ChkPensionado" CssClass="chksino " Text=" " runat="server" />
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:Label AssociatedControlID="ChkSindicalizado" CssClass="lblforchk" runat="server" Text="Sindicalizado:"></asp:Label>
<asp:CheckBox ID="ChkSindicalizado" CssClass="chksino " Text=" " runat="server" />
</div>
</div>
</div>
@@ -3973,9 +3975,9 @@
</div>
<br />
<div class="row" id="divBitacora" runat="server" visible="false">
<div class="col-md-12">
<asp:UpdatePanel runat="server" ID="UpHistorialModificacion" UpdateMode="Conditional">
<ContentTemplate>
<div class="col-md-12">
<div class="portlet light bordered xspadding">
<div class="portlet-title">
<div class="caption font-green">
@@ -4003,9 +4005,9 @@
</asp:GridView>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<%-- MODAL BITACORA --%>
<div id="ModalBitacora" class="modal ADS fade" role="dialog">

View File

@@ -1428,6 +1428,7 @@ Partial Class RH_Personal
Dim drow As DataRow = ObjPersonal.DtResultados.Rows(0)
ChkEstemporal.Checked = drow("esTemporal").ToString() = "1"
CHKRFCValidado.Checked = drow("RFCValidado").ToString() = "1"
'ChkPensionado.Checked = drow("Pensionado").ToString().ToUpper().Contiene("1", "TRUE")
ChkSindicalizado.Checked = drow("Sindicalizado").ToString().ToUpper().Contiene("1", "TRUE")
TxtMailrecibonomina.Text = drow("MaiReciboNomina").ToString()
'Carga Datos Personales
@@ -1755,7 +1756,7 @@ Partial Class RH_Personal
DdlClienteAsignado.SelectedValue.ToEntero(), DdlSubProyectoAsignado.SelectedValue.ToEntero(), URL,
DdlSupervisor.SelectedValue.ToEntero(), TxtCLABE.Text.Trim, TxtBancoNumCuenta.Text.Trim, DdlJornada.SelectedValue.ToEntero(), DdlViaticos.SelectedValue.ToEntero(), DdlViaticos.SelectedItem.Text,
DdlPrestamos.SelectedValue.ToEntero(), DdlPrestamos.SelectedItem.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DDLUsuarioNomina.SelectedValue.ToEntero(), DdlSubproyectoZona.SelectedValue.ToEntero(), CveUniforme:=DdlUniforme.SelectedValue.ToEntero(),
TelefonoExtension:=TxtTelefonoExtension.Text, CelularPersonal:=TxtCelularPersonal.Text, TelefonoMarcadoRapido:=TxtTelefonoMarcadoRapido.Text, ContactoAlterno:="", CveTipodeSalario:=DDlTipoSalario.SelectedValue.ToEntero(), Sindicalizado:=ChkSindicalizado.Checked, CvePais:=DdlPais.SelectedValue.ToEntero()) Then
TelefonoExtension:=TxtTelefonoExtension.Text, CelularPersonal:=TxtCelularPersonal.Text, TelefonoMarcadoRapido:=TxtTelefonoMarcadoRapido.Text, ContactoAlterno:="", CveTipodeSalario:=DDlTipoSalario.SelectedValue.ToEntero(), Sindicalizado:=ChkSindicalizado.Checked, Pensionado:=ChkPensionado.Checked, CvePais:=DdlPais.SelectedValue.ToEntero()) Then
If Archivo.Exists Then
@@ -1828,7 +1829,7 @@ Partial Class RH_Personal
URL, DdlSupervisor.SelectedValue.ToEntero(), TxtCLABE.Text.Trim, TxtBancoNumCuenta.Text.Trim, DdlJornada.SelectedValue.ToEntero(), DdlViaticos.SelectedValue.ToEntero(), DdlViaticos.SelectedItem.Text,
DdlPrestamos.SelectedValue.ToEntero(), DdlPrestamos.SelectedItem.Text, UsuarioActual.CveEmpresa, DDLUsuarioNomina.SelectedValue.ToEntero(), DdlSubproyectoZona.SelectedValue.ToEntero(), CveUniforme:=DdlUniforme.SelectedValue.ToEntero(),
TelefonoExtension:=TxtTelefonoExtension.Text, CelularPersonal:=TxtCelularPersonal.Text, TelefonoMarcadoRapido:=TxtTelefonoMarcadoRapido.Text, ContactoAlterno:="", CveUsuarioModifico:=UsuarioActual.CveUsuario,
CveTipodeSalario:=DDlTipoSalario.SelectedValue.ToEntero(), Sindicalizado:=If(ChkSindicalizado.Checked, 1, 0), CvePais:=DdlPais.SelectedValue.ToEntero()) Then
CveTipodeSalario:=DDlTipoSalario.SelectedValue.ToEntero(), Sindicalizado:=If(ChkSindicalizado.Checked, 1, 0), Pensionado:=ChkPensionado.Checked, CvePais:=DdlPais.SelectedValue.ToEntero()) Then
'Funsion usa RH Familiares
If UsuarioActual.Empresa.Funcionalidad(568) = "1" Then

View File

@@ -314,6 +314,12 @@