Registro revision AF

This commit is contained in:
Rakcsle Supertramp
2020-08-18 17:23:59 -07:00
parent 864481ab24
commit 7fa9f2da5d
8 changed files with 859 additions and 15 deletions

384
AF/OrdenServicio.aspx Normal file
View File

@@ -0,0 +1,384 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="OrdenServicio.aspx.vb" Inherits="AF_OrdenServicio" EnableEventValidation = "false" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.Widthall {
width: 100% !important;
}
.dataTables_scrollHeadInner {
width: 100% !important;
background-color: #dddddd;
padding-left: 0px !important;
}
.dataTables_scrollFoot {
display: none;
position: static;
}
.table-scrollable {
margin: 0px !important;
}
.dataTables_scroll {
margin-bottom: 0px;
}
.table.dataTable {
margin-top: 0px !important;
}
.dataTables_scrollBody table th {
padding: 0px !important;
padding-right: 4px !important;
padding-left: 4px !important;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Registro Revisión
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpFiltro" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="col-md-4 ">
<div class="portlet light bordered xspadding">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-table font-green"></i>
<span class="caption-subject bold uppercase"><asp:Label runat="server" ID="LblSubProyecto2"></asp:Label></span>
</div>
<div class="actions">
<div class="btn-group">
<%--<asp:Button ID="BtnCargarClientes" runat="server" ClientIDMode="Static" Text="CargarClientes" Style="display: none;" class="btn btn-success" />--%>
</div>
</div>
</div>
<div class="portlet-body form">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" Width="100%" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" AutoPostBack="true" OnSelectedIndexChanged="DdlSubProyecto_SelectedIndexChanged"></asp:DropDownList>
<label for="<%= DdlSubProyecto.ClientID.ToString()%>">
<asp:Label runat="server" ID="LblSubProyecto"></asp:Label>
</label>
<i></i>
<asp:RequiredFieldValidator ID="RFVDdlSubProyecto" runat="server" InitialValue="-1" ControlToValidate="DdlSubProyecto" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio Contrato''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="<%= TxtFecha.ClientID.ToString()%>">Fecha Inicio Contrato: </label>
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style="padding: 5px 0px;">
<asp:TextBox ID="TxtFecha" runat="server" CausesValidation="True" CssClass="form-control input-sm"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaInicioContrato" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaInicioContrato" runat="server" TargetControlID="TxtFecha" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left" BehaviorID="_content_MEEFechaInicioContrato" Century="2000" CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" CultureDateFormat="" CultureDatePlaceholder="" CultureDecimalPlaceholder="" CultureThousandsPlaceholder="" CultureTimePlaceholder=""></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaInicioContrato" TargetControlID="TxtFecha" PopupButtonID="ImgFechaInicioContrato" PopupPosition="BottomRight" BehaviorID="_content_CEFechaInicioContrato"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaInicioContrato" runat="server" ControlToValidate="TxtFecha" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio Contrato''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaInicioContrato" runat="server" ControlToValidate="TxtFecha" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio Contrato''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
</div>
</div>
</div>
</div>
<%-- <div class="portlet solid grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT portletfiltrostitlee">
<div class="tools">
<asp:UpdatePanel runat="server" style="display: inline-block;">
<ContentTemplate>
<asp:Button ID="BtnFiltrar" runat="server" Text="Consultar" class="btn btn-primary" OnClick="BtnFiltrar_Click" />
</ContentTemplate>
</asp:UpdatePanel>
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-2">
</div>
<div class="col-md-1">Fecha:</div>
<div class="col-md-2">
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none;">
</div>
</div>--%>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron datos" ToolTip="Listado de metricas" CssClass="table table-smallpadding Widthall"
DataKeyNames="CveActivoFijo,Unidad,CvePersonaResponsable"
GridLines="None">
<Columns>
<%--<asp:TemplateField HeaderText="SubProyecto" >
<ItemStyle Width="140px" />
<ItemTemplate>
<asp:Literal ID="LtlSubProyecto" runat="server" Text='<%# Eval("SubProyecto")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>--%>
<asp:TemplateField HeaderText="Unidad">
<ItemStyle Width="350px" />
<ItemTemplate>
<asp:Literal ID="LtlDescripcion" runat="server" Text='<%# Eval("Unidad")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica1" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica1" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica2" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica2" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica3" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica3" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica4" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica4" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica5" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica5" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica6" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica6" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica7" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica7" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica8" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica8" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica9" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica9" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica10" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica10" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica11" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica11" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica12" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica12" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica13" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica13" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica14" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica14" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica15" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica15" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Operador">
<ItemStyle Width="350px" />
<ItemTemplate>
<asp:DropDownList ID="DDLPersonal" CssClass="form-control input-sm select2me" runat="server" Width="100%" DataTextField="Nombre" DataValueField="CvePersonal"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left" ItemStyle-Width="40px" HeaderText="Opciones" Visible="false">
<ItemTemplate>
<asp:LinkButton ID="LnkEliminarMetricaValor" OnClick="LnkEliminarMetricaValor_Click" runat="server" AlternateText="Eliminar" CausesValidation="False" CssClass="btn btn-circle btn-xs red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="confirmar" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<div id="ModalDescargaReporte" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:UpdatePanel ID="UpModalTitleModalDescargaReporte" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Literal ID="LtlModalTitleModalDescargaReporte" runat="server">Descarga reporte </asp:Literal>
</ContentTemplate>
</asp:UpdatePanel>
</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpModalCuerpoModalDescargaReporte" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-12">
<p>Metricas guardadas correctamente.</p>
<asp:LinkButton ID="LnkDescargaReporte" runat="server" OnClick="LnkDescargaReporte_Click">
<i class="fa fa-arrow-down" style="font-weight:bold;"></i> Descarga Reporte Excel</asp:LinkButton>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkDescargaReporte" />
</Triggers>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12" style="text-align:center">
<asp:UpdatePanel ID="UpGuardar" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="BtnGuardar" runat="server" Text="Guardar" ValidationGroup="GrpGuardar" CssClass="btn btn-primary" OnClick="BtnGuardar_Click" Visible="false" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

437
AF/OrdenServicio.aspx.vb Normal file
View File

@@ -0,0 +1,437 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports System.IO
Imports Extensiones
Imports GemBox.Spreadsheet
Imports Microsoft.Reporting.WebForms
Partial Class AF_OrdenServicio
Inherits ClsPaginas
#Region " PROPIEDADES"
Property DT_Cabeceras As DataTable
Get
If ViewState("DT_Cabeceras") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DT_Cabeceras"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DT_Cabeceras") = value
End Set
End Property
Property DT_Datos As DataTable
Get
If ViewState("DT_Datos") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DT_Datos"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DT_Datos") = value
End Set
End Property
Property ReporteBytes As Byte()
Get
If ViewState("ReporteBytes") Is Nothing Then
Return Nothing
Else
Return DirectCast(ViewState("ReporteBytes"), Byte())
End If
End Get
Set(value As Byte())
ViewState("ReporteBytes") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CargaCombos()
'CargaDatos()
TxtFecha.Text = $"{Now.Day.ToString("00")}/{Now.Month.ToString("00")}/{Now.Year}"
End If
End Sub
#Region " CARGA PARAMETROS "
#End Region
#Region " CARGA COMBOS "
Protected Sub CargaCombos()
CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto)
LblSubProyecto2.Text = LblSubProyecto.Text
End Sub
#End Region
#Region " CARGA DATOS "
'Protected Sub BtnFiltrar_Click(sender As Object, e As EventArgs)
' CargaDatos()
'End Sub
#End Region
#Region " GV DATOS "
Private Sub CargaDatos()
Dim ObjAF As New ClsAF
If ObjAF.GetMetricasRegistro(DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, TxtFecha.Text.ToDate) Then
DT_Cabeceras = ObjAF.DSResultados.Tables(0)
DT_Datos = ObjAF.DSResultados.Tables(1)
If DT_Cabeceras.Rows.Count > 0 AndAlso DT_Datos.Rows.Count > 0 Then
BtnGuardar.Visible = True
Else
BtnGuardar.Visible = False
GvDatos.DataSource = Nothing
GvDatos.DataBind()
End If
Else
GvDatos.DataSource = Nothing
GvDatos.DataBind()
BtnGuardar.Visible = False
End If
ObjAF.Dispose()
If DT_Datos.Rows.Count > 0 Then
CargaTablas()
End If
UpGuardar.Update()
UpDatos.Update()
End Sub
Private Sub CargaTablas()
Dim IDX_LIMPIAR As Integer = 1
For IDX_LIMPIAR = 1 To 15
GvDatos.Columns(IDX_LIMPIAR).HeaderText = ""
GvDatos.Columns(IDX_LIMPIAR).Visible = False
Next
Dim x As Integer = 0
Dim limite As Integer = DT_Cabeceras.Rows.Count - 1
For x = 0 To limite
GvDatos.Columns(x + 1).HeaderText = DT_Cabeceras.Rows(x)("Metrica").ToString
GvDatos.Columns(x + 1).Visible = True
Next x
GvDatos.DataSource = DT_Datos
GvDatos.DataBind()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.FCDropDownList("DdlPersonal").DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("CveEstatusPersonal = 1")
e.Row.FCDropDownList("DdlPersonal").DataBind()
e.Row.FCDropDownList("DdlPersonal").Items.Insert(0, New ListItem("Selecione uno", "-1"))
e.Row.FCDropDownList("DdlPersonal").SelectedValueExist(e.Row.DataKey("CvePersonaResponsable"))
End If
End Sub
#End Region
Protected Sub LnkEliminarMetricaValor_Click(sender As Object, e As EventArgs)
End Sub
Protected Sub DdlSubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs)
If DdlSubProyecto.SelectedValue.ToEntero > 0 Then
CargaDatos()
Else
GvDatos.DataSource = Nothing
GvDatos.DataBind()
UpDatos.Update()
End If
End Sub
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs)
Dim ObjAF As New ClsAF
Dim limite As Integer = DT_Cabeceras.Rows.Count - 1
ObjAF.IniciaTransacSQL()
Dim ErrorProceso As Boolean = False
For Each GvRow As GridViewRow In GvDatos.Rows
If GvRow.RowType = DataControlRowType.DataRow Then
Dim DdlPersonal As DropDownList = GvRow.FCDropDownList("DdlPersonal")
If DdlPersonal.SelectedValue.ToEntero <= 0 Then
Alert($"unidad: {GvRow.DataKey("Unidad")} require personal", TipoMensaje.MsgAdvertencia)
ErrorProceso = True
Exit For
End If
If ObjAF.AddMetricasValores(GvRow.DataKey("CveActivoFijo").ToEntero, DdlPersonal.SelectedValue.ToEntero, UsuarioActual.CveUsuario, DdlSubProyecto.SelectedValue.ToEntero, TxtFecha.Text.ToDate, UsuarioActual.CveEmpresa) Then
Dim CveMetricaValor As Integer = ObjAF.CveMetricaValor
Dim x As Integer = 0
For x = 0 To limite
Dim valor As Decimal = GvRow.FCTextBox($"TxtMetrica{x + 1}").Text.ToDecimal
' valor = If(valor.Trim.Length = 0, "0", valor)
If ObjAF.AddMetricasValoresDetalle(CveMetricaValor, DT_Cabeceras(x)("CveMetrica").ToString.ToEntero, valor) Then
ErrorProceso = False
Else
ErrorProceso = True
Exit For
End If
Next x
If ErrorProceso Then
Exit For
End If
Else
ErrorProceso = True
Exit For
End If
End If
Next
If Not ErrorProceso Then
ObjAF.Commit()
ExportToExcelG(GvDatos, $"RegistroRevision{Now.ToString("yyyyMMddmmss")}", UsuarioActual, "ReporteRevision", 100, 100, filtros:=$"Filtros {LblSubProyecto.Text}: {DdlSubProyecto.SelectedItem.Text} Fecha: {TxtFecha.Text}")
RegistraScript("$('#ModalDescargaReporte').modal({ backdrop: 'static', keyboard: false });")
GvDatos.DataSource = Nothing
GvDatos.DataBind()
BtnGuardar.Visible = False
UpDatos.Update()
UpGuardar.Update()
Else
ObjAF.RollBack()
End If
ObjAF.Dispose()
End Sub
#Region "DESCARGA EXCEL"
Public Sub ExportToExcelG(Gv1 As GridView, NombreArchivoXLSx As String, Usuario As Usuario, Titulo As String, Optional AlturaImagen As Double = 100, Optional AnchoImagen As Double = 100, Optional filtros As String = "")
For Each GvRow As GridViewRow In Gv1.Rows
Dim IDX_LIMPIAR As Integer = 1
For IDX_LIMPIAR = 1 To 15
GvRow.Cells(IDX_LIMPIAR).Text = GvRow.FCTextBox($"TxtMetrica{IDX_LIMPIAR}").Text
Next
If GvRow.FCDropDownList("DDLPersonal").SelectedValue.ToEntero > 0 Then
GvRow.Cells(16).Text = GvRow.FCDropDownList("DDLPersonal").SelectedItem.Text
Else
GvRow.Cells(16).Text = ""
End If
Next
Dim sw1 As New StringWriter()
Dim htw1 As New HtmlTextWriter(sw1)
Gv1.RenderControl(htw1)
Dim options = GemBox.Spreadsheet.LoadOptions.HtmlDefault
Dim htmlStream1 = New MemoryStream(options.Encoding.GetBytes(sw1.ToString()))
htmlStream1.Position = 0
Dim sr1 As New StreamReader(htmlStream1)
Dim myStr1 = sr1.ReadToEnd()
sr1.Dispose()
htmlStream1.Dispose()
sw1.Dispose()
Dim HtmlCompleto As String = myStr1
HtmlCompleto = Regex.Replace(HtmlCompleto, "\<[\/]*a[^\>]*\>", "")
Dim asd As String = ""
Dim htmlStream5 = New MemoryStream(options.Encoding.GetBytes(HtmlCompleto))
GemBox.Spreadsheet.SpreadsheetInfo.SetLicense(SerialGemBoxSpreadsheet())
Dim excel As GemBox.Spreadsheet.ExcelFile
excel = GemBox.Spreadsheet.ExcelFile.Load(htmlStream5, options)
If Usuario IsNot Nothing Then
Dim TotalRowHeader As Integer = 8
Dim TotalRowFooter As Integer = 2
Dim worksheet = excel.Worksheets(0)
worksheet.Rows.InsertEmpty(0, TotalRowHeader)
Dim celdasConTexto = worksheet.GetUsedCellRange(True)
celdasConTexto.Style.Font.Name = "Calibri Light"
Dim RangoNombreEmpresa = worksheet.Cells.GetSubrangeAbsolute(1, celdasConTexto.FirstColumnIndex, 1, celdasConTexto.LastColumnIndex)
RangoNombreEmpresa.Merged = True
RangoNombreEmpresa.Value = Usuario.Empresa.Empresa
RangoNombreEmpresa.Style.Font.Size = 18 * 20
RangoNombreEmpresa.Style.Font.Name = "Calibri Light"
RangoNombreEmpresa.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
RangoNombreEmpresa.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
Dim RangoFiltros = worksheet.Cells.GetSubrangeAbsolute(6, celdasConTexto.FirstColumnIndex, 6, celdasConTexto.LastColumnIndex)
RangoFiltros.Merged = True
RangoFiltros.Value = filtros
RangoFiltros.Style.Font.Size = 15 * 20
RangoFiltros.Style.Font.Name = "Calibri Light"
RangoFiltros.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left
RangoFiltros.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
Dim RangoTitulo = worksheet.Cells.GetSubrangeAbsolute(3, celdasConTexto.FirstColumnIndex, 3, celdasConTexto.LastColumnIndex)
RangoTitulo.Merged = True
RangoTitulo.Value = Titulo
RangoTitulo.Style.Font.Size = 20 * 20
RangoTitulo.Style.Font.Name = "Calibri Light"
RangoTitulo.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
RangoTitulo.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex
worksheet.Rows(8).Cells(i).Style.Font.Size = 12 * 20
worksheet.Rows(8).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
worksheet.Rows(8).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
worksheet.Rows(8).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(8).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)
If i > 0 Then
Try
worksheet.Columns(i).AutoFit(1)
Catch ex As Exception
End Try
End If
Next
Dim IndexEndTable As Integer = Gv1.Rows.Count + 4 + TotalRowHeader + TotalRowFooter
worksheet.Rows(IndexEndTable).Cells(0).Value = "Usuario Imprimió"
worksheet.Rows(IndexEndTable + 1).Cells(0).Value = Usuario.Nombre
worksheet.Rows(IndexEndTable).Cells(2).Value = "Fecha Impresión"
worksheet.Rows(IndexEndTable + 1).Cells(2).Value = DateTime.Now.ToString("dd/MM/yyyy")
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", Usuario.Empresa.Ruta))
If Imagen.Exists Then
Dim Ruta As String = String.Format("{0}/Logo.png", Usuario.Empresa.Ruta)
Using sr As New StreamReader(Ruta)
Dim ms As New MemoryStream()
sr.BaseStream.CopyTo(ms)
worksheet.Pictures.Add(ms, ExcelPictureFormat.Png, "A1", AnchoImagen, AlturaImagen, LengthUnit.Pixel)
End Using
End If
End If
Dim memoryStream As New MemoryStream()
excel.Save(memoryStream, SaveOptions.XlsxDefault)
ReporteBytes = memoryStream.ToArray()
memoryStream.Dispose()
End Sub
Protected Sub LnkDescargaReporte_Click(sender As Object, e As EventArgs)
Response.ContentType = "application/force-download"
Response.AppendHeader("Content-Disposition", $"attachment;filename=RegistroRevision{Now.ToString("yyyyMMddmmss")}.xlsx")
Response.BinaryWrite(ReporteBytes)
Response.End()
End Sub
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)
End Sub
#End Region
End Class

