eFacturas Vinculacion manual

This commit is contained in:
Rakcsle Supertramp
2020-10-30 10:49:56 -07:00
parent 4ffc8aab1f
commit 5359e4a186
7 changed files with 635 additions and 106 deletions

View File

@@ -1005,13 +1005,13 @@ Public Class ClsContratos
Return Retorno Return Retorno
End Function End Function
Public Function AddContratosAvance(CveContratoDetalle As Integer, Cantidad As Double, Fecha As DateTime, CveUsuario As Integer, Optional CveEstimacion As Integer = -1) As Boolean Public Function AddContratosAvance(CveContratoDetalle As Integer, Cantidad As Double, Fecha As Date, CveUsuario As Integer, Optional CveEstimacion As Integer = -1) As Boolean
Dim Retorno = False Dim Retorno = False
DataAdapter("PA_Con_ContratosAvanceAdd") DataAdapter("PA_Con_ContratosAvanceAdd")
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters
.Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle .Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle
.Add("@Cantidad", SqlDbType.Int).Value = Cantidad .Add("@Cantidad", SqlDbType.Int).Value = Cantidad
.Add("@Fecha", SqlDbType.Date).Value = Fecha.ToString("yyyy/MM/dd") .Add("@Fecha", SqlDbType.Date).Value = Fecha
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEstimacion", SqlDbType.Int).Value = CveEstimacion .Add("@CveEstimacion", SqlDbType.Int).Value = CveEstimacion
End With End With
@@ -1081,6 +1081,29 @@ Public Class ClsContratos
End Function End Function
#End Region #End Region
#Region "ESTIMACION"
Public Function GetContratosAvanceEstimacion(CveContrato As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno = False
DataAdapter("PA_Con_ContratosAvanceEstimacionGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveContrato", SqlDbType.Int).Value = CveContrato
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al cargar los avances del Contrato.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region
#Region " S E C C I O N E S " #Region " S E C C I O N E S "
Public Function GetSecciones() As Boolean Public Function GetSecciones() As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False

View File

@@ -555,7 +555,7 @@
<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));" /> <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));" />
<asp:GridView ID="GVPDocumentosRelacionadosPagos" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD mysmallbtn" <asp:GridView ID="GVPDocumentosRelacionadosPagos" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD mysmallbtn"
DataKeyNames="CveFactura,CveCompra,CveIE,Fecha,FechaPago" DataKeyNames="CveFactura,CveCompra,CveIE,Fecha,FechaPago,ImpPagado,CvePrePolizaDetalle"
data-sort="true" Width="100%" EmptyDataText="No se encontró registros con la información del complemento de pago" data-sort="true" Width="100%" EmptyDataText="No se encontró registros con la información del complemento de pago"
ShowHeaderWhenEmpty="true" AutoGenerateColumns="False"> ShowHeaderWhenEmpty="true" AutoGenerateColumns="False">
<Columns> <Columns>

View File

@@ -2697,17 +2697,36 @@ Partial Class Compras_eFacturas
namespaces.AddNamespace(XMLDoc.DocumentElement.Prefix, "http://www.sat.gob.mx/cfd/3") namespaces.AddNamespace(XMLDoc.DocumentElement.Prefix, "http://www.sat.gob.mx/cfd/3")
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital") namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
namespaces.AddNamespace("pago10", "http://www.sat.gob.mx/Pagos")
' namespaces.AddNamespace("pago10", "http://www.sat.gob.mx/Pagos")
nodeComp = XMLDoc.SelectSingleNode(String.Format("//{0}:Complemento", XMLDoc.DocumentElement.Prefix), namespaces) nodeComp = XMLDoc.SelectSingleNode(String.Format("//{0}:Complemento", XMLDoc.DocumentElement.Prefix), namespaces)
nodeaGral = XMLDoc.SelectSingleNode(String.Format("//{0}:Comprobante", XMLDoc.DocumentElement.Prefix), namespaces) nodeaGral = XMLDoc.SelectSingleNode(String.Format("//{0}:Comprobante", XMLDoc.DocumentElement.Prefix), namespaces)
nodeTFD = nodeComp.SelectSingleNode(String.Format("//{0}:TimbreFiscalDigital", "tfd"), namespaces) nodeTFD = nodeComp.SelectSingleNode(String.Format("//{0}:TimbreFiscalDigital", "tfd"), namespaces)
nodePagos = nodeComp.SelectSingleNode(String.Format("//{0}:Pagos/{0}:Pago", "pago10"), namespaces)
nodePagos2 = nodeComp.SelectSingleNode(String.Format("//{0}:Pagos", "pago10"), namespaces)
'Monto = ValorXML(nodePagos, "Monto").ToDecimal
Dim nodePago As XmlNodeList = nodePagos.SelectNodes(String.Format("//{0}:DoctoRelacionado", "pago10"), namespaces) Dim PrefijoPagos As String = ""
For Each nodoPrefijo As XmlNode In nodeComp.ChildNodes
If nodoPrefijo.Prefix <> "tfd" Then
PrefijoPagos = nodoPrefijo.Prefix
End If
Next
namespaces.AddNamespace(PrefijoPagos, "http://www.sat.gob.mx/Pagos")
nodeComp = XMLDoc.SelectSingleNode(String.Format("//{0}:Complemento", XMLDoc.DocumentElement.Prefix), namespaces)
nodePagos = nodeComp.SelectSingleNode(String.Format("//{0}:Pagos/{0}:Pago", PrefijoPagos), namespaces)
nodePagos2 = nodeComp.SelectSingleNode(String.Format("//{0}:Pagos", PrefijoPagos), namespaces)
' Dim nodePago As XmlNodeList = nodePagos.SelectNodes(String.Format("//{0}:DoctoRelacionado", "pago10"), namespaces)
SeriePago = ValorXML(nodeaGral, "Serie") SeriePago = ValorXML(nodeaGral, "Serie")
FolioPago = ValorXML(nodeaGral, "Folio") FolioPago = ValorXML(nodeaGral, "Folio")
@@ -2735,11 +2754,12 @@ Partial Class Compras_eFacturas
DTDocumentosRelacionados.Columns.Add("FechaPago", GetType(Date)) DTDocumentosRelacionados.Columns.Add("FechaPago", GetType(Date))
DTDocumentosRelacionados.Columns.Add("CveMetodoPago", GetType(Integer)) DTDocumentosRelacionados.Columns.Add("CveMetodoPago", GetType(Integer))
DTDocumentosRelacionados.Columns.Add("SerieFolioCompra") DTDocumentosRelacionados.Columns.Add("SerieFolioCompra")
DTDocumentosRelacionados.Columns.Add("CvePrePolizaDetalle", GetType(Integer))
Dim nodePagosN As XmlNodeList Dim nodePagosN As XmlNodeList
nodePagosN = nodeComp.SelectNodes(String.Format("//{0}:Pagos", "pago10"), namespaces) nodePagosN = nodeComp.SelectNodes(String.Format("//{0}:Pagos", PrefijoPagos), namespaces)
@@ -2775,7 +2795,7 @@ Partial Class Compras_eFacturas
Dim ObjCompraFolios As New ClsCompras Dim ObjCompraFolios As New ClsCompras
If ObjCompraFolios.GetCompararComplementoPago(gvRow.DataKey("CveProveedor").ToEntero, Monto, nodePagos2.InnerXml.Replace("pago10:", ""), UsuarioActual.CveEmpresa, OP:=If(CveComplementoPagoCompra > 0, 2, 1), CveFactura:=CveFacturaComplemento) Then If ObjCompraFolios.GetCompararComplementoPago(gvRow.DataKey("CveProveedor").ToEntero, Monto, nodePagos2.InnerXml.Replace($"{PrefijoPagos}:", ""), UsuarioActual.CveEmpresa, OP:=If(CveComplementoPagoCompra > 0, 2, 1), CveFactura:=CveFacturaComplemento) Then
' '
'.GetCompararComplementoPago(gvRow.DataKey("CveProveedor").ToEntero, Monto, nodePagos2.InnerXml.Replace("pago10:", ""), UsuarioActual.CveEmpresa) Then '.GetCompararComplementoPago(gvRow.DataKey("CveProveedor").ToEntero, Monto, nodePagos2.InnerXml.Replace("pago10:", ""), UsuarioActual.CveEmpresa) Then
If ObjCompraFolios.DtResultados.Rows.Count > 0 Then If ObjCompraFolios.DtResultados.Rows.Count > 0 Then
@@ -2789,7 +2809,7 @@ Partial Class Compras_eFacturas
dRow2("CveFactura") = drow("CveFactura").ToString.ToEntero dRow2("CveFactura") = drow("CveFactura").ToString.ToEntero
dRow2("CveMetodoPago") = drow("CveMetodoPago").ToString.ToEntero dRow2("CveMetodoPago") = drow("CveMetodoPago").ToString.ToEntero
dRow2("SerieFolioCompra") = drow("SerieFolioCompra").ToString dRow2("SerieFolioCompra") = drow("SerieFolioCompra").ToString
dRow2("CvePrePolizaDetalle") = drow("CvePrePolizaDetalle").ToString
If drow("CveIE").ToString.ToEntero > 0 Then If drow("CveIE").ToString.ToEntero > 0 Then
@@ -2860,7 +2880,7 @@ Partial Class Compras_eFacturas
Dim TieneRegistros As Boolean = False Dim TieneRegistros As Boolean = False
If ObjCompras.GetCompararComplementoPago(gvRow.DataKey("CveProveedor").ToEntero, Monto, nodePagos2.InnerXml.Replace("pago10:", ""), UsuarioActual.CveEmpresa) Then If ObjCompras.GetCompararComplementoPago(gvRow.DataKey("CveProveedor").ToEntero, Monto, nodePagos2.InnerXml.Replace("pago10:", "").Replace("pagos10:", ""), UsuarioActual.CveEmpresa) Then
GvVincularPago.DataSource = ObjCompras.DtResultados GvVincularPago.DataSource = ObjCompras.DtResultados
If ObjCompras.DtResultados.Rows.Count > 0 Then If ObjCompras.DtResultados.Rows.Count > 0 Then
@@ -2982,9 +3002,9 @@ Partial Class Compras_eFacturas
ObjCompra.IniciaTransacSQL() ObjCompra.IniciaTransacSQL()
For Each Gv As GridViewRow In GvVincularPago.Rows For Each Gv As GridViewRow In GVPDocumentosRelacionadosPagos.Rows
If Not ObjCompra.AddComplementoPago(Gv.DataKey("CveIE").ToEntero, Gv.DataKey("CveCompra").ToEntero, Gv.DataKey("Monto").ToDecimal, Gv.DataKey("CvePrePolizaDetalle").ToEntero, CveFacturaPago) > 0 Then If Not ObjCompra.AddComplementoPago(Gv.DataKey("CveIE").ToEntero, Gv.DataKey("CveCompra").ToEntero, Gv.DataKey("ImpPagado").ToDecimal, Gv.DataKey("CvePrePolizaDetalle").ToEntero, CveFacturaPago) > 0 Then
TieneError = True TieneError = True
End If End If

View File

@@ -44,7 +44,13 @@
</asp:Content> </asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server"> <asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPPDatos" runat="server" UpdateMode="Conditional">
<ajax:TabContainer ID="Tab" runat="server" Width="100%" CssClass="tabBodyOverride" ActiveTabIndex="0">
<ajax:TabPanel ID="TabAvance" runat="server" HeaderText="Avance">
<ContentTemplate>
<asp:UpdatePanel ID="UPPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter"> <div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle"> <div class="portlet-title portlet-filterT smalltitle">
@@ -70,8 +76,15 @@
</div> </div>
</div> </div>
</div> </div>
<div class="text-right">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;">
<div class="row">
<div class="col-md-1" style="text-align:right!important">
Fecha:
</div>
<div class="col-md-4">
<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="TxtFecha" runat="server" CssClass="form-control" CausesValidation="true" Style="width: 118px" MaxLength="10"></asp:TextBox> <asp:TextBox ID="TxtFecha" runat="server" CssClass="form-control" CausesValidation="true" Style="width: 118px" MaxLength="10"></asp:TextBox>
<span class="input-group-btn "> <span class="input-group-btn ">
<asp:LinkButton ID="ImgFecha" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton> <asp:LinkButton ID="ImgFecha" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
@@ -83,11 +96,20 @@
<ajax:ValidatorCalloutExtender ID="VCOFecha1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFecha" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCOFecha1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFecha" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="VCOFecha2" runat="server" HighlightCssClass="vco" TargetControlID="CVFecha" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCOFecha2" runat="server" HighlightCssClass="vco" TargetControlID="CVFecha" Width="350px"></ajax:ValidatorCalloutExtender>
</div> </div>
<a class="linkfile" id="btnanexogral" runat="server" > </div>
<div class="col-md-6" style="text-align:right">
<a class="linkfile" id="btnanexogral" runat="server" >
<span class="btn btn-circle btn-sm btn-success"><i class='fa fa-plus'></i></span>Agregar <span class="btn btn-circle btn-sm btn-success"><i class='fa fa-plus'></i></span>Agregar
<asp:TextBox ID="AnexoGral" Text='' runat="server"></asp:TextBox> <asp:TextBox ID="AnexoGral" Text='' runat="server"></asp:TextBox>
</a> </a>
</div>
</div> </div>
<br />
<table class="table table-striped Widthall"> <table class="table table-striped Widthall">
<tr> <tr>
<th style="width: 300px;"></th> <th style="width: 300px;"></th>
@@ -107,13 +129,18 @@
<th style="text-align: right;">Anexo</th> <th style="text-align: right;">Anexo</th>
</tr> </tr>
</table> </table>
<asp:GridView ID="Gv" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron partidas para levantar avance"
<div class="row">
<div class="col-md-12">
<asp:GridView ID="Gv" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron partidas para levantar avance"
DataKeyNames="CveFamilias,CveSubFamilias,CveContratoDetalle,PS,Cantidad,Importe,Cantidad_Ultima,Importe_Ultima,PU,CantidadMax,Avance" DataKeyNames="CveFamilias,CveSubFamilias,CveContratoDetalle,PS,Cantidad,Importe,Cantidad_Ultima,Importe_Ultima,PU,CantidadMax,Avance"
CssClass="table GVEstimacion table-advance table-hover" GridLines="None"> CssClass="table GVEstimacion table-advance table-hover" GridLines="None">
<Columns> <Columns>
<asp:TemplateField HeaderText=""> <asp:TemplateField HeaderText="">
<ItemTemplate> <ItemTemplate>
<asp:LinkButton ID="Producto" runat="server" CssClass="Texto" Text='<%# Eval("PS")%>' ></asp:LinkButton> <asp:LinkButton ID="Producto" runat="server" CssClass="Texto" Text='<%# Eval("PS")%>' Visible="false" ></asp:LinkButton>
<asp:Label ID="LinkButton1" runat="server" CssClass="Texto" Text='<%# Eval("PS")%>' ></asp:Label>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Cantidad"> <asp:TemplateField HeaderText="Cantidad">
@@ -148,28 +175,218 @@
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText=" "> <asp:TemplateField HeaderText=" ">
<ItemTemplate> <ItemTemplate>
<asp:LinkButton ID="LnkAnexo" runat="server" OnClick="GetAnexos" AlternateText="Agregar Anexo" CssClass="btn btn-circle btn-sm btn-success anexo" Text="<i class='fa fa-folder'></i>" /> <asp:LinkButton ID="LnkAnexo" runat="server" OnClick="GetAnexos" AlternateText="Agregar Anexo" CssClass="btn btn-circle btn-sm btn-success anexo" Text="<i class='fa fa-folder'></i>" />
<a class="btn btn-circle btn-sm btn-success hidden linkfile"> <asp:LinkButton runat="server" CssClass="btn btn-circle btn-sm btn-success" ID="LnkModalDropzone" Visible="false"> <i class='fa fa-plus'></i></asp:LinkButton>
<%-- <a class="btn btn-circle btn-sm btn-success hidden linkfile">
<i class='fa fa-plus'></i><asp:TextBox ID="TXTAnexo" CssClass="hidden" runat="server"></asp:TextBox> <i class='fa fa-plus'></i><asp:TextBox ID="TXTAnexo" CssClass="hidden" runat="server"></asp:TextBox>
</a> </a>--%>
</ItemTemplate>
</asp:TemplateField>
</Columns> <div runat="server" id="ModalAnexoEvidencia" class="modal ADS fade" role="dialog">
</asp:GridView> <div class="modal-dialog">
<div class="text-center"><asp:Button id="BtnGuardar" CssClass="btn btn-primary" runat="server" Text="Guardar" Visible="false" /></div>
<asp:GridView ID="GvAnexos" AutoGenerateColumns="false" runat="server" ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron archivos"> <!-- Modal content-->
<Columns> <div class="modal-content">
<asp:TemplateField HeaderText="Archivo"> <div class="modal-header ">
<ItemTemplate> <button type="button" class="close" data-dismiss="modal">&times;</button>
<asp:HyperLink ID="HPLArchivo" runat="server"></asp:HyperLink> <h4 class="modal-title">Cargar Evidencia</h4>
</div>
<div class="modal-body">
<div style="text-align:left">
<asp:TextBox ID="TXTAnexo" CssClass="ADSdropzone hidden" data-maxFile="10" Text="" runat="server"></asp:TextBox>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
</Columns> </Columns>
</asp:GridView> </asp:GridView>
</div>
</div>
<div class="text-center">
<asp:Button id="BtnGuardar" CssClass="btn btn-primary" runat="server" Text="Guardar" Visible="false" ValidationGroup="GrpGuardar" />
</div>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabEstimación" runat="server" HeaderText="Estimación">
<ContentTemplate>
<asp:UpdatePanel runat="server" ID="UpEstimaciones" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultarEstimaciones" runat="server" Text="Consultar" class="btn btn-default" />
</div>
<div class="titlefiltros caption" style="position: relative;">
<asp:UpdatePanel class="row" ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<label class="col-md-1 truncate">Contrato:</label>
<div class="col-md-6 col-lg-4">
<div class="ddls">
<asp:DropDownList ID="DDlContratosEstimaciones" runat="server" AutoPostBack="true" DataTextField="ContratoCompleto" DataValueField="CveContrato" Class=" form-control input-inline select2me" Width="100%">
</asp:DropDownList>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvEstimaciones" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron partidas para levantar avance"
DataKeyNames="CveFamilias,CveSubFamilias,CveContratoDetalle,PS,Cantidad,Importe,Cantidad_Ultima,Importe_Ultima,PU,CantidadMax,Avance"
CssClass="table GVEstimacion table-advance table-hover" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:LinkButton ID="Producto" runat="server" CssClass="Texto" Text='<%# Eval("PS")%>' Visible="false" ></asp:LinkButton>
<asp:Label ID="LinkButton1" runat="server" CssClass="Texto" Text='<%# Eval("PS")%>' ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Cantidad">
<ItemTemplate>
<span><%# Eval("Cantidad", "{0:N2}")%></span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<span><%# Eval("Importe", "{0:N2}")%></span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Cantidad">
<ItemTemplate>
<span><%# Eval("Cantidad_Ultima", "{0:N2}")%></span>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<span><%# Eval("Importe_Ultima", "{0:N2}")%></span>
</ItemTemplate>
</asp:TemplateField>
<%-- <asp:TemplateField HeaderText="Cantidad">
<ItemTemplate>
<asp:TextBox ID="TxtCantidad" Text="" CssClass="txtcant" onkeyup="ValidateCant(this)" type="number" step="any" data-cantidad='<%# Eval("CantidadMax")%>' data-pu='<%# Eval("PU")%>' data-cve='<%# Eval("CveContratoDetalle") %>' Width="90" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Importe">
<ItemTemplate>
<asp:TextBox ID="TxtImporte" Text="" data-cve='<%# Eval("CveContratoDetalle") %>' CssClass="txtimporte" type="number" step="any" Width="90" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=" ">
<ItemTemplate>
<asp:LinkButton ID="LnkAnexo" runat="server" OnClick="GetAnexos" AlternateText="Agregar Anexo" CssClass="btn btn-circle btn-sm btn-success anexo" Text="<i class='fa fa-folder'></i>" />
<asp:LinkButton runat="server" CssClass="btn btn-circle btn-sm btn-success" ID="LnkModalDropzone" Visible="false"> <i class='fa fa-plus'></i></asp:LinkButton>
<div runat="server" id="ModalAnexoEvidencia" class="modal ADS 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">Cargar Evidencia</h4>
</div>
<div class="modal-body">
<div style="text-align:left">
<asp:TextBox ID="TXTAnexo" CssClass="ADSdropzone hidden" data-maxFile="10" Text="" runat="server"></asp:TextBox>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
</ItemTemplate>
</asp:TemplateField>--%>
</Columns>
</asp:GridView>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="text-center">
<asp:Button id="BtnGuardarEstimacion" CssClass="btn btn-primary" runat="server" Text="Generar Estimacion" Visible="false"/>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
<div class="modal fade " id="dropmodal"> <div class="modal fade " id="dropmodal">
<div class="modal-dialog"> <div class="modal-dialog">
@@ -178,7 +395,7 @@
<div class="portlet-title"> <div class="portlet-title">
<div class="caption font-green"> <div class="caption font-green">
<i class="icon-pin font-green"></i> <i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Dropzone</span> <span class="caption-subject bold uppercase">Cargar Evidencia</span>
</div> </div>
<div class="actions"> <div class="actions">
<div class="btn-group"> <div class="btn-group">
@@ -193,10 +410,71 @@
<div id="my-dropzone" class=""> <div id="my-dropzone" class="">
</div> </div>
</div> </div>
<div style="text-align: center!important">
<br />
<button id="btnCerrarModal" runat="server" type="button" class="btn default" data-dismiss="modal">Cerrar</button>
<br />
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div id="ModalAnexos" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpModalAnexos" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<!-- 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 runat="server" ID="LblTituloModalAnexo"></asp:Label></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12" style="text-align:center!important">
<asp:GridView ID="GvAnexos" AutoGenerateColumns="false" runat="server" ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron archivos" Width="100"
DataKeyNames="Archivo" CssClass="table GVEstimacion table-advance table-hover" GridLines ="None">
<Columns>
<asp:TemplateField HeaderText="Anexos">
<ItemTemplate>
<asp:LinkButton ID="LnkArchivo" runat="server" OnClick="LnkArchivo_Click"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<script src="/Metronic/assets/global/plugins/dropzone/dropzone.js"></script> <script src="/Metronic/assets/global/plugins/dropzone/dropzone.js"></script>
<%--<script src="../Scripts/dropzone/dropzone.min.js"></script>--%> <%--<script src="../Scripts/dropzone/dropzone.min.js"></script>--%>
@@ -211,7 +489,7 @@
showmodalFile($(this).find('input').attr('id')); showmodalFile($(this).find('input').attr('id'));
}); });
Sys.Application.add_load(function (s, e) { Sys.Application.add_load(function (s, e) {
$(".linkfile").click(function () { $(".linkfile").click(function () {
showmodalFile($(this).find('input').attr('id')); showmodalFile($(this).find('input').attr('id'));
}); });
}); });
@@ -224,7 +502,8 @@
ADDropzone(obj); ADDropzone(obj);
$('#dropmodal').modal(); $('#dropmodal').modal();
} }
function ValidateCant(variable){ function ValidateCant(variable) {
var txt = $(variable); var txt = $(variable);
var max = txt.data('cantidad'); var max = txt.data('cantidad');
var value = parseInt(txt.val()); var value = parseInt(txt.val());
@@ -235,16 +514,24 @@
txt.val(0); txt.val(0);
} }
var importe = $('.txtimporte[data-cve="' + txt.data('cve') + '"]'); var importe = $('.txtimporte[data-cve="' + txt.data('cve') + '"]');
importe.val(parseFloat(txt.val()) * parseFloat(txt.data('pu'))); importe.val(parseFloat(txt.val()) * parseFloat(txt.data('pu')));
FormatoMoneda2(importe);
if (parseInt(txt.val()) > 0) { //FormatoMoneda2(importe);
$($(txt.parent()).parent()).find(".linkfile").removeClass("hidden");
} else { //if (parseInt(txt.val()) > 0) {
var ocultar = $($(txt.parent()).parent()).find(".linkfile");
if (!ocultar.hasClass("hidden")) { // $($(txt.parent()).parent()).find(".linkfile").removeClass("hidden");
ocultar.addClass("hidden");
} //} else {
}
// var ocultar = $($(txt.parent()).parent()).find(".linkfile");
// if (!ocultar.hasClass("hidden")) {
// ocultar.addClass("hidden");
// }
//}
} }
//); //);
</script> </script>

View File

@@ -50,18 +50,27 @@ Partial Class Contratos_ContratoAvance
#End Region #End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then If Not IsPostBack Then
BtnGuardar.Visible = False BtnGuardar.Visible = False
btnanexogral.Visible = False btnanexogral.Visible = False
CargaContrato() CargaContrato()
End If End If
End Sub End Sub
#Region "Filtros" #Region "Filtros"
Private Sub CargaContrato() Private Sub CargaContrato()
DdlContratos.DataSource = GlobalDTContratos.FiltraParametros(String.Format("CveContratoTipo=4")) DdlContratos.DataSource = GlobalDTContratos.FiltraParametros(String.Format($"CveContratoTipo in (4,30,31) AND CveEmpresa = {UsuarioActual.CveEmpresa}"))
DdlContratos.DataBind() DdlContratos.DataBind()
DDlContratosEstimaciones.DataSource = GlobalDTContratos.FiltraParametros(String.Format($"CveContratoTipo in (4,30,31) AND CveEmpresa = {UsuarioActual.CveEmpresa}"))
DDlContratosEstimaciones.DataBind()
CargaddlAvance() CargaddlAvance()
End Sub End Sub
@@ -124,8 +133,10 @@ Partial Class Contratos_ContratoAvance
End Sub End Sub
Protected Sub GV_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles Gv.RowDataBound Protected Sub GV_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles Gv.RowDataBound
If e.Row.RowIndex > -1 Then If e.Row.RowIndex > -1 Then
e.Row.FCTextBox("TxtCantidad").Visible = (fecha = "") e.Row.FCTextBox("TxtCantidad").Visible = (fecha = "")
e.Row.FCLinkButton("LnkAnexo").Visible = Not (fecha = "") e.Row.FCLinkButton("LnkAnexo").Visible = Not (fecha = "")
If e.Row.DBCampo("CveContratoDetalle").ToString.ToEntero = 0 Then If e.Row.DBCampo("CveContratoDetalle").ToString.ToEntero = 0 Then
e.Row.FCTextBox("TxtCantidad").Visible = False e.Row.FCTextBox("TxtCantidad").Visible = False
e.Row.FCLinkButton("LnkAnexo").Visible = False e.Row.FCLinkButton("LnkAnexo").Visible = False
@@ -140,9 +151,32 @@ Partial Class Contratos_ContratoAvance
e.Row.CssClass = "SubTotales3" e.Row.CssClass = "SubTotales3"
End If End If
End If End If
If e.Row.DataKey("CveContratoDetalle").ToEntero > 0 Then
Dim LnkAnexo As LinkButton = e.Row.FCLinkButton("LnkModalDropzone")
'LnkAnexo.Visible = True
Dim DVAnexo As Control = DirectCast(e.Row.FindControl("ModalAnexoEvidencia"), Control)
LnkAnexo.OnClientClick = $" $('#{DVAnexo.ClientID}').modal('show'); return false;"
If DdlAvances.SelectedIndex > 0 Then
LnkAnexo.Visible = False
Else
LnkAnexo.Visible = True
End If
End If
End If End If
End Sub End Sub
Protected Sub GetAnexos(sender As Object, e As System.EventArgs) Protected Sub GetAnexos(sender As Object, e As System.EventArgs)
Dim GvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
LblTituloModalAnexo.Text = "Anexo " & GvRow.DataKey("PS")
'Get the button that raised the event 'Get the button that raised the event
Dim btn As LinkButton = DirectCast(sender, LinkButton) Dim btn As LinkButton = DirectCast(sender, LinkButton)
Dim gvr As GridViewRow = DirectCast(btn.NamingContainer, GridViewRow) Dim gvr As GridViewRow = DirectCast(btn.NamingContainer, GridViewRow)
@@ -155,21 +189,48 @@ Partial Class Contratos_ContratoAvance
Else Else
GvAnexos.Visible = False GvAnexos.Visible = False
End If End If
objContrato.Dispose() objContrato.Dispose()
UpModalAnexos.Update()
RegistraScript("$('#ModalAnexos').modal('show');")
End Sub End Sub
Protected Sub GvAnexos_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles GvAnexos.RowDataBound Protected Sub GvAnexos_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles GvAnexos.RowDataBound
If e.Row.RowIndex > -1 Then If e.Row.RowIndex > -1 Then
Dim Archivo As String = e.Row.DBCampo("Archivo").ToString Dim Archivo As String = e.Row.DBCampo("Archivo").ToString
Dim start As Integer = Len(Archivo.Split("-"c)(0)) Dim start As Integer = Len(Archivo.Split("-"c)(0))
Dim link As HyperLink = e.Row.FCHyperLink("HPLArchivo") Dim LnkArchivo As LinkButton = e.Row.FCLinkButton("LnkArchivo")
link.Text = Archivo.Substring(start + 1)
link.NavigateUrl = String.Format("/Empresas/{0}/Contrato/{1}/Anexos/{2}", UsuarioActual.CveEmpresa, CveContrato, Archivo) LnkArchivo.Text = Archivo.Substring(start + 1)
'link.NavigateUrl = String.Format("/Empresas/{0}/Contrato/{1}/Anexos/{2}", UsuarioActual.CveEmpresa, CveContrato, Archivo)
ScriptManager.GetCurrent(Me).RegisterPostBackControl(LnkArchivo)
End If End If
End Sub End Sub
Protected Sub LnkArchivo_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
Dim Archivo As String = GvRow.DataKey("Archivo").ToString
Response.ContentType = "application/octet-stream"
Response.AppendHeader("Content-Disposition", $"attachment; filename={Archivo}")
Response.TransmitFile($"{UsuarioActual.Empresa.Ruta}\Contrato\{DdlContratos.SelectedValue.ToEntero}\Anexos\{Archivo}")
Response.End()
End Sub
#End Region #End Region
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
Dim ObjContratos As New ClsContratos Dim ObjContratos As New ClsContratos
ObjContratos.IniciaTransacSQL() ObjContratos.IniciaTransacSQL()
Dim TieneError = False Dim TieneError = False
@@ -177,22 +238,29 @@ Partial Class Contratos_ContratoAvance
Dim Cantidad As Double Dim Cantidad As Double
Dim filesgral As List(Of Archivo) = AnexoGral.getfiles().Archivos Dim filesgral As List(Of Archivo) = AnexoGral.getfiles().Archivos
Dim guardarArchivos As New List(Of Archivo) Dim guardarArchivos As New List(Of Archivo)
For Each gvr As GridViewRow In Gv.Rows For Each gvr As GridViewRow In Gv.Rows
CveContratoDetalle = gvr.DataKey("CveContratoDetalle").ToEntero CveContratoDetalle = gvr.DataKey("CveContratoDetalle").ToEntero
If CveContratoDetalle > 0 Then If CveContratoDetalle > 0 Then
Cantidad = gvr.FCTextBox("TxtCantidad").Text.ToDouble Cantidad = gvr.FCTextBox("TxtCantidad").Text.ToDouble
If Cantidad > 0 Then If Cantidad > 0 Then
If ObjContratos.AddContratosAvance(CveContratoDetalle, Cantidad, TxtFecha.Text.ToDateTime, UsuarioActual.CveUsuario) Then If ObjContratos.AddContratosAvance(CveContratoDetalle, Cantidad, TxtFecha.Text.ToDateTime, UsuarioActual.CveUsuario) Then
Dim CveContratoAvance As Integer = ObjContratos.DtResultados.Rows(0)("CveContratoAvance").ToString.ToEntero Dim CveContratoAvance As Integer = ObjContratos.DtResultados.Rows(0)("CveContratoAvance").ToString.ToEntero
Dim files As List(Of Archivo) = gvr.FCTextBox("TXTAnexo").getfiles().Archivos Dim files As List(Of Archivo) = gvr.FCTextBox("TXTAnexo").getfiles().Archivos
For Each fileItem As Archivo In filesgral 'For Each fileItem As Archivo In filesgral 'GENERAL
guardarArchivos.Add(fileItem) ' guardarArchivos.Add(fileItem)
If Not ObjContratos.AddContratosAvanceAnexo(CveContratoAvance, fileItem.filename, UsuarioActual.CveUsuario) Then ' If Not ObjContratos.AddContratosAvanceAnexo(CveContratoAvance, fileItem.filename, UsuarioActual.CveUsuario) Then
TieneError = True ' TieneError = True
Exit For ' Exit For
End If ' End If
Next 'Next
For Each fileItem As Archivo In files For Each fileItem As Archivo In files
guardarArchivos.Add(fileItem) guardarArchivos.Add(fileItem)
If Not ObjContratos.AddContratosAvanceAnexo(CveContratoAvance, fileItem.filename, UsuarioActual.CveUsuario) Then If Not ObjContratos.AddContratosAvanceAnexo(CveContratoAvance, fileItem.filename, UsuarioActual.CveUsuario) Then
@@ -200,24 +268,28 @@ Partial Class Contratos_ContratoAvance
Exit For Exit For
End If End If
Next Next
Else Else
TieneError = True TieneError = True
Exit For Exit For
End If End If
End If End If
End If End If
Next Next
If TieneError Then If TieneError Then
ObjContratos.RollBack() ObjContratos.RollBack()
Alert("No se logro guardar el Presupuesto favor de intentarlo mas tarde o comuniquese con soporte", TipoMensaje.MsgAdvertencia) Alert("No se logro guardar el Presupuesto favor de intentarlo mas tarde o comuniquese con soporte", TipoMensaje.MsgAdvertencia)
Else Else
Dim urlsave As String = String.Format("Empresas\{0}\Contrato\{1}\Anexos", UsuarioActual.CveEmpresa, CveContrato) Dim urlsave As String = String.Format("Empresas\{0}\Contrato\{1}\Anexos", UsuarioActual.CveEmpresa, CveContrato)
For Each fileItem As Archivo In filesgral For Each fileItem As Archivo In filesgral
fileItem.filename.filesMove(fileItem.filename, urlsave) fileItem.filename.FilesMove(fileItem.filename, urlsave)
Next Next
For Each fileItem As Archivo In guardarArchivos For Each fileItem As Archivo In guardarArchivos
fileItem.filename.filesMove(fileItem.filename, urlsave) fileItem.filename.FilesMove(fileItem.filename.Replace($".{fileItem.Extencion}", ""), urlsave)
Next Next
ObjContratos.Commit() ObjContratos.Commit()
Alert("se guardo Correctamente") Alert("se guardo Correctamente")
@@ -228,6 +300,82 @@ Partial Class Contratos_ContratoAvance
CargaDatosAvance() CargaDatosAvance()
End Sub End Sub
#Region "ESTIMACION"
Private Sub CargaAvancesParaEstimar()
Dim ObjContratos As New ClsContratos()
Dim DTEstimaciones As New DataTable
If ObjContratos.GetContratosAvanceEstimacion(DDlContratosEstimaciones.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
DTEstimaciones = ObjContratos.DtResultados
BtnGuardarEstimacion.Visible = True
Else
BtnGuardarEstimacion.Visible = False
End If
ObjContratos.Dispose()
If DTEstimaciones.Rows.Count > 0 Then
GvEstimaciones.DataSource = DTEstimaciones
Else
GvEstimaciones.DataSource = Nothing
End If
GvEstimaciones.DataBind()
UpEstimaciones.Update()
End Sub
Private Sub BtnConsultarEstimaciones_Click(sender As Object, e As EventArgs) Handles BtnConsultarEstimaciones.Click
CargaAvancesParaEstimar()
End Sub
Private Sub GvEstimaciones_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEstimaciones.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("CveContratoDetalle").ToString.ToEntero = 0 Then
If e.Row.DBCampo("CveSubFamilias").ToString.ToEntero = 0 Then
If e.Row.DBCampo("CveFamilias").ToString.ToEntero = 0 Then
e.Row.CssClass = "SubTotales"
Else
e.Row.CssClass = "SubTotales2"
End If
Else
e.Row.CssClass = "SubTotales3"
End If
End If
End If
End Sub
Private Sub BtnGuardarEstimacion_Click(sender As Object, e As EventArgs) Handles BtnGuardarEstimacion.Click
Dim ObjContratos As New ClsContratos()
ObjContratos.Dispose()
End Sub
#End Region
End Class End Class

View File

@@ -929,7 +929,7 @@
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<asp:GridView ID="Gv" ClientIDMode="Static" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron Conceptos" <asp:GridView ID="Gv" ClientIDMode="Static" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron Conceptos"
DataKeyNames="CveContratoDetalle,CveUM, CvePS, Cantidad, PU,CveTipoPresupuesto,CveClasificacion,CodigoPS,LimitarCantidad,PS,OCInterna,NoIdentificacion" DataKeyNames="CveContratoDetalle,CveUM, CvePS, Cantidad, PU,CveTipoPresupuesto,CveClasificacion,CodigoPS,LimitarCantidad,PS,OCInterna,NoIdentificacion,PermitirAvance"
ShowHeader="true" SelectedRowStyle-BackColor="#66CCFF" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None"> ShowHeader="true" SelectedRowStyle-BackColor="#66CCFF" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None">
<Columns> <Columns>
<asp:TemplateField HeaderText="OC <br/> Cliente"> <asp:TemplateField HeaderText="OC <br/> Cliente">
@@ -997,7 +997,6 @@
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Precio Unitario"> <asp:TemplateField HeaderText="Precio Unitario">
<ItemTemplate> <ItemTemplate>
<asp:Literal ID="LtPU" Text='<%# Eval("PU", "{0:###,###,##0.00##}")%>' runat="server"></asp:Literal> <asp:Literal ID="LtPU" Text='<%# Eval("PU", "{0:###,###,##0.00##}")%>' runat="server"></asp:Literal>
@@ -1013,9 +1012,15 @@
</ItemTemplate> </ItemTemplate>
<ItemStyle Width="150px" HorizontalAlign="Right" /> <ItemStyle Width="150px" HorizontalAlign="Right" />
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField HeaderText="Avance" Visible="false"> <asp:TemplateField HeaderText="Avance" Visible="True">
<ItemTemplate> <ItemTemplate>
<asp:CheckBox ID="CHKPAvance" Enabled="false" AutoPostBack="true" OnCheckedChanged="AvaClick" runat="server" />
<asp:LinkButton runat="server" ID="LnkHabilitaAvance" Text= "" OnClick="LnkHabilitaAvance_Click" Enabled="false"
data-toggle="confirmation" data-popout="true" data-original-title="¿Habilitar el avance?" data-btn-ok-label="si" ></asp:LinkButton>
<asp:CheckBox ID="CHKPAvance" Enabled="True" Visible="false" AutoPostBack="true" OnCheckedChanged="AvaClick" runat="server" />
</ItemTemplate> </ItemTemplate>
<ItemStyle Width="150px" HorizontalAlign="Right" /> <ItemStyle Width="150px" HorizontalAlign="Right" />
</asp:TemplateField> </asp:TemplateField>

View File

@@ -927,6 +927,7 @@ Partial Class Contratos_ContratoObra
Dim Ruta = Request.ApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\" Dim Ruta = Request.ApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
'DivTipoContrato.Visible = False 'DivTipoContrato.Visible = False
If ObjContratos.GetContratos(CveContrato, UsuarioActual.CveEmpresa) Then If ObjContratos.GetContratos(CveContrato, UsuarioActual.CveEmpresa) Then
If ObjContratos.DtResultados.Rows.Count > 0 Then If ObjContratos.DtResultados.Rows.Count > 0 Then
@@ -2044,10 +2045,12 @@ Partial Class Contratos_ContratoObra
If e.Row.RowIndex > -1 Then If e.Row.RowIndex > -1 Then
e.Row.FCCheckBox("CHKPAvance").Visible = Autorizado Dim LnkHabilitaAvance As LinkButton = e.Row.FCLinkButton("LnkHabilitaAvance")
' e.Row.FCCheckBox("CHKPAvance").Visible = Autorizado
'e.Row.FCCheckBox("CHKPEstimacion").Visible = Autorizado 'e.Row.FCCheckBox("CHKPEstimacion").Visible = Autorizado
If UsuarioActual.TienePermisoProceso(124) Then If UsuarioActual.TienePermisoProceso(124) Then
e.Row.FCCheckBox("CHKPAvance").Enabled = True e.Row.FCCheckBox("CHKPAvance").Enabled = True
LnkHabilitaAvance.Enabled = True
End If End If
If e.Row.DBCampo("PermitirAvance").ToString = "1" Then If e.Row.DBCampo("PermitirAvance").ToString = "1" Then
@@ -2066,6 +2069,19 @@ Partial Class Contratos_ContratoObra
e.Row.Cells(1).Width = Unit.Pixel(10) e.Row.Cells(1).Width = Unit.Pixel(10)
e.Row.Cells(6).Width = Unit.Pixel(250) e.Row.Cells(6).Width = Unit.Pixel(250)
End If End If
If e.Row.DBCampo("PermitirAvance").ToString = "1" Then
LnkHabilitaAvance.Text = "<i class='fa fa-check-square-o' aria-hidden='true'></i>"
LnkHabilitaAvance.Attributes.Add("data-original-title", "¿Deshabilitar avance?")
Else
LnkHabilitaAvance.Text = "<i class='fa fa-square-o' aria-hidden='true'></i>"
LnkHabilitaAvance.Attributes.Add("data-original-title", "¿Habilitar avance?")
End If
End If End If
If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then
e.Row.FCDropDownList("DdlUMEdit").DataSource = GlobalDTProductosServiciosEquivalencias(e.Row.DataKey("CvePS").ToString.ToEntero, -1, UsuarioActual.CveEmpresa) e.Row.FCDropDownList("DdlUMEdit").DataSource = GlobalDTProductosServiciosEquivalencias(e.Row.DataKey("CvePS").ToString.ToEntero, -1, UsuarioActual.CveEmpresa)
@@ -5026,6 +5042,36 @@ Partial Class Contratos_ContratoObra
Protected Sub LnkHabilitaAvance_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
Dim PermitirAvance As Integer = GvRow.DataKey("PermitirAvance").ToEntero
'Get the button that raised the event
'Dim btn As CheckBox = DirectCast(sender, CheckBox)
'Dim gvr As GridViewRow = DirectCast(btn.NamingContainer, GridViewRow)
Dim CveContratoDetalle As Integer = GvRow.DataKey("CveContratoDetalle").ToString.ToEntero
Dim objContrato As New ClsContratos
If objContrato.UpdateContratosDetalleAvance(CveContratoDetalle, IIf(PermitirAvance = 1, 0, 1).ToString.ToEntero) Then
Dim row = TmpDT.Select(String.Format("CveContratoDetalle={0}", CveContratoDetalle))(0)
row("PermitirAvance") = IIf(PermitirAvance = 1, 0, 1).ToString.ToEntero
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
Alert("Se ha permitido levantar avance", TipoMensaje.MsgInformacion)
Else
Alert("no se pudo permitir avance", TipoMensaje.MsgAdvertencia)
End If
objContrato.Dispose()
End Sub
End Class End Class