Commit inicial Ventas Productivo

This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2019-08-14 16:40:54 -07:00
commit c35cf91883
13328 changed files with 3711549 additions and 0 deletions

678
OC/CatEstatus.aspx Normal file
View File

@@ -0,0 +1,678 @@
<%@ Page MaintainScrollPositionOnPostback="true" Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatEstatus.aspx.vb" Inherits="OC_CatEstatus" %>
<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">
<li>
<asp:LinkButton ID="LnkAddEstatus" runat="server" Visible="True"> <i class="fa fa-pencil"></i> Agregar Estatus</asp:LinkButton>
</li>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Catálogo de Estatus de Órdenes de Compra
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<ajax:TabContainer runat="server" ID="tabPrincipal" ActiveTabIndex="0" Width="100%" CssClass="tabBodyOverride">
<ajax:TabPanel runat="server" ID="tabCatalogo" HeaderText="Catálogo">
<ContentTemplate>
<asp:UpdatePanel ID="UpCatalogo" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet-body">
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveEstatus,Estatus,Tipo,CveEstatusSiguiente,TipoTermino,Cancelable,EstatusActivo" EmptyDataText="No se encontraron Estatus Registrados" TShowHeader="true" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" GridLines="None">
<Columns>
<asp:BoundField DataField="Estatus" HeaderText="Estatus" />
<asp:TemplateField>
<HeaderTemplate>Tipo</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlTipo" runat="server" Text='<%# If(Eval("Tipo").ToString = "Req", "Requisición", "Orden de Compra")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="EstatusSiguiente" HeaderText="Estatus siguiente" />
<asp:BoundField DataField="TipoTerminoDesc" HeaderText="Tipo Termino" />
<asp:BoundField DataField="Cancelable" HeaderText="Cancelable" />
<asp:TemplateField>
<HeaderTemplate>Estatus</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlEstatusActivo" runat="server" Text='<%# If(Eval("EstatusActivo").ToString = "True", "Activo", "Inactivo")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="FechaIng" DataFormatString="{0:d}" HeaderText="Fecha" />
<asp:BoundField DataField="Usuario" HeaderText="Usuario" />
<asp:TemplateField HeaderText="Editar" ItemStyle-Width="70px" ItemStyle-HorizontalAlign="Center">
<EditItemTemplate>
<asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update" CssClass="btn btn-circle btn-xs green" Text="<i class='fa fa-check'></i>" ValidationGroup="GrpGV" />
&nbsp;
<asp:LinkButton ID="imgC" runat="server" AlternateText="Cancelar" CausesValidation="False" CommandName="Cancel" CssClass="btn btn-circle btn-xs red" Text="<i class='fa fa-times'></i>" />
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" OnClick="Edit_Click" CssClass="btn btn-circle btn-xs green" Text="<i class='fa fa-pencil'></i>" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Eliminar" ItemStyle-Width="70px" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete" 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>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel runat="server" ID="tabConfiguracion" HeaderText="Configuración">
<ContentTemplate>
<asp:UpdatePanel ID="UPPEmp" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1">Proyecto: </label>
<div class="col-md-2" id="DivProyecto" runat="server">
<asp:DropDownList ID="CboProyecto" runat="server" DataTextField="Proyecto" DataValueField="CveProyecto" CssClass="form-control input-sm select2me" Width="250px" AutoPostBack="true"></asp:DropDownList>
</div>
<label class="col-md-1" id="LblSubproyecto" runat="server">SubProyecto: </label>
<div class="col-md-2" id="DivSubProyecto" runat="server">
<asp:DropDownList ID="CboSubProyecto" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me" Width="250px" AutoPostBack="true"></asp:DropDownList>
</div>
</div>
</div>
</div>
</div>
<table width="100%" border="0" rules="all " cellpadding="0" cellspacing="0">
<tr>
<td>
<br />
<ajax:TabContainer runat="server" Width="100%" ID="tabEstatusUsuarios" ActiveTabIndex="0" CssClass="tabBodyOverride">
<ajax:TabPanel runat="server" HeaderText="Requisiciones" ID="tabRequisiciones">
<ContentTemplate>
<fieldset>
<asp:GridView ID="GvEstatusUsuariosREQ" GridLines="None" CssClass="table table-striped table-advance table-hover" Width="100%" runat="server" AutoGenerateColumns="False" DataKeyNames="CveUsuario" EmptyDataText="No se encontraron Usuarios Registrados" ToolTip="Listado de Usuarios">
<HeaderStyle VerticalAlign="Middle" />
<Columns>
<asp:TemplateField>
<HeaderTemplate>Estatus</HeaderTemplate>
<ItemStyle Width="150px" BorderStyle="None" />
<ItemTemplate>
<asp:Label Font-Bold="true" Width="250px" ID="LblUsuario" runat="server" Text='<%# Eval("Nombre")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus1" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios1" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones1" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior1" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites1" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus2" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios2" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones2" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior2" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites2" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus3" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios3" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones3" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior3" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites3" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus4" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios4" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones4" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior4" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites4" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus5" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios5" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones5" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior5" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites5" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus6" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios6" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones6" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior6" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites6" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus7" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios7" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones7" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior7" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites7" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus8" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios8" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones8" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior8" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites8" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus9" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios9" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones9" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior9" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites9" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus10" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios10" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones10" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior10" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites10" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<table width="100%">
<tr>
<td align="center">
<asp:Button ID="btnGuardarEstatusUsuariosREQ" Text="Guardar" runat="server" Visible="false" CssClass="btn btn-primary" /></td>
</tr>
</table>
</fieldset>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="tabOrdenesCompra" runat="server" HeaderText="Ordenes de Compra">
<ContentTemplate>
<fieldset>
<asp:GridView ID="GvEstatusUsuariosOC" CssClass="table table-striped table-advance table-hover" GridLines="None" Width="100%" runat="server" AutoGenerateColumns="False" DataKeyNames="CveUsuario" EmptyDataText="No se encontraron Usuarios Registrados" ToolTip="Listado de Usuarios">
<HeaderStyle VerticalAlign="Middle" />
<Columns>
<asp:TemplateField HeaderText="Estatus">
<ItemStyle Width="250px" BorderStyle="None" />
<ItemTemplate>
<asp:Label Font-Bold="true" Width="100%" ID="LblUsuario" runat="server" Text='<%# Eval("Nombre")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus1" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios1" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones1" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior1" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites1" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus2" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios2" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones2" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior2" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites2" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus3" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios3" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones3" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior3" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites3" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus4" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios4" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones4" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior4" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites4" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus5" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios5" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones5" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior5" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites5" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus6" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios6" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones6" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior6" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites6" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus7" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios7" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones7" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior7" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites7" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus8" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios8" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones8" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior8" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites8" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus9" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios9" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones9" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior9" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites9" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<table style="text-align: center; width: 100%">
<tr>
<td style="width: 50%; text-align: right">
<asp:CheckBox ID="chkEstatus10" runat="server" /><asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios10" />
</td>
<td style="width: 50%; text-align: left">
<asp:ImageButton ID="ibOpciones10" runat="server" ImageUrl="~/Imagenes/add_comment.png" AlternateText="Opciones" ToolTip="Opciones" OnClick="ibOpciones1_Click" />
<asp:Label ID="lblSuperior10" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
<asp:Label ID="lblLimites10" Font-Size="7" Font-Italic="true" runat="server"></asp:Label>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<table width="100%">
<tr>
<td align="center">
<asp:Button ID="btnGuardarEstatusUsuariosOC" Text="Guardar" runat="server" CssClass="btn btn-primary" Visible="false" />
</td>
</tr>
</table>
</fieldset>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UPSuperior" UpdateMode="Conditional">
<ContentTemplate>
<asp:HiddenField runat="server" ID="IDhdnCveEstatusUsuarios" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="IDCellYellow" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="IDimg" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="hdnCveEstatusUsuarios" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="hdnCveSuperior" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="hdnCveEstatusSiguiente" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="hdnCveEstatus" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="hdnCveUsuario" ClientIDMode="Static" />
<div id="DivSuperior" style="width: 200px; background-color: White; border: solid 1px black; color: Black; display: none; position: absolute;">
<table border="0" style="width: 200px" cellpadding="0" cellspacing="0">
<tr class="Titulos">
<td style="width: 400px">Opciones&nbsp;</td>
<td style="padding-right: 4px; padding-top: 4px" valign="top">
<img alt="" src="/Imagenes/close.gif" style="cursor: pointer;" onclick="$('#DivSuperior').hide(1000);" /></td>
</tr>
<tr align="center">
<td colspan="2">
<table style="height: 80px; width: 100%">
<tr>
<td style="vertical-align: top; text-align: left; width: 100%">
<asp:CheckBox ID="chkMostrarLimites" Font-Bold="true" Style="display: none" ClientIDMode="Static" Text="Usar Limites" runat="server" /><br />
<div id="DivLimites" style="display: none;">
<table>
<tr>
<td>Inferior</td>
<td>
<asp:TextBox ID="txtLimiteInferior" Width="80px" runat="server" ClientIDMode="Static"></asp:TextBox></td>
</tr>
<tr>
<td>Superior</td>
<td>
<asp:TextBox ID="txtLimiteSuperior" Width="80px" runat="server" ClientIDMode="Static"></asp:TextBox></td>
</tr>
</table>
</div>
<table style="text-align: center" runat="server" id="tblSuperior">
<tr>
<td style="font-weight: bold">Superior</td>
</tr>
<tr>
<td>
<asp:DropDownList ID="ddlSuperior" Width="170px" ClientIDMode="Static" runat="server" DataValueField="CveUsuario" DataTextField="Nombre"></asp:DropDownList></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr style="height: 25px">
<td align="center" colspan="2">
<asp:Button ID="BtnGuardarSuperior" runat="server" ClientIDMode="Static" OnClientClick="$('#DivSuperior').hide(1000);" Text="Guardar" />
<input id="BtnCancelarObs" type="button" value="Cancelar" onclick="$('#DivSuperior').hide(1000);" />
</td>
</tr>
</table>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
<div id="DivAgregarEstatus" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpAddEstatus" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:HiddenField ID="HdnModalidad" runat="server" Value="I" ClientIDMode="Static" />
<asp:HiddenField ID="HdnID" runat="server" Value="-1" ClientIDMode="Static" />
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel">Estatus OC</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel ID="UpBodyEstatus" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtEstatus" runat="server" CausesValidation="true" MaxLength="50" ValidationGroup="GrpObligatorio" CssClass="form-control"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVEstatus" runat="server" CssClass="help-block errorimput miclase" ControlToValidate="TxtEstatus" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Estatus de Ordenes de Compra''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<label for="<%= TxtEstatus.ClientID.ToString()%>">Estatus de Ordenes de Compra:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipo" runat="server" AutoPostBack="true" CssClass="select2me form-control">
<asp:ListItem Text="Requisición" Selected="True" Value="Req"></asp:ListItem>
<asp:ListItem Text="Orden de Compra" Value="OC"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlTipo.ClientID.ToString()%>">Tipo:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlEstatusSiguiente" runat="server" AppendDataBoundItems="true" DataTextField="Estatus" DataValueField="CveEstatus" CssClass="select2me form-control">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlEstatusSiguiente.ClientID.ToString()%>">Estatus Siguiente:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoTermino" runat="server" CssClass="select2me form-control">
<asp:ListItem Text="Estatus Inicial" Value="3"></asp:ListItem>
<asp:ListItem Text="Proceso" Selected="True" Value="0"></asp:ListItem>
<asp:ListItem Text="Es Autorizado" Value="1"></asp:ListItem>
<asp:ListItem Text="Es Rechazado" Value="2"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlTipoTermino.ClientID.ToString()%>">Tipo Termino:</label>
</div>
<div class="form-group form-md-line-input input-iconright" id="DivCancelable" runat="server" visible="false">
<asp:CheckBox ID="ChkCancelable" runat="server" CssClass="form-control" Checked="false" />
<label for="<%= ChkCancelable.ClientID.ToString()%>">Cancelable:</label>
</div>
<div class="form-group form-md-line-input input-iconright" id="DivEstatus" runat="server" visible="false">
<asp:CheckBox ID="ChkEstatus" runat="server" CssClass="form-control" Checked="true" />
<label for="<%= ChkEstatus.ClientID.ToString()%>">Estatus:</label>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="modal-footer">
<asp:UpdatePanel ID="UpFooter" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="BtnGuardar" runat="server" Text="Agregar" ValidationGroup="GrpObligatorio" CssClass="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script language="javascript" type="text/javascript">
function chk1Change(chk1, img1) {
if (chk1.checked == true)
$get(img1).style.display = 'inline';
else
$get(img1).style.display = 'none';
}
function chkMostrarLimitesCambio() {
if (chkMostrarLimites.checked == true)
$get('DivLimites').style.display = 'inline';
else
$get('DivLimites').style.display = 'none';
}
</script>
</asp:Content>

705
OC/CatEstatus.aspx.vb Normal file
View File

@@ -0,0 +1,705 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Partial Class OC_CatEstatus
Inherits ClsPaginas
#Region "Propiedades"
'Local
Private Property DTEstatusUsuarios As DataTable
Get
Return CType(ViewState("DTEstatusUsuarios"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTEstatusUsuarios") = value
End Set
End Property
Private Property Tipo As String
Get
Return CType(ViewState("Tipo"), String)
End Get
Set(value As String)
ViewState("Tipo") = value
End Set
End Property
Private Property CveSubProyecto As Integer
Get
Return CType(ViewState("CveSubProyecto"), String).ToEntero
End Get
Set(value As Integer)
ViewState("CveSubProyecto") = value
End Set
End Property
Private Property CveProyecto As Integer
Get
Return CType(ViewState("CveProyecto"), String).ToEntero
End Get
Set(value As Integer)
ViewState("CveProyecto") = value
End Set
End Property
Private Property TipoSeleccionado As String
Get
Return CType(ViewState("TipoSeleccionado"), String)
End Get
Set(value As String)
ViewState("TipoSeleccionado") = value
End Set
End Property
Private Property CveEstatus As Integer
Get
Return ViewState("CveEstatus").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveEstatus") = 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
CreaGrid("Req")
CreaGrid("OC")
ViewState("Orden") = ""
ViewState("TipoSeleccionado") = DdlTipo.SelectedValue
CargaDatos()
CargaEstatus()
CargaProyectos()
CargaUsuarios()
'SOLO MUESTRA SUBPROYECTO
If UsuarioActual.Empresa.GralSoloProyecto Then
'TdProyecto.Visible = False
'TdSubProyectoTitulo.Visible = False
DivProyecto.Visible = False
LblSubproyecto.Visible = False
CboSubProyecto.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa).FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"})
CboSubProyecto.DataBind()
CboSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
CboSubProyecto_SelectedIndexChanged(CboSubProyecto, EventArgs.Empty)
End If
chkMostrarLimites.Attributes.Add("onchange", "javascript:chkMostrarLimitesCambio();")
MaintainScrollPositionOnPostBack = True
End If
End Sub
#Region "C A T A L O G O "
Public Sub CargaDatos()
Dim ObjEstatus As New ClsOC
If ObjEstatus.GetEstatus() Then
ViewState("DTOCEstatus") = ObjEstatus.DtResultados.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
GlobalDTOCEstatus(-1) = ObjEstatus.DtResultados
Else
GvDatos.DataSource = Nothing
End If
ObjEstatus.Dispose()
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End Sub
Private Sub CargaEstatus()
DdlEstatusSiguiente.DataSource = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format(" Tipo = '{0}'", TipoSeleccionado))
DdlEstatusSiguiente.DataBind()
End Sub
Protected Sub DdlTipo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipo.SelectedIndexChanged
ViewState("TipoSeleccionado") = DdlTipo.SelectedValue
DdlEstatusSiguiente.Items.Clear()
DdlEstatusSiguiente.Items.Insert(0, New ListItem("Seleccione", "-1"))
CargaEstatus()
End Sub
Private Sub LnkAddEstatus_Click(sender As Object, e As EventArgs) Handles LnkAddEstatus.Click
CveEstatus = -1
HdnModalidad.Value = "I"
TxtEstatus.Text = ""
ChkEstatus.Checked = True
ChkCancelable.Checked = False
DivCancelable.Visible = False
DivEstatus.Visible = False
DdlTipo.SelectedIndex = 0
DdlEstatusSiguiente.SelectedIndex = 0
DdlTipoTermino.SelectedIndex = 0
BtnGuardar.Text = "Agregar"
UpCatalogo.Update()
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarEstatus"))
End Sub
Public Sub Edit_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
CveEstatus = (GvRow.DataKey("CveEstatus")).ToEntero
HdnModalidad.Value = "U"
TxtEstatus.Text = (GvRow.DataKey("Estatus"))
DdlTipo.SelectedValueExist(GvRow.DataKey("Tipo"))
ViewState("TipoSeleccionado") = GvRow.DataKey("Tipo")
CargaEstatus()
DdlEstatusSiguiente.SelectedValueExist(GvRow.DataKey("CveEstatusSiguiente"))
DdlTipoTermino.SelectedValueExist(GvRow.DataKey("TipoTermino"))
ChkEstatus.Checked = If(GvRow.DataKey("EstatusActivo").ToString = "True", True, False)
ChkCancelable.Checked = If(GvRow.DataKey("Cancelable").ToString = "Sí", True, False)
DivCancelable.Visible = True
DivEstatus.Visible = True
BtnGuardar.Text = "Actualizar"
UpAddEstatus.Update()
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarEstatus"))
End Sub
Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
Dim TieneError = False
Dim ObjEstatus As New ClsOC
If HdnModalidad.Value = "I" Then
If Not ObjEstatus.AddEstatus(TxtEstatus.Text.Trim, DdlTipo.SelectedValue.ToString, DdlEstatusSiguiente.SelectedValue.ToEntero, DdlTipoTermino.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
TieneError = True
End If
Else
If Not ObjEstatus.UpdateEstatus(TxtEstatus.Text.Trim, DdlTipo.SelectedValue.ToString, DdlEstatusSiguiente.SelectedValue.ToEntero, DdlTipoTermino.SelectedValue.ToEntero, ChkEstatus.Checked, ChkCancelable.Checked, CveEstatus) Then
TieneError = True
End If
End If
ObjEstatus.Dispose()
If Not TieneError Then
DdlTipo.SelectedIndex = 0
DdlEstatusSiguiente.SelectedIndex = 0
DdlTipoTermino.SelectedIndex = 0
TxtEstatus.Text = ""
ChkEstatus.Checked = True
ChkCancelable.Checked = False
Alert("El estatus de órden de compra se guardó/editó correctamente.", TipoMensaje.MsgInformacion)
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarEstatus"))
CargaDatos()
Else
Alert("Ocurrió un error al guardar/editar estatus de órden de compra", TipoMensaje.MsgError)
End If
End Sub
#Region "O R D E N A M I E N T O"
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Orden As String = ""
Dim Campo As String = ""
Dim Literal As Literal = Nothing
Const OrdenInicial As String = ""
Dim Arg(2) As String
Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c)
Campo = Arg(0)
Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal)
If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-asc' style='color:#999' ></i>")
Else
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-desc' style='color:#999' ></i>")
End If
Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString
ViewState("Orden") = Orden
CargaGrid(Orden)
End Sub
Private Sub CargaGrid(Orden As String)
If Orden <> String.Empty Then
Dim DV As New DataView(CType(ViewState("DTOCEstatus"), DataTable), "", Orden, DataViewRowState.CurrentRows)
GvDatos.DataSource = DV.ToTable()
DV.Dispose()
Else
GvDatos.DataSource = CType(ViewState("DTOCEstatus"), DataTable)
End If
GvDatos.DataBind()
UpCatalogo.Update()
End Sub
#End Region
#Region "G V D A T O S"
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
End If
End Sub
Protected Sub GvDatos_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting
Dim TieneError = False
Dim ObjEstatus As New ClsOC
If ObjEstatus.RemoveEstatus(GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then
GvDatos.EditIndex = -1
Alert("El Estatus se eliminó correctamente.", TipoMensaje.MsgInformacion)
End If
ObjEstatus.Dispose()
If Not TieneError Then
CargaDatos()
Else
Alert("Ocurrió un error al eliminar el estatus. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgError)
End If
End Sub
#End Region
#End Region
#Region "C O N F I G U R A C I O N "
Public Sub CargaUsuarios()
ddlSuperior.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
ddlSuperior.DataBind()
End Sub
Protected Sub BtnGuardarSuperior_Click(sender As Object, e As EventArgs) Handles BtnGuardarSuperior.Click
Dim objOC As New ClsOC
Dim LimiteInferior As Decimal = If(chkMostrarLimites.Checked = False Or txtLimiteInferior.Text.Trim = "" Or txtLimiteInferior.Text.ToDecimal <= 0, -1, txtLimiteInferior.Text.Trim.ToDecimal)
Dim LimiteSuperior As Decimal = If(chkMostrarLimites.Checked = False Or txtLimiteSuperior.Text.Trim = "" Or txtLimiteSuperior.Text.ToDecimal <= 0, -1, txtLimiteSuperior.Text.Trim.ToDecimal)
Dim CveSuperior As Integer = If(tblSuperior.Visible = True, ddlSuperior.SelectedValue.ToEntero, -1)
If hdnCveEstatusUsuarios.Value.ToEntero = -1 Then
If objOC.AddEstatusUsuarios(hdnCveEstatus.Value.ToEntero, CboSubProyecto.SelectedValue.ToEntero, hdnCveUsuario.Value.ToEntero, True, CveSuperior, LimiteSuperior, LimiteInferior) Then
RegistraScript(String.Format("{0}.style.background-color='yellow'", IDCellYellow.Value))
End If
Else
If objOC.UpdateEstatusUsuarios(hdnCveEstatusUsuarios.Value.ToEntero, CveSuperior, LimiteSuperior, LimiteInferior) Then
End If
End If
objOC.Dispose()
If tabEstatusUsuarios.ActiveTabIndex = 0 Then
CargaGridEstatusUsuarios("Req")
Else
CargaGridEstatusUsuarios("OC")
End If
End Sub
Protected Sub GvEstatusUsuariosREQ_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEstatusUsuariosREQ.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim tmpT As DataTable = DTEstatusUsuarios.FiltraParametros(String.Format("CveUsuario = {0}", e.Row.DBCampo("CveUsuario").ToString))
For i As Integer = 1 To 10
Dim CveEstatus As Integer = GvEstatusUsuariosREQ.Columns(i).FooterText.ToEntero
If CveEstatus > 0 Then
Dim chkEstatus As CheckBox = e.Row.FCCheckBox(String.Format("chkEstatus{0}", i))
Dim ibOpciones As ImageButton = e.Row.FCImageButton(String.Format("ibOpciones{0}", i))
Dim hdnCveEstatusUsuarios As HiddenField = e.Row.FCHiddenField(String.Format("hdnCveEstatusUsuarios{0}", i))
Dim lblSuperior As Label = e.Row.FCLabel(String.Format("lblSuperior{0}", i))
Dim lblLimites As Label = e.Row.FCLabel(String.Format("lblLimites{0}", i))
ibOpciones.CommandArgument = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus)).Rows(0)("CveEstatusSiguiente").ToString
Dim RowEU As DataRowCollection = tmpT.FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus)).Rows
Dim CveEstatusUsuarios As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("CveEstatusUsuarios")), RowEU(0)("CveEstatusUsuarios").ToString.ToEntero, -1)
Dim LimiteInferior As Decimal = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("LimiteInferior")), RowEU(0)("LimiteInferior").ToString.ToDecimal, -1)
Dim LimiteSuperior As Decimal = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("LimiteSuperior")), RowEU(0)("LimiteSuperior").ToString.ToDecimal, -1)
Dim CveSuperior As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("CveSuperior")), RowEU(0)("CveSuperior").ToString.ToEntero, -1)
Dim CveUsuario As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("CveUsuario")), RowEU(0)("CveUsuario").ToString.ToEntero, -1)
Dim TipoTermino As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("TipoTermino")), RowEU(0)("TipoTermino").ToString.ToEntero, -1) ' 0. supervisada, 1. autorizada, 2. rechazada
If RowEU.Count > 0 Then
chkEstatus.Checked = True
chkEstatus.Attributes.Add("onclick", String.Format("javascript:chk1Change(this, '{0}');", ibOpciones.ClientID))
hdnCveEstatusUsuarios.Value = RowEU(0)("CveEstatusUsuarios").ToString
ibOpciones.Style.Add("display", "inline")
Dim script As New StringBuilder
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
script.Append("hdnCveEstatus.value = '-1';")
script.Append("hdnCveUsuario.value = '-1';")
script.AppendFormat("hdnCveSuperior.value = '{0}'; ", CveSuperior)
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0 Or TipoTermino.Contiene(0, 1, 2), "true", "false"))
script.AppendFormat("$get('DivLimites').style.display = '{0}';", If(LimiteInferior > 0 Or LimiteSuperior > 0, "inline", "none"))
script.AppendFormat("txtLimiteInferior.value = '{0}'; ", If(LimiteInferior > 0, LimiteInferior.FormatoNumero, ""))
script.AppendFormat("txtLimiteSuperior.value = '{0}'; ", If(LimiteSuperior > 0, LimiteSuperior.FormatoNumero, ""))
ibOpciones.Attributes.Add("onclick", script.ToString)
lblSuperior.Text = RowEU(0)("Superior").ToString
If LimiteSuperior = -1 And LimiteInferior = -1 Then
'Sin Limite
ElseIf LimiteSuperior > 0 And LimiteInferior = -1 Then
'Solo Limite Superior
lblLimites.Text = String.Format("Hasta {0}", LimiteSuperior.ToString("N"))
ElseIf LimiteInferior > 0 And LimiteSuperior = -1 Then
'Solo limite Inferior
lblLimites.Text = String.Format("Desde {0}", LimiteInferior.ToString("N"))
Else
'Con Limites
lblLimites.Text = String.Format("{0} - {1}", LimiteInferior.ToString("N"), LimiteSuperior.ToString("N"))
End If
e.Row.Cells(i).BackColor = Drawing.Color.Yellow
If DTEstatusUsuarios.FiltraParametros(String.Format("CveEstatusSiguiente = {0} AND CveSuperior = {1}", CveEstatus, CveUsuario)).Rows.Count > 0 Then
chkEstatus.Attributes.Add("onclick", "javascript:var retorno = true; if (this.checked == false) retorno = confirm('Estas seguro????'); return retorno;")
End If
Else
chkEstatus.Checked = False
hdnCveEstatusUsuarios.Value = "-1"
ibOpciones.Style.Add("display", "none")
Dim script As New StringBuilder
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
script.AppendFormat("hdnCveEstatus.value = '{0}';", CveEstatus)
script.AppendFormat("hdnCveUsuario.value = '{0}';", e.Row.DBCampo("CveUsuario").ToString)
script.AppendFormat("hdnCveSuperior.value = '-1'; ")
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0, "true", "false"))
script.AppendFormat("txtLimiteInferior.value = '0.00'; ")
script.AppendFormat("txtLimiteSuperior.value = '0.00'; ")
ibOpciones.Attributes.Add("onclick", script.ToString)
End If
End If
Next
End If
End Sub
Protected Sub GvEstatusUsuariosOC_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEstatusUsuariosOC.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim tmpT As DataTable = DTEstatusUsuarios.FiltraParametros(String.Format("CveUsuario = {0}", e.Row.DBCampo("CveUsuario").ToString))
For i As Integer = 1 To 10
Dim CveEstatus As Integer = GvEstatusUsuariosOC.Columns(i).FooterText.ToEntero
If CveEstatus > 0 Then
Dim chkEstatus As CheckBox = e.Row.FCCheckBox(String.Format("chkEstatus{0}", i))
Dim ibOpciones As ImageButton = e.Row.FCImageButton(String.Format("ibOpciones{0}", i))
Dim hdnCveEstatusUsuarios As HiddenField = e.Row.FCHiddenField(String.Format("hdnCveEstatusUsuarios{0}", i))
Dim lblSuperior As Label = e.Row.FCLabel(String.Format("lblSuperior{0}", i))
Dim lblLimites As Label = e.Row.FCLabel(String.Format("lblLimites{0}", i))
ibOpciones.CommandArgument = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus)).Rows(0)("CveEstatusSiguiente").ToString
Dim RowEU As DataRowCollection = tmpT.FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus)).Rows
Dim CveEstatusUsuarios As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("CveEstatusUsuarios")), RowEU(0)("CveEstatusUsuarios").ToString.ToEntero, -1)
Dim LimiteInferior As Decimal = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("LimiteInferior")), RowEU(0)("LimiteInferior").ToString.ToDecimal, -1)
Dim LimiteSuperior As Decimal = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("LimiteSuperior")), RowEU(0)("LimiteSuperior").ToString.ToDecimal, -1)
Dim CveSuperior As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("CveSuperior")), RowEU(0)("CveSuperior").ToString.ToEntero, -1)
Dim CveUsuario As Integer = If(RowEU.Count > 0 AndAlso Not IsDBNull(RowEU(0)("CveUsuario")), RowEU(0)("CveUsuario").ToString.ToEntero, -1)
If RowEU.Count > 0 Then
chkEstatus.Checked = True
chkEstatus.Attributes.Add("onclick", "javascript:chk1Change(this, '" + ibOpciones.ClientID + "');")
hdnCveEstatusUsuarios.Value = RowEU(0)("CveEstatusUsuarios").ToString
ibOpciones.Style.Add("display", "inline")
Dim script As New StringBuilder
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
script.Append("hdnCveEstatus.value = '-1';")
script.Append("hdnCveUsuario.value = '-1';")
script.AppendFormat("hdnCveSuperior.value = '{0}'; ", CveSuperior)
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0, "true", "false"))
script.AppendFormat("$get('DivLimites').style.display = '{0}';", If(LimiteInferior > 0 Or LimiteSuperior > 0, "inline", "none"))
script.AppendFormat("txtLimiteInferior.value = '{0}'; ", If(LimiteInferior > 0, LimiteInferior.ToString, ""))
script.AppendFormat("txtLimiteSuperior.value = '{0}'; ", If(LimiteSuperior > 0, LimiteSuperior.ToString, ""))
ibOpciones.Attributes.Add("onclick", script.ToString)
lblSuperior.Text = RowEU(0)("Superior").ToString
If LimiteSuperior = -1 And LimiteInferior = -1 Then
'Sin Limite
ElseIf LimiteSuperior > 0 And LimiteInferior = -1 Then
'Solo Limite Superior
lblLimites.Text = String.Format("Hasta {0}", LimiteSuperior.ToString("N"))
ElseIf LimiteInferior > 0 And LimiteSuperior = -1 Then
'Solo limite Inferior
lblLimites.Text = String.Format("Desde {0}", LimiteInferior.ToString("N"))
Else
'Con Limites
lblLimites.Text = String.Format("{0} - {1}", LimiteInferior.ToString("N"), LimiteSuperior.ToString("N"))
End If
e.Row.Cells(i).BackColor = Drawing.Color.Yellow
If DTEstatusUsuarios.FiltraParametros(String.Format("CveEstatusSiguiente = {0} AND CveSuperior = {1}", CveEstatus, CveUsuario)).Rows.Count > 0 Then
chkEstatus.Attributes.Add("onclick", "javascript:var retorno = true; if (this.checked == false) retorno = confirm('Estas seguro????'); return retorno;")
End If
Else
chkEstatus.Checked = False
hdnCveEstatusUsuarios.Value = "-1"
ibOpciones.Style.Add("display", "none")
Dim script As New StringBuilder
script.AppendFormat("javascript:hdnCveEstatusUsuarios.value='{0}'; ", CveEstatusUsuarios)
script.AppendFormat("IDhdnCveEstatusUsuarios.value='{0}'; ", hdnCveEstatusUsuarios.ClientID)
script.AppendFormat("hdnCveEstatus.value = '{0}';", CveEstatus)
script.AppendFormat("hdnCveUsuario.value = '{0}';", e.Row.DBCampo("CveUsuario").ToString)
script.AppendFormat("hdnCveSuperior.value = '-1'; ")
script.AppendFormat("chkMostrarLimites.checked = {0};chkMostrarLimitesCambio();", If(LimiteInferior > 0 Or LimiteSuperior > 0, "true", "false"))
script.AppendFormat("txtLimiteInferior.value = '0.00'; ")
script.AppendFormat("txtLimiteSuperior.value = '0.00'; ")
ibOpciones.Attributes.Add("onclick", script.ToString)
End If
End If
Next
End If
End Sub
Protected Sub ibOpciones1_Click(sender As Object, e As ImageClickEventArgs)
Dim imgBtn As ImageButton = DirectCast(sender, System.Web.UI.WebControls.ImageButton)
ddlSuperior.Items.Clear()
If imgBtn.CommandArgument <> "" Then
'chkMostrarLimites.Visible = If(GlobalDTOCEstatus.FiltraParametros("CveEstatusSiguiente = " + imgBtn.CommandArgument)(0)("TipoTermino").ToString.ToEntero = 3, False, True)
chkMostrarLimites.Style("display") = If(GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros("CveEstatusSiguiente = " + imgBtn.CommandArgument)(0)("TipoTermino").ToString.ToEntero = 3, "none", "inline")
ddlSuperior.DataSource = DTEstatusUsuarios.FiltraParametros(String.Format("CveEstatus = {0}", imgBtn.CommandArgument), "Nombre DESC")
ddlSuperior.DataBind()
ddlSuperior.Items.Insert(0, New ListItem("Todos los Superiores", "-1"))
Try
ddlSuperior.SelectedValue = hdnCveSuperior.Value
Catch ex As Exception
End Try
tblSuperior.Visible = True
Else
tblSuperior.Visible = False
End If
UPSuperior.Update()
UPPEmp.Update()
RegistraScript("$('#DivSuperior').show(1000); PosicionaObjeto('" + imgBtn.ClientID + "','DivSuperior'); chkMostrarLimitesCambio();")
End Sub
#Region "E S T A T U S U S U A R I O S"
Private Sub CargaProyectos()
CboProyecto.DataSource = GlobalDTProyectos(UsuarioActual.Empresa.CveEmpresa, 1).FiltraParametros("", "", {"CveProyecto", "Proyecto"})
CboProyecto.DataBind()
CboProyecto.Items.Insert(0, New ListItem("Seleccione el Proyecto", "-1"))
End Sub
Private Sub CargaSubProyectos()
CboSubProyecto.DataSource = GlobalDTSubProyectos(CboProyecto.SelectedValue.ToEntero)
CboSubProyecto.DataBind()
CboSubProyecto.Items.Insert(0, New ListItem("Seleccione el SubProyecto", "-1"))
End Sub
Private Sub CreaGrid(Tipo As String)
Dim i As Integer = 1
For Each Row As DataRow In GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("Tipo = '{0}' ", Tipo), "Orden").Rows
If Tipo = "OC" Then
GvEstatusUsuariosOC.Columns(i).HeaderText = Row("Estatus").ToString.ToUpper
GvEstatusUsuariosOC.Columns(i).FooterText = Row("CveEstatus").ToString
Else
GvEstatusUsuariosREQ.Columns(i).HeaderText = Row("Estatus").ToString.ToUpper
GvEstatusUsuariosREQ.Columns(i).FooterText = Row("CveEstatus").ToString
End If
i += 1
Next
While i <= 10
If Tipo = "OC" Then
GvEstatusUsuariosOC.Columns(i).Visible = False
Else
GvEstatusUsuariosREQ.Columns(i).Visible = False
End If
i += 1
End While
End Sub
Protected Sub CargaGridEstatusUsuarios(Tipo As String)
If CboSubProyecto.SelectedValue.ToEntero > 0 And (Tipo = "OC" Or Tipo = "Req") Or CboSubProyecto.SelectedValue.ToEntero = -2 Then
'If Tipo = "OC" Then TmpDTOC.Rows.Clear() Else TmpDTReq.Rows.Clear()
Dim CveSubProyecto = If(CboSubProyecto.SelectedValue.ToEntero = -2, -1, CboSubProyecto.SelectedValue.ToEntero)
Dim objEstatusOC As New ClsOC
If objEstatusOC.GetEstatusUsuarios(-1, -1, CveSubProyecto, -1, UsuarioActual.CveEmpresa) Then
DTEstatusUsuarios = objEstatusOC.DtResultados
End If
If Tipo = "OC" Then
GvEstatusUsuariosOC.DataSource = DTEstatusUsuarios.FiltraParametros("", "Nombre", {"CveUsuario", "Nombre"}) 'GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("", "Nombre")
GvEstatusUsuariosOC.DataBind()
Else
GvEstatusUsuariosREQ.DataSource = DTEstatusUsuarios.FiltraParametros("", "Nombre", {"CveUsuario", "Nombre"})
GvEstatusUsuariosREQ.DataBind()
End If
objEstatusOC.Dispose()
UPPEmp.Update()
Else
'Si se vuelve a seleccionar "Seleccione" en el Ddl se limpian los grids
GvEstatusUsuariosOC.DataSource = Nothing
GvEstatusUsuariosOC.DataBind()
GvEstatusUsuariosREQ.DataSource = Nothing
GvEstatusUsuariosREQ.DataBind()
End If
End Sub
Protected Sub CboProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboProyecto.SelectedIndexChanged
If CboProyecto.SelectedValue.ToEntero > 0 Then
GvEstatusUsuariosOC.Enabled = False
GvEstatusUsuariosREQ.Enabled = False
btnGuardarEstatusUsuariosOC.Visible = False
btnGuardarEstatusUsuariosREQ.Visible = False
CargaSubProyectos()
End If
End Sub
Protected Sub CboSubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboSubProyecto.SelectedIndexChanged
GvEstatusUsuariosOC.Enabled = True
GvEstatusUsuariosREQ.Enabled = True
btnGuardarEstatusUsuariosOC.Visible = True
btnGuardarEstatusUsuariosREQ.Visible = True
CargaGridEstatusUsuarios("Req")
CargaGridEstatusUsuarios("OC")
End Sub
Protected Sub btnGuardarEstatusUsuariosREQ_Click(sender As Object, e As EventArgs) Handles btnGuardarEstatusUsuariosREQ.Click
Dim objEstatusOC As New ClsOC
objEstatusOC.IniciaTransacSQL()
Dim HuboErrores As Boolean = False
Dim CveSubProyecto = CboSubProyecto.SelectedValue.ToEntero
For Each Row As GridViewRow In GvEstatusUsuariosREQ.Rows
Dim r As Integer = 1
For i = 0 To Row.Cells.Count - 1
Dim CveEstatus As Integer = If(IsNumeric(GvEstatusUsuariosREQ.Columns(i).FooterText), GvEstatusUsuariosREQ.Columns(i).FooterText.ToEntero, 0)
If CveEstatus > 0 Then
If Row.FCCheckBox("chkEstatus" + r.ToString).Checked = False And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero > 0 Then
'Eliminar el registro existente
If Not objEstatusOC.RemoveEstatusUsuarios(Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero) Then
HuboErrores = True
Exit For
End If
ElseIf Row.FCCheckBox("chkEstatus" + r.ToString).Checked = True And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero = -1 Then
'Guardado masivo cuando sea SubProyecto "Todos"
If CveSubProyecto = -2 Then
For Each dr As DataRow In GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa).Rows
If Not objEstatusOC.AddEstatusUsuarios(CveEstatus, dr("CveSubProyecto").ToString.ToEntero, Row.DataKey("CveUsuario").ToString.ToEntero, True) Then
HuboErrores = True
Exit For
End If
Next
If HuboErrores Then
Exit For
End If
'Insertar el nuevo registro
Else
If Not objEstatusOC.AddEstatusUsuarios(CveEstatus, CveSubProyecto, Row.DataKey("CveUsuario").ToString.ToEntero, True) Then
HuboErrores = True
Exit For
End If
End If
End If
r += 1
End If
Next
'Si tubo algun error terminamos el proceso (FOR)
If HuboErrores Then
Exit For
End If
Next
If Not HuboErrores Then
objEstatusOC.Commit()
Alert("Se guardaron los Cambios exitosamente", TipoMensaje.MsgInformacion)
Else
objEstatusOC.RollBack()
Alert("Ocurrió un error al guardar los cambios. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
objEstatusOC.Dispose()
CargaGridEstatusUsuarios("Req")
End Sub
Protected Sub btnGuardarEstatusUsuariosOC_Click(sender As Object, e As EventArgs) Handles btnGuardarEstatusUsuariosOC.Click
Dim objEstatusOC As New ClsOC
objEstatusOC.IniciaTransacSQL()
Dim HuboErrores As Boolean = False
Dim CveSubProyecto = CboSubProyecto.SelectedValue.ToEntero
For Each Row As GridViewRow In GvEstatusUsuariosOC.Rows
Dim r As Integer = 1
For i = 0 To Row.Cells.Count - 1
Dim CveEstatus As Integer = If(IsNumeric(GvEstatusUsuariosOC.Columns(i).FooterText), GvEstatusUsuariosOC.Columns(i).FooterText.ToEntero, 0)
If CveEstatus > 0 Then
If Row.FCCheckBox("chkEstatus" + r.ToString).Checked = False And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero > 0 Then
'Eliminar el registro existente
If Not objEstatusOC.RemoveEstatusUsuarios(Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero) Then
HuboErrores = True
Exit For
End If
ElseIf Row.FCCheckBox("chkEstatus" + r.ToString).Checked = True And Row.FCHiddenField("hdnCveEstatusUsuarios" + r.ToString).Value.ToEntero = -1 Then
'Guardado masivo cuando sea SubProyecto "Todos"
If CveSubProyecto = -2 Then
For Each dr As DataRow In GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa).Rows
If Not objEstatusOC.AddEstatusUsuarios(CveEstatus, dr("CveSubProyecto").ToString.ToEntero, Row.DataKey("CveUsuario").ToString.ToEntero, True) Then
HuboErrores = True
Exit For
End If
Next
If HuboErrores Then
Exit For
End If
'Insertar el nuevo registro
Else
If Not objEstatusOC.AddEstatusUsuarios(CveEstatus, CveSubProyecto, Row.DataKey("CveUsuario").ToString.ToEntero, True) Then
HuboErrores = True
Exit For
End If
End If
End If
r += 1
End If
Next
'Si tubo algun error terminamos el proceso (FOR)
If HuboErrores Then
Exit For
End If
Next
If Not HuboErrores Then
objEstatusOC.Commit()
Alert("Se guardaron los Cambios exitosamente", TipoMensaje.MsgInformacion)
Else
objEstatusOC.RollBack()
Alert("Ocurrió un error al guardar los cambios. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
objEstatusOC.Dispose()
CargaGridEstatusUsuarios("OC")
End Sub
#End Region
#End Region
End Class

259
OC/CotizacionEnLinea.aspx Normal file
View File

@@ -0,0 +1,259 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CotizacionEnLinea.aspx.vb" Inherits="OC_CotizacionEnLinea" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style type="text/css">
ul.pull-right {
display:none !important;
}
#divMenu{
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Carga de Cotizaciones
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<table cellspacing="0" rules="all" border="0" style="border-collapse: collapse;" width="1000px">
<tr>
<td>
<table style="text-align: left" border="0" cellpadding="0" cellspacing="0" width="1000px">
<tr>
<td colspan="6">
<asp:Label Font-Size="20px" ID="lblEmpresa" runat="server"></asp:Label></td>
</tr>
<tr>
<td style="width: 75px">Sucursal</td>
<td width="100px">
<asp:Label Font-Size="14px" ID="lblSubProyecto" runat="server"></asp:Label></td>
<td style="width: 65px">Telefono</td>
<td width="120px">
<asp:Label Font-Size="14px" ID="lblTelefono" runat="server"></asp:Label></td>
<td width="125px">Lugar Entrega:</td>
<td>
<asp:Label runat="server" ID="LbLugarEntrega"></asp:Label></td>
</tr>
<tr>
<td></td>
<td>
<asp:Label Font-Size="14px" ID="lblFolio" runat="server"></asp:Label></td>
<td></td>
<td>
<asp:Label Font-Size="14px" ID="Label2" runat="server"></asp:Label></td>
</tr>
</table>
</td>
</tr>
<tr>
<td style="text-align: left;">
<table border="0" cellpadding="0" cellspacing="0" width="1000px">
<tr>
<td colspan="4">&nbsp;
</td>
</tr>
<tr style="height: 22px;">
<td style="width: 130px;">Proveedor:
</td>
<td>
<asp:Label ID="lblProveedor" runat="server"></asp:Label>
</td>
<td>Folio de Cotización:
</td>
<td>
<asp:TextBox AutoComplete="off" ID="TxtFolio" runat="server" Width="80px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVFolio" runat="server" ControlToValidate="TxtFolio"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpDetalleGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOFolio" runat="server" HighlightCssClass="vco"
TargetControlID="RFVFolio" Width="300px">
</ajax:ValidatorCalloutExtender>
</td>
</tr>
<tr style="height: 22px;">
<td>Archivo
</td>
<td>
<asp:HyperLink ID="HplArchivo" runat="server" ToolTip="Descargar" Visible="false" Height="20px">[HplArchivo]</asp:HyperLink>
&nbsp;
<div class="btn-file btn green">
<i class="fa fa-plus"></i>
<span>Seleccionar Archivo</span>
<asp:FileUpload ID="FUArchivo" runat="server" onchange="$('#FUTxtt').text(this.value);" Width="170px" />
</div>
<span id="FUTxtt"></span>
</td>
<td>Moneda:
</td>
<td>
<asp:DropDownList ID="ddlMoneda" DataValueField="CveMoneda" DataTextField="Moneda" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 80px !important;" runat="server"></asp:DropDownList>
</td>
</tr>
<tr>
<td colspan="2"></td>
<td>Dias Credito:</td>
<td>
<asp:TextBox AutoComplete="off" runat="server" ID="TxtDiasCredito" Width="80px"></asp:TextBox>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<asp:GridView ID="GvD" runat="server" AutoGenerateColumns="False" DataKeyNames="CveCotizacionDetalle, CveOrdenCompra,CveOrdenCompraDetalle, CvePS, Cantidad,CveUnidadMedida"
ShowHeader="True" Width="1000px" CssClass="table table-striped table-advance table-hover" Style="text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Cantidad">
<ItemTemplate>
<asp:TextBox AutoComplete="off" ID="TxtCant" runat="server" Width="70px" ReadOnly="True" Style="text-align: right; border: none; background-color: #fff; background: transparent;" Text='<%# Eval("Cantidad","{0:N2}") %>'></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="50px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Unidad">
<ItemTemplate>
<asp:Literal ID="LA" runat="server" Text='<%# Bind("Abreviatura") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle Width="50px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Descripción">
<ItemTemplate>
<asp:Literal ID="LDescrip" runat="server" Text='<%# Bind("PS") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle Width="250px" HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Observación">
<ItemTemplate>
<asp:Literal ID="LObs" runat="server" Text='<%# Bind("ObservacionOCD")%>'></asp:Literal>
</ItemTemplate>
<ItemStyle Width="250px" HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" HeaderText="Cantidad Surtir">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox AutoComplete="off" ID="TxtCantidadSurtir" runat="server" Width="75px" Style="text-align: right" Text=""></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVCantidadSurtir" runat="server" ControlToValidate="TxtCantidadSurtir" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad a Surtir''</b> es necesario, por favor ingréselo." ValidationGroup="GrpEditGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECantidadSurtir" runat="server" HighlightCssClass="vco" TargetControlID="RFVCantidadSurtir" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:RangeValidator ID="RVCantidad" runat="server" ControlToValidate="TxtCantidadSurtir" Display="None" Type="Double" MinimumValue="0.01" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad Surtir''</b> debe ser mayor a cero y menor que la cantidad solicitada" ValidationGroup="GrpEditGuardar"></asp:RangeValidator>
<ajax:ValidatorCalloutExtender ID="VCECantidad" runat="server" HighlightCssClass="vco" TargetControlID="RVCantidad" Width="300px"></ajax:ValidatorCalloutExtender>
</ItemTemplate>
<ItemStyle Width="100px" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" HeaderText="Fecha Entrega">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaEntrega" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaEntrega" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaEntrega" runat="server" TargetControlID="TxtFechaEntrega" Mask="99/99/9999" MaskType="Date" UserDateFormat="DayMonthYear" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaEntrega" TargetControlID="TxtFechaEntrega" PopupButtonID="ImgFechaEntrega" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CustomValidator ID="CVFechaEntrega" runat="server" ValidateEmptyText="true" ControlToValidate="TxtFechaEntrega" ClientValidationFunction="ClientValidateFechaEntrega" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Entrega''</b> es necesario, por favor ingréselo." ValidationGroup="GrpEditGuardar"></asp:CustomValidator>
<ajax:ValidatorCalloutExtender ID="VCEFechaEntrega" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaEntrega" Width="300px"></ajax:ValidatorCalloutExtender>
</ItemTemplate>
<ItemStyle Width="140px" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" HeaderText="Precio Unitario">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox AutoComplete="off" ID="TxtPU" runat="server" Width="75px" Style="text-align: right" Text='<%# Eval("PU", "{0:N2}")%>'></asp:TextBox>
<asp:CustomValidator ID="CVPU" runat="server" ValidateEmptyText="true" ControlToValidate="TxtPU" ClientValidationFunction="ClientValidatePU" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Precio Unitario''</b> es necesario, por favor ingréselo." ValidationGroup="GrpEditGuardar"></asp:CustomValidator>
<ajax:ValidatorCalloutExtender ID="VCEPU" runat="server" HighlightCssClass="vco" TargetControlID="CVPU" Width="300px"></ajax:ValidatorCalloutExtender>
</ItemTemplate>
<ItemStyle Width="100px" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" HeaderText="Importe">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox AutoComplete="off" ID="TxtImporte" runat="server" Width="75px" ReadOnly="True" Style="text-align: right; border: none; background-color: #fff; background: transparent;" Text='<%# Eval("Importe", "{0:N2}")%>'></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="100px" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" HeaderText="Observación">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox AutoComplete="off" ID="TxtObservacion" runat="server" Width="95px" Style="text-align: right" Text=""></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="100px" />
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="TitulosChico"></HeaderStyle>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
</asp:GridView>
</td>
</tr>
<tr>
<td>
<hr />
</td>
</tr>
<tr>
<td>
<div style="text-align: right; width: 660px;">
<asp:LinkButton ID="BtnGuardar" runat="server" Text="" ValidationGroup="GrpEditGuardar" class="btn btn-primary" > <i class="fa fa-check"></i> Enviar Cotización</asp:LinkButton>
</div>
</td>
</tr>
</table>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script language="javascript" type="text/javascript">
function ClientValidateFechaEntrega(source, arguments) {
var txtCantidadSurtir = document.getElementById(source.txtCantidadSurtir);
if (txtCantidadSurtir.value == "0") {
arguments.IsValid = true;
} else {
if (arguments.Value == "" || arguments.Value == "__/__/____")
{ arguments.IsValid = false; }
else
{ arguments.IsValid = true; }
}
}
function ClientValidatePU(source, arguments) {
var txtCantidadSurtir = document.getElementById(source.txtCantidadSurtirPU);
if (txtCantidadSurtir.value == 0) {
arguments.IsValid = true;
} else {
if (isNumeric(arguments.Value))
{ arguments.IsValid = true; }
else
{ arguments.IsValid = false; }
}
}
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
function CalculaImporte(Cant, tPU, Imp) {
var Cantidad = ToDouble(Cant.value);
var PU = ToDouble(tPU.value);
var Importe = Cantidad * PU;
Imp.value = Importe.toLocaleString('en-IN');
}
</script>
</asp:Content>

View File

@@ -0,0 +1,503 @@
Imports System.Data
Imports Extensiones
Partial Class OC_CotizacionEnLinea
Inherits Page
'debe de heredar de PAGE, no de clspaginas, porque sino valida la sesion en el servidor.
#Region "Propiedades"
Public Property Empresa As Empresa
Private Property CotizacionActiva As Boolean
Get
CotizacionActiva = CBool(ViewState("CotizacionActiva").ToString)
End Get
Set(value As Boolean)
ViewState("CotizacionActiva") = value
End Set
End Property
Private Property CveOrdenCompra As Integer
Get
CveOrdenCompra = ViewState("CveOrdenCompra").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveOrdenCompra") = value
End Set
End Property
Private Property CveProveedor As Integer
Get
CveProveedor = ViewState("CveProveedor").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveProveedor") = value
End Set
End Property
Private Property CveColectiva As Integer
Get
CveColectiva = ViewState("CveColectiva").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveColectiva") = value
End Set
End Property
Private Property CveEmpresa As Integer
Get
CveEmpresa = ViewState("CveEmpresa").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveEmpresa") = value
End Set
End Property
Private Property CveCotizacion As Integer
Get
CveCotizacion = ViewState("CveCotizacion").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveCotizacion") = value
End Set
End Property
Private Property Validacion As String
Get
Validacion = ViewState("Validacion").ToString
End Get
Set(value As String)
ViewState("Validacion") = value
End Set
End Property
Private Property CorreoCCP As String
Get
CorreoCCP = ViewState("CorreoCCP").ToString
End Get
Set(value As String)
ViewState("CorreoCCP") = value
End Set
End Property
Private Property CorreoPara As String
Get
CorreoPara = ViewState("CorreoPara").ToString
End Get
Set(value As String)
ViewState("CorreoPara") = value
End Set
End Property
Private Property DtDetalle As DataTable
Get
DtDetalle = DirectCast(ViewState("DtDetalle"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtDetalle") = value
End Set
End Property
Private Property DiasCredito As Integer
Get
DiasCredito = ViewState("DiasCredito").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("DiasCredito") = value
End Set
End Property
#End Region
#Region "C A R G A D A T O S"
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CType(Me.Master, Site).EsPopup = True
CType(Me.Master, Site).PopupWidth = 670
'Validar que este activo aun el link
'ViewState("CveOrdenCompra") = If(Not Request("CveOrdenCompra") Is Nothing AndAlso Request("CveOrdenCompra").ToString.ToEntero > 0, Request("CveOrdenCompra").ToEntero, 0)
'ViewState("CveProveedor") = If(Not Request("CveProveedor") Is Nothing AndAlso Request("CveProveedor").ToString.ToEntero > 0, Request("CveProveedor").ToEntero, 0)
RegistraScript("$('#mBody').addClass('page-sidebar-closed')")
RegistraScript("$('#divMenu').css('display','none')")
ViewState("Validacion") = If(Not Request("P") Is Nothing, Request("P").ToString, "")
'If Validacion IsNot Nothing AndAlso Validacion = Encripta(String.Format("{0}|||{1}", CveOrdenCompra, CveProveedor)) Then
If Validacion IsNot Nothing Then
Dim Cadena As String = ModExtensiones.Decripta(Validacion)
If Cadena <> "" Then
Dim UrlParametros As Hashtable = Parametros(Cadena)
If UrlParametros("CVECOTIZACION") IsNot Nothing AndAlso UrlParametros("CVECOTIZACION").ToString.ToEntero > 0 Then
ViewState("CveCotizacion") = UrlParametros("CVECOTIZACION").ToString.ToEntero
' PnlGral.Visible = True
CargaMonedas()
CargaCotizacion()
Else
Alert("ERROR", TipoMensaje.MsgError)
End If
Else
Alert("ERROR", TipoMensaje.MsgError)
End If
Else
Alert("ERROR", TipoMensaje.MsgError)
End If
End If
End Sub
Protected Sub CargaMonedas()
Dim objMonedas As New ClsMonedas
If objMonedas.GetMonedas Then
ddlMoneda.DataSource = objMonedas.DtResultados
ddlMoneda.DataBind()
End If
objMonedas.Dispose()
End Sub
Private Sub CargaCotizacion()
Dim objCotizacion As New ClsOC
If objCotizacion.GetCotizaciones(-1, CveCotizacion) Then
ViewState("CveOrdenCompra") = objCotizacion.CveOrdenCompra
ViewState("CveEmpresa") = objCotizacion.CveEmpresa
ViewState("CveProveedor") = objCotizacion.CveProveedor
ViewState("CveColectiva") = objCotizacion.CveColectiva
DiasCredito = objCotizacion.DiasCredito
lblEmpresa.Text = objCotizacion.Empresa
lblSubProyecto.Text = objCotizacion.SubProyecto
LbLugarEntrega.Text = objCotizacion.LugarEntrega
TxtDiasCredito.Text = objCotizacion.DiasCredito.ToString
'lblFolio.Text = objCotizacion.Folio.ToString
TxtFolio.Text = objCotizacion.Folio.ToString
ddlMoneda.SelectedValue = objCotizacion.CveMoneda.ToString
Dim Emp As New ClsSisEmpresas
If Emp.GetEmpresas(CveEmpresa, "-1", "-1", "-1", "-1") Then
If Emp.DtResultados.Rows.Count > 0 Then
lblTelefono.Text = Emp.DtResultados.Rows(0)("Telefono").ToString
End If
End If
Emp.Dispose()
If objCotizacion.CveProveedor > 0 Then
Dim objProveedor As New ClsCompProveedores
If objProveedor.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, CveProveedor, "-1", "-1", "-1", "-1", "-1", "-1", "-1", 1, CveEmpresa) Then
If objProveedor.DtResultados.Rows.Count > 0 Then
lblProveedor.Text = objProveedor.DtResultados.Rows(0)("RazonSocial").ToString
End If
End If
objProveedor.Dispose()
ElseIf objCotizacion.CveColectiva > 0 Then
Dim objColectiva As New ClsGenerales
If objColectiva.GetColectivas(CveColectiva, "-1", "-1", "1", CveEmpresa) Then
If objColectiva.DtResultados.Rows.Count > 0 Then
lblProveedor.Text = objColectiva.DtResultados.Rows(0)("Colectiva").ToString
End If
End If
objColectiva.Dispose()
End If
'Dim CorreosCCP As String() = Nothing
Dim StrCorreoPara As String = ""
Dim StrCorreos As New StringBuilder
Dim Contador As Integer = 1
If objCotizacion.GetOC(CveOrdenCompra, CveEmpresa) Then
If objCotizacion.GetEstatusUsuarios(-1, objCotizacion.CveEstatusSiguiente, -1, CveOrdenCompra, CveEmpresa) Then
Dim Usr As New ClsSisUsuarios
For Each Row As DataRow In objCotizacion.DtResultados.Rows
'Array.Resize(CorreosCCP, If(CorreosCCP IsNot Nothing, UBound(CorreosCCP) + 2, 1))
If Usr.GetUsuarios(Row("CveUsuario").ToString.ToEntero) Then
If Usr.DtResultados.Rows.Count > 0 AndAlso Usr.DtResultados.Rows(0) IsNot Nothing Then
If Contador = 1 Then
StrCorreoPara = Usr.DtResultados.Rows(0)("correo").ToString
Contador += 1
Else
StrCorreos.AppendFormat("{0};", Usr.DtResultados.Rows(0)("correo").ToString)
End If
'CorreosCCP(UBound(CorreosCCP)) = Usr.DtResultados.Rows(0)("correo").ToString
End If
End If
Next
Usr.Dispose()
End If
ViewState("CorreoCCP") = StrCorreos.ToString
ViewState("CorreoPara") = StrCorreoPara
If objCotizacion.GetCotizacionesDetalle(CveCotizacion, -1) Then
DtDetalle = objCotizacion.DtResultados
If objCotizacion.DtResultados.COUNT("CveCotizacionDetalle", "PU IS NOT NULL") = 0 Then ViewState("CotizacionActiva") = True Else ViewState("CotizacionActiva") = False
GvD.DataSource = DtDetalle
GvD.DataBind()
End If
If CotizacionActiva = False Then Alert("Esta cotización ya fue capturada y no puede ser modificada", TipoMensaje.MsgAdvertencia) : BtnGuardar.Visible = False : GvD.Enabled = False : TxtFolio.Enabled = False : FUArchivo.Enabled = False
End If
End If
objCotizacion.Dispose()
End Sub
#End Region
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
Dim objCotizacion As New ClsOC
objCotizacion.IniciaTransacSQL()
Dim TieneError = False
If objCotizacion.UpdateCotizacion(CveProveedor, CveColectiva, TxtFolio.Text, Now.ToShortDateString(), IO.Path.GetExtension(FUArchivo.FileName), ddlMoneda.SelectedValue.ToEntero, TxtDiasCredito.Text.ToEntero, 0, CveCotizacion) Then
If FUArchivo.HasFile Then
'verificar que exista el directorio
If Not System.IO.Directory.Exists(String.Format("{0}/Empresas/{1}/Cotizaciones/", AppDomain.CurrentDomain.BaseDirectory, CveEmpresa)) Then
System.IO.Directory.CreateDirectory(String.Format("{0}/Empresas/{1}/Cotizaciones/", AppDomain.CurrentDomain.BaseDirectory, CveEmpresa))
End If
FUArchivo.SaveAs(String.Format("{0}/Empresas/{1}/Cotizaciones/{2}{3}", AppDomain.CurrentDomain.BaseDirectory, CveEmpresa, CveCotizacion, IO.Path.GetExtension(FUArchivo.FileName)))
End If
For Each dr As GridViewRow In GvD.Rows
If Not objCotizacion.UpdateCotizacionDetalle(dr.DataKey("CveCotizacionDetalle").ToEntero, dr.FCTextBox("TxtPU").Text.ToDouble, dr.FCTextBox("txtCantidadSurtir").Text.ToDouble, If(dr.FCTextBox("txtFechaEntrega").Text.Trim = "" Or dr.FCTextBox("txtFechaEntrega").Text = "__/__/____", "-1", dr.FCTextBox("txtFechaEntrega").Text), dr.FCTextBox("txtObservacion").Text.ToString) Then
TieneError = True
Exit For
End If
Next
If Not TieneError Then
objCotizacion.Commit()
Alert("Cotización Guardada.", TipoMensaje.MsgInformacion)
Else
objCotizacion.RollBack()
Alert("Ocurrió un error al guardar la cotización.", TipoMensaje.MsgError)
End If
End If
objCotizacion.Dispose()
'Enviar mail
If Not TieneError Then
Dim Body As String = GeneraCorreo(CveProveedor, CveCotizacion)
If Body <> String.Empty AndAlso CorreoPara <> "" Then
ViewState("Para") = CorreoPara
ViewState("ArrayCC") = CorreoCCP
ViewState("Asunto") = "SIG - Cotización Recibida"
ViewState("Body") = Body
Dim Hilo As New System.Threading.Thread(AddressOf MandaCorreo)
Hilo.Start()
End If
End If
TxtFolio.Enabled = False
FUArchivo.Enabled = False
GvD.Enabled = False
BtnGuardar.Enabled = False
End Sub
#Region " C O R R E O "
Private Sub MandaCorreo()
Dim Mail As New ClsSisMail()
Empresa = ClsPaginas.EmpresaNotificaciones
Empresa.Ruta = String.Format("{0}Empresas\{1}\", AppDomain.CurrentDomain.BaseDirectory, CveEmpresa)
Mail.SendMail(Empresa, ViewState("Para").ToString, ViewState("Asunto").ToString, ViewState("Body").ToString, ViewState("ArrayCC").ToString)
'Mail.MandaCorreo(Empresa, ViewState("Para").ToString, ViewState("Asunto").ToString, CType(ViewState("ArrayCC"), String()), ViewState("Body").ToString)
End Sub
Private Function GeneraCorreo(CveProveedor As Integer, CveCotizacion As Integer) As String
Dim objCotizacion As New ClsOC
Dim strBody As New StringBuilder
If objCotizacion.GetOC(CveOrdenCompra, CveEmpresa) Then
Dim Folio = "", Descripcion = "", Justificacion = "", Estatus = "", Empresa = "", FechaEstimadaEntrega = ""
Folio = objCotizacion.Folio
Descripcion = objCotizacion.Descripcion
Justificacion = objCotizacion.Justificacion
Estatus = objCotizacion.Estatus
Empresa = objCotizacion.Empresa
FechaEstimadaEntrega = objCotizacion.FechaEstimadaEntrega
If objCotizacion.GetCotizaciones(-1, CveCotizacion) Then
strBody.Append("<html xmlns=""http://www.w3.org/1999/xhtml""> ")
strBody.Append("<head> ")
strBody.Append(" <style type=""text/css""> ")
strBody.Append(" body ")
strBody.Append(" { ")
strBody.Append(" margin:0px; ")
strBody.Append(" padding:0px 0px 0px 0px; ")
strBody.Append(" font-family: Verdana, Arial, Helvetica, sans-serif; ")
strBody.Append(" font-size: 10px; ")
strBody.Append(" background-color:#F0F0F0; ")
strBody.Append(" } ")
strBody.Append(" a.Texto ")
strBody.Append(" { ")
strBody.Append(" font-size:11px; ")
strBody.Append(" background-color:#F7F6F3; ")
strBody.Append(" text-decoration:none; ")
strBody.Append(" font-weight:bold; ")
strBody.Append(" } ")
strBody.Append(" .Texto ")
strBody.Append(" { ")
strBody.Append(" background-color:#F7F6F3; color:Black; font-family:Verdana; font-size:10px; text-align:center; vertical-align:middle; height:20px;")
strBody.Append(" } ")
strBody.Append(" .TextoAlterno ")
strBody.Append(" { ")
strBody.Append(" background-color:White; color:Black; font-family:Verdana; font-size:10px; text-align:center; ")
strBody.Append(" vertical-align:middle; height:20px;")
strBody.Append(" } ")
strBody.Append(" .BarraIdentidad ")
strBody.Append(" { ")
strBody.Append(" color:#FFFFFF; ")
strBody.Append(" background:#F0F0F0; ")
strBody.Append(" font-weight:bold; ")
strBody.Append(" font-size:19px; ")
strBody.Append(" font-style:oblique; ")
strBody.Append(" } ")
strBody.Append(" .Titulos ")
strBody.Append(" { ")
strBody.Append(" background-color: Gray;")
strBody.Append(" color:White; ")
strBody.Append(" font-family:Verdana; font-size:12px; text-align:center; ")
strBody.Append(" vertical-align:middle; font-weight:bold; height:30px; ")
strBody.Append(" text-decoration:none; ")
strBody.Append(" } ")
strBody.Append(" .Contenido ")
strBody.Append(" { ")
strBody.Append(" background-color: White;")
strBody.Append(" font-family:Verdana; font-size:12px; text-align:center; ")
strBody.Append(" vertical-align:middle; font-weight:bold; height:30px; ")
strBody.Append(" text-decoration:none; ")
strBody.Append(" } ")
strBody.Append(" .Verde {color: #00CC00;} ")
strBody.Append(" .Negro {color: #000000;} ")
strBody.Append(" .Rojo {color: #FF0000;} ")
strBody.Append(" </style> ")
strBody.Append("</head> ")
strBody.Append("<body> ")
strBody.Append("<div class='Titulos'>Se acaba de recibir una Cotización</div><br>")
strBody.Append("<div class='Contenido'>")
strBody.AppendFormat(" <div id=""C_divOC"" style=""width: 550px""> <fieldset> <legend><b>Datos {0}</b></legend> ", "Cotización")
strBody.Append(" <table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""100%""> ")
strBody.Append(" <tr style=""height: 22px""> ")
strBody.AppendFormat(" <td style=""width: 90px""> Empresa:</td><td colspan=""3""><b>{0}</b></td> ", Empresa)
strBody.Append(" </tr> ")
strBody.Append(" <tr style=""height: 22px""> ")
strBody.AppendFormat(" <td>Entrega:</td><td><b>{0}</b></td><td>&nbsp;</td><td><b>&nbsp;</b></td> ", FechaEstimadaEntrega)
strBody.Append(" </tr> ")
'strBody.Append(" <tr style=""height: 20px""> ")
'strBody.AppendFormat(" <td>Descripción:</td><td colspan='3'><b>{0}</b></td> ", objOC.Descripcion)
'strBody.Append(" </tr> ")
'strBody.Append(" <tr style=""height: 20px""> ")
'strBody.AppendFormat(" <td>Justificación</td><td colspan=""3""><textarea name=""ctlTJ"" rows=""5"" cols=""20"" readonly=""readonly""id=""ctlTJ"" style=""width: 300px;"">{0}</textarea></td> ", OC.Justificacion)
'strBody.Append(" </tr> ")
strBody.Append(" </table> ")
strBody.Append(" </fieldset> ")
strBody.Append(" </div> ")
strBody.AppendFormat(" <div id=""C_divProv"" style=""width: 550px""> <fieldset> <legend><b>Proveedor</b></legend> ")
strBody.Append(" <table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""100%""> ")
strBody.Append(" <tr style=""height: 22px""> ")
strBody.AppendFormat(" <td style=""width: 90px""> Folio:</td><td style=""width: 125px""><b>{0}</b></td><td style=""width: 90px""> Estatus: </td><td><b>{1}</b></td> ", Folio, Estatus)
strBody.Append(" </tr> ")
strBody.Append(" <tr style=""height: 22px""> ")
strBody.AppendFormat(" <td style=""width: 90px""> Proveedor:</td><td colspan=""3""><b>{0}</b></td> ", If(objCotizacion.CveProveedor > 0, objCotizacion.RazonSocial, objCotizacion.Colectiva))
strBody.Append(" </tr> ")
strBody.Append(" <tr style=""height: 20px""> ")
strBody.AppendFormat(" <td>Descripción:</td><td colspan='3'><b>{0}</b></td> ", Descripcion)
strBody.Append(" </tr> ")
strBody.Append(" <tr style=""height: 20px""> ")
strBody.AppendFormat(" <td>Justificación</td><td colspan=""3""><textarea name=""ctlTJ"" rows=""5"" cols=""20"" readonly=""readonly""id=""ctlTJ"" style=""width: 300px;"">{0}</textarea></td> ", Justificacion)
strBody.Append(" </tr> ")
strBody.Append(" </table> ")
strBody.Append(" </fieldset> ")
strBody.Append(" </div> ")
'Cargo el detalle
strBody.Append(" <div style='width: 550px'> ")
strBody.Append(" <fieldset> ")
strBody.Append(" <legend>Productos Cotizados</legend> ")
strBody.Append(" <table width=""550px""> <tr style='background-color:gray;color:White;font-family:Verdana;font-size:10px;text-align:center;vertical-align:middle;font-weight:bold;height:20px;text-decoration:none;'><th scope='col' style='width: 50px'>Cantidad</th><th scope='col' style='width: 50px'>Unidad</th><th scope='col' style='width: 225px'>Descripción</th><th scope='col' style='width: 100px'>Precio Unitario</th><th scope='col' style='width: 125px'>Importe</th>")
'strBody.Append(" <th scope='col' style='width: 100px'>Clasificación</th><th scope='col' style='width: 85px'>Maq</th></tr>")
strBody.Append(" </tr>")
'verifico los permisos según el estatus
objCotizacion.GetCotizacionesDetalle(CveCotizacion)
Dim dtConceptos As DataTable = objCotizacion.DtResultados
For Each dr As DataRow In dtConceptos.Rows
strBody.AppendFormat("<tr class='Texto'><td style='width:50px;'>{0}</td><td style='width:50px;'>{1}</td><td align='left' style='width:225px;'>{2}</td><td style='width:100px;text-align:right;'>${3}</td><td style='width:125px;text-align:right;'>${4}</td></tr>", dr("Cantidad").ToString.FormatoNumero, dr("Abreviatura"), dr("PS"), dr("PU").ToString.FormatoNumero(2), dr("Importe").ToString.FormatoNumero)
Next
strBody.Append(" </table> ")
strBody.Append(" </fieldset> ")
strBody.Append(" </div> ")
strBody.Append("</div>")
strBody.Append("</body></html>")
Else
OnError("NO SE ENCONTRO COTIZACION AL QUERER MANDAR CORREO DONDE SE CAPTURO COTIZACION", New Exception)
End If
Else
OnError("NO SE ENCONTRO ORDEN DE COMPRA AL QUERER MANDAR CORREO DONDE SE CAPTURO COTIZACION", New Exception)
End If
Return strBody.ToString
End Function
#End Region
#Region "GV"
Protected Sub GvD_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvD.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.FCCalendarExtender("CEFechaEntrega").StartDate = Date.Now
e.Row.FCTextBox("TxtPU").Attributes.Add("onchange", String.Format("$get('{0}').value = FormatNumber(parseFloat(this.value) * parseFloat($get('{1}').value), 2, true, true, true);", e.Row.FCTextBox("TxtImporte").ClientID, e.Row.FCTextBox("TxtCant").ClientID))
Page.ClientScript.RegisterExpandoAttribute(e.Row.FCCustomValidator("CVFechaEntrega").ClientID, "txtCantidadSurtir", e.Row.FCTextBox("txtCantidadSurtir").ClientID, False)
Page.ClientScript.RegisterExpandoAttribute(e.Row.FCCustomValidator("CVPU").ClientID, "txtCantidadSurtirPU", e.Row.FCTextBox("txtCantidadSurtir").ClientID, False)
e.Row.FCRangeValidator("RVCantidad").MaximumValue = e.Row.DBCampo("Cantidad")
e.Row.FCTextBox("TxtPU").Attributes.Add("onkeyup", String.Format("CalculaImporte({0},this,{1})", e.Row.FCTextBox("TxtCantidadSurtir").ClientID, e.Row.FCTextBox("TxtImporte").ClientID))
e.Row.FCTextBox("TxtCantidadSurtir").Attributes.Add("onkeyup", String.Format("CalculaImporte(this,{0},{1})", e.Row.FCTextBox("TxtPU").ClientID, e.Row.FCTextBox("TxtImporte").ClientID))
End If
End Sub
Private Function Parametros(Cadena As String) As Hashtable
Dim P1() As String = Cadena.Split("&"c)
Dim Tmp As String
Dim P2() As String
Dim URLParametros As New Hashtable
For Each Tmp In P1
P2 = Tmp.Split("="c)
URLParametros.Add(P2(0).ToString.ToUpper, P2(1))
Next
Return URLParametros
End Function
#End Region
End Class

155
OC/CotizacionEnvio.aspx Normal file
View File

@@ -0,0 +1,155 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CotizacionEnvio.aspx.vb" Inherits="OC_CotizacionEnvio" %>
<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">
Envío de Solicitud de Cotización
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPPDetalle" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table>
<tr>
<td>
<ajax:TabContainer Width="100%" runat="server" ID="tabCotizaciones" ActiveTabIndex="0" CssClass="tabBodyOverride">
<ajax:TabPanel ID="tabProveedores" runat="server" HeaderText="Invitación a Proveedores">
<ContentTemplate>
<table class="table table-striped table-advance table-hover" width="580px">
<thead>
<tr class="Titulos TextTab">
<th scope="col" style="width: 300px">Clasificacion<br />
Proveedor</th>
<th scope="col" style="width: 150px">RFC</th>
<th scope="col" style="width: 200px">Email</th>
<th scope="col" style="width: 80px">&nbsp;</th>
</tr>
</thead>
<tr id="trAddDetalle" runat="server">
<td>
<asp:DropDownList ID="CboProveedorClasificacion" AutoPostBack="true" runat="server" DataTextField="ProveedorClasificacion" DataValueField="CveProveedorClasificacion" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 290px !important;"></asp:DropDownList><br />
<br />
<asp:DropDownList ID="CboProveedor" AutoPostBack="true" runat="server" DataTextField="RazonSocial" DataValueField="CveProveedor" Class="select2me table-group-action-input form-control input-inline input-small input-sm" Style="width: 290px !important;"></asp:DropDownList>
</td>
<td>
<asp:TextBox ID="txtRFC" Width="140px" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVRFC" runat="server" ControlToValidate="txtRFC" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''RFC''</b> es necesario, por favor ingréselo." ValidationGroup="VGEnviar"></asp:RequiredFieldValidator>
</td>
<td>
<asp:TextBox ID="txtContactoMail" Width="190px" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVContactoMail" runat="server" ControlToValidate="txtContactoMail" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Email''</b> es necesario, por favor ingréselo." ValidationGroup="VGEnviar"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="REVContactoMail" runat="server" ControlToValidate="txtContactoMail" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Email''</b> no tiene el formato correcto." ValidationGroup="VGEnviar" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
<ajax:ValidatorCalloutExtender ID="VCOContactoMail" runat="server" HighlightCssClass="vco" TargetControlID="RFVContactoMail" Width="300px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="VCOContactoMail2" runat="server" HighlightCssClass="vco" TargetControlID="REVContactoMail" Width="300px"></ajax:ValidatorCalloutExtender>
</td>
<td style="text-align: center;">
<asp:ImageButton ID="ImgAddDetalle" runat="server" ImageUrl="~/Imagenes/Btn_Add.png" ValidationGroup="VGEnviar" />
</td>
</tr>
</table>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="tabColectivas" runat="server" HeaderText="Invitacion en General">
<ContentTemplate>
<table class="table table-striped table-advance table-hover" width="580px">
<thead>
<tr class="Titulos TextTab">
<th scope="col" style="width: 300px">Colectiva</th>
<th scope="col" style="width: 150px">RFC</th>
<th scope="col" style="width: 200px">Email</th>
<th scope="col" style="width: 80px">&nbsp;</th>
</tr>
</thead>
<tr>
<td>
<asp:DropDownList ID="ddlColectiva" AutoPostBack="true" runat="server" DataTextField="Colectiva" DataValueField="CveColectiva" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 290px !important;"></asp:DropDownList>
<asp:RangeValidator ID="RVColectiva" runat="server" ControlToValidate="ddlColectiva" Display="None" Type="Integer" MinimumValue="0" MaximumValue="2147483647" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Colectiva''</b> es necesario, por favor seleccione uno ó Ingrese uno Nuevo." ValidationGroup="VGEnviarColectiva"></asp:RangeValidator>
<ajax:ValidatorCalloutExtender ID="VCORVColectiva" runat="server" HighlightCssClass="vco" TargetControlID="RVColectiva" Width="300px"></ajax:ValidatorCalloutExtender>
<br />
<br />
<asp:TextBox ID="txtColectiva" runat="server" Width="290px"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txtRFCColectiva" Width="140px" runat="server"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txtContactoMailColectiva" Width="190px" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVContactoMailColectiva" runat="server" ControlToValidate="txtContactoMailColectiva" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Email''</b> es necesario, por favor ingréselo." ValidationGroup="VGEnviarColectiva"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="REVContactoMailColectiva" runat="server" ControlToValidate="txtContactoMailColectiva" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Email''</b> no tiene el formato correcto." ValidationGroup="VGEnviarColectiva" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
<ajax:ValidatorCalloutExtender ID="VCEContactoMailColectiva1" runat="server" HighlightCssClass="vco" TargetControlID="RFVContactoMailColectiva" Width="300px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="VCEContactoMailColectiva2" runat="server" HighlightCssClass="vco" TargetControlID="REVContactoMailColectiva" Width="300px"></ajax:ValidatorCalloutExtender>
</td>
<td style="text-align: center;">
<asp:ImageButton ID="ImgAddDetalleColectiva" runat="server" ImageUrl="~/Imagenes/Btn_Add.png" ValidationGroup="VGEnviarColectiva" />
</td>
</tr>
</table>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</td>
</tr>
<tr>
<td>
<asp:GridView ID="GvProveedores" DataKeyNames="CveProveedor, ContactoMail, Tipo, RazonSocial, RFC" runat="server" AutoGenerateColumns="False" ShowHeader="False" Width="700px" CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Proveedor">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="ltRazonSocial" runat="server" Text='<%# Bind("RazonSocial")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="300px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="RFC">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="ltRFC" runat="server" Text='<%# Bind("RFC")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="150px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="ContactoMail">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="ltContactoMail" runat="server" Text='<%# Bind("ContactoMail")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="200px" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False">
<EditItemTemplate>
<asp:ImageButton ID="ImgUpdate" runat="server" CausesValidation="True" CommandName="Update" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />&nbsp;<asp:ImageButton ID="ImgCancel" runat="server" CausesValidation="False" CommandName="Cancel" CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-times'></i>" />
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="ImgDelete" runat="server" CausesValidation="False" OnClientClick="return confirm('Está seguro que desea eliminar el movimiento?')" CommandName="Delete" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" />
</ItemTemplate>
<ItemStyle Width="80px" HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
<tr>
<td style="text-align: center">
<asp:Button ID="btnEnviar" runat="server" Text="Enviar Solicitud" class="btn btn-primary" /></td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script language="javascript" type="text/javascript">
function Ir() {
parent.CargaDatosCotizaciones();
parent.tb_remove();
}
</script>
</asp:Content>

423
OC/CotizacionEnvio.aspx.vb Normal file
View File

@@ -0,0 +1,423 @@
Imports System.Data
Imports Extensiones
Partial Class OC_CotizacionEnvio
Inherits ClsPaginas
#Region "Propiedades"
Private Property CveOrdenCompra As Integer
Get
CveOrdenCompra = ViewState("CveOrdenCompra").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveOrdenCompra") = value
End Set
End Property
Private Property DtEnvio As DataTable
Get
DtEnvio = DirectCast(ViewState("DtEnvio"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtEnvio") = value
End Set
End Property
Private Property DtColectivas As DataTable
Get
DtColectivas = DirectCast(ViewState("DtColectivas"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtColectivas") = value
End Set
End Property
#End Region
#Region "C A R G A D A T O S"
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
'CType(Me.Master, Site).EsPopup = True
RegistraScript("$get('tdContenido').style.height='500px'")
If Request("CveOrdenCompra") IsNot Nothing AndAlso IsNumeric(Request("CveOrdenCompra")) AndAlso Request("CveOrdenCompra").ToEntero > 0 Then
ViewState("CveOrdenCompra") = Request("CveOrdenCompra")
CargaDatos()
Else
Alert("Error en CveOC", TipoMensaje.MsgError)
End If
End If
End Sub
Protected Sub CargaDatos()
CargaProveedoresClasificaciones()
CargaProveedores()
CargaColectivas()
CreaDTEnvio()
End Sub
Private Sub CreaDTEnvio()
DtEnvio = New DataTable
DtEnvio.Columns.Add("Tipo", GetType(String))
DtEnvio.Columns.Add("CveProveedorClasificacion", GetType(Integer))
DtEnvio.Columns.Add("ProveedorClasificacion", GetType(String))
DtEnvio.Columns.Add("CveProveedor", GetType(Integer))
DtEnvio.Columns.Add("RazonSocial", GetType(String))
DtEnvio.Columns.Add("RFC", GetType(String))
DtEnvio.Columns.Add("ContactoMail", GetType(String))
End Sub
Protected Sub CargaProveedoresClasificaciones()
CboProveedorClasificacion.DataSource = GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa)
CboProveedorClasificacion.DataBind()
CboProveedorClasificacion.Items.Insert(0, New ListItem("Clasificacion de Proveedor", "-1"))
End Sub
Protected Sub CboProveedorClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboProveedorClasificacion.SelectedIndexChanged
CargaProveedores()
End Sub
Protected Sub CargaProveedores()
CboProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveProveedorClasificacion = {0} OR {0} = -1", CboProveedorClasificacion.SelectedValue))
CboProveedor.DataBind()
CboProveedor.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub
Protected Sub CargaColectivas()
Dim objColectiva As New ClsGenerales
If objColectiva.GetColectivas(-1, "-1", "-1", "1", UsuarioActual.CveEmpresa) Then
DtColectivas = objColectiva.DtResultados
ddlColectiva.DataSource = DtColectivas
ddlColectiva.DataBind()
ddlColectiva.Items.Insert(0, New ListItem("Seleccione la Colectiva", "-1"))
ddlColectiva.Items.Insert(1, New ListItem("AGREGAR NUEVO", "0"))
End If
objColectiva.Dispose()
End Sub
#End Region
Protected Sub ddlColectiva_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlColectiva.SelectedIndexChanged
If ddlColectiva.SelectedValue = "0" Then
txtColectiva.Enabled = True
Else
txtColectiva.Enabled = False
txtContactoMailColectiva.Text = If(Not IsDBNull(DtColectivas.FiltraParametros(String.Format("CveColectiva = {0}", ddlColectiva.SelectedValue))(0)("Correo")), DtColectivas.FiltraParametros(String.Format("CveColectiva = {0}", ddlColectiva.SelectedValue))(0)("Correo").ToString, "")
txtRFCColectiva.Text = If(Not IsDBNull(DtColectivas.FiltraParametros(String.Format("CveColectiva = {0}", ddlColectiva.SelectedValue))(0)("Correo")), DtColectivas.FiltraParametros(String.Format("CveColectiva = {0}", ddlColectiva.SelectedValue))(0)("RFC").ToString, "")
End If
End Sub
Protected Sub CboProveedor_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboProveedor.SelectedIndexChanged
txtContactoMail.Text = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveProveedor = {0}", CboProveedor.SelectedValue)).Rows(0)("ContactoMail").ToString
txtRFC.Text = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveProveedor = {0}", CboProveedor.SelectedValue)).Rows(0)("RFC").ToString
End Sub
Protected Sub ImgAddDetalle_Click(sender As Object, e As ImageClickEventArgs) Handles ImgAddDetalle.Click
If CboProveedor.SelectedValue.ToEntero <= 0 Then
Alert("Seleccione proveedor", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If DtEnvio IsNot Nothing Then
If DtEnvio.FiltraParametros(String.Format("CveProveedor = {0}", CboProveedor.SelectedItem.Value)).Rows.Count = 0 Then
Dim Clasif As String = ""
If CboProveedorClasificacion.SelectedItem.Value.ToEntero > 0 Then
Clasif = CboProveedorClasificacion.SelectedItem.Text
Else
Dim drt As DataRow
drt = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveProveedor = {0}", CboProveedor.SelectedValue)).Rows(0)
If drt IsNot Nothing Then
Dim dtt As DataTable = GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveProveedorClasificacion = {0}", drt("CveProveedorClasificacion").ToString()))
If dtt IsNot Nothing AndAlso dtt.Rows.Count > 0 Then
Clasif = dtt.Rows(0)("ProveedorClasificacion").ToString()
End If
End If
End If
Dim dr As DataRow = DtEnvio.NewRow
dr("Tipo") = "PROVEEDOR"
dr("ProveedorClasificacion") = Clasif
dr("CveProveedorClasificacion") = CboProveedorClasificacion.SelectedItem.Value
dr("RazonSocial") = CboProveedor.SelectedItem.Text
dr("CveProveedor") = CboProveedor.SelectedItem.Value
dr("RFC") = txtRFC.Text
dr("ContactoMail") = txtContactoMail.Text
DtEnvio.Rows.Add(dr)
GvProveedores.DataSource = DtEnvio.FiltraParametros("", "Tipo, ProveedorClasificacion")
GvProveedores.DataBind()
End If
End If
End Sub
Protected Sub ImgAddDetalleColectiva_Click(sender As Object, e As ImageClickEventArgs) Handles ImgAddDetalleColectiva.Click
If DtEnvio IsNot Nothing Then
' If DtEnvio.FiltraParametros(String.Format("CveProveedor = {0}", CboProveedor.SelectedItem.Value)).Rows.Count = 0 Then
Dim dr As DataRow = DtEnvio.NewRow
dr("Tipo") = "COLECTIVA"
dr("ProveedorClasificacion") = "-1"
dr("CveProveedorClasificacion") = -1
dr("RazonSocial") = If(ddlColectiva.SelectedValue.ToEntero = 0, txtColectiva.Text, ddlColectiva.SelectedItem.Text)
dr("CveProveedor") = ddlColectiva.SelectedItem.Value
dr("RFC") = txtRFCColectiva.Text
dr("ContactoMail") = txtContactoMailColectiva.Text
DtEnvio.Rows.Add(dr)
GvProveedores.DataSource = DtEnvio.FiltraParametros("", "Tipo, ProveedorClasificacion")
GvProveedores.DataBind()
'End If
ddlColectiva.SelectedIndex = 0
txtColectiva.Text = ""
txtContactoMailColectiva.Text = ""
End If
End Sub
Protected Sub GvProveedores_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvProveedores.RowDeleting
Dim DbRow As DataRow = Nothing
DbRow = DtEnvio.Rows(e.RowIndex)
DtEnvio.Rows.Remove(DbRow)
GvProveedores.DataSource = DtEnvio
GvProveedores.DataBind()
End Sub
Protected Sub btnEnviar_Click(sender As Object, e As EventArgs) Handles btnEnviar.Click
If DtEnvio IsNot Nothing AndAlso DtEnvio.Rows.Count = 0 Then
Alert("Agregue invitaciones a la solicitud", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim OrdenCotizacion As New List(Of Integer)
Dim Correo As New List(Of String)()
' Dim RFC As New List(Of String)()
Dim TieneError As Boolean = False
Dim objCotizacion As New ClsOC
Dim objColectiva As New ClsGenerales(objCotizacion.IniciaTransacSQL())
Try
Dim CveProveedor As Integer = -1
Dim CveColectiva As Integer = -1
Dim i As Integer = 0
For Each Row As GridViewRow In GvProveedores.Rows
CveProveedor = If(GvProveedores.Rows(Row.RowIndex).DataKey("Tipo") = "PROVEEDOR", GvProveedores.Rows(Row.RowIndex).DataKey("CveProveedor").ToEntero, -1)
CveColectiva = If(GvProveedores.Rows(Row.RowIndex).DataKey("Tipo") = "COLECTIVA", GvProveedores.Rows(Row.RowIndex).DataKey("CveProveedor").ToEntero, -1)
' RFC.Add(GvProveedores.Rows(Row.RowIndex).DataKey("RFC"))
Correo.Add(GvProveedores.Rows(Row.RowIndex).DataKey("ContactoMail"))
'Ingresar la colectiva si es que no existe
If CveColectiva = 0 Then
If objColectiva.AddColectivas(GvProveedores.Rows(Row.RowIndex).DataKey("RazonSocial").ToString, "", GvProveedores.Rows(Row.RowIndex).DataKey("RFC").ToString, "", "", GvProveedores.Rows(Row.RowIndex).DataKey("ContactoMail").ToString, -1, "", "1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
CveColectiva = objColectiva.CveColectiva
Else
TieneError = True
Exit For
End If
End If
If TieneError = False Then
If objCotizacion.AddCotizacion(CveOrdenCompra, CveProveedor, CveColectiva, "-1", "-1", "", 1, 0, 0) Then
'Cargar los detalles de la cotizacion
If objCotizacion.GetOrdenesDetalle(CveOrdenCompra) Then
'Agrega CveCotizacion a la lista
OrdenCotizacion.Add(objCotizacion.CveCotizacion)
For Each RowCD As DataRow In objCotizacion.DtResultados.Rows
If Not objCotizacion.AddCotizacionDetalle(objCotizacion.CveCotizacion, RowCD("CvePS").ToString.ToEntero, -1, RowCD("Cantidad").ToString.ToDouble, RowCD("CveUnidadMedida").ToString.ToEntero, 0, "-1", "", RowCD("CveOrdenCompraDetalle").ToString.ToEntero) Then TieneError = True : Exit For
Next
'If TieneError = False Then
' Dim Body As String = GeneraCorreo(objCotizacion.CveCotizacion, objCotizacion)
' 'ViewState("Para") = Correo
' 'ViewState("Asunto") = "SIG - Solicitud de Cotizacion"
' 'ViewState("Body") = Body
' 'Dim Hilo As New System.Threading.Thread(AddressOf MandaCorreo)
' 'Hilo.Start()
'End If
Else
TieneError = True
Exit For
End If
Else
TieneError = True
Exit For
End If
End If
Next
Catch ex As Exception
OnError("Ocurrió error al mandar MAIL", ex)
objCotizacion.RollBack()
Finally
If TieneError = False Then
objCotizacion.Commit()
Alert("Correo de Solicitud Enviado.", TipoMensaje.MsgInformacion)
Else
objCotizacion.RollBack()
End If
If TieneError = False Then
Dim Body As String
For i = 0 To Correo.Count - 1
'Dim Body As String = GeneraCorreo(objCotizacion.CveCotizacion, objCotizacion)
Body = GeneraCorreo(OrdenCotizacion(i), objCotizacion)
ViewState("Para") = Correo(i)
ViewState("Asunto") = "SIG - Solicitud de Cotizacion"
ViewState("Body") = Body
Dim Hilo As New System.Threading.Thread(AddressOf MandaCorreo)
Hilo.Start()
Next
End If
objCotizacion.Dispose()
End Try
RegistraScript("Ir();")
End Sub
#Region " C O R R E O "
Private Sub MandaCorreo()
Dim Mail As New ClsSisMail()
' Mail.MandaCorreo(ClsPaginas.EmpresaNotificaciones, ViewState("Para").ToString, ViewState("Asunto").ToString, ViewState("Body").ToString)
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, ViewState("Para").ToString, ViewState("Asunto").ToString, ViewState("Body").ToString)
End Sub
Private Function GeneraCorreo(CveCotizacion As Integer, objOC As ClsOC) As String
objOC.GetOC(CveOrdenCompra, UsuarioActual.CveEmpresa)
Dim strBody As New StringBuilder
strBody.Append("<html xmlns=""http://www.w3.org/1999/xhtml""> ")
strBody.Append("<head> ")
strBody.Append(" <style type=""text/css""> ")
strBody.Append(" body ")
strBody.Append(" { ")
strBody.Append(" margin:0px; ")
strBody.Append(" padding:0px 0px 0px 0px; ")
strBody.Append(" font-family: Verdana, Arial, Helvetica, sans-serif; ")
strBody.Append(" font-size: 10px; ")
strBody.Append(" background-color:#F0F0F0; ")
strBody.Append(" } ")
strBody.Append(" a.Texto ")
strBody.Append(" { ")
strBody.Append(" font-size:11px; ")
strBody.Append(" background-color:#F7F6F3; ")
strBody.Append(" text-decoration:none; ")
strBody.Append(" font-weight:bold; ")
strBody.Append(" } ")
strBody.Append(" .Texto ")
strBody.Append(" { ")
strBody.Append(" background-color:#F7F6F3; color:Black; font-family:Verdana; font-size:10px; text-align:center; vertical-align:middle; height:20px;")
strBody.Append(" } ")
strBody.Append(" .TextoAlterno ")
strBody.Append(" { ")
strBody.Append(" background-color:White; color:Black; font-family:Verdana; font-size:10px; text-align:center; ")
strBody.Append(" vertical-align:middle; height:20px;")
strBody.Append(" } ")
strBody.Append(" .BarraIdentidad ")
strBody.Append(" { ")
strBody.Append(" color:#FFFFFF; ")
strBody.Append(" background:#F0F0F0; ")
strBody.Append(" font-weight:bold; ")
strBody.Append(" font-size:19px; ")
strBody.Append(" font-style:oblique; ")
strBody.Append(" } ")
strBody.Append(" .Titulos ")
strBody.Append(" { ")
strBody.Append(" background-color: Gray;")
strBody.Append(" color:White; ")
strBody.Append(" font-family:Verdana; font-size:12px; text-align:center; ")
strBody.Append(" vertical-align:middle; font-weight:bold; height:30px; ")
strBody.Append(" text-decoration:none; ")
strBody.Append(" } ")
strBody.Append(" .Contenido2 ")
strBody.Append(" { ")
strBody.Append(" background-color: White;")
strBody.Append(" font-family:Verdana; font-size:12px; text-align:center; ")
strBody.Append(" vertical-align:middle; font-weight:bold; height:30px; ")
strBody.Append(" text-decoration:none; ")
strBody.Append(" } ")
strBody.Append(" .Verde {color: #00CC00;} ")
strBody.Append(" .Negro {color: #000000;} ")
strBody.Append(" .Rojo {color: #FF0000;} ")
strBody.Append(" </style> ")
strBody.Append("</head> ")
strBody.Append("<body> ")
strBody.Append("<div class='Titulos'>Por medio del Presente Correo Electronico, solicito a usted tenga a bien emitir cotización</div><br>")
strBody.Append("<div class='Contenido2' style='display: table!important'>")
strBody.AppendFormat(" <div id=""C_divOC"" style=""width: 660px""> <fieldset> <legend><b>Datos {0}</b></legend> ", "Cotización")
strBody.Append(" <table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""100%""> ")
strBody.Append(" <tr style=""height: 22px""> ")
strBody.AppendFormat(" <td style=""width: 130px""> Empresa:</td><td colspan=""3""><b>{0}</b></td> ", objOC.Empresa)
strBody.Append(" </tr> ")
strBody.Append(" <tr style=""height: 22px""> ")
strBody.AppendFormat(" <td>Fecha Entrega:</td><td><b>{0}</b></td><td>&nbsp;</td><td><b>&nbsp;</b></td> ", objOC.FechaEstimadaEntrega)
strBody.Append(" </tr> ")
strBody.Append(" <tr style=""height: 22px""> ")
strBody.AppendFormat(" <td>Lugar Entrega:</td><td><b>{0}</b></td><td>&nbsp;</td><td><b>&nbsp;</b></td> ", objOC.LugarEntrega)
strBody.Append(" </tr> ")
'strBody.Append(" <tr style=""height: 20px""> ")
'strBody.AppendFormat(" <td>Descripción:</td><td colspan='3'><b>{0}</b></td> ", objOC.Descripcion)
'strBody.Append(" </tr> ")
'strBody.Append(" <tr style=""height: 20px""> ")
'strBody.AppendFormat(" <td>Justificación</td><td colspan=""3""><textarea name=""ctlTJ"" rows=""5"" cols=""20"" readonly=""readonly""id=""ctlTJ"" style=""width: 300px;"">{0}</textarea></td> ", OC.Justificacion)
'strBody.Append(" </tr> ")
strBody.Append(" </table> ")
strBody.Append(" </fieldset> ")
strBody.Append(" </div> ")
'Cargo el detalle
strBody.Append(" <div style='width: 650px'> ")
strBody.Append(" <fieldset> ")
strBody.Append(" <legend>Productos a Cotizar</legend> ")
strBody.Append(" <table width=""650px""> <tr style='background-color:gray;color:White;font-family:Verdana;font-size:10px;text-align:center;vertical-align:middle;font-weight:bold;height:20px;text-decoration:none;'><th scope='col' style='width: 50px'>Cantidad</th><th scope='col' style='width: 50px'>Unidad</th><th scope='col' style='width: 225px'>Descripción</th><th scope='col' style='width: 225'>Observación</th>")
'strBody.Append(" <th scope='col' style='width: 100px'>Clasificación</th><th scope='col' style='width: 85px'>Maq</th></tr>")
strBody.Append(" </tr>")
'verifico los permisos según el estatus
Dim dtConceptos As DataTable = Nothing
If objOC.GetOrdenesDetalle(CveOrdenCompra) Then
dtConceptos = objOC.DtResultados
End If
For Each dr As DataRow In dtConceptos.Rows
strBody.AppendFormat("<tr class='Texto'><td style='width:50px;'>{0}</td><td style='width:50px;'>{1}</td><td align='left' style='width:225px;'>{2}</td><td align='left' style='width:225px;'>{3}</td></tr>", dr("Cantidad").ToString.FormatoNumero, dr("Abreviatura"), dr("PS"), dr("Obs")) ', dr("Clasificacion"), dr("Codigo"))
Next
strBody.Append(" </table> ")
strBody.Append(" </fieldset> ")
strBody.Append(" </div> ")
'strBody.AppendFormat("<div>Capture la cotizacion <a href='http://sig.adsistemas.mx/OC/CotizacionEnLinea.aspx?CveOrdenCompra={0}&CveProveedor={1}&Validacion={2}'>AQUI</a></div>", CveOrdenCompra, CveProveedor, Encripta(String.Format("{0}|||{1}", CveOrdenCompra, CveProveedor)))
strBody.AppendFormat("<div>Capture la cotizacion <a href='http://sig.adsistemas.mx/OC/CotizacionEnLinea.aspx?P={0}'>AQUI</a></div>", ModExtensiones.Encripta(String.Format("CveCotizacion={0}", CveCotizacion)))
strBody.Append("</div>")
strBody.Append("</body></html>")
Return strBody.ToString
End Function
#End Region
End Class

86
OC/ListaRequisicion.aspx Normal file
View File

@@ -0,0 +1,86 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ListaRequisicion.aspx.cs" Inherits="OC_ListaRequisicion" %>
<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="E" runat="Server">
Requisición de Centro de Consumo a Almacén
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel ID="UpLnkAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkImprimirPDF" OnClick="LnkImprimirPDF_Click" runat="server"> <i class="fa fa-ad-pdf"></i><span style="padding: 10px">Generar PDF</span></asp:LinkButton></li>
<li>
<asp:LinkButton ID="LnkImprimirExcel" OnClick="LnkImprimirExcel_Click" runat="server"> <i class="fa fa-ad-excel"></i><span style="padding: 10px">Generar Excel</span></asp:LinkButton></li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkImprimirPDF" />
<asp:PostBackTrigger ControlID="LnkImprimirExcel" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%-- <div class="row">
<div class="col-md-4">--%>
<asp:GridView ID="GVDatos" runat="server" DataKeyNames="Fila, CvePS1, CvePS2, CvePS3, CveClasificacion1, CveClasificacion2, CveClasificacion3"
AutoGenerateColumns="False" EmptyDataText="No se encontraron Registros con los filtros especificados" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn ScrollAD" GridLines="None"
EmptyDataRowStyle-HorizontalAlign="Center" OnRowDataBound="GVDatos_RowDataBound">
<Columns>
<asp:BoundField DataField="PSClasificacion1" HeaderText="PRODUCTO" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Center" HeaderText="CANT">
<ItemTemplate>
<asp:TextBox runat="server" ID="TxtCantidad1" Enabled="false" Width="100%"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="8%" ItemStyle-HorizontalAlign="Center" HeaderText="UDS">
<ItemTemplate>
<asp:Literal ID="LtlUM1" runat="server" Text='<%# Eval("Abreviatura1") %> '></asp:Literal>
</ItemTemplate>
<ItemStyle BackColor="#9cacc1" BorderColor="#9cacc1" />
</asp:TemplateField>
<asp:BoundField DataField="PSClasificacion2" HeaderText="PRODUCTO" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Center" HeaderText="CANT">
<ItemTemplate>
<asp:TextBox runat="server" ID="TxtCantidad2" Enabled="false" Width="100%"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="8%" ItemStyle-HorizontalAlign="Center" HeaderText="UDS">
<ItemTemplate>
<asp:Literal ID="LtlUM2" runat="server" Text='<%# Eval("Abreviatura2") %> '></asp:Literal>
</ItemTemplate>
<ItemStyle BackColor="#9cacc1" BorderColor="#9cacc1" />
</asp:TemplateField>
<asp:BoundField DataField="PSClasificacion3" HeaderText="PRODUCTO" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Center" HeaderText="CANT">
<ItemTemplate>
<asp:TextBox runat="server" ID="TxtCantidad3" Enabled="false" Width="100%"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="8%" ItemStyle-HorizontalAlign="Center" HeaderText="UDS">
<ItemTemplate>
<asp:Literal ID="LtlUM3" runat="server" Text='<%# Eval("Abreviatura3") %> '></asp:Literal>
</ItemTemplate>
<ItemStyle BackColor="#9cacc1" BorderColor="#9cacc1" />
</asp:TemplateField>
</Columns>
</asp:GridView>
<%-- </div>--%>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

136
OC/ListaRequisicion.aspx.cs Normal file
View File

@@ -0,0 +1,136 @@
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;
using Microsoft.Reporting.WebForms;
using System.IO;
using System.Text;
public partial class OC_ListaRequisicion : ClsPaginas
{
#region "PROPIEDADES"
private DataTable DTDatos
{
get
{
return (DataTable)ViewState["DTDatos"];
}
set
{
ViewState["DTDatos"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CargaDatos();
}
}
#region "CARGA DATOS"
protected void CargaDatos()
{
ClsProductosServicios ObjPS = new ClsProductosServicios();
if (ObjPS.GetPSClasificados(UsuarioActual.CveEmpresa))
{
DTDatos = ObjPS.DtResultados;
GVDatos.DataSource = DTDatos;
GVDatos.DataBind();
}
ObjPS.Dispose();
UPDatos.Update();
}
protected void GVDatos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if ((e.Row.DataKey("CvePS1").ToString() == ""))
{
//e.Row.CssClass = "Totales";
e.Row.Cells[0].BackColor = System.Drawing.ColorTranslator.FromHtml("#9cacc1");
e.Row.Cells[1].BackColor = System.Drawing.ColorTranslator.FromHtml("#9cacc1");
e.Row.FCTextBox("TxtCantidad1").Visible = false;
}
if ((e.Row.DataKey("CvePS2").ToString() == ""))
{
//e.Row.CssClass = "Totales";
e.Row.Cells[3].BackColor = System.Drawing.ColorTranslator.FromHtml("#9cacc1");
e.Row.Cells[4].BackColor = System.Drawing.ColorTranslator.FromHtml("#9cacc1");
e.Row.FCTextBox("TxtCantidad2").Visible = false;
}
if ((e.Row.DataKey("CvePS3").ToString() == ""))
{
//e.Row.CssClass = "Totales";
if ((e.Row.DataKey("CveClasificacion3").ToEntero() > 0))
{
e.Row.Cells[6].BackColor = System.Drawing.ColorTranslator.FromHtml("#9cacc1");
e.Row.Cells[7].BackColor = System.Drawing.ColorTranslator.FromHtml("#9cacc1");
e.Row.FCTextBox("TxtCantidad3").Visible = false;
}
else
{
e.Row.FCTextBox("TxtCantidad3").Visible = false;
}
}
}
}
#endregion
#region "IMPRESION"
protected void LnkImprimirPDF_Click(object sender, EventArgs e)
{
ImprimiReporte();
}
protected void LnkImprimirExcel_Click(object sender, EventArgs e)
{
ImprimiReporte("Excel");
}
protected void ImprimiReporte(string Formato = "PDF")
{
string Ruta = string.Format("{0}Empresas/{1}/", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa);
string RutaPDF = string.Format("{0}/Formatos/ListaRequisicion.rdlc", Ruta);
if (!File.Exists(RutaPDF))
{
RutaPDF = "Empresas/Grales/Formatos/ListaRequisicion.rdlc";
}
var logouri = string.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
System.IO.FileInfo Imagen = new System.IO.FileInfo(string.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
List<ReportParameter> @params = new List<ReportParameter>();
@params.Add(new ReportParameter("pImg", new Uri(Server.MapPath(string.Format("~/Empresas/{0}/Logo.png", UsuarioActual.CveEmpresa))).AbsoluteUri));
@params.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
@params.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
@params.Add(new ReportParameter("FechaImpresion", DateTime.Now.ToShortDateString()));
if (Imagen.Exists)
{
@params.Add(new ReportParameter("LogoPath", logouri));
}
else
{
@params.Add(new ReportParameter("LogoPath", ""));
}
ImprimirPDF(RutaPDF, DTDatos, @params, "Lista de Requisicion", Formato);
}
#endregion
}

2911
OC/OC.aspx Normal file

File diff suppressed because it is too large Load Diff

7121
OC/OC.aspx.vb Normal file

File diff suppressed because it is too large Load Diff

4662
OC/OC2.aspx.vb Normal file

File diff suppressed because it is too large Load Diff

129
OC/OCCompras.aspx Normal file
View File

@@ -0,0 +1,129 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="OCCompras.aspx.vb" Inherits="OC_OCCompras" %>
<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">
Seguimiento Compras
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<ajax:TabContainer ID="Tabs" runat="server" ActiveTabIndex="0" Width="100%" TabStripPlacement="Top"
BorderStyle="None" BorderWidth="1px" CssClass="tabBodyOverride">
<ajax:TabPanel ID="TabAutorizadas" runat="server" HeaderText="Autorizadas para compra">
<HeaderTemplate>
<asp:Label ID="Label3" runat="server" Text="Cotizaciones Autorizadas" ToolTip="Haga Click"></asp:Label>
</HeaderTemplate>
<ContentTemplate>
<asp:GridView ID="GVAut" runat="server" AutoGenerateColumns="False" Width="975px" CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; text-align: center;" GridLines="None">
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="CveOrdenCompra"
DataNavigateUrlFormatString="/OC/OC.aspx?OC={0}" DataTextField="Folio"
HeaderText="#">
<ItemStyle Width="25px" HorizontalAlign="Center" />
</asp:HyperLinkField>
<asp:BoundField DataField="Proyecto" HeaderText="Proyecto">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="SubProyecto" HeaderText="SubProyecto">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="Descripcion" HeaderText="Descripción">
<ItemStyle Width="175px" />
</asp:BoundField>
<asp:BoundField DataField="DetallePS" HeaderText="Detalle">
<ItemStyle Width="275px" />
</asp:BoundField>
<asp:BoundField DataField="EstatusOrdenCompra" HeaderText="Estatus">
<ItemStyle Width="75px" />
</asp:BoundField>
<asp:BoundField DataField="FechaSolicita" HeaderText="F. Solicitud"
DataFormatString="{0:d}">
<ItemStyle Width="65px" />
</asp:BoundField>
<asp:BoundField DataField="NombreAutoriza" HeaderText="Autorizó" />
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:LinkButton ID="LnkRecibir" CommandArgument='<%# Eval("CveOrdenCompra") %>' CommandName="Recibir" runat="server">Recibir</asp:LinkButton>
</ItemTemplate>
<ItemStyle Width="65px" />
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="TitulosChico"></HeaderStyle>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
</asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabCotizaciones" runat="server" HeaderText="Cotizaciones">
<HeaderTemplate>
<asp:Label ID="LblTabIdentidad" runat="server" Text="Cotizaciones Pendientes" ToolTip="Haga Click"></asp:Label>
</HeaderTemplate>
<ContentTemplate>
<asp:GridView ID="GVCot" runat="server" AutoGenerateColumns="False" Width="975px" CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; text-align: center;" GridLines="None">
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="CveOrdenCompra"
DataNavigateUrlFormatString="/OC/OC.aspx?OC={0}" DataTextField="Folio"
HeaderText="#">
<ItemStyle Width="25px" HorizontalAlign="Center" />
</asp:HyperLinkField>
<asp:BoundField DataField="Proyecto" HeaderText="Proyecto">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="SubProyecto" HeaderText="SubProyecto">
<ItemStyle Width="100px" />
</asp:BoundField>
<asp:BoundField DataField="Descripcion" HeaderText="Descripción">
<ItemStyle Width="175px" />
</asp:BoundField>
<asp:BoundField DataField="DetallePS" HeaderText="Detalle">
<ItemStyle Width="275px" />
</asp:BoundField>
<%--<asp:BoundField DataField="ClasificacionCompra" HeaderText="Clasificación" >
<ItemStyle Width="100px" />
</asp:BoundField>--%>
<asp:BoundField DataField="EstatusOrdenCompra" HeaderText="Estatus">
<ItemStyle Width="75px" />
</asp:BoundField>
<asp:BoundField DataField="NombreAutoriza" HeaderText="F. Solicitud"
DataFormatString="{0:d}">
<ItemStyle Width="65px" />
</asp:BoundField>
<asp:BoundField DataField="NombreSolicita" HeaderText="Solicitó" />
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:LinkButton ID="LnkCotizada" CommandArgument='<%# Eval("CveOrdenCompra") %>' CommandName="Cotizada" runat="server">Cotizada</asp:LinkButton>
</ItemTemplate>
<ItemStyle Width="65px" />
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="TitulosChico"></HeaderStyle>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
</asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabComprando" runat="server" HeaderText="Comprando">
<HeaderTemplate>
<asp:Label ID="Label1" runat="server" Text="Comprando" ToolTip="Haga Click"></asp:Label>
</HeaderTemplate>
<ContentTemplate>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabCompradas" runat="server" HeaderText="Compradas">
<HeaderTemplate>
<asp:Label ID="Label2" runat="server" Text="Compradas" ToolTip="Haga Click"></asp:Label>
</HeaderTemplate>
<ContentTemplate>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

75
OC/OCCompras.aspx.vb Normal file
View File

@@ -0,0 +1,75 @@
Imports Extensiones
Partial Class OC_OCCompras
Inherits ClsPaginas
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CargaDatos()
End If
End Sub
Private Sub CargaDatos()
'Dim OC As New ClsOC
'GVCot.Caption = ""
''Autorizadas para compra
'If OC.GetOrdenes(UsuarioActual.Empresa.CveEmpresa, -1, -1, -1, 3, ("01/01/2000").ToDate, ("01/01/2900").ToDate, -1, -1) Then
' GVAut.DataSource = OC.DtResultados
' GVAut.DataBind()
'End If
''Cotizando
'If OC.GetOrdenes(UsuarioActual.Empresa.CveEmpresa, -1, -1, -1, 5, ("01/01/2000").ToDate, ("01/01/2900").ToDate, -1, -1) Then
' GVCot.DataSource = OC.DtResultados
' GVCot.DataBind()
'End If
''Comprando
'If OC.GetOrdenes(UsuarioActual.Empresa.CveEmpresa, -1, -1, -1, 7, ("01/01/2000").ToDate, ("01/01/2900").ToDate, -1, -1) Then
' GVCot.DataSource = OC.DtResultados
' GVCot.DataBind()
'End If
'OC.Dispose()
End Sub
Protected Sub GVAut_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GVAut.RowCommand
If e.CommandName = "Recibir" Then
Dim OC As New ClsOC
If OC.UpdateOrdenCompraEstatus(7, e.CommandArgument.ToString.ToEntero, UsuarioActual.CveUsuario, "") Then
Alert("Se recibió la orden de compra", TipoMensaje.MsgInformacion)
CargaDatos()
End If
OC.Dispose()
End If
If e.CommandName = "Cotizada" Then
Dim OC As New ClsOC
If OC.UpdateOrdenCompraEstatus(6, e.CommandArgument.ToString.ToEntero, UsuarioActual.CveUsuario, "") Then
Alert("Se cotizó la orden de compra", TipoMensaje.MsgInformacion)
End If
OC.Dispose()
CargaDatos()
End If
If e.CommandName = "Comprada" Then
Dim OC As New ClsOC
If OC.UpdateOrdenCompraEstatus(8, e.CommandArgument.ToString.ToEntero, UsuarioActual.CveUsuario, "") Then
Alert("Se compró la orden de compra", TipoMensaje.MsgInformacion)
End If
OC.Dispose()
CargaDatos()
End If
End Sub
End Class

View File

@@ -0,0 +1,166 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false"
CodeFile="PopOCCotizaciones.aspx.vb" Inherits="PopOCCotizaciones" %>
<%@ MasterType virtualPath="~/Site.master"%>
<asp:Content ID="Content1" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="E" runat="Server">
Carga de Cotizaciones
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="C" runat="Server">
<table cellspacing="0" rules="all" border="0" style="border-collapse: collapse;"
width="730px">
<tr class="TitulosChico">
<th scope="col" style="width: 25px">
#
</th>
<th scope="col" style="width: 150px">
Proveedor
</th>
<th scope="col" style="width: 200px">
Descripción
</th>
<th scope="col" style="width: 80px">
Total
</th>
<th scope="col" style="width: 80px">
Fecha
</th>
<th scope="col" style="width: 170px">
Archivo
</th>
<th scope="col" style="width: 25px"></th>
</tr>
<tr style="height:22px">
<td>&nbsp;</td>
<td>
<asp:DropDownList ID="CboProveedores" runat="server" DataTextField="RazonSocial"
DataValueField="CveProveedor" Width="144px">
</asp:DropDownList>
<ajax:ListSearchExtender id="LSEProveedores" runat="server"
TargetControlID="CboProveedores"
PromptText="Escriba para buscar"
PromptCssClass="ListSearchExtenderPrompt"
PromptPosition="Top"
IsSorted="true"/>
<asp:RequiredFieldValidator ID="RFVProveedor" runat="server" ControlToValidate="CboProveedores"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Proveedor''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpDetalleGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEProveedor" runat="server" HighlightCssClass="vco"
TargetControlID="RFVProveedor" Width="300px">
</ajax:ValidatorCalloutExtender>
</td>
<td>
<asp:TextBox ID="TxtDescripcion" runat="server" Width="194px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVDescripcion" runat="server" ControlToValidate="TxtDescripcion"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpDetalleGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCODescripcion" runat="server" HighlightCssClass="vco"
TargetControlID="RFVDescripcion" Width="300px">
</ajax:ValidatorCalloutExtender>
</td>
<td>
<asp:TextBox ID="TxtTotal" runat="server" Width="74px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTotal" runat="server" ControlToValidate="TxtTotal"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Total''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpDetalleGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETotal" runat="server" HighlightCssClass="vco"
TargetControlID="RFVTotal" Width="300px">
</ajax:ValidatorCalloutExtender>
<asp:CustomValidator
ID="CustomValidator2" runat="server" ErrorMessage="Total Incorrecto"
ToolTip="Valor Inválido" ValidateEmptyText="True" ValidationGroup="GrpDetalleGuardar"
Display="Dynamic" ControlToValidate="TxtTotal" ClientValidationFunction="ValidaDecimal"
Text="*"></asp:CustomValidator>
</td>
<td>
<asp:TextBox ID="TxtFecha" runat="server" CausesValidation="true"
MaxLength="10" ValidationGroup="GrpGuardar" Width="70px"></asp:TextBox>
<asp:ImageButton ID="imgFecha" runat="server" visible="false"
AlternateText="Click para ver el Calendario"
ImageUrl="~/imagenes/calendar.png" />
<ajax:MaskedEditExtender ID="MEEFecha" runat="server"
AcceptNegative="Left" CultureAMPMPlaceholder=""
CultureCurrencySymbolPlaceholder="" CultureDateFormat=""
CultureDatePlaceholder="" CultureDecimalPlaceholder=""
CultureThousandsPlaceholder="" CultureTimePlaceholder="" DisplayMoney="Left"
Enabled="True" ErrorTooltipEnabled="True" Mask="99/99/9999" MaskType="Date"
TargetControlID="TxtFecha" />
<ajax:MaskedEditValidator ID="MEVFecha" runat="server"
ControlExtender="MEEFecha" ControlToValidate="TxtFecha"
Display="None" EmptyValueBlurredText="*"
EmptyValueMessage="Fecha de Inicio de pagos Requerida" ErrorMessage=""
InvalidValueBlurredMessage="*" InvalidValueMessage="Fecha Inválida"
IsValidEmpty="False" TooltipMessage="Ingrese Fecha"
ValidationGroup="GrpGuardar" />
<ajax:CalendarExtender ID="CEFecha" runat="server" Enabled="True"
PopupButtonID="imgFecha" PopupPosition="BottomRight"
TargetControlID="TxtFecha">
</ajax:CalendarExtender>
<ajax:ValidatorCalloutExtender ID="VcoFechaI" runat="server"
HighlightCssClass="vco" TargetControlID="MEVFecha" Width="300px">
</ajax:ValidatorCalloutExtender>
</td>
<td>
<asp:FileUpload ID="FUArchivo" runat="server" Width="170px" />
</td>
<td style="text-align: center;">
<asp:ImageButton ID="ImgAddFactura" runat="server" ImageUrl="~/Imagenes/Btn_Add.png"
ValidationGroup="GrpDetalleGuardar" />
</td>
</tr>
<tr>
<td colspan="7">
<asp:GridView ID="GVC" runat="server" AutoGenerateColumns="False" width="730px">
<Columns>
<asp:BoundField DataField="Num" HeaderText="#">
<HeaderStyle Width="25px" />
<ItemStyle HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="RazonSocial" HeaderText="Proveedor">
<HeaderStyle Width="150px" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Descripcion" HeaderText="Descripción">
<HeaderStyle Width="200px" />
<ItemStyle HorizontalAlign="Left" />
</asp:BoundField>
<asp:BoundField DataField="Total" HeaderText="Total" DataFormatString="{0:N2}">
<HeaderStyle Width="80px" />
<ItemStyle HorizontalAlign="Right" />
</asp:BoundField>
<asp:BoundField DataField="Fecha" HeaderText="Fecha" DataFormatString="{0:d}">
<HeaderStyle Width="80px" />
</asp:BoundField>
<asp:TemplateField HeaderText="Archivo">
<ItemTemplate>
<asp:HyperLink ID="HplArchivo" runat="server" NavigateUrl='<%# Eval("NombreArchivo","/Cotizaciones/{0}") %>'><img src="/Imagenes/<%# Eval("Extension","{0}.png") %>" border="0" width="18px" alt="Descargar"/></asp:HyperLink>
</ItemTemplate>
<HeaderStyle Width="170px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:ImageButton ID="ImgEliminar" runat="server" CommandName="Eliminar"
CommandArgument='<%# Eval("CveCotizacion") %>' ImageUrl="/Imagenes/delete.png" />
<ajax:ConfirmButtonExtender ID="cbe" runat="server"
TargetControlID="ImgEliminar"
ConfirmText="Está seguro que desea eliminar la cotización?" />
</ItemTemplate>
<HeaderStyle Width="25px" />
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="TitulosChico"></HeaderStyle>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
</asp:GridView>
</td>
</tr>
</table>
</asp:Content>

View File

@@ -0,0 +1,105 @@

Imports System.Data
Imports Extensiones
Partial Class PopOCCotizaciones
Inherits ClsPaginas
#Region "Propiedades"
Private Property CveOrdenCompra As Integer
Get
CveOrdenCompra = ViewState("CveOrdenCompra").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveOrdenCompra") = value
End Set
End Property
Private Property DtDetalle As DataTable
Get
DtDetalle = DirectCast(ViewState("DtDetalle"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtDetalle") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
If Not Request("OC") Is Nothing AndAlso Request("OC").ToString.ToEntero > 0 Then
Master.EsPopup = True
CveOrdenCompra = Request("OC").ToEntero
CargaCotizaciones(CveOrdenCompra)
CboProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
CboProveedores.DataBind()
End If
End If
End Sub
Private Sub CargaCotizaciones(CveOrden As Integer)
Dim Cotizaciones As New ClsOC
If Cotizaciones.GetCotizaciones(CveOrden) Then
DtDetalle = Cotizaciones.DtResultados
GVC.DataSource = DtDetalle
GVC.DataBind()
End If
Cotizaciones.Dispose()
End Sub
Protected Sub ImgAddFactura_Click(sender As Object, e As ImageClickEventArgs) Handles ImgAddFactura.Click
If FUArchivo.HasFile Then
Dim Cotizaciones As New ClsOC
Dim CveCotizacion As Integer = Cotizaciones.AddCotizacion(TxtDescripcion.Text, CveOrdenCompra, CboProveedores.SelectedValue.ToEntero, 0, TxtTotal.Text.ToDouble, TxtFecha.Text.ToDate, IO.Path.GetExtension(FUArchivo.FileName), UsuarioActual.CveUsuario)
If CveCotizacion > 0 Then
FUArchivo.SaveAs(String.Format("{0}/OC/Cotizaciones/{1}{2}", AppDomain.CurrentDomain.BaseDirectory, CveCotizacion, IO.Path.GetExtension(FUArchivo.FileName)))
GVC.DataSource = Cotizaciones.DtResultados
GVC.DataBind()
End If
Cotizaciones.Dispose()
Else
Alert("No se pudo cargar el archivo")
End If
End Sub
Protected Sub GVC_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GVC.RowCommand
If e.CommandName = "Eliminar" Then
Dim Cotizaciones As New ClsOC
Dim NombreArchivo As String = Cotizaciones.RemoveCotizacion(e.CommandArgument.ToString.ToEntero)
If NombreArchivo <> "" Then
If IO.File.Exists("~/OC/Cotizaciones/" & NombreArchivo) Then
IO.File.Exists("~/OC/Cotizaciones/" & NombreArchivo)
End If
GVC.DataSource = Cotizaciones.DtResultados
GVC.DataBind()
End If
Cotizaciones.Dispose()
End If
End Sub
End Class

18
OC/PopUpBuscarCot.aspx Normal file
View File

@@ -0,0 +1,18 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PopUpBuscarCot.aspx.vb" Inherits="OC_PopUpBuscarCot" %>
<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">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,5 @@

Partial Class OC_PopUpBuscarCot
Inherits System.Web.UI.Page
End Class

220
OC/PopUpBuscarReq.aspx Normal file
View File

@@ -0,0 +1,220 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PopUpBuscarReq.aspx.vb" Inherits="OC_PopUpBuscarReq" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.GVD td {
word-break: break-all;
}
.truncate {
/*width: 300px;*/
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
<asp:Literal runat="server" ID="LbTitulo" Text="Búsqueda de Ordenes de Compra"></asp:Literal>
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="PnlPrincipal" runat="server" DefaultButton="BtnBuscar" Width="750px">
<table class="Widthall">
<tr>
<th class="Titulos" colspan="4">Filtros para búsqueda</th>
</tr>
<tr>
<td style="width: 100px;" class="text-right"><b>Folio:</b></td>
<td>
<asp:TextBox ID="TxtFolio" runat="server" MaxLength="12" Width="200px" CssClass="form-control" autofocus></asp:TextBox>
</td>
<td class="text-right"><b>Fecha inicio:</b></td>
<td>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 200px !important; padding: 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</td>
</tr>
<tr>
<td class="text-right"><b>Tipo:</b></td>
<td>
<asp:DropDownList ID="DdlTipo" CssClass="form-control input-sm col-md-9" runat="server" AutoPostBack="true" Style="width: 200px; height: 30px;">
<asp:ListItem Value="-1" Text="Todas" Selected="True"></asp:ListItem>
<asp:ListItem Value="REQ" Text="Requisiciones"></asp:ListItem>
<asp:ListItem Value="OC" Text="Ordenes Compra"></asp:ListItem>
</asp:DropDownList>
</td>
<td class="text-right"><b>Estatus:</b></td>
<td>
<asp:DropDownList ID="DdlEstatus" runat="server" DataTextField="Estatus" DataValueField="CveEstatus" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 200px !important;"></asp:DropDownList>
</td>
</tr>
<tr>
<td runat="server" id="TdProyecto" class="text-right"><b>Proyecto:</b></td>
<td runat="server" id="TdProyecto2">
<asp:DropDownList ID="DdlProyectos" AutoPostBack="true" OnSelectedIndexChanged="DdlProyectos_SelectedIndexChanged" runat="server" CssClass="form-control input-sm select2me" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 200px !important;"></asp:DropDownList>
</td>
<td class="text-right">
<b>
<asp:Literal Text="SubProyecto:" ID="LtSubProyecto" runat="server" /></b>
</td>
<td>
<asp:DropDownList ID="DdlSubProyectos" AutoPostBack="false" runat="server" CssClass="form-control input-sm select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Style="width: 200px !important;"></asp:DropDownList>
</td>
</tr>
<tr>
<td class="text-right"><b>Guía:</b>
</td>
<td>
<asp:TextBox ID="TxtGuia" runat="server" Width="200px" CssClass="form-control"></asp:TextBox>
</td>
<td class="text-right"><b>Proveedor:</b></td>
<td>
<asp:DropDownList ID="DdlProveedor" AutoPostBack="false" runat="server" CssClass="form-control input-sm select2me" DataTextField="RazonSocial" DataValueField="CveProveedor" Style="width: 200px !important;"></asp:DropDownList></td>
</tr>
<tr>
<td colspan="4" class="text-center">
<asp:Button ID="BtnBuscar" runat="server" Width="200px" Text="Buscar" OnClick="BtnBuscar_Click" class="btn btn-primary" />
</td>
</tr>
<%--<tr>
<td>Usuario Solicito:</td>
<td>
<asp:DropDownList ID="DdlUsuarioSolicito" runat="server" AppendDataBoundItems="true" DataTextField="Usuario" DataValueField="CveUsuario" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 200px !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Sin Usuario Asignado" Value="-1"></asp:ListItem>
</asp:DropDownList>
</td>
</tr>--%>
</table>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-xs-6 col-md-6">
<asp:Label ID="LblTotalRegistros" runat="server" Text=""></asp:Label>
<b>
<asp:Literal ID="LtlTotalRegistros" runat="server"></asp:Literal></b>
</div>
<div class="col-xs-6 col-md-6 text-right">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GV.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GV.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
<asp:Button runat="server" ID="BtnVincularOC" Text="Vincular" Width="150px" OnClick="BtnVincularOC_Click" Visible="false" class="btn btn-primary" />
</div>
</div>
<br />
<div runat="server" id="DivDatos">
<asp:GridView ID="GV" runat="server" ClientIDMode="Static" DataKeyNames="CveOrdenCompra,Folio,CveEstatusSiguiente,FolioREQ" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros" ToolTip="Listado de Ordenes de Compra Encontrados." OnRowDataBound="GV_RowDataBound" CssClass="table GVD table-striped table-hover " GridLines="None" HorizontalAlign="Left">
<Columns>
<asp:TemplateField HeaderText="Folio" ItemStyle-Width="5%">
<ItemTemplate>
<asp:Label Text='<%# Eval("Folio") %>' ID="LbFolio" runat="server" Style="width: 70px!important" />
<asp:HyperLink Text='<%# Eval("Folio") %>' ID="HLFolio" Visible="false" CssClass="Texto" Style="text-align: center" runat="server" Width="70px" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="REQ" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="5%">
<ItemTemplate>
<asp:Label Text='<%# Eval("FolioREQ") %>' ID="LbFolioReq" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Tipo" DataField="Tipo" ItemStyle-Width="5%" />
<asp:TemplateField HeaderText="Descripción" ItemStyle-Width="20%">
<ItemTemplate>
<div class="truncate" style="max-width: 200px;">
<asp:Label Text='<%# Eval("Descripcion")%>' ID="LbDescripcion" runat="server" />
<asp:HyperLink Text='<%# Eval("Descripcion") %>' ID="HLDescripcion" Visible="false" CssClass="Texto" runat="server" />
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:HyperLinkField HeaderText="Proveedor" Target="_blank" DataTextField="Proveedor" DataNavigateUrlFields="CveProveedor" DataNavigateUrlFormatString="~/Compras/Proveedores.aspx?CveProveedor={0}" ControlStyle-CssClass="truncate" ItemStyle-Width="20%" />
<asp:BoundField DataField="DetallePS" HeaderText="Detalle Productos / Servicios" ControlStyle-CssClass="Texto" ItemStyle-Font-Size="X-Small" ItemStyle-Width="20%" />
<asp:TemplateField HeaderText="Importe" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Right" HeaderStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label Text='<%#String.Concat(Eval("Total", "{0:c}"), " ", Eval("MonAbreviatura"))%>' ID="LbImporte" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="5%">
<ItemTemplate>
<asp:CheckBox runat="server" ID="CheckVincular" ClientIDMode="AutoID" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>PDF</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HplPDF" runat="server" Text="PDF"></asp:HyperLink>
<%--<asp:Literal ID="LtlPDF" runat="server"></asp:Literal>--%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script language="javascript" type="text/javascript">
$(document).on('mouseenter', ".truncate", function () {
var $this = $(this);
if (this.offsetWidth < this.scrollWidth && !$this.attr('title')) {
$this.tooltip({
title: $this.text(),
placement: "top"
});
$this.tooltip('show');
}
});
function Ir(c) {
gotourl('/OC/OC.aspx?OC=' + c);
}
function Ir2(c) {
window.opener.CargaOrdenCompra(c);
window.close();
}
function Ir3(CveOC, Folio, CveEstatusSiguiente) {
window.opener.VinculaOC(CveOC, Folio, CveEstatusSiguiente);
window.close();
parent.$('#ajax').modal('hide');
}
function Ir4(CveOC) {
window.opener.VincularOC(CveOC);
window.close();
parent.$('#ajax').modal('hide');
}
</script>
</asp:Content>

281
OC/PopUpBuscarReq.aspx.vb Normal file
View File

@@ -0,0 +1,281 @@
Option Explicit On
Option Strict On
Imports Extensiones
Partial Class OC_PopUpBuscarReq
Inherits ClsPaginas
#Region "PROPIEDADES"
Private ReadOnly Property VinculacionOC As String
Get
Return ViewState("VinculacionOC").ToString
End Get
End Property
Private ReadOnly Property CveProveedor As String
Get
Return ViewState("CveProveedor").ToString
End Get
End Property
Private ReadOnly Property Ruta As String
Get
Return AppDomain.CurrentDomain.BaseDirectory & "Empresas\" & UsuarioActual.CveEmpresa & "\"
End Get
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
CType(Me.Master, BaseMasterPage).EsPopup = True
Dim UsaParametros = False
ViewState("VinculacionOC") = ""
ViewState("CveProveedor") = ""
DivDatos.Attributes.Add("style", "overflow-y: auto; width: 750px; height: 220px;")
GV.Width = 750
If Request("V") IsNot Nothing AndAlso Request("V").ToString <> "" Then
If Request("P") IsNot Nothing AndAlso Request("P").ToString <> "" Then
CargarVinculacionCompras()
DivDatos.Attributes.Add("style", "overflow-y: auto; width: 950px; height: 700px;")
GV.Width = 950
GV.Columns(4).Visible = False
If UsuarioActual.Empresa.MetodoOC <> 2 Then
BtnVincularOC.Visible = True
End If
UsaParametros = True
End If
End If
If Request("Op") IsNot Nothing AndAlso Request("Op").ToString <> "" Then
ViewState("VinculacionOC") = Request("Op").ToString
If ViewState("VinculacionOC").ToString = "FactFle" Then
DdlTipo.SelectedValue = "OC"
DdlTipo.Enabled = False
End If
End If
If Not UsaParametros Then
GV.Columns(7).Visible = False
CargaURLParametros()
End If
End If
End Sub
#Region " CARGA URL PARAMETROS "
Private Sub CargaURLParametros()
txtFechaI.Text = Now.FirstDayOfMonth.AddMonths(-3).ToShortDateString
CargaEstatus()
If UsuarioActual.Empresa.GralSoloProyecto Then
TdProyecto.Visible = False
TdProyecto2.Visible = False
LtSubProyecto.Text = "Proyecto:"
Else
'DdlProyectos.DataSource = DtEstatusUsuarios.FiltraParametros("", "", {"CveProyecto", "Proyecto"}) 'GlobalDTProyectos(UsuarioActual.CveEmpresa, 1)
'DdlProyectos.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110),
' GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1), GlobalDTProyectos(UsuarioActual.CveEmpresa, -1))
DdlProyectos.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1)
DdlProyectos.DataBind()
DdlProyectos.Items.Insert(0, New ListItem("Todos", "-1"))
End If
DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedor.DataBind()
DdlProveedor.Items.Insert(0, New ListItem("Todos", "-1"))
'DdlSubProyectos.DataSource = DtEstatusUsuarios.FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"}) 'GlobalDTSubProyectos(DdlProyectos.SelectedValue.ToEntero).FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
DdlSubProyectos.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110),
GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1))
DdlSubProyectos.DataBind()
DdlSubProyectos.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
#End Region
#Region " DDLS "
Private Sub DdlTipo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipo.SelectedIndexChanged
CargaEstatus()
End Sub
Private Sub CargaEstatus()
DdlEstatus.DataSource = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format(" (Tipo = '{0}' OR '{0}' = '-1')", DdlTipo.SelectedValue.ToString))
DdlEstatus.DataBind()
If DdlTipo.SelectedValue = "-1" Or DdlTipo.SelectedValue = "REQ" Then DdlEstatus.Items.Insert(0, New ListItem("Pre Requisicion", "0"))
DdlEstatus.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub DdlProyectos_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaSubProyectos(DdlProyectos.SelectedValue.ToEntero)
End Sub
Private Sub CargaSubProyectos(CveProyecto As Integer)
DdlSubProyectos.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110),
GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, CveProyecto, UsuarioActual.CveEmpresa, -1, 1),
GlobalDTSubProyectos(CveProyecto, -1, UsuarioActual.CveEmpresa, 1))
DdlSubProyectos.DataBind()
DdlSubProyectos.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
#End Region
#Region " CARGA DATOS "
Protected Sub CargarVinculacionCompras() ' CUANDO VIENE DESDE COMPRAS
ViewState("VinculacionOC") = Request("V")
ViewState("CveProveedor") = Request("P")
UPFiltros.Visible = False
Dim ObjPro As New ClsCompProveedores
ObjPro.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, ViewState("CveProveedor").ToString.ToEntero, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa)
If ObjPro.DtResultados.Rows.Count > 0 Then
LbTitulo.Text = String.Format("Órdenes de Compra - {0}", ObjPro.DtResultados.Rows(0)("RazonSocial").ToString)
End If
ObjPro.Dispose()
'Cargar Datos
Dim ObjOC As New ClsOC
'ObjOC.GetOC(-1, UsuarioActual.CveEmpresa)
ObjOC.GetOrdenesCompraRep("OC", -1, -1, -1, -1, MinFecha, MaxFecha, -1, ViewState("CveProveedor").ToString.ToEntero, -1, -1, -1, UsuarioActual.CveEmpresa, -1)
Dim DtOC = ObjOC.DtResultados.FiltraParametros("TipoTermino = 3") ' tipotermino, esattus inicial
ObjOC.Dispose()
If DtOC.Rows.Count > 0 Then ' tipotermino, esattus inicial
BtnVincularOC.Visible = True
End If
'SOLO CARGAMOS OC'S QUE ESTEN PENDIENTES POR SURTIR
GV.DataSource = DtOC.FiltraParametros("CveOrdenCompraDisponible > 0")
GV.DataBind()
LtlTotalRegistros.Text = GV.Rows.Count.ToString
LblTotalRegistros.Text = "Número de registros: "
UPDatos.Update()
End Sub
Protected Sub BtnBuscar_Click(sender As Object, e As EventArgs)
Dim CveProyecto = -1
Dim CveSubProyecto = -1
If UsuarioActual.Empresa.GralSoloProyecto Then
CveSubProyecto = DdlSubProyectos.SelectedValue.ToEntero
Else
CveProyecto = DdlProyectos.SelectedValue.ToEntero
CveSubProyecto = DdlSubProyectos.SelectedValue.ToEntero
End If
Dim FI As Date = If(txtFechaI.Text.Trim = "", MinFecha, txtFechaI.Text.Trim.ToDate)
Dim guia As String = If(TxtGuia.Text.Trim = "", "-1", TxtGuia.Text)
'Cargar Datos
Dim ObjOC As New ClsOC
ObjOC.GetOrdenesCompraRep(DdlTipo.SelectedValue, CveProyecto, CveSubProyecto, -1, DdlEstatus.SelectedValue.ToEntero, FI, MaxFecha, -1, DdlProveedor.SelectedValue.ToEntero, If(TxtFolio.Text.ToEntero <= 0, -1, TxtFolio.Text.ToEntero), -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, Guia:=guia,
SoloSubProyectosConPermiso:=If(UsuarioActual.Empresa.Funcionalidad(530) = "1", True, False))
Dim DtOC = ObjOC.DtResultados ' tipotermino, esattus inicial
ObjOC.Dispose()
GV.DataSource = DtOC
GV.DataBind()
LtlTotalRegistros.Text = GV.Rows.Count.ToString
LblTotalRegistros.Text = "Número de registros: "
UPDatos.Update()
End Sub
Protected Sub GV_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
'Si la empresa es MetodoOC 2 habilitamos la opcion de Hyperlink para vincular OC
If ViewState("VinculacionOC").ToString = "VOCCOMP" AndAlso UsuarioActual.Empresa.MetodoOC = 2 Then
GV.Columns(2).Visible = False
e.Row.FCHyperLink("HLFolio").Visible = True
e.Row.FCLabel("LbFolio").Visible = False
e.Row.FCHyperLink("HLDescripcion").Visible = True
e.Row.FCLabel("LbDescripcion").Visible = False
Dim Link = String.Format("javascript:Ir3('{0}','{1}','{2}');", e.Row.DBCampo("CveOrdenCompra"), e.Row.DBCampo("Folio"), e.Row.DBCampo("CveEstatusSiguiente"))
e.Row.FCHyperLink("HLFolio").NavigateUrl = Link
e.Row.FCHyperLink("HLDescripcion").NavigateUrl = Link
ElseIf ViewState("VinculacionOC").ToString = "FactFle" Then
e.Row.FCHyperLink("HLFolio").Visible = True
e.Row.FCLabel("LbFolio").Visible = False
e.Row.FCHyperLink("HLDescripcion").Visible = True
e.Row.FCLabel("LbDescripcion").Visible = False
Dim Link = String.Format("javascript:Ir4('{0}');", e.Row.DBCampo("CveOrdenCompra"))
e.Row.FCHyperLink("HLFolio").NavigateUrl = Link
e.Row.FCHyperLink("HLDescripcion").NavigateUrl = Link
ElseIf ViewState("VinculacionOC").ToString = "" Then
e.Row.FCHyperLink("HLFolio").Visible = True
e.Row.FCLabel("LbFolio").Visible = False
e.Row.FCHyperLink("HLDescripcion").Visible = True
e.Row.FCLabel("LbDescripcion").Visible = False
Dim Link = String.Format("javascript:Ir(""{0}"");", e.Row.DBCampo("CveOrdenCompra"))
e.Row.FCHyperLink("HLFolio").NavigateUrl = Link
e.Row.FCHyperLink("HLDescripcion").NavigateUrl = Link
e.Row.FCHyperLink("HplPDF").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=OC&CVEOC={0}", e.Row.DBCampo("CveOrdenCompra"))))
'HLImprimir.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=OC&CVEOC={0}", CveOrdenCompra)))
End If
If e.Row.DataKey("FolioREQ").ToString.Trim.Length > 0 Then
Dim LbFolio As Label = e.Row.FCLabel("LbFolio")
LbFolio.Attributes.Add("data-toggle", "tooltip")
LbFolio.Attributes.Add("data-placement", "top")
LbFolio.Attributes.Add("title", "REQ: " & e.Row.DataKey("FolioREQ").ToString)
End If
If ViewState("CveProveedor").ToString <> "" And UsuarioActual.CveEmpresa.Contiene(72) Then
GV.Columns(2).Visible = False
End If
e.Row.Cells(5).Text = e.Row.DBCampo("DetallePS").Replace("^", "<br />")
End If
End Sub
#End Region
#Region " VINCULA CON COMPRAS "
Protected Sub BtnVincularOC_Click(sender As Object, e As EventArgs)
Dim CveOC As String = ""
Dim Folio As String = ""
Dim CveEstatus As String = ""
For i As Integer = 0 To (GV.Rows.Count - 1)
If GV.Rows(i).FCCheckBox("CheckVincular").Checked = True Then
If CveOC <> "" Then
CveOC &= String.Format(", {0}", GV.Rows(i).DataKey("CveOrdenCompra").ToString)
Folio &= String.Format(", {0}", GV.Rows(i).DataKey("Folio").ToString)
CveEstatus &= String.Format(", {0}", GV.Rows(i).DataKey("CveEstatusSiguiente").ToString)
Else
CveOC = GV.Rows(i).DataKey("CveOrdenCompra").ToString
Folio = GV.Rows(i).DataKey("Folio").ToString
CveEstatus = GV.Rows(i).DataKey("CveEstatusSiguiente").ToString
End If
End If
Next
If CveOC <> "" AndAlso CveOC.Length > 0 Then
RegistraScript(String.Format("javascript: Ir3('{0}','{1}','{2}');", CveOC, Folio, CveEstatus))
Else
Alert("No seleccionó ninguna Orden de Compra, Por lo cual no se puede vincular.", TipoMensaje.MsgAdvertencia)
End If
End Sub
#End Region
End Class

28
OC/RegOp.aspx Normal file
View File

@@ -0,0 +1,28 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RegOp.aspx.vb" Inherits="RegOp" %>
<%@ MasterType VirtualPath="~/Site.master" %>
<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">
SIG - Acceso Rápido
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<table border="0" cellspacing="0" width="350px" runat="server" id="tbCancelar" Visible="false">
<tr>
<td>Motivo Cancelación:</td>
<td>
<asp:TextBox ID="TxtCancelar" runat="server" Rows="5" Columns="50"
TextMode="MultiLine"></asp:TextBox></td>
</tr>
<tr><td colspan="2" style="text-align:center">
<asp:Button ID="BtnCancelar" runat="server" Text="Cancelar" /></td></tr>
</table>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

87
OC/RegOp.aspx.vb Normal file
View File

@@ -0,0 +1,87 @@

Imports Extensiones
Partial Class RegOp
Inherits Page
'tIENE QUE SER page, porque esta página no se debe de validar la sesión
#Region "Propiedades"
Private Property CveOrdenCompra As Integer
Get
CveOrdenCompra = ViewState("CveOrdenCompra").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveOrdenCompra") = value
End Set
End Property
Private Property CveUsuario As Integer
Get
CveUsuario = ViewState("CveUsuario").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveUsuario") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Master.EsPopup = True
If Request("p") IsNot Nothing Then
If Decripta(Request("p")) Then
Dim Par As Hashtable = ClsPaginas.UrlParametros
Select Case Par("OP").ToString
Case "SUPERVISAR"
CambiarEstatus(2, Par("OC").ToString.ToEntero, Par("CVEUSUARIO").ToString.ToEntero)
Case "AUTORIZAR"
CambiarEstatus(3, Par("OC").ToString.ToEntero, Par("CVEUSUARIO").ToString.ToEntero)
Case "CANCELAR"
CveOrdenCompra = Par("OC").ToString.ToEntero
CveUsuario = Par("CVEUSUARIO").ToString.ToEntero
tbCancelar.Visible = True
End Select
End If
End If
End If
End Sub
Private Sub CambiarEstatus(pCveEstatus As Integer, pCveOrdenCompra As Integer, pCveUsuario As Integer)
' Dim OC As New ClsOC
' If OC.GetOC(pCveOrdenCompra, usuarioactual.cveempresa) Then
' Dim Actualiza As Boolean = False
' Dim Motivo As String = ""
' 'verifico si todavía está en el estatus que debe de ser, para que no afecte cuando esté más avanzada la oc y la regrese.
' If OC.CveEstatusOrdenCompra = 1 And pCveEstatus = 2 Then Actualiza = True
' If OC.CveEstatusOrdenCompra = 2 And pCveEstatus = 3 Then Actualiza = True
' If OC.CveEstatusOrdenCompra.Contiene(1, 2) And pCveEstatus = 3 Then Actualiza = True
' If Actualiza Then
' OC.UpdateOrdenCompraEstatus(pCveEstatus, pCveOrdenCompra, pCveUsuario, 2, Motivo)
' Alert("La Orden de compra ha sido Actualizada", TipoMensaje.MsgInformacion)
' Else
' If OC.CveEstatusOrdenCompra = pCveEstatus Then
' Alert("La orden de compra ya fue actualizada a este estatus", TipoMensaje.MsgInformacion, "window.close();")
' Else
' Alert("No se puede actualizar la Orden de compra", TipoMensaje.MsgError, "window.close();")
' End If
' End If
' End If
' OC.Dispose()
End Sub
Protected Sub BtnCancelar_Click(sender As Object, e As EventArgs) Handles BtnCancelar.Click
CambiarEstatus(4, CveOrdenCompra, CveUsuario)
End Sub
End Class

69
OC/RepComparativo.aspx Normal file
View File

@@ -0,0 +1,69 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepComparativo.aspx.vb" Inherits="OC_RepComparativo" %>
<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">
Comparativo
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<table id="C_GVD" class="table table-striped table-advance table-hover">
<tr class="TitulosChico">
<th scope="col">#</th>
<th scope="col">Provedor</th>
<th scope="col">Descripci&#243;n</th>
<th scope="col">OC</th>
<th scope="col">Compra</th>
<th scope="col">Almacen</th>
</tr>
<tr class="Texto" style="background-color: LightGrey;">
<td align="center" style="width: 25px;"><a class="Texto" href="/OC/OC.aspx?OC=1034">1</a></td>
<td style="width: 400px;">Empresa Demo</td>
<td style="width: 175px;"></td>
<td style="width: 75px;"></td>
<td style="width: 65px;"></td>
<td></td>
</tr>
<tr class="TextoAlterno">
<td align="center" style="width: 25px;"></td>
<td style="width: 400px;">Impresión</td>
<td style="width: 175px;"></td>
<td style="width: 75px;">50</td>
<td style="width: 65px;">50</td>
<td>
<asp:Label ID="Label2" ForeColor="Red" runat="server" Text="40"></asp:Label></td>
</tr>
<tr class="Texto" style="background-color: LightGrey;">
<td align="center" style="width: 25px;"><a class="Texto" href="/OC/OC.aspx?OC=1034">2</a></td>
<td style="width: 400px;">Empresa Demo</td>
<td style="width: 175px;"></td>
<td style="width: 75px;"></td>
<td style="width: 65px;"></td>
<td></td>
</tr>
<tr class="TextoAlterno">
<td align="center" style="width: 25px;"></td>
<td style="width: 400px;">Memoria RAM</td>
<td style="width: 175px;"></td>
<td style="width: 75px;">5</td>
<td style="width: 65px;">5</td>
<td>
<asp:Label ID="Label1" ForeColor="Red" runat="server" Text="3"></asp:Label></td>
</tr>
<tr class="TextoAlterno">
<td align="center" style="width: 25px;"></td>
<td style="width: 400px;">Disco Duro</td>
<td style="width: 175px;"></td>
<td style="width: 75px;">1</td>
<td style="width: 65px;">1</td>
<td>1</td>
</tr>
</table>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,5 @@

Partial Class OC_RepComparativo
Inherits System.Web.UI.Page
End Class

230
OC/RepCotizaciones.aspx Normal file
View File

@@ -0,0 +1,230 @@
<%@ Page Title="SIG - Cotizaciones" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepCotizaciones.aspx.vb" Inherits="RepCotizaciones" %>
<%--<%@ MasterType VirtualPath="~/Metronic.master" %>--%>
<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">
Cotizaciones
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPOC" runat="server">
<ContentTemplate>
<table width="500px">
<tr style="height: 22px">
<td style="width: 130px">Folio Requisición:</td>
<td style="width: 70px">
<asp:TextBox ID="TxtFolio" runat="server" Width="70px"></asp:TextBox></td>
<td style="width: 70px">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" /></td>
<td style="width: 270px">&nbsp;</td>
</tr>
<tr>
<td colspan="4">
<div runat="server" visible="false" id="divOC" style="width: 830px">
<fieldset>
<legend><b>Datos Requisición:</b></legend>
<table width="100%">
<tr style="height: 22px">
<td style="width: 90px">Folio:
</td>
<td style="width: 300px">
<asp:Label ID="LblFolio" runat="server" Text="" CssClass="rep_bold"></asp:Label>
</td>
<td></td>
<td></td>
</tr>
<tr style="height: 22px">
<td style="width: 90px">Empresa:
</td>
<td style="width: 300px">
<asp:Label ID="LblEmpresa" runat="server" Text="" CssClass="rep_bold"></asp:Label>
</td>
<td style="width: 90px">Estatus:
</td>
<td>
<asp:Label ID="LblEstatus" runat="server" Text="" CssClass="rep_bold"></asp:Label>
</td>
</tr>
<tr style="height: 22px">
<td>Proyecto:
</td>
<td>
<asp:Label ID="LblProyecto" runat="server" Text="" CssClass="rep_bold"></asp:Label>
</td>
<td>SubProyecto:
</td>
<td>
<asp:Label ID="LblSubProyecto" runat="server" Text="" CssClass="rep_bold"></asp:Label>
</td>
</tr>
<tr style="height: 20px">
<td>Descripción:
</td>
<td colspan="3">
<asp:Label ID="LblDescrip" runat="server" Width="450px" CssClass="rep_bold"></asp:Label>
</td>
</tr>
<tr style="height: 20px">
<td>Justificación:
</td>
<td colspan="3">
<asp:TextBox ID="TxtJustificacion" runat="server" Width="450px" TextMode="MultiLine"
ReadOnly="true" Rows="5"></asp:TextBox>
</td>
</tr>
</table>
</fieldset>
</div>
</td>
</tr>
<tr>
<td colspan="4" align="right">
<asp:HyperLink ID="HplAgregar" CssClass="Texto thickbox" runat="server" Text="Agregar Cotizacion" Style="cursor: pointer;" ToolTip="Agregar Cotizacion" Visible="False">Agregar Cotización</asp:HyperLink>
</td>
</tr>
<tr>
<td colspan="4">
<asp:GridView ID="GvD" runat="server" AutoGenerateColumns="False" DataKeyNames="CveOrdenCompra,CveOrdenCompraDetalle"
ClientIDMode="Static" ShowHeader="True" CellPadding="2"
CellSpacing="2" ssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Cantidad">
<ItemTemplate>
<asp:Label ID="Literal" runat="server" Text='<%# Bind("Cantidad","{0:###,###,###.##}") %>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="70px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Unidad">
<EditItemTemplate>
<asp:DropDownList ID="CboUnidadMedidaEdit" runat="server" DataTextField="Abreviatura"
DataValueField="CveUnidadMedida" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 70px !important;">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVUnidadMedida" runat="server" ControlToValidate="CboUnidadMedidaEdit"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Unidad de Medida''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpEditGuardar"></asp:RequiredFieldValidator>
</EditItemTemplate>
<ItemTemplate>
<asp:Literal ID="LA" runat="server" Text='<%# Bind("Abreviatura") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle Width="50px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Descripción">
<EditItemTemplate>
<asp:TextBox ID="TxtDescripDetalleEdit" runat="server" Text='<%# Bind("Descripcion") %>'
Width="345px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVDescripcion" runat="server" ControlToValidate="TxtDescripDetalleEdit"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpEditGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOEmpresa" runat="server" HighlightCssClass="vco"
TargetControlID="RFVDescripcion" Width="300px">
</ajax:ValidatorCalloutExtender>
</EditItemTemplate>
<ItemTemplate>
<asp:Literal ID="LDescrip" runat="server" Text='<%# Bind("Descripcion") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle Width="350px" HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" Visible="false" HeaderText="Precio Unitario">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="Btn1" runat="server" Text="" Visible="false" Width="100px" CssClass="gbqfba" CommandName="RegProv" />
</ItemTemplate>
<ItemStyle Width="100px" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" Visible="false" HeaderText="Precio Unitario">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="Btn2" runat="server" Text="" Visible="false" Width="100px" CssClass="gbqfba" CommandName="RegProv" />
</ItemTemplate>
<ItemStyle Width="100px" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" Visible="false" HeaderText="Precio Unitario">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="Btn3" runat="server" Text="" Visible="false" Width="100px" CssClass="gbqfba" CommandName="RegProv" />
</ItemTemplate>
<ItemStyle Width="100px" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" Visible="false" HeaderText="Precio Unitario">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="Btn4" runat="server" Text="" Visible="false" Width="100px" CssClass="gbqfba" CommandName="RegProv" />
</ItemTemplate>
<ItemStyle Width="100px" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" Visible="false" HeaderText="Precio Unitario">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="Btn5" runat="server" Text="" Visible="false" Width="100px" CssClass="gbqfba" CommandName="RegProv" />
</ItemTemplate>
<ItemStyle Width="100px" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" Visible="false" HeaderText="Precio Unitario">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="Btn6" runat="server" Text="" Visible="false" Width="100px" CssClass="gbqfba" CommandName="RegProv" />
</ItemTemplate>
<ItemStyle Width="100px" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" Visible="false" HeaderText="Precio Unitario">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="Btn7" runat="server" Text="" Visible="false" Width="100px" CssClass="gbqfba" CommandName="RegProv" />
</ItemTemplate>
<ItemStyle Width="100px" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" Visible="false" HeaderText="Precio Unitario">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="Btn8" runat="server" Text="" Visible="false" Width="100px" CssClass="gbqfba" CommandName="RegProv" />
</ItemTemplate>
<ItemStyle Width="100px" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" Visible="false" HeaderText="Precio Unitario">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="Btn9" runat="server" Text="" Visible="false" Width="100px" CssClass="gbqfba" CommandName="RegProv" />
</ItemTemplate>
<ItemStyle Width="100px" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" Visible="false" HeaderText="Precio Unitario">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:Button ID="Btn10" runat="server" Text="" Visible="false" Width="100px" CssClass="gbqfba" CommandName="RegProv" />
</ItemTemplate>
<ItemStyle Width="100px" HorizontalAlign="Right" />
</asp:TemplateField>
</Columns>
<HeaderStyle CssClass="TitulosChico" Height="25px"></HeaderStyle>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
</asp:GridView>
</td>
</tr>
<tr>
<td style="text-align: right;" colspan="4">
<asp:Button ID="btnGeneraOrdenes" runat="server" Visible="false" Text="Generar Ordenes de Compra" class="btn btn-primary" /></td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

280
OC/RepCotizaciones.aspx.vb Normal file
View File

@@ -0,0 +1,280 @@

Imports System.Data
Imports System.Drawing
Imports Extensiones
Partial Class RepCotizaciones
Inherits ClsPaginas
#Region "Propiedades"
Private Property CveOrdenCompra As Integer
Get
CveOrdenCompra = ViewState("CveOrdenCompra").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveOrdenCompra") = value
End Set
End Property
Private Property DtDetalle As DataTable
Get
DtDetalle = DirectCast(ViewState("DtDetalle"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtDetalle") = value
End Set
End Property
Private Property NumCotizaciones As Integer
Get
NumCotizaciones = ViewState("NumCotizaciones").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("NumCotizaciones") = value
End Set
End Property
Private Property DtCotizaciones As DataTable
Get
DtCotizaciones = DirectCast(ViewState("DtCotizaciones"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtCotizaciones") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
TxtFolio.Focus()
Form.DefaultButton = BtnConsultar.UniqueID
If Not Request("CveOrdenCompra") Is Nothing AndAlso Request("CveOrdenCompra").ToString.ToEntero > 0 Then
CveOrdenCompra = Request("CveOrdenCompra").ToEntero
CargaDatosPorCve(CveOrdenCompra)
End If
End If
End Sub
Private Sub CargaDatosPorCve(pCveOrdenCompra As Integer)
Dim objOrdenCompra As New ClsOC
If objOrdenCompra.GetOC(pCveOrdenCompra, UsuarioActual.CveEmpresa) Then
CargaDatos(objOrdenCompra)
End If
objOrdenCompra.Dispose()
End Sub
Private Sub CargaDatosPorFolio(pFolio As Integer)
Dim objOrdenCompra As New ClsOC
If objOrdenCompra.GetOC(-1, UsuarioActual.CveEmpresa, pFolio, UsuarioActual.CveSubProyecto, "REQ") Then
If objOrdenCompra.CveOrdenCompra > 0 Then
CargaDatos(objOrdenCompra)
Else
Alert(String.Format("No se encontro la Requisición con Folio {0}", pFolio), TipoMensaje.MsgAdvertencia)
End If
End If
objOrdenCompra.Dispose()
End Sub
Private Sub CargaDatos(objOrdenCompra As ClsOC)
CveOrdenCompra = objOrdenCompra.CveOrdenCompra
TxtFolio.Text = objOrdenCompra.Folio.ToString
LblFolio.Text = objOrdenCompra.Folio.ToString
LblDescrip.Text = objOrdenCompra.Descripcion
TxtJustificacion.Text = objOrdenCompra.Justificacion
LblEmpresa.Text = objOrdenCompra.Empresa
LblProyecto.Text = objOrdenCompra.Proyecto
LblSubProyecto.Text = objOrdenCompra.SubProyecto
LblEstatus.Text = objOrdenCompra.Estatus
If UsuarioActual.TienePermisoProceso(69) Then
HplAgregar.NavigateUrl = "/OC/RepCotizacionesDetalle.aspx?CveOrdenCompra=" & CveOrdenCompra.ToString & "&TB_iframe=true&height=370&width=720;"
HplAgregar.Visible = True
End If
'ImgAddFactura.Enabled = True
divOC.Visible = True
btnGeneraOrdenes.Visible = True
CargaDetalle(CveOrdenCompra)
End Sub
Private Sub CargaDetalle(pCveOrdenCompra As Integer)
Dim Cot As New ClsOC
Dim Ds As DataSet = Cot.GetCotizacionesTabla(pCveOrdenCompra)
For i = 1 To 10
GvD.Columns(i + 2).Visible = False
Next
If Ds IsNot Nothing AndAlso Ds.Tables.Count = 2 Then
DtCotizaciones = Ds.Tables(1)
NumCotizaciones = DtCotizaciones.Rows.Count
For i = 1 To NumCotizaciones
GvD.Columns(i + 2).Visible = True
Next
GvD.DataSource = Ds.Tables(0)
GvD.DataBind()
End If
Cot.Dispose()
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
CargaDatosPorFolio(TxtFolio.Text.ToEntero)
End Sub
Protected Sub GvD_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GvD.RowCommand
''Registro el proveedor seleccionado en la orden de compra
If e.CommandName = "RegProv" Then
If e.CommandArgument.ToString <> "" Then
Dim Cve As String() = e.CommandArgument.ToString.Split("|"c)
Dim OC As New ClsOC
OC.UpdateCotizacionDetalleGanadora(Cve(0).ToEntero, CType(Cve(1), Boolean))
OC.Dispose()
CargaDetalle(CveOrdenCompra)
End If
End If
End Sub
Protected Sub GvD_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvD.RowDataBound
'Pongo el nombre del proveedor en el encabezado
If e.Row.RowType = DataControlRowType.Header Then
For i As Integer = 1 To NumCotizaciones
e.Row.Cells(i + 2).Text = String.Format("<a href='/OC/RepCotizacionesDetalle.aspx?OC={0}&CveCotizacion={1}'>{2}</a>", CveOrdenCompra, DtCotizaciones.Rows(i - 1)("CveCotizacion"), DtCotizaciones.Rows(i - 1)("RazonSocial"))
Next
End If
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("CveOrdenCompraDetalle") = "" Then
'si es el totalizador
e.Row.CssClass = "SubTotales"
For i As Integer = 1 To NumCotizaciones
'Dim Btn As Button = e.Row.FCButton("Btn" & i)
'Btn.Text = e.Row.DBCampo("PrecioUnitario" & i).ToDouble.ToString("N2")
'Btn.Visible = True
'Btn.OnClientClick = "return false;"
e.Row.Cells(2 + i).Text = e.Row.DBCampo("PU" & i).ToDouble.ToString("N2") & "&nbsp;"
Next
Else
'If e.Row.DBCampo("CveProveedor") = "" Then
If e.Row.DBCampo("CveCotizacionDetalleGanadora").ToEntero = 0 Then
Dim CellMasBarato As Integer = -1
Dim Monto As Double = -1
For i As Integer = 1 To NumCotizaciones
If e.Row.DBCampo("PU" & i).ToDouble > 0 Then
Dim Btn As Button = e.Row.FCButton("Btn" & i)
Btn.Text = e.Row.DBCampo("PU" & i).ToDouble.ToString("N2")
Btn.Visible = True
Btn.CommandArgument = String.Format("{0}|{1}", e.Row.DBCampo("CveCotizacionDetalle" & i), True)
Btn.Style.Add("cursor:", "pointer")
If Monto.ToString = "-1" Then
Monto = e.Row.DBCampo("PU" & i).ToDouble
CellMasBarato = i
End If
If e.Row.DBCampo("PU" & i).ToDouble < Monto Then
CellMasBarato = i
Monto = e.Row.DBCampo("PU" & i).ToDouble
End If
End If
Next
'Coloreo el más barato
If CellMasBarato > 0 Then e.Row.Cells(CellMasBarato + 2).BackColor = Color.LightBlue
Else
Dim i As Integer = 1
For Each dr As DataRow In DtCotizaciones.Rows
Dim Btn As Button = e.Row.FCButton("Btn" & i)
Btn.Text = e.Row.DBCampo("PU" & i).ToDouble.ToString("N2")
If dr("CveProveedor").ToString = e.Row.DBCampo("CveProveedorGanador") Then
e.Row.Cells(i + 2).BackColor = Color.LightGreen
Btn.Visible = True
Btn.OnClientClick = "return false;"
End If
i = i + 1
Next
End If
End If
End If
End Sub
Protected Sub btnGeneraOrdenes_Click(sender As Object, e As EventArgs) Handles btnGeneraOrdenes.Click
'Dim objOrdenCompra As New ClsOC
Dim objCotizacion As New ClsOC
Dim Prioridad As Integer = 1
Dim CveMoneda As Integer = 1
Dim HuboError As Boolean = False
objCotizacion.IniciaTransacSQL()
If objCotizacion.GetCotizacionesDetalle(-1, CveOrdenCompra) Then
Dim DtCotizacionesDetalle As DataTable = objCotizacion.DtResultados.FiltraParametros("EsGanadora = 1", "CveCotizacion")
If DtCotizacionesDetalle.Rows.Count > 0 Then
Dim CveCotizacion As Integer = 0
Dim CveOrdenCompra As Integer = 0
Dim CveEstatusInicialOC As Integer = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(" Tipo = 'O' AND TipoTermino = 3").Rows(0)("CveEstatus").ToString.ToEntero
For Each Row As DataRow In DtCotizacionesDetalle.Rows
If CveCotizacion <> Row("CveCotizacion").ToString.ToEntero Then
CveCotizacion = Row("CveCotizacion").ToString.ToEntero
If objCotizacion.AddOrdenCompra("OC", Row("CveSubProyecto").ToString.ToEntero, Row("Descripcion").ToString, Row("Justificacion").ToString, Prioridad, Now, CveMoneda, CveEstatusInicialOC, Row("FechaEstimadaEntrega").ToString, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Row("CveProveedor").ToString.ToEntero, -1) Then
CveOrdenCompra = objCotizacion.CveOrdenCompra
'Ingresar los detalles
For Each RowD As DataRow In DtCotizacionesDetalle.FiltraParametros("CveCotizacion = " + CveCotizacion.ToString).Rows
If Not objCotizacion.AddOrdenCompraDetalle(CveOrdenCompra, RowD("Cantidad").ToString.ToDouble, RowD("CveUnidadMedida").ToString.ToEntero, RowD("CvePS").ToString.ToEntero, 0, -1, If(Not IsDBNull(Row("CveActivoFijo")), Row("CveActivoFijo").ToString.ToEntero, -1), Row("Observacion").ToString, UsuarioActual.CveUsuario) Then
HuboError = True
End If
Next
Else
HuboError = True
End If
End If
Next
End If
End If
If Not HuboError Then objCotizacion.Commit() Else objCotizacion.RollBack()
objCotizacion.Dispose()
'objOrdenCompra.Dispose()
End Sub
End Class

View File

@@ -0,0 +1,474 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepCotizacionesDetalle.aspx.vb" Inherits="PopOCCotizacionesDetalle" %>
<%--<%@ MasterType VirtualPath="~/Site.master" %>--%>
<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">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<table style="width: 797px!important">
<tr>
<th class="Titulos" colspan="4">Carga de Cotizaciones</th>
</tr>
</table>
<br />
<div class="row" style="vertical-align: top">
<div class="col-sm-6">
<div class="row">
<%--PROVEEDORES--%>
<div class="col-sm-12 rowpadding">
<div class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption">
<i class="fa fa-truck"></i><span class="caption-subject bold uppercase">Proveedores</span>
</div>
<div class="tools">
<div style="display: inline-block">
</div>
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body">
<table>
<tr>
<td>
<label>Clasificación:</label></td>
<td>
<div>
<asp:DropDownList ID="CboClasificacionProveedor" CssClass="select2me" runat="server" AutoPostBack="true" DataTextField="ProveedorClasificacion" DataValueField="CveProveedorClasificacion"
Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 200px !important;">
</asp:DropDownList>
</div>
</td>
</tr>
<tr>
<td>
<label>Proveedor:</label>
</td>
<td>
<div>
<asp:DropDownList ID="CboProveedores" CssClass="select2me" runat="server" DataTextField="RazonSocial" DataValueField="CveProveedor"
Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 200px !important;">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVProveedor" runat="server" ControlToValidate="CboProveedores"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Proveedor''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpDetalleGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEProveedor" runat="server" HighlightCssClass="vco"
TargetControlID="RFVProveedor" Width="300px">
</ajax:ValidatorCalloutExtender>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
<%--ARCHIVO--%>
<div class="col-sm-12 rowpadding" style="text-align:center;">
Archivo:
<asp:HyperLink ID="HplArchivo" runat="server" ToolTip="Descargar" Visible="false" Height="20px">[HplArchivo]</asp:HyperLink>
&nbsp;
<div class="btn-file btn green">
<i class="fa fa-plus"></i>
<span>Seleccionar Archivo</span>
<asp:FileUpload ID="FUArchivo" runat="server" onchange="$('#FUTxtt').text(this.value);" />
</div>
<span id="FUTxtt"></span>
</div>
</div>
</div>
<%--DATOS DE COTIZACION--%>
<div class="col-sm-6 rowpadding">
<div class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption">
<i class="fa fa-money"></i><span class="caption-subject bold uppercase">Datos contización</span>
</div>
<div class="tools">
<div style="display: inline-block">
</div>
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body">
<table>
<tr>
<td>
<label>Folio:</label></td>
<td>
<div>
<asp:TextBox AutoComplete="off" ID="TxtFolio" runat="server" Style="width: 200px !important;"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVFolio" runat="server" ControlToValidate="TxtFolio"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpDetalleGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOFolio" runat="server" HighlightCssClass="vco"
TargetControlID="RFVFolio" Width="300px">
</ajax:ValidatorCalloutExtender>
</div>
</td>
</tr>
<tr>
<td>
<label>Fecha Cotización:</label></td>
<td>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;">
<asp:TextBox AutoComplete="off" ID="TxtFecha" runat="server" CausesValidation="true" MaxLength="10" ValidationGroup="GrpGuardar" Style="width: 183px !important;"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgFecha" Style="margin-left: -10px!important" class="btn default" Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFecha" runat="server" AcceptNegative="Left" CultureAMPMPlaceholder="" CultureCurrencySymbolPlaceholder="" CultureDateFormat="" CultureDatePlaceholder=""
CultureDecimalPlaceholder="" CultureThousandsPlaceholder="" CultureTimePlaceholder=""
DisplayMoney="Left" Enabled="True" ErrorTooltipEnabled="True" Mask="99/99/9999"
MaskType="Date" TargetControlID="TxtFecha" />
<ajax:MaskedEditValidator ID="MEVFecha" runat="server" ControlExtender="MEEFecha"
ControlToValidate="TxtFecha" Display="None" EmptyValueBlurredText="*" EmptyValueMessage="Fecha de Inicio de pagos Requerida"
ErrorMessage="" InvalidValueBlurredMessage="*" InvalidValueMessage="Fecha Inválida"
IsValidEmpty="False" TooltipMessage="Ingrese Fecha" ValidationGroup="GrpGuardar" />
<ajax:CalendarExtender ID="CEFecha" runat="server" Enabled="True" PopupButtonID="imgFecha" PopupPosition="Left" TargetControlID="TxtFecha"></ajax:CalendarExtender>
<ajax:ValidatorCalloutExtender ID="VcoFechaI" runat="server" HighlightCssClass="vco" TargetControlID="MEVFecha" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</td>
</tr>
<tr>
<td>
<label>Moneda:</label></td>
<td>
<div>
<asp:DropDownList ID="ddlMoneda" DataValueField="CveMoneda" DataTextField="Moneda" Class="table-group-action-input form-control input-inline input-small input-sm select2me" Style="width: 200px !important;" runat="server"></asp:DropDownList>
</div>
</td>
</tr>
<tr>
<td>
<label>Días de Crédito:</label></td>
<td>
<div>
<asp:TextBox AutoComplete="off" runat="server" ID="TxtDiasCredito" Style="width: 200px !important;"></asp:TextBox>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<hr />
<div class="row">
<div class="col-sm-12">
<asp:GridView ID="GvDC" runat="server" AutoGenerateColumns="False" DataKeyNames="CveOrdenCompra, CvePS, Cantidad, CveUnidadMedida,CveOrdenCompraDetalle"
ShowHeader="True" CssClass="table table-striped table-hover Widthall" Style="margin-top: -10px; text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Cant.">
<ItemTemplate>
<asp:TextBox AutoComplete="off" ID="TxtCant" runat="server" Width="35" ReadOnly="True" Style="text-align: right; border: none; background-color: #fff; background: transparent;" Text='<%# Eval("Cantidad", "{0:N2}") %>'></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="40" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Unidad">
<EditItemTemplate>
<asp:DropDownList ID="CboUnidadMedidaEdit" runat="server" DataTextField="Abreviatura"
DataValueField="CveUnidadMedida" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 70px !important;">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVUnidadMedida" runat="server" ControlToValidate="CboUnidadMedidaEdit"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Unidad de Medida''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpEditGuardar"></asp:RequiredFieldValidator>
</EditItemTemplate>
<ItemTemplate>
<asp:Literal ID="LA" runat="server" Text='<%# Bind("Abreviatura") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle Width="50px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Descripción">
<EditItemTemplate>
<asp:TextBox AutoComplete="off" ID="TxtDescripDetalleEdit" runat="server" Text='<%# Bind("Descripcion") %>'
Width="345px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVDescripcion" runat="server" ControlToValidate="TxtDescripDetalleEdit"
Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpEditGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOEmpresa" runat="server" HighlightCssClass="vco"
TargetControlID="RFVDescripcion" Width="300px">
</ajax:ValidatorCalloutExtender>
</EditItemTemplate>
<ItemTemplate>
<asp:Literal ID="LDescrip" runat="server" Text='<%# Bind("PS") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle Width="250px" HorizontalAlign="Left" />
</asp:TemplateField>
<asp:BoundField DataField="Observacion" HeaderText="Observación" />
<asp:TemplateField ShowHeader="False" HeaderText="Cantidad Surtir">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox AutoComplete="off" ID="TxtCantidadSurtir" runat="server" Width="55px" Style="text-align: right" Text="" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVCantidadSurtir" runat="server" ControlToValidate="TxtCantidadSurtir" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad a Surtir''</b> es necesario, por favor ingréselo." ValidationGroup="GrpEditGuardar" Enabled="false"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECantidadSurtir" runat="server" HighlightCssClass="vco" TargetControlID="RFVCantidadSurtir" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:RangeValidator ID="RVCantidad" runat="server" ControlToValidate="TxtCantidadSurtir" Display="None" Type="Double" MinimumValue="0.01" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad Surtir''</b> debe ser mayor a cero y menor que la cantidad solicitada" ValidationGroup="GrpEditGuardar" Enabled="false"></asp:RangeValidator>
<ajax:ValidatorCalloutExtender ID="VCECantidad" runat="server" HighlightCssClass="vco" TargetControlID="RVCantidad" Width="300px"></ajax:ValidatorCalloutExtender>
<ajax:FilteredTextBoxExtender ID="FilCantidadSurtir" runat="server" TargetControlID="TxtCantidadSurtir" FilterType="Custom, Numbers" ValidChars="." />
</ItemTemplate>
<ItemStyle Width="55px" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" HeaderText="Fecha Entrega">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;">
<asp:TextBox ID="txtFechaEntrega" runat="server" CssClass="form-control" CausesValidation="true" Style="width: 87px" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaFinContrato" Style="margin-left: -10px!important" class="btn default" Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaEntrega" runat="server" TargetControlID="txtFechaEntrega" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaEntrega" TargetControlID="txtFechaEntrega" PopupButtonID="ImgFechaFinContrato" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVImgFechaEntrega" runat="server" Format="dd/MM/yyyy" ControlToValidate="txtFechaEntrega" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpEditGuardar" Enabled="false"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCOImgFechaEntrega" runat="server" HighlightCssClass="vco" TargetControlID="CVImgFechaEntrega" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator ID="RFVtxtFechaEntrega" runat="server" ControlToValidate="txtFechaEntrega" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha entrega''</b> es necesario, por favor ingréselo." ValidationGroup="GrpEditGuardar" Enabled="false"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCtxtFechaEntrega" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaEntrega" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</ItemTemplate>
<ItemStyle Width="100px" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" HeaderText="Precio Unitario">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox AutoComplete="off" ID="TxtPU" runat="server" Width="70px" Style="text-align: right" Text='<%# If(Not EsNuevo, Eval("PU", "{0:###,###,###.##}"), "") %>'></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtPU" runat="server" ControlToValidate="TxtPU" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Precio unitario''</b> es necesario, por favor ingréselo." ValidationGroup="GrpEditGuardar" Enabled="false"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEPU" runat="server" HighlightCssClass="vco" TargetControlID="RFVTxtPU" Width="300px"></ajax:ValidatorCalloutExtender>
<ajax:FilteredTextBoxExtender ID="FilTxtPU" runat="server" TargetControlID="TxtPU" FilterType="Custom, Numbers" ValidChars="." />
</ItemTemplate>
<ItemStyle Width="70px" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" HeaderText="Importe">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox AutoComplete="off" ID="TxtImporte" runat="server" Width="75px" ReadOnly="True" Style="text-align: right; border: none; background-color: #fff; background: transparent;" Text='<%# If(Not EsNuevo, Eval("Importe", "{0:###,###,###.##}"), "") %>'></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="75px" />
</asp:TemplateField>
<asp:TemplateField ShowHeader="False" HeaderText="Observación">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox AutoComplete="off" ID="TxtObservacion" runat="server" Width="75px" Style="text-align: right" Text=""></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="100px" />
</asp:TemplateField>
<%--<asp:BoundField DataField="Happy" HeaderText="Happy" />--%>
</Columns>
</asp:GridView>
</div>
</div>
<hr />
<div class="row">
<div class="col-md-12" style="text-align: center">
<asp:Button ID="BtnGuardar" runat="server" Text="Guardar" Visible="false" ValidationGroup="GrpEditGuardar" class="btn btn-primary" CausesValidation="true" />
<asp:Button ID="BtnEliminar" runat="server" Text="Eliminar" Visible="false" ValidationGroup="GrpEliminar" CssClass="btn btn-danger" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script>
function Ir() {
try {
parent.CargaDatosCotizaciones();
parent.tb_remove();
} catch (ex) {
console.log(ex.message);
}
}
function ClientValidateFechaEntrega(source, arguments) {
var txtCantidadSurtir = document.getElementById(source.txtCantidadSurtir);
if (txtCantidadSurtir.value == 0) {
arguments.IsValid = false;
} else {
if (arguments.Value == "" || arguments.Value == "__/__/____")
{ arguments.IsValid = false; }
else
{ arguments.IsValid = true; }
}
}
function ClientValidatePU(source, arguments) {
arguments.IsValid = true
}
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
function CalculaImporte(Cant, tPU, Imp) {
var Cantidad = ToDouble(Cant.value);
var PU = ToDouble(tPU.value);
var Importe = Cantidad * PU;
Imp.value = ToDouble(Importe);
}
function validacionRow(objControl, tipo) {
var eRow;
if (tipo == 1) {
eRow = $(objControl).parent().parent();
} else if (tipo == 2) {
eRow = $(objControl).parent().parent().parent();
}
var arregloControles = $(eRow).attr("data-controles").split(',');
var arregloValidadores = $(eRow).attr("data-validadores").split(',');
var activarValidadores = false;
var ControlConValor = "";
var controleslen = arregloControles.length;
var validadoreslen = arregloValidadores.length;
for (var i = 0; i < controleslen; i++) {
var controlName = String.format("{0}{1}", "#", arregloControles[i]);
controlName = controlName.replace("'", "")
if ($(controlName).val().length > 0) {
activarValidadores = true;
$(controlName).IsValid = false;
console.log('control con valor ' + $(controlName).val() + ' ' + $(controlName).val().length + ' ' + controlName);
break;
} else {
$(controlName).IsValid = true;
}
}
if (activarValidadores) {
for (var v = 0; v < validadoreslen; v++) {
var ValidatorName = arregloValidadores[v];
var procesoCorrecto = true;
ValidatorName = ValidatorName.replace("'", "");
try {
document.getElementById(ValidatorName).disabled = false;
ValidatorEnable($get(ValidatorName), true);
} catch (err) {
console.log(ValidatorName + " - " + err.message);
procesoCorrecto = false;
}
if (procesoCorrecto) {
console.log('validadores activados');
} else {
console.log('Error al activar validadores');
}
}
} else {
for (var v = 0; v < validadoreslen; v++) {
var ValidatorName = arregloValidadores[v];
var procesoCorrecto = true;
ValidatorName = ValidatorName.replace("'", "");
try {
document.getElementById(ValidatorName).disabled = true;
ValidatorEnable($get(ValidatorName), false);
} catch (err) {
console.log(ValidatorName + " - " + err.message);
procesoCorrecto = false;
}
if (procesoCorrecto) {
console.log('Validadores desactivados');
} else {
console.log('Error al desactivar validadores');
}
}
}
}
function FechaActualddMMyyy() {
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1;
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd;
}
if (mm < 10) {
mm = '0' + mm;
}
return today = dd + '/' + mm + '/' + yyyy;
}
</script>
</asp:Content>

View File

@@ -0,0 +1,374 @@
Option Strict On
Option Explicit On
Imports System.Data
Imports Extensiones
Partial Class PopOCCotizacionesDetalle
Inherits ClsPaginas
#Region "Propiedades"
Friend Property EsNuevo As Boolean
Get
EsNuevo = DirectCast(ViewState("EsNuevo"), Boolean)
End Get
Set(value As Boolean)
ViewState("EsNuevo") = value
End Set
End Property
Private Property CveOrdenCompra As Integer
Get
CveOrdenCompra = ViewState("CveOrdenCompra").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveOrdenCompra") = value
End Set
End Property
Private Property CveCotizacion As Integer
Get
CveCotizacion = ViewState("CveCotizacion").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveCotizacion") = value
End Set
End Property
Private Property DtDetalle As DataTable
Get
DtDetalle = DirectCast(ViewState("DtDetalle"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtDetalle") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CType(Me.Master, Site).EsPopup = True
CType(Me.Master, BaseMasterPage).PopupWidth = 1000
If Not Request("CveOrdenCompra") Is Nothing AndAlso Request("CveOrdenCompra").ToString.ToEntero > 0 Then
CveOrdenCompra = Request("CveOrdenCompra").ToEntero
CargaProveedoresClasificaciones()
CargaProveedores()
CargaMonedas()
If Request("CveCotizacion") Is Nothing Then
EsNuevo = True
CveCotizacion = -1
CargaOCDetalle(CveOrdenCompra)
TxtFecha.Text = Now.ToShortDateString
Else
EsNuevo = False
GvDC.DataKeyNames = {"CveOrdenCompra", "CvePS", "Cantidad", "CveUnidadMedida", "CveCotizacionDetalle", "CveOrdenCompraDetalle"}
CveCotizacion = Request("CveCotizacion").ToEntero
CargaCotizacionDetalle(CveCotizacion)
End If
BtnGuardar.Visible = True
BtnEliminar.Visible = True
End If
End If
End Sub
#Region " INICIALIZA VALORES - CARGA COMBOS "
Protected Sub CargaProveedoresClasificaciones()
CboClasificacionProveedor.DataSource = GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa)
CboClasificacionProveedor.DataBind()
CboClasificacionProveedor.Items.Insert(0, New ListItem("Clasificacion de Proveedor", "-1"))
End Sub
Protected Sub CboClasificacionProveedor_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CboClasificacionProveedor.SelectedIndexChanged
CargaProveedores()
End Sub
Protected Sub CargaProveedores()
CboProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveProveedorClasificacion = {0} OR {0} = -1", CboClasificacionProveedor.SelectedValue))
CboProveedores.DataBind()
End Sub
Protected Sub CargaMonedas()
ddlMoneda.DataSource = GlobalDTMonedas()
ddlMoneda.DataBind()
End Sub
#End Region
#Region "C A R G A D A T O S "
Private Sub CargaOCDetalle(pCveOrden As Integer)
Dim objOC As New ClsOC
If objOC.GetOrdenesDetalle(pCveOrden) Then
DtDetalle = objOC.DtResultados
End If
' GvD.DataKeyNames = {"CveOrdenCompra", "CveOrdenCompraDetalle"}
GvDC.DataSource = DtDetalle
GvDC.DataBind()
objOC.Dispose()
End Sub
Private Sub CargaCotizacionDetalle(pCveCotizacion As Integer)
Dim objCotizacion As New ClsOC
If objCotizacion.GetCotizaciones(-1, pCveCotizacion) Then
If objCotizacion.CveUsuario = 0 Then Deshabilitar()
TxtFolio.Text = objCotizacion.Folio.ToString
CboProveedores.SelectedValue = objCotizacion.CveProveedor.ToString
TxtFecha.Text = objCotizacion.Fecha.ToShortDateString
ddlMoneda.SelectedValue = objCotizacion.CveMoneda.ToString
TxtDiasCredito.Text = objCotizacion.DiasCredito.ToString
If objCotizacion.Adjunto <> "" Then
HplArchivo.NavigateUrl = String.Format("/Empresas/{0}/Cotizaciones/{1}", UsuarioActual.CveEmpresa, objCotizacion.Adjunto)
HplArchivo.Text = String.Format("<img targer='_blank' src='/Imagenes/{0}.png' border='0' width='18px' alt='Descargar'/>", IO.Path.GetExtension(objCotizacion.Adjunto).Replace("."c, "")) 'ImageUrl = String.Format("/Imagenes/{0}.png", IO.Path.GetExtension(Cot.NombreArchivo).Replace("."c, ""))
HplArchivo.Visible = True
End If
If objCotizacion.GetCotizacionesDetalle(pCveCotizacion) Then
DtDetalle = objCotizacion.DtResultados
GvDC.DataSource = DtDetalle
GvDC.DataBind()
End If
End If
objCotizacion.Dispose()
End Sub
Protected Sub Deshabilitar()
CboClasificacionProveedor.Enabled = False
CboProveedores.Enabled = False
ddlMoneda.Enabled = False
TxtDiasCredito.Enabled = False
TxtFecha.Enabled = False
TxtFolio.Enabled = False
FUArchivo.Enabled = False
If UsuarioActual.TienePermisoProceso(146) Then
GvDC.Enabled = True
Else
GvDC.Enabled = False
End If
BtnGuardar.Enabled = False
End Sub
#End Region
#Region " GUARDAR "
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
Dim objCotizacion As New ClsOC
objCotizacion.IniciaTransacSQL()
Dim TieneError = False
Try
If EsNuevo Then
If objCotizacion.AddCotizacion(CveOrdenCompra, CboProveedores.SelectedValue.ToEntero, -1, TxtFolio.Text, TxtFecha.Text, IO.Path.GetExtension(FUArchivo.FileName), ddlMoneda.SelectedValue.ToEntero, TxtDiasCredito.Text.ToEntero, UsuarioActual.CveUsuario) Then
If FUArchivo.HasFile Then
'verificar que exista el directorio
If Not System.IO.Directory.Exists(String.Format("{0}/Empresas/{1}/Cotizaciones/", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa)) Then
System.IO.Directory.CreateDirectory(String.Format("{0}/Empresas/{1}/Cotizaciones/", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa))
End If
FUArchivo.SaveAs(String.Format("{0}/Empresas/{1}/Cotizaciones/{2}{3}", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa, objCotizacion.CveCotizacion, IO.Path.GetExtension(FUArchivo.FileName)))
End If
For Each dr As GridViewRow In GvDC.Rows
TieneError = Not objCotizacion.AddCotizacionDetalle(objCotizacion.CveCotizacion, dr.DataKey("CvePS").ToEntero, dr.FCTextBox("TxtPU").Text.ToDouble, dr.DataKey("Cantidad").ToDouble, dr.DataKey("CveUnidadMedida").ToEntero, dr.FCTextBox("txtCantidadSurtir").Text.ToDouble, If(dr.FCTextBox("txtFechaEntrega").Text.Trim = "" Or dr.FCTextBox("txtFechaEntrega").Text = "__/__/____", "-1", dr.FCTextBox("txtFechaEntrega").Text), dr.FCTextBox("txtObservacion").Text.ToString, dr.DataKey("CveOrdenCompraDetalle").ToString.ToEntero)
If TieneError = True Then Exit For
Next
End If
Else
Dim NombreArchivo As String = ""
If objCotizacion.UpdateCotizacion(CboProveedores.SelectedValue.ToEntero, -1, TxtFolio.Text, TxtFecha.Text, IO.Path.GetExtension(FUArchivo.FileName), ddlMoneda.SelectedValue.ToEntero, TxtDiasCredito.Text.ToEntero, UsuarioActual.CveUsuario, CveCotizacion) Then
If FUArchivo.HasFile Then
'verificar que exista el directorio
If Not System.IO.Directory.Exists(String.Format("{0}/Empresas/{1}/Cotizaciones/", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa)) Then
System.IO.Directory.CreateDirectory(String.Format("{0}/Empresas/{1}/Cotizaciones/", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa))
End If
FUArchivo.SaveAs(String.Format("{0}/Empresas/{1}/Cotizaciones/{2}{3}", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa, CveCotizacion, IO.Path.GetExtension(FUArchivo.FileName)))
NombreArchivo = CveCotizacion & IO.Path.GetExtension(FUArchivo.FileName)
End If
For Each dr As GridViewRow In GvDC.Rows
If dr.DataKey("CveCotizacionDetalle").ToEntero > 0 Then
TieneError = Not objCotizacion.UpdateCotizacionDetalle(dr.DataKey("CveCotizacionDetalle").ToEntero, dr.FCTextBox("TxtPU").Text.ToDouble, dr.FCTextBox("txtCantidadSurtir").Text.ToDouble, dr.FCTextBox("txtFechaEntrega").Text, dr.FCTextBox("txtObservacion").Text.ToString)
Else
Dim strTemp = dr.DataKey("CveOrdenCompraDetalle").ToString
If dr.FCTextBox("txtCantidadSurtir").Text.ToString.ToDouble > 0 Then
If dr.FCTextBox("TxtPU").Text.ToDouble > 0 Then TieneError = Not objCotizacion.AddCotizacionDetalle(CveCotizacion, dr.DataKey("CvePS").ToEntero, dr.FCTextBox("TxtPU").Text.ToDouble, dr.DataKey("Cantidad").ToDouble, dr.DataKey("CveUnidadMedida").ToEntero, dr.FCTextBox("txtCantidadSurtir").Text.ToString.ToDouble, If(dr.FCTextBox("txtFechaEntrega").Text.Trim = "" Or dr.FCTextBox("txtFechaEntrega").Text = "__/__/____", "-1", dr.FCTextBox("txtFechaEntrega").Text), dr.FCTextBox("txtObservacion").Text.ToString, dr.DataKey("CveOrdenCompraDetalle").ToEntero)
End If
End If
If TieneError = True Then Exit For
Next
End If
End If
Catch ex As Exception
TieneError = True
objCotizacion.RollBack()
OnError("Se presento un error al guardar la cotización", ex)
End Try
If Not TieneError Then
objCotizacion.Commit()
Alert(If(EsNuevo, "Cotización Guardada.", "Cotización Actualizada."), TipoMensaje.MsgInformacion)
Else
Try
objCotizacion.RollBack()
Catch ex As Exception
OnError("Error al intetar hace RollBack", ex)
End Try
End If
objCotizacion.Dispose()
RegistraScript("Ir();")
End Sub
#End Region
#Region " ELIMINAR "
Private Sub BtnEliminar_Click(sender As Object, e As EventArgs) Handles BtnEliminar.Click
Dim objCotizacion As New ClsOC
Dim TieneError = False
If Not objCotizacion.RemoveCotizacionDetalle(CveCotizacion) Then
TieneError = True
End If
If Not TieneError Then Alert("Cotización Eliminada.", TipoMensaje.MsgInformacion)
objCotizacion.Dispose()
RegistraScript("Ir();")
End Sub
#End Region
#Region " G V D "
Protected Sub GvD_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDC.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.FCTextBox("TxtPU").Attributes.Add("onchange", String.Format("$get('{0}').value = FormatNumber(parseFloat(this.value) * parseFloat($get('{1}').value), 2, true, true, true);", e.Row.FCTextBox("TxtImporte").ClientID, e.Row.FCTextBox("TxtCant").ClientID))
e.Row.FCCalendarExtender("CEFechaEntrega").StartDate = Date.Now
' e.Row.FCTextBox("TxtPU").Attributes.Add("onchange", String.Format("$get('{0}').value = FormatNumber(parseFloat(this.value) * parseFloat($get('{1}').value), 2, true, true, true);", e.Row.FCTextBox("TxtImporte").ClientID, e.Row.FCTextBox("TxtCant").ClientID))
'Page.ClientScript.RegisterExpandoAttribute(e.Row.FCCustomValidator("CVFechaEntrega").ClientID, "txtCantidadSurtir", e.Row.FCTextBox("txtCantidadSurtir").ClientID, False)
'Page.ClientScript.RegisterExpandoAttribute(e.Row.FCCustomValidator("CVPU").ClientID, "txtCantidadSurtirPU", e.Row.FCTextBox("txtCantidadSurtir").ClientID, False)
'e.Row.FCCustomValidator("CVFechaEntrega").ClientValidationFunction = "javascript:textValidation(source, arguments);return true;" '"if ($get('" + e.Row.FCTextBox("TxtCantidadSurtir").ClientID + "').value == 0) {arguments.IsValid=true;} else {arguments.IsValid=false;}"
Try
Dim CantidadSurtir = e.Row.DBCampo("CantidadSurtir").ToString
Dim FechaEntrga = e.Row.DBCampo("CantidadSurtir").ToString
Dim Observacion = e.Row.DBCampo("CantidadSurtir").ToString
Dim rfvCatiad As RangeValidator = e.Row.FCRangeValidator("RVCantidad")
If CantidadSurtir.ToEntero = 0 Then
rfvCatiad.Visible = False
End If
e.Row.FCTextBox("txtCantidadSurtir").Text = e.Row.DBCampo("CantidadSurtir").ToString
e.Row.FCTextBox("TxtFechaEntrega").Text = If(e.Row.DBCampo("FechaEntrega").ToDate.Year = 1, "", e.Row.DBCampo("FechaEntrega").ToDate.ToString("dd/MM/yyyy"))
e.Row.FCTextBox("txtObservacion").Text = e.Row.DBCampo("Observacion").ToString
Catch ex As Exception
End Try
e.Row.FCRangeValidator("RVCantidad").MaximumValue = e.Row.DBCampo("Cantidad")
e.Row.FCTextBox("TxtPU").Attributes.Add("onkeyup", String.Format("CalculaImporte({0},this,{1})", e.Row.FCTextBox("TxtCantidadSurtir").ClientID, e.Row.FCTextBox("TxtImporte").ClientID))
e.Row.FCTextBox("TxtCantidadSurtir").Attributes.Add("onkeyup", String.Format("CalculaImporte(this,{0},{1})", e.Row.FCTextBox("TxtPU").ClientID, e.Row.FCTextBox("TxtImporte").ClientID))
'SOLO SI ES UNA COTIZACION YA REGISTRADA DESAHABILITAMOS EL ROW CUANDO YA ESTA CARGADO, PERMISO PARA EDITAR
If CveCotizacion > 0 Then
Dim EsGanadora As String = e.Row.DBCampo("EsGanadora").ToString
If (UsuarioActual.TienePermisoProceso(146) AndAlso EsGanadora = "False") Or (UsuarioActual.TienePermisoProceso(146) AndAlso EsGanadora = "") Then
e.Row.Enabled = True
Else
e.Row.Enabled = False
End If
End If
Dim TxtCantidadSurtir As TextBox = e.Row.FCTextBox("TxtCantidadSurtir")
Dim txtFechaEntrega As TextBox = e.Row.FCTextBox("txtFechaEntrega")
Dim TxtPU As TextBox = e.Row.FCTextBox("TxtPU")
Dim TxtObservacion As TextBox = e.Row.FCTextBox("TxtObservacion")
TxtCantidadSurtir.Attributes.Add("onkeyup", "validacionRow(this,1)")
txtFechaEntrega.Attributes.Add("onkeyup", "validacionRow(this,2)")
TxtPU.Attributes.Add("onkeyup", "validacionRow(this,1)")
TxtObservacion.Attributes.Add("onkeyup", "validacionRow(this,1)")
Dim ControlesId As String = String.Format("'{0},{1},{2},{3}'", TxtCantidadSurtir.ClientID, txtFechaEntrega.ClientID, TxtPU.ClientID, TxtObservacion.ClientID)
e.Row.Attributes.Add("data-controles", ControlesId)
Dim RFVCantidadSurtir As RequiredFieldValidator = e.Row.FCRequiredFieldValidator("RFVCantidadSurtir")
Dim RVCantidad As RangeValidator = e.Row.FCRangeValidator("RVCantidad")
'Dim CVPU As CustomValidator = e.Row.FCCustomValidator("CVPU")
Dim CVImgFechaEntrega As CompareValidator = e.Row.FCCompareValidator("CVImgFechaEntrega")
Dim RFVTxtPU As RequiredFieldValidator = e.Row.FCRequiredFieldValidator("RFVTxtPU")
'Dim RFVtxtFechaEntrega As RequiredFieldValidator = e.Row.FCRequiredFieldValidator("RFVtxtFechaEntrega")
If TxtCantidadSurtir.Text.ToDouble > 0 Or TxtPU.Text.ToDouble > 0 Then
RFVTxtPU.Enabled = True
RVCantidad.Enabled = True
RFVCantidadSurtir.Enabled = True
End If
If GvDC.DataKeyNames.Contains("CveContizacionDetalle") Then
If e.Row.DataKey("CveContizacionDetalle").ToString.ToEntero > 0 Then
RFVCantidadSurtir.Enabled = True
RVCantidad.Enabled = True
' CVPU.Enabled = True
CVImgFechaEntrega.Enabled = True
RFVTxtPU.Enabled = True
'RFVtxtFechaEntrega.Enabled = True
End If
End If
'Dim ValidadoresId As String = String.Format("{0},{1},{2},{3}", RFVCantidadSurtir.ClientID, RVCantidad.ClientID, CVImgFechaEntrega.ClientID, RFVTxtPU.ClientID)
'e.Row.Attributes.Add("data-validadores", ValidadoresId)
Dim asdasdasd As String = ""
End If
End Sub
#End Region
End Class

View File

@@ -0,0 +1,11 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepImprimir.aspx.vb" Inherits="RepImprimir" %>
<asp:Content ID="Content1" ContentPlaceHolderID="H" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="E" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="C" Runat="Server">
<rvweb:ReportViewer ID="RV" runat="server" Width="980px" Height="800px">
</rvweb:ReportViewer>
</asp:Content>

View File

@@ -0,0 +1,54 @@

Imports System.Data
Imports Microsoft.Reporting.WebForms
Imports Extensiones
Partial Class RepImprimir
Inherits ClsPaginas
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Dim Reporte As String = IfNull(Request("Reporte"), "").ToString
If Reporte = "OC" Then
ImprimirOC(IfNull(Request("OC"), 0).ToString.ToEntero)
End If
End If
End Sub
Public Sub ImprimirOC(CveOC As Integer)
Dim dt As DataTable
Dim Solicita, Supervisa, Autoriza As String
Dim OC As New ClsOC
dt = OC.GetOrdenesDetalle(CveOC)
OC.GetOC(CveOC)
Solicita = OC.NombreSolicita
Supervisa = OC.NombreSupervisa
Autoriza = OC.NombreAutoriza
OC.Dispose()
Dim rds As New ReportDataSource("DataSet1", dt)
RV.LocalReport.DataSources.Clear()
RV.LocalReport.DataSources.Add(rds)
RV.LocalReport.ReportPath = AppDomain.CurrentDomain.BaseDirectory & "\OC\Reportes\aa.rdlc"
RV.LocalReport.Refresh()
Dim paramList As New List(Of ReportParameter)
With paramList
' .Add(New ReportParameter("CveOrdenCompra", CveOC.ToString, True))
' .Add(New ReportParameter("FechaSolicitud", Now.ToShortDateString, True))
.Add(New ReportParameter("pSolicita", Solicita, True))
.Add(New ReportParameter("pSupervisa", Supervisa, True))
.Add(New ReportParameter("pAutoriza", Autoriza, True))
End With
RV.LocalReport.SetParameters(paramList)
DT.Dispose()
End Sub
End Class

View File

@@ -0,0 +1,17 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepImprimirC.aspx.vb" Inherits="RepImprimirC" %>
<%@ MasterType virtualPath="~/Site.master"%>
<asp:Content ID="Content1" ContentPlaceHolderID="H" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="E" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="C" Runat="Server">
<CR:crystalreportviewer ID="CRViewer" runat="server" AutoDataBind="false"
HasCrystalLogo="False" PageZoomFactor="70" PrintMode="ActiveX" EnableDatabaseLogonPrompt="false"
HasExportButton="False" HasGotoPageButton="False"
HasRefreshButton="True" HasSearchButton="False"
HasToggleGroupTreeButton="False" ToolPanelView="None" />
</asp:Content>

View File

@@ -0,0 +1,70 @@
Imports CrystalDecisions.Shared
Imports CrystalDecisions.CrystalReports.Engine
Imports System.Data
Imports Extensiones
Partial Class RepImprimirC
Inherits ClsPaginas
Dim rpt As ReportDocument = New ReportDocument()
Dim Path As String = AppDomain.CurrentDomain.BaseDirectory
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Master.EsPopup = True
End If
Dim Reporte As String = IfNull(Request("Reporte"), "").ToString
If Reporte = "OC" Then
ImprimirOC(IfNull(Request("OC"), 0).ToString.ToEntero)
End If
End Sub
Public Sub ImprimirOC(CveOC As Integer)
Dim dt As DataTable
Dim Solicita, Estatus, Autoriza, Proyecto, SubProyecto As String
Dim OC As New ClsOC
dt = OC.GetOrdenesDetalle(CveOC)
OC.GetOC(CveOC)
Solicita = OC.NombreSolicita
Autoriza = OC.NombreAutoriza
Proyecto = OC.Proyecto
SubProyecto = OC.SubProyecto
Estatus = OC.EstatusOrdenCompra
OC.Dispose()
Path &= "\OC\Reportes\OC.rpt"
rpt.Load(Path)
rpt.SetDataSource(dt.DefaultView.ToTable)
rpt.ParameterFields(0).CurrentValues.AddValue(CveOC.ToString())
rpt.ParameterFields(1).CurrentValues.AddValue(Proyecto)
rpt.ParameterFields(2).CurrentValues.AddValue(SubProyecto)
rpt.ParameterFields(3).CurrentValues.AddValue(Solicita)
rpt.ParameterFields(4).CurrentValues.AddValue(Autoriza)
rpt.ParameterFields(5).CurrentValues.AddValue(Estatus.ToUpper)
CRViewer.ReportSource = rpt
'.Add(New ReportParameter("CveOrdenCompra", CveOC.ToString, True))
'.Add(New ReportParameter("FechaSolicitud", Now.ToShortDateString, True))
'.Add(New ReportParameter("pSolicita", Solicita, True))
'.Add(New ReportParameter("pSupervisa", Supervisa, True))
'.Add(New ReportParameter("pAutoriza", Autoriza, True))
dt.Dispose()
End Sub
End Class

546
OC/RepOC.aspx Normal file
View File

@@ -0,0 +1,546 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepOC.aspx.vb" Inherits="RepOC" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
<link href="/Metronic/assets/global/plugins/datatables/plugins/bootstrap/dataTables.bootstrap.css" rel="stylesheet" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.tooltip-inner {
max-width: 750px !important;
font-size: 14px;
}
.rownomargin {
margin-right: 0px;
margin-left: 0px;
}
.dataTables_scrollFoot {
display: none;
}
.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;
}
.EncabezadosGV {
text-align: center;
font-size: 20px;
font-weight: bold;
}
@media (min-width: 992px) {
.portlet-filter .portlet-body {
line-height: 1;
}
.colf-1, .colf-2, .colf-3 {
}
.paddintop {
margin-top: -2px;
}
label.colf-1 {
padding-top: 5px;
}
.colf-1 {
width: 7%;
float: left;
padding: 3px;
}
.colf-2 {
width: 14%;
float: left;
padding: 3px;
}
.colf-3 {
width: 21%;
float: left;
padding: 3px;
}
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<asp:UpdatePanel ID="UpAcciones" runat="server">
<ContentTemplate>
<asp:UpdatePanel ID="UpDescarga" runat="server" >
<ContentTemplate>
<li>
<asp:LinkButton ID="LbPorAtenderPDF" runat="server" OnClick="LbPorAtenderPDF_Click"><i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF por Atender</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LbPorAtenderPDF" />
</Triggers>
</asp:UpdatePanel>
<li>
<asp:LinkButton ID="LbPorAtender" runat="server"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel por Atender</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LbPendientes" runat="server"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel Pendientes</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LbConsultar" Visible="false" runat="server"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LbPorAtender" />
<asp:PostBackTrigger ControlID="LbPendientes" />
<asp:PostBackTrigger ControlID="LbConsultar" />
</Triggers>
</asp:UpdatePanel>
<li>
<a id="BtnRepSemanal" runat="server" data-toggle="modal" style="width: 100%; margin-bottom: 10px;" href="#DivRepSemana"><i class="fa fa-bar-chart"></i>Reporte Semanal </a>
</li>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte de Requisiciones y Ordenes de Compra
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="btnConsultar" runat="server" Text="Consultar" CssClass="btn btn-default" />
<asp:Button ID="btnConsultarPendientes" runat="server" Text="Pendientes" CssClass="btn btn-default" />
<a href="javascript;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= If(chkexpand.Checked = True, "collapse", "expand")%>"></a>
<asp:CheckBox ID="chkexpand" CssClass="hidden" runat="server" />
</div>
<div class="titlefiltros caption ">
<div class="row rownomargin">
<div class="colf-1 paddintop">
<label class=" ">Folio:</label>
<asp:TextBox ID="txtFolio" CssClass="form-control input-sm " runat="server" Style="width: 35px; height: 28px; display: inline-block;"></asp:TextBox>
</div>
<div class="colf-2 truncate">
<label class="col-md-3">Tipo:</label>
<asp:DropDownList ID="DdlTipo" CssClass="form-control input-sm col-md-9" runat="server" AutoPostBack="true" Style="width: 100px; height: 30px;">
<asp:ListItem Value="-1" Text="Todas"></asp:ListItem>
<asp:ListItem Value="REQ" Text="Requisiciones"></asp:ListItem>
<asp:ListItem Value="OC" Text="Ordenes Compra"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="colf-1 truncate">Proyecto:</label>
<div class="colf-2">
<asp:DropDownList ID="DdlProyectos" runat="server" CssClass="form-control input-sm select2me" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto">
</asp:DropDownList>
</div>
<label class="colf-1 truncate">SubProyecto:</label>
<div class="colf-2">
<asp:DropDownList ID="DdlSubProyectos" runat="server" CssClass="form-control input-sm select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto">
</asp:DropDownList>
</div>
<div class="colf-3">
<label>Estatus</label>
<asp:DropDownList ID="DdlEstatus" runat="server" CssClass="form-control input-sm " DataTextField="Estatus" DataValueField="CveEstatus" Style="width: 95px; height: 30px; display: inline-block;">
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" <%= If(chkexpand.Checked = True, "", "style=""display:none;""")%>>
<div class="row rownomargin">
<div visible="true" runat="server" id="DivAF">
<label class="colf-1">Activo Fijo</label>
<div class="colf-2">
<asp:DropDownList ID="DdlActivoFijo" runat="server" CssClass="form-control input-sm select2me" AutoPostBack="true" DataTextField="Codigo" DataValueField="CveActivoFijo">
</asp:DropDownList>
</div>
</div>
<label class="colf-1">Usuario</label>
<div class="colf-2">
<asp:DropDownList ID="ddlUsuario" runat="server" CssClass="form-control input-sm select2me" DataTextField="Usuario" DataValueField="CveUsuario">
</asp:DropDownList>
</div>
<label class="colf-1 truncate">Fecha inicio</label>
<div class="colf-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="padding: 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<label class="colf-1">Fecha Fin</label>
<div class="colf-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="padding: 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row rownomargin">
<label class="colf-1 truncate">Clasificacion</label>
<div class="colf-2">
<asp:DropDownList ID="DDlClasificacion" runat="server" CssClass="form-control input-sm select2me" DataTextField="Clasificacion" DataValueField="CveClasificacion" AutoPostBack="true">
</asp:DropDownList>
</div>
<label class="colf-1 truncate">Producto Servicio</label>
<div class="colf-2">
<ADS:Dropdownlost runat="server" ID="DDlPS" CssStyle="width: 100%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" />
</div>
<div class="colf-2">
<asp:CheckBox Text="No Completa" TextAlign="Left" CssClass="md-checksd2" ID="CheckNoCompleta" Visible="true" runat="server" />
</div>
</div>
<div class="row rownomargin">
<label class="colf-1 truncate">Proveedor</label>
<div class="colf-2">
<asp:DropDownList ID="ddlProveedor" runat="server" CssClass="form-control input-sm select2me" DataTextField="RazonSocial" DataValueField="CveProveedor"></asp:DropDownList>
</div>
<label class="colf-1 truncate" id="clintesdiv1" runat="server" visible="false">Cliente</label>
<div class="colf-2" id="clintesdiv2" runat="server" visible="false">
<asp:DropDownList ID="ddlcliente" runat="server" CssClass="form-control input-sm select2me" DataTextField="NombreComercial" DataValueField="CveCliente"></asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:UpdatePanel ID="UpBusqueda" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-6" runat="server">
</div>
<div class="col-md-6">
<div class="col-md-6">
<div align="Right" id="DivTotalOC" runat="server" visible="false">
<div class="dashboard-stat2 " style="border-style: solid; border-color: whitesmoke; padding-top: 5px;">
<div class="display" style="margin-bottom: 0px">
<div class="number">
<h3 class="font-green-sharp">
<small class="font-green-sharp">$</small>
<span data-counter="counterup" data-value="1349">
<asp:Literal runat="server" ID="LblTotal"></asp:Literal>
</span>
</h3>
<small>TOTAL ORDENES DE COMPRA</small>
</div>
<div class="icon">
<i class="fa fa-money"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div id="DivPorAtender" runat="server" visible="false">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvPorAtender.ClientID) %>" style="display: inline-block; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvPorAtender.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<div id="DivPendiete" runat="server" visible="false">
<input type="text" id="TxtBusqueda2" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvPendientes.ClientID) %>" style="display: inline-block; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda2','{0}')", GvPendientes.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<div id="DivConsultar" runat="server" visible="false">
<input type="text" id="TxtBusqueda3" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda3','{0}')", GvConsultar.ClientID) %>" style="display: inline-block; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda3','{0}')", GvPendientes.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UPPTab" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<ajax:TabContainer ID="Tab" runat="server" AutoPostBack="true">
<ajax:TabPanel HeaderText="Por Atender" runat="server" ID="TabPorAtender" Visible="true">
<ContentTemplate>
<asp:GridView ID="GvPorAtender" runat="server" AutoGenerateColumns="False" DataKeyNames="CveEvento,Tipo,FechaIng,UEUsuario,Descripcion" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" GridLines="None" EmptyDataText="No se encontraron Ordenes de Compra">
<Columns>
<asp:BoundField DataField="CveEvento" HeaderText="" />
<asp:BoundField DataField="NombreCorto" HeaderText="Emp" />
<asp:BoundField DataField="Tipo" HeaderText="Tipo"></asp:BoundField>
<asp:TemplateField HeaderText="#" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlLiga" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="REQ">
<ItemTemplate>
<asp:Literal ID="LtlLigaReq" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="SubProyecto" HeaderText="SubProyecto"></asp:BoundField>
<asp:BoundField DataField="Descripcion" HeaderText="Descripción"></asp:BoundField>
<asp:BoundField DataField="Estatus" HeaderText="Estatus" ItemStyle-HorizontalAlign="Center"></asp:BoundField>
<asp:BoundField DataField="Fecha" HeaderText="F. Solicitud" DataFormatString="{0:d}"></asp:BoundField>
<asp:BoundField DataField="NombreSolicita" HeaderText="Solicitó" />
<asp:BoundField DataField="UsuarioAsignado" HeaderText="Asignado" />
<asp:BoundField DataField="NombreComercial" HeaderText="Proveedor" />
<asp:BoundField DataField="Cliente" HeaderText="Cliente" />
<asp:BoundField DataField="CodigoAF" HeaderText="AF" />
<asp:BoundField DataField="Total" DataFormatString="{0:N2}" HeaderText="Total" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="MonAbreviatura" HeaderText="Mon" />
</Columns>
</asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel HeaderText="Pendientes" runat="server" ID="TabPendientes" Visible="true">
<ContentTemplate>
<asp:GridView ID="GvPendientes" runat="server" AutoGenerateColumns="False" DataKeyNames="CveEvento,Tipo,FechaIng,UEUsuario,Descripcion" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" GridLines="None" EmptyDataText="No se encontraron Ordenes de Compra">
<Columns>
<asp:BoundField DataField="CveEvento" HeaderText="" />
<asp:BoundField DataField="NombreCorto" HeaderText="Emp" />
<asp:BoundField DataField="Tipo" HeaderText="Tipo"></asp:BoundField>
<asp:TemplateField HeaderText="#">
<ItemTemplate>
<asp:Literal ID="LtlLiga" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="REQ">
<ItemTemplate>
<asp:Literal ID="LtlLigaReq" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="SubProyecto" HeaderText="SubProyecto"></asp:BoundField>
<asp:BoundField DataField="Descripcion" HeaderText="Descripción"></asp:BoundField>
<asp:BoundField DataField="Estatus" HeaderText="Estatus"></asp:BoundField>
<asp:BoundField DataField="Fecha" HeaderText="F. Solicitud" DataFormatString="{0:d}"></asp:BoundField>
<asp:BoundField DataField="NombreSolicita" HeaderText="Solicitó" />
<asp:BoundField DataField="UsuarioAsignado" HeaderText="Asignado" />
<asp:BoundField DataField="NombreComercial" HeaderText="Proveedor" />
<asp:BoundField DataField="Cliente" HeaderText="Cliente" />
<asp:BoundField DataField="CodigoAF" HeaderText="AF" />
<asp:BoundField DataField="Total" HeaderText="Total" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="80px" />
<asp:BoundField DataField="MonAbreviatura" HeaderText="Mon" />
</Columns>
</asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpConsultar" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:GridView Visible="false" ID="GvConsultar" runat="server" DataKeyNames="CveEvento,Tipo,FechaIng,UEUsuario,Descripcion" AutoGenerateColumns="False" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" GridLines="None" EmptyDataText="No se encontraron Ordenes de Compra">
<Columns>
<asp:BoundField DataField="CveEvento" HeaderText="" />
<asp:BoundField DataField="NombreCorto" HeaderText="Emp" />
<asp:BoundField DataField="Tipo" HeaderText="Tipo"></asp:BoundField>
<asp:TemplateField HeaderText="#">
<ItemTemplate>
<asp:Literal ID="LtlLiga" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="REQ">
<ItemTemplate>
<asp:Literal ID="LtlLigaReq" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="SubProyecto" HeaderText="SubProyecto"></asp:BoundField>
<asp:BoundField DataField="Descripcion" HeaderText="Descripción"></asp:BoundField>
<asp:BoundField DataField="Estatus" HeaderText="Estatus"></asp:BoundField>
<asp:BoundField DataField="Fecha" HeaderText="F. Solicitud" DataFormatString="{0:d}"></asp:BoundField>
<asp:BoundField DataField="NombreSolicita" HeaderText="Solicitó" />
<asp:BoundField DataField="UsuarioAsignado" HeaderText="Asignado" />
<asp:BoundField DataField="NombreComercial" HeaderText="Proveedor" />
<asp:BoundField DataField="Cliente" HeaderText="Cliente" />
<asp:BoundField DataField="CodigoAF" HeaderText="AF" />
<asp:BoundField DataField="Total" HeaderText="Total" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="80px" />
<asp:BoundField DataField="MonAbreviatura" HeaderText="Mon" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivRepSemana" class="modal fade" tabindex="-1" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header" style="background-color: #258FD7; height: 30px; padding-top: 3px;">
<button type="button" class="close" data-dismiss="modal" style="top: 3px !important; margin-top: 6px !important;" aria-hidden="true"></button>
<h4 class="modal-title" style="color: #FFF;">Reporte Semanal</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel UpdateMode="Conditional" ID="UpSemanal" runat="server">
<ContentTemplate>
<table class="Widthall">
<tr>
<th class="Titulos" colspan="5">Filtros para búsqueda</th>
</tr>
<tr>
<td class="text-right"><b>Fecha inicio:</b></td>
<td>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 105px !important; padding: 0px;">
<asp:TextBox ID="txtFechaISemanal" runat="server" CssClass="form-control" Width="80px" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgCalendarioFISemanal" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaISemanal" runat="server" TargetControlID="txtFechaISemanal" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender2" TargetControlID="txtFechaISemanal" PopupButtonID="ImgCalendarioFISemanal" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaISemanal" runat="server" ControlToValidate="txtFechaISemanal" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaISemanal" runat="server" ControlToValidate="txtFechaISemanal" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaISemanal" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaISemanal" Width="350px"></ajax:ValidatorCalloutExtender>
</td>
<td class="text-right"><b>Fecha Fin:</b></td>
<td>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 105px !important; padding: 0px;">
<asp:TextBox ID="txtFechaFSemanal" runat="server" CssClass="form-control" Width="80px" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgCalendarioFFSemanal" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaFSemanal" runat="server" TargetControlID="txtFechaFSemanal" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="txtFechaFSemanal" PopupButtonID="ImgCalendarioFFSemanal" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaFSemanal" runat="server" ControlToValidate="txtFechaFSemanal" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaFSemanal" runat="server" ControlToValidate="txtFechaFSemanal" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaFSemanal" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaFSemanal" Width="350px"></ajax:ValidatorCalloutExtender>
</td>
<td align="center">
<asp:Button ID="BtnConsultarSemanal" OnClick="BtnConsultarSemanal_Click" CssClass="btn btn-primary" runat="server" Text="Consultar" />
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:UpdatePanel ID="UPDatosSemanal" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div style="height: 300px; overflow-y: auto;">
<asp:GridView ID="GVSemanal" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros" ToolTip="Listado de Ordenes de Compra Semanales." CssClass="table table-striped table-hover Widthall" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Semana" DataField="Semana" DataFormatString="{0:N0}" ItemStyle-Width="10%" />
<asp:BoundField HeaderText="Inicio" DataField="InicioSemana" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="25%" />
<asp:BoundField HeaderText="Fin" DataField="FinSemana" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="25%" />
<asp:BoundField HeaderText="Tipo" DataField="Tipo" ItemStyle-Width="20%" />
<asp:BoundField HeaderText="Cantidad" DataField="Cantidad" DataFormatString="{0:N0}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="20%" />
</Columns>
</asp:GridView>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<button type="button" data-dismiss="modal" class="btn btn-">Cerrar</button>
</div>
</div>
</div>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script src="/Scripts/DataTables.js"></script>
<script type="text/javascript">
<%-- var Tam = TamañoVentana();
var Alto = Tam.height - 420
if (Alto < 100) {
Alto = 100;
}
function AddScrollGvPorAtender() {
$('#<%=GvPorAtender.ClientID%>').DataTable({
scrollY: Alto + 'px',
retrieve: true,
scrollCollapse: true,
paging: false,
searching: false,
info: false
});
}
function AddScrollGvPendientes() {
$('#<%=GvPendientes.ClientID%>').DataTable({
scrollY: Alto + 'px',
retrieve: true,
scrollCollapse: true,
paging: false,
searching: false,
info: false
});
}
function AddScrollGvConsultar() {
$('#<%=GvConsultar.ClientID%>').DataTable({
scrollY: Alto + 'px',
retrieve: true,
scrollCollapse: true,
paging: false,
searching: false,
info: false
});
}--%>
function pageLoad(sender, e) {
$(document).ready(function () {
$('a[class="ajax__tab_tab"]').click(function () {
$.fn.dataTable.tables({ visible: true, api: true }).columns.adjust();
});
$('[data-toggle="tooltip"]').tooltip();
});
}
</script>
</asp:Content>

501
OC/RepOC.aspx.vb Normal file
View File

@@ -0,0 +1,501 @@
Option Strict On
Option Explicit On
Imports Extensiones
Imports System.Data
Imports Microsoft.Reporting.WebForms
Partial Class RepOC
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property DtOC As DataTable
Get
Return DirectCast(ViewState("DtOC"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtOC") = value
End Set
End Property
Private Property DtPorAtender As DataTable
Get
Return DirectCast(ViewState("DtPorAtender"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtPorAtender") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
txtFechaI.Text = Now.AddMonths(-3).ToShortDateString
txtFechaF.Text = Now.ToShortDateString
DdlTipo.SelectedValue = IfNull(Request("Tipo"), "-1").ToString
If UsuarioActual.Empresa.CvePlataforma = 2 Then DivAF.Visible = False
If DdlTipo.SelectedValue <> "-1" Then DdlTipo_SelectedIndexChanged(sender, e)
If Not UsuarioActual.Empresa.Funcionalidad(519) = "1" Then
GvPorAtender.Columns(0).Visible = False
GvPendientes.Columns(0).Visible = False
GvConsultar.Columns(0).Visible = False
End If
If UsuarioActual.Empresa.GrupoEmpresa = 0 Then
GvPorAtender.Columns(1).Visible = False
GvPendientes.Columns(1).Visible = False
GvConsultar.Columns(1).Visible = False
End If
'If UsuarioActual.TienePermisoProceso(227) Then
' DivTotalOC.Visible = True
'End If
CargaProyectos()
CargaSubProyectos()
CargaUsuarios()
CargaProveedores()
CargaEstatus()
CargaActivoFijo()
CargaClasificacion()
CargaPS(-1)
If UsuarioActual.Empresa.Funcionalidad(108) = "1" Then
CargaClientes()
Else
ddlcliente.Items.Insert(0, New ListItem("Todos", "-1"))
End If
CargaPendientes()
txtFechaISemanal.Text = Now.FirstDayOfMonth.ToShortDateString
txtFechaFSemanal.Text = Now.ToShortDateString
End If
End Sub
#Region " CARGA COMBOS "
Protected Sub CargaProyectos()
DdlProyectos.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1), GlobalDTProyectos(UsuarioActual.CveEmpresa, -1))
DdlProyectos.DataBind()
DdlProyectos.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub CargaSubProyectos()
DdlSubProyectos.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyectos.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1), GlobalDTSubProyectos(DdlProyectos.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa, 1))
DdlSubProyectos.DataBind()
DdlSubProyectos.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub CargaUsuarios()
ddlUsuario.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
ddlUsuario.DataBind()
ddlUsuario.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub CargaProveedores()
ddlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
ddlProveedor.DataBind()
ddlProveedor.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub CargaClientes()
clintesdiv1.Visible = True
clintesdiv2.Visible = True
ddlcliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa)
ddlcliente.DataBind()
ddlcliente.Items.Insert(0, New ListItem("Todos", "-1"))
GvPorAtender.Columns(12).Visible = False
GvPendientes.Columns(12).Visible = False
GvConsultar.Columns(12).Visible = False
End Sub
Protected Sub CargaEstatus()
DdlEstatus.DataSource = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format(" (Tipo = '{0}' OR '{0}' = '-1')", DdlTipo.SelectedValue.ToString))
DdlEstatus.DataBind()
If DdlTipo.SelectedValue = "-1" Or DdlTipo.SelectedValue = "REQ" Then DdlEstatus.Items.Insert(0, New ListItem("Pre Requisicion", "0"))
DdlEstatus.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub CargaActivoFijo()
DdlActivoFijo.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa)
DdlActivoFijo.DataBind()
DdlActivoFijo.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DDlClasificacion.SelectedIndexChanged
CargaPS(DDlClasificacion.SelectedValue.ToEntero)
End Sub
Private Sub CargaClasificacion()
If UsuarioActual.Empresa.UsaAC Then
DDlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
Else
DDlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion")
End If
DDlClasificacion.DataBind()
DDlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
DDlClasificacion.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
Private Sub CargaPS(CveClasificacion As Integer)
DDlPS.setEsWebService(If(UsuarioActual.Empresa.Funcionalidad(105).ToString = "1", True, False))
If Not UsuarioActual.Empresa.Funcionalidad(105).ToString = "1" Then
DDlPS.ddl.Items.Clear()
DDlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion, Estatus:=1, AplicaParaVenta:=1)
DDlPS.ddl.DataBind()
DDlPS.ddl.Items.Insert(0, New ListItem("*** Actualizar listado de Productos o Servicios ***", "-2"))
DDlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
Else
DDlPS.ddlWS.Attributes.Add("data-cveclasificacion", DDlClasificacion.SelectedValue)
DDlPS.SelectedText = "Todos"
DDlPS.SelectedValue = "-1"
End If
End Sub
Protected Sub DdlProyectos_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyectos.SelectedIndexChanged
CargaSubProyectos()
End Sub
Protected Sub DdlTipo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipo.SelectedIndexChanged
CargaEstatus()
End Sub
#End Region
#Region " PENDIENTES - POR ATENDER "
Protected Sub btnConsultarPendientes_Click(sender As Object, e As EventArgs) Handles btnConsultarPendientes.Click
LbPorAtender.Visible = True
LbPendientes.Visible = True
LbConsultar.Visible = False
Tab.Visible = True
UPPTab.Update()
GvConsultar.Visible = False
UpConsultar.Update()
CargaPendientes()
End Sub
Private Sub CargaPendientes()
Dim OC As New ClsOC
If OC.GetOrdenesPendientes(DdlTipo.SelectedValue.ToString, 0, UsuarioActual.CveEmpresa, DdlProyectos.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero,
DdlEstatus.SelectedValue.ToEntero, UsuarioActual.CveUsuario, ddlcliente.SelectedValue.ToEntero,
SoloSubProyectosConPermiso:=If(UsuarioActual.Empresa.Funcionalidad(530) = "1", True, False)) Then
DtPorAtender = OC.DtResultados
GvPorAtender.DataSource = DtPorAtender 'OC.DtResultados
GvPorAtender.DataBind()
'If (GvPorAtender.Rows.Count > 0) Then
' GvPorAtender.UseAccessibleHeader = True
' GvPorAtender.HeaderRow.TableSection = TableRowSection.TableHeader
' RegistraScript("AddScrollGvPorAtender();")
'End If
End If
If OC.GetOrdenesPendientes(DdlTipo.SelectedValue.ToString, 1, UsuarioActual.CveEmpresa, DdlProyectos.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero,
DdlEstatus.SelectedValue.ToEntero, UsuarioActual.CveUsuario, ddlcliente.SelectedValue.ToEntero,
SoloSubProyectosConPermiso:=If(UsuarioActual.Empresa.Funcionalidad(530) = "1", True, False)) Then
GvPendientes.DataSource = OC.DtResultados
GvPendientes.DataBind()
'If (GvPendientes.Rows.Count > 0) Then
' GvPendientes.UseAccessibleHeader = True
' GvPendientes.HeaderRow.TableSection = TableRowSection.TableHeader
' RegistraScript("AddScrollGvPendientes();")
'End If
End If
OC.Dispose()
End Sub
Protected Sub GVPendientes_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvPendientes.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
'<asp:HyperLinkField DataNavigateUrlFields="CveOrdenCompra" ControlStyle-CssClass="Texto" DataNavigateUrlFormatString="/OC/OC.aspx?OC={0}" DataTextField="Folio" HeaderText="#">
e.Row.FCLiteral("LtlLiga").Text = String.Format("<a class=""Texto"" href=""/OC/OC.aspx?OC={0}"">{1}</a>", e.Row.DBCampo("CveOrdenCompra"), e.Row.DBCampo("Folio"))
e.Row.Cells(8).Attributes.Add("data-order", e.Row.DBCampo("Fecha").ToDate.Ticks.ToString)
e.Row.Cells(15).Attributes.Add("data-order", e.Row.DBCampo("Total").ToDecimal.ToString)
Select Case e.Row.DBCampo("TipoTermino") 'e.Row.DBCampo("Estatus")
Case "0" 'Supervisada
e.Row.Cells(7).CssClass = "label label-sm label-warning" 'Amarillo
Case "1" 'Autorizada
e.Row.Cells(7).CssClass = "label label-sm label-success" 'Verde
Case "2" 'Rechazada
e.Row.Cells(7).CssClass = "label label-sm label-danger" 'Rojo
Case "3" 'Solicitada
e.Row.Cells(7).CssClass = "label label-sm label-default" 'Gris
End Select
If e.Row.DBCampo("Tipo") = "OC" Then
e.Row.FCLiteral("LtlLigaReq").Text = String.Format("<a class=""Texto"" href=""/OC/OC.aspx?OC={0}"">{1}</a>", e.Row.DBCampo("CveREQ"), e.Row.DBCampo("FolioREQ"))
Else
e.Row.FCLiteral("LtlLigaReq").Text = ""
End If
If UsuarioActual.Empresa.Funcionalidad(519) = "1" Then
If e.Row.DataKey("CveEvento").ToString.ToEntero > 0 Then
e.Row.Cells(0).Text = "<i class='fa fa-exclamation-triangle' aria-hidden='true'></i>"
e.Row.Cells(0).ForeColor = Drawing.Color.DarkOrange
Dim ToolTip = "<b>Fecha:</b>" & e.Row.DataKey("FechaIng") & " <b>Usuario:</b>" & e.Row.DataKey("UEUsuario") & " <br/> <b>Descripcion:</b>" & e.Row.DataKey("Descripcion")
e.Row.Attributes.Add("title", ToolTip)
e.Row.Attributes.Add("data-toggle", "tooltip")
e.Row.Attributes.Add("data-html", "true")
Else
e.Row.Cells(0).Text = ""
End If
End If
End If
End Sub
Protected Sub GvPorAtender_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvPorAtender.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
'<asp:HyperLinkField DataNavigateUrlFields="CveOrdenCompra" ControlStyle-CssClass="Texto" DataNavigateUrlFormatString="/OC/OC.aspx?OC={0}" DataTextField="Folio" HeaderText="#">
e.Row.FCLiteral("LtlLiga").Text = String.Format(" <a class=""Texto"" href=""/OC/OC.aspx?OC={0}"">{1}</a>", e.Row.DBCampo("CveOrdenCompra"), e.Row.DBCampo("Folio"))
e.Row.Cells(8).Attributes.Add("data-order", e.Row.DBCampo("Fecha").ToDate.Ticks.ToString)
e.Row.Cells(15).Attributes.Add("data-order", e.Row.DBCampo("Total").ToDecimal.ToString)
Select Case e.Row.DBCampo("TipoTermino") 'e.Row.DBCampo("Estatus")
Case "0" 'Supervisada
e.Row.Cells(7).CssClass = "label label-sm label-warning" 'Amarillo
Case "1" 'Autorizada
e.Row.Cells(7).CssClass = "label label-sm label-success" 'Verde
Case "2" 'Rechazada
e.Row.Cells(7).CssClass = "label label-sm label-danger" 'Rojo
Case "3" 'Solicitada
e.Row.Cells(7).CssClass = "label label-sm label-default" 'Gris
End Select
If e.Row.DBCampo("Tipo") = "OC" Then
e.Row.FCLiteral("LtlLigaReq").Text = String.Format("<a class=""Texto"" href=""/OC/OC.aspx?OC={0}"">{1}</a>", e.Row.DBCampo("CveREQ"), e.Row.DBCampo("FolioREQ"))
Else
e.Row.FCLiteral("LtlLigaReq").Text = ""
End If
If UsuarioActual.Empresa.Funcionalidad(519) = "1" Then
If e.Row.DataKey("CveEvento").ToString.ToEntero > 0 Then
e.Row.Cells(0).Text = "<i class='fa fa-exclamation-triangle' aria-hidden='true'></i>"
e.Row.Cells(0).ForeColor = Drawing.Color.DarkOrange
Dim ToolTip = "<b>Fecha:</b>" & e.Row.DataKey("FechaIng") & " <b>Usuario:</b>" & e.Row.DataKey("UEUsuario") & " <br/> <b>Descripcion:</b>" & e.Row.DataKey("Descripcion")
e.Row.Attributes.Add("title", ToolTip)
e.Row.Attributes.Add("data-toggle", "tooltip")
e.Row.Attributes.Add("data-html", "true")
Else
e.Row.Cells(0).Text = ""
End If
End If
End If
End Sub
#End Region
#Region " CONSULTAR "
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles btnConsultar.Click
LbPorAtender.Visible = False
LbPendientes.Visible = False
LbConsultar.Visible = True
DivConsultar.Visible = True
DivPendiete.Visible = False
DivPorAtender.Visible = False
Dim FI As Date = If(txtFechaI.Text.Trim = "", MinFecha, txtFechaI.Text.Trim.ToDate)
Dim FF As Date = If(txtFechaF.Text.Trim = "", MaxFecha, txtFechaF.Text.Trim.ToDate)
FF = FF.AddDays(1)
Dim OC As New ClsOC
If OC.GetOrdenesCompraRep(DdlTipo.SelectedValue.ToString, DdlProyectos.SelectedValue.ToEntero, DdlSubProyectos.SelectedValue.ToEntero, DDlClasificacion.SelectedValue.ToEntero,
DdlEstatus.SelectedValue.ToEntero, FI, FF, -1, ddlProveedor.SelectedValue.ToEntero, If(txtFolio.Text.ToEntero = 0, -1, txtFolio.Text.ToEntero), ddlUsuario.SelectedValue.ToEntero,
If(CheckNoCompleta.Checked, -1, UsuarioActual.CveUsuario), UsuarioActual.Empresa.CveEmpresa, If(DDlPS.SelectedValue = "", -1, DDlPS.SelectedValue.ToEntero), If(CheckNoCompleta.Checked, True, False), ddlcliente.SelectedValue.ToEntero, CveActivoFijo:=DdlActivoFijo.SelectedValue.ToEntero,
SoloSubProyectosConPermiso:=If(UsuarioActual.Empresa.Funcionalidad(530) = "1", True, False)) Then
GvConsultar.DataSource = OC.DtResultados
DtOC = OC.DtResultados
LblTotal.Text = OC.DtResultados.SUM("Total").FormatoNumero
If UsuarioActual.TienePermisoProceso(227) Then
DivTotalOC.Visible = True
End If
End If
OC.Dispose()
GvConsultar.DataBind()
If (GvConsultar.Rows.Count > 0) Then
GvConsultar.UseAccessibleHeader = True
GvConsultar.HeaderRow.TableSection = TableRowSection.TableHeader
'RegistraScript("AddScrollGvConsultar();")
End If
Tab.Visible = False
UPPTab.Update()
GvConsultar.Visible = True
UpConsultar.Update()
UpBusqueda.Update()
End Sub
Protected Sub GvConsultar_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvConsultar.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
'<asp:HyperLinkField DataNavigateUrlFields="CveOrdenCompra" ControlStyle-CssClass="Texto" DataNavigateUrlFormatString="/OC/OC.aspx?OC={0}" DataTextField="Folio" HeaderText="#">
e.Row.FCLiteral("LtlLiga").Text = String.Format("<a Class=""Texto"" href=""/OC/OC.aspx?OC={0}"">{1}</a>", e.Row.DBCampo("CveOrdenCompra"), e.Row.DBCampo("Folio"))
e.Row.Cells(8).Attributes.Add("data-order", e.Row.DBCampo("Fecha").ToDate.Ticks.ToString)
e.Row.Cells(15).Attributes.Add("data-order", e.Row.DBCampo("Total").ToDecimal.ToString)
Select Case e.Row.DBCampo("TipoTermino") 'e.Row.DBCampo("Estatus")
Case "0" 'Supervisada
e.Row.Cells(7).CssClass = "label label-sm label-warning" 'Amarillo
Case "1" 'Autorizada
e.Row.Cells(7).CssClass = "label label-sm label-success" 'Verde
Case "2" 'Rechazada
e.Row.Cells(7).CssClass = "label label-sm label-danger" 'Rojo
Case "3" 'Solicitada
e.Row.Cells(7).CssClass = "label label-sm label-Default" 'Gris
End Select
If e.Row.DBCampo("Tipo") = "OC" Then
e.Row.FCLiteral("LtlLigaReq").Text = String.Format("<a class=""Texto"" href=""/OC/OC.aspx?OC={0}"">{1}</a>", e.Row.DBCampo("CveREQ"), e.Row.DBCampo("FolioREQ"))
Else
e.Row.FCLiteral("LtlLigaReq").Text = ""
End If
If UsuarioActual.Empresa.Funcionalidad(519) = "1" Then
If e.Row.DataKey("CveEvento").ToString.ToEntero > 0 Then
e.Row.Cells(0).Text = "<i class='fa fa-exclamation-triangle' aria-hidden='true'></i>"
e.Row.Cells(0).ForeColor = Drawing.Color.DarkOrange
Dim ToolTip = "<b>Fecha:</b>" & e.Row.DataKey("FechaIng") & " <b>Usuario:</b>" & e.Row.DataKey("UEUsuario") & " <br/> <b>Descripcion:</b>" & e.Row.DataKey("Descripcion")
e.Row.Attributes.Add("title", ToolTip)
e.Row.Attributes.Add("data-toggle", "tooltip")
e.Row.Attributes.Add("data-html", "true")
Else
e.Row.Cells(0).Text = ""
End If
End If
End If
End Sub
#End Region
#Region " OCS POR SEMANA "
Protected Sub BtnConsultarSemanal_Click(sender As Object, e As EventArgs)
CargaRepSemana()
End Sub
Private Sub CargaRepSemana()
Dim DtTemp As DataTable = Nothing
Dim ObjOC As New ClsOC
If ObjOC.RepOCCount(txtFechaISemanal.Text.ToDate, txtFechaFSemanal.Text.ToDate, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
DtTemp = ObjOC.DtResultados
Else
Alert("Ocurrió un error al obtener el reporte semanal. Por favor vuelva a intentar.", TipoMensaje.MsgError)
End If
ObjOC.Dispose()
If DtTemp IsNot Nothing Then
GVSemanal.DataSource = DtTemp
GVSemanal.DataBind()
End If
UPDatosSemanal.Update()
End Sub
#End Region
#Region " IMPRESION "
Protected Sub LbPorAtender_Click(sender As Object, e As System.EventArgs) Handles LbPorAtender.Click
'GvPorAtender.ExportToExcel("OrdenesCompraPorAtender" & Now.ToShortDateString)
ImprimePorAtender("Excel")
End Sub
Protected Sub LbPorAtenderPDF_Click(sender As Object, e As System.EventArgs) Handles LbPorAtenderPDF.Click
ImprimePorAtender("PDF")
End Sub
Private Sub ImprimePorAtender(Optional Formato As String = "PDF")
Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/RepOCPorAtender.rdlc", UsuarioActual.Empresa.Ruta))
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim Folio As String = If(txtFolio.Text = "", "", $"&emsp;<b>Folio:</b>&nbsp;{txtFolio.Text}")
Dim Tipo = If(DdlTipo.SelectedValue = "-1", "", $"&emsp;<b>Tipo:</b>&nbsp;{DdlTipo.SelectedItem.Text}")
Dim Proyecto = If(DdlProyectos.SelectedValue = "-1", "", $"&emsp;<b>Proyecto:</b>&nbsp;{DdlProyectos.SelectedItem.Text}")
Dim SubProyecto = If(DdlSubProyectos.SelectedValue = "-1", "", $"&emsp;<b>SubProyecto:</b>&nbsp;{DdlSubProyectos.SelectedItem.Text}")
Dim Estatus = If(DdlEstatus.SelectedValue = "-1", "", $"&emsp;<b>Estatus:</b>&nbsp;{DdlEstatus.SelectedItem.Text}")
Dim AF = If(DdlActivoFijo.SelectedValue = "-1", "", $"&emsp;<b>Activo Fijo:</b>&nbsp;{DdlActivoFijo.SelectedItem.Text}")
Dim Usuario = If(ddlUsuario.SelectedValue = "-1", "", $"&emsp;<b>Usuario:</b>&nbsp;{ddlUsuario.SelectedItem.Text}")
Dim FI As String = If(txtFechaI.Text = "", "", $"&emsp;<b>Fecha Inicio:</b>&nbsp;{txtFechaI.Text}")
Dim FF As String = If(txtFechaF.Text = "", "", $"&emsp;<b>Fecha Fin:</b>&nbsp;{txtFechaF.Text}")
Dim Clasificacion = If(DDlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificación:</b>&nbsp;{DDlClasificacion.SelectedItem.Text}")
Dim Producto = If(DDlPS.SelectedValue = "-1", "", $"&emsp;<b>Producto/Servicio:</b>&nbsp;{DDlPS.SelectedText}")
Dim Completa As String = If(CheckNoCompleta.Checked = False, "", $"&emsp;, <b>No completa</b>&nbsp;")
Dim Proveedor = If(ddlProveedor.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b>&nbsp;{ddlProveedor.SelectedItem.Text}")
Dim Cliente = If(ddlcliente.SelectedValue = "-1", "", $"&emsp;<b>Cliente:</b>&nbsp;{ddlcliente.SelectedItem.Text}")
If DtPorAtender IsNot Nothing AndAlso DtPorAtender.Rows.Count > 0 Then
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("AgrupadoPor", $"{Folio}{Tipo}{Proyecto}{SubProyecto}{Estatus}{AF}{Usuario}{FI}{FF}{Clasificacion}{Producto}{Completa}{Proveedor}{Cliente}"))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
If Archivo.Exists Then
ImprimirPDF($"{UsuarioActual.Empresa.Ruta}Formatos/RepOCPorAtender.rdlc", DtPorAtender, params, "RepOCPorAtender", Formato)
'ImprimirbytesPDF(ImprimirPDFCrystal($"{UsuarioActual.Empresa.Ruta}Formatos/RepOCPorAtender.rpt", DtPorAtender, params, "RepOCPorAtender", Formato), "RepOCPorAtender", Formato)
Else
ImprimirPDF("Empresas/Grales/Formatos/RepOCPorAtender.rdlc", DtPorAtender, params, "RepOCPorAtender", Formato)
'ImprimirbytesPDF(ImprimirPDFCrystal(Server.MapPath("~/Empresas/Grales/Formatos/RepOCPorAtender.rpt"), DtPorAtender, params, "RepOCPorAtender", Formato), "RepOCPorAtender", Formato)
End If
Else
Alert("No se encontraron datos con los filtros especificados", TipoMensaje.MsgAdvertencia)
End If
End Sub
Protected Sub LbPendientes_Click(sender As Object, e As System.EventArgs) Handles LbPendientes.Click
GvPendientes.ExportToExcel("OrdenesCompraPendientes" & Now.ToShortDateString)
End Sub
Protected Sub LbConsultar_Click(sender As Object, e As System.EventArgs) Handles LbConsultar.Click
If UsuarioActual.CveEmpresa.Contiene(72) Then
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", If(txtFechaI.Text = "", "-1", txtFechaI.Text)))
params.Add(New ReportParameter("FechaFin", If(txtFechaF.Text = "", "-1", txtFechaF.Text)))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToShortDateString))
ImprimirPDF(String.Format(UsuarioActual.Empresa.Ruta & "/Formatos/RepRequisicionesOC.rdlc", UsuarioActual.Empresa.Ruta), DtOC, params, Formato:="EXCEL")
Else
GvConsultar.ExportToExcel("OrdenesCompra" & Now.ToShortDateString)
End If
End Sub
Private Sub Tab_ActiveTabChanged(sender As Object, e As EventArgs) Handles Tab.ActiveTabChanged
If Tab.ActiveTabIndex = 0 Then
DivPorAtender.Visible = True
DivPendiete.Visible = False
DivConsultar.Visible = False
Else
DivPendiete.Visible = True
DivPorAtender.Visible = False
DivConsultar.Visible = False
End If
UpBusqueda.Update()
End Sub
#End Region
End Class

View File

@@ -0,0 +1,93 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepOCAnticiposPtes.aspx.cs" Inherits="OC_RepOCAnticiposPtes" %>
<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="E" runat="Server">
Solicitudes de Anticipos por realizar
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" CssClass="btn btn-primary" OnClick="BtnConsultar_Click"/>
<asp:CheckBox ID="chkexpand" ClientIDMode="Static" CssClass="hidden" runat="server" />
<a href="javascript;" data-idchekbox='chkexpand' class='<%= Convert.ToBoolean(chkexpand.Checked) ? "collapse" : "expand" %>'></a>
</div>
<div class="titlefiltros caption ">
<div class="row">
<label class="col-md-1 truncate">Proveedores:</label>
<div class="col-md-3">
<asp:DropDownList ID="DdlProveedores" Width="260px" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">Fecha Inicio:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" Width="99%" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgCalendarioI" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="txtFechaI" PopupButtonID="ImgCalendarioI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
&nbsp;
</div>
</div>
<label class="col-md-1 truncate">Fecha Fin:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" Width="99%" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
&nbsp;
</div>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" Width="100%" CssClass="table table-advance table-hover" Style="text-align: center;" ForeColor="Black" GridLines="None" OnRowCommand="GvDatos_RowCommand" DataKeyNames="CveOrdenCompra,CveEvento">
<Columns>
<asp:HyperLinkField DataTextField="Folio" HeaderText="Folio" ControlStyle-CssClass="Texto" DataNavigateUrlFormatString="/OC/OC.aspx?OC={0}" DataNavigateUrlFields="CveOrdenCompra" Target="_blank" />
<asp:BoundField DataField="RazonSocial" HeaderText="Proveedor" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Fecha" HeaderText="Fecha OC" DataFormatString="{0:d}" />
<asp:HyperLinkField Text="Aplicar Anticipo" ControlStyle-CssClass="Texto" DataNavigateUrlFormatString="/Bancos/IE.aspx?Opcion=EGSSINFACT&CveOC={0}" DataNavigateUrlFields="CveOrdenCompra" Target="_blank" />
<asp:ButtonField Text="Cancelar Anticipo" ControlStyle-ForeColor="red" CommandName="DeleteAnticipo" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,104 @@
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 OC_RepOCAnticiposPtes : ClsPaginas
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CargaDatosIniciales();
}
}
private void CargaDatosIniciales()
{
DdlProveedores.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa);
DdlProveedores.DataBind();
txtFechaI.Text = DateTime.Now.FirstDayOfMonth().AddMonths(-1).ToShortDateString();
txtFechaF.Text = DateTime.Now.ToShortDateString();
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
CargaGrid();
}
private void CargaGrid()
{
DateTime FechaI = txtFechaI.Text.ToDate();
DateTime FechaF = txtFechaF.Text.ToDate();
ClsOC clsOC = new ClsOC();
// Cargamos
if (clsOC.GetOCAnticiposPendientes(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, DdlProveedores.SelectedValue.ToEntero(), FechaI, FechaF))
{
GvDatos.DataSource = clsOC.DtResultados;
GvDatos.DataBind();
}
clsOC.Dispose();
UpDatos.Update();
}
protected void GvDatos_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "DeleteAnticipo")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = GvDatos.Rows[index];
int CveOrdenCompra = Convert.ToInt32(selectedRow.DataKey("CveOrdenCompra"));
ClsOIEventos clsOI = new ClsOIEventos();
int CveOIEvento = 0;
int CveEventoPrincipal = 0;
Boolean tieneError = false;
if(CveOrdenCompra > 0)
{
if(clsOI.GetEventos(-1, 6, -1, "-1", "-1", -1, -1, -1, -1, -1, -1, "-1", -1, -1, -1, -1, -1, CveOrdenCompra, -1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveEmpresa))
{
CveOIEvento = clsOI.CveEvento;
}
if (clsOI.GetEventos(-1, 1, -1, "-1", "-1", -1, -1, -1, -1, -1, -1, "-1", -1, -1, -1, -1, -1, CveOrdenCompra, -1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveEmpresa))
{
CveEventoPrincipal = clsOI.CveEvento;
}
if (! clsOI.UpdateEstatusEvento(5,-1,CveOIEvento, UsuarioActual.CveEmpresa))
{
clsOI.Dispose();
tieneError = true;
}
if (!clsOI.UpdateEstatusEvento(5, -1, CveEventoPrincipal, UsuarioActual.CveEmpresa))
{
clsOI.Dispose();
tieneError = true;
}
if (tieneError)
{
Alert("Ocurrió un error al actualizar el estatus de anticipo de la OC/REQ.", ModExtensiones.TipoMensaje.MsgError);
}
else
{
Alert("Se canceló con exito", ModExtensiones.TipoMensaje.MsgInformacion);
CargaGrid();
}
}
}
}
}

220
OC/RepOCGuias.aspx Normal file
View File

@@ -0,0 +1,220 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepOCGuias.aspx.vb" Inherits="OC_RepOCGuias" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.tooltip-inner {
max-width: 750px !important;
font-size: 14px;
}
.rownomargin {
margin-right: 0px;
margin-left: 0px;
}
.dataTables_scrollFoot {
display: none;
}
.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;
}
.EncabezadosGV {
text-align: center;
font-size: 20px;
font-weight: bold;
}
@media (min-width: 992px) {
.portlet-filter .portlet-body {
line-height: 1;
}
.colf-1, .colf-2, .colf-3 {
}
.paddintop {
margin-top: -2px;
}
label.colf-1 {
padding-top: 5px;
}
.colf-1 {
width: 7%;
float: left;
padding: 3px;
}
.colf-2 {
width: 14%;
float: left;
padding: 3px;
}
.colf-3 {
width: 21%;
float: left;
padding: 3px;
}
}
.MaxTruncate {
max-width: 200px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte ordenes de compra guías
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
<asp:UpdatePanel ID="UpAcciones" runat="server">
<ContentTemplate>
<li>
<asp:LinkButton ID="LinkPDF" runat="server"> <i class="fa fa-ad-pdf"></i> Imprimir</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-ad-excel"></i> Exportar Excel</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LinkPDF" />
<asp:PostBackTrigger ControlID="LnkExportar" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" OnClick="BtnConsultar_Click1" runat="server" Text="Consultar" CssClass="btn btn-default" />
<a href="javascript;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= If(chkexpand.Checked = True, "collapse", "expand")%>"></a>
<asp:CheckBox ID="chkexpand" CssClass="hidden" runat="server" />
</div>
<div class="titlefiltros caption ">
<div class="row rownomargin">
<label class="colf-1 truncate">Fecha inicio</label>
<div class="colf-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="padding: 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Width="120px"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<label class="colf-1">Fecha Fin</label>
<div class="colf-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="padding: 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Width="120px"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<label class="colf-1 truncate">Proveedor </label>
<div class="colf-2">
<asp:DropDownList ID="ddlProveedor" runat="server" CssClass="form-control input-sm select2me" DataTextField="RazonSocial" DataValueField="CveProveedor"></asp:DropDownList>
</div>
<label class="colf-1 truncate">Cliente</label>
<div class="colf-2">
<asp:DropDownList ID="Ddlcliente" runat="server" CssClass="form-control input-sm select2me" DataTextField="NombreComercial" DataValueField="CveCliente"></asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" <%= If(chkexpand.Checked = True, "", "style=""display:none;""")%>>
<div class="row rownomargin">
<label class="colf-1 truncate">Vendedor</label>
<div class="colf-2" runat="server">
<asp:DropDownList ID="DdlVendedor" runat="server" CssClass="form-control input-sm select2me" DataTextField="Vendedor" DataValueField="CveVendedor" Width="200px"></asp:DropDownList>
</div>
<label class="colf-1 truncate"><asp:Literal Text="SubProyecto" ID="LtCC" runat="server" /></label>
<div class="colf-2">
<asp:DropDownList ID="DdlSubproyecto" AutoPostBack="true" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me" Width="200px">
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<div class="row" id="DivPorAtender" runat="server" visible="true" style="text-align: center; font-weight: bold">
<div style="text-align: right!important">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="display: inline-block; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="Widthall">
<asp:Label ID="lblCountRegistros" runat="server" Font-Bold="true"></asp:Label>
</div>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" data-freezerows="1" GridLines="None" EmptyDataText="No se encontraron Ordenes de Compra">
<Columns>
<asp:HyperLinkField Target="_blank" DataNavigateUrlFields="CveOrdenCompra" DataNavigateUrlFormatString="~/OC/OC.aspx?OC={0}" HeaderText="Folio" DataTextField="Folio" />
<asp:BoundField DataField="FechaEstimadaEntrega" HeaderText="Fecha de Entrega " DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="Guia" HeaderText="Guia" ItemStyle-HorizontalAlign="Left"></asp:BoundField>
<asp:BoundField DataField="SubProyecto" HeaderText="SubProyecto" />
<asp:BoundField DataField="Vendedor" ItemStyle-CssClass="MaxTruncate" HeaderText="Vendedor" />
<asp:BoundField DataField="Nombre" ItemStyle-CssClass="MaxTruncate" HeaderText="Cliente"></asp:BoundField>
<asp:BoundField DataField="RazonSocial" ItemStyle-CssClass="MaxTruncate" HeaderText="Proveedor" ItemStyle-HorizontalAlign="Left"></asp:BoundField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

156
OC/RepOCGuias.aspx.vb Normal file
View File

@@ -0,0 +1,156 @@
Option Explicit On
Option Strict On
Imports Microsoft.Reporting.WebForms
Imports System.Data
Imports Extensiones
Partial Class OC_RepOCGuias
Inherits ClsPaginas
#Region " PROPIEDADES "
Property DTDatos As DataTable
Get
If ViewState("DTDatos") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DTDatos"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DTDatos") = value
End Set
End Property
#End Region
Private Sub OC_RepOCGuias_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
InicializaValores()
CargaDatos()
End If
End Sub
#Region " INICIALIZA VALORES "
Private Sub InicializaValores()
txtFechaI.Text = Now.AddDays(-10).ToShortDateString
txtFechaF.Text = Now.ToShortDateString
Select Case UsuarioActual.Empresa.Tipo_CentroCosto
Case 1
LtCC.Text = "Sucursal"
Case 2
LtCC.Text = "Proyecto"
Case 3
LtCC.Text = "SubProyecto"
End Select
CargaProveedores()
CargaClientes()
CargaVendedores()
CargaSubProyectos()
End Sub
Private Sub CargaCombos()
CargaProveedores()
CargaClientes()
CargaVendedores()
End Sub
Protected Sub CargaProveedores()
ddlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
ddlProveedor.DataBind()
ddlProveedor.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub CargaClientes()
Ddlcliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa)
Ddlcliente.DataBind()
Ddlcliente.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Private Sub CargaVendedores()
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa)
DdlVendedor.DataBind()
DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1"))
UPFiltros.Update()
End Sub
Private Sub CargaSubProyectos()
DdlSubproyecto.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa, 1)
DdlSubproyecto.DataBind()
DdlSubproyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
#End Region
#Region " CARGA DATOS "
Protected Sub BtnConsultar_Click1(sender As Object, e As EventArgs)
CargaDatos()
End Sub
Private Sub CargaDatos()
Dim ObjOC As New ClsOC
If ObjOC.GetRepOCGuias(txtFechaI.Text.ToDate.ToString("dd/MM/yyyy"), txtFechaF.Text.ToDate.ToString("dd/MM/yyyy"), ddlProveedor.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, Ddlcliente.SelectedValue.ToEntero, DdlSubproyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
DTDatos = ObjOC.DtResultados
GvDatos.DataSource = DTDatos
Else
DTDatos = Nothing
GvDatos.DataSource = DTDatos
End If
ObjOC.Dispose()
GvDatos.DataBind()
Select Case UsuarioActual.Empresa.Tipo_CentroCosto
Case 1
GvDatos.HeaderRow.Cells(3).Text = "Sucursal"
Case 2
GvDatos.HeaderRow.Cells(3).Text = "Proyecto"
Case 3
GvDatos.HeaderRow.Cells(3).Text = "SubProyecto"
End Select
UpDatos.Update()
End Sub
#End Region
#Region "I M P R I M I R P D F/Excel"
Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
GenerarPDF("Excel")
End Sub
Private Sub LinkPDF_Click(sender As Object, e As EventArgs) Handles LinkPDF.Click
GenerarPDF()
End Sub
Private Sub GenerarPDF(Optional Formato As String = "PDF")
Dim ObjTareas As New ClsOIEventos
Dim params As New List(Of ReportParameter)
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
'Dim Filtros As String = "<b>Filtros: </b> "
'params.Add(New ReportParameter("AgrupadoPor", Filtros))
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
'params.Add(New ReportParameter("FechaInicio", FechaI))
'params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToShortDateString))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas\Grales\Formatos\RepOCGuias.rdlc", DTDatos, params, $"RepOCGuias_{Now.ToString("yyyyMMddmmss")}", Formato:=Formato)
End Sub
#End Region
End Class

87
OC/RepOCSinFactura.aspx Normal file
View File

@@ -0,0 +1,87 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepOCSinFactura.aspx.vb" Inherits="OC_RepOCSinFactura" %>
<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="E" runat="Server">
Órdenes de Compra Sin Factura
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-default" />
<a href="javascript:;" class="expand"></a>
<a onclick="document.getElementById('C_BtnConsultar').click();" class="reload"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1 truncate">Sucursal:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSucursal" runat="server" AppendDataBoundItems="true" DataTextField="Sucursal" DataValueField="CveSucursal" CssClass="form-control input-sm select2me">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">Vendedor:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlVendedor" runat="server" AppendDataBoundItems="true" DataTextField="Vendedor" DataValueField="Vendedor" CssClass="form-control input-sm select2me">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" CssClass="table table-advance table-striped table-hover Widthall" runat="server" AutoGenerateColumns="False" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="OC">
<ItemTemplate>
<asp:Literal ID="LtOCFolio" runat="server" Text='<%# Eval("OCFolio")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha">
<ItemTemplate>
<asp:Literal ID="LtFecha" runat="server" Text='<%# Eval("Fecha", "{0:d}")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Cotizacion">
<ItemTemplate>
<asp:Literal ID="LtSerieFolio" runat="server" Text='<%# Eval("CotSerieFolio")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Cot Fecha">
<ItemTemplate>
<asp:Literal ID="LtCotFecha" runat="server" Text='<%# Eval("CotFecha", "{0:d}")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sucursal">
<ItemTemplate>
<asp:Literal ID="LtSucursal" runat="server" Text='<%# Eval("Sucursal")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Vendedor">
<ItemTemplate>
<asp:Literal ID="LtVendedor" runat="server" Text='<%# Eval("Vendedor")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,56 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports System.Linq
Imports Extensiones
Partial Class OC_RepOCSinFactura
Inherits ClsPaginas
Private Sub OC_RepOCSinFactura_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
CargaCombos()
End If
End Sub
Private Sub CargaCombos()
'CargaSucursales
DdlSucursal.DataSource = GlobalDTSucursales.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlSucursal.DataBind()
'Vendedor
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa)
DdlVendedor.DataBind()
End Sub
Private Sub CargaDatos()
Dim ObjOC As New ClsOC
If ObjOC.GetOCSinFactura(DdlSucursal.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
GvDatos.DataSource = ObjOC.DtResultados()
Else
GvDatos.DataSource = Nothing
End If
ObjOC.Dispose()
GvDatos.DataBind()
UpDatos.Update()
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
End Sub
Private Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim LigaFolio As String = String.Format("/OC/OC.aspx?OC={0}", e.Row.DBCampo("CveOrdenCompra"))
Dim LigaSerie As String = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DBCampo("CveCotizacion"))
e.Row.FCLiteral("LtOCFolio").Text = String.Format("<a class='Texto' href='{0}' target='_blank'>{1}</a>", LigaFolio, e.Row.DBCampo("OCFolio"))
e.Row.FCLiteral("LtSerieFolio").Text = String.Format("<a class='Texto' href='{0}' target='_blank'>{1}</a>", LigaSerie, e.Row.DBCampo("CotSerieFolio"))
End If
End Sub
End Class

103
OC/RepOCxSurtir.aspx Normal file
View File

@@ -0,0 +1,103 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepOCxSurtir.aspx.vb" Inherits="OC_RepOCxSurtir" %>
<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="E" runat="Server">
Ordenes de Compra por vincular
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<%--FILTROS--%>
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1 " style="max-width: 80px;">Folio:</label>
<div class="col-md-1" style="max-width: 80px;">
<asp:TextBox ID="TxtFolio" style="Width:50px !important" runat="server" CssClass="form-control input-sm input-small"></asp:TextBox>
</div>
<div class="col-md-1 truncate">Fecha Inicio:</div>
<div class="col-md-1 col-sm-1" style="max-width: 100px;">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;">
<asp:TextBox Style="width: 80px !important;" ID="TxtFechaI" runat="server" CssClass="form-control" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaI" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="TxtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaI" TargetControlID="TxtFechaI" PopupButtonID="ImgFechaI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
<div class="col-md-1 truncate" style="text-align: right!important">Fecha Fin:</div>
<div class="col-md-1 col-sm-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;">
<asp:TextBox Style="width: 80px !important;" ID="TxtFechaF" runat="server" CssClass="form-control" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="TxtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="TxtFechaF" PopupButtonID="ImgFechaF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
</div>
</div>
</div>
<div class="portlet-body " style="display:none;">
<div class="row">
<label class="col-md-1" style="max-width: 80px;">Proveedor: </label>
<div class="col-md-2">
<asp:DropDownList ID="DdlProveedor" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" Class="select2me Widthall" ></asp:DropDownList>
</div>
<div class="col-md-1" style="max-width: 60px;">Cliente:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlCliente" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveCliente" Class="select2me Widthall"></asp:DropDownList>
</div>
<div class="col-md-1" style="max-width: 110px;">Centro de Costo</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="select2me Widthall"></asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<%--DATOS--%>
<div class="row" style="margin-top: 50px;">
<div class="col-md-12">
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" EmptyDataText="No se encontraron productos por surtir." CssClass="table table-striped table-hover Widthall ScrollAD" runat="server" AutoGenerateColumns="False" GridLines="None">
<Columns>
<asp:HyperLinkField DataTextField="Folio" HeaderText="Folio" ControlStyle-CssClass="Texto" DataNavigateUrlFormatString="/OC/OC.aspx?OC={0}" DataNavigateUrlFields="CveOrdenCompra" Target="_blank" />
<asp:BoundField DataField="FechaIng" HeaderText="Fecha" DataFormatString="{0:d}" />
<asp:BoundField DataField="Descripcion" HeaderText="Descripción" />
<asp:BoundField DataField="CodigoPS" HeaderText="Producto/Servicio" />
<asp:BoundField DataField="CantidadOC" HeaderText="CantidadOC" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="CantidadCompra" HeaderText="Cantidad Compra" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Pendiente" HeaderText="Pendiente" ItemStyle-HorizontalAlign="Right" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

78
OC/RepOCxSurtir.aspx.vb Normal file
View File

@@ -0,0 +1,78 @@
Option Explicit On
Option Strict On
Imports Extensiones
Partial Class OC_RepOCxSurtir
Inherits ClsPaginas
Protected Sub OC_RepOCxSurtir_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
InicializaValores()
End If
End Sub
#Region " INICIALIZA VALORES "
Private Sub InicializaValores()
TxtFechaI.Text = Now.FirstDayOfMonth.ToShortDateString
TxtFechaF.Text = Now.ToShortDateString
DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedor.DataBind()
DdlProveedor.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlCliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa)
DdlCliente.DataBind()
DdlCliente.Items.Insert(0, New ListItem("Todos", "-1"))
UPFiltros.Update()
End Sub
#End Region
#Region " CARGA DATOS "
Private Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
CargaDatos()
End Sub
Private Sub CargaDatos()
Dim ObjOC As New ClsOC
Dim FechaI, FechaF As String
FechaI = If(IsDate(TxtFechaI.Text.Trim()), TxtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(TxtFechaF.Text.Trim()), TxtFechaF.Text.Trim(), "-1")
If ObjOC.GetPendietePorSurtirOC(FechaI, FechaF, DdlProveedor.SelectedValue.ToEntero, If(TxtFolio.Text = "", -1, TxtFolio.Text.ToEntero), DdlSubProyecto.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
GvDatos.DataSource = ObjOC.DtResultados
Else
GvDatos.DataSource = Nothing
End If
GvDatos.DataBind()
ObjOC.Dispose()
UpDatos.Update()
End Sub
Private Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("CveOrdenCompra") = "" Then
e.Row.CssClass = "Totales"
e.Row.Cells(3).Visible = False
e.Row.Cells(2).ColumnSpan = 2
ElseIf e.Row.DBCampo("CodigoPS") = "" Then
e.Row.CssClass = "SubTotales2"
Else
e.Row.Cells(0).Text = ""
e.Row.Cells(1).Text = ""
e.Row.Cells(2).Text = ""
End If
End If
End Sub
#End Region
End Class

330
OC/RepReqXOC.aspx Normal file
View File

@@ -0,0 +1,330 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepReqXOC.aspx.vb" Inherits="RepReqXOC" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
<link href="/Metronic/assets/global/plugins/datatables/plugins/bootstrap/dataTables.bootstrap.css" rel="stylesheet" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.tooltip-inner {
max-width: 750px !important;
font-size:14px;
}
.rownomargin {
margin-right: 0px;
margin-left: 0px;
}
.dataTables_scrollFoot {
display: none;
}
.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;
}
.EncabezadosGV {
text-align: center;
font-size: 20px;
font-weight: bold;
}
@media (min-width: 992px) {
.portlet-filter .portlet-body {
line-height: 1;
}
.colf-1, .colf-2, .colf-3 {
}
.paddintop {
margin-top: -2px;
}
label.colf-1 {
padding-top: 5px;
}
.colf-1 {
width: 7%;
float: left;
padding: 3px;
}
.colf-2 {
width: 14%;
float: left;
padding: 3px;
}
.colf-3 {
width: 21%;
float: left;
padding: 3px;
}
}
.MaxTruncate{
max-width: 200px;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<asp:UpdatePanel ID="UpAcciones" runat="server">
<ContentTemplate>
<li>
<asp:LinkButton ID="LinkPDF" runat="server"> <i class="fa fa-ad-pdf"></i> Imprimir</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-ad-excel"></i> Exportar Excel</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LinkPDF" />
<asp:PostBackTrigger ControlID="LnkExportar" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte de Requisiciones y Ordenes de Compra
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="btnConsultar" runat="server" Text="Consultar" CssClass="btn btn-default" />
<a href="javascript;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= If(chkexpand.Checked = True, "collapse", "expand")%>"></a>
<asp:CheckBox ID="chkexpand" CssClass="hidden" runat="server" />
</div>
<div class="titlefiltros caption ">
<div class="row rownomargin">
<label class="colf-1 truncate">Folio:</label>
<div class="colf-2 ">
<asp:TextBox ID="txtFolio" CssClass="form-control input-sm " runat="server" Style="width: 70px; height: 28px; display: inline-block;"></asp:TextBox>
</div>
<label class="colf-1 truncate">Fecha inicio</label>
<div class="colf-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="padding: 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Width="120px"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<label class="colf-1">Fecha Fin</label>
<div class="colf-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="padding: 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Width="120px"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<label class="colf-1 truncate">Grupo:</label>
<div class="colf-2 ">
<asp:DropDownList runat="server" ID="DdlGrupo" CssClass="select2me" Width="120px">
<asp:ListItem Value="-1">Todos</asp:ListItem>
<asp:ListItem Value="1">Pendientes por generar OC</asp:ListItem>
<asp:ListItem Value="2">Diferencias $ </asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" <%= If(chkexpand.Checked = True, "", "style=""display:none;""")%>>
<div class="row rownomargin">
<label class="colf-1 truncate">Proveedor OC</label>
<div class="colf-2">
<asp:DropDownList ID="ddlProveedor" runat="server" CssClass="form-control input-sm select2me" DataTextField="RazonSocial" DataValueField="CveProveedor"></asp:DropDownList>
</div>
<label class="colf-1 truncate" id="clintesdiv1" runat="server" visible="false">Cliente</label>
<div class="colf-2" id="clintesdiv2" runat="server" visible="false">
<asp:DropDownList ID="Ddlcliente" runat="server" CssClass="form-control input-sm select2me" DataTextField="NombreComercial" DataValueField="CveCliente"></asp:DropDownList>
</div>
<label class="colf-1 truncate" id="LblVendedor" runat="server" visible="false">Vendedor</label>
<div class="colf-2" runat="server" >
<asp:DropDownList ID="DdlVendedor" runat="server" CssClass="form-control input-sm select2me" DataTextField="Vendedor" DataValueField="CveVendedor"></asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<div class="row" id="DivPorAtender" runat="server" visible="true" style="text-align:center;font-weight:bold">
<div style="text-align:right!important">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="display: inline-block; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="Widthall">
<asp:Label ID="lblCountRegistros" runat="server" Font-Bold="true"></asp:Label>
</div>
<asp:GridView ID="GvDatos" runat="server" DataKeyNames="REQCveOrdenCompra,OCCveOrdenCompra,REQFolio,OCFolio" AutoGenerateColumns="False" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" data-freezerows="2" GridLines="None" EmptyDataText="No se encontraron Ordenes de Compra">
<Columns>
<asp:BoundField DataField="REQFolio" HeaderText="Folio" />
<asp:BoundField DataField="Fecha" HeaderText="Fecha" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="REQObservacion" HeaderText="Observación" ItemStyle-CssClass="MaxTruncate" ></asp:BoundField>
<asp:BoundField DataField="OCFolio" HeaderText="Folio" />
<asp:BoundField DataField="OCFecha" HeaderText="Fecha" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="CodigoPS" HeaderText="Producto servicio" ItemStyle-CssClass="MaxTruncate" ></asp:BoundField>
<asp:BoundField DataField="REQCantidad" HeaderText="REQ" ItemStyle-HorizontalAlign="Right"></asp:BoundField>
<asp:BoundField DataField="OCDCantidad" HeaderText="OC" ItemStyle-HorizontalAlign ="Right"></asp:BoundField>
<asp:TemplateField HeaderText="Pendiente" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="LblDifCantidad" runat="server" Text='<%#If(Eval("DifCantidad").ToString = "0.00" Or Eval("DifCantidad").ToString = "", "-", Convert.ToDecimal(Eval("DifCantidad").ToString).ToString("###,###,###.00")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="REQImporte" HeaderText="REQ" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:C}"></asp:BoundField>
<asp:BoundField DataField="OCDImporte" HeaderText="OC" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:C}"></asp:BoundField>
<asp:TemplateField HeaderText="Dif" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="LblDifImporte" Style="margin-right: 10px!important" runat="server" Text='<%#If(Eval("Dif").ToString = "0.00" Or Eval("Dif").ToString = "", "-", Convert.ToDecimal(Eval("Dif").ToString).ToString("###,###,###.00")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script src="/Scripts/DataTables.js"></script>
<script type="text/javascript">
<%-- var Tam = TamañoVentana();
var Alto = Tam.height - 420
if (Alto < 100) {
Alto = 100;
}
function AddScrollGvPorAtender() {
$('#<%=GvPorAtender.ClientID%>').DataTable({
scrollY: Alto + 'px',
retrieve: true,
scrollCollapse: true,
paging: false,
searching: false,
info: false
});
}
function AddScrollGvPendientes() {
$('#<%=GvPendientes.ClientID%>').DataTable({
scrollY: Alto + 'px',
retrieve: true,
scrollCollapse: true,
paging: false,
searching: false,
info: false
});
}
function AddScrollGvConsultar() {
$('#<%=GvConsultar.ClientID%>').DataTable({
scrollY: Alto + 'px',
retrieve: true,
scrollCollapse: true,
paging: false,
searching: false,
info: false
});
}--%>
function pageLoad(sender, e) {
$(document).ready(function () {
$('a[class="ajax__tab_tab"]').click(function () {
$.fn.dataTable.tables({ visible: true, api: true }).columns.adjust();
});
$('[data-toggle="tooltip"]').tooltip();
});
}
</script>
</asp:Content>

212
OC/RepReqXOC.aspx.vb Normal file
View File

@@ -0,0 +1,212 @@
Option Strict On
Option Explicit On
Imports Extensiones
Imports System.Data
Imports Microsoft.Reporting.WebForms
Partial Class RepReqXOC
Inherits ClsPaginas
Property DTDatos As DataTable
Get
If ViewState("DTDatos") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DTDatos"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DTDatos") = value
End Set
End Property
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
txtFechaI.Text = Now.AddDays(-10).ToShortDateString
txtFechaF.Text = Now.ToShortDateString
CargaProveedores()
If UsuarioActual.Empresa.Funcionalidad(108) = "1" Then
CargaClientes()
CargaVendedores()
UPFiltros.Update()
Else
Ddlcliente.Visible = False
DdlVendedor.Visible = False
Ddlcliente.Items.Insert(0, New ListItem("Todos", "-1"))
DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1"))
End If
CargaDatos()
End If
End Sub
#Region " CARGA COMBOS "
Protected Sub CargaProveedores()
ddlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
ddlProveedor.DataBind()
ddlProveedor.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub CargaClientes()
clintesdiv1.Visible = True
clintesdiv2.Visible = True
ddlcliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa)
ddlcliente.DataBind()
ddlcliente.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Private Sub CargaVendedores()
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa)
DdlVendedor.DataBind()
DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1"))
DdlVendedor.Visible = True
LblVendedor.Visible = True
UPFiltros.Update()
End Sub
#End Region
#Region " CONSULTAR "
Private Sub CargaDatos()
Dim Folio As Integer = If(txtFolio.Text.ToEntero < 1, -1, txtFolio.Text.ToEntero)
Dim OC As New ClsOC
If OC.GetOrdenesCompraRepReqXOC(Folio, txtFechaI.Text, txtFechaF.Text, ddlProveedor.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, ddlcliente.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero) Then
GvDatos.DataSource = OC.DtResultados
DTDatos = OC.DtResultados
lblCountRegistros.Text = "Registros: " & OC.DtResultados.Rows.Count.ToString
Else
DTDatos = Nothing
lblCountRegistros.Text = "Registros: 0"
GvDatos.DataSource = Nothing
End If
OC.Dispose()
GvDatos.DataBind()
UpDatos.Update()
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles btnConsultar.Click
CargaDatos()
End Sub
#End Region
#Region "I M P R I M I R P D F/Excel"
Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
GenerarPDF("Excel")
End Sub
Private Sub LinkPDF_Click(sender As Object, e As EventArgs) Handles LinkPDF.Click
GenerarPDF()
End Sub
Private Sub GenerarPDF(Optional Formato As String = "PDF")
Dim ObjTareas As New ClsOIEventos
Dim params As New List(Of ReportParameter)
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
'Dim Filtros As String = "<b>Filtros: </b> "
'params.Add(New ReportParameter("AgrupadoPor", Filtros))
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
'params.Add(New ReportParameter("FechaInicio", FechaI))
'params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas\Grales\Formatos\RepReqXOC.rdlc", DTDatos, params, $"RepReqXOC_{Now.ToString("yyyyMMddmmss")}", Formato:=Formato)
End Sub
Private Sub GvDatos_RowCreated(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowCreated
If e.Row.RowType = DataControlRowType.Header Then
Dim HeaderGrid As GridView = DirectCast(sender, GridView)
Dim HeaderGridRow As GridViewRow = New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert)
Dim HeaderCellRequisicion As TableCell = New TableCell()
HeaderCellRequisicion.Text = "Requisición"
HeaderCellRequisicion.ColumnSpan = 3
HeaderCellRequisicion.Style.Value = "border-color: Gray;border-style: solid;border-right-color: #FFFFFF;;border-left-color: Gray;"
HeaderGridRow.Cells.Add(HeaderCellRequisicion)
Dim HeaderCellOC As TableCell = New TableCell()
HeaderCellOC.Text = "OC"
HeaderCellOC.ColumnSpan = 2
HeaderCellOC.Style.Value = "border-color: Gray;border-style: solid;border-right-color: #FFFFFF;"
HeaderGridRow.Cells.Add(HeaderCellOC)
Dim HeaderCellPS As TableCell = New TableCell()
HeaderCellPS.Text = "Producto/Servicio"
HeaderCellPS.Style.Value = "border-color: Gray;border-style: solid;border-right-color: #FFFFFF;"
HeaderCellPS.ColumnSpan = 1
HeaderGridRow.Cells.Add(HeaderCellPS)
Dim HeaderCellCantidad As TableCell = New TableCell()
HeaderCellCantidad.Text = "Cantidad"
HeaderCellCantidad.Style.Value = "border-color: Gray;border-style: solid;border-right-color: #FFFFFF;"
HeaderCellCantidad.ColumnSpan = 3
HeaderGridRow.Cells.Add(HeaderCellCantidad)
Dim HeaderCellImporte As TableCell = New TableCell()
HeaderCellImporte.Text = "Importe"
HeaderCellImporte.ColumnSpan = 3
HeaderGridRow.Cells.Add(HeaderCellImporte)
HeaderGridRow.Style.Value = "border-top: 1px solid #ddd;text-align:center;font-weight:bold;background-color: Gray;color:#FFFFFF;"
GvDatos.Controls(0).Controls.AddAt(0, HeaderGridRow)
End If
End Sub
Private Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Cells(0).Text = $"<a class='Texto' target='_blank' href='./OC.aspx?OC={e.Row.DataKey("REQCveOrdenCompra")}' >{ e.Row.DataKey("REQFolio")}</a>"
If e.Row.DataKey("OCFolio").Length > 0 Then
e.Row.Cells(3).Text = $"<a class='Texto' target='_blank' href='./OC.aspx?OC={e.Row.DataKey("OCCveOrdenCompra")}' >{ e.Row.DataKey("OCFolio")}</a>"
Else
e.Row.Cells(3).Text = "-"
End If
End If
End Sub
#End Region
End Class

349
OC/RepRequisiciones.aspx Normal file
View File

@@ -0,0 +1,349 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepRequisiciones.aspx.vb" Inherits="OC_RepRequisiciones" %>
<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 {
overflow:hidden !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">
<li>
<asp:HyperLink NavigateUrl="/OC/OC.aspx?Tipo=Req" ID="HLAgregarReq" runat="server"><i class="fa fa-plus"></i> Agregar Requisición</asp:HyperLink>
</li>
<li>
<asp:LinkButton ID="LnkPdf" runat="server"> <i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:fnExcelReport('C_GVDatos','');" ID="HyperLink1" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:HyperLink>
</li>
<li>
<asp:HyperLink NavigateUrl="#" data-toggle="modal" data-target="#DivPersonalizar" ID="ImgPersonalizar" runat="server"> <i class="fa fa-pencil"></i> Personalizar Column</asp:HyperLink>
</li>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Requisiciones
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle" style="min-height: 49px;">
<div class="tools">
<asp:Button ID="BtnConsultar" CssClass="btn btn-default" runat="server" Text="Consultar" />
<a href="javascript;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= IIf(chkexpand.Checked = True, "collapse", "expand")%>"></a>
<asp:CheckBox ID="chkexpand" CssClass="hidden" runat="server" />
</div>
<div class="titlefiltros caption ">
<div class="row">
<div class="col-md-1 "><span>Proyecto:</span></div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlProyecto" runat="server" AppendDataBoundItems="true" DataTextField="Proyecto" DataValueField="CveProyecto" CssClass="form-control input-sm select2me" Style="max-width: 200px !important;">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1 "><span>SubProyecto:</span></div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me" Style="max-width: 200px !important;">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1 "><span>Estatus:</span></div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlEstatus" runat="server" AppendDataBoundItems="true" DataTextField="Estatus" DataValueField="CveEstatus" CssClass="form-control input-sm select2me" Style="width: 100px !important;">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" <%= IIf(chkexpand.Checked = True, "", "style=""display:none;""")%>>
<div class="row">
<div class="col-md-1 truncate"><span>Fecha Inicio:</span></div>
<div class="col-md-2 ">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1 truncate"><span>Fecha Fin:</span></div>
<div class="col-md-2 ">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="row col-md-12" align="right">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GVDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%--<table border="1" rules="all" style="border-collapse: collapse;">
<tr class="Titulos">
<td width="60px"><asp:LinkButton ID="LbCodigo" runat="server" CausesValidation="false" Text="Código"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgCodigo" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
<td width="250px"><asp:LinkButton ID="LbRazonSocial" runat="server" CausesValidation="false" Text="Razón Social"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgRazonSocial" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
<td width="250px"><asp:LinkButton ID="LbNombreComercial" runat="server" CausesValidation="false" Text="Nombre Comerical"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgNombreComercial" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
<td width="100px"><asp:LinkButton ID="LbRFC" runat="server" CausesValidation="false" Text="RFC"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgRFC" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
<td width="60px"><asp:LinkButton ID="LbEstado" runat="server" CausesValidation="false" Text="Estado"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgEstatus" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
<td width="70px"><asp:LinkButton ID="LbFecha" runat="server" CausesValidation="false" Text="Fecha"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgFecha" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
<td width="100px"><asp:LinkButton ID="LbUsuario" runat="server" CausesValidation="false" Text="Usuario"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgUsuario" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
</tr>
</table>--%>
<div class="row col-md-12">
<asp:GridView ID="GVDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Ordenes de Servicio registradas" ToolTip="Listado de Ordenes de Servicio" CssClass="ScrollAD table table-striped table-advance table-hover Widthall" GridLines="None" SortedAscendingCellStyle-CssClass="fa fa-sort">
<Columns>
<asp:TemplateField ItemStyle-HorizontalAlign="Center">
<HeaderTemplate>
<asp:Label Text="Folio" runat="server" CausesValidation="false"> </asp:Label>
<asp:Literal runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="HplFolio" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
<HeaderTemplate>
<asp:Label Text="Proyecto" runat="server" CausesValidation="false"> </asp:Label>
<asp:Literal runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</HeaderTemplate>
<ItemTemplate>
<asp:Literal Text='<%# Eval("Proyecto").ToString %>' runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
<HeaderTemplate>
<asp:Label Text="SubProyecto" runat="server" CausesValidation="false"> </asp:Label>
<asp:Literal runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</HeaderTemplate>
<ItemTemplate>
<asp:Literal Text='<%# Eval("SubProyecto").ToString %>' runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
<HeaderTemplate>
<asp:Label Text="Descripción" runat="server" CausesValidation="false"> </asp:Label>
<asp:Literal runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</HeaderTemplate>
<ItemTemplate>
<asp:Literal Text='<%# Eval("Descripcion").ToString %>' runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<asp:Label Text="Estatus" runat="server" CausesValidation="false"> </asp:Label>
<asp:Literal runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</HeaderTemplate>
<ItemTemplate>
<asp:Literal Text='<%# Eval("Estatus").ToString %>' runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<asp:Label Text="F. Estimada Entrega" runat="server" CausesValidation="false"> </asp:Label>
<asp:Literal runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</HeaderTemplate>
<ItemTemplate>
<asp:Literal Text='<%# If(Eval("FechaEstimadaEntrega").ToString <> "", Eval("FechaEstimadaEntrega", "{0:d}").ToString, "&nbsp") %>' runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
<HeaderTemplate>
<asp:Label Text="Usuario" runat="server" CausesValidation="false"> </asp:Label>
<asp:Literal runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</HeaderTemplate>
<ItemTemplate>
<asp:Literal Text='<%# Eval("Usuario").ToString %>' runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left" Visible="false">
<HeaderTemplate>
<asp:Label Text="Cliente" runat="server" CausesValidation="false" > </asp:Label>
<asp:Literal runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</HeaderTemplate>
<ItemTemplate>
<asp:Literal Text='<%# Eval("Cliente").ToString %>' runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left" Visible="false">
<HeaderTemplate>
<asp:Label Text="Proveedor" runat="server" CausesValidation="false"> </asp:Label>
<asp:Literal runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</HeaderTemplate>
<ItemTemplate>
<asp:Literal Text='<%# Eval("Proveedor").ToString %>' runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" Font-Size="Smaller" />
</asp:GridView>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UPPersonalizar" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivPersonalizar" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Personalizar Columnas"></asp:Label></h4>
</div>
<div class="modal-body">
<table class="table table-striped table-advance table-hover Widthall">
<tbody>
<tr>
<td style="text-align: left;">
<asp:CheckBox ID="ChkProveedor" runat="server" Text="Proveedor" /></td>
<td style="text-align: left;">
<asp:CheckBox ID="ChkCliente" runat="server" Text="Cliente" /></td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
<asp:Button ID="BtnPersonalizar" runat="server" Text="Personalizar" class="btn btn-success" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript">
function fnExcelReport(tableid, headerid) {
var tab_text = "<table ><tr bgcolor='#87AFC6' >";
var textRange; var j = 1;
tab = document.getElementById(tableid); // id of table
tabheader = document.getElementById(headerid); // id of table
if (tabheader) {
for (j = 1 ; j < tabheader.rows.length ; j++) {
tab_text = tab_text + tabheader.rows[j].innerHTML + "</tr>";
}
}
for (j = 1 ; j < tab.rows.length ; j++) {
tab_text = tab_text + tab.rows[j].innerHTML + "</tr>";
}
tab_text = tab_text + "</table>";
var x = 0;
while (tab_text.length != x) {
x = tab_text.length;
tab_text = tab_text.replace(/<a\b[^>]*>/i, "").replace(/<\/a>/i, "");
}
tab_text = tab_text.replace(/<img[^>]*>/gi, ""); // remove if u want images in your table
tab_text = tab_text.replace(/<input[^>]*>|<\/input>/gi, ""); // reomves input params
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer
{
txtArea1.document.open("txt/html", "replace");
txtArea1.document.write(tab_text);
txtArea1.document.close();
txtArea1.focus();
sa = txtArea1.document.execCommand("SaveAs", true, "Say Thanks to Sumit.xls");
}
else //other browser not tested on IE 11
sa = window.open('data:application/vnd.ms-excel,' + escape(tab_text));
return (sa);
}
</script>
<script src="/Metronic/assets/global/scripts/datatable.js"></script>
<script src="/Metronic/assets/global/plugins/datatables/all.min.js"></script>
<script type="text/javascript">
var OrdenarGV = function () {
var Tam = TamañoVentana();
var Alto = Tam.height - 330;
if (Alto < 100) {
Alto = 100;
}
$('#C_GVDatos').DataTable({ scrollY: Alto + 'px', scrollCollapse: true, paging: false, searching: false, info: false, order: [[1, "desc"]] });
//$('#C_GVDatos').parent().parent().children().first().css("position", "static");
}
</script>
</asp:Content>

164
OC/RepRequisiciones.aspx.vb Normal file
View File

@@ -0,0 +1,164 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class OC_RepRequisiciones
Inherits ClsPaginas
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
ViewState("Orden") = ""
CargaCombos()
CargaDatos()
End If
End Sub
Private Sub CargaCombos()
'CargaProyectos
Dim DtUsuarioProyectos As DataTable = Nothing
Dim objEstatusUsuarios As New ClsOC
If objEstatusUsuarios.GetEstatusUsuarios(UsuarioActual.CveUsuario, -1, -1, -1, UsuarioActual.CveEmpresa) Then
DtUsuarioProyectos = objEstatusUsuarios.DtResultados
End If
objEstatusUsuarios.Dispose()
txtFechaI.Text = Now.AddMonths(-1).FirstDayOfMonth.ToShortDateString
DdlProyecto.DataSource = DtUsuarioProyectos.FiltraParametros("", "", {"CveProyecto", "Proyecto"}) ' GlobalDTProyectos(UsuarioActual.Empresa.CveEmpresa)
DdlProyecto.DataBind()
'CargaSubProyectos
DdlSubProyecto.DataSource = DtUsuarioProyectos.FiltraParametros("", "", {"CveSubProyecto", "SubProyecto"}) 'GlobalDTSubProyectos(-1).FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
'CargaEstatus de Requisiciones
DdlEstatus.DataSource = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros("Tipo = 'REQ' OR CveEstatus = 0 ")
DdlEstatus.DataBind()
'Select Case UsuarioActual.CveRol
' Case 1017
' DdlEstatus.SelectedValue = "7"
' Case 1018
' DdlEstatus.SelectedValue = "2"
'End Select
OrdenaDatos()
End Sub
Public Sub CargaDatos()
Dim FI As Date = If(txtFechaI.Text.Trim = "", MinFecha, txtFechaI.Text.Trim.ToDate)
Dim FF As Date = If(txtFechaF.Text.Trim = "", MaxFecha, txtFechaF.Text.Trim.ToDate)
Dim ObjOrdenesCompra As New ClsOC()
If ObjOrdenesCompra.GetOrdenesCompraRep("REQ", DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, -1, DdlEstatus.SelectedValue.ToEntero, FI, FF, -1, -1, -1, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1) Then
Me.GVDatos.DataSource = ObjOrdenesCompra.DtResultados.FiltraParametros("", "Folio DESC")
Else
Me.GVDatos.DataSource = Nothing
End If
ObjOrdenesCompra.Dispose()
Me.GVDatos.DataBind()
UpDatos.Update()
OrdenaDatos()
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
'If e.Row.RowIndex = 0 Then
' e.Row.Cells(0).Width = Unit.Pixel(50)
' e.Row.Cells(1).Width = Unit.Pixel(200)
' e.Row.Cells(2).Width = Unit.Pixel(120)
' 'e.Row.Cells(3).Width = Unit.Pixel(100)
' e.Row.Cells(4).Width = Unit.Pixel(100)
' e.Row.Cells(5).Width = Unit.Pixel(100)
' 'e.Row.Cells(6).Width = Unit.Pixel(100)
'End If
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
'e.Row.FCLiteral("LtlFolio").Text = $"<a class=""Texto"" href=""/OC/OC.aspx?OC={0:e.Row.DBCampo("CveOrdenCompra")}""">{1:e.Row.FCLiteral("LtlFolio").Text}</a>"
'e.Row.FCLiteral("LtlProyecto").Text = "<a class=""Texto"" href=""/OC/OC.aspx?OC=" & e.Row.DBCampo("CveOrdenCompra") & """>" & e.Row.FCLiteral("LtlProyecto").Text & "</a>"
'e.Row.FCLiteral("LtlSubProyecto").Text = "<a class=""Texto"" href=""/OC/OC.aspx?OC=" & e.Row.DBCampo("CveOrdenCompra") & """>" & e.Row.FCLiteral("LtlSubProyecto").Text & "</a>"
'e.Row.FCLiteral("LtlDescripcion").Text = "<a class=""Texto"" href=""/OC/OC.aspx?OC=" & e.Row.DBCampo("CveOrdenCompra") & """>" & e.Row.FCLiteral("LtlDescripcion").Text & "</a>"
'e.Row.FCLiteral("LtlFechaEstimadaEntrega").Text = "<a class=""Texto"" href=""/OC/OC.aspx?OC=" & e.Row.DBCampo("CveOrdenCompra") & """>" & e.Row.FCLiteral("LtlFechaEstimadaEntrega").Text & "</a>"
'e.Row.FCLiteral("LtlUsuario").Text = "<a class=""Texto"" href=""/OC/OC.aspx?OC=" & e.Row.DBCampo("CveOrdenCompra") & """>" & e.Row.FCLiteral("LtlUsuario").Text & "</a>"
'e.Row.FCLiteral("LtlEstatus").Text = "<a class=""Texto"" href=""/OC/OC.aspx?OC=" & e.Row.DBCampo("CveOrdenCompra") & """>" & e.Row.FCLiteral("LtlEstatus").Text & "</a>"
e.Row.FCLiteral("HplFolio").Text = String.Format("<a class=""Texto"" href=""/OC/OC.aspx?OC={0}"">{1}</a>", e.Row.DBCampo("CveOrdenCompra"), e.Row.DBCampo("Folio"))
Select Case e.Row.DBCampo("TipoTermino") 'e.Row.DBCampo("Estatus")
Case "0" 'Supervisada
e.Row.Cells(4).CssClass = "label label-sm label-warning" 'Amarillo
Case "1" 'Autorizada
e.Row.Cells(4).CssClass = "label label-sm label-success" 'Verde
Case "2" 'Rechazada
e.Row.Cells(4).CssClass = "label label-sm label-danger" 'Rojo
Case "3" 'Solicitada
e.Row.Cells(4).CssClass = "label label-sm label-default" 'Gris
End Select
e.Row.Cells(5).Attributes.Add("data-order", e.Row.DBCampo("FechaEstimadaEntrega").ToDate.Ticks.ToString)
End If
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
CargaDatos()
End Sub
Private Sub OrdenaDatos()
If (GVDatos.Rows.Count > 0) Then
GVDatos.UseAccessibleHeader = True
GVDatos.HeaderRow.TableSection = TableRowSection.TableHeader
RegistraScript("OrdenarGV();")
End If
End Sub
Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click
GVDatos.Columns(7).Visible = ChkCliente.Checked
GVDatos.Columns(8).Visible = ChkProveedor.Checked
UpDatos.Update()
OrdenaDatos()
End Sub
'Protected Sub ImgExcel_Click(sender As Object, e As System.EventArgs) Handles ImgExcel.Click
' GVDatos.ExportToExcel("ReporteRequisiciones" & Now.ToShortDateString)
'End Sub
#Region "I M P R I M I R <i class='fa fa-print'></i>"
Private Sub GenerarPDF()
Dim ObjOrdenesCompra As New ClsOC()
Dim FI As Date = If(txtFechaI.Text.Trim = "", MinFecha, txtFechaI.Text.Trim.ToDate)
Dim FF As Date = If(txtFechaF.Text.Trim = "", MaxFecha, txtFechaF.Text.Trim.ToDate)
If ObjOrdenesCompra.GetOrdenesCompraRep("REQ", DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, -1, DdlEstatus.SelectedValue.ToEntero, FI, FF, -1, -1, -1, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1) Then
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim dt As DataTable = ObjOrdenesCompra.DtResultados
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
params.Add(New ReportParameter("Proyecto", DdlProyecto.SelectedItem.Text))
params.Add(New ReportParameter("SubProyecto", DdlSubProyecto.SelectedItem.Text))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepRequisiciones.rdlc", dt, params, "ReporteRequisiciones")
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
Protected Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click
GenerarPDF()
End Sub
#End Region
End Class

View File

@@ -0,0 +1,133 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepSolicitudesAnticipo.aspx.cs" Inherits="OC_RepSolicitudesAnticipo" %>
<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="E" Runat="Server">
Reporte de Solicitudes de Anticipo
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
<%-- <asp:UpdatePanel ID="UpLnkAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkAgregarConcepto" PostBackUrl="/Nomina/ConceptoNomina.aspx" CommandArgument="-1" runat="server" >
<i class="fa fa-plus"></i><span style="padding: 10px">Generar PDF </span></asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>--%>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" Runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" Runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="PFiltro" class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" OnClick="BtnConsultar_Click" runat="server" Text="Consultar" class="btn btn-primary" ValidationGroup="Valida" />
<%--<a href="javascript:;" class="expand"></a>--%>
</div>
<div class="titlefiltros caption">
<div class="row" style="margin-left: 10px;">
<label class="col-md-1 " runat="server" style="margin-top: 5px; font-size:12px;">Proveedor:</label>
<div class="col-md-2" runat="server">
<asp:DropDownList ID="DdlProveedor" runat="server" DataTextField="RazonSocial" DataValueField="CveProveedor" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100%"></asp:DropDownList>
</div>
<label class="col-md-1 " runat="server" style="margin-top: 5px; font-size:12px;">Fecha Inicio:</label>
<div class="col-md-2" runat="server" style="margin-top: 3px;width:130px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -8px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<label class="col-md-1 " runat="server" style="margin-top: 5px; font-size:12px;">Fecha Fin:</label>
<div class="col-md-2" runat="server" style="margin-top: 3px;width:130px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -8px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<label class="col-md-1 " runat="server" style="margin-top: 5px; font-size:12px;">Estatus:</label>
<div class="col-md-2" runat="server" style="width:130px">
<asp:DropDownList ID="DdlEstatus" runat="server" AppendDataBoundItems="true" DataTextField="TipoGasto" DataValueField="CveTipoGasto" Class="table-group-action-input form-control input-inline input-sm select2me" Width="70%">
<asp:ListItem Selected="True" Text="No Aplicadas" Value="1"></asp:ListItem>
<asp:ListItem Text="Aplicadas" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none;">
<div class="row" style="margin-left: 10px;">
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row" style="margin-left: 0px; margin-top: 5px; margin-bottom: 5px; text-align: right">
<div style="margin-right: 15px">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvSolicitudes.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvSolicitudes.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<asp:GridView ID="GvSolicitudes" runat="server" GridLines="None" DataKeyNames="Folio, RazonSocial, ImporteSol, FolioMov, Importe, Nombre"
CssClass="table table-striped table-advance table-hover Widthall mysmallbtn ScrollAD" data-sort="true" data-footer="0" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False"
EmptyDataText="No se encontraron registros">
<Columns>
<asp:TemplateField HeaderText="Ord. Compra" ItemStyle-Width="10%">
<ItemTemplate>
<asp:HyperLink ID="HplNum" runat="server" CssClass="Texto" Target="_blank" NavigateUrl='<%# Eval("CveOrdenCompra", "/OC/OC.aspx?OC={0}")%>' Text='<%# Eval("Folio") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="RazonSocial" HeaderText="Proveedor" ItemStyle-Width="50%" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Nombre" HeaderText="Usuario Solicitó" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="ImporteSol" HeaderText="Importe Solicitud" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField HeaderText="Folio Mov. Banc." ItemStyle-Width="10%" Visible="false">
<ItemTemplate>
<asp:HyperLink ID="HplNum" runat="server" CssClass="Texto" Target="_blank" NavigateUrl='<%# Eval("CveIE", "/Bancos/IE.aspx?CveIE={0}") %>' Text='<%# Eval("FolioMov") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe" ItemStyle-Width="20%" Visible="false" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label runat="server" CssClass="Texto" Text='<%# Eval("Importe", "${0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Pagar Anticipo" ItemStyle-Width="20%" Visible="false" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:HyperLink ID="HplNum" runat="server" CssClass="Texto" Target="_blank" NavigateUrl='<%# Eval("CveOrdenCompra", "/Bancos/IE.aspx?Opcion=EGSSINFACT&CveOC={0}") %>' ToolTip="Pagar Anticipo"><i class='fa fa-money font-green'></i></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

View 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 static Extensiones.ModExtensiones;
public partial class OC_RepSolicitudesAnticipo : ClsPaginas
{
#region "Propiedades"
private int CveProveedor
{
get
{
return ViewState["CveProveedor"].ToEntero();
}
set
{
ViewState["CveProveedor"] = value;
}
}
private DateTime FechaI
{
get
{
return ViewState["FechaI"].ToDateTime();
}
set
{
ViewState["FechaI"] = value;
}
}
private DateTime FechaF
{
get
{
return ViewState["FechaF"].ToDateTime();
}
set
{
ViewState["FechaF"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InicializaDatos();
}
}
protected void InicializaDatos()
{
CveProveedor = -1;
CargaProveedor();
CargaDatos();
}
protected void CargaProveedor()
{
DdlProveedor.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa);
DdlProveedor.DataBind();
DdlProveedor.Items.Insert(0, new ListItem("Todos", "-1"));
DdlProveedor.SelectedValue = "-1";
}
protected void CargaDatos()
{
ClsOC ObjOC = new ClsOC();
CveProveedor = DdlProveedor.SelectedValue.ToEntero();
FechaI = (txtFechaI.Text.ToString() != "" ? txtFechaI.Text.ToDateTime() : MinFecha);
FechaF = (txtFechaF.Text.ToString() != "" ? txtFechaF.Text.ToDateTime() : DateTime.Now);
if (ObjOC.GetRepSolicitudAnticipos(UsuarioActual.CveEmpresa, CveProveedor, FechaI, FechaF, DdlEstatus.SelectedValue.ToEntero()))
{
GvSolicitudes.DataSource = ObjOC.DtResultados;
}
ObjOC.Dispose();
GvSolicitudes.DataBind();
UPDatos.Update();
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
if (DdlEstatus.SelectedValue.ToEntero() == 3)
{
GvSolicitudes.Columns[4].Visible = true;
GvSolicitudes.Columns[5].Visible = true;
GvSolicitudes.Columns[6].Visible = false;
}
else
{
GvSolicitudes.Columns[4].Visible = false;
GvSolicitudes.Columns[5].Visible = false;
GvSolicitudes.Columns[6].Visible = true;
}
CargaDatos();
}
}