View File

@@ -192,6 +192,7 @@
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica1" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica1" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
@@ -199,6 +200,7 @@
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica2" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica2" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
@@ -206,6 +208,7 @@
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica3" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica3" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
@@ -213,6 +216,7 @@
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica4" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica4" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
@@ -220,6 +224,7 @@
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica5" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica5" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
@@ -227,6 +232,7 @@
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica6" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica6" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
@@ -234,6 +240,7 @@
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica7" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica7" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
@@ -241,6 +248,7 @@
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica8" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica8" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
@@ -248,6 +256,7 @@
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica9" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica9" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
@@ -255,6 +264,7 @@
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica10" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica10" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
@@ -262,6 +272,7 @@
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica11" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica11" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
@@ -269,24 +280,28 @@
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica12" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica12" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica13" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica13" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica14" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica14" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemStyle Width="90px" />
<ItemTemplate>
<asp:TextBox ID="TxtMetrica15" runat="server"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica15" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
</ItemTemplate>
</asp:TemplateField>

View File

@@ -226,9 +226,9 @@ Partial Class AF_RegistroRevision
Dim x As Integer = 0
For x = 0 To limite
Dim valor As String = GvRow.FCTextBox($"TxtMetrica{x + 1}").Text
Dim valor As Decimal = GvRow.FCTextBox($"TxtMetrica{x + 1}").Text.ToDecimal
valor = If(valor.Trim.Length = 0, "0", valor)
' valor = If(valor.Trim.Length = 0, "0", valor)
If ObjAF.AddMetricasValoresDetalle(CveMetricaValor, DT_Cabeceras(x)("CveMetrica").ToString.ToEntero, valor) Then
ErrorProceso = False
Else

View File

@@ -121,7 +121,7 @@
<div class="form-group form-md-line-input input-iconright" style="width:500px!important">
<label for="DdlProveedores" >Proveedor:</label>
<ADS:Dropdownlost ID="DdlProveedores" runat="server" CssStyle="width: 100%;" Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor" ></ADS:Dropdownlost>
<ADS:Dropdownlost ID="DdlProveedores" runat="server" CssStyle="width: 100%;" Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor" Onselectedindexchange="DdlProveedores_selectedindexchange" ></ADS:Dropdownlost>
<i></i>

View File

@@ -799,7 +799,7 @@
</ajax:TabPanel>
<%---2020/02/06 - Auditoria--%>
<ajax:TabPanel ID="TabAuditoria" runat="server" HeaderText="<i class='fa fa-search'></i> Auditoría" Visible="True">
<ajax:TabPanel ID="TabAuditoria" runat="server" HeaderText="<i class='fa fa-search'></i> Auditoría">
<ContentTemplate>
<asp:UpdatePanel ID="UpTabAuditoria" runat="server" UpdateMode="Conditional">

View File

@@ -72,9 +72,12 @@ Partial Class Ventas_CatClasificaciones2
Public Sub CargaDatosS()
Dim ObjClasificaciones As New ClsClasificaciones
If ObjClasificaciones.GetClasificaciones(-1, 4) Then
GlobalDTClasificaciones2 = ObjClasificaciones.DtResultados
If ObjClasificaciones.GetClasificaciones(UsuarioActual.CveEmpresa, 4) Then
GlobalDTClasificaciones2(UsuarioActual.CveEmpresa) = ObjClasificaciones.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
ViewState("DTClasificacion2") = GlobalDTClasificaciones2(UsuarioActual.CveEmpresa)
Else
GvDatosS.DataSource = Nothing
End If
@@ -186,6 +189,7 @@ Partial Class Ventas_CatClasificaciones2
If ObjClasificaciones.AddClasificaciones(TxtClasificacionS.Text.Trim, "",
-1, "", -1, "", -1, "",
DdlCategoriaS.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, RequiereAFCompra:=False, RequiereAFInsumo:=False, RequierePersonal:=False) Then
'DdlCuentaGastoS.SelectedValue.ToEntero, DdlCuentaGastoS.SelectedItem.Text,
'DdlCuentaAnticipoS.SelectedValue.ToEntero, DdlCuentaAnticipoS.SelectedItem.Text,
'DdlCuentaInventarioS.SelectedValue.ToEntero, DdlCuentaInventarioS.SelectedItem.Text,
@@ -194,8 +198,9 @@ Partial Class Ventas_CatClasificaciones2
UpTitulosS.Update()
If ObjClasificaciones.GetClasificaciones(-1, 4) Then
GlobalDTClasificaciones2(UsuarioActual.CveEmpresa) = Nothing
ViewState("DTClasificacion2") = ObjClasificaciones.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
GlobalDTClasificaciones2 = ObjClasificaciones.DtResultados
GlobalDTClasificaciones2(UsuarioActual.CveEmpresa) = ObjClasificaciones.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
End If
'DdlCuentaGastoS.SelectedValue = "-1"
@@ -284,11 +289,12 @@ Partial Class Ventas_CatClasificaciones2
End Sub
Protected Sub GvDatosS_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvDatosS.RowDeleting
Dim ObjClasificaciones As New ClsClasificaciones
If ObjClasificaciones.RemoveClasificacion(GvDatosS.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then
GvDatosS.EditIndex = -1
If ObjClasificaciones.GetClasificaciones(-1, 4) Then
ViewState("DTClasificacion2") = ObjClasificaciones.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
GlobalDTClasificaciones2 = ObjClasificaciones.DtResultados
GlobalDTClasificaciones2(UsuarioActual.CveEmpresa) = ObjClasificaciones.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
End If
Alert("La Clasificacion se eliminó correctamente.", TipoMensaje.MsgInformacion)
End If

View File

@@ -111,7 +111,7 @@ Partial Class ProductosyServicios
Private ReadOnly Property PermiteClasificacion2 As Boolean
Get
Return (UsuarioActual.CveEmpresa.Contiene(72, 80))
Return (UsuarioActual.CveEmpresa.Contiene(1, 72, 80))
End Get
End Property
@@ -1164,7 +1164,7 @@ Partial Class ProductosyServicios
End If
Dim CveMarca As Integer = 0
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) Then CveMarca = DdlMarcaPSDes.SelectedValue.ToEntero Else CveMarca = DdlMarca.SelectedValue.ToEntero
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) And CvePS = -1 Then CveMarca = DdlMarcaPSDes.SelectedValue.ToEntero Else CveMarca = DdlMarca.SelectedValue.ToEntero
If CvePS = -1 Then
Dim PSS As String = TxtPS.Text.Trim.Replace("|", "")
@@ -1656,11 +1656,13 @@ Partial Class ProductosyServicios
Protected Sub CargarMarcas()
If UsuarioActual.Empresa.Funcionalidad(130) = "1" Then
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) And CvePS = -1 Then
DivMarcaPSDes.Visible = True
Else
DivMarca.Visible = True
End If
Dim ObjMarcas As New ClsProductosServicios
ObjMarcas.GetMarcas(UsuarioActual.CveEmpresa)
DdlMarca.DataSource = ObjMarcas.DtResultados