Contratos Autorizacion
This commit is contained in:
@@ -183,6 +183,11 @@ Public Class ClsContratos
|
||||
Public Property Folio As Integer
|
||||
Public Property FechaVenc As Date
|
||||
Public Property AplicaImpuestosLocales As Boolean
|
||||
Public Property CveEstimacionActual As Integer
|
||||
Public Property NumeroEstimacionActual As Integer
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
@@ -1276,15 +1281,15 @@ Public Class ClsContratos
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function GetContratosAvanceAnexos(CveContratoDetalle As Integer, fecha As String, CveUsuario As Integer, Optional CveEstimacion As Integer = -1) As Boolean
|
||||
Public Function GetContratosAvanceAnexos(CveContratoDetalle As Integer, CveUsuario As Integer, Optional CveEstimacion As Integer = -1, Optional CveContratoAvance As Integer = -1) As Boolean
|
||||
Dim Retorno = False
|
||||
|
||||
DataAdapter("PA_Con_ContratosAvanceAnexos")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle
|
||||
.Add("@Fecha", SqlDbType.Date).Value = fecha
|
||||
.Add("@CveUsuario", SqlDbType.Float).Value = CveUsuario
|
||||
.Add("@CveEstimacion", SqlDbType.Float).Value = CveEstimacion
|
||||
.Add("@CveContratoAvance", SqlDbType.Float).Value = CveContratoAvance
|
||||
End With
|
||||
|
||||
Try
|
||||
@@ -1300,13 +1305,49 @@ Public Class ClsContratos
|
||||
|
||||
#Region "ESTIMACION"
|
||||
|
||||
Public Function GetContratosAvanceEstimacion(CveContrato As Integer, CveEmpresa As Integer) As Boolean
|
||||
|
||||
Public Function AddContratosObraAvance(CveContrato As Integer, CveContratoDetalle As Integer, Cantidad As Double, Fecha As Date, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
|
||||
Dim Retorno = False
|
||||
|
||||
CveEstimacionActual = 0
|
||||
|
||||
DataAdapter("PA_Con_ContratosObraAvanceAdd")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveContrato", SqlDbType.Int).Value = CveContrato
|
||||
.Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle
|
||||
.Add("@Cantidad", SqlDbType.Int).Value = Cantidad
|
||||
.Add("@Fecha", SqlDbType.Date).Value = Fecha
|
||||
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
.Add("@CveEstimacionActual", SqlDbType.Int).Direction = ParameterDirection.Output
|
||||
.Add("@NumeroEstimacionActual", SqlDbType.Int).Direction = ParameterDirection.Output
|
||||
|
||||
End With
|
||||
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
|
||||
CveEstimacionActual = SqlAdapter.SelectCommand.Parameters("@CveEstimacionActual").Value.ToString.ToEntero
|
||||
NumeroEstimacionActual = SqlAdapter.SelectCommand.Parameters("@NumeroEstimacionActual").Value.ToString.ToEntero
|
||||
|
||||
Retorno = True
|
||||
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al agregar el avance.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
|
||||
Public Function GetContratosAvanceEstimacion(CveContrato As Integer, CveEmpresa As Integer, CveEstimacion 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
|
||||
.Add("@CveEstimacion", SqlDbType.Int).Value = CveEstimacion
|
||||
End With
|
||||
|
||||
Try
|
||||
@@ -1374,6 +1415,27 @@ Public Class ClsContratos
|
||||
|
||||
|
||||
|
||||
Public Function RemoveContratosAvance(CveContratoAvance As Integer, CveEmpresa As Integer) As Boolean
|
||||
Dim Retorno = False
|
||||
|
||||
DataAdapter("PA_Con_ContratosAvanceRemove")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveContratoAvance", SqlDbType.Int).Value = CveContratoAvance
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
End With
|
||||
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
Retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al eliminar el avance.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
|
||||
Return Retorno
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "CONTRATOS OBRA COMPRAS"
|
||||
|
||||
@@ -5020,6 +5020,9 @@ Public Class ClsPaginas
|
||||
PaginaDict.Add("/Contratos/RepContratosObraAvances.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/Contratos/RepContratosObraAvancesDetalle.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/Contratos/RepContratosObraAvancesPartida.aspx".ToUpper(), -1)
|
||||
PaginaDict.Add("/Contratos/ContratoObraAutorizacion.aspx".ToUpper(), -1)
|
||||
|
||||
|
||||
|
||||
|
||||
'Orden Produccion'
|
||||
|
||||
@@ -63,11 +63,11 @@
|
||||
<label class="col-md-1 truncate">Contrato:</label>
|
||||
<div class="col-md-6 col-lg-4">
|
||||
<div class="ddls">
|
||||
<asp:DropDownList ID="DdlContratos" runat="server" AutoPostBack="true" DataTextField="ContratoCompleto" DataValueField="CveContrato" Class=" form-control input-inline select2me" Width="100%">
|
||||
<asp:DropDownList ID="DdlContratos" runat="server" DataTextField="ContratoCompleto" DataValueField="CveContrato" Class=" form-control input-inline select2me" Width="100%">
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-lg-2">
|
||||
<div class="col-md-2 col-lg-2 " style="display:none!important">
|
||||
<asp:DropDownList ID="DdlAvances" runat="server" DataTextField="Name" DataValueField="Fecha" Class=" form-control input-inline select2me" Width="100%">
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
@@ -117,6 +117,7 @@
|
||||
<th style="width: 100px;"></th>
|
||||
<th style="width: 100px;"></th>
|
||||
<th style="width: 100px;"></th>
|
||||
<th style="width: 100px;"></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Producto / Servicio</th>
|
||||
@@ -124,106 +125,114 @@
|
||||
<th colspan="2">Ultimo Avance</th>
|
||||
<th colspan="2">Levantamiento</th>
|
||||
<th style="text-align: right;">Anexo</th>
|
||||
<th style="text-align: right;"> </th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<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"
|
||||
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: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"
|
||||
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: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>
|
||||
<%-- <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>
|
||||
</a>--%>
|
||||
<asp:TemplateField HeaderText="UM">
|
||||
<ItemTemplate>
|
||||
<span><%# Eval("Abreviatura")%></span>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<asp:TemplateField HeaderText="Cantidad">
|
||||
<ItemTemplate>
|
||||
<span><%# Eval("Cantidad", "{0:N2}")%></span>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
<div runat="server" id="ModalAnexoEvidencia" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<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>
|
||||
|
||||
<!-- Modal content-->
|
||||
<div class="modal-content">
|
||||
<div class="modal-header ">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title">Cargar Evidencia</h4>
|
||||
</div>
|
||||
<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 class="modal-body">
|
||||
<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">×</button>
|
||||
<h4 class="modal-title">Cargar Evidencia</h4>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
|
||||
<div style="text-align:left">
|
||||
<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 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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
|
||||
|
||||
<asp:TemplateField HeaderText="">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="LnkGuardarAvance" Text="Guardar" CssClass="btn btn-primary" runat="server" OnClick="LnkGuardarAvance_Click" Visible="false" ValidationGroup="GrpGuardar" ></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="text-center">
|
||||
<div class="text-center" runat="server" visible ="false">
|
||||
<asp:Button id="BtnGuardar" CssClass="btn btn-primary" runat="server" Text="Guardar" Visible="false" ValidationGroup="GrpGuardar" />
|
||||
</div>
|
||||
|
||||
@@ -234,7 +243,7 @@
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
|
||||
<ajax:TabPanel ID="TabEstimación" runat="server" HeaderText="Estimación">
|
||||
<ajax:TabPanel ID="TabEstimación" runat="server" HeaderText="Estimación" visible ="false">
|
||||
<ContentTemplate>
|
||||
|
||||
<asp:UpdatePanel runat="server" ID="UpEstimaciones" UpdateMode="Conditional">
|
||||
@@ -254,7 +263,7 @@
|
||||
<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="NumeroContrato" DataValueField="CveContrato" Class=" form-control input-inline select2me" Width="100%">
|
||||
<asp:DropDownList ID="DDlContratosEstimaciones" runat="server" AutoPostBack="true" DataTextField="ContratoCompleto" DataValueField="CveContrato" Class=" form-control input-inline select2me" Width="100%">
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -91,16 +91,43 @@ Partial Class Contratos_ContratoAvance
|
||||
End Property
|
||||
|
||||
|
||||
Property CveEstimacionActual As Integer
|
||||
Get
|
||||
If ViewState("CveEstimacionActual") Is Nothing Then
|
||||
Return -1
|
||||
Else
|
||||
Return ViewState("CveEstimacionActual").ToString.ToEntero
|
||||
End If
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveEstimacionActual") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property NuemeroEstimacionActual As Integer
|
||||
Get
|
||||
If ViewState("NuemeroEstimacionActual") Is Nothing Then
|
||||
Return -1
|
||||
Else
|
||||
Return ViewState("NuemeroEstimacionActual").ToString.ToEntero
|
||||
End If
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("NuemeroEstimacionActual") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||
|
||||
If Not IsPostBack Then
|
||||
|
||||
BtnGuardar.Visible = False
|
||||
|
||||
CargaContrato()
|
||||
|
||||
|
||||
End If
|
||||
|
||||
End Sub
|
||||
@@ -113,53 +140,33 @@ Partial Class Contratos_ContratoAvance
|
||||
|
||||
DDlContratosEstimaciones.DataSource = GlobalDTContratos.FiltraParametros(String.Format($"CveContratoTipo in (30,31) AND CveEmpresa = {UsuarioActual.CveEmpresa}"))
|
||||
DDlContratosEstimaciones.DataBind()
|
||||
|
||||
|
||||
CargaddlAvance()
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlContratos_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlContratos.SelectedIndexChanged
|
||||
CargaddlAvance()
|
||||
End Sub
|
||||
Private Sub CargaddlAvance()
|
||||
DdlAvances.Items.Clear()
|
||||
Dim ObjContratos As New ClsContratos()
|
||||
If ObjContratos.GetContratosAvanceFecha(DdlContratos.SelectedValue.ToEntero, 2) Then
|
||||
DdlAvances.DataSource = ObjContratos.DtResultados
|
||||
End If
|
||||
ObjContratos.Dispose()
|
||||
DdlAvances.DataBind()
|
||||
DdlAvances.Items.Insert(0, New ListItem(" ---- ", "-1"))
|
||||
End Sub
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
|
||||
CveContrato = DdlContratos.SelectedValue.ToEntero
|
||||
CargaDatosAvance()
|
||||
End Sub
|
||||
|
||||
Private Sub CargaDatosAvance()
|
||||
|
||||
GvAnexos.Visible = False
|
||||
Dim ObjContratos As New ClsContratos()
|
||||
If DdlAvances.SelectedValue = "-1" Then
|
||||
If ObjContratos.GetContratosAvanceTodos(CveContrato, 2) Then
|
||||
fecha = ""
|
||||
DtDatos = ObjContratos.DtResultados
|
||||
If ObjContratos.DtResultados.Rows.Count > 0 Then
|
||||
BtnGuardar.Visible = True
|
||||
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
If ObjContratos.GetContratosAvanceHistoricos(CveContrato, 2, DdlAvances.SelectedValue) Then
|
||||
fecha = DdlAvances.SelectedValue
|
||||
DtDatos = ObjContratos.DtResultados
|
||||
BtnGuardar.Visible = False
|
||||
|
||||
If ObjContratos.GetContratosAvanceTodos(CveContrato, 2) Then
|
||||
fecha = ""
|
||||
DtDatos = ObjContratos.DtResultados
|
||||
If ObjContratos.DtResultados.Rows.Count > 0 Then
|
||||
BtnGuardar.Visible = True
|
||||
End If
|
||||
End If
|
||||
|
||||
ObjContratos.Dispose()
|
||||
CargaGrid()
|
||||
|
||||
End Sub
|
||||
|
||||
#Region "GV"
|
||||
@@ -176,6 +183,7 @@ Partial Class Contratos_ContratoAvance
|
||||
End If
|
||||
End Sub
|
||||
Protected Sub GV_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles Gv.RowDataBound
|
||||
|
||||
If e.Row.RowIndex > -1 Then
|
||||
|
||||
e.Row.FCTextBox("TxtCantidad").Visible = (fecha = "")
|
||||
@@ -209,8 +217,10 @@ Partial Class Contratos_ContratoAvance
|
||||
LnkAnexo.Visible = True
|
||||
End If
|
||||
|
||||
End If
|
||||
Dim LnkGuardarAvance As LinkButton = e.Row.FCLinkButton("LnkGuardarAvance")
|
||||
LnkGuardarAvance.Visible = True
|
||||
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
@@ -226,7 +236,7 @@ Partial Class Contratos_ContratoAvance
|
||||
Dim gvr As GridViewRow = DirectCast(btn.NamingContainer, GridViewRow)
|
||||
Dim CveContratoDetalle As Integer = gvr.DataKey("CveContratoDetalle").ToString.ToEntero
|
||||
Dim objContrato As New ClsContratos
|
||||
If objContrato.GetContratosAvanceAnexos(CveContratoDetalle, fecha, UsuarioActual.CveUsuario) Then
|
||||
If objContrato.GetContratosAvanceAnexos(CveContratoDetalle, UsuarioActual.CveUsuario, -1) Then
|
||||
GvAnexos.DataSource = objContrato.DtResultados
|
||||
GvAnexos.DataBind()
|
||||
GvAnexos.Visible = True
|
||||
@@ -277,10 +287,13 @@ Partial Class Contratos_ContratoAvance
|
||||
|
||||
Dim ObjContratos As New ClsContratos
|
||||
ObjContratos.IniciaTransacSQL()
|
||||
|
||||
Dim TieneError = False
|
||||
Dim CveContratoDetalle As Integer
|
||||
Dim Cantidad As Double
|
||||
'Dim filesgral As List(Of Archivo) = AnexoGral.getfiles().Archivos
|
||||
|
||||
Dim NumeroEstimacionActual As Integer = 0
|
||||
|
||||
Dim guardarArchivos As New List(Of Archivo)
|
||||
|
||||
For Each gvr As GridViewRow In Gv.Rows
|
||||
@@ -292,19 +305,14 @@ Partial Class Contratos_ContratoAvance
|
||||
Cantidad = gvr.FCTextBox("TxtCantidad").Text.ToDouble
|
||||
|
||||
If Cantidad > 0 Then
|
||||
If ObjContratos.AddContratosAvance(CveContratoDetalle, Cantidad, TxtFecha.Text.ToDateTime, UsuarioActual.CveUsuario) Then
|
||||
|
||||
If ObjContratos.AddContratosObraAvance(DdlContratos.SelectedValue.ToEntero, CveContratoDetalle, Cantidad, TxtFecha.Text.ToDateTime, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
||||
|
||||
NumeroEstimacionActual = ObjContratos.NumeroEstimacionActual
|
||||
|
||||
Dim CveContratoAvance As Integer = ObjContratos.DtResultados.Rows(0)("CveContratoAvance").ToString.ToEntero
|
||||
Dim files As List(Of Archivo) = gvr.FCTextBox("TXTAnexo").getfiles().Archivos
|
||||
|
||||
'For Each fileItem As Archivo In filesgral 'GENERAL
|
||||
' guardarArchivos.Add(fileItem)
|
||||
' If Not ObjContratos.AddContratosAvanceAnexo(CveContratoAvance, fileItem.filename, UsuarioActual.CveUsuario) Then
|
||||
' TieneError = True
|
||||
' Exit For
|
||||
' End If
|
||||
'Next
|
||||
|
||||
For Each fileItem As Archivo In files
|
||||
guardarArchivos.Add(fileItem)
|
||||
If Not ObjContratos.AddContratosAvanceAnexo(CveContratoAvance, fileItem.filename, UsuarioActual.CveUsuario) Then
|
||||
@@ -327,25 +335,99 @@ Partial Class Contratos_ContratoAvance
|
||||
ObjContratos.RollBack()
|
||||
Alert("No se logro guardar el Presupuesto favor de intentarlo mas tarde o comuniquese con soporte", TipoMensaje.MsgAdvertencia)
|
||||
Else
|
||||
Dim urlsave As String = String.Format("Empresas\{0}\Contrato\{1}\Anexos", UsuarioActual.CveEmpresa, CveContrato)
|
||||
|
||||
'For Each fileItem As Archivo In filesgral
|
||||
' fileItem.filename.FilesMove(fileItem.filename, urlsave)
|
||||
'Next
|
||||
Dim urlsave As String = String.Format("Empresas\{0}\Contrato\{1}\Anexos", UsuarioActual.CveEmpresa, CveContrato)
|
||||
|
||||
For Each fileItem As Archivo In guardarArchivos
|
||||
fileItem.filename.FilesMove(fileItem.filename.Replace($".{fileItem.Extencion}", ""), urlsave)
|
||||
Next
|
||||
|
||||
|
||||
ObjContratos.Commit()
|
||||
Alert("se guardo Correctamente")
|
||||
|
||||
'Alert("se avance guardado correctamente")
|
||||
Alert("se avance guardado correctamente en estimacion numero " & NumeroEstimacionActual)
|
||||
|
||||
End If
|
||||
'AnexoGral.Text = "[]"
|
||||
ObjContratos.Dispose()
|
||||
CargaddlAvance()
|
||||
'CargaddlAvance()
|
||||
CargaDatosAvance()
|
||||
End Sub
|
||||
|
||||
|
||||
Protected Sub LnkGuardarAvance_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim GvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
|
||||
|
||||
|
||||
Dim ObjContratos As New ClsContratos
|
||||
ObjContratos.IniciaTransacSQL()
|
||||
Dim TieneError = False
|
||||
Dim CveContratoDetalle As Integer
|
||||
Dim Cantidad As Double
|
||||
Dim guardarArchivos As New List(Of Archivo)
|
||||
|
||||
Dim NumeroEstimacionActual As Integer = 0
|
||||
|
||||
CveContratoDetalle = GvRow.DataKey("CveContratoDetalle").ToEntero
|
||||
|
||||
If CveContratoDetalle > 0 Then
|
||||
|
||||
Cantidad = GvRow.FCTextBox("TxtCantidad").Text.ToDouble
|
||||
|
||||
If Cantidad > 0 Then
|
||||
If ObjContratos.AddContratosObraAvance(DdlContratos.SelectedValue.ToEntero, CveContratoDetalle, Cantidad, TxtFecha.Text.ToDateTime, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
||||
NumeroEstimacionActual = ObjContratos.NumeroEstimacionActual
|
||||
|
||||
Dim CveContratoAvance As Integer = ObjContratos.DtResultados.Rows(0)("CveContratoAvance").ToString.ToEntero
|
||||
Dim files As List(Of Archivo) = GvRow.FCTextBox("TXTAnexo").getfiles().Archivos
|
||||
|
||||
For Each fileItem As Archivo In files
|
||||
guardarArchivos.Add(fileItem)
|
||||
If Not ObjContratos.AddContratosAvanceAnexo(CveContratoAvance, fileItem.filename, UsuarioActual.CveUsuario) Then
|
||||
TieneError = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
|
||||
Else
|
||||
TieneError = True
|
||||
End If
|
||||
|
||||
|
||||
If TieneError Then
|
||||
ObjContratos.RollBack()
|
||||
Alert("No se logro guardar el Presupuesto favor de intentarlo mas tarde o comuniquese con soporte", TipoMensaje.MsgAdvertencia)
|
||||
Else
|
||||
|
||||
Dim urlsave As String = String.Format("Empresas\{0}\Contrato\{1}\Anexos", UsuarioActual.CveEmpresa, CveContrato)
|
||||
For Each fileItem As Archivo In guardarArchivos
|
||||
fileItem.filename.FilesMove(fileItem.filename.Replace($".{fileItem.Extencion}", ""), urlsave)
|
||||
Next
|
||||
ObjContratos.Commit()
|
||||
|
||||
'Alert("se avance guardado correctamente")
|
||||
Alert("se avance guardado correctamente en estimacion numero " & NumeroEstimacionActual)
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
End If
|
||||
Else
|
||||
ObjContratos.RollBack()
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
ObjContratos.Dispose()
|
||||
CargaDatosAvance()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
#Region "ESTIMACION"
|
||||
|
||||
@@ -355,9 +437,9 @@ Partial Class Contratos_ContratoAvance
|
||||
|
||||
Dim ObjContratos As New ClsContratos()
|
||||
Dim DTEstimaciones As New DataTable
|
||||
Dim NumeroEstimacionActual As Integer = 0
|
||||
|
||||
|
||||
If ObjContratos.GetContratosAvanceEstimacion(DDlContratosEstimaciones.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
|
||||
If ObjContratos.GetContratosAvanceEstimacion(DDlContratosEstimaciones.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1) Then
|
||||
DTEstimaciones = ObjContratos.DtResultados
|
||||
|
||||
CveContratoEstimacion = DDlContratosEstimaciones.SelectedValue.ToEntero
|
||||
@@ -465,7 +547,6 @@ Partial Class Contratos_ContratoAvance
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub GeneraAnexo(CveEstimacion As Integer, NumeroEstimacion As Integer, FechaEstimacion As Date, NumeroContrato As String)
|
||||
|
||||
Dim PlantillaAnexo As String = $"{UsuarioActual.Empresa.Ruta}\Formatos\Anexo.xlsx"
|
||||
@@ -683,7 +764,7 @@ Partial Class Contratos_ContratoAvance
|
||||
Dim objContrato As New ClsContratos
|
||||
Dim DTArchivos As New DataTable
|
||||
|
||||
If objContrato.GetContratosAvanceAnexos(Drow("CveContratoDetalle").ToString.ToEntero, Drow("Fecha").ToString, UsuarioActual.CveUsuario, CveEstimacion:=CveEstimacion) Then
|
||||
If objContrato.GetContratosAvanceAnexos(Drow("CveContratoDetalle").ToString.ToEntero, UsuarioActual.CveUsuario, CveEstimacion:=CveEstimacion) Then
|
||||
DTArchivos = objContrato.DtResultados
|
||||
End If
|
||||
objContrato.Dispose()
|
||||
@@ -748,6 +829,10 @@ Partial Class Contratos_ContratoAvance
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
|
||||
@@ -110,17 +110,7 @@
|
||||
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
<%-- <asp:PostBackTrigger ControlID="LbDescargarExcel" />
|
||||
<asp:PostBackTrigger ControlID="LBImprimir" />
|
||||
<asp:PostBackTrigger ControlID="LBImprimirGastos" />
|
||||
<asp:PostBackTrigger ControlID="LbImprimirSuministros" />
|
||||
<asp:PostBackTrigger ControlID="LBImprimirInformacionG" />
|
||||
<asp:PostBackTrigger ControlID="lbImprimirAvance" />
|
||||
<asp:PostBackTrigger ControlID="LbImprimirPresupuesto" />
|
||||
<asp:PostBackTrigger ControlID="LbImprmirAF" />
|
||||
<asp:PostBackTrigger ControlID="LbImprmirAFExcel" />
|
||||
<asp:PostBackTrigger ControlID="LbImprimirPedDev" />
|
||||
<asp:PostBackTrigger ControlID="LbImprimirPedDevExcel" />--%>
|
||||
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
@@ -132,80 +122,169 @@
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
|
||||
|
||||
|
||||
<%-- <asp:UpdatePanel ID="UPTipo" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<div id="DivTipoContrato" class="row" runat="server" visible="true">
|
||||
<div class="col-md-12">
|
||||
|
||||
<div class="portlet light portlet-fit Withall">
|
||||
<div class="portlet-title">
|
||||
<div class="caption">
|
||||
<span class="caption-subject font-green bold uppercase">
|
||||
<h1>Tipo de Contrato</h1>
|
||||
</span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
<br />
|
||||
<br />
|
||||
<div class="row">
|
||||
<div class="col-sm-6" style="text-align: right">
|
||||
<asp:RadioButton ID="rdventa" runat="server" GroupName="rdTipo" AutoPostBack="true" Text="Venta" />
|
||||
</div>
|
||||
<div class="col-sm-6" style="text-align: left">
|
||||
<asp:RadioButton ID="rpCompra" runat="server" GroupName="rdTipo" AutoPostBack="true" Text="Compra" />
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<div class="row" id="dvDetContrato" runat="server" visible="false">
|
||||
<div class="col-md-4" style="text-align: right!important">Tipo Contrato:</div>
|
||||
<div class="col-md-4">
|
||||
<asp:DropDownList ID="DdlTipoContrato" DataValueField="CveContratoTipo" DataTextField="ContratoTipo" runat="server" AutoPostBack="true" CssClass="select2me" Width="90%" OnSelectedIndexChanged="DdlTipoContrato_SelectedIndexChanged">
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
<div class="row" style="text-align: center!important">
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<asp:Button Text="Aceptar" runat="server" ID="BtnTipoContrato" Height="30px" Width="150px" class="btn btn-primary" />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<div style="width: 500px; margin: 0 auto;">
|
||||
<asp:Label ID="TxtDescripcionTipoContrato" Text="" runat="server" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
|
||||
<div class="row ">
|
||||
<asp:TextBox Visible="false" runat="server" ID="TextBox5" TextMode="MultiLine" Rows="5" Enabled="false" Wrap="false" Width="500px" Height="50px" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>--%>
|
||||
|
||||
|
||||
<asp:UpdatePanel UpdateMode="Conditional" ID="UpGral" runat="server">
|
||||
<ContentTemplate>
|
||||
<div runat="server" id="DivContent" visible="true" style="min-height: 500px">
|
||||
|
||||
<asp:UpdatePanel runat="server">
|
||||
|
||||
|
||||
<asp:UpdatePanel ID="UpGrafica" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="row" runat="server" id="DVGraficas" visible="false">
|
||||
|
||||
<div class="col-xs-3">
|
||||
<div class="dashboard-stat2 " style="border: 2px solid #DDD; margin-bottom: 0px; height: 141.8px!important">
|
||||
|
||||
<div class="display">
|
||||
|
||||
<div class="number" style="display: none!important">
|
||||
<small>Contratos</small>
|
||||
<h3 class="font-purple-soft">
|
||||
<span>
|
||||
<asp:Literal Text="0" ID="LblImporteOculto" runat="server" /></span>
|
||||
</h3>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="number">
|
||||
<small>Total Contratado</small>
|
||||
<h3 class="font-purple-soft">
|
||||
<span>$<asp:Literal Text="0" ID="LblImporte" runat="server" /></span>
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<div class="icon">
|
||||
<i class="fa fa-list-ol"></i>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-xs-3">
|
||||
<div class="dashboard-stat2 " style="border: 2px solid #DDD; margin-bottom: 0px;">
|
||||
<div class="display">
|
||||
|
||||
<div class="number" style="width: 80%!important">
|
||||
|
||||
<table style="width: 100%!important">
|
||||
<td>
|
||||
<small>Ventas</small>
|
||||
<h3 class="font-green-sharp">
|
||||
<span style="font-size: large">
|
||||
<asp:Literal Text="0" ID="LtlAvanceImporte" runat="server" />
|
||||
</span>
|
||||
<small class="font-green-sharp"></small>
|
||||
</h3>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<small>Porcentaje</small>
|
||||
<h3 class="font-green-sharp">
|
||||
<span style="font-size: large">
|
||||
<asp:Literal Text="0" ID="LtlAvanceImporteProcentaje1" runat="server" />
|
||||
</span>
|
||||
<small class="font-green-sharp"></small>
|
||||
</h3>
|
||||
|
||||
</td>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="icon">
|
||||
<i class="icon-pie-chart"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="progress-info">
|
||||
|
||||
<div class="progress">
|
||||
<span runat="server" id="SPAvance1" style="width: 76%;" class="progress-bar progress-bar-success green-sharp">
|
||||
<%--<span runat="server" id="SPAvance2" class="sr-only">76% Avance</span>--%>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="status">
|
||||
<div class="status-title">Avance </div>
|
||||
<div class="status-number">
|
||||
<asp:Literal Text="0" ID="LtlAvanceImporteProcentaje2" runat="server" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-3">
|
||||
<div class="dashboard-stat2 " style="border: 2px solid #DDD; margin-bottom: 0px;">
|
||||
<div class="display">
|
||||
|
||||
<div class="number" style="width: 80%!important">
|
||||
|
||||
<table style="width: 100%!important">
|
||||
<td>
|
||||
<small>Interno</small>
|
||||
<h3 class="font-red-haze">
|
||||
<span style="font-size: large">
|
||||
<asp:Literal Text="0" ID="LtlAvanceInternoImporte" runat="server" />
|
||||
</span>
|
||||
<small class="font-red-haze"></small>
|
||||
</h3>
|
||||
|
||||
</td>
|
||||
<td>
|
||||
<small>Porcentaje</small>
|
||||
<h3 class="font-red-haze">
|
||||
<span style="font-size: large">
|
||||
<asp:Literal Text="0" ID="LtlAvanceInternoImportePorcentaje1" runat="server" />
|
||||
</span>
|
||||
<small class="font-red-haze"></small>
|
||||
</h3>
|
||||
|
||||
</td>
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="icon">
|
||||
<i class="icon-pie-chart"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="progress-info">
|
||||
<div class="progress">
|
||||
<span runat="server" id="SPFaltante" style="width: 76%;" class="progress-bar progress-bar-success red-haze">
|
||||
<%--<span class="sr-only">76% Avance</span>--%>
|
||||
</span>
|
||||
</div>
|
||||
<div class="status">
|
||||
<div class="status-title">Faltante </div>
|
||||
<div class="status-number">
|
||||
<asp:Literal Text="0" ID="LtlAvanceInternoImportePorcentaje2" runat="server" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
<%-- <asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
<table runat="server" id="TableDatosCabecera" visible="false" width="100%">
|
||||
<tr>
|
||||
<td style="width: 250px;">Importe Contratado: $
|
||||
|
||||
<asp:Label ID="LblImporte" Font-Size="18px" Font-Bold="True" runat="server" Text=""></asp:Label></td>
|
||||
<asp:Label Font-Size="18px" Font-Bold="True" runat="server" Text=""></asp:Label></td>
|
||||
<td style="width: 225px;">Facturado: $
|
||||
|
||||
<asp:Label ID="LblFacturado" Font-Size="18px" Font-Bold="True" runat="server" Text="0.00"></asp:Label></td>
|
||||
@@ -219,14 +298,20 @@
|
||||
</tr>
|
||||
</table>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:UpdatePanel>--%>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ajax:TabContainer ID="Tab" runat="server" Width="100%" CssClass="tabBodyOverride" ActiveTabIndex="0">
|
||||
|
||||
<ajax:TabPanel ID="TabInformacionGeneral" runat="server" HeaderText="Información General">
|
||||
<ContentTemplate>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="col-md-6">
|
||||
<div class="portlet smmallpadding light bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="tools">
|
||||
@@ -236,6 +321,12 @@
|
||||
<div class="caption uppercase" style="position: relative;"><i class="fa fa-info-circle"></i>Datos del Contrato</div>
|
||||
</div>
|
||||
<div class="portlet-body rowpadding">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<label class="col-md-2 truncate">No. Contrato:</label>
|
||||
<div class="col-md-10">
|
||||
@@ -306,187 +397,8 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%-- <div class="row" id="RowFlexible" runat="server">
|
||||
<label class="col-md-2 truncate ">Flexible:</label>
|
||||
<div class="col-md-10">
|
||||
<asp:CheckBox ID="chkDetalleContrato" AutoPostBack="True" OnCheckedChanged="chkDetalleContrato_CheckedChanged" runat="server"></asp:CheckBox>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" runat="server" id="RowAlmacenOrigen" visible="False">
|
||||
<label class="col-md-2 truncate ">Almacén origen:</label>
|
||||
<div class="col-md-10">
|
||||
<asp:DropDownList ID="DdlAlmacenOrigen" runat="server" AppendDataBoundItems="True" DataTextField="Almacen" DataValueField="CveAlmacen" Class="form-control input-sm select2me" Width="400px" ValidationGroup="GrpGuardar"></asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVAlmacenOrigen" runat="server" ControlToValidate="DdlAlmacenOrigen" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Almacén''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCEAlmacenOrigen" runat="server" HighlightCssClass="vco" TargetControlID="RFVAlmacenOrigen" Width="300px" BehaviorID="_content_VCEAlmacenOrigen"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" runat="server" id="RowAlmacen" visible="False">
|
||||
<label class="col-md-2 truncate ">Almacén destino:</label>
|
||||
<div class="col-md-10">
|
||||
<asp:DropDownList ID="DdlAlmacenDestino" runat="server" AppendDataBoundItems="True" DataTextField="Almacen" DataValueField="CveAlmacen" Class="form-control input-sm select2me" Width="400px" ValidationGroup="GrpGuardar"></asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVAlmacenDestino" runat="server" ControlToValidate="DdlAlmacenDestino" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Almacén''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCEAlmacenDestino" runat="server" HighlightCssClass="vco" TargetControlID="RFVAlmacenDestino" Width="300px" BehaviorID="_content_VCEAlmacenDestino"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" runat="server" id="RowPorcentajeComision" visible="False">
|
||||
<label class="col-md-2 truncate ">Porcentaje de Comisión:</label>
|
||||
<div class="col-md-10">
|
||||
<asp:TextBox runat="server" Text="" ID="TxtPorcentajeComision" MaxLength="2"></asp:TextBox>
|
||||
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender9" runat="server" TargetControlID="TxtPorcentajeComision" FilterType="Numbers" BehaviorID="_content_SoloNumeros" />
|
||||
</div>
|
||||
</div>--%>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UpProyecto">
|
||||
<ContentTemplate>
|
||||
<div class="portlet smmallpadding light bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="tools">
|
||||
<a href="javascript;" data-idchekbox="C_chkexpand3" class=" collapse" data-original-title="" title=""></a><span class="hidden">
|
||||
<input id="C_chkexpand3" type="checkbox" name="ctl00$C$chkexpand" checked="checked"></span>
|
||||
</div>
|
||||
<div class="caption uppercase" style="position: relative;"><i class="fa fa-info-circle"></i> <asp:Label runat="server" ID="LblCentroCosto"></asp:Label> </div>
|
||||
</div>
|
||||
<div class="portlet-body rowpadding">
|
||||
<div class="row" id="DVddlproyecto" runat="server">
|
||||
<asp:Label runat="server" ID="LblProyecto" class="col-md-4 truncate">Proyecto:</asp:Label>
|
||||
<div class="col-md-8">
|
||||
<asp:DropDownList ID="DdlProyecto" runat="server" AppendDataBoundItems="true" DataTextField="Proyecto" DataValueField="CveProyecto" Class="table-group-action-input form-control input-inline input-sm select2me" Style="width: 200px;" ValidationGroup="GrpGuardar">
|
||||
<asp:ListItem Selected="True" Text="Sin Proyecto asignado" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
|
||||
<asp:RequiredFieldValidator ID="RFVDdlProyecto" runat="server" ControlToValidate="DdlProyecto" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="CVERFVDdlProyecto" runat="server" HighlightCssClass="vco" TargetControlID="RFVDdlProyecto" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="DVSubProyecto" runat="server" visible ="false">
|
||||
<asp:Label runat="server" ID="LblSubProyectoTitulo" class="col-md-4 truncate"></asp:Label>
|
||||
<asp:Label runat="server" ID="LblSubProyecto" class="col-md-8 truncate">:</asp:Label>
|
||||
</div>
|
||||
|
||||
|
||||
<%-- <div class="row">
|
||||
<label class="col-md-4 truncate">
|
||||
<asp:Label ID="lblsubproyecto" runat="server" Text="Proyecto Contrato:"></asp:Label></label><div class="col-md-8">
|
||||
<asp:DropDownList ID="DdlProyectoContrato" runat="server" AppendDataBoundItems="true" AutoPostBack="false" DataTextField="Proyecto" DataValueField="CveProyecto" Class="table-group-action-input form-control input-inline input-sm select2me" Style="width: 200px;" ValidationGroup="GrpGuardar">
|
||||
<asp:ListItem Selected="True" Text="Sin SubProyectoContrato asignado" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVProyecto" runat="server" ControlToValidate="DdlProyectoContrato" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="VCERFVProyecto" runat="server" HighlightCssClass="vco" TargetControlID="RFVProyecto" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>--%>
|
||||
|
||||
<%-- <div class="row" runat="server" id="dvAddendum">
|
||||
<label class="col-md-4 truncate">Addendum:</label>
|
||||
<div class="col-md-8">
|
||||
<asp:DropDownList ID="DdlContratoPadre" runat="server" AppendDataBoundItems="true" AutoPostBack="false" DataTextField="NumeroContrato" DataValueField="CveContrato" Class="table-group-action-input form-control input-inline input-sm select2me" Style="width: 200px;" ValidationGroup="GrpGuardar"></asp:DropDownList>
|
||||
</div>
|
||||
</div>--%>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="portlet smmallpadding light bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="tools">
|
||||
<a href="javascript;" data-idchekbox="C_chkexpand2" class=" collapse" data-original-title="" title=""></a><span class="hidden">
|
||||
<input id="C_chkexpand2" type="checkbox" name="ctl00$C$chkexpand" checked="checked"></span>
|
||||
</div>
|
||||
<div class="caption uppercase" style="position: relative;"><i class="fa fa-info-circle"></i>Información</div>
|
||||
</div>
|
||||
<div class="portlet-body rowpadding">
|
||||
<div class="row" id="TrCliente" runat="server" visible="False">
|
||||
<label class="col-md-2 truncate">
|
||||
<asp:Label ID="Label1" runat="server" Text="Cliente:"></asp:Label></label><div class="col-md-10">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="row" id="TrClienteSucursal" runat="server" visible="False">
|
||||
<label class="col-md-2 truncate">
|
||||
<asp:Label ID="Label2" runat="server" Text="Sucursal Cliente:"></asp:Label></label><div class="col-md-10">
|
||||
<asp:DropDownList ID="DdlSucursalCliente" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" DataTextField="SucursalCliente" DataValueField="CveClienteSucursal" Width="75%">
|
||||
<asp:ListItem Selected="true" Text="Matriz" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
<%-- <asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="row" id="DivVendedor" runat="server">
|
||||
<label class="col-md-2 truncate">
|
||||
<asp:Label ID="LblVendedor" runat="server" Text="Vendedor:"></asp:Label></label><div class="col-md-10">
|
||||
<asp:DropDownList ID="DdlVendedor" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" DataTextField="Vendedor" DataValueField="CveVendedor" Width="75%">
|
||||
<asp:ListItem Selected="true" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>--%>
|
||||
|
||||
|
||||
<%-- <asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="row" id="DivClienteDireccion" runat="server" visible="false">
|
||||
<label class="col-md-2 truncate">
|
||||
<asp:Label ID="LblClienteDireccion" runat="server" Text="Dirección Envío:"></asp:Label></label><div class="col-md-10">
|
||||
<asp:DropDownList ID="DdlClienteDireccionEnvio" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" DataTextField="DireccionEnvio" DataValueField="CveDireccionEnvio" Width="75%">
|
||||
<asp:ListItem Selected="true" Text="-" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row" id="TrCtaEquipo" runat="server" visible="False">
|
||||
<label class="col-md-2 truncate">
|
||||
<asp:Label ID="Label3" runat="server" Text="Cuenta Equipo:"></asp:Label></label><div class="col-md-10">
|
||||
<asp:DropDownList ID="DdlCuentaEquipo" runat="server" AppendDataBoundItems="True" DataTextField="devID" DataValueField="CveDispositivo" Class="table-group-action-input form-control input-inline input-sm select2me" Width="75%">
|
||||
<asp:ListItem Selected="true" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="TrContratoPlantilla" runat="server" visible="False">
|
||||
<label class="col-md-2 truncate">
|
||||
<asp:Label ID="Label4" runat="server" Text="Plantilla de Contrato:"></asp:Label></label><div class="col-md-10">
|
||||
<asp:DropDownList ID="DdlPlantillaContrato" AppendDataBoundItems="true" runat="server" DataValueField="CveContratoPlantilla" DataTextField="NombrePlantilla" CssClass="form-control select2me js-Impuesto-programmatic" Width="75%">
|
||||
<asp:ListItem Selected="true" Value="-1" Text="Seleccione"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="TrPeriodo" runat="server" visible="False">
|
||||
<label class="col-md-2 truncate">
|
||||
<asp:Label ID="Label5" runat="server" Text="Periodo:"></asp:Label></label><div class="col-md-10">
|
||||
<asp:DropDownList ID="DdlPeriodo" runat="server" AppendDataBoundItems="True" DataTextField="Nombre" DataValueField="CvePeriodo" Class="table-group-action-input form-control input-inline input-sm select2me" Width="75%">
|
||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>--%>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
|
||||
<label class="col-md-2 truncate">Tipo Contrato:</label>
|
||||
<div class="col-md-10">
|
||||
@@ -526,6 +438,81 @@
|
||||
<ajax:ValidatorCalloutExtender ID="VCOFechaFinal2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaFinal" Width="350px" BehaviorID="_content_VCOFechaFinal2"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UpProyecto">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="row" id="DVddlproyecto" runat="server">
|
||||
|
||||
<asp:Label runat="server" ID="LblProyecto" class="col-md-2 truncate">Proyecto:</asp:Label>
|
||||
<div class="col-md-10">
|
||||
<asp:DropDownList ID="DdlProyecto" runat="server" AppendDataBoundItems="true" DataTextField="Proyecto" DataValueField="CveProyecto" Class="table-group-action-input form-control input-inline input-sm select2me" Style="width: 200px;" ValidationGroup="GrpGuardar">
|
||||
<asp:ListItem Selected="True" Text="Sin Proyecto asignado" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
|
||||
<asp:RequiredFieldValidator ID="RFVDdlProyecto" runat="server" ControlToValidate="DdlProyecto" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||
<ajax:ValidatorCalloutExtender ID="CVERFVDdlProyecto" runat="server" HighlightCssClass="vco" TargetControlID="RFVDdlProyecto" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" id="DVSubProyecto" runat="server" visible="false">
|
||||
|
||||
<asp:Label runat="server" ID="LblSubProyectoTitulo" class="col-md-2 truncate"></asp:Label>
|
||||
<asp:Label runat="server" ID="LblSubProyecto" class="col-md-10 truncate"></asp:Label>
|
||||
</div>
|
||||
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="portlet smmallpadding light bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="tools">
|
||||
<a href="javascript;" data-idchekbox="C_chkexpand2" class=" collapse" data-original-title="" title=""></a><span class="hidden">
|
||||
<input id="C_chkexpand2" type="checkbox" name="ctl00$C$chkexpand" checked="checked"></span>
|
||||
</div>
|
||||
<div class="caption uppercase" style="position: relative;"><i class="fa fa-info-circle"></i>Información</div>
|
||||
</div>
|
||||
<div class="portlet-body rowpadding">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row" id="TrCliente" runat="server" visible="False">
|
||||
<label class="col-md-2 truncate">
|
||||
<asp:Label ID="Label1" runat="server" Text="Cliente:"></asp:Label></label><div class="col-md-10">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<asp:UpdatePanel runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="row" id="TrClienteSucursal" runat="server" visible="False">
|
||||
<label class="col-md-2 truncate">
|
||||
<asp:Label ID="Label2" runat="server" Text="Sucursal Cliente:"></asp:Label></label><div class="col-md-10">
|
||||
<asp:DropDownList ID="DdlSucursalCliente" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" DataTextField="SucursalCliente" DataValueField="CveClienteSucursal" Width="75%">
|
||||
<asp:ListItem Selected="true" Text="Matriz" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<label class="col-md-2 truncate">Moneda:</label>
|
||||
<div class="col-md-10">
|
||||
@@ -563,18 +550,7 @@
|
||||
<asp:TextBox ID="TxtPorGarantia" runat="server" MaxLength="12" Width="150px"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
<%-- <div class="row" id="DvMin" runat="server">
|
||||
<label class="col-md-2 truncate ">Minimo:</label>
|
||||
<div class="col-md-10">
|
||||
<asp:TextBox ID="txtMinimo" runat="server" MaxLength="12" Width="150px"></asp:TextBox><ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender3" runat="server" TargetControlID="txtMinimo" FilterType="Custom, Numbers" ValidChars=",." BehaviorID="_content_SoloNumeros" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="DvMax" runat="server">
|
||||
<label class="col-md-2 truncate ">Maximo:</label>
|
||||
<div class="col-md-10">
|
||||
<asp:TextBox ID="txtMaximo" runat="server" MaxLength="12" Width="150px"></asp:TextBox><ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender4" runat="server" TargetControlID="txtMaximo" FilterType="Custom, Numbers" ValidChars=",." BehaviorID="_content_SoloNumeros" />
|
||||
</div>
|
||||
</div>--%>
|
||||
|
||||
|
||||
<div class="row" runat="server">
|
||||
<label class="col-md-2 truncate ">% Limite de Gastos:</label>
|
||||
@@ -604,9 +580,17 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
|
||||
<div class="row" runat="server" id="RowEstatus">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
||||
|
||||
|
||||
<div class="col-md-6" runat="server" id="RowEstatus" >
|
||||
|
||||
<div class="row" >
|
||||
<div class="col-md-12">
|
||||
<div class="portlet smmallpadding light bordered">
|
||||
<div class="portlet-title">
|
||||
@@ -624,54 +608,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%-- <div class="row" runat="server" id="DivTipoGarantia">
|
||||
<label class="col-md-4 truncate">Tipo Garantía:</label>
|
||||
<div class="col-md-8">
|
||||
<asp:DropDownList ID="DdlTipoGarantia" runat="server" AppendDataBoundItems="True" Class="table-group-action-input form-control input-inline input-sm select2me" Style="width: 200px;" ValidationGroup="GrpGuardar">
|
||||
<asp:ListItem Text="Ninguno" Value="-1" Selected="True"></asp:ListItem>
|
||||
<asp:ListItem Text="Fianza" Value="1"></asp:ListItem>
|
||||
<asp:ListItem Text="Cheque" Value="2"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="DdlTipoGarantia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo Garantía''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator><ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="RFVEstatus" Width="300px" BehaviorID="_content_VCOEstatus"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>--%>
|
||||
|
||||
|
||||
<%-- <div class="row" style="display: none;">
|
||||
<label class="col-md-4 truncate">Estatus Fianza:</label>
|
||||
<div class="col-md-8">
|
||||
<asp:DropDownList ID="DdlEstatusFianza" runat="server" AppendDataBoundItems="True" Class="table-group-action-input form-control input-inline input-sm select2me" Style="width: 200px;" ValidationGroup="GrpGuardar">
|
||||
<asp:ListItem Text="Activa" Value="1" Selected="True"></asp:ListItem>
|
||||
<asp:ListItem Text="Liberada" Value="2"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="display: none;">
|
||||
<label class="col-md-4 truncate">Folio:</label>
|
||||
<div class="col-md-8">
|
||||
<asp:TextBox runat="server" ID="TxtFolio"></asp:TextBox>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="display: none;">
|
||||
<div class="col-md-4 truncate">
|
||||
Fecha Venc.:
|
||||
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
|
||||
<asp:TextBox Width="110px" ID="txtFechaVenc" 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="txtFechaVenc" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaVenc" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaVenc" Display="None" ErrorMessage="El campo <b>''Fecha Venc.''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
|
||||
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaVenc" Display="None" ErrorMessage="El campo <b>''Fecha Venc.''</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>
|
||||
@@ -679,59 +615,25 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%-- AGREGAR FIANZA --%>
|
||||
<%-- <div class="row" runat="server" id="DivFianzas">
|
||||
<div class="col-md-12">
|
||||
<div class="portlet smmallpadding light bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="tools">
|
||||
<a href="javascript;" data-idchekbox="C_chkexpand6" class=" collapse" data-original-title="" title=""></a><span class="hidden">
|
||||
<input id="C_chkexpand6" type="checkbox" name="ctl00$C$chkexpand" checked="checked"></span>
|
||||
</div>
|
||||
<div class="caption uppercase" style="position: relative;"><i class="fa fa-info-circle"></i>Fianzas</div>
|
||||
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
<asp:LinkButton ID="btnAgregarFianza" runat="server" OnClick="btnAgregarFianza_Click" data-toggle="tooltip" data-placement="right" title="" CssClass="btn btn-circle btn-default" Text="<i class='fa fa-plus'></i> Agregar"></asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body rowpadding">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12" style="text-align: center;">
|
||||
<asp:UpdatePanel ID="UpGvFianzas" runat="server" UpdateMode="Conditional">
|
||||
|
||||
<ContentTemplate>
|
||||
|
||||
<asp:GridView ID="GvFianzas" runat="server" OnRowDataBound="GvFianzas_RowDataBound" DataKeyNames="CveContratoFianza, Folio, CveEstatusFianza, EstatusFianza, FechaVencimiento,Adjunto" GridLines="None" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros" OnRowDeleting="GvFianzas_RowDeleting">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="Folio" HeaderText="Folio" ItemStyle-Width="25%" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="EstatusFianza" HeaderText="Estatus" ItemStyle-Width="25%" ItemStyle-HorizontalAlign="Left" />
|
||||
<asp:BoundField DataField="FechaVencimiento" HeaderText="Fecha Ven." ItemStyle-Width="25%" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
|
||||
|
||||
<asp:TemplateField ItemStyle-Width="25%" HeaderText="Acciones" ItemStyle-HorizontalAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="imgEFianzaGv" runat="server" Visible="true" AlternateText="Editar" OnClick="imgEFianzaGv_Click" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
|
||||
<asp:LinkButton ID="imgD" runat="server" Visible="true" AlternateText="Eliminar" 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="¿Desea eliminar esta fianza?" data-btn-ok-label="si" />
|
||||
<asp:LinkButton data-toggle="tooltip" ClientIDMode="AutoID" title="Descargar Adjunto" ToolTip="Descargar Adjunto" Visible="false" ID="LnkDescargaAdjunto" OnClick="LnkDescargaAdjunto_Click" CssClass="btn btn-circle btn-xs green " runat="server"><i class="fa fa-arrow-circle-down" aria-hidden="true"></i></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
<%-- <div class="row">
|
||||
<div class="col-md-12" style="vertical-align: middle;" align="center">
|
||||
<div style="z-index: 5; position: relative;">
|
||||
<div id="DivAdvertencia" clientidmode="Static" runat="server" class="alert alert-warning" style="padding: 5px; margin-bottom: 5px; padding-right: 25px;">
|
||||
<button type="button" class="close" data-dismiss="alert" style="margin-top: 5px;" aria-hidden="true"></button>
|
||||
<asp:Literal Text="En las observaciones se puede generar una plantilla a partir de diferentes etiquetas: {DIA},{MES},{AÑO},{TC}" runat="server" ID="LtlAdvertencia"></asp:Literal>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>--%>
|
||||
<%-- --%>
|
||||
|
||||
<div class="row" runat="server" id="Div4">
|
||||
<div class="col-md-12">
|
||||
</div>
|
||||
|
||||
<div runat="server" id="Div4" class="col-md-6" >
|
||||
|
||||
<div class="portlet smmallpadding light bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="tools">
|
||||
@@ -751,14 +653,7 @@
|
||||
|
||||
<button type="button" class="btn btn-primary" runat="server" clientidmode="Static" id="A1" data-toggle="modal" data-target="#ModalUpload" visible="true"><i class="fa fa-upload" aria-hidden="true"></i>Subir Archivo</button>
|
||||
|
||||
<%-- <a class="Texto" runat="server" clientidmode="Static" id="A1" data-toggle="modal" data-target="#ModalUpload" visible="true">
|
||||
<img id="ImgArchivo" runat="server" alt="Archivo" src="/Imagenes/attachment_icon.gif" style="width: 16px; height: 16px; border: 0px none white" />
|
||||
</a>--%>
|
||||
|
||||
|
||||
<%-- <a class="Texto" runat="server" clientidmode="Static" id="A2" target="_blank" visible="false">
|
||||
<img id="Img1" alt="Archivo" src="/Imagenes/descargar.png" style="width: 16px; height: 16px; border: 0px none white" />
|
||||
</a>--%>
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
<asp:PostBackTrigger ControlID="BtnDescargar" />
|
||||
@@ -768,73 +663,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12" style="vertical-align: middle;" align="center">
|
||||
<div style="z-index: 5; position: relative;">
|
||||
<div id="DivAdvertencia" clientidmode="Static" runat="server" class="alert alert-warning" style="padding: 5px; margin-bottom: 5px; padding-right: 25px;">
|
||||
<button type="button" class="close" data-dismiss="alert" style="margin-top: 5px;" aria-hidden="true"></button>
|
||||
<asp:Literal Text="En las observaciones se puede generar una plantilla a partir de diferentes etiquetas: {DIA},{MES},{AÑO},{TC}" runat="server" ID="LtlAdvertencia"></asp:Literal>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%-- <div class="row" runat="server" id="DivImpuestosLocales">
|
||||
<div class="col-md-12">
|
||||
<div class="portlet smmallpadding light bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="tools">
|
||||
<a href="javascript;" data-idchekbox="C_chkexpand4" class=" collapse" data-original-title="" title=""></a>
|
||||
<span class="hidden">
|
||||
<input id="C_chkexpand7" type="checkbox" name="ctl00$C$chkexpand" checked="checked">
|
||||
</span>
|
||||
</div>
|
||||
<div class="caption uppercase" style="position: relative;">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Impuestos Locales:</span>
|
||||
|
||||
<div class="row" id="RowImpuestosLocales" runat="server">
|
||||
<div class="col-md-10">
|
||||
<asp:CheckBox ID="ChkImpuestosLocales" AutoPostBack="True" OnCheckedChanged="ChkImpuestosLocales_CheckedChanged" runat="server"></asp:CheckBox>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body rowpadding">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:UpdatePanel ID="UpImpuestos" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:GridView ID="GvImpuestosLocales" ShowHeader="true" runat="server" horizontal-align="Right" GridLines="None" DataKeyNames="CveImpuestoLocal" CssClass="table table-striped table-hover Widthall" Visible="false" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="" ItemStyle-Width="25px">
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox runat="server" ID="ChkDeduccion" Checked='<%# Eval("Seleccionado") %>'></asp:CheckBox>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Impuesto" ItemStyle-Width="300px">
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="LtDeduccion" runat="server" Text='<%# Eval("ImpuestoLocal")%>'></asp:Literal>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Porcentaje" ItemStyle-Width="90px" ItemStyle-HorizontalAlign="Right">
|
||||
<ItemTemplate>
|
||||
<asp:Literal ID="LtPorcentaje" runat="server" Text='<%# Eval("Porcentaje", "{0:N4}%") %>'></asp:Literal>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>--%>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -357,6 +357,40 @@ Partial Class Contratos_ContratoObra
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
Property TotalAvanceVentas As Decimal
|
||||
Get
|
||||
|
||||
If ViewState("TotalAvanceVentas") Is Nothing Then
|
||||
Return 0D
|
||||
Else
|
||||
Return ViewState("TotalAvanceVentas").ToString.ToDecimal
|
||||
End If
|
||||
End Get
|
||||
Set(value As Decimal)
|
||||
ViewState("TotalAvanceVentas") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
Property TotalAvanceInterno As Decimal
|
||||
Get
|
||||
|
||||
If ViewState("TotalAvanceInterno") Is Nothing Then
|
||||
Return 0D
|
||||
Else
|
||||
Return ViewState("TotalAvanceInterno").ToString.ToDecimal
|
||||
End If
|
||||
End Get
|
||||
Set(value As Decimal)
|
||||
ViewState("TotalAvanceInterno") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||
@@ -417,6 +451,8 @@ Partial Class Contratos_ContratoObra
|
||||
|
||||
End If
|
||||
|
||||
Indicadores()
|
||||
|
||||
Else
|
||||
'Configuración de Modalidad Insert
|
||||
LblFechaCaptura.Text = Now.ToShortDateString()
|
||||
@@ -440,7 +476,7 @@ Partial Class Contratos_ContratoObra
|
||||
CargaPS()
|
||||
CargaPSInsumos()
|
||||
ConfiguraTipos()
|
||||
CargaDatosEncabezado()
|
||||
'CargaDatosEncabezado()
|
||||
|
||||
|
||||
End If
|
||||
@@ -620,9 +656,9 @@ Partial Class Contratos_ContratoObra
|
||||
DvTotal.Visible = True
|
||||
|
||||
|
||||
If CveContrato > 0 AndAlso CveTipoContrato <> 25 Then
|
||||
TableDatosCabecera.Visible = True
|
||||
End If
|
||||
'If CveContrato > 0 AndAlso CveTipoContrato <> 25 Then
|
||||
' TableDatosCabecera.Visible = True
|
||||
'End If
|
||||
|
||||
If CveTipoContrato = 25 Then
|
||||
|
||||
@@ -638,9 +674,9 @@ Partial Class Contratos_ContratoObra
|
||||
DvTotal.Visible = True
|
||||
|
||||
|
||||
If CveContrato > 0 AndAlso CveTipoContrato <> 25 Then
|
||||
TableDatosCabecera.Visible = True
|
||||
End If
|
||||
'If CveContrato > 0 AndAlso CveTipoContrato <> 25 Then
|
||||
' TableDatosCabecera.Visible = True
|
||||
'End If
|
||||
|
||||
|
||||
|
||||
@@ -668,8 +704,8 @@ Partial Class Contratos_ContratoObra
|
||||
msjpresupuestos.Visible = False
|
||||
|
||||
If ArchivoUpdate = ObjContratos.Archivo.ToString Then
|
||||
LinkArchivo.Visible = True
|
||||
LinkArchivo.HRef = String.Format("{0}{1}", Ruta, ObjContratos.Archivo.ToString)
|
||||
'LinkArchivo.Visible = True
|
||||
'LinkArchivo.HRef = String.Format("{0}{1}", Ruta, ObjContratos.Archivo.ToString)
|
||||
End If
|
||||
Titulo = $"{ObjContratos.NumeroContrato} - {ObjContratos.DescripcionContrato} ({ObjContratos.DtResultados.Rows(0)("ContratoTipo")})"
|
||||
TituloCorto = $"{ObjContratos.NumeroContrato} - {ObjContratos.DescripcionContrato} "
|
||||
@@ -719,7 +755,7 @@ Partial Class Contratos_ContratoObra
|
||||
TabPVInsumos.Visible = False
|
||||
RowEstatus.Visible = False
|
||||
TabPres.HeaderText = "Partidas"
|
||||
TableDatosCabecera.Visible = False
|
||||
'TableDatosCabecera.Visible = False
|
||||
TabAvanveDocumento.Visible = False
|
||||
TabSistema.Visible = False
|
||||
TabContratosGastos.Visible = False
|
||||
@@ -863,8 +899,14 @@ Partial Class Contratos_ContratoObra
|
||||
UpGV.Update()
|
||||
UpGVInsumos.Update()
|
||||
UPGVInt.Update()
|
||||
|
||||
|
||||
TotalAvanceVentas = TmpDT.FiltraParametros("CveTipoPresupuesto=2").SUM("Total").ToDecimal
|
||||
TotalAvanceInterno = TmpDT.FiltraParametros("CveTipoPresupuesto=1").SUM("Total").ToDecimal
|
||||
|
||||
LbTotalGeneral.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=2").SUM("Total").FormatoNumero()
|
||||
LbTotalGeneralInsumos.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=1").SUM("Total").FormatoNumero()
|
||||
|
||||
LbTotalGeneralInt.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=1").SUM("Total").FormatoNumero()
|
||||
'LblImporte.Text = "$" & TmpDT.FiltraParametros("CveTipoPresupuesto=2").SUM("Total").FormatoNumero()
|
||||
End If
|
||||
@@ -1116,7 +1158,7 @@ Partial Class Contratos_ContratoObra
|
||||
LblProyecto.Visible = True
|
||||
|
||||
|
||||
LblCentroCosto.Text = LblSubProyectoTitulo.Text
|
||||
'LblCentroCosto.Text = LblSubProyectoTitulo.Text
|
||||
LblSubProyectoTitulo.Text = LblSubProyectoTitulo.Text & ":"
|
||||
|
||||
'If UsuarioActual.Empresa.GralSoloProyecto Then
|
||||
@@ -2846,16 +2888,16 @@ Partial Class Contratos_ContratoObra
|
||||
|
||||
|
||||
|
||||
Public Sub CargaDatosEncabezado()
|
||||
'Public Sub CargaDatosEncabezado()
|
||||
|
||||
TablaUtilidad.Visible = True
|
||||
LblUtilidad.Text = $"$ {(SumaAvance - SumaGasto).ToString.FormatoNumero()}"
|
||||
' TablaUtilidad.Visible = True
|
||||
' LblUtilidad.Text = $"$ {(SumaAvance - SumaGasto).ToString.FormatoNumero()}"
|
||||
|
||||
If (SumaAvance - SumaGasto) < 0 Then LblUtilidad.ForeColor = Drawing.Color.Red
|
||||
LblFacturado.Text = SumaAvance.FormatoNumero
|
||||
LblPorFacturar.Text = (LblImporte.Text.ToDouble - SumaAvance).FormatoNumero
|
||||
' If (SumaAvance - SumaGasto) < 0 Then LblUtilidad.ForeColor = Drawing.Color.Red
|
||||
' LblFacturado.Text = SumaAvance.FormatoNumero
|
||||
' LblPorFacturar.Text = (LblImporte.Text.ToDouble - SumaAvance).FormatoNumero
|
||||
|
||||
End Sub
|
||||
'End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
@@ -3065,173 +3107,7 @@ Partial Class Contratos_ContratoObra
|
||||
Return dataTable
|
||||
End Function
|
||||
|
||||
'Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String)
|
||||
' Dim dt As New DataTable
|
||||
' dt = ReadExcelFile(Ruta + FileName, True)
|
||||
' Dim ErrorArchivo = False
|
||||
|
||||
' 'Dim Conexion As Odbc.OdbcConnection = Nothing
|
||||
' 'Try
|
||||
' ' Select Case Tipo
|
||||
' ' Case "EXCEL"
|
||||
' ' Conexion = New Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + Ruta + FileName + ";")
|
||||
' ' Conexion.Open()
|
||||
' ' Dim cmd = Conexion.CreateCommand()
|
||||
' ' cmd.CommandType = CommandType.Text
|
||||
' ' cmd.CommandText = "SELECT * FROM [Hoja1$]"
|
||||
' ' Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd)
|
||||
' ' DataAdapter.Fill(dt)
|
||||
' ' Case Else
|
||||
' ' Alert("El archivo no tiene el formato correcto", TipoMensaje.MsgError)
|
||||
' ' Exit Sub
|
||||
' ' End Select
|
||||
' 'Catch ex As Exception
|
||||
' ' ErrorArchivo = True
|
||||
' ' OnError("Ocurrio un error al leer el archivo <br/>" & ex.Message, ex)
|
||||
' 'End Try
|
||||
' 'Conexion.Close()
|
||||
' If Not ErrorArchivo AndAlso dt IsNot Nothing Then
|
||||
' If Not dt.Columns(0).ColumnName = "OC Interna" Then
|
||||
' Alert("El nombre de la primera columna debe ser 'OC Interna'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
' Exit Sub
|
||||
' End If
|
||||
' If Not dt.Columns(1).ColumnName = "Cantidad" Then
|
||||
' Alert("El nombre de la primera columna debe ser 'Cantidad'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
' Exit Sub
|
||||
' End If
|
||||
' If Not dt.Columns(2).ColumnName = "Clave Interna Cliente" Then
|
||||
' Alert("El nombre de la segunda columna debe ser 'Clave Interna'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
' Exit Sub
|
||||
' End If
|
||||
' If Not dt.Columns(3).ColumnName = "Código" Then
|
||||
' Alert("El nombre de la tercera columna debe ser 'Código'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
' Exit Sub
|
||||
' End If
|
||||
' If Not dt.Columns(4).ColumnName = "Código Barras" Then
|
||||
' Alert("El nombre de la cuarta columna debe ser 'Código Barras'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
' Exit Sub
|
||||
' End If
|
||||
' If Not dt.Columns(5).ColumnName = "Producto/Servicio" Then
|
||||
' Alert("El nombre de la quinta columna debe ser 'Producto/Servicio'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
' Exit Sub
|
||||
' End If
|
||||
' If Not dt.Columns(6).ColumnName = "UM" Then
|
||||
' Alert("El nombre de la sexta columna debe ser 'U.M'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
' Exit Sub
|
||||
' End If
|
||||
' If Not dt.Columns(7).ColumnName = "Precio Unitario" Then
|
||||
' Alert("El nombre de la septima columna debe ser 'Precio Unitario'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
' Exit Sub
|
||||
' End If
|
||||
|
||||
' dt.TableName = "Datos"
|
||||
|
||||
' If Not ErrorArchivo Then
|
||||
' NumRow = 1
|
||||
' Dim RowNoEncontrados As String = String.Empty
|
||||
' Dim NumAgregados As Integer = 0
|
||||
' For Each Row As DataRow In dt.Rows
|
||||
' Dim Cantidad As Integer = Row("Cantidad").ToString.ToEntero
|
||||
' Dim Codigo As String = Row("Código").ToString.Trim.ToUpper
|
||||
' Dim CodigoBarras As String = Row("Código Barras").ToString.Trim.ToUpper
|
||||
' Dim UM As String = Row("UM").ToString
|
||||
' Dim ClaveInterna As String = Row("Clave Interna Cliente").ToString.Trim.ToUpper
|
||||
' Dim OCInterna As String = Row("OC Interna").ToString.Trim.ToUpper
|
||||
' Dim ProductoServicio As String = Row("Producto/Servicio").ToString.Trim.ToUpper
|
||||
' Dim PrecioUnitario As Double = Row("Precio Unitario").ToString.ToDouble
|
||||
' Dim CvePS As Integer = 0
|
||||
' Dim CveUM As Integer = 0 ' GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida", $"CvePS = '{CvePS}'").ToString.ToEntero
|
||||
' Dim CodigoPS As Integer = 0
|
||||
' Dim Total As Double = (Cantidad * PrecioUnitario)
|
||||
|
||||
|
||||
' NumRow = NumRow + 1
|
||||
|
||||
' If Codigo.Length > 0 Then
|
||||
' Dim StrArray() As String = GetPS("Codigo", Codigo).Split("|"c)
|
||||
' If StrArray.Length > 0 Then
|
||||
' If CBool(StrArray(0)) = True Then
|
||||
' CvePS = StrArray(1).ToEntero
|
||||
' Else
|
||||
' RowNoEncontrados &= StrArray(1) & "<\BR>"
|
||||
' End If
|
||||
' End If
|
||||
' ElseIf CodigoBarras.Length > 0 Then
|
||||
' Dim StrArray() As String = GetPS("CodigoBarras", CodigoBarras).Split("|"c)
|
||||
' If StrArray.Length > 0 Then
|
||||
' If CBool(StrArray(0)) = True Then
|
||||
' CvePS = StrArray(1).ToEntero
|
||||
' Else
|
||||
' RowNoEncontrados &= StrArray(1) & "<\BR>"
|
||||
' End If
|
||||
' End If
|
||||
' ElseIf ProductoServicio.Length > 0 Then
|
||||
' Dim StrArray() As String = GetPS("PS", ProductoServicio).Split("|"c)
|
||||
' If StrArray.Length > 0 Then
|
||||
' If CBool(StrArray(0)) = True Then
|
||||
' CvePS = StrArray(1).ToEntero
|
||||
' Else
|
||||
' RowNoEncontrados &= StrArray(1) & "<\BR>"
|
||||
' End If
|
||||
' End If
|
||||
' Else
|
||||
' RowNoEncontrados &= "<\BR> - En la fila " & NumRow & " no se especificó código, código de barras ó descripción."
|
||||
' End If
|
||||
' CveUM = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveUnidadMedida", "").ToString.ToEntero
|
||||
|
||||
' If TmpDT IsNot Nothing AndAlso CvePS > 0 Then
|
||||
' Dim dr As DataRow = TmpDT.NewRow
|
||||
' dr("Cantidad") = Cantidad
|
||||
' dr("CantidadContratada") = Cantidad
|
||||
' dr("CveUM") = CveUM
|
||||
' dr("UM") = UM
|
||||
' dr("CveClasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveClasificacion", "").ToString.ToEntero
|
||||
' dr("Clasificacion") = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $"CveClasificacion = '{dr("CveClasificacion")}'").ToString
|
||||
' dr("CvePS") = CvePS
|
||||
' dr("PS") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=dr("CvePS").ToString.ToEntero).FiltroPrimeroValor("PS", "").ToString
|
||||
' dr("CodigoPS") = dr("PS")
|
||||
' dr("PU") = PrecioUnitario
|
||||
' dr("Total") = Cantidad * PrecioUnitario
|
||||
' dr("CveTipoPresupuesto") = 2
|
||||
' dr("NoIdentificacion") = ClaveInterna
|
||||
' dr("OCInterna") = OCInterna
|
||||
' dr("LimitarCantidad") = 0
|
||||
|
||||
' If CvePS > 0 Then
|
||||
' Dim ObjContratos As New ClsContratos
|
||||
' If ObjContratos.AddContratosDetalle(CveContrato, dr("CvePS").ToString.ToEntero, dr("Cantidad").ToString.ToDouble, dr("PU").ToString.ToDouble, UsuarioActual.CveUsuario, dr("CveTipoPresupuesto").ToString.ToEntero, dr("NoIdentificacion").ToString, dr("LimitarCantidad").ToString.ToEntero = 1, dr("OCInterna").ToString) Then
|
||||
' Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", dr("Cantidad"), dr("UM"), dr("PS"), dr("PU"))
|
||||
' guardarBitacora(msj)
|
||||
' dr("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
|
||||
' TmpDT.Rows.Add(dr)
|
||||
' Dim TotalRow = dr("Total").ToString.ToDouble
|
||||
|
||||
' CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
||||
' LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero
|
||||
' LblImporte.Text = LbTotalGeneral.Text
|
||||
' Else
|
||||
' Alert("Ocurrio un error al agregar el detalle", TipoMensaje.MsgError)
|
||||
' End If
|
||||
' ObjContratos.Dispose()
|
||||
' End If
|
||||
|
||||
|
||||
' End If
|
||||
' Next
|
||||
' 'Cargo el GridView
|
||||
' Gv.DataSource = TmpDT
|
||||
' Gv.DataBind()
|
||||
' UpGV.Update()
|
||||
|
||||
|
||||
' If RowNoEncontrados.Length > 0 Then
|
||||
' Alert("Los siguientes Productos o Servicios no se encontraron en la Base de Datos.<\BR>" & RowNoEncontrados, TipoMensaje.MsgAdvertencia)
|
||||
' Else
|
||||
' Alert("Se Cargaron " & NumRow & " Productos o Servicios correctamente.")
|
||||
' End If
|
||||
' End If
|
||||
' End If
|
||||
'End Sub
|
||||
|
||||
Private Function GetPS(Opt As String, Valor As String) As String
|
||||
Dim StrReturn As String = String.Empty
|
||||
@@ -3260,34 +3136,7 @@ Partial Class Contratos_ContratoObra
|
||||
|
||||
#End Region
|
||||
|
||||
#Region " GPS "
|
||||
'Private Sub CargaCuentasEquipos()
|
||||
|
||||
' Dim GPS As New ClsGPS
|
||||
' If GPS.DispositivosGet(-1, -1, DdlCliente.SelectedValue.ToEntero) Then
|
||||
' DdlCuentaEquipo.DataSource = GPS.DtResultados
|
||||
' Else
|
||||
' DdlCuentaEquipo.DataSource = Nothing
|
||||
' End If
|
||||
' GPS.Dispose()
|
||||
' DdlCuentaEquipo.DataBind()
|
||||
' UpGral.Update()
|
||||
|
||||
'End Sub
|
||||
|
||||
'Private Sub CargaPeriodos()
|
||||
' Dim ObjContratos As New ClsContratos
|
||||
' If ObjContratos.GetPeriodos(-1, UsuarioActual.CveEmpresa) Then
|
||||
' DtPeriodo = ObjContratos.DtResultados
|
||||
' Else
|
||||
' DtPeriodo = Nothing
|
||||
' End If
|
||||
' DdlPeriodo.DataSource = DtPeriodo
|
||||
' ObjContratos.Dispose()
|
||||
' DdlPeriodo.DataBind()
|
||||
' UpGral.Update()
|
||||
'End Sub
|
||||
#End Region
|
||||
|
||||
#Region " IMPRESION "
|
||||
|
||||
@@ -3322,57 +3171,7 @@ Partial Class Contratos_ContratoObra
|
||||
ImprimirPDF("Empresas/Grales/Formatos/RepContratoAvanceDocumento.rdlc", dt, params, $"{Nombre}-AvanceDocumento", Formato:=Formato)
|
||||
End Sub
|
||||
|
||||
'Private Sub LBImprimirInformacionG_Click(sender As Object, e As EventArgs) Handles LBImprimirInformacionG.Click
|
||||
' 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 = DtAvanceDocumento
|
||||
' 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("Contrato", Titulo))
|
||||
' 'DATOS DEL CONTRATO
|
||||
' params.Add(New ReportParameter("NoContrato", TxtNumeroContrato.Text.Trim))
|
||||
' params.Add(New ReportParameter("Descripcion", TxtDescripcionContrato.Text.Trim))
|
||||
' params.Add(New ReportParameter("Proveedor", If(TrProveedor.Visible = True, DdlContratista.SelectedItem.Text.Trim, "-")))
|
||||
' params.Add(New ReportParameter("Ubicacion", TxtUbicacion.Text.Trim))
|
||||
' params.Add(New ReportParameter("Responsable", TxtResponsable.Text.Trim))
|
||||
' params.Add(New ReportParameter("Almacen", "-"))
|
||||
' params.Add(New ReportParameter("Porcentaje", "-"))
|
||||
' 'CENTRO DE COSTOS
|
||||
' params.Add(New ReportParameter("Proyecto", If(DVddlproyecto.Visible = True, DdlProyecto.SelectedItem.Text.Trim, "-")))
|
||||
' params.Add(New ReportParameter("SubProyecto", CveSubProyecto.ToString))
|
||||
' params.Add(New ReportParameter("Addendum", ""))
|
||||
' 'INFORMACION
|
||||
' params.Add(New ReportParameter("Cliente", If(TrCliente.Visible = True, DdlCliente.SelectedItem.Text.Trim, "-")))
|
||||
' params.Add(New ReportParameter("Sucursal", If(TrClienteSucursal.Visible = True, DdlSucursalCliente.SelectedItem.Text.Trim, "-")))
|
||||
' params.Add(New ReportParameter("FechaInicial", TxtFechaInicial.Text.Trim))
|
||||
' params.Add(New ReportParameter("FechaFinal", TxtFechaFinal.Text.Trim))
|
||||
' params.Add(New ReportParameter("Moneda", DdlMoneda.SelectedItem.Text.Trim))
|
||||
' params.Add(New ReportParameter("TipoCambio", If(tipoCambio.Visible = True, TxtTipoCambio.Text.Trim, "-")))
|
||||
' params.Add(New ReportParameter("IVA", TxtPorIVA.Text.Trim))
|
||||
' params.Add(New ReportParameter("Anticipo", TxtPorAnticipo.Text.Trim))
|
||||
' params.Add(New ReportParameter("Amortizacion", TxtPorAmortizacionAnticipo.Text.Trim))
|
||||
' params.Add(New ReportParameter("Garantia", TxtPorGarantia.Text.Trim))
|
||||
' params.Add(New ReportParameter("Minimo", "-"))
|
||||
' params.Add(New ReportParameter("Maximo", "-"))
|
||||
' params.Add(New ReportParameter("Total", If(DvTotal.Visible = True, TxtTotal.Text.Trim, "-")))
|
||||
' 'Estatus
|
||||
' params.Add(New ReportParameter("Estatus", DdlEstatus.SelectedItem.Text.Trim))
|
||||
' params.Add(New ReportParameter("TipoGarantia", ""))
|
||||
' params.Add(New ReportParameter("EstatusFianza", ""))
|
||||
' params.Add(New ReportParameter("Folio", "0"))
|
||||
' params.Add(New ReportParameter("FechaVencimiento", ""))
|
||||
|
||||
' If Imagen.Exists Then
|
||||
' params.Add(New ReportParameter("LogoPath", logouri))
|
||||
' Else
|
||||
' params.Add(New ReportParameter("LogoPath", ""))
|
||||
' End If
|
||||
' ImprimirPDF("Empresas/Grales/Formatos/Contrato.rdlc", dt, params, $"Contrato-{Titulo}", Formato:="PDF")
|
||||
|
||||
'End Sub
|
||||
|
||||
|
||||
#End Region
|
||||
@@ -3385,7 +3184,7 @@ Partial Class Contratos_ContratoObra
|
||||
|
||||
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 UtilidadGastos As String = IIf(LblUtilidad.Text <> "", LblUtilidad.Text, "-").ToString
|
||||
' Dim UtilidadGastos As String = IIf(LblUtilidad.Text <> "", LblUtilidad.Text, "-").ToString
|
||||
|
||||
|
||||
Dim dt As DataTable = DtGastos
|
||||
@@ -3401,7 +3200,7 @@ Partial Class Contratos_ContratoObra
|
||||
params.Add(New ReportParameter("FechaFin", TxtFechaFinal.Text.Trim))
|
||||
params.Add(New ReportParameter("TipoContrato", TipoDocumento))
|
||||
params.Add(New ReportParameter("TotalContrato", LblImporte.Text))
|
||||
params.Add(New ReportParameter("Utilidad", UtilidadGastos))
|
||||
' params.Add(New ReportParameter("Utilidad", UtilidadGastos))
|
||||
|
||||
If Imagen.Exists Then
|
||||
params.Add(New ReportParameter("LogoPath", logouri))
|
||||
@@ -3899,55 +3698,8 @@ Partial Class Contratos_ContratoObra
|
||||
'BtnGuardarFianza.Text = "Guardar"
|
||||
UPModalFianza.Update()
|
||||
Me.RegistraScript("$('#DvModalFianza').modal();")
|
||||
'GvFianzas.DataSource = DtTmpFianzas
|
||||
'GvFianzas.DataBind()
|
||||
'UpGvFianzas.Update()
|
||||
|
||||
End Sub
|
||||
'Protected Sub BtnGuardarFianza_Click(sender As Object, e As EventArgs)
|
||||
|
||||
' Dim dr As DataRow = DtTmpFianzas.NewRow()
|
||||
|
||||
' Dim Folio As String = txtFolioFianza.Text
|
||||
' Dim CveEstatus As Integer = DdlFianza.SelectedValue.ToEntero()
|
||||
' Dim Estatus As String = DdlFianza.SelectedItem.Text
|
||||
|
||||
' Dim TieneError As Boolean = False
|
||||
|
||||
' Dim Adjunto As String = ""
|
||||
' If TxtModalAdjuntoArchivo.getfiles.Archivos.Count > 0 Then
|
||||
' Dim ArchivoAdjunto As Archivo = TxtModalAdjuntoArchivo.getfiles.Archivos(0)
|
||||
' Adjunto = ArchivoAdjunto.filenameO
|
||||
' End If
|
||||
|
||||
|
||||
' If EsEditarFianza Then
|
||||
' DtTmpFianzas.Rows.RemoveAt(IndexFianzaEditar)
|
||||
' dr("CveContratoFianza") = GvFianzas.Rows(IndexFianzaEditar).DataKey("CveContratoFianza").ToString
|
||||
' dr("Folio") = Folio
|
||||
' dr("EstatusFianza") = Estatus
|
||||
' dr("CveEstatusFianza") = CveEstatus
|
||||
' dr("FechaVencimiento") = txtFechaVenFianza.Text
|
||||
' dr("Adjunto") = If(Adjunto = "", GvFianzas.Rows(IndexFianzaEditar).DataKey("Adjunto").ToString, Adjunto)
|
||||
' Else
|
||||
' dr("CveContratoFianza") = "-1"
|
||||
' dr("Folio") = Folio
|
||||
' dr("EstatusFianza") = Estatus
|
||||
' dr("CveEstatusFianza") = CveEstatus
|
||||
' dr("FechaVencimiento") = txtFechaVenFianza.Text
|
||||
' dr("Adjunto") = Adjunto
|
||||
' End If
|
||||
|
||||
' DtTmpFianzas.Rows.Add(dr)
|
||||
' GuardaAdjunto($"{Folio} - {txtFechaVenFianza.Text}")
|
||||
|
||||
' GvFianzas.DataSource = DtTmpFianzas
|
||||
' GvFianzas.DataBind()
|
||||
' UpGvFianzas.Update()
|
||||
|
||||
' LimpiarCamposModalFianzas()
|
||||
' Me.RegistraScript("$('#DvModalFianza').modal('hide');")
|
||||
|
||||
'End Sub
|
||||
|
||||
|
||||
|
||||
@@ -3973,38 +3725,12 @@ Partial Class Contratos_ContratoObra
|
||||
Alert("Ocurrió un error al guardar el archivo Adjunto. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
||||
End Try
|
||||
End Sub
|
||||
'Private Sub DescargarAdjunto()
|
||||
' Dim filename As String = GvFianzas.Rows(IndexFianzaEditar).DataKey("Adjunto").ToString
|
||||
' If Not String.IsNullOrEmpty(filename) Then
|
||||
' Dim rutaAplicacion As String = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath)
|
||||
' Dim Path As String = String.Format("{0}\\{1}\\{2}\\{3}", UsuarioActual.Empresa.Ruta, "Contratos", "Fianzas", $"{GvFianzas.Rows(IndexFianzaEditar).DataKey("Folio").ToString} - {GvFianzas.Rows(IndexFianzaEditar).DataKey("FechaVencimiento").ToDate.ToShortDateString}")
|
||||
' Dim ArchivoDestino As String = String.Format("{0}\\{1}", Path, GvFianzas.Rows(IndexFianzaEditar).DataKey("Adjunto").ToString)
|
||||
' Dim toDownload As System.IO.FileInfo = New System.IO.FileInfo(ArchivoDestino)
|
||||
' If toDownload.Exists Then
|
||||
' Response.ClearContent()
|
||||
' Response.ClearHeaders()
|
||||
' Response.AddHeader("Content-Disposition", "attachment; filename=" + filename)
|
||||
' Response.ContentType = "application/octet-stream"
|
||||
' Response.WriteFile(ArchivoDestino)
|
||||
' Response.Flush()
|
||||
' Response.Close()
|
||||
' Response.End()
|
||||
' HttpContext.Current.ApplicationInstance.CompleteRequest()
|
||||
' End If
|
||||
' End If
|
||||
'End Sub
|
||||
|
||||
|
||||
Protected Sub LnkDescargar_Click(sender As Object, e As EventArgs)
|
||||
'DescargarAdjunto()
|
||||
End Sub
|
||||
'Protected Sub GvFianzas_RowDeleting(sender As Object, e As GridViewDeleteEventArgs)
|
||||
|
||||
' DtTmpFianzas.Rows.RemoveAt(e.RowIndex)
|
||||
' GvFianzas.DataSource = DtTmpFianzas
|
||||
' GvFianzas.DataBind()
|
||||
' UpGvFianzas.Update()
|
||||
|
||||
'End Sub
|
||||
Protected Sub imgEFianzaGv_Click(sender As Object, e As EventArgs)
|
||||
LimpiarCamposModalFianzas()
|
||||
EsEditarFianza = True
|
||||
@@ -4019,12 +3745,10 @@ Partial Class Contratos_ContratoObra
|
||||
LnkDescargar.Visible = GvRow.DataKey("Adjunto").ToString <> ""
|
||||
|
||||
txth4Fianza.InnerText = "Editar Fianza"
|
||||
'BtnGuardarFianza.Text = "Actualizar"
|
||||
|
||||
UPModalFianza.Update()
|
||||
Me.RegistraScript("$('#DvModalFianza').modal();")
|
||||
'GvFianzas.DataSource = DtTmpFianzas
|
||||
'GvFianzas.DataBind()
|
||||
'UpGvFianzas.Update()
|
||||
|
||||
End Sub
|
||||
Protected Sub CreaDtTmpFianzas()
|
||||
DtTmpFianzas = New DataTable()
|
||||
@@ -4039,9 +3763,6 @@ Partial Class Contratos_ContratoObra
|
||||
|
||||
DtTmpFianzasInicial = DtTmpFianzas.Copy
|
||||
|
||||
'GvFianzas.DataSource = DtTmpFianzas
|
||||
'GvFianzas.DataBind()
|
||||
'UpGvFianzas.Update()
|
||||
End Sub
|
||||
|
||||
Protected Function GuardaFianzas(ObjContrato As ClsContratos) As Boolean
|
||||
@@ -4853,9 +4574,65 @@ Partial Class Contratos_ContratoObra
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Indicadores()
|
||||
|
||||
|
||||
|
||||
Dim Con As New ClsContratos
|
||||
Dim DTDatos As New DataTable
|
||||
|
||||
If Con.GetContratosObraRepAvances(MinFecha, MaxFecha, DdlCliente.SelectedValue.ToEntero, CveContrato, UsuarioActual.CveEmpresa) Then
|
||||
DTDatos = Con.DtResultados
|
||||
End If
|
||||
|
||||
Con.Dispose()
|
||||
|
||||
|
||||
If DTDatos.Rows.Count > 0 Then
|
||||
|
||||
Dim CantidadAvance As Decimal = DTDatos.Rows(0)("Cantidad").ToString.ToDecimal
|
||||
Dim ImporteAvance As Decimal = DTDatos.Rows(0)("AvanceImporte").ToString.ToDecimal
|
||||
Dim TotalAvancePorcentaje As Decimal = (ImporteAvance * 100 / TotalAvanceVentas).RoundSQL(2)
|
||||
|
||||
Dim CantidadInterno As Decimal = DTDatos.Rows(0)("CantidadInterno").ToString.ToDecimal
|
||||
Dim ImporteInterno As Decimal = DTDatos.Rows(0)("ImporteInterno").ToString.ToDecimal
|
||||
Dim TotalFaltantePorcentaje As Decimal = (ImporteInterno * 100 / TotalAvanceInterno).RoundSQL(2)
|
||||
|
||||
|
||||
LtlAvanceImporte.Text = $"$ { ImporteAvance.ToString("###,###,###.00") }"
|
||||
LtlAvanceImporteProcentaje1.Text = $"{TotalAvancePorcentaje.ToString("###.00")} %"
|
||||
LtlAvanceImporteProcentaje2.Text = $"{TotalAvancePorcentaje.ToString("###.00")}%"
|
||||
SPAvance1.Attributes.Add("style", $"width:{TotalAvancePorcentaje.ToString.ToEntero}%")
|
||||
|
||||
|
||||
LtlAvanceInternoImporte.Text = $"$ {DTDatos.Rows(0)("ImporteInterno").ToString.ToDecimal.ToString("###,###,###.00")}"
|
||||
LtlAvanceInternoImportePorcentaje1.Text = $"{TotalFaltantePorcentaje.ToString("###.00")} %"
|
||||
LtlAvanceInternoImportePorcentaje2.Text = $"{TotalFaltantePorcentaje.ToString("###.00")}%"
|
||||
SPFaltante.Attributes.Add("style", $"width:{TotalFaltantePorcentaje.ToString.ToEntero}%")
|
||||
|
||||
End If
|
||||
|
||||
|
||||
'Dim TotalContratos As Decimal = DTDatos.SUM("Importe")
|
||||
'Dim TotalAvance As Decimal = DTDatos.SUM("AvanceImporte")
|
||||
'Dim TotalFaltante As Decimal = TotalContratos - TotalAvance
|
||||
|
||||
|
||||
'Dim TotalAvancePorcentaje As Decimal = ((TotalAvance * 100) / TotalContratos).RoundAD(2)
|
||||
'Dim TotalFaltantePorcentaje As Decimal = (100 - TotalAvancePorcentaje).RoundAD(2)
|
||||
|
||||
|
||||
' LtlGrafNumeroContratos.Text = NumeroContratos.ToString
|
||||
'LtlGrafTotal.Text = TotalContratos.ToString("###,###,###.00")
|
||||
|
||||
|
||||
DVGraficas.Visible = True
|
||||
|
||||
UpGrafica.Update()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
324
Contratos/ContratoObraAutorizacion.aspx
Normal file
324
Contratos/ContratoObraAutorizacion.aspx
Normal file
@@ -0,0 +1,324 @@
|
||||
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="ContratoObraAutorizacion.aspx.vb" Inherits="Contratos_ContratoObraAutorizacion" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
|
||||
<style>
|
||||
table.GVEstimacion{
|
||||
width:100%;
|
||||
}
|
||||
.txtimporte{
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.txtcant,.txtimporte,
|
||||
table.GVEstimacion > tbody > tr > td,
|
||||
table.GVEstimacion > tbody > tr > th{
|
||||
text-align:right;
|
||||
}
|
||||
table.GVEstimacion > tbody > tr > th,
|
||||
table.GVEstimacion > tbody > tr > td{
|
||||
width:100px;
|
||||
}
|
||||
table.GVEstimacion > tbody > tr > th:nth-child(1),
|
||||
table.GVEstimacion > tbody > tr > td:nth-child(1){
|
||||
width:300px;
|
||||
text-align:left;
|
||||
}
|
||||
.ddls {
|
||||
max-width:220px;
|
||||
}
|
||||
.linkfile input{
|
||||
display:none
|
||||
}
|
||||
</style>
|
||||
|
||||
<link href="/Metronic/assets/global/plugins/dropzone/css/dropzone.css" rel="stylesheet"/>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
|
||||
</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">
|
||||
|
||||
|
||||
<ajax:TabContainer ID="Tab" runat="server" Width="100%" CssClass="tabBodyOverride" ActiveTabIndex="0">
|
||||
|
||||
|
||||
|
||||
<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" 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="CveContratoAvance,CveFamilias,CveSubFamilias,CveContratoDetalle,PS,Cantidad,Importe,Cantidad_Ultima,Importe_Ultima,PU,CantidadMax,Avance,Fecha"
|
||||
CssClass="table GVEstimacion table-advance table-hover mysmallbtn" GridLines="None">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="" ItemStyle-Width="60%">
|
||||
<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="Acciones">
|
||||
<ItemTemplate>
|
||||
|
||||
<table style="width:120px!important">
|
||||
<tr>
|
||||
<td>
|
||||
<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>" Visible="false" />
|
||||
</td>
|
||||
<td>
|
||||
<asp:LinkButton ID="LnkEliminarAvance" runat="server" OnClick="LnkEliminarAvance_Click" AlternateText="Agregar Anexo" Visible="false"
|
||||
CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Confimra la elimiancion del avance?" data-btn-ok-label="si"
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
|
||||
|
||||
|
||||
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="text-center">
|
||||
|
||||
<asp:Button id="BtnAutoriza" CssClass="btn btn-primary" runat="server" Text="Autorizar" Visible="false"/>
|
||||
<asp:Button id="BtnGuardarEstimacion" CssClass="btn btn-primary" runat="server" Text="Generar Estimacion" Visible="false"/>
|
||||
<asp:Button id="BtnDescargarGenerado" CssClass="btn btn-primary" runat="server" Text="Descarga Generador" Visible="false"/>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
<Triggers>
|
||||
<asp:PostBackTrigger ControlID="BtnDescargarGenerado" />
|
||||
</Triggers>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
</ContentTemplate>
|
||||
</ajax:TabPanel>
|
||||
|
||||
|
||||
</ajax:TabContainer>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="modal fade " id="dropmodal">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content ">
|
||||
<div class="portlet light smmallpadding bordered ">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Cargar Evidencia</span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tools">
|
||||
<a href="javascript:;" class="collapse"></a>
|
||||
<a href="javascript:$('#dropmodal').modal('hide');" style="color:gray;" ><i class="fa fa-remove"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body ">
|
||||
<div id="my-dropzone" class="">
|
||||
</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 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">×</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;text-align:center!important" >
|
||||
<asp:GridView ID="GvAnexos" AutoGenerateColumns="false" runat="server" ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron archivos" Width="250px"
|
||||
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="../Scripts/dropzone/dropzone.min.js"></script>--%>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" Runat="Server">
|
||||
|
||||
<script>
|
||||
|
||||
jQuery(document).ready(function () {
|
||||
|
||||
$(".linkfile").click(function () {
|
||||
showmodalFile($(this).find('input').attr('id'));
|
||||
});
|
||||
Sys.Application.add_load(function (s, e) {
|
||||
$(".linkfile").click(function () {
|
||||
showmodalFile($(this).find('input').attr('id'));
|
||||
});
|
||||
});
|
||||
});
|
||||
function showmodalFile(obj) {
|
||||
$('#' + obj).data("append", 'my-dropzone');<% Dim url = Request.Url.AbsoluteUri.Replace(Request.Url.AbsolutePath, "")%>
|
||||
$('#' + obj).data("urlup", '<%= url%>/Ashx/SIGWeb.ashx?Metodo=Uploadfile');
|
||||
$('#' + obj).data("urldown", '<%= url%>/Ashx/SIGWeb.ashx');
|
||||
$('#' + obj).data("urlget", '<%= url %>/Temp/');
|
||||
ADDropzone(obj);
|
||||
$('#dropmodal').modal();
|
||||
}
|
||||
function ValidateCant(variable) {
|
||||
|
||||
var txt = $(variable);
|
||||
var max = txt.data('cantidad');
|
||||
var value = parseInt(txt.val());
|
||||
if (value > max) {
|
||||
txt.val(max);
|
||||
}
|
||||
if (value < 0) {
|
||||
txt.val(0);
|
||||
}
|
||||
var importe = $('.txtimporte[data-cve="' + txt.data('cve') + '"]');
|
||||
|
||||
importe.val(parseFloat(txt.val()) * parseFloat(txt.data('pu')));
|
||||
|
||||
//FormatoMoneda2(importe);
|
||||
|
||||
//if (parseInt(txt.val()) > 0) {
|
||||
|
||||
// $($(txt.parent()).parent()).find(".linkfile").removeClass("hidden");
|
||||
|
||||
//} else {
|
||||
|
||||
// var ocultar = $($(txt.parent()).parent()).find(".linkfile");
|
||||
|
||||
// if (!ocultar.hasClass("hidden")) {
|
||||
// ocultar.addClass("hidden");
|
||||
// }
|
||||
//}
|
||||
|
||||
}
|
||||
//);
|
||||
</script>
|
||||
</asp:Content>
|
||||
|
||||
659
Contratos/ContratoObraAutorizacion.aspx.vb
Normal file
659
Contratos/ContratoObraAutorizacion.aspx.vb
Normal file
@@ -0,0 +1,659 @@
|
||||
Option Explicit On
|
||||
Option Strict On
|
||||
|
||||
Imports Extensiones
|
||||
Imports System.IO
|
||||
Imports System.Data
|
||||
Imports Newtonsoft.Json
|
||||
Imports ClosedXML.Excel
|
||||
|
||||
Partial Class Contratos_ContratoObraAutorizacion
|
||||
Inherits ClsPaginas
|
||||
|
||||
#Region "Propiedades"
|
||||
Private Property DtDatos As DataTable
|
||||
Get
|
||||
If ViewState("DtDatos") Is Nothing Then
|
||||
Return Nothing
|
||||
Else
|
||||
Return CType(ViewState("DtDatos"), DataTable)
|
||||
End If
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtDatos") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property CveContrato As Integer
|
||||
Get
|
||||
If ViewState("CveContrato") Is Nothing Then
|
||||
Return Nothing
|
||||
Else
|
||||
Return ViewState("CveContrato").ToString.ToEntero
|
||||
End If
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveContrato") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Private Property CveContratoEstimacion As Integer
|
||||
Get
|
||||
If ViewState("CveContratoEstimacion") Is Nothing Then
|
||||
Return Nothing
|
||||
Else
|
||||
Return ViewState("CveContratoEstimacion").ToString.ToEntero
|
||||
End If
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveContratoEstimacion") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'fecha seleccionada del historico de avances
|
||||
Private Property fecha As String
|
||||
Get
|
||||
If ViewState("fecha") Is Nothing Then
|
||||
Return ""
|
||||
Else
|
||||
Return ViewState("fecha").ToString
|
||||
End If
|
||||
End Get
|
||||
Set(value As String)
|
||||
ViewState("fecha") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property CveEstimacionNueva As Integer
|
||||
Get
|
||||
If ViewState("CveEstimacionNueva") Is Nothing Then
|
||||
Return -1
|
||||
Else
|
||||
Return ViewState("CveEstimacionNueva").ToString.ToEntero
|
||||
End If
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveEstimacionNueva") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property NuemeroEstimacionNuevo As Integer
|
||||
Get
|
||||
If ViewState("NuemeroEstimacionNuevo") Is Nothing Then
|
||||
Return -1
|
||||
Else
|
||||
Return ViewState("NuemeroEstimacionNuevo").ToString.ToEntero
|
||||
End If
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("NuemeroEstimacionNuevo") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
Property CveEstimacionActual As Integer
|
||||
Get
|
||||
If ViewState("CveEstimacionActual") Is Nothing Then
|
||||
Return -1
|
||||
Else
|
||||
Return ViewState("CveEstimacionActual").ToString.ToEntero
|
||||
End If
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveEstimacionActual") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Property NuemeroEstimacionActual As Integer
|
||||
Get
|
||||
If ViewState("NuemeroEstimacionActual") Is Nothing Then
|
||||
Return -1
|
||||
Else
|
||||
Return ViewState("NuemeroEstimacionActual").ToString.ToEntero
|
||||
End If
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("NuemeroEstimacionActual") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||
|
||||
If Not IsPostBack Then
|
||||
CargaContrato()
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Private Sub CargaContrato()
|
||||
DDlContratosEstimaciones.DataSource = GlobalDTContratos.FiltraParametros(String.Format($"CveContratoTipo in (30,31) AND CveEmpresa = {UsuarioActual.CveEmpresa}"))
|
||||
DDlContratosEstimaciones.DataBind()
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
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
|
||||
Dim btn As LinkButton = DirectCast(sender, LinkButton)
|
||||
Dim gvr As GridViewRow = DirectCast(btn.NamingContainer, GridViewRow)
|
||||
Dim CveContratoDetalle As Integer = gvr.DataKey("CveContratoDetalle").ToString.ToEntero
|
||||
Dim CveContratoAvance As Integer = gvr.DataKey("CveContratoAvance").ToEntero
|
||||
Dim Fecha As Date = gvr.DataKey("Fecha").ToDate
|
||||
|
||||
Dim objContrato As New ClsContratos
|
||||
If objContrato.GetContratosAvanceAnexos(CveContratoDetalle, UsuarioActual.CveUsuario, CveContratoAvance:=CveContratoAvance) Then
|
||||
GvAnexos.DataSource = objContrato.DtResultados
|
||||
GvAnexos.DataBind()
|
||||
GvAnexos.Visible = True
|
||||
Else
|
||||
GvAnexos.Visible = False
|
||||
End If
|
||||
|
||||
objContrato.Dispose()
|
||||
|
||||
UpModalAnexos.Update()
|
||||
|
||||
RegistraScript("$('#ModalAnexos').modal('show');")
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub GvAnexos_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles GvAnexos.RowDataBound
|
||||
|
||||
If e.Row.RowIndex > -1 Then
|
||||
Dim Archivo As String = e.Row.DBCampo("Archivo").ToString
|
||||
Dim start As Integer = Len(Archivo.Split("-"c)(0))
|
||||
Dim LnkArchivo As LinkButton = e.Row.FCLinkButton("LnkArchivo")
|
||||
|
||||
LnkArchivo.Text = Archivo.Substring(start + 1)
|
||||
|
||||
ScriptManager.GetCurrent(Me).RegisterPostBackControl(LnkArchivo)
|
||||
End If
|
||||
|
||||
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\{DDlContratosEstimaciones.SelectedValue.ToEntero}\Anexos\{Archivo}")
|
||||
Response.End()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
#Region "ESTIMACION"
|
||||
|
||||
|
||||
Private Sub CargaAvancesParaEstimar()
|
||||
CveContratoEstimacion = -1
|
||||
|
||||
Dim ObjContratos As New ClsContratos()
|
||||
Dim DTEstimaciones As New DataTable
|
||||
Dim NumeroEstimacionActual As Integer = 0
|
||||
|
||||
If ObjContratos.GetContratosAvanceEstimacion(DDlContratosEstimaciones.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1) Then
|
||||
DTEstimaciones = ObjContratos.DtResultados
|
||||
|
||||
CveContratoEstimacion = DDlContratosEstimaciones.SelectedValue.ToEntero
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
ObjContratos.Dispose()
|
||||
|
||||
|
||||
If DTEstimaciones.Rows.Count > 0 Then
|
||||
GvEstimaciones.DataSource = DTEstimaciones
|
||||
' BtnGuardarEstimacion.Visible = True
|
||||
BtnAutoriza.Visible = True
|
||||
Else
|
||||
GvEstimaciones.DataSource = Nothing
|
||||
BtnGuardarEstimacion.Visible = False
|
||||
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
|
||||
|
||||
If e.Row.DBCampo("CveContratoDetalle").ToString.ToEntero > 0 Then
|
||||
Dim LnkAnexo As LinkButton = e.Row.FCLinkButton("LnkAnexo")
|
||||
Dim LnkEliminarAvance As LinkButton = e.Row.FCLinkButton("LnkEliminarAvance")
|
||||
LnkAnexo.Visible = True
|
||||
LnkEliminarAvance.Visible = True
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub BtnGuardarEstimacion_Click(sender As Object, e As EventArgs) Handles BtnGuardarEstimacion.Click
|
||||
|
||||
CveEstimacionNueva = -1
|
||||
NuemeroEstimacionNuevo = -1
|
||||
|
||||
Dim ObjContratos As New ClsContratos()
|
||||
Dim ErrorProceso As Boolean = False
|
||||
|
||||
ObjContratos.IniciaTransacSQL()
|
||||
|
||||
|
||||
If ObjContratos.AddContratosAvanceEstimacion(CveContratoEstimacion, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
||||
|
||||
CveEstimacionNueva = ObjContratos.CveEstimacionNueva
|
||||
NuemeroEstimacionNuevo = ObjContratos.NumeroEstimacionNueva
|
||||
|
||||
For Each GvRow As GridViewRow In GvEstimaciones.Rows
|
||||
|
||||
If GvRow.DataKey("CveContratoAvance").ToEntero > 0 Then
|
||||
If Not ObjContratos.UpdateContratosAvanceEstimacion(GvRow.DataKey("CveContratoAvance").ToEntero, ObjContratos.CveEstimacionNueva, UsuarioActual.CveEmpresa) Then
|
||||
ErrorProceso = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
Else
|
||||
ErrorProceso = True
|
||||
End If
|
||||
|
||||
'AddContratosAvanceEstimacion
|
||||
'UpdateContratosAvanceEstimacion
|
||||
|
||||
|
||||
|
||||
If Not ErrorProceso Then
|
||||
ObjContratos.Commit()
|
||||
Alert($"Estimación {NuemeroEstimacionNuevo} agregada correctamente.")
|
||||
|
||||
BtnGuardarEstimacion.Visible = False
|
||||
BtnDescargarGenerado.Visible = True
|
||||
|
||||
Else
|
||||
ObjContratos.RollBack()
|
||||
End If
|
||||
|
||||
ObjContratos.Dispose()
|
||||
|
||||
UpEstimaciones.Update()
|
||||
End Sub
|
||||
|
||||
Private Sub BtnDescargarGenerado_Click(sender As Object, e As EventArgs) Handles BtnDescargarGenerado.Click
|
||||
|
||||
GeneraAnexo(CveEstimacionNueva, NuemeroEstimacionNuevo, Now, DDlContratosEstimaciones.SelectedItem.Text)
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub GeneraAnexo(CveEstimacion As Integer, NumeroEstimacion As Integer, FechaEstimacion As Date, NumeroContrato As String)
|
||||
|
||||
Dim PlantillaAnexo As String = $"{UsuarioActual.Empresa.Ruta}\Formatos\Anexo.xlsx"
|
||||
|
||||
If Not System.IO.File.Exists(PlantillaAnexo) Then
|
||||
Alert("No se encuentra la platilla de anexos.", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Dim DtControl As New DataTable
|
||||
Dim ObjContratos As New ClsContratos
|
||||
Dim Lugar As String = ""
|
||||
Dim DescripcionContrato As String = ""
|
||||
|
||||
|
||||
If ObjContratos.GetContratosObraAvancesControlAcumulativo(CveContrato, CveEstimacion, UsuarioActual.CveEmpresa) Then
|
||||
DtControl = ObjContratos.DtResultados
|
||||
If DtControl.Rows.Count > 0 Then
|
||||
Lugar = DtControl(0)("Lugar").ToString
|
||||
DescripcionContrato = DtControl(0)("DescripcionContrato").ToString
|
||||
End If
|
||||
End If
|
||||
ObjContratos.Dispose()
|
||||
|
||||
If DtControl.Rows.Count > 0 Then
|
||||
|
||||
|
||||
Dim WBAnexo = New ClosedXML.Excel.XLWorkbook(PlantillaAnexo)
|
||||
|
||||
Dim WBAnexoSalvar = New ClosedXML.Excel.XLWorkbook
|
||||
|
||||
Dim WSControl = WBAnexo.Worksheet(1)
|
||||
Dim WSDetalle = WBAnexo.Worksheet(2)
|
||||
|
||||
Dim CuerrentRow As Integer = 28
|
||||
|
||||
WSControl.Cell(17, 2).Value = NumeroEstimacion 'Estimacion
|
||||
WSControl.Cell(20, 9).Value = FechaEstimacion.ToString("dd/MM/yyyy") 'Fecha estimacion
|
||||
WSControl.Cell(19, 8).Value = "$ " & DtControl.SUM("Importe").ToString("###,###,###.00") 'Total
|
||||
WSControl.Cell(19, 8).Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Right)
|
||||
|
||||
WSControl.Cell(20, 6).Value = NumeroContrato
|
||||
|
||||
WSControl.Cell(18, 2).Value = Lugar
|
||||
WSControl.Cell(18, 2).Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Left)
|
||||
WSControl.Cell(18, 2).Style.Alignment.SetVertical(XLAlignmentVerticalValues.Top)
|
||||
|
||||
WSControl.Cell(17, 6).Value = "" 'Periodo Fecha Inicial
|
||||
WSControl.Cell(17, 7).Value = "" 'Periuodo Fecha Final
|
||||
WSControl.Cell(20, 2).Value = DescripcionContrato
|
||||
WSControl.Cell(20, 2).Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Left)
|
||||
WSControl.Cell(20, 2).Style.Alignment.SetVertical(XLAlignmentVerticalValues.Top)
|
||||
|
||||
WSControl.Cell(22, 7).Value = "" 'Presupuesto segun contrato
|
||||
WSControl.Cell(19, 5).Value = "" 'Contrtatista
|
||||
|
||||
Dim RowCountControl As Integer = 1
|
||||
|
||||
For Each Drow As DataRow In DtControl.Rows
|
||||
|
||||
WSControl.Cell(CuerrentRow, 1).Value = Drow("Codigo").ToString
|
||||
WSControl.Cell(CuerrentRow, 2).Value = Drow("PS").ToString
|
||||
WSControl.Cell(CuerrentRow, 3).Value = Drow("Abreviatura").ToString
|
||||
WSControl.Cell(CuerrentRow, 4).Value = Drow("Cantidad").ToString.ToDecimal
|
||||
WSControl.Cell(CuerrentRow, 5).Value = Drow("AcumuladoTotal").ToString.ToDecimal
|
||||
WSControl.Cell(CuerrentRow, 6).Value = Drow("AcumuladoAnterior").ToString.ToDecimal
|
||||
WSControl.Cell(CuerrentRow, 7).Value = Drow("CantidadActual").ToString.ToDecimal
|
||||
WSControl.Cell(CuerrentRow, 8).Value = Drow("PU").ToString.ToDecimal
|
||||
WSControl.Cell(CuerrentRow, 9).Value = Drow("Total").ToString.ToDecimal
|
||||
|
||||
WSControl.Cell(CuerrentRow, 9).Style.NumberFormat.Format = "$ ###,###,###.00"
|
||||
|
||||
|
||||
WSControl.Cell(CuerrentRow, 1).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 2).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 3).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 4).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 5).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 6).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 7).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 8).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 9).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
|
||||
|
||||
WSControl.Cell(CuerrentRow, 1).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 2).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 3).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 4).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 5).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 6).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 7).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 8).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow, 9).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Medium
|
||||
|
||||
'ultimo Row
|
||||
If DtControl.Rows.Count = RowCountControl Then
|
||||
|
||||
|
||||
WSControl.Cell(CuerrentRow + 1, 1).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 2).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 3).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 4).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 5).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 6).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 7).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 8).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 9).Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
|
||||
|
||||
WSControl.Cell(CuerrentRow + 1, 1).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 2).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 3).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 4).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 5).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 6).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 7).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 8).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
WSControl.Cell(CuerrentRow + 1, 9).Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Medium
|
||||
|
||||
WSControl.Cell(CuerrentRow + 1, 8).Value = "Total:"
|
||||
WSControl.Cell(CuerrentRow + 1, 8).Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Right)
|
||||
WSControl.Cell(CuerrentRow + 1, 8).Style.Font.Bold = True
|
||||
WSControl.Cell(CuerrentRow + 1, 9).Value = DtControl.SUM("Total")
|
||||
WSControl.Cell(CuerrentRow + 1, 9).Style.Font.Bold = True
|
||||
|
||||
WSControl.Cell(CuerrentRow + 1, 9).Style.NumberFormat.Format = "$ ###,###,###.00"
|
||||
|
||||
|
||||
Dim range = WSControl.Range($"A{CuerrentRow + 3}:D{CuerrentRow + 3}")
|
||||
range.Merge()
|
||||
range.Style.Border.TopBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
range.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
range.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
range.Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
|
||||
|
||||
range = WSControl.Range($"E{CuerrentRow + 3}:I{CuerrentRow + 3}")
|
||||
range.Merge()
|
||||
range.Style.Border.TopBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
range.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
range.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Medium
|
||||
range.Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
|
||||
|
||||
|
||||
|
||||
|
||||
range = WSControl.Range($"A{CuerrentRow + 4}:D{CuerrentRow + 4}")
|
||||
range.Merge()
|
||||
range.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
range.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
range.Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
|
||||
range.Value = "ING. WALTER ROBERTO VILLEGAS LARES"
|
||||
|
||||
range = WSControl.Range($"E{CuerrentRow + 4}:I{CuerrentRow + 4}")
|
||||
range.Merge()
|
||||
range.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
range.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Medium
|
||||
range.Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
|
||||
range.Value = "C. SALVADOR SUAREZ"
|
||||
|
||||
|
||||
range = WSControl.Range($"A{CuerrentRow + 5}:D{CuerrentRow + 5}")
|
||||
range.Merge()
|
||||
range.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
range.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
range.Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
|
||||
range.Value = "SERVICIOS ELECTRICOS Y CONTROL DE HERMOSILLO S.A. DE C.V."
|
||||
range.Style.Font.Bold = True
|
||||
|
||||
range = WSControl.Range($"E{CuerrentRow + 5}:I{CuerrentRow + 5}")
|
||||
range.Merge()
|
||||
range.Style.Border.BottomBorder = ClosedXML.Excel.XLBorderStyleValues.Thin
|
||||
range.Style.Border.RightBorder = ClosedXML.Excel.XLBorderStyleValues.Medium
|
||||
range.Style.Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
|
||||
range.Value = "GASERVICIO MATAMOROS SA DE CV"
|
||||
range.Style.Font.Bold = True
|
||||
|
||||
|
||||
End If
|
||||
|
||||
CuerrentRow = CuerrentRow + 1
|
||||
RowCountControl = RowCountControl + 1
|
||||
|
||||
Next
|
||||
|
||||
WBAnexo.Worksheet(1).CopyTo(WBAnexoSalvar, "CONTROL")
|
||||
|
||||
|
||||
For Each Drow As DataRow In DtControl.Rows
|
||||
|
||||
|
||||
If Drow("CantidadActual").ToString.ToDecimal > 0 Then
|
||||
|
||||
WSDetalle.Cell(3, 6).Value = NumeroContrato
|
||||
|
||||
WSDetalle.Cell(4, 9).Value = "" 'Fecha de
|
||||
WSDetalle.Cell(4, 10).Value = "" 'Fecha a
|
||||
WSDetalle.Cell(4, 11).Value = NumeroEstimacion
|
||||
|
||||
WSDetalle.Cell(6, 6).Value = DescripcionContrato
|
||||
|
||||
WSDetalle.Cell(14, 2).Value = Drow("Codigo").ToString
|
||||
WSDetalle.Cell(14, 3).Value = Drow("PS").ToString
|
||||
WSDetalle.Cell(14, 4).Value = Drow("Abreviatura").ToString
|
||||
|
||||
|
||||
WSDetalle.Cell(12, 3).Value = "" 'Concepto
|
||||
|
||||
WSDetalle.Cell(14, 10).Value = Drow("CantidadActual").ToString.ToDecimal
|
||||
WSDetalle.Cell(14, 11).Value = Drow("CantidadActual").ToString.ToDecimal
|
||||
'WSDetalle.Cell(61, 6).Value = "" 'Empresario
|
||||
WSDetalle.Cell(61, 9).Value = Drow("Nombre").ToString 'Cliente
|
||||
|
||||
|
||||
|
||||
Dim objContrato As New ClsContratos
|
||||
Dim DTArchivos As New DataTable
|
||||
|
||||
If objContrato.GetContratosAvanceAnexos(Drow("CveContratoDetalle").ToString.ToEntero, UsuarioActual.CveUsuario, CveEstimacion:=CveEstimacion) Then
|
||||
DTArchivos = objContrato.DtResultados
|
||||
End If
|
||||
objContrato.Dispose()
|
||||
|
||||
Dim Imagenes As New List(Of ClosedXML.Excel.Drawings.IXLPicture)
|
||||
|
||||
Dim CurrectRowImg As Integer = 19 'Row 19 primera imggen
|
||||
Dim RowH As Double = WSDetalle.Row(19).Height
|
||||
|
||||
For Each drowArchivos As DataRow In DTArchivos.Rows
|
||||
|
||||
Dim Archivo As String = ""
|
||||
Archivo = drowArchivos("Archivo").ToString
|
||||
Dim RutaArchivo As String = $"{UsuarioActual.Empresa.Ruta}\Contrato\{CveContrato}\Anexos\{Archivo}"
|
||||
|
||||
If File.Exists(RutaArchivo) Then
|
||||
|
||||
Dim Imagen = WSDetalle.AddPicture(RutaArchivo).MoveTo(WSDetalle.Cell(CurrectRowImg, 3))
|
||||
Imagen.Scale(WSDetalle.Column(3).Width / (Imagen.OriginalWidth * 0.145D))
|
||||
|
||||
Dim ImgWidth As Double = Imagen.Height
|
||||
|
||||
Dim nRowmas As Integer = (ImgWidth / RowH).ToEntero
|
||||
|
||||
CurrectRowImg = CurrectRowImg + nRowmas
|
||||
|
||||
Imagenes.Add(Imagen)
|
||||
End If
|
||||
|
||||
Next
|
||||
WBAnexo.Worksheet(2).CopyTo(WBAnexoSalvar, If(Drow("Codigo").ToString.Trim.Length > 0, Drow("Codigo").ToString, Drow("CvePS").ToString))
|
||||
|
||||
For Each img As ClosedXML.Excel.Drawings.IXLPicture In Imagenes
|
||||
img.Delete()
|
||||
Next
|
||||
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
|
||||
Dim msB = New MemoryStream()
|
||||
WBAnexoSalvar.SaveAs(msB)
|
||||
|
||||
Dim BB As Byte() = msB.ToArray
|
||||
msB.Dispose()
|
||||
|
||||
Response.Clear()
|
||||
Response.Buffer = True
|
||||
Response.AddHeader("content-disposition", "attachment; filename=Anexo_Estimacion" & NumeroEstimacion & ".xlsx")
|
||||
Response.ContentType = "application/vnd.ms-excel"
|
||||
Response.BinaryWrite(BB)
|
||||
Response.End()
|
||||
|
||||
|
||||
Else
|
||||
Alert("No se encontraron datos des control", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Protected Sub LnkEliminarAvance_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim GvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
|
||||
|
||||
Dim CveContratoAvance As Integer = GvRow.DataKey("CveContratoAvance").ToEntero
|
||||
Dim ErrorProceso As Boolean = True
|
||||
|
||||
|
||||
|
||||
Dim ObjContrato As New ClsContratos
|
||||
|
||||
If ObjContrato.RemoveContratosAvance(CveContratoAvance, UsuarioActual.CveEmpresa) Then
|
||||
ErrorProceso = False
|
||||
End If
|
||||
|
||||
ObjContrato.Dispose()
|
||||
|
||||
If Not ErrorProceso Then
|
||||
|
||||
CargaAvancesParaEstimar()
|
||||
Alert("Avance elimiando correctamente.")
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<div class="col-md-12">
|
||||
|
||||
<asp:GridView ID="GVDatos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron contratos con los Filtros seleccionados"
|
||||
DataKeyNames="CveContrato,CveEstimacion,Fecha,PS,CveContratoDetalle" ShowHeader="True"
|
||||
DataKeyNames="CveContrato,CveContratoAvance,CveEstimacion,Fecha,PS,CveContratoDetalle" ShowHeader="True"
|
||||
CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" GridLines="None">
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="Producto">
|
||||
|
||||
@@ -113,8 +113,10 @@ Partial Class RepContratosObraAvancesPartida
|
||||
Dim CveEstimacion As Integer = GvRow.DataKey("CveEstimacion").ToEntero
|
||||
Dim CveContratoDetalle As Integer = GvRow.DataKey("CveContratoDetalle").ToEntero
|
||||
|
||||
Dim CveContratoAvance As Integer = GvRow.DataKey("CveContratoAvance").ToEntero
|
||||
|
||||
Dim objContrato As New ClsContratos
|
||||
If objContrato.GetContratosAvanceAnexos(CveContratoDetalle, Fecha, UsuarioActual.CveUsuario, CveEstimacion:=CveEstimacion) Then
|
||||
If objContrato.GetContratosAvanceAnexos(CveContratoDetalle, Fecha, UsuarioActual.CveUsuario, CveEstimacion:=CveEstimacion, CveContratoAvance:=CveContratoAvance) Then
|
||||
GvAnexos.DataSource = objContrato.DtResultados
|
||||
GvAnexos.DataBind()
|
||||
GvAnexos.Visible = True
|
||||
@@ -150,11 +152,18 @@ Partial Class RepContratosObraAvancesPartida
|
||||
Dim GvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
|
||||
|
||||
Dim Archivo As String = GvRow.DataKey("Archivo").ToString
|
||||
Dim FI As New IO.FileInfo($"{UsuarioActual.Empresa.Ruta}\Contrato\{CveContrato}\Anexos\{Archivo}")
|
||||
|
||||
|
||||
If FI.Exists Then
|
||||
|
||||
Response.ContentType = "application/octet-stream"
|
||||
Response.AppendHeader("Content-Disposition", $"attachment; filename={Archivo}")
|
||||
Response.TransmitFile(FI.FullName)
|
||||
Response.End()
|
||||
|
||||
End If
|
||||
|
||||
Response.ContentType = "application/octet-stream"
|
||||
Response.AppendHeader("Content-Disposition", $"attachment; filename={Archivo}")
|
||||
Response.TransmitFile($"{UsuarioActual.Empresa.Ruta}\Contrato\{CveContrato}\Anexos\{Archivo}")
|
||||
Response.End()
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
Reference in New Issue
Block a user