diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb index 8197581c5..eeb1d6249 100644 --- a/App_Code/ClsRH.vb +++ b/App_Code/ClsRH.vb @@ -2719,6 +2719,27 @@ Public Class ClsRH OnError("Ocurrió un error al consultar las Asistencias del Personal.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) End Try + Return Retorno + End Function + + + Public Function GetPersonalPreAsistenciaRegistros(InicioPeriodo As Date, FinPeriodo As Date, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + + SqlDataAdapter("PA_RH_PersonalPreAsistenciaRegistrosGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@InicioPeriodo", SqlDbType.Date).Value = InicioPeriodo + .Add("@FinPeriodo", SqlDbType.Date).Value = FinPeriodo + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As SqlException + OnError("Ocurrió un error al consultar las Asistencias del Personal.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + Return Retorno End Function @@ -2768,6 +2789,44 @@ Public Class ClsRH End Function + Public Function AddPreAsistencia(CvePersonal As Integer, Fecha As Date, CveAsistenciasInasistencias As Integer, PorcentajePago As Double, CveUsuario As Integer, CveEmpresa As Integer) As Boolean + + Dim Retorno As Boolean = False + Data = New DataTable + 'SqlAdapter = New SqlDataAdapter("PA_RH_PersonalAsistenciasAddUpd", SqlConexion) + 'SqlAdapter.SelectCommand.CommandType = CommandType.StoredProcedure + SqlDataAdapter("PA_RH_PersonalPreAsistenciasAddUpd") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal + .Add("@Fecha", SqlDbType.Date).Value = Fecha + .Add("@CveAsistenciasInasistencias", SqlDbType.Int).Value = CveAsistenciasInasistencias + .Add("@PorcentajePago", SqlDbType.Float).Value = PorcentajePago + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue + End With + + Try + SqlAdapter.Fill(Data) + CveAsistencia = SqlAdapter.SelectCommand.Parameters("@RETURN_VALUE").Value.ToString.ToEntero + Retorno = True + Catch Ex1 As SqlException + If Ex1.Message.Contains("Número: 2627;") Then + Alert("Ya se registró la Asistencia del día " & Fecha & " para el empleado.", TipoMensaje.MsgAdvertencia) + ElseIf Ex1.Message.Contains("x50102;") Then + Alert("No se puede editar o agregar la asistencia ya que se encuentra vinculada a un periodo autorizado.", TipoMensaje.MsgAdvertencia) + GuardaLog(String.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", "Ocurrió un error al editar o agregar la asistencia ", Ex1.ToString, vbCrLf, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())) + Else + Me.OnError("Ocurrió un error al guardar la Asistencia.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al guardar la Pre Asistencia.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + + 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 diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index ba963379c..0b165f698 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -20743,7 +20743,7 @@ Partial Class Compras_Compras Dim Diferencia As Decimal = saldoTotal - TotalAcumuladoTabla - ValImporte If (Diferencia) < 0 Then - Alert($"No hay presupuesto disponible en el subproyecto {ValSubProyecto} con la clasificación {ValClasificacion}, Tipo de gasto {ValTipoGasto}. Se excede por {Math.Abs(Diferencia).FormatoNumero}", TipoMensaje.MsgAdvertencia) + Alert($"No hay presupuesto disponible.
SubProyecto: {ValSubProyecto}
Clasificación: {ValClasificacion}
Tipo de gasto: {ValTipoGasto}. Se excede por {Math.Abs(Diferencia).FormatoNumero}.", TipoMensaje.MsgAdvertencia) respuesta = False Else @@ -20751,7 +20751,7 @@ Partial Class Compras_Compras End If Else - Alert($"No hay presupuesto disponible en el subproyecto {ValSubProyecto} con la clasificación {ValClasificacion}, Tipo de gasto {ValTipoGasto} ", TipoMensaje.MsgAdvertencia) + Alert($"No hay presupuesto disponible.
SubProyecto: {ValSubProyecto}
Clasificación: {ValClasificacion}
Tipo de gasto: {ValTipoGasto}.", TipoMensaje.MsgAdvertencia) respuesta = False End If Else @@ -20808,16 +20808,24 @@ Partial Class Compras_Compras Dim tieneRegistrosConCveSubProyecto As Boolean = resultadosFiltrados.Any(Function(row) CType(row("CveSubProyecto"), Integer) = item.CveSubProyecto) If tieneRegistrosConCveSubProyecto Then - Dim saldoTotal As Decimal = (From row In resultadosFiltrados + 'Dim saldoTotal As Decimal = (From row In resultadosFiltrados + ' Where row.Field(Of Integer)("CveSubProyecto") = item.CveSubProyecto AndAlso + ' row.Field(Of Integer)("CveClasificacion") = item.CveClasificacion + ' Select row.Field(Of Decimal)("Saldo")).Sum() + + Dim saldoTotal As Decimal = (From row In resultadosFiltrados.AsEnumerable() Where row.Field(Of Integer)("CveSubProyecto") = item.CveSubProyecto AndAlso - row.Field(Of Integer)("CveClasificacion") = item.CveClasificacion + If(row.IsNull("CveClasificacion"), + 0, + row.Field(Of Integer?)("CveClasificacion").GetValueOrDefault()) = item.CveClasificacion Select row.Field(Of Decimal)("Saldo")).Sum() + If saldoTotal > 0 Then Dim Diferencia As Decimal = saldoTotal - item.TotalSum If (Diferencia) < 0 Then - Alert($"No hay presupuesto disponible en el subproyecto {item.SubProyecto} con la clasificación {item.Clasificacion}, Tipo de gasto {item.TipoGasto}. Se excede por {Math.Abs(Diferencia).FormatoNumero}", TipoMensaje.MsgAdvertencia) + Alert($"No hay presupuesto disponible.
SubProyecto: {item.SubProyecto}
Clasificación: {item.Clasificacion}
Tipo de gasto: {item.TipoGasto}. Se excede por {Math.Abs(Diferencia).FormatoNumero}.", TipoMensaje.MsgAdvertencia) respuesta = False Exit For Else @@ -20825,7 +20833,7 @@ Partial Class Compras_Compras End If Else - Alert($"No hay presupuesto disponible en el subproyecto {item.SubProyecto} con la clasificación {item.Clasificacion}, Tipo de gasto {item.TipoGasto}", TipoMensaje.MsgAdvertencia) + Alert($"No hay presupuesto disponible.
SubProyecto: {item.SubProyecto}
Clasificación: {item.Clasificacion}
Tipo de gasto: {item.TipoGasto}.", TipoMensaje.MsgAdvertencia) respuesta = False Exit For End If diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index be1f33adf..6e51b4464 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -3252,7 +3252,7 @@ Partial Class Inventarios_EntregaAlmacen Msg.AppendFormat("
Consola ", Encripta(String.Format("OP=Alm&CveMovimiento={0}&Consola={1}", CveMovimiento, Consola))) End If - If CveMovimientoEntrada > 0 Then + If CveMovimientoEntrada > 0 AndAlso Not UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then Msg.AppendFormat("

Movimiento Entrada (Traspaso): {1}", CveMovimientoEntrada, FolioEntrada) Msg.AppendFormat("
Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada))) End If diff --git a/Inventarios/KardexAlmacenHorizontal.aspx.vb b/Inventarios/KardexAlmacenHorizontal.aspx.vb index 14b886368..27bbfe0af 100644 --- a/Inventarios/KardexAlmacenHorizontal.aspx.vb +++ b/Inventarios/KardexAlmacenHorizontal.aspx.vb @@ -1,18 +1,18 @@ -Imports System.Data -Imports System.IO -Imports ADSNetLibrary.SIGAPI.Models.CGame -Imports Extensiones -Imports GemBox.Spreadsheet -Imports Microsoft.Reporting.WebForms - -Partial Class Inventarios_KardexAlmacenHorizontal - Inherits ClsPaginas - - Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load - If Not IsPostBack Then - 'TxtFechaI.Text = NowADS().AddMonths(-1).ToShortDateString +Imports System.Data +Imports System.IO +Imports ADSNetLibrary.SIGAPI.Models.CGame +Imports Extensiones +Imports GemBox.Spreadsheet +Imports Microsoft.Reporting.WebForms + +Partial Class Inventarios_KardexAlmacenHorizontal + Inherits ClsPaginas + + Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load + If Not IsPostBack Then + 'TxtFechaI.Text = NowADS().AddMonths(-1).ToShortDateString TxtFechaF.Text = NowADS().ToShortDateString - CargaCombos() + CargaCombos() ddlAlmacen.Items.Insert(0, New ListItem("Todos", "-1")) LblOrden.Visible = False DdlOrden.Visible = False @@ -35,18 +35,18 @@ Partial Class Inventarios_KardexAlmacenHorizontal DdlIncluyeTransitorios.Items.RemoveAt(0) 'oculta opción "No" en tránsito End If - If IfNull(Request("CvePS"), "-1").ToString.ToEntero > 0 Then CargarKardex(Request("CvePS").ToString.ToEntero) + If IfNull(Request("CvePS"), "-1").ToString.ToEntero > 0 Then CargarKardex(Request("CvePS").ToString.ToEntero) ddlProducto2.SelectedValue = If(Request("CvePS") IsNot Nothing, Request("CvePS").ToString, "-1") If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 Then DVFiltroCodigo.Visible = True - End If - - End If - End Sub - Private Sub CargaCombos() - - CargaFuncionalidad105() + End If + + End If + End Sub + Private Sub CargaCombos() + + CargaFuncionalidad105() CargaPS() 'Using ObjPS As New ClsProductosServicios @@ -56,25 +56,25 @@ Partial Class Inventarios_KardexAlmacenHorizontal 'End Using DdlMarca.DataSource = GlobalDTGralMarcas(UsuarioActual.CveEmpresa) DdlMarca.DataBind() - DdlMarca.Items.Insert(0, New ListItem("Todos", "-1")) - - ddlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1) - ddlAlmacen.DataBind() - - Dim ObjInv As New ClsInventarios() - If ObjInv.GetTiposAlmacenes() Then - DdlTipoAlmacen.DataSource = ObjInv.DtResultados - End If - ObjInv.Dispose() - DdlTipoAlmacen.DataBind() - - DdlTipoAlmacen.SelectedValueExist(1) - - If IfNull(Request("CveAlmacen"), "-1").ToString.ToEntero > 0 Then ddlAlmacen.SelectedValue = Request("CveAlmacen").ToString - CargaClasificaciones() - End Sub - - Private Sub CargaClasificaciones() + DdlMarca.Items.Insert(0, New ListItem("Todos", "-1")) + + ddlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1) + ddlAlmacen.DataBind() + + Dim ObjInv As New ClsInventarios() + If ObjInv.GetTiposAlmacenes() Then + DdlTipoAlmacen.DataSource = ObjInv.DtResultados + End If + ObjInv.Dispose() + DdlTipoAlmacen.DataBind() + + DdlTipoAlmacen.SelectedValueExist(1) + + If IfNull(Request("CveAlmacen"), "-1").ToString.ToEntero > 0 Then ddlAlmacen.SelectedValue = Request("CveAlmacen").ToString + CargaClasificaciones() + End Sub + + Private Sub CargaClasificaciones() Dim CveClasificacion As Integer = If(Request("CveClasificacion") IsNot Nothing, Request("CveClasificacion").ToString, "-1").ToEntero Dim ObjClasificaciones As New ClsClasificaciones @@ -89,193 +89,193 @@ Partial Class Inventarios_KardexAlmacenHorizontal DdlClasificacion.DataBind() End If End If - ObjClasificaciones.Dispose() - - DdlClasificacion.DataBind() - DdlClasificacion.SelectedValueExist(CveClasificacion) - - End Sub - Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlClasificacion.SelectedIndexChanged - CargaPS() - End Sub - Private Sub CargaPS() - - If Not ddlProducto2.UsaWebService Then - 'Dim Filtro = If(DdlClasificacion.SelectedValue >= 0, String.Format("CveClasificacion={0}", DdlClasificacion.SelectedValue), "") - ddlProducto2.ddl.Items.Clear() - ddlProducto2.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero).FiltraParametros($"CveTipoPS=2", "PSCodigo") - ddlProducto2.DataBind() - ddlProducto2.ddl.Items.Insert(0, New ListItem(" Seleccione ", "-1")) - End If - End Sub - Private Sub CargaFuncionalidad105() - ddlProducto2.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") - DdlProveedor.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") - - If ddlProducto2.UsaWebService Then - ddlProducto2.ddlWS.Attributes.Add("data-Estatus", "-1") - ddlProducto2.ddlWS.Attributes.Add("data-pagina", "Inventarios") - ddlProducto2.ddlWS.Attributes.Add("data-idClasificacion", DdlClasificacion.ClientID) - DdlClasificacion.AutoPostBack = False - - DdlProveedor.Attributes.Add("data-metodo", "getproveedores") - Else - ddlProducto2.ddl.Items.Add(New ListItem("Seleccione", "-1")) - ddlProducto2.ddl.Items.Add(New ListItem("*** Actualizar listado de Productos o Servicios ***", "-2")) - - DdlProveedor.ddl.Items.Add(New ListItem("Seleccione", "-1")) - DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) - DdlProveedor.DataBind() - End If - - End Sub - Protected Sub ddlProducto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlProducto2.selectedindexchange - - DdlUnidadMedida.Items.Clear() - DdlUnidadMedida.DataSource = GlobalDTProductosServiciosEquivalencias(ddlProducto2.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa) - DdlUnidadMedida.DataBind() - DdlUnidadMedida.Items.Insert(0, New ListItem("Todos", "-1")) - - End Sub - Protected Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click - Dim CveProducto As Integer = ddlProducto2.SelectedValue.ToEntero - CargarKardex(CveProducto) - 'If CveProducto > 0 Then - - 'Else - ' Alert("Seleccione un producto.", TipoMensaje.MsgAdvertencia) - 'End If - - End Sub + ObjClasificaciones.Dispose() + + DdlClasificacion.DataBind() + DdlClasificacion.SelectedValueExist(CveClasificacion) + + End Sub + Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlClasificacion.SelectedIndexChanged + CargaPS() + End Sub + Private Sub CargaPS() + + If Not ddlProducto2.UsaWebService Then + 'Dim Filtro = If(DdlClasificacion.SelectedValue >= 0, String.Format("CveClasificacion={0}", DdlClasificacion.SelectedValue), "") + ddlProducto2.ddl.Items.Clear() + ddlProducto2.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero).FiltraParametros($"CveTipoPS=2", "PSCodigo") + ddlProducto2.DataBind() + ddlProducto2.ddl.Items.Insert(0, New ListItem(" Seleccione ", "-1")) + End If + End Sub + Private Sub CargaFuncionalidad105() + ddlProducto2.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") + DdlProveedor.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") + + If ddlProducto2.UsaWebService Then + ddlProducto2.ddlWS.Attributes.Add("data-Estatus", "-1") + ddlProducto2.ddlWS.Attributes.Add("data-pagina", "Inventarios") + ddlProducto2.ddlWS.Attributes.Add("data-idClasificacion", DdlClasificacion.ClientID) + DdlClasificacion.AutoPostBack = False + + DdlProveedor.Attributes.Add("data-metodo", "getproveedores") + Else + ddlProducto2.ddl.Items.Add(New ListItem("Seleccione", "-1")) + ddlProducto2.ddl.Items.Add(New ListItem("*** Actualizar listado de Productos o Servicios ***", "-2")) + + DdlProveedor.ddl.Items.Add(New ListItem("Seleccione", "-1")) + DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) + DdlProveedor.DataBind() + End If + + End Sub + Protected Sub ddlProducto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlProducto2.selectedindexchange + + DdlUnidadMedida.Items.Clear() + DdlUnidadMedida.DataSource = GlobalDTProductosServiciosEquivalencias(ddlProducto2.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa) + DdlUnidadMedida.DataBind() + DdlUnidadMedida.Items.Insert(0, New ListItem("Todos", "-1")) + + End Sub + Protected Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click + Dim CveProducto As Integer = ddlProducto2.SelectedValue.ToEntero + CargarKardex(CveProducto) + 'If CveProducto > 0 Then + + 'Else + ' Alert("Seleccione un producto.", TipoMensaje.MsgAdvertencia) + 'End If + + End Sub Private Sub CargarKardex(CvePS As Integer) - Dim dt As DataTable = Nothing - Dim ObjMovimientos As New ClsInventarios - Dim FechaI As String = "-1" ' If(TxtFechaI.Text <> "" AndAlso TxtFechaI.Text <> "__/__/____", TxtFechaI.Text, "-1") - ' Dim FechaF As String = If(TxtFechaF.Text <> "" AndAlso TxtFechaF.Text <> "__/__/____", TxtFechaF.Text, "-1") - Dim FechaF As Date = TxtFechaF.Text.ToDate - Dim CveAlmacenes As String = ddlAlmacen.GetSelectedValues() - Dim CveProveedorCompra As Integer = If(DdlProveedor.SelectedValue.ToEntero > 0, DdlProveedor.SelectedValue.ToEntero, -1) - Dim Marcas As String = If(DdlMarca.GetSelectedValuesM = "", "-1", DdlMarca.GetSelectedValuesM) - Dim GPO As Integer = Ddlgrupo.SelectedValue.ToEntero + Dim dt As DataTable = Nothing + Dim ObjMovimientos As New ClsInventarios + Dim FechaI As String = "-1" ' If(TxtFechaI.Text <> "" AndAlso TxtFechaI.Text <> "__/__/____", TxtFechaI.Text, "-1") + ' Dim FechaF As String = If(TxtFechaF.Text <> "" AndAlso TxtFechaF.Text <> "__/__/____", TxtFechaF.Text, "-1") + Dim FechaF As Date = TxtFechaF.Text.ToDate + Dim CveAlmacenes As String = ddlAlmacen.GetSelectedValues() + Dim CveProveedorCompra As Integer = If(DdlProveedor.SelectedValue.ToEntero > 0, DdlProveedor.SelectedValue.ToEntero, -1) + Dim Marcas As String = If(DdlMarca.GetSelectedValuesM = "", "-1", DdlMarca.GetSelectedValuesM) + Dim GPO As Integer = Ddlgrupo.SelectedValue.ToEntero Dim IncluyeTransitorios As Integer = DdlIncluyeTransitorios.SelectedValue.ToEntero Dim CodigoInicio As String = If(TxtCodigoInicio.Text.Trim.Length = 0, "-1", TxtCodigoInicio.Text.Trim) - Dim CodigoFin As String = If(TxtCodigoFinal.Text.Trim.Length = 0, "-1", TxtCodigoFinal.Text.Trim) - + Dim CodigoFin As String = If(TxtCodigoFinal.Text.Trim.Length = 0, "-1", TxtCodigoFinal.Text.Trim) + If ObjMovimientos.GetKardexAlmacenHorizontal(CvePS, FechaF, -1, DdlUnidadMedida.SelectedValue.ToEntero, CveProveedorCompra, DdlTipoAlmacen.SelectedValue.ToEntero(), IncluyeTransitorios, DdlClasificacion.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CondicionExistencias:=DdlExistencia.SelectedValue.ToEntero, - Orden:=DdlOrden.SelectedValue.ToEntero(), Marcas:=Marcas, IncluyeProyectado:=DdlProyeccionFiltro.SelectedValue.ToEntero, CveAlmacenes:=CveAlmacenes, GPO:=GPO, CodigoPS:=TxtPS.Text, - CodigoInicio:=CodigoInicio, CodigoFin:=CodigoFin) Then - If ObjMovimientos.DtResultados IsNot Nothing AndAlso ObjMovimientos.DtResultados.Rows.Count > 0 Then - dt = ObjMovimientos.DtResultados - Dim ListaBorrar As New List(Of DataColumn) - For index As Integer = 3 To dt.Columns.Count - 1 - Dim TotColumna As Double = 0 - For Each Dr As DataRow In dt.Rows - TotColumna += Dr.Item(index).ToString.ToDouble + Orden:=DdlOrden.SelectedValue.ToEntero(), Marcas:=Marcas, IncluyeProyectado:=DdlProyeccionFiltro.SelectedValue.ToEntero, CveAlmacenes:=CveAlmacenes, GPO:=GPO, CodigoPS:=TxtPS.Text, + CodigoInicio:=CodigoInicio, CodigoFin:=CodigoFin) Then + If ObjMovimientos.DtResultados IsNot Nothing AndAlso ObjMovimientos.DtResultados.Rows.Count > 0 Then + dt = ObjMovimientos.DtResultados + Dim ListaBorrar As New List(Of DataColumn) + For index As Integer = 3 To dt.Columns.Count - 1 + Dim TotColumna As Double = 0 + For Each Dr As DataRow In dt.Rows + TotColumna += Dr.Item(index).ToString.ToDouble Next If Not TotColumna > 0 Then ListaBorrar.Add(dt.Columns(index)) End If - Next - For Each item As DataColumn In ListaBorrar - dt.Columns().Remove(item) - Next - dt.AcceptChanges() - GvDatos.DataSource = dt - Else - Alert("La búsqueda no contiene resultados.", TipoMensaje.MsgAdvertencia) - GvDatos.Columns.Clear() + Next + For Each item As DataColumn In ListaBorrar + dt.Columns().Remove(item) + Next + dt.AcceptChanges() + GvDatos.DataSource = dt + Else + Alert("La búsqueda no contiene resultados.", TipoMensaje.MsgAdvertencia) + GvDatos.Columns.Clear() dt = Nothing - Exit Sub + Exit Sub End If Else ObjMovimientos.Dispose() Alert("Ocurrió un error al consultar el Kardex.", TipoMensaje.MsgError) - Exit Sub + Exit Sub End If - GvDatos.DataBind() - - For index = 4 To GvDatos.Rows(0).Cells.Count - 1 - GvDatos.HeaderRow.Cells(index).Text = GvDatos.HeaderRow.Cells(index).Text.Split("|"c)(0) - Next - End Sub - - Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound - - If e.Row.RowType = DataControlRowType.DataRow Then - 'Dim Liga As String = String.Format($"/Inventarios/Kardex.aspx?CvePS={ddlProducto2.SelectedValue.ToEntero}&CveAlmacen={e.Row.DataKey("CveAlmacen")}&CveUM={DdlUnidadMedida.SelectedValue.ToEntero}&FechaI={TxtFechaI.Text}&FechaF={TxtFechaF.Text}") - 'e.Row.FCHyperLink("HplAlmacen").NavigateUrl = Liga - - If e.Row.RowIndex = 0 Then - e.Row.CssClass = "Totales" - End If - - - 'e.Row.Attributes.Add("style", " max-height:31px!important") - + GvDatos.DataBind() + + For index = 4 To GvDatos.Rows(0).Cells.Count - 1 + GvDatos.HeaderRow.Cells(index).Text = GvDatos.HeaderRow.Cells(index).Text.Split("|"c)(0) + Next + End Sub + + Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound + + If e.Row.RowType = DataControlRowType.DataRow Then + 'Dim Liga As String = String.Format($"/Inventarios/Kardex.aspx?CvePS={ddlProducto2.SelectedValue.ToEntero}&CveAlmacen={e.Row.DataKey("CveAlmacen")}&CveUM={DdlUnidadMedida.SelectedValue.ToEntero}&FechaI={TxtFechaI.Text}&FechaF={TxtFechaF.Text}") + 'e.Row.FCHyperLink("HplAlmacen").NavigateUrl = Liga + + If e.Row.RowIndex = 0 Then + e.Row.CssClass = "Totales" + End If + + + 'e.Row.Attributes.Add("style", " max-height:31px!important") + e.Row.HorizontalAlign = HorizontalAlign.Right - e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left - e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Left - e.Row.Cells(2).HorizontalAlign = HorizontalAlign.Left - Dim Index As Integer = 0 - - For Each Cells As TableCell In e.Row.Cells - Dim Celda As String = Cells.Text - If IsNumeric(Celda) Then - Dim CveAlmacen2 As Integer = -1 - If Index >= 5 Then - Dim Array As String() = GvDatos.HeaderRow.Cells(Index).Text.Split("|"c) - If Array.Length > 1 Then - CveAlmacen2 = Array(1).ToEntero - End If - End If - - If Celda.ToDouble = 0 Then - Cells.Text = "" - Else - Dim ce = DirectCast(Cells, System.Web.UI.WebControls.DataControlFieldCell) - - If ce.ContainingField.HeaderText = "CP" Then - Cells.Text = Cells.Text.FormatoNumero(2) - ElseIf ce.ContainingField.HeaderText = "Valor" Then - Cells.Text = Cells.Text.FormatoNumero(2) - 'ElseIf ce.ContainingField.HeaderText = "Total" Then - ' Cells.Text = Cells.Text.FormatoNumero(2) - Else - Cells.Text = String.Format("{0:#,###.##}", Cells.Text.ToDecimal) - End If - End If - e.Row.Cells(e.Row.Cells.GetCellIndex(Cells)).Width = Unit.Pixel(80) - 'Dim Liga2 As String = String.Format($"/Inventarios/Kardex.aspx?CvePS={ddlProducto2.SelectedValue.ToEntero}&CveAlmacen={CveAlmacen2}&CveUM={DdlUnidadMedida.SelectedValue.ToEntero}&FechaI={TxtFechaI.Text}&FechaF={TxtFechaF.Text}") - 'Cells.Text = String.Format("{0}", Celda.FormatoNumero(), Liga2) - End If - Index = Index + 1 - Next - - End If - End Sub - - - - Private Sub GvDatos_RowCreated(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowCreated - 'Escondo CvePS y CveAlmacén (Se generan por autogeneratecolumns por eso se borran por aqui). - ' e.Row.Cells(0).Width = New Unit("200px") - e.Row.Cells(2).Visible = False - e.Row.Cells(3).Visible = False - If e.Row.RowType = DataControlRowType.Header Then - 'e.Row.Cells(6).ToolTip = "Costo" - End If - End Sub - - Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click - - Imprimir("Excel") - End Sub - Private Sub Imprimir(Optional reporte As String = "PDF") + e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left + e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Left + e.Row.Cells(2).HorizontalAlign = HorizontalAlign.Left + Dim Index As Integer = 0 + + For Each Cells As TableCell In e.Row.Cells + Dim Celda As String = Cells.Text + If IsNumeric(Celda) Then + Dim CveAlmacen2 As Integer = -1 + If Index >= 5 Then + Dim Array As String() = GvDatos.HeaderRow.Cells(Index).Text.Split("|"c) + If Array.Length > 1 Then + CveAlmacen2 = Array(1).ToEntero + End If + End If + + If Celda.ToDouble = 0 Then + Cells.Text = "" + Else + Dim ce = DirectCast(Cells, System.Web.UI.WebControls.DataControlFieldCell) + + If ce.ContainingField.HeaderText = "CP" Then + Cells.Text = Cells.Text.FormatoNumero(2) + ElseIf ce.ContainingField.HeaderText = "Valor" Then + Cells.Text = Cells.Text.FormatoNumero(2) + 'ElseIf ce.ContainingField.HeaderText = "Total" Then + ' Cells.Text = Cells.Text.FormatoNumero(2) + Else + Cells.Text = String.Format("{0:#,###.##}", Cells.Text.ToDecimal) + End If + End If + e.Row.Cells(e.Row.Cells.GetCellIndex(Cells)).Width = Unit.Pixel(80) + 'Dim Liga2 As String = String.Format($"/Inventarios/Kardex.aspx?CvePS={ddlProducto2.SelectedValue.ToEntero}&CveAlmacen={CveAlmacen2}&CveUM={DdlUnidadMedida.SelectedValue.ToEntero}&FechaI={TxtFechaI.Text}&FechaF={TxtFechaF.Text}") + 'Cells.Text = String.Format("{0}", Celda.FormatoNumero(), Liga2) + End If + Index = Index + 1 + Next + + End If + End Sub + + + + Private Sub GvDatos_RowCreated(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowCreated + 'Escondo CvePS y CveAlmacén (Se generan por autogeneratecolumns por eso se borran por aqui). + ' e.Row.Cells(0).Width = New Unit("200px") + e.Row.Cells(2).Visible = False + e.Row.Cells(3).Visible = False + If e.Row.RowType = DataControlRowType.Header Then + 'e.Row.Cells(6).ToolTip = "Costo" + End If + End Sub + + Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click + + Imprimir("Excel") + End Sub + Private Sub Imprimir(Optional reporte As String = "PDF") If GvDatos.Rows.Count > 0 Then Dim StrFiltro As New StringBuilder If DdlProveedor.SelectedValue.ToEntero > 0 Then StrFiltro.AppendFormat("Proveedor: {0},", DdlProveedor.SelectedText) @@ -284,7 +284,7 @@ Partial Class Inventarios_KardexAlmacenHorizontal ExportToExcelG(GvDatos, "ExistenciasHorizontal_" & TxtFechaF.Text, "Existencias Almacen", UsuarioActual, StrFiltro.ToString, 100, 200) Else Alert("Debe consultar para generar un excel", TipoMensaje.MsgAdvertencia) - End If + End If End Sub Public Sub ExportToExcelG(Gv As GridView, NombreArchivoXLSx As String, Optional Titulo As String = "Reporte", Optional Usuario As Usuario = Nothing, Optional Filtros As String = "", Optional AlturaImagen As Double = 100, Optional AnchoImagen As Double = 100) @@ -371,12 +371,12 @@ Partial Class Inventarios_KardexAlmacenHorizontal excel.Save(HttpContext.Current.Response, $"{NombreArchivoXLSx}.xlsx") - End Sub - + End Sub + Protected Sub LnkProyectado_Click(sender As Object, e As EventArgs) RegistraScript(String.Format("$('#{0}').modal();", "DivProyeccion")) - End Sub - + End Sub + Protected Sub BtnDescargarFormato_Click(sender As Object, e As EventArgs) Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\Formatos\KardexProyeccion.xlsx" @@ -392,8 +392,8 @@ Partial Class Inventarios_KardexAlmacenHorizontal Response.TransmitFile(Archivo.FullName) Response.End() End If - End Sub - + End Sub + Protected Sub BtnAgregarProyeccion_Click(sender As Object, e As EventArgs) If TxtProyeccionExcel.getfiles().Archivos.Count > 0 Then Dim file As Archivo = TxtProyeccionExcel.getfiles().Archivos(0) @@ -418,8 +418,8 @@ Partial Class Inventarios_KardexAlmacenHorizontal End If AgregarProyeccion(dt) - End Sub - + End Sub + Private Sub AgregarProyeccion(dt As DataTable) Dim TieneError As Boolean = False Dim StrCodigo As New StringBuilder @@ -460,8 +460,8 @@ Partial Class Inventarios_KardexAlmacenHorizontal ObjInventarios.Dispose() RegistraScript(String.Format("$('#{0}').modal('hide');", "DivProyeccion")) - End Sub - + End Sub + 'Private Function ReadExcelFile(ByVal flatFilePath As String, ByVal firstRowHasHeaders As Boolean) As DataTable ' SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) ' Dim excelFile As ExcelFile = ExcelFile.Load(flatFilePath) @@ -512,8 +512,8 @@ Partial Class Inventarios_KardexAlmacenHorizontal ' Return dataTable - 'End Function - Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) + 'End Function + Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) End Sub Private Sub LnkPOG_Click(sender As Object, e As EventArgs) Handles LnkPOG.Click @@ -599,4 +599,4 @@ Partial Class Inventarios_KardexAlmacenHorizontal End Sub -End Class +End Class diff --git a/RH/RepChecadorPreAsistencia.aspx b/RH/RepChecadorPreAsistencia.aspx index 05d4023ec..b475984ea 100644 --- a/RH/RepChecadorPreAsistencia.aspx +++ b/RH/RepChecadorPreAsistencia.aspx @@ -16,11 +16,15 @@ - +
  • +
  • + +
  • @@ -32,46 +36,28 @@
    -
    +
    + +
      +
    • Ejercicio: + + + +
    • Tipo Periodo:
    • -
    • Periodo: - - +
    • + Período: + + +
    • - <%--
    • Fecha Inicio: -
      - - - - -
      - - - - - - -
    • -
    • Fecha Fin: -
      - - - - -
      - - - - - - - - -
    • --%> +
    • SubProyecto: @@ -340,7 +326,7 @@