Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -2882,7 +2882,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-2">Almacén:</div>
|
<div class="col-md-2">Almacén:</div>
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<asp:DropDownList ID="DdlAFInvAlmacen" DataTextField="Almacen" DataValueField="CveAlmacen" CssClass="select2me" AppendDataBoundItems="true" runat="server" Width="200px"></asp:DropDownList>
|
<asp:DropDownList ID="DdlAFInvAlmacen" DataTextField="Almacen" DataValueField="CveAlmacen" CssClass="select2me" AppendDataBoundItems="true" runat="server" Width="200px" ToolTip="Solo se muestran almacenes de Tipo: Material y Activo Fijo"></asp:DropDownList>
|
||||||
<asp:RequiredFieldValidator ID="RFVAFInvAlmacen" runat="server" ControlToValidate="DdlAFInvAlmacen" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Almacén''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpAFInv"></asp:RequiredFieldValidator>
|
<asp:RequiredFieldValidator ID="RFVAFInvAlmacen" runat="server" ControlToValidate="DdlAFInvAlmacen" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Almacén''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpAFInv"></asp:RequiredFieldValidator>
|
||||||
<ajax:ValidatorCalloutExtender ID="VCEAFInvAlmacen" runat="server" HighlightCssClass="vco" TargetControlID="RFVAFInvAlmacen" Width="300px"></ajax:ValidatorCalloutExtender>
|
<ajax:ValidatorCalloutExtender ID="VCEAFInvAlmacen" runat="server" HighlightCssClass="vco" TargetControlID="RFVAFInvAlmacen" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -537,7 +537,7 @@ Partial Class AF_AF
|
|||||||
|
|
||||||
HLAFInv.Visible = True
|
HLAFInv.Visible = True
|
||||||
|
|
||||||
Dim StrAlmacenes As String = "CveTipoAlmacen IN (1,2,12)"
|
Dim StrAlmacenes As String = "CveTipoAlmacen IN (1,15)"
|
||||||
DdlAFInvAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, CveEmpresaActual, CveTipoAlmacen:=-1).FiltraParametros(StrAlmacenes)
|
DdlAFInvAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, CveEmpresaActual, CveTipoAlmacen:=-1).FiltraParametros(StrAlmacenes)
|
||||||
DdlAFInvAlmacen.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
|
DdlAFInvAlmacen.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
|
||||||
DdlAFInvAlmacen.SelectedValue = "-1"
|
DdlAFInvAlmacen.SelectedValue = "-1"
|
||||||
|
|||||||
76
AF/CatTiposServicios.aspx
Normal file
76
AF/CatTiposServicios.aspx
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
<%@ Page Title="AF - Catálogo de Tipos de Servicio" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="CatTiposServicios.aspx.cs" Inherits="AF_CatTiposServicios" %>
|
||||||
|
|
||||||
|
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
|
||||||
|
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
|
||||||
|
Catálogo de Tipos de Servicios
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||||
|
<asp:UpdatePanel runat="server" ID="UpAgregar">
|
||||||
|
<ContentTemplate>
|
||||||
|
<li>
|
||||||
|
<asp:LinkButton runat="server" ID="BtnAgregarTipoServicioD" OnClick="BtnAgregarTipoServicioD_Click" data-toggle="tooltip" data-placement="left" title="Agregar un Defecto" Text="<i class='fa fa-plus'></i>Agregar Tipo de Servicio"></asp:LinkButton>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
|
||||||
|
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveTipoServicio, Nombre, CveTipoMantenimiento, TipoMantenimiento, Usuario" EmptyDataText="No se encontraron Tipo Gasto" ToolTip="Listado de Tipo Gasto " CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; width: 100%" GridLines="None">
|
||||||
|
<Columns>
|
||||||
|
<asp:BoundField HeaderText="Nombre" DataField="Nombre" />
|
||||||
|
<asp:BoundField HeaderText="Tipo Mantenimiento" DataField="TipoMantenimiento" />
|
||||||
|
<asp:TemplateField ItemStyle-Width="13%" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Left" HeaderText="Editar">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:LinkButton ID="LnkEditar" OnClick="LnkEditar_Click" runat="server" Visible="true" AlternateText="Subir" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i title='Editar' class='fa fa-pencil' title='Editar' ></i>" />
|
||||||
|
<asp:LinkButton ID="LnkEliminar" OnClick="LnkEliminar_Click" runat="server" Visible="true" AlternateText="Reasignar" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i title='Reasignar' class='icon-trash' title='Eliminar' ></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="DivAgregarTiposServiciosD" class="modal ADS fade" role="dialog">
|
||||||
|
<div class="modal-dialog" style="width: 450px;">
|
||||||
|
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalTiposD" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
<div class="modal-header ">
|
||||||
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||||
|
<h4 class="modal-title">
|
||||||
|
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Tipo de Servicio</asp:Literal></h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox ID="TxtNombre" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
|
||||||
|
<asp:RequiredFieldValidator ID="RfvTxtNombre" runat="server" ControlToValidate="TxtNombre" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Nombre''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
|
||||||
|
<label for="LblNombre">Nombre:</label>
|
||||||
|
<i></i>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlTipoMantenimiento" DataTextField="TipoMantenimiento" DataValueField="CveTipoMantenimiento" CausesValidation="true" runat="server" Width="100%" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
|
||||||
|
<label for="<%= DdlTipoMantenimiento.ClientID.ToString()%>">Tipo Mantenimiento:</label>
|
||||||
|
<asp:RequiredFieldValidator ID="RFVTipoMantenimiento" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlTipoMantenimiento" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo Mantenimiento''</b> es necesario." InitialValue="-1" ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="modal-footer">
|
||||||
|
<asp:Button ID="BtnAgregarTipoServicio" OnClick="BtnAgregarTipoServicio_Click" runat="server" class="btn btn-success" Text="Agregar" ValidationGroup="GrpTiposD" />
|
||||||
|
<button id="Button3" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
111
AF/CatTiposServicios.aspx.cs
Normal file
111
AF/CatTiposServicios.aspx.cs
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.UI;
|
||||||
|
using System.Web.UI.WebControls;
|
||||||
|
using Extensiones;
|
||||||
|
using System.Data;
|
||||||
|
|
||||||
|
public partial class AF_CatTiposServicios : ClsPaginas
|
||||||
|
{
|
||||||
|
private int CveTipoServicio
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return ViewState["CveTipoServicio"].ToString().ToEntero();
|
||||||
|
}
|
||||||
|
|
||||||
|
set
|
||||||
|
{
|
||||||
|
ViewState["CveTipoServicio"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!IsPostBack)
|
||||||
|
{
|
||||||
|
CargaDatos();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CargaDatos()
|
||||||
|
{
|
||||||
|
ClsAF ObjAF = new ClsAF();
|
||||||
|
if (ObjAF.GetTiposServicios(-1, -1, -1, UsuarioActual.CveEmpresa))
|
||||||
|
{
|
||||||
|
GvDatos.DataSource = ObjAF.DtResultados;
|
||||||
|
GvDatos.DataBind();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ObjAF.GetTiposMantenimiento(-1))
|
||||||
|
{
|
||||||
|
DdlTipoMantenimiento.DataSource = ObjAF.DtResultados;
|
||||||
|
DdlTipoMantenimiento.DataBind();
|
||||||
|
}
|
||||||
|
ObjAF.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void BtnAgregarTipoServicioD_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
BtnAgregarTipoServicio.Text = "Agregar";
|
||||||
|
TxtNombre.Text = "";
|
||||||
|
DdlTipoMantenimiento.SelectedValueExist(-1);
|
||||||
|
UpModalTiposD.Update();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposServiciosD"));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void LnkEditar_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
BtnAgregarTipoServicio.Text = "Actualizar";
|
||||||
|
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
|
||||||
|
CveTipoServicio = GvRow.DataKey("CveTipoServicio").ToEntero();
|
||||||
|
TxtNombre.Text = GvRow.DataKey("Nombre");
|
||||||
|
DdlTipoMantenimiento.SelectedValueExist(GvRow.DataKey("CveTipoMantenimiento"));
|
||||||
|
UpModalTiposD.Update();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposServiciosD"));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void LnkEliminar_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
|
||||||
|
CveTipoServicio = GvRow.DataKey("CveTipoServicio").ToEntero();
|
||||||
|
ClsAF ObjAF = new ClsAF();
|
||||||
|
if (ObjAF.DeleteTiposServicios(CveTipoServicio))
|
||||||
|
{
|
||||||
|
CargaDatos();
|
||||||
|
UpDatos.Update();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD"));
|
||||||
|
Alert("Se eliminó el Tipo de Gasto correctamente");
|
||||||
|
}
|
||||||
|
ObjAF.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void BtnAgregarTipoServicio_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ClsAF ObjAF = new ClsAF();
|
||||||
|
if (BtnAgregarTipoServicio.Text == "Agregar")
|
||||||
|
{
|
||||||
|
if (ObjAF.AddTiposServicios(TxtNombre.Text,DdlTipoMantenimiento.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
|
||||||
|
{
|
||||||
|
CargaDatos();
|
||||||
|
UpDatos.Update();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD"));
|
||||||
|
Alert("Se agregó el Tipo de Gasto correctamente");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (ObjAF.UpdateTiposServicios(CveTipoServicio, TxtNombre.Text, DdlTipoMantenimiento.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
|
||||||
|
{
|
||||||
|
CargaDatos();
|
||||||
|
UpDatos.Update();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD"));
|
||||||
|
Alert("Se actualizó el Tipo de Gasto correctamente");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ObjAF.Dispose();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD"));
|
||||||
|
}
|
||||||
|
}
|
||||||
84
AF/CatTiposServiciosActividades.aspx
Normal file
84
AF/CatTiposServiciosActividades.aspx
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
<%@ Page Title="AF - Catálogo de Actividades de Tipos de Servicio" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="CatTiposServiciosActividades.aspx.cs" Inherits="AF_CatTiposServiciosActividades" %>
|
||||||
|
|
||||||
|
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
|
||||||
|
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
|
||||||
|
Catálogo de Actividades de Tipos de Servicio
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||||
|
<asp:UpdatePanel runat="server" ID="UpAgregar">
|
||||||
|
<ContentTemplate>
|
||||||
|
<li>
|
||||||
|
<asp:LinkButton runat="server" ID="BtnAgregarTipoServicioD" OnClick="BtnAgregarTipoServicioD_Click" data-toggle="tooltip" data-placement="left" title="Agregar un Defecto" Text="<i class='fa fa-plus'></i>Agregar una Actividad"></asp:LinkButton>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
|
||||||
|
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveTipoServicioActividad,CveActividad,Nombre,Duracion,Observaciones" EmptyDataText="No se encontraron Tipo Gasto" ToolTip="Listado de Tipo Gasto " CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; width: 100%" GridLines="None">
|
||||||
|
<Columns>
|
||||||
|
<asp:BoundField HeaderText="Actividad" DataField="Nombre" />
|
||||||
|
<asp:BoundField HeaderText="Duracion" DataField="Duracion" />
|
||||||
|
<asp:BoundField HeaderText="Observaciones" DataField="Observaciones" />
|
||||||
|
<asp:TemplateField ItemStyle-Width="13%" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Left" HeaderText="Editar">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:LinkButton ID="LnkEditar" OnClick="LnkEditar_Click" runat="server" Visible="true" AlternateText="Subir" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i title='Editar' class='fa fa-pencil' title='Editar' ></i>" />
|
||||||
|
<asp:LinkButton ID="LnkEliminar" OnClick="LnkEliminar_Click" runat="server" Visible="true" AlternateText="Reasignar" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i title='Reasignar' class='icon-trash' title='Eliminar' ></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="DivAgregarTiposServiciosActividadesD" class="modal ADS fade" role="dialog">
|
||||||
|
<div class="modal-dialog" style="width: 450px;">
|
||||||
|
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalTiposD" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
<div class="modal-header ">
|
||||||
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||||
|
<h4 class="modal-title">
|
||||||
|
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Actividad de Tipo de Servicio</asp:Literal></h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlActividades" DataTextField="Nombre" DataValueField="CveActividad" CausesValidation="true" runat="server" Width="100%" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
|
||||||
|
<label for="<%= DdlActividades.ClientID.ToString()%>">Actividad:</label>
|
||||||
|
<asp:RequiredFieldValidator ID="RFVDdlActividades" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlActividades" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Actividad''</b> es necesario." InitialValue="-1" ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox ID="TxtDuracion" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
|
||||||
|
<asp:RequiredFieldValidator ID="RfvTxtDuracion" runat="server" ControlToValidate="TxtDuracion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Duración''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
|
||||||
|
<label for="LblDuracion">Duración:</label>
|
||||||
|
<i></i>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox ID="TxtObservaciones" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
|
||||||
|
<asp:RequiredFieldValidator ID="RfvTxtObservaciones" runat="server" ControlToValidate="TxtObservaciones" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Observacioens''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
|
||||||
|
<label for="LblObservacion">Observaciones:</label>
|
||||||
|
<i></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="modal-footer">
|
||||||
|
<asp:Button ID="BtnAgregarTipoServicio" OnClick="BtnAgregarTipoServicio_Click" runat="server" class="btn btn-success" Text="Agregar" ValidationGroup="GrpTiposD" />
|
||||||
|
<button id="Button3" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
109
AF/CatTiposServiciosActividades.aspx.cs
Normal file
109
AF/CatTiposServiciosActividades.aspx.cs
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.UI;
|
||||||
|
using System.Web.UI.WebControls;
|
||||||
|
using Extensiones;
|
||||||
|
using System.Data;
|
||||||
|
|
||||||
|
public partial class AF_CatTiposServiciosActividades : ClsPaginas
|
||||||
|
{
|
||||||
|
private int CveTipoServicioActividad
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return ViewState["CveTipoServicioActividad"].ToString().ToEntero();
|
||||||
|
}
|
||||||
|
|
||||||
|
set
|
||||||
|
{
|
||||||
|
ViewState["CveTipoServicioActividad"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!IsPostBack)
|
||||||
|
{
|
||||||
|
CargaDatos();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CargaDatos()
|
||||||
|
{
|
||||||
|
ClsAF ObjAF = new ClsAF();
|
||||||
|
if (ObjAF.GetTiposServiciosActividades(-1, -1))
|
||||||
|
{
|
||||||
|
GvDatos.DataSource = ObjAF.DtResultados;
|
||||||
|
GvDatos.DataBind();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ObjAF.GetActividades(-1,-1,-1,UsuarioActual.CveEmpresa))
|
||||||
|
{
|
||||||
|
DdlActividades.DataSource = ObjAF.DtResultados;
|
||||||
|
DdlActividades.DataBind();
|
||||||
|
}
|
||||||
|
ObjAF.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void BtnAgregarTipoServicioD_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
BtnAgregarTipoServicio.Text = "Agregar";
|
||||||
|
TxtDuracion.Text = "";
|
||||||
|
TxtObservaciones.Text = "";
|
||||||
|
DdlActividades.SelectedValueExist(-1);
|
||||||
|
UpModalTiposD.Update();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposServiciosActividadesD"));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void LnkEditar_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
BtnAgregarTipoServicio.Text = "Actualizar";
|
||||||
|
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
|
||||||
|
CveTipoServicioActividad = GvRow.DataKey("CveTipoServicioActividad").ToEntero();
|
||||||
|
TxtDuracion.Text = GvRow.DataKey("Duracion");
|
||||||
|
TxtObservaciones.Text = GvRow.DataKey("Observaciones");
|
||||||
|
DdlActividades.SelectedValueExist(GvRow.DataKey("CveActividad"));
|
||||||
|
UpModalTiposD.Update();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposServiciosActividadesD"));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void LnkEliminar_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
|
||||||
|
CveTipoServicioActividad = GvRow.DataKey("CveTipoServicioActividad").ToEntero();
|
||||||
|
ClsAF ObjAF = new ClsAF();
|
||||||
|
if (ObjAF.DeleteTiposServiciosActividades(CveTipoServicioActividad))
|
||||||
|
{
|
||||||
|
CargaDatos();
|
||||||
|
UpDatos.Update();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposServiciosActividadesD"));
|
||||||
|
Alert("Se eliminó la Actividad del Tipo de Servicio correctamente");
|
||||||
|
}
|
||||||
|
ObjAF.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void BtnAgregarTipoServicio_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ClsAF ObjAF = new ClsAF();
|
||||||
|
if (BtnAgregarTipoServicio.Text == "Agregar")
|
||||||
|
{
|
||||||
|
if (ObjAF.AddTiposServiciosActividades(DdlActividades.SelectedValue.ToEntero(),TxtDuracion.Text.ToEntero(),TxtObservaciones.Text))
|
||||||
|
{
|
||||||
|
Alert("Se agregó la Actividad del Tipo de Servicio correctamente");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (ObjAF.UpdateTiposServiciosActividades(CveTipoServicioActividad,DdlActividades.SelectedValue.ToEntero(),TxtDuracion.Text.ToEntero(),TxtObservaciones.Text))
|
||||||
|
{
|
||||||
|
Alert("Se actualizó la Actividad del Tipo de Servicio correctamente");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ObjAF.Dispose();
|
||||||
|
CargaDatos();
|
||||||
|
UpDatos.Update();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposServiciosActividadesD"));
|
||||||
|
}
|
||||||
|
}
|
||||||
98
AF/CatTiposServiciosMateriales.aspx
Normal file
98
AF/CatTiposServiciosMateriales.aspx
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
<%@ Page Title="AF - Catálogo de Materiales de Tipos de Servicio" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="CatTiposServiciosMateriales.aspx.cs" Inherits="AF_CatTiposServiciosMateriales" %>
|
||||||
|
|
||||||
|
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
|
||||||
|
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
|
||||||
|
Catálogo de Materiales de Tipos de Servicio
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||||
|
<asp:UpdatePanel runat="server" ID="UpAgregar">
|
||||||
|
<ContentTemplate>
|
||||||
|
<li>
|
||||||
|
<asp:LinkButton runat="server" ID="BtnAgregarTipoServicioD" OnClick="BtnAgregarTipoServicioD_Click" data-toggle="tooltip" data-placement="left" title="Agregar un Defecto" Text="<i class='fa fa-plus'></i>Agregar un Material de Tipo de Servicio"></asp:LinkButton>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
|
||||||
|
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveTipoServicioMaterial,CveTipoServicio,Nombre,Cantidad,CveUM,UnidadMedida,CvePS,PS,Tipo" EmptyDataText="No se encontraron Tipo Gasto" ToolTip="Listado de Tipo Gasto " CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; width: 100%" GridLines="None">
|
||||||
|
<Columns>
|
||||||
|
<asp:BoundField HeaderText="Actividad" DataField="Nombre" />
|
||||||
|
<asp:BoundField HeaderText="Cantidad" DataField="Cantidad" />
|
||||||
|
<asp:BoundField HeaderText="UnidadMedida" DataField="UnidadMedida" />
|
||||||
|
<asp:BoundField HeaderText="PS" DataField="PS" />
|
||||||
|
<asp:BoundField HeaderText="Tipo" DataField="Tipo" />
|
||||||
|
<asp:TemplateField ItemStyle-Width="13%" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Left" HeaderText="Editar">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:LinkButton ID="LnkEditar" OnClick="LnkEditar_Click" runat="server" Visible="true" AlternateText="Subir" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i title='Editar' class='fa fa-pencil' title='Editar' ></i>" />
|
||||||
|
<asp:LinkButton ID="LnkEliminar" OnClick="LnkEliminar_Click" runat="server" Visible="true" AlternateText="Reasignar" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i title='Reasignar' class='icon-trash' title='Eliminar' ></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="DivAgregarTiposServiciosMaterialD" class="modal ADS fade" role="dialog">
|
||||||
|
<div class="modal-dialog" style="width: 450px;">
|
||||||
|
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalTiposD" UpdateMode="Conditional">
|
||||||
|
<ContentTemplate>
|
||||||
|
<div class="modal-header ">
|
||||||
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||||
|
<h4 class="modal-title">
|
||||||
|
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Material de Tipo de Servicio</asp:Literal></h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlTipoServicio" DataTextField="Nombre" DataValueField="CveTipoServicio" CausesValidation="true" runat="server" Width="100%" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
|
||||||
|
<label for="<%= DdlTipoServicio.ClientID.ToString()%>">Tipo Servicio:</label>
|
||||||
|
<asp:RequiredFieldValidator ID="RFVDdlTipoServicio" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlTipoServicio" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo Servicio''</b> es necesario." InitialValue="-1" ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox ID="TxtCantidad" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
|
||||||
|
<asp:RequiredFieldValidator ID="RfvTxtCantidad" runat="server" ControlToValidate="TxtCantidad" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
|
||||||
|
<label for="TxtCantidad">Cantidad:</label>
|
||||||
|
<i></i>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlUM" DataTextField="UnidadMedida" DataValueField="CveUnidadMedida" CausesValidation="true" runat="server" Width="100%" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
|
||||||
|
<label for="<%= DdlUM.ClientID.ToString()%>">Unidad de Medida:</label>
|
||||||
|
<asp:RequiredFieldValidator ID="RfvDdlUM" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlUM" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Unidad de Medida''</b> es necesario." InitialValue="-1" ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:DropDownList ID="DdlPS" DataTextField="PS" DataValueField="CvePS" CausesValidation="true" runat="server" Width="100%" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
|
||||||
|
<label for="<%= DdlPS.ClientID.ToString()%>">Producto Servicio:</label>
|
||||||
|
<asp:RequiredFieldValidator ID="RfvDdlPS" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlPS" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Producto Servicio''</b> es necesario." InitialValue="-1" ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox ID="TxtTipo" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
|
||||||
|
<asp:RequiredFieldValidator ID="RfvTxtTipo" runat="server" ControlToValidate="TxtTipo" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
|
||||||
|
<label for="TxtTipo">Tipo:</label>
|
||||||
|
<i></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="modal-footer">
|
||||||
|
<asp:Button ID="BtnAgregarTipoServicio" OnClick="BtnAgregarTipoServicio_Click" runat="server" class="btn btn-success" Text="Agregar" ValidationGroup="GrpTiposD" />
|
||||||
|
<button id="Button3" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</ContentTemplate>
|
||||||
|
</asp:UpdatePanel>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||||
|
</asp:Content>
|
||||||
120
AF/CatTiposServiciosMateriales.aspx.cs
Normal file
120
AF/CatTiposServiciosMateriales.aspx.cs
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.UI;
|
||||||
|
using System.Web.UI.WebControls;
|
||||||
|
using Extensiones;
|
||||||
|
using System.Data;
|
||||||
|
|
||||||
|
public partial class AF_CatTiposServiciosMateriales : ClsPaginas
|
||||||
|
{
|
||||||
|
private int CveTipoServicioMaterial
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return ViewState["CveTipoServicioMaterial"].ToString().ToEntero();
|
||||||
|
}
|
||||||
|
|
||||||
|
set
|
||||||
|
{
|
||||||
|
ViewState["CveTipoServicioMaterial"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void Page_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!IsPostBack)
|
||||||
|
{
|
||||||
|
CargaDatos();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CargaDatos()
|
||||||
|
{
|
||||||
|
ClsAF ObjAF = new ClsAF();
|
||||||
|
if (ObjAF.GetTiposServiciosMaterial(-1, -1))
|
||||||
|
{
|
||||||
|
GvDatos.DataSource = ObjAF.DtResultados;
|
||||||
|
GvDatos.DataBind();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ObjAF.GetTiposServicios(-1, -1,-1,UsuarioActual.CveEmpresa))
|
||||||
|
{
|
||||||
|
DdlTipoServicio.DataSource = ObjAF.DtResultados;
|
||||||
|
DdlTipoServicio.DataBind();
|
||||||
|
}
|
||||||
|
|
||||||
|
DdlUM.DataSource = get_GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa);
|
||||||
|
DdlUM.DataBind();
|
||||||
|
|
||||||
|
DdlPS.DataSource = get_GlobalDTPS(UsuarioActual.CveEmpresa);
|
||||||
|
DdlPS.DataBind();
|
||||||
|
|
||||||
|
ObjAF.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void BtnAgregarTipoServicioD_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
BtnAgregarTipoServicio.Text = "Agregar";
|
||||||
|
TxtCantidad.Text = "";
|
||||||
|
TxtTipo.Text = "";
|
||||||
|
DdlTipoServicio.SelectedValueExist(-1);
|
||||||
|
DdlUM.SelectedValueExist(-1);
|
||||||
|
DdlPS.SelectedValueExist(-1);
|
||||||
|
UpModalTiposD.Update();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposServiciosMaterialD"));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void LnkEditar_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
BtnAgregarTipoServicio.Text = "Actualizar";
|
||||||
|
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
|
||||||
|
CveTipoServicioMaterial = GvRow.DataKey("CveTipoServicioMaterial").ToEntero();
|
||||||
|
TxtCantidad.Text = GvRow.DataKey("Cantidad");
|
||||||
|
TxtTipo.Text = GvRow.DataKey("Tipo");
|
||||||
|
DdlTipoServicio.SelectedValueExist(GvRow.DataKey("CveTipoServicio"));
|
||||||
|
DdlPS.SelectedValueExist(GvRow.DataKey("CvePS"));
|
||||||
|
DdlUM.SelectedValueExist(GvRow.DataKey("CveUM"));
|
||||||
|
UpModalTiposD.Update();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposServiciosMaterialD"));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void LnkEliminar_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
|
||||||
|
CveTipoServicioMaterial = GvRow.DataKey("CveTipoServicioMaterial").ToEntero();
|
||||||
|
ClsAF ObjAF = new ClsAF();
|
||||||
|
if (ObjAF.DeleteTiposServiciosMaterial(CveTipoServicioMaterial))
|
||||||
|
{
|
||||||
|
CargaDatos();
|
||||||
|
UpDatos.Update();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposServiciosMaterialD"));
|
||||||
|
Alert("Se eliminó el Material del Tipo de Servicio correctamente");
|
||||||
|
}
|
||||||
|
ObjAF.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void BtnAgregarTipoServicio_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ClsAF ObjAF = new ClsAF();
|
||||||
|
if (BtnAgregarTipoServicio.Text == "Agregar")
|
||||||
|
{
|
||||||
|
if (ObjAF.AddTiposServiciosMaterial(DdlTipoServicio.SelectedValue.ToEntero(),TxtCantidad.Text.ToDecimal(),DdlUM.SelectedValue.ToEntero(),DdlPS.SelectedValue.ToEntero(),TxtTipo.Text.ToEntero()))
|
||||||
|
{
|
||||||
|
Alert("Se agregó el Material del Tipo de servicio correctamente");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (ObjAF.UpdateTiposServiciosMaterial(CveTipoServicioMaterial, DdlTipoServicio.SelectedValue.ToEntero(), TxtCantidad.Text.ToDecimal(), DdlUM.SelectedValue.ToEntero(), DdlPS.SelectedValue.ToEntero(), TxtTipo.Text.ToEntero()))
|
||||||
|
{
|
||||||
|
Alert("Se actualizó el Material del Tipo de servicio correctamente");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ObjAF.Dispose();
|
||||||
|
CargaDatos();
|
||||||
|
UpDatos.Update();
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposServiciosMaterialD"));
|
||||||
|
}
|
||||||
|
}
|
||||||
384
AF/OrdenServicio.aspx
Normal file
384
AF/OrdenServicio.aspx
Normal 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">×</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
437
AF/OrdenServicio.aspx.vb
Normal 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
|
||||||
@@ -192,6 +192,7 @@
|
|||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica1" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica1" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica1" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
@@ -199,6 +200,7 @@
|
|||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica2" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica2" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica2" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
@@ -206,6 +208,7 @@
|
|||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica3" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica3" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica3" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
@@ -213,6 +216,7 @@
|
|||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica4" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica4" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica4" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
@@ -220,6 +224,7 @@
|
|||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica5" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica5" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica5" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
@@ -227,6 +232,7 @@
|
|||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica6" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica6" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica6" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
@@ -234,6 +240,7 @@
|
|||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica7" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica7" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica7" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
@@ -241,6 +248,7 @@
|
|||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica8" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica8" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica8" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
@@ -248,6 +256,7 @@
|
|||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica9" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica9" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica9" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
@@ -255,6 +264,7 @@
|
|||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica10" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica10" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica10" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
@@ -262,6 +272,7 @@
|
|||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica11" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica11" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica11" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
@@ -269,24 +280,28 @@
|
|||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica12" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica12" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica12" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField >
|
<asp:TemplateField >
|
||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica13" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica13" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica13" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField >
|
<asp:TemplateField >
|
||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica14" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica14" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica14" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField >
|
<asp:TemplateField >
|
||||||
<ItemStyle Width="90px" />
|
<ItemStyle Width="90px" />
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtMetrica15" runat="server"></asp:TextBox>
|
<asp:TextBox ID="TxtMetrica15" runat="server"></asp:TextBox>
|
||||||
|
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtMetrica15" FilterType="Numbers,Custom" FilterMode="ValidChars" ValidChars="0123456789." />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
|
|||||||
@@ -226,9 +226,9 @@ Partial Class AF_RegistroRevision
|
|||||||
Dim x As Integer = 0
|
Dim x As Integer = 0
|
||||||
|
|
||||||
For x = 0 To limite
|
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
|
If ObjAF.AddMetricasValoresDetalle(CveMetricaValor, DT_Cabeceras(x)("CveMetrica").ToString.ToEntero, valor) Then
|
||||||
ErrorProceso = False
|
ErrorProceso = False
|
||||||
Else
|
Else
|
||||||
|
|||||||
@@ -3433,7 +3433,7 @@ Public Class ClsAF
|
|||||||
Return Retorno
|
Return Retorno
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function AddMetricasValoresDetalle(Optional CveMetricaValor As Integer = -1, Optional CveMetrica As Integer = -1, Optional Valor As String = "-1") As Boolean
|
Public Function AddMetricasValoresDetalle(CveMetricaValor As Integer, CveMetrica As Integer, Valor As Decimal) As Boolean
|
||||||
Dim Retorno As Boolean = False
|
Dim Retorno As Boolean = False
|
||||||
|
|
||||||
DataAdapter("PA_AF_MetricasValoresDetalleAdd")
|
DataAdapter("PA_AF_MetricasValoresDetalleAdd")
|
||||||
@@ -3441,7 +3441,7 @@ Public Class ClsAF
|
|||||||
With SqlAdapter.SelectCommand.Parameters
|
With SqlAdapter.SelectCommand.Parameters
|
||||||
.Add("@CveMetricaValor", SqlDbType.Int).Value = CveMetricaValor
|
.Add("@CveMetricaValor", SqlDbType.Int).Value = CveMetricaValor
|
||||||
.Add("@CveMetrica", SqlDbType.Int).Value = CveMetrica
|
.Add("@CveMetrica", SqlDbType.Int).Value = CveMetrica
|
||||||
.Add("@Valor", SqlDbType.VarChar).Value = Valor
|
.Add("@Valor", SqlDbType.Decimal).Value = Valor
|
||||||
End With
|
End With
|
||||||
|
|
||||||
Try
|
Try
|
||||||
@@ -3733,6 +3733,48 @@ Public Class ClsAF
|
|||||||
|
|
||||||
Return Retorno
|
Return Retorno
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Function GetTiposMantenimiento(CveTipoMantenimiento As Integer) As Boolean
|
||||||
|
Dim Retorno As Boolean = False
|
||||||
|
|
||||||
|
DataAdapter("PA_AF_TiposMantenimientoGet")
|
||||||
|
|
||||||
|
With SqlAdapter.SelectCommand.Parameters
|
||||||
|
.Add("@CveTipoMantenimiento", SqlDbType.Int).Value = CveTipoMantenimiento
|
||||||
|
End With
|
||||||
|
|
||||||
|
Try
|
||||||
|
SqlAdapter.Fill(Data)
|
||||||
|
Retorno = True
|
||||||
|
Catch ex As Exception
|
||||||
|
OnError("Ocurrió un error al obtener los tipos de mantenimiento.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function GetActividades(CveActividad As Integer, CvePuesto As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
|
||||||
|
Dim Retorno As Boolean = False
|
||||||
|
|
||||||
|
DataAdapter("PA_AF_ActividadesGet")
|
||||||
|
|
||||||
|
With SqlAdapter.SelectCommand.Parameters
|
||||||
|
.Add("@CveActividad", SqlDbType.Int).Value = CveActividad
|
||||||
|
.Add("@CvePuesto", SqlDbType.Int).Value = CvePuesto
|
||||||
|
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||||
|
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||||
|
End With
|
||||||
|
|
||||||
|
Try
|
||||||
|
SqlAdapter.Fill(Data)
|
||||||
|
Retorno = True
|
||||||
|
Catch ex As Exception
|
||||||
|
OnError("Ocurrió un error al obtener las actividades", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return Retorno
|
||||||
|
End Function
|
||||||
|
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3952,6 +3952,9 @@ Public Class ClsPaginas
|
|||||||
PaginaDict.Add("/AF/RepEventosProgramados.aspx".ToUpper(), 656)
|
PaginaDict.Add("/AF/RepEventosProgramados.aspx".ToUpper(), 656)
|
||||||
PaginaDict.Add("/AF/RegistroRevision.aspx".ToUpper(), 1251)
|
PaginaDict.Add("/AF/RegistroRevision.aspx".ToUpper(), 1251)
|
||||||
PaginaDict.Add("/AF/RepRevision.aspx".ToUpper(), 1252)
|
PaginaDict.Add("/AF/RepRevision.aspx".ToUpper(), 1252)
|
||||||
|
PaginaDict.Add("/AF/CatTiposServicios.aspx".ToUpper(), 765)
|
||||||
|
PaginaDict.Add("/AF/CatTiposServiciosActividades.aspx".ToUpper(), 766)
|
||||||
|
PaginaDict.Add("/AF/CatTiposServiciosMateriales.aspx".ToUpper(), 767)
|
||||||
#End Region
|
#End Region
|
||||||
'AIMMGM
|
'AIMMGM
|
||||||
#Region "AIMMGM"
|
#Region "AIMMGM"
|
||||||
|
|||||||
@@ -3518,6 +3518,7 @@ Partial Class PopUpVerFactura
|
|||||||
params.Add(New ReportParameter("Puesto", dr("Puesto").ToString))
|
params.Add(New ReportParameter("Puesto", dr("Puesto").ToString))
|
||||||
params.Add(New ReportParameter("PuestoEntrego", dr("PuestoEntrego").ToString))
|
params.Add(New ReportParameter("PuestoEntrego", dr("PuestoEntrego").ToString))
|
||||||
params.Add(New ReportParameter("Departamento", dr("Departamento").ToString))
|
params.Add(New ReportParameter("Departamento", dr("Departamento").ToString))
|
||||||
|
params.Add(New ReportParameter("DepartamentoEntrego", dr("DepartamentoEntrego").ToString))
|
||||||
params.Add(New ReportParameter("Folio", dr("Folio").ToString))
|
params.Add(New ReportParameter("Folio", dr("Folio").ToString))
|
||||||
params.Add(New ReportParameter("Sucursal", dr("SubProyecto").ToString))
|
params.Add(New ReportParameter("Sucursal", dr("SubProyecto").ToString))
|
||||||
params.Add(New ReportParameter("Telefono", dr("Celular").ToString))
|
params.Add(New ReportParameter("Telefono", dr("Celular").ToString))
|
||||||
|
|||||||
@@ -121,7 +121,7 @@
|
|||||||
|
|
||||||
<div class="form-group form-md-line-input input-iconright" style="width:500px!important">
|
<div class="form-group form-md-line-input input-iconright" style="width:500px!important">
|
||||||
<label for="DdlProveedores" >Proveedor:</label>
|
<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>
|
<i></i>
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="titlefiltros caption">
|
<div class="titlefiltros caption">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-1 truncate">SubProyecto:</div>
|
<div class="col-md-1 truncate"><asp:Label runat="server" ID="LblFiltroSubProyecto">SubProyecto:</asp:Label></div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<asp:DropDownList ID="DdlFiltroSubProyecto" CssClass="form-control select2me" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="70%"></asp:DropDownList>
|
<asp:DropDownList ID="DdlFiltroSubProyecto" CssClass="form-control select2me" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="70%"></asp:DropDownList>
|
||||||
</div>
|
</div>
|
||||||
@@ -148,7 +148,7 @@
|
|||||||
<div class="portlet-body">
|
<div class="portlet-body">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-5">
|
<div class="col-md-5">
|
||||||
<label for="<%= DdlSubProyecto.ClientID.ToString()%>">SubProyecto:</label>
|
<asp:Label runat="server" ID="LblSubProyecto" for="<%= DdlSubProyecto.ClientID.ToString()%>">SubProyecto:</asp:Label>
|
||||||
<asp:DropDownList ID="DdlSubProyecto" AutoPostBack="true" CssClass="form-control select2me" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%">
|
<asp:DropDownList ID="DdlSubProyecto" AutoPostBack="true" CssClass="form-control select2me" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%">
|
||||||
</asp:DropDownList>
|
</asp:DropDownList>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -88,6 +88,7 @@ Partial Class Inventarios_InventarioFisico
|
|||||||
Inventario.Dispose()
|
Inventario.Dispose()
|
||||||
gvIF.DataSource = dt
|
gvIF.DataSource = dt
|
||||||
gvIF.EditIndex = -1
|
gvIF.EditIndex = -1
|
||||||
|
gvIF.Columns(1).HeaderText = LblSubProyecto.Text
|
||||||
gvIF.DataBind()
|
gvIF.DataBind()
|
||||||
gvIF.Columns(6).Visible = UsuarioActual.TienePermisoProceso(178)
|
gvIF.Columns(6).Visible = UsuarioActual.TienePermisoProceso(178)
|
||||||
End Sub
|
End Sub
|
||||||
@@ -125,11 +126,8 @@ Partial Class Inventarios_InventarioFisico
|
|||||||
UPPPSExcluye.Update()
|
UPPPSExcluye.Update()
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub CargaDdlSubProyectos()
|
Private Sub CargaDdlSubProyectos()
|
||||||
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
|
CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubProyecto)
|
||||||
DdlSubProyecto.DataBind()
|
CargarCentrosDeCosto(Nothing, DdlFiltroSubProyecto, Nothing, LblFiltroSubProyecto)
|
||||||
DdlFiltroSubProyecto.Items.Insert(0, New ListItem("Todas", "-1"))
|
|
||||||
DdlFiltroSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
|
|
||||||
DdlFiltroSubProyecto.DataBind()
|
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub CargaDdlClasificacion()
|
Private Sub CargaDdlClasificacion()
|
||||||
DdlClasificacion.Items.Insert(0, New ListItem("Todos", "-1"))
|
DdlClasificacion.Items.Insert(0, New ListItem("Todos", "-1"))
|
||||||
@@ -552,6 +550,7 @@ Partial Class Inventarios_InventarioFisico
|
|||||||
If ObjInventario.GetInventarioFisico(-1, UsuarioActual.CveEmpresa, DdlFiltroSubProyecto.SelectedValue.ToEntero, DdlEstado.SelectedValue) Then
|
If ObjInventario.GetInventarioFisico(-1, UsuarioActual.CveEmpresa, DdlFiltroSubProyecto.SelectedValue.ToEntero, DdlEstado.SelectedValue) Then
|
||||||
gvIF.DataSource = ObjInventario.DtResultados
|
gvIF.DataSource = ObjInventario.DtResultados
|
||||||
gvIF.DataBind()
|
gvIF.DataBind()
|
||||||
|
gvIF.Columns(1).HeaderText = LblSubProyecto.Text
|
||||||
End If
|
End If
|
||||||
UppInventarioFisico.Update()
|
UppInventarioFisico.Update()
|
||||||
ObjInventario.Dispose()
|
ObjInventario.Dispose()
|
||||||
|
|||||||
@@ -277,9 +277,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
<asp:DropDownList ID="DdlPSModal" CssClass="form-control input-sm select2me js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="PSCodigo" DataValueField="CvePS" Width="240px" CausesValidation="true"></asp:DropDownList>
|
<label for="<%= DdlPSModal.ClientID.ToString()%>"><span style="color:#F3565D;">* </span>Producto/Servicios:</label>
|
||||||
<asp:RequiredFieldValidator ID="RFVPS" runat="server" ControlToValidate="DdlPSModal" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Producto / Servicio''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpDefinir"></asp:RequiredFieldValidator>
|
<ADS:Dropdownlost runat="server" ID="DdlPSModal" CssStyle="width: 100%;" CssClass="DdlPS " CssClassDdl="select2me " UsaWebService="true"
|
||||||
<label for="<%= DdlPSModal.ClientID.ToString()%>">Producto/Servicios:</label>
|
IncluyeTodos="false" DataTextField="PSCodigo" DataValueField="CvePS" />
|
||||||
|
|
||||||
|
<%--<asp:DropDownList ID="DdlPSModal" CssClass="form-control input-sm select2me js-cuenta-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="PSCodigo" DataValueField="CvePS" Width="240px" CausesValidation="true"></asp:DropDownList>--%>
|
||||||
|
<%--<asp:RequiredFieldValidator ID="RFVPS" runat="server" ControlToValidate="DdlPSModal" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Producto / Servicio''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpDefinir"></asp:RequiredFieldValidator>--%>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
|||||||
@@ -64,9 +64,9 @@ Partial Class Inventarios_RepMaximoMinimo
|
|||||||
DdlAlmacenModal.DataBind()
|
DdlAlmacenModal.DataBind()
|
||||||
DdlAlmacenModal.Items.Insert(0, New ListItem("Seleccione Almacén", "-1"))
|
DdlAlmacenModal.Items.Insert(0, New ListItem("Seleccione Almacén", "-1"))
|
||||||
|
|
||||||
DdlPSModal.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
|
'DdlPSModal.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
|
||||||
DdlPSModal.DataBind()
|
'DdlPSModal.DataBind()
|
||||||
DdlPSModal.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
'DdlPSModal.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||||
UpModalMaximoMinimo.Update()
|
UpModalMaximoMinimo.Update()
|
||||||
|
|
||||||
|
|
||||||
@@ -195,7 +195,8 @@ Partial Class Inventarios_RepMaximoMinimo
|
|||||||
Private Sub LnkDefinir_Click(sender As Object, e As EventArgs) Handles LnkDefinir.Click
|
Private Sub LnkDefinir_Click(sender As Object, e As EventArgs) Handles LnkDefinir.Click
|
||||||
HFDefinir.Value = "I"
|
HFDefinir.Value = "I"
|
||||||
DdlAlmacenModal.SelectedIndex = 0
|
DdlAlmacenModal.SelectedIndex = 0
|
||||||
DdlPSModal.SelectedIndex = 0
|
DdlPSModal.SelectedValue = "-1"
|
||||||
|
DdlPSModal.SelectedText = "Seleccione"
|
||||||
TxtMaximo.Text = ""
|
TxtMaximo.Text = ""
|
||||||
TxtMinimo.Text = ""
|
TxtMinimo.Text = ""
|
||||||
DdlAlmacenModal.Enabled = True
|
DdlAlmacenModal.Enabled = True
|
||||||
@@ -206,20 +207,26 @@ Partial Class Inventarios_RepMaximoMinimo
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub LbAgregarMaximoMinimo_Click(sender As Object, e As EventArgs) Handles LbAgregarMaximoMinimo.Click
|
Private Sub LbAgregarMaximoMinimo_Click(sender As Object, e As EventArgs) Handles LbAgregarMaximoMinimo.Click
|
||||||
Dim ObjInventario As New ClsInventarios
|
If DdlPSModal.SelectedValue.ToEntero > 0 Then
|
||||||
If HFDefinir.Value = "I" Then
|
|
||||||
If ObjInventario.AddAlmacenMaximoMinimo(DdlAlmacenModal.SelectedValue.ToEntero, DdlPSModal.SelectedValue.ToEntero, TxtMaximo.Text.ToDouble, TxtMinimo.Text.ToDouble, UsuarioActual.CveUsuario) Then
|
|
||||||
Alert("El Máximo/Mínimo se agregó correctamente.", TipoMensaje.MsgInformacion)
|
|
||||||
End If
|
|
||||||
ElseIf HFDefinir.Value = "U" Then
|
|
||||||
If ObjInventario.UpdateAlmacenMaximoMinimo(DdlAlmacenModal.SelectedValue.ToEntero, DdlPSModal.SelectedValue.ToEntero, TxtMaximo.Text.ToDouble, TxtMinimo.Text.ToDouble, UsuarioActual.CveUsuario) Then
|
|
||||||
Alert("El Máximo/Mínimo se actualizó correctamente.", TipoMensaje.MsgInformacion)
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
CargaGrid()
|
Using ObjInventario As New ClsInventarios
|
||||||
RegistraScript(String.Format("$('#{0}').modal('hide');", "ModalMaximoMinimo"))
|
|
||||||
ObjInventario.Dispose()
|
If HFDefinir.Value = "I" Then
|
||||||
|
If ObjInventario.AddAlmacenMaximoMinimo(DdlAlmacenModal.SelectedValue.ToEntero, DdlPSModal.SelectedValue.ToEntero, TxtMaximo.Text.ToDouble, TxtMinimo.Text.ToDouble, UsuarioActual.CveUsuario) Then
|
||||||
|
Alert("El Máximo/Mínimo se agregó correctamente.", TipoMensaje.MsgInformacion)
|
||||||
|
End If
|
||||||
|
ElseIf HFDefinir.Value = "U" Then
|
||||||
|
If ObjInventario.UpdateAlmacenMaximoMinimo(DdlAlmacenModal.SelectedValue.ToEntero, DdlPSModal.SelectedValue.ToEntero, TxtMaximo.Text.ToDouble, TxtMinimo.Text.ToDouble, UsuarioActual.CveUsuario) Then
|
||||||
|
Alert("El Máximo/Mínimo se actualizó correctamente.", TipoMensaje.MsgInformacion)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End Using
|
||||||
|
|
||||||
|
CargaGrid()
|
||||||
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "ModalMaximoMinimo"))
|
||||||
|
Else
|
||||||
|
Alert("Seleccione un producto o servicio", TipoMensaje.MsgAdvertencia)
|
||||||
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Protected Sub UpdateMaximoMinimo(sender As Object, e As EventArgs)
|
Protected Sub UpdateMaximoMinimo(sender As Object, e As EventArgs)
|
||||||
@@ -227,13 +234,15 @@ Partial Class Inventarios_RepMaximoMinimo
|
|||||||
HFDefinir.Value = "U"
|
HFDefinir.Value = "U"
|
||||||
Dim CveAlmacen As Integer = GvRow.DataKey("CveAlmacen").ToString.ToEntero
|
Dim CveAlmacen As Integer = GvRow.DataKey("CveAlmacen").ToString.ToEntero
|
||||||
Dim CvePS As Integer = GvRow.DataKey("CvePS").ToString.ToEntero
|
Dim CvePS As Integer = GvRow.DataKey("CvePS").ToString.ToEntero
|
||||||
|
Dim strPS As String = GvRow.DataKey("PS").ToString()
|
||||||
Dim Maximo As String = GvRow.DataKey("Maximo").ToString
|
Dim Maximo As String = GvRow.DataKey("Maximo").ToString
|
||||||
Dim Minimo As String = GvRow.DataKey("Minimo").ToString
|
Dim Minimo As String = GvRow.DataKey("Minimo").ToString
|
||||||
|
|
||||||
DdlAlmacenModal.Enabled = False
|
DdlAlmacenModal.Enabled = False
|
||||||
DdlPSModal.Enabled = False
|
DdlPSModal.Enabled = False
|
||||||
|
|
||||||
DdlAlmacenModal.SelectedValue = CveAlmacen.ToString
|
DdlAlmacenModal.SelectedValue = CveAlmacen.ToString()
|
||||||
|
DdlPSModal.SelectedText = strPS
|
||||||
DdlPSModal.SelectedValue = CvePS.ToString
|
DdlPSModal.SelectedValue = CvePS.ToString
|
||||||
TxtMaximo.Text = Maximo
|
TxtMaximo.Text = Maximo
|
||||||
TxtMinimo.Text = Minimo
|
TxtMinimo.Text = Minimo
|
||||||
|
|||||||
@@ -799,7 +799,7 @@
|
|||||||
</ajax:TabPanel>
|
</ajax:TabPanel>
|
||||||
|
|
||||||
<%---2020/02/06 - Auditoria--%>
|
<%---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>
|
<ContentTemplate>
|
||||||
|
|
||||||
<asp:UpdatePanel ID="UpTabAuditoria" runat="server" UpdateMode="Conditional">
|
<asp:UpdatePanel ID="UpTabAuditoria" runat="server" UpdateMode="Conditional">
|
||||||
|
|||||||
@@ -1284,11 +1284,15 @@
|
|||||||
<i></i>
|
<i></i>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
|
<asp:TextBox ID="TxtMailrecibonomina" runat="server" CausesValidation="true" CssClass="form-control input-sm"></asp:TextBox>
|
||||||
|
<asp:Label runat="server" AssociatedControlID="TxtMailrecibonomina" Text="Mail recibo nómina:"></asp:Label>
|
||||||
|
</div>
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
<asp:DropDownList ID="DdlRegimenContratacion" runat="server" AppendDataBoundItems="true" DataTextField="RegimenContratacion" CssClass="form-control input-sm select2me" DataValueField="CveSATRegimenContratacion" ValidationGroup="GrpGuardar">
|
<asp:DropDownList ID="DdlRegimenContratacion" runat="server" AppendDataBoundItems="true" DataTextField="RegimenContratacion" CssClass="form-control input-sm select2me" DataValueField="CveSATRegimenContratacion" ValidationGroup="GrpGuardar">
|
||||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||||
</asp:DropDownList>
|
</asp:DropDownList>
|
||||||
<asp:Label runat="server" AssociatedControlID="DdlRegimenContratacion" Text="Mail recibo nómina:"></asp:Label>
|
<asp:Label runat="server" AssociatedControlID="DdlRegimenContratacion" Text="Régimen Contratación:"></asp:Label>
|
||||||
<asp:RequiredFieldValidator ID="RFVRegimenContratacion" runat="server" ControlToValidate="DdlRegimenContratacion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Régimen Contratación''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
<asp:RequiredFieldValidator ID="RFVRegimenContratacion" runat="server" ControlToValidate="DdlRegimenContratacion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Régimen Contratación''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||||
<i></i>
|
<i></i>
|
||||||
</div>
|
</div>
|
||||||
@@ -1311,6 +1315,7 @@
|
|||||||
<br />
|
<br />
|
||||||
<asp:CheckBox ID="ChkSeInscribioSS" CssClass="make-switchsd" data-size="small" runat="server" Text="" />
|
<asp:CheckBox ID="ChkSeInscribioSS" CssClass="make-switchsd" data-size="small" runat="server" Text="" />
|
||||||
</div>
|
</div>
|
||||||
|
<asp:Panel runat="server" ID="PnlSalarios" Visible="false">
|
||||||
|
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
<asp:TextBox CssClass="form-control" ID="TxtSalarioDiario" Enabled ="false" runat="server" MaxLength="10"></asp:TextBox>
|
<asp:TextBox CssClass="form-control" ID="TxtSalarioDiario" Enabled ="false" runat="server" MaxLength="10"></asp:TextBox>
|
||||||
@@ -1340,6 +1345,7 @@
|
|||||||
|
|
||||||
<i></i>
|
<i></i>
|
||||||
</asp:Panel>
|
</asp:Panel>
|
||||||
|
</asp:Panel>
|
||||||
|
|
||||||
<div class="form-group form-md-line-input input-iconright">
|
<div class="form-group form-md-line-input input-iconright">
|
||||||
<asp:TextBox CssClass="form-control" ID="TxtBono" runat="server" MaxLength="10" Text="0"></asp:TextBox>
|
<asp:TextBox CssClass="form-control" ID="TxtBono" runat="server" MaxLength="10" Text="0"></asp:TextBox>
|
||||||
|
|||||||
@@ -782,7 +782,7 @@ Partial Class RH_Personal
|
|||||||
pnlSalarioIMSS.Visible = False
|
pnlSalarioIMSS.Visible = False
|
||||||
End If
|
End If
|
||||||
'
|
'
|
||||||
|
PnlSalarios.Visible = UsuarioActual.Empresa.Funcionalidad(701) = "1"
|
||||||
|
|
||||||
ViewState("Orden") = ""
|
ViewState("Orden") = ""
|
||||||
ViewState("Orden1") = ""
|
ViewState("Orden1") = ""
|
||||||
@@ -1340,7 +1340,7 @@ Partial Class RH_Personal
|
|||||||
|
|
||||||
ChkEstemporal.Checked = ObjPersonal.DtResultados.Rows(0)("esTemporal").ToString() = "1"
|
ChkEstemporal.Checked = ObjPersonal.DtResultados.Rows(0)("esTemporal").ToString() = "1"
|
||||||
CHKRFCValidado.Checked = ObjPersonal.DtResultados.Rows(0)("RFCValidado").ToString() = "1"
|
CHKRFCValidado.Checked = ObjPersonal.DtResultados.Rows(0)("RFCValidado").ToString() = "1"
|
||||||
|
TxtMailrecibonomina.Text = ObjPersonal.DtResultados.Rows(0)("MaiReciboNomina").ToString()
|
||||||
'Carga Datos Personales
|
'Carga Datos Personales
|
||||||
LtlPersonal.Text = ObjPersonal.NombreCompleto
|
LtlPersonal.Text = ObjPersonal.NombreCompleto
|
||||||
NombreCompleto = ObjPersonal.NombreCompleto
|
NombreCompleto = ObjPersonal.NombreCompleto
|
||||||
|
|||||||
@@ -72,9 +72,12 @@ Partial Class Ventas_CatClasificaciones2
|
|||||||
|
|
||||||
Public Sub CargaDatosS()
|
Public Sub CargaDatosS()
|
||||||
Dim ObjClasificaciones As New ClsClasificaciones
|
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)
|
ViewState("DTClasificacion2") = GlobalDTClasificaciones2(UsuarioActual.CveEmpresa)
|
||||||
|
|
||||||
Else
|
Else
|
||||||
GvDatosS.DataSource = Nothing
|
GvDatosS.DataSource = Nothing
|
||||||
End If
|
End If
|
||||||
@@ -186,6 +189,7 @@ Partial Class Ventas_CatClasificaciones2
|
|||||||
If ObjClasificaciones.AddClasificaciones(TxtClasificacionS.Text.Trim, "",
|
If ObjClasificaciones.AddClasificaciones(TxtClasificacionS.Text.Trim, "",
|
||||||
-1, "", -1, "", -1, "",
|
-1, "", -1, "", -1, "",
|
||||||
DdlCategoriaS.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, RequiereAFCompra:=False, RequiereAFInsumo:=False, RequierePersonal:=False) Then
|
DdlCategoriaS.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, RequiereAFCompra:=False, RequiereAFInsumo:=False, RequierePersonal:=False) Then
|
||||||
|
|
||||||
'DdlCuentaGastoS.SelectedValue.ToEntero, DdlCuentaGastoS.SelectedItem.Text,
|
'DdlCuentaGastoS.SelectedValue.ToEntero, DdlCuentaGastoS.SelectedItem.Text,
|
||||||
'DdlCuentaAnticipoS.SelectedValue.ToEntero, DdlCuentaAnticipoS.SelectedItem.Text,
|
'DdlCuentaAnticipoS.SelectedValue.ToEntero, DdlCuentaAnticipoS.SelectedItem.Text,
|
||||||
'DdlCuentaInventarioS.SelectedValue.ToEntero, DdlCuentaInventarioS.SelectedItem.Text,
|
'DdlCuentaInventarioS.SelectedValue.ToEntero, DdlCuentaInventarioS.SelectedItem.Text,
|
||||||
@@ -194,8 +198,9 @@ Partial Class Ventas_CatClasificaciones2
|
|||||||
UpTitulosS.Update()
|
UpTitulosS.Update()
|
||||||
|
|
||||||
If ObjClasificaciones.GetClasificaciones(-1, 4) Then
|
If ObjClasificaciones.GetClasificaciones(-1, 4) Then
|
||||||
|
GlobalDTClasificaciones2(UsuarioActual.CveEmpresa) = Nothing
|
||||||
ViewState("DTClasificacion2") = ObjClasificaciones.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
|
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
|
End If
|
||||||
|
|
||||||
'DdlCuentaGastoS.SelectedValue = "-1"
|
'DdlCuentaGastoS.SelectedValue = "-1"
|
||||||
@@ -284,11 +289,12 @@ Partial Class Ventas_CatClasificaciones2
|
|||||||
End Sub
|
End Sub
|
||||||
Protected Sub GvDatosS_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvDatosS.RowDeleting
|
Protected Sub GvDatosS_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvDatosS.RowDeleting
|
||||||
Dim ObjClasificaciones As New ClsClasificaciones
|
Dim ObjClasificaciones As New ClsClasificaciones
|
||||||
|
|
||||||
If ObjClasificaciones.RemoveClasificacion(GvDatosS.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then
|
If ObjClasificaciones.RemoveClasificacion(GvDatosS.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then
|
||||||
GvDatosS.EditIndex = -1
|
GvDatosS.EditIndex = -1
|
||||||
If ObjClasificaciones.GetClasificaciones(-1, 4) Then
|
If ObjClasificaciones.GetClasificaciones(-1, 4) Then
|
||||||
ViewState("DTClasificacion2") = ObjClasificaciones.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
|
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
|
End If
|
||||||
Alert("La Clasificacion se eliminó correctamente.", TipoMensaje.MsgInformacion)
|
Alert("La Clasificacion se eliminó correctamente.", TipoMensaje.MsgInformacion)
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ Partial Class ProductosyServicios
|
|||||||
|
|
||||||
Private ReadOnly Property PermiteClasificacion2 As Boolean
|
Private ReadOnly Property PermiteClasificacion2 As Boolean
|
||||||
Get
|
Get
|
||||||
Return (UsuarioActual.CveEmpresa.Contiene(72, 80))
|
Return (UsuarioActual.CveEmpresa.Contiene(1, 72, 80))
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
@@ -1164,7 +1164,7 @@ Partial Class ProductosyServicios
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Dim CveMarca As Integer = 0
|
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
|
If CvePS = -1 Then
|
||||||
Dim PSS As String = TxtPS.Text.Trim.Replace("|", "")
|
Dim PSS As String = TxtPS.Text.Trim.Replace("|", "")
|
||||||
@@ -1656,11 +1656,13 @@ Partial Class ProductosyServicios
|
|||||||
|
|
||||||
Protected Sub CargarMarcas()
|
Protected Sub CargarMarcas()
|
||||||
If UsuarioActual.Empresa.Funcionalidad(130) = "1" Then
|
If UsuarioActual.Empresa.Funcionalidad(130) = "1" Then
|
||||||
|
|
||||||
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) And CvePS = -1 Then
|
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) And CvePS = -1 Then
|
||||||
DivMarcaPSDes.Visible = True
|
DivMarcaPSDes.Visible = True
|
||||||
Else
|
Else
|
||||||
DivMarca.Visible = True
|
DivMarca.Visible = True
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim ObjMarcas As New ClsProductosServicios
|
Dim ObjMarcas As New ClsProductosServicios
|
||||||
ObjMarcas.GetMarcas(UsuarioActual.CveEmpresa)
|
ObjMarcas.GetMarcas(UsuarioActual.CveEmpresa)
|
||||||
DdlMarca.DataSource = ObjMarcas.DtResultados
|
DdlMarca.DataSource = ObjMarcas.DtResultados
|
||||||
|
|||||||
@@ -88,6 +88,8 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user