diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb index 500315bf5..9d7a712ec 100644 --- a/App_Code/ClsNominas.vb +++ b/App_Code/ClsNominas.vb @@ -3571,6 +3571,22 @@ Public Class ClsNominas retorno = RunQuery("Ocurrió un error al eliminar las Solicitudes de nómina.") Return retorno End Function + + + Public Function SolicitudesCancelar(CveSolicitud As Integer, CveEmpresa As Integer, CveUsuario As Integer) As Boolean + Dim retorno As Boolean = False + DataAdapter("PA_Gral_SAT_SolicitudesCancelar", CommandType.StoredProcedure) + addParameters("@CveSolicitud", SqlDbType.Int, CveSolicitud) + addParameters("@CveEmpresa", SqlDbType.Int, CveEmpresa) + addParameters("@CveUsuario", SqlDbType.Int, CveUsuario) + + retorno = RunQuery("Ocurrió un error al cancelar la Solicitude.") + + Return retorno + End Function + + + #End Region #End Region diff --git a/Compras/eFacturas.aspx b/Compras/eFacturas.aspx index 8af65aaa1..e53333212 100644 --- a/Compras/eFacturas.aspx +++ b/Compras/eFacturas.aspx @@ -1107,6 +1107,19 @@ + + + + + + + + + + + + diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index ce502c1e2..8a138cf63 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -781,6 +781,11 @@ Partial Class Compras_eFacturas CargaGvBitacora() CargaDatos() MostrarSolcitudesSAT() + + If UsuarioActual.CveRol = 1 Then + GVSolicitudesPendientes.Columns(8).Visible = True + End If + End If removeasincevent() End Sub @@ -5033,6 +5038,26 @@ Partial Class Compras_eFacturas RegistraScript("$('#DvmodalPersonalizar').modal('show');") End Sub + + Protected Sub LnkRemoveSolicitud_Click(sender As Object, e As EventArgs) + + Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow) + Dim ProcesoOk As Boolean = False + + Dim CveSolicitud = gvRow.DataKey("CveSolicitud").ToEntero + Dim Folio = gvRow.DataKey("Folio").ToEntero + + Using nom As ClsNominas = New ClsNominas() + ProcesoOk = nom.SolicitudesCancelar(CveSolicitud, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) + End Using + + If ProcesoOk Then + Alert($"Solicitud {Folio} cancelada correctamente.") + cargasolicitudes() + End If + + + End Sub End Class @@ -5052,6 +5077,12 @@ Public Class GeneralesAPIeFacturas Public Function VerificaSolicitudesNominas(CveEmpresa As Integer, CveTipoSolicitud As Integer, CveSolicitud As Integer) As Object Return getData(Of Object)($"VerificaSolicitudesNominas/{CveEmpresa}/{CveTipoSolicitud}/{CveSolicitud}", Nothing, ADSNetLibraryzdE.HelpersE.ConexionesE.SIGAPIE.requestMethod.[GET], False) End Function + + Public Function CancelarSolicitud(CveEmpresa As Integer, CveSolicitud As Integer, CveUsuario As Integer) As Object + Return getData(Of Object)($"CancelarSolicitud/{CveEmpresa}/{CveSolicitud}/{CveUsuario}", Nothing, ADSNetLibraryzdE.HelpersE.ConexionesE.SIGAPIE.requestMethod.[GET], False) + End Function + + End Class diff --git a/Nomina/RepPersonalDIM.aspx b/Nomina/RepPersonalDIM.aspx index 182031f62..4b82ca5f0 100644 --- a/Nomina/RepPersonalDIM.aspx +++ b/Nomina/RepPersonalDIM.aspx @@ -1350,6 +1350,11 @@ + + + + + diff --git a/Nomina/RepPersonalDIM.aspx.vb b/Nomina/RepPersonalDIM.aspx.vb index 16d37c606..d697818ef 100644 --- a/Nomina/RepPersonalDIM.aspx.vb +++ b/Nomina/RepPersonalDIM.aspx.vb @@ -144,9 +144,9 @@ Partial Class Nomina_RepPersonalDIM End Sub Protected Sub LnkDescargaArchivo_Click(ByVal sender As Object, ByVal e As EventArgs) Handles LnkDescargaArchivo.Click - Dim tabla As DataTable = Dt_Datos - Dim contenidoBytes As Byte() = Encoding.UTF8.GetBytes(ConvertirTablaATexto(tabla)) + + Dim contenidoBytes As Byte() = Encoding.UTF8.GetBytes(ConvertirGVATexto()) Using memoryStream As New MemoryStream(contenidoBytes) Response.Clear() @@ -159,39 +159,27 @@ Partial Class Nomina_RepPersonalDIM End Sub - Public Function ConvertirTablaATexto(ByVal DT As DataTable) As String - - Dim DTDatos As DataTable = DT.Copy() - - Dim columnasARemover As New List(Of DataColumn)() - - - For Each columna As DataColumn In DTDatos.Columns - If columna.ColumnName.Contains("CvePersonal") Then - columnasARemover.Add(columna) - End If - Next - - - For Each columna As DataColumn In columnasARemover - DTDatos.Columns.Remove(columna) - Next - - DTDatos.AcceptChanges() + Public Function ConvertirGVATexto() As String Dim sb As New StringBuilder - For Each fila As DataRow In DTDatos.Rows - For i As Integer = 0 To DTDatos.Columns.Count - 1 - sb.Append(fila(i).ToString()) - If i < DTDatos.Columns.Count - 1 Then - sb.Append("|") - End If - Next - sb.AppendLine() + Dim countRows As Integer = 1 + For Each GvRow As GridViewRow In GvDatos.Rows + + If Not countRows = 1 Then + For Each cell As TableCell In GvRow.Cells + For Each control As Control In cell.Controls + If TypeOf control Is Label Then + Dim label As Label = DirectCast(control, Label) + sb.Append($"{label.Text.Trim.Replace("True", "1").Replace("False", "0")}|") + End If + Next + Next + sb.AppendLine() + End If + countRows = countRows + 1 Next - - Return sb.tostring + Return sb.ToString End Function @@ -330,22 +318,46 @@ Partial Class Nomina_RepPersonalDIM ' TotalRowHeader += 2 + + 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("A8:AB9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(61, 74, 26), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + + 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("AC8:AT9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(216, 191, 216), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + + 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("AU8:AV9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(59, 131, 189), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + + 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("AW8:DB9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(216, 191, 216), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + + 'worksheet.Rows(TotalRowHeader).Cells.GetSubrange("DC8:DS9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 140, 64), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + + + worksheet.Cells.GetSubrange("A8:AB9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(218, 247, 166), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + + worksheet.Cells.GetSubrange("AC8:AT9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(216, 191, 216), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + + worksheet.Cells.GetSubrange("AU8:AV9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(59, 131, 189), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + + worksheet.Cells.GetSubrange("AW8:DB9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(216, 191, 216), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + + worksheet.Cells.GetSubrange("DC8:DU9").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 140, 64), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + + worksheet.Cells("DC8").Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 140, 64), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex worksheet.Rows(TotalRowHeader).Cells(i).Style.Font.Size = 12 * 20 worksheet.Rows(TotalRowHeader).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left worksheet.Rows(TotalRowHeader).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Bottom - worksheet.Rows(TotalRowHeader).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) - worksheet.Rows(TotalRowHeader).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255) + 'worksheet.Rows(TotalRowHeader).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + worksheet.Rows(TotalRowHeader).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(0, 0, 0) worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.Font.Size = 12 * 20 worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Bottom - worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) - worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255) + ' worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)) + worksheet.Rows(TotalRowHeader + 1).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(0, 0, 0) If i > 0 Then Try