diff --git a/App_Code/ClsClaseBase.vb b/App_Code/ClsClaseBase.vb index d5857b782..87f8dd891 100644 --- a/App_Code/ClsClaseBase.vb +++ b/App_Code/ClsClaseBase.vb @@ -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 diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb index 56b39138a..ba8ee9104 100644 --- a/App_Code/ClsGenerales.vb +++ b/App_Code/ClsGenerales.vb @@ -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 diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb index f57a14a3c..4bb07c31d 100644 --- a/App_Code/ClsNominas.vb +++ b/App_Code/ClsNominas.vb @@ -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 diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb index c7d98a06d..be7964414 100644 --- a/App_Code/ClsRH.vb +++ b/App_Code/ClsRH.vb @@ -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 diff --git a/Bin/GoCfdi.dll b/Bin/GoCfdi.dll index aba020c12..f6da1e75a 100644 Binary files a/Bin/GoCfdi.dll and b/Bin/GoCfdi.dll differ diff --git a/General/ExcelToBD.aspx b/General/ExcelToBD.aspx index 6b74bf170..efbd4ef75 100644 --- a/General/ExcelToBD.aspx +++ b/General/ExcelToBD.aspx @@ -14,7 +14,7 @@ - +
@@ -48,9 +48,13 @@ Paso 2: Configuración
- Mostrar
+
+
+ Mostrar +
+
@@ -67,19 +71,19 @@
- +
- +
- +
@@ -88,12 +92,15 @@
- Continuar + Continuar
+ + +
diff --git a/General/ExcelToBD.aspx.cs b/General/ExcelToBD.aspx.cs index cabe4ccdb..4f00078ce 100644 --- a/General/ExcelToBD.aspx.cs +++ b/General/ExcelToBD.aspx.cs @@ -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 ColumnsTitles + { + get + { + if (ViewState["ColumnsTitles"] == null) { return null; } + else { return (ConcurrentDictionary)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("
{0}\n

", 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(); 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; } } diff --git a/Nomina/ChecadorAsistencia.aspx b/Nomina/ChecadorAsistencia.aspx index 01a90f0c2..bcd279f98 100644 --- a/Nomina/ChecadorAsistencia.aspx +++ b/Nomina/ChecadorAsistencia.aspx @@ -115,11 +115,40 @@ - + +
+
+
+ + Historial de Modificación +
+
+
+
+
+
+
+ + + + + + + + + + + + + + + +
+
- - - - - - - - - -
- -
-
-
- - - - - -
- - - - -
-
- -
- - - - -
-
-
-
-
-
@@ -262,6 +252,43 @@
+ + + + + + + + + + + + + + + + +
+ + + + +
+
+ + + +
+
+ + + + + + +
+
<%--
@@ -332,7 +359,13 @@ -
+
+ +
+ +
+
+
diff --git a/Nomina/ChecadorAsistencia.aspx.cs b/Nomina/ChecadorAsistencia.aspx.cs index f4fa8aec6..72a8e28da 100644 --- a/Nomina/ChecadorAsistencia.aspx.cs +++ b/Nomina/ChecadorAsistencia.aspx.cs @@ -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 = ""; 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 = ""; 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("
{0}
{1}
{2}
{3}
", asistencia, drfec["Horas"], asistencia2, Horas2); + drow[FechaCol] = string.Format("
{0}
{1}{2}
{3}
{4}{5}
", asistencia, drfec["Horas"], HoraExtraPorAutorizar, asistencia2, Horas2, HoraExtraPorAutorizar2); //drow[FechaCol] = string.Format("{0}
{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 items = new List(); - 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 registros = new List(); @@ -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
{0}
{1:dd/MM/yyyy}", TxtPersonal.Text, TxtasisFecha.Text.ToDate()), TipoMensaje.ToastInformacion); - // Alert("Se ha guardado la asistencia satisfactoriamente"); - // RegistraScript("$('#DModalModAsistencia').modal('hide');"); + // } //} diff --git a/RH/Personal.aspx b/RH/Personal.aspx index 4b9ac86db..d6bb8052a 100644 --- a/RH/Personal.aspx +++ b/RH/Personal.aspx @@ -566,11 +566,13 @@
- +
+ + +
-
@@ -3973,9 +3975,9 @@
+
-
@@ -4003,9 +4005,9 @@
-
+
<%-- MODAL BITACORA --%>