Files
SIG/Inventarios/TrasladoSolicitud.aspx

411 lines
29 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="TrasladoSolicitud.aspx.vb" Inherits="Inventarios_TrasladoSolicitud" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
<style>
.select2anothertable {
position: absolute;
left: 100%;
background-color: white;
/*top: 50px;*/ top: 21px;
/*max-height: 200px;*/ max-height: 229px;
/*background-color: #dcdcdc;*/
overflow: hidden;
}
.select2anothertable > table > tbody > tr > td:nth-of-type(odd) {
background-color: rgba(220, 220, 220, 0.45);
}
.select2anothertable > table > tbody > tr > td {
line-height: 21px;
white-space: nowrap;
}
.select2anothertable > table > tbody > tr.active {
background-color: #5897fb;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
Reporte de solicitudes de traspaso
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
<asp:UpdatePanel runat="server" ID="UpAcciones" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkAgregarSolicitud" runat="server" OnClick="LnkAgregarSolicitud_Click"><i class="fa fa-plus"></i> Agregar Solicitud</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
</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="UPCons" runat="server" RenderMode="Inline" 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 truncate">Origen</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlAlmacenOrigenFiltro" CssClass="form-control input-sm select2me" runat="server" Width="100%" DataValueField="CveAlmacen" DataTextField="Almacen"></asp:DropDownList>
</div>
<div class="col-md-1 truncate">Destino</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlAlmacenDestinoFiltro" CssClass="form-control input-sm select2me" runat="server" Width="100%" DataValueField="CveAlmacen" DataTextField="Almacen"></asp:DropDownList>
</div>
<div class="col-md-1 truncate">Fecha Inicio</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="TxtFechaI" runat="server" CssClass="form-control" CausesValidation="true" 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">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" CausesValidation="true" 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" <%= IIf(chkexpand.Checked = True, "", "style=""display:none;""")%>>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="row">
<div class="col-md-12">
<asp:UpdatePanel ID="UPPMov" runat="server" RenderMode="Inline" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvT" Width="100%" runat="server" GridLines="None" BorderWidth="0" data-heighterror="330" data-freezecols="0" CssClass="table table-advance table-hover mysmallbtn ScrollAD Widthall"
ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true" AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False" OnRowDataBound="GvT_RowDataBound"
DataKeyNames="CveTraspasoSolicitud,Folio,Fecha,CveUsuario,CveAlmacenOrigen,CveAlmacenDestino,CveTrasladoEstatus,PermisoOrigen,PermisoDestino,TraspasoEstatus,AlmacenOrigen,AlmacenDestino,Nombre,CveMovimientoAlmacen,FolioMovimiento,CveMovimientoTransitorio,CveAlmacenTransitorio,CveMovientoEntrada,CveMovimientoRelacionado" >
<Columns>
<asp:BoundField DataField="Folio" HeaderText="Folio" ItemStyle-Width="80px" />
<asp:BoundField DataField="AlmacenOrigen" HeaderText="Origen" />
<asp:BoundField DataField="AlmacenDestino" HeaderText="Destino" />
<asp:BoundField DataField="Observaciones" HeaderText="Observaciones" />
<asp:BoundField DataField="Fecha" HeaderText="Fecha" ItemStyle-Width="80px" DataFormatString="{0:d}" />
<asp:BoundField DataField="Nombre" HeaderText="Solicitante" />
<asp:TemplateField HeaderText="Estatus" ItemStyle-Width="70px" >
<ItemTemplate>
<asp:Label runat="server" ID="LblTraspasoEstatus" Width="70px" Height="15px" Text='<%# Eval("TraspasoEstatus") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:HyperLinkField DataNavigateUrlFields="CveMovimientoAlmacen" DataNavigateUrlFormatString="~/Inventarios/EntradasSalidas.aspx?CveMovimiento={0} "
Target="_blank" HeaderText="Movimiento" ControlStyle-CssClass="Texto" ItemStyle-HorizontalAlign="Center" DataTextField="FolioMovimiento" />
<asp:BoundField DataField="RecibidaSolicitada" HeaderText="Cantidades" ItemStyle-HorizontalAlign="Right"/>
<%--<asp:TemplateField ItemStyle-HorizontalAlign="center" HeaderText="Opciones" ItemStyle-Width="100px">
<ItemTemplate>
<div class="row">
<div class="col-lg-12">
<div class="col-lg-12">
<asp:LinkButton ID="LnkMostrarTraspaso" runat="server" AlternateText="Editar" OnClick="LnkMostrarTraspaso_Click" CausesValidation="False" CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-pencil'></i>" />
</div>
<div class="col-lg-12">
<asp:HyperLink ID="HypRecibeTraspaso" runat="server" Target="_blank" CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-arrow-right'></i>" Visible="false" />
</div>
</div>
</ItemTemplate>
</asp:TemplateField>--%>
<asp:TemplateField ItemStyle-HorizontalAlign="center" HeaderText="Opciones" ItemStyle-Width="100px">
<ItemTemplate>
<div class="row">
<div class="col-lg-4" style="text-align:right">
<asp:LinkButton ID="LnkMostrarTraspaso" runat="server" AlternateText="Editar" OnClick="LnkMostrarTraspaso_Click" CausesValidation="False" CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-pencil'></i>" />
</div>
<div class="col-lg-4" style="text-align:left">
<asp:HyperLink ID="HypRecibeTraspaso" runat="server" Target="_blank" CssClass="btn btn-circle btn-sm blue" ToolTip="Recibir traspaso" Text="<i class='fa fa-arrow-right'></i>" Visible="false" />
</div>
<div class="col-lg-4" style="text-align:left"></div>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div id="DVModalSolicitudAdd" class="modal ADS fade" role="dialog" data-backdrop="static" >
<div class="modal-dialog" style="width: 450px;">
<asp:UpdatePanel runat="server" class="modal-content" ID="UpPS" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">
<asp:Literal ID="Literal2" runat="server">Agregar Solicitud</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="portlet-body rowpadding">
<div class="row marginRowLeft">
<div class="col-md-6 form-group form-md-line-input input-iconright" id="Div1" runat="server">
<asp:DropDownList ID="DdlAlmacenOrigen" Width="100%" DataTextField="Almacen" DataValueField="CveAlmacen" CssClass="form-control select2me" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlAlmacenOrigen_SelectedIndexChanged"></asp:DropDownList>
<label for="<%= DdlAlmacenOrigen.ClientID.ToString()%>">Almacén Origen:</label>
<asp:RequiredFieldValidator ID="RfvDdlAlmacenOrigen" runat="server" InitialValue="-1" ControlToValidate="DdlAlmacenOrigen" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Almacén Origen''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGeneraSolictud"></asp:RequiredFieldValidator>
</div>
<div class="col-md-6 form-group form-md-line-input input-iconright" id="Div2" runat="server">
<asp:DropDownList ID="DdlAlmacenDestino" DataTextField="Almacen" DataValueField="CveAlmacen" Width="100%" CssClass="form-control select2me" runat="server" ></asp:DropDownList>
<label for="<%= DdlAlmacenDestino.ClientID.ToString()%>">Almacén Destino:</label>
<asp:RequiredFieldValidator ID="RfvDdlAlmacenDestino" runat="server" InitialValue="-1" ControlToValidate="DdlAlmacenDestino" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Almacén Destino''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGeneraSolictud"></asp:RequiredFieldValidator>
</div>
</div>
<div class="row ">
<div class="col-md-12">
<div class=" form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtObservaciones" CssClass="form-control marginFixRow" runat="server" MaxLength="255" CausesValidation="true"></asp:TextBox>
<label for="<%= TxtObservaciones.ClientID.ToString()%>">Observaciones:</label>
</div>
</div>
</div>
<hr style="border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));" />
<div class="row marginRowLeft">
<div class="col-md-2 form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCantidad" CssClass="form-control marginFixRow" runat="server" MaxLength="50" CausesValidation="true"></asp:TextBox>
<label for="<%= TxtCantidad.ClientID.ToString()%>">Cantidad:</label>
<asp:RequiredFieldValidator ID="RFVCantidad" runat="server" ControlToValidate="TxtCantidad" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingréselo." ValidationGroup="AgregarPS"></asp:RequiredFieldValidator>
<ajax:FilteredTextBoxExtender ID="SoloNumerosPS" runat="server" TargetControlID="TxtCantidad" FilterType="Numbers" />
</div>
<div class="col-md-8 form-group form-md-line-input input-iconright" id="DivCaracteristicaOpcion" runat="server">
<ADS:Dropdownlost ID="DdlProductoServicio" runat="server" CssClass="form-control input-sm" CssClassDdl="select2me" CssStyle="width: 100%;" DataTextField="PSCodigo" DataValueField="CvePS" data-estatus="1" ></ADS:Dropdownlost>
<label for="<%= DdlProductoServicio.ClientID.ToString()%>">Producto o Servicio:</label>
</div>
<div class="col-md-2 form-group form-md-line-input input-iconright" id="Div3" runat="server">
<asp:LinkButton ID="BtnAgregarPS" runat="server" CssClass="btn btn-success btn-sm" Text='<i class="fa fa-plus"></i> Agregar' style="margin-top:+5px" ValidationGroup="AgregarPS"/>
</div>
</div>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CvePS, CodigoPS, CveUM, Cantidad, Precio, Observaciones, CveContratoDetalle,UnidadMedida,Serie, Lote, FechaCaducidad" EmptyDataText="No se encontraron Productos registrados" ToolTip="Listado de Productos" CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD Widthall" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Cantidad" HeaderStyle-HorizontalAlign="Left" DataFormatString="{0:N}" ItemStyle-HorizontalAlign="Center" DataField="Cantidad" ItemStyle-Width="30px" />
<asp:BoundField HeaderText="Producto" HeaderStyle-HorizontalAlign="Left" DataField="CodigoPS" ItemStyle-Width="60%" />
<asp:BoundField HeaderText="Existencia" HeaderStyle-HorizontalAlign="Right" DataField="Existencia" ItemStyle-Width="40px" DataFormatString="{0:N2}" />
<asp:TemplateField HeaderText="Eliminar" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="5%">
<ItemTemplate>
<asp:LinkButton ID="imgD" runat="server" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm 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>
</div>
<div class="modal-footer">
<asp:Button runat="server" ID="BtnGuardar" align="center" Text="Guardar Solicitud" CssClass="btn btn-success" ValidationGroup="GrpGeneraSolictud" />
<button id="LbCancelar" runat="server" type="button" class="btn default" data-dismiss="modal">Cerrar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div id="DVModalSolicitud" class="modal ADS fade" role="dialog" data-backdrop="static">
<div class="modal-dialog" style="width: 450px;">
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalSolicitudes" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">
<asp:Literal ID="Literal1" runat="server">Solicitud Traspaso</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-6 form-group form-md-line-input input-iconright" >
<asp:Label runat="server" ID="LblModalSolicitudFolio" CssClass="form-control"></asp:Label>
<label for="<%= LblModalSolicitudFolio.ClientID.ToString()%>">Folio:</label>
</div>
<div class="col-md-6 form-group form-md-line-input input-iconright">
<asp:Label runat="server" ID="LblModalSolicitudSolicitante" CssClass="form-control"></asp:Label>
<label for="<%= LblModalSolicitudSolicitante.ClientID.ToString()%>">Solicito:</label>
</div>
</div>
<div class="row">
<div class="col-md-6 form-group form-md-line-input input-iconright">
<asp:Label runat="server" ID="LblModalSolicitudOrigen" CssClass="form-control"></asp:Label>
<label for="<%= LblModalSolicitudOrigen.ClientID.ToString()%>">Origen:</label>
</div>
<div class="col-md-6 form-group form-md-line-input input-iconright">
<asp:Label runat="server" ID="LblModalSolicitudDestino" CssClass="form-control"></asp:Label>
<label for="<%= LblModalSolicitudDestino.ClientID.ToString()%>">Destino:</label>
</div>
</div>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvSolicitudes" runat="server" AutoGenerateColumns="False"
DataKeyNames="CvePS, CodigoPS, CveUM, Cantidad, Precio, Observaciones, CveContratoDetalle,UnidadMedida,Serie, Lote, FechaCaducidad" EmptyDataText="No se encontraron Productos registrados"
ToolTip="Listado de Productos" CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD Widthall" GridLines="None"
OnRowDataBound="GvSolicitudes_RowDataBound" >
<Columns>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="15px">
<ItemTemplate>
<asp:CheckBox runat="server" id="Chk" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Solicitado" HeaderStyle-HorizontalAlign="Left" DataFormatString="{0:N}" ItemStyle-HorizontalAlign="Center" DataField="Cantidad" ItemStyle-Width="40px" />
<asp:TemplateField HeaderText="Cantidad" ItemStyle-Width="40px">
<ItemTemplate>
<asp:TextBox runat="server" ID="TxtCantidad" Width="40px"></asp:TextBox>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtCantidad" FilterType="Custom" ValidChars="1234567890." />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Producto" HeaderStyle-HorizontalAlign="Left" DataField="CodigoPS" />
<%--<asp:BoundField HeaderText="Direccion Envio" HeaderStyle-HorizontalAlign="Left" DataField="DireccionEnvio" ItemStyle-Width="20%" />--%>
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<asp:Button runat="server" ID="BtnAceptarSolicitud" align="center" Text="Aceptar Solicitud" CssClass="btn btn-success" OnClick="BtnAceptarSolicitud_Click" />
<asp:Button runat="server" ID="BtnRechazarSolicitud" align="center" Text="Rechazar Solicitud" CssClass="btn btn-danger" OnClick="BtnRechazarSolicitud_Click"
AlternateText="Cancelar Solicitud" CausesValidation="False" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
<button id="Button3" runat="server" type="button" class="btn default" data-dismiss="modal">Cerrar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
<script>
function validaCantidadSolicitud(cantidad, txt, chk, opcion) {
var $txt = $('#' + txt);
var $chk = $('#' + chk);
if (opcion === 1) { // Viene del click del checkbox
if ($chk.is(':checked')) {
$txt.val(cantidad);
} else {
$txt.val('');
}
} else if (opcion === 2) { // Viene del keyup del textbox
var valorTxt = parseFloat($txt.val()) || 0;
if (valorTxt === 0 || $txt.val().trim() === '') {
$chk.prop('checked', false);
} else if (valorTxt <= cantidad) {
$chk.prop('checked', true);
} else if (valorTxt > cantidad) {
$chk.prop('checked', true);
$txt.val(cantidad);
}
}
}
$('.DdlPS').on("select2:open", function (e) { $('.select2-container.select2-container--default .select2-dropdown .select2anothertable').remove(); });
$("body").on("mouseenter", ".select2-container.select2-container--default.select2-container--open .select2-dropdown li", function (event) {
var $this = $(this);
var ind = $this.index();
$(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable tr.active").removeClass('active');
$(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable tr:nth-child(" + (ind + 2) + ")").addClass('active');
//log($this);
});
var scrollfuncion = function () {
var stop = this.scrollTop;
$(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable").scrollTop(stop);
}
function CargaExistenciaAlmacenes(data, params) {
var div = $('<div class="select2anothertable"></div>');
$('.select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable').remove();
$('.select2-container.select2-container--default.select2-container--open .select2-dropdown').prepend(div);
var table = $('<table></table>'); div.append(table);
var tbody = $('<tbody></tbody>'); table.append(tbody);
$(".select2-container--default .select2-results>.select2-results__options").off("scroll", scrollfuncion);
$(".select2-container--default .select2-results>.select2-results__options").scroll(scrollfuncion);
var indexd = 0;
data.forEach(function (item) {
if (indexd == 0) {
var tr = $('<tr></tr>'); tbody.append(tr);
var td;
for (var key in item) {
if (!(key == "text" || key == "id")) { td = $('<td style="font-weight:bold;">' + key + '</td>'); tr.append(td); }
}
}
var tr = $('<tr></tr>'); tbody.append(tr);
var td;
for (var key in item) {
if (!(key == "text" || key == "id")) { td = $('<td ' + ((item[key] > 0) ? 'style = "font-weight:bold;"' : '') + '>' + item[key] + '</td>'); tr.append(td); }
}
indexd += 1;
});
}
</script>
</asp:Content>