4337 lines
202 KiB
VB.net
4337 lines
202 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports Extensiones
|
|
Imports System.IO
|
|
Imports System.Data
|
|
Imports Microsoft.Reporting.WebForms
|
|
Imports System.Globalization
|
|
Imports GemBox.Spreadsheet
|
|
|
|
Partial Class Contratos_Default
|
|
Inherits ClsPaginas
|
|
|
|
#Region " PROPIEDADES "
|
|
Private Property CveContrato As Integer
|
|
Get
|
|
If ViewState("CveContrato") Is Nothing Then
|
|
Return 0
|
|
Else
|
|
Return ViewState("CveContrato").ToString.ToEntero
|
|
End If
|
|
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveContrato") = value
|
|
End Set
|
|
End Property
|
|
Private Property CveTipoContrato As Integer
|
|
Get
|
|
If ViewState("CveTipoContrato") Is Nothing Then
|
|
Return 0
|
|
Else
|
|
Return ViewState("CveTipoContrato").ToString.ToEntero
|
|
End If
|
|
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveTipoContrato") = value
|
|
End Set
|
|
End Property
|
|
Private Property CveMovimiento As Integer
|
|
Get
|
|
Return ViewState("CveMovimiento").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveMovimiento") = value
|
|
End Set
|
|
End Property
|
|
Private Property CveMovimientoDevolucion As Integer
|
|
Get
|
|
Return ViewState("CveMovimientoDevolucion").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveMovimientoDevolucion") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property FolioSugerido As String
|
|
Get
|
|
Return ViewState("FolioSugerido").ToString
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("FolioSugerido") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property CveVenta As Integer
|
|
Get
|
|
Return ViewState("CveVenta").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveVenta") = value
|
|
End Set
|
|
End Property
|
|
Public Property Autorizado As Boolean
|
|
Get
|
|
Return DirectCast(ViewState("Autorizado"), Boolean)
|
|
End Get
|
|
Set(value As Boolean)
|
|
ViewState("Autorizado") = value
|
|
End Set
|
|
End Property
|
|
Private Property ArchivoUpdate As String
|
|
Get
|
|
Return ViewState("ArchivoUpdate").ToString
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("ArchivoUpdate") = value
|
|
End Set
|
|
End Property
|
|
Private Property TipoContrato As Integer
|
|
Get
|
|
Return ViewState("TipoContrato").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("TipoContrato") = value
|
|
End Set
|
|
End Property
|
|
Private Property DtDatos As DataTable
|
|
Get
|
|
Return CType(ViewState("DtDatos"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtDatos") = value
|
|
End Set
|
|
End Property
|
|
Private Property DtPlantillasContratos As DataTable
|
|
Get
|
|
Return CType(ViewState("DtPlantillasContratos"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtPlantillasContratos") = value
|
|
End Set
|
|
End Property
|
|
Private Property DtPeriodo As DataTable
|
|
Get
|
|
Return CType(ViewState("DtPeriodo"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtPeriodo") = value
|
|
End Set
|
|
End Property
|
|
Private Property TmpDT As DataTable
|
|
Get
|
|
Return CType(ViewState("TmpDT"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("TmpDT") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property ModalidadDetalle As Integer
|
|
Get
|
|
Return DirectCast(ViewState(" ModalidadDetalle"), Integer)
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState(" ModalidadDetalle") = value
|
|
End Set
|
|
End Property
|
|
Public Property DtMovimientos() As DataTable
|
|
Get
|
|
Return CType(ViewState("DtMovimientos"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtMovimientos") = value
|
|
End Set
|
|
End Property
|
|
|
|
Public Property DtGastos() As DataTable
|
|
Get
|
|
Return CType(ViewState("DtGastos"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtGastos") = value
|
|
End Set
|
|
End Property
|
|
|
|
Public Property DtSuministros() As DataTable
|
|
Get
|
|
Return CType(ViewState("DtSuministros"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtSuministros") = value
|
|
End Set
|
|
End Property
|
|
Public Property DtAvance() As DataTable
|
|
Get
|
|
Return CType(ViewState("DtAvance"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtAvance") = value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Public Property DtPresupuestos() As DataTable
|
|
Get
|
|
Return CType(ViewState("DtPresupuestos"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtPresupuestos") = value
|
|
End Set
|
|
End Property
|
|
Private Property FechaI As DateTime
|
|
Get
|
|
Return CType(ViewState("FechaI"), DateTime)
|
|
End Get
|
|
Set(value As DateTime)
|
|
ViewState("FechaI") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property FechaF As DateTime
|
|
Get
|
|
Return CType(ViewState("FechaF"), DateTime)
|
|
End Get
|
|
Set(value As DateTime)
|
|
ViewState("FechaF") = value
|
|
End Set
|
|
End Property
|
|
|
|
Public Property DtActivosFijos() As DataTable
|
|
Get
|
|
Return CType(ViewState("DtActivosFijos"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtActivosFijos") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property CvePSSerieLote As Integer
|
|
Get
|
|
Return CType(ViewState("CvePSSerieLote"), Integer)
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CvePSSerieLote") = value
|
|
End Set
|
|
End Property
|
|
Private Property CveUMSerieLote As Integer
|
|
Get
|
|
Return CType(ViewState("CveUMSerieLote"), Integer)
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveUMSerieLote") = value
|
|
End Set
|
|
End Property
|
|
Private Property DtAvanceDocumento As DataTable
|
|
Get
|
|
Return CType(ViewState("DtAvanceDocumento"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtAvanceDocumento") = value
|
|
End Set
|
|
End Property
|
|
Private Property Titulo As String
|
|
Get
|
|
Return ViewState("Titulo").ToString
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("Titulo") = value
|
|
End Set
|
|
End Property
|
|
Private Property TituloCorto As String
|
|
Get
|
|
Return ViewState("TituloCorto").ToString
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("TituloCorto") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property TipoDocumento As String
|
|
Get
|
|
Return ViewState("TipoDocumento").ToString
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("TipoDocumento") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property Contratante As String
|
|
Get
|
|
Return ViewState("Contratante").ToString
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("Contratante") = value
|
|
End Set
|
|
End Property
|
|
Private Property SumaAvance As Double
|
|
Get
|
|
Return If(ViewState("SumaAvance") IsNot Nothing, ViewState("SumaAvance").ToString.ToDouble, 0)
|
|
End Get
|
|
Set(value As Double)
|
|
ViewState("SumaAvance") = value
|
|
End Set
|
|
End Property
|
|
Private Property SumaUtilidad As Double
|
|
Get
|
|
Return If(ViewState("SumaUtilidad") IsNot Nothing, ViewState("SumaUtilidad").ToString.ToDouble, 0)
|
|
End Get
|
|
Set(value As Double)
|
|
ViewState("SumaUtilidad") = value
|
|
End Set
|
|
End Property
|
|
Private Property SumaGasto As Double
|
|
Get
|
|
Return If(ViewState("SumaGasto") IsNot Nothing, ViewState("SumaGasto").ToString.ToDouble, 0)
|
|
End Get
|
|
Set(value As Double)
|
|
ViewState("SumaGasto") = value
|
|
End Set
|
|
End Property
|
|
Private Property NumRow As Integer
|
|
|
|
Private Property EsEditarFianza As Boolean
|
|
Get
|
|
Return CType(ViewState("EsEditarFianza"), Boolean)
|
|
End Get
|
|
Set(value As Boolean)
|
|
ViewState("EsEditarFianza") = value
|
|
End Set
|
|
End Property
|
|
Private Property IndexFianzaEditar As Integer
|
|
Get
|
|
Return CType(ViewState("IndexFianzaEditar"), Integer)
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("IndexFianzaEditar") = value
|
|
End Set
|
|
End Property
|
|
Public Property DtTmpFianzas() As DataTable
|
|
Get
|
|
Return CType(ViewState("DtTmpFianzas"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtTmpFianzas") = value
|
|
End Set
|
|
End Property
|
|
Public Property DtTmpFianzasInicial() As DataTable
|
|
Get
|
|
Return CType(ViewState("DtTmpFianzasInicial"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtTmpFianzasInicial") = value
|
|
End Set
|
|
End Property
|
|
Private Property MensajeAlert As StringBuilder
|
|
Get
|
|
Return CType(ViewState("MensajeAlert"), StringBuilder)
|
|
End Get
|
|
Set(value As StringBuilder)
|
|
ViewState("MensajeAlert") = value
|
|
End Set
|
|
End Property
|
|
Private Property DsDatosPedDev As DataSet
|
|
Get
|
|
DsDatosPedDev = DirectCast(ViewState("DsDatosPedDev"), DataSet)
|
|
End Get
|
|
|
|
Set(ByVal value As DataSet)
|
|
ViewState("DsDatosPedDev") = 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
|
|
CargaValoresIniciales()
|
|
CreaDtTmpFianzas()
|
|
|
|
If Request("CveCliente") IsNot Nothing Then
|
|
cargaClientes()
|
|
End If
|
|
|
|
If Request("CveContrato") IsNot Nothing AndAlso IsNumeric(Request("CveContrato")) AndAlso Request("CveContrato").ToEntero > 0 Then
|
|
ViewState("CveContrato") = Request("CveContrato")
|
|
|
|
DvBitacora.Visible = True
|
|
DdlEstatus.Enabled = False
|
|
If UsuarioActual.TienePermisoProceso(126) Then
|
|
BtnAutorizar.Visible = True
|
|
End If
|
|
DivContent.Visible = True
|
|
' DivTipoContrato.Visible = False
|
|
'TxtArchivo.Visible = True
|
|
|
|
CargaDatos()
|
|
|
|
CargaDatosAvance()
|
|
CargaDatosAvancePorDocumento()
|
|
CargaInventarios()
|
|
|
|
'12/04/2018 - Si el tipo de contrato es convenio de precio fijo configura campos
|
|
If CveTipoContrato = 28 Then
|
|
CargaConvenioPrecioFijo()
|
|
End If
|
|
|
|
'Configuración de Modalidad Update
|
|
BtnGuardar.Text = "Guardar Cambios"
|
|
|
|
If Request("Opt") IsNot Nothing AndAlso IsNumeric(Request("Opt")) Then Tab.ActiveTabIndex = Request("Opt").ToEntero
|
|
Else
|
|
'Configuración de Modalidad Insert
|
|
LblFechaCaptura.Text = Now.ToShortDateString()
|
|
LblUsuarioCapturo.Text = UsuarioActual.Usuario
|
|
ViewState("CveContrato") = -1
|
|
|
|
DvBitacora.Visible = False
|
|
TabContratosGastos.Visible = False
|
|
TabAF.Visible = False
|
|
TabReporteAvance.Visible = False
|
|
TabAvanveDocumento.Visible = False
|
|
|
|
Tab.ActiveTabIndex = 0
|
|
|
|
If UsuarioActual.Empresa.CvePlataforma = 3 Then
|
|
rdventa.Checked = True
|
|
rdventa_CheckedChanged(Nothing, Nothing)
|
|
If (DdlTipoContrato.Items.FindByValue("14") Is Nothing) Then
|
|
DdlTipoContrato.Items.Insert(1, New ListItem("Contrato de Cuenta y Equipo", "14"))
|
|
End If
|
|
DdlTipoContrato.SelectedValue = "14"
|
|
TipoContrato = 14
|
|
BtnTipoContrato_Click(Nothing, Nothing)
|
|
End If
|
|
|
|
End If
|
|
|
|
'carga combos
|
|
CargaClasificaciones()
|
|
CargaPS()
|
|
CargaPSInsumos()
|
|
ConfiguraTipos()
|
|
CargaDatosEncabezado()
|
|
CargaImpuestosLocales()
|
|
|
|
End If
|
|
|
|
|
|
'[IPP] PORQUE ESTA TODO ESTO EN TODOS LOS POSTBACK ??? - REVISEN BIEN DONDE PONEN EL CODIGO
|
|
|
|
If UsuarioActual.TienePermisoProceso(165) Then
|
|
BtnGuardar.Visible = True
|
|
Else
|
|
BtnGuardar.Visible = False
|
|
End If
|
|
|
|
If CveContrato > 0 Then
|
|
If UsuarioActual.TienePermisoProceso(164) Then
|
|
BtnEliminar.Visible = True
|
|
Gv.Columns(11).Visible = True
|
|
GvInsumos.Columns(9).Visible = True
|
|
Else
|
|
BtnEliminar.Visible = False
|
|
Gv.Columns(11).Visible = False
|
|
GvInsumos.Columns(9).Visible = False
|
|
End If
|
|
|
|
'If CveTipoContrato.Contiene(11, 25) Then 'ciclo comercial
|
|
' Gv.Columns(9).Visible = False
|
|
' GvInsumos.Columns(8).Visible = False
|
|
'End If
|
|
|
|
Else
|
|
TabPres.Visible = False
|
|
Gv.Columns(11).Visible = True
|
|
GvInsumos.Columns(9).Visible = True
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
#Region " CARGA VALORES INICIALES "
|
|
Private Sub CargaValoresIniciales()
|
|
CveContrato = -1
|
|
ViewState("TipoContrato") = 0
|
|
CveVenta = -1
|
|
Autorizado = False
|
|
BtnAutorizar.Visible = False
|
|
Session("FileUpload") = ""
|
|
Session("FileExtension") = ""
|
|
Session("FileFolder") = ""
|
|
ArchivoUpdate = ""
|
|
ModalidadDetalle = 1
|
|
FolioSugerido = ""
|
|
|
|
CargaProyecto()
|
|
CargaContratista()
|
|
CargaVendedores()
|
|
|
|
DdlUM.DataSource = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa)
|
|
DdlUM.DataBind()
|
|
DdlMoneda.DataSource = GlobalDTMonedas
|
|
DdlMoneda.DataBind()
|
|
|
|
|
|
CargaContratoPadre()
|
|
CargaContratosEstatus()
|
|
CreaDT()
|
|
|
|
DdlAlmacenOrigen.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
DdlAlmacenDestino.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
|
|
If UsuarioActual.TienePermisoProceso(172) Then
|
|
RowPorcentajeComision.Visible = True
|
|
End If
|
|
If UsuarioActual.CveEmpresa.Contiene(72, 80) Then divResponsable.Visible = False
|
|
|
|
End Sub
|
|
|
|
Public Sub CargaDireccionesEnvios(CveCliente As Integer)
|
|
Dim ObjVentas As New ClsClientes
|
|
If ObjVentas.DireccionEnvioGet(-1, CveCliente, -1) Then
|
|
If ObjVentas.DtResultados.Rows.Count > 0 Then
|
|
DdlClienteDireccionEnvio.DataSource = ObjVentas.DtResultados
|
|
DdlClienteDireccionEnvio.DataBind()
|
|
DivClienteDireccion.Visible = True
|
|
Else
|
|
DivClienteDireccion.Visible = False
|
|
End If
|
|
End If
|
|
ObjVentas.Dispose()
|
|
UpGral.Update()
|
|
End Sub
|
|
|
|
Protected Sub DdlMoneda_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlMoneda.SelectedIndexChanged
|
|
|
|
If DdlMoneda.SelectedIndex = 0 Then
|
|
tipoCambio.Visible = False
|
|
TxtTipoCambio.Text = ""
|
|
UpGral.Update()
|
|
Else
|
|
tipoCambio.Visible = True
|
|
TxtTipoCambio.Text = ""
|
|
UpGral.Update()
|
|
End If
|
|
End Sub
|
|
Public Function isWithFamily() As Boolean
|
|
Return UsuarioActual.CveEmpresa = 66
|
|
End Function
|
|
Private Sub cargaClientes()
|
|
TrCliente.Visible = True
|
|
TrProveedor.Visible = False
|
|
DdlCliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1)
|
|
DdlCliente.DataBind()
|
|
End Sub
|
|
Private Sub CreaDT()
|
|
TmpDT = New DataTable
|
|
TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
|
|
TmpDT.Columns.Add("Cantidad", GetType(Double))
|
|
TmpDT.Columns.Add("CantidadContratada", GetType(Double))
|
|
TmpDT.Columns.Add("CveUM", GetType(Integer))
|
|
TmpDT.Columns.Add("UM", GetType(String))
|
|
TmpDT.Columns.Add("CveClasificacion", GetType(Integer))
|
|
TmpDT.Columns.Add("Clasificacion", GetType(String))
|
|
TmpDT.Columns.Add("CvePS", GetType(Integer))
|
|
TmpDT.Columns.Add("PS", GetType(String))
|
|
TmpDT.Columns.Add("CodigoPS", GetType(String))
|
|
TmpDT.Columns.Add("PU", GetType(Double))
|
|
TmpDT.Columns.Add("Total", GetType(Double))
|
|
TmpDT.Columns.Add("CveTipoPresupuesto", GetType(Integer))
|
|
TmpDT.Columns.Add("PermitirAvance", GetType(Integer))
|
|
TmpDT.Columns.Add("PermitirEstimacion", GetType(Integer))
|
|
TmpDT.Columns.Add("UsuarioAvance", GetType(Integer))
|
|
TmpDT.Columns.Add("Cantidad_Original", GetType(Double))
|
|
TmpDT.Columns.Add("PU_Original", GetType(Double))
|
|
TmpDT.Columns.Add("Total_Original", GetType(Double))
|
|
TmpDT.Columns.Add("NoIdentificacion", GetType(String))
|
|
TmpDT.Columns.Add("LimitarCantidad", GetType(Integer))
|
|
TmpDT.Columns.Add("OCInterna", GetType(String))
|
|
TmpDT.Columns.Add("Observacion", GetType(String))
|
|
End Sub
|
|
Protected Sub Limpiar()
|
|
TxtNumeroContrato.Text = ""
|
|
TxtDescripcionContrato.Text = ""
|
|
DdlContratista.SelectedValue = "-1"
|
|
DdlCliente.SelectedValue = "-1"
|
|
TxtFechaInicial.Text = ""
|
|
TxtFechaFinal.Text = ""
|
|
TxtPorIVA.Text = ""
|
|
txtMinimo.Text = ""
|
|
txtMaximo.Text = ""
|
|
'TxtArchivo.Text = ""
|
|
|
|
DdlProyecto.SelectedValue = "-1"
|
|
DdlSubProyectoContrato.SelectedValue = "-1"
|
|
DdlContratoPadre.SelectedValue = "-1"
|
|
|
|
'Tab Presupuesto
|
|
TxtCantidad.Text = ""
|
|
TxtPU.Text = ""
|
|
TmpDT.Clear()
|
|
CargaGVPresupuestos(TmpDT)
|
|
CargaGVPresupuestosInsumos(TmpDT)
|
|
LbTotalGeneral.Text = "0.00"
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region " CONFIGURA TIPOS CONTRATO "
|
|
|
|
Private Sub ConfiguraTipos()
|
|
If Not TipoContrato.Contiene({7, 9, 13, 16, 18, 21}) Then
|
|
TabAF.Visible = False
|
|
End If
|
|
'TabContratosGastos.Visible = False
|
|
|
|
'DONDE OCUPA ALMACEN
|
|
Dim CveTipoAlmacenOrigen = "12"
|
|
Dim CveTipoAlmacenDestino = "11,12"
|
|
If TipoContrato.Contiene({7, 9, 13, 16, 18, 21, 27}) Then
|
|
RowAlmacen.Visible = True
|
|
If TipoContrato.Contiene(7, 9, 13, 21, 27) Then
|
|
If TipoContrato.Contiene(27) Then
|
|
CveTipoAlmacenOrigen = "1"
|
|
CveTipoAlmacenDestino = "17"
|
|
End If
|
|
RowAlmacenOrigen.Visible = True
|
|
End If
|
|
End If
|
|
|
|
Dim CveOrigen = DdlAlmacenOrigen.SelectedValue
|
|
DdlAlmacenOrigen.Items.Clear()
|
|
DdlAlmacenOrigen.SelectedValue = "-1"
|
|
DdlAlmacenOrigen.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
DdlAlmacenOrigen.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($"CveTipoAlmacen IN ({CveTipoAlmacenOrigen})") ' GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1) 'GlobalDTAlmacen(UsuarioActual.CveEmpresa)
|
|
DdlAlmacenOrigen.DataBind()
|
|
DdlAlmacenOrigen.SelectedValueExist(CveOrigen)
|
|
'SI EL ALMACEN ANTERIOR DEL CONTRATO NO ESTA EN LOS ALMACENES ACTUALES LO INSERTA A FUERZAS
|
|
If DdlAlmacenOrigen.SelectedValue <> CveOrigen Then
|
|
DdlAlmacenOrigen.Items.Insert(1, New ListItem(GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Almacen", $"CveAlmacen = {CveOrigen}"), CveOrigen))
|
|
DdlAlmacenOrigen.SelectedValueExist(CveOrigen)
|
|
End If
|
|
|
|
Dim CveDestino = DdlAlmacenDestino.SelectedValue
|
|
DdlAlmacenDestino.Items.Clear()
|
|
DdlAlmacenDestino.SelectedValue = "-1"
|
|
DdlAlmacenDestino.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
DdlAlmacenDestino.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($"CveTipoAlmacen In ({CveTipoAlmacenDestino})") 'GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1)
|
|
DdlAlmacenDestino.DataBind()
|
|
DdlAlmacenDestino.SelectedValueExist(CveDestino)
|
|
'SI EL ALMACEN ANTERIOR DEL CONTRATO NO ESTA EN LOS ALMACENES ACTUALES LO INSERTA A FUERZAS
|
|
If DdlAlmacenDestino.SelectedValue <> CveDestino Then
|
|
DdlAlmacenDestino.Items.Insert(1, New ListItem(GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Almacen", $"CveAlmacen = {CveDestino}"), CveDestino))
|
|
DdlAlmacenDestino.SelectedValueExist(CveDestino)
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub MuestraPermiteAvance()
|
|
|
|
'If Not TipoContrato.Contiene({4, 5, 25, 11}) Then
|
|
' Gv.Columns(9).Visible = False
|
|
' GvInsumos.Columns(7).Visible = False
|
|
' THAvance.Style.Add("display", "none")
|
|
' TDAvance.Style.Add("display", "none")
|
|
' THAvance.Visible = False
|
|
' THAvanceInsumos.Visible = False
|
|
' ' tdCol7.Visible = False
|
|
' TDAvance.Visible = False
|
|
' TDAvanceInsumos.Visible = False
|
|
'Else
|
|
' Gv.Columns(9).Visible = True
|
|
' GvInsumos.Columns(6).Visible = True
|
|
' THAvance.Visible = True
|
|
' THAvanceInsumos.Visible = True
|
|
' 'tdCol7.Visible = True
|
|
' TDAvance.Visible = True
|
|
' TDAvanceInsumos.Visible = True
|
|
'End If
|
|
'UpTitulos.Update()
|
|
'UpGral.Update()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region " PANTALLA INICIAL"
|
|
Protected Sub rpCompra_CheckedChanged(sender As Object, e As EventArgs) Handles rpCompra.CheckedChanged
|
|
loadComboTipoContrato(False)
|
|
End Sub
|
|
Protected Sub rdventa_CheckedChanged(sender As Object, e As EventArgs) Handles rdventa.CheckedChanged
|
|
loadComboTipoContrato(True)
|
|
End Sub
|
|
Private Sub loadComboTipoContrato(venta As Boolean)
|
|
Try
|
|
If venta Then
|
|
DdlTipoContrato.DataSource = GlobalDTContratosTipos(UsuarioActual.CveEmpresa).FiltraParametros(" TipoMovimiento = 1")
|
|
|
|
Else
|
|
DdlTipoContrato.DataSource = GlobalDTContratosTipos(UsuarioActual.CveEmpresa).FiltraParametros(" TipoMovimiento = 0")
|
|
End If
|
|
dvDetContrato.Visible = True
|
|
' DdlTipoContrato.Visible = True
|
|
DdlTipoContrato.DataBind()
|
|
DdlTipoContrato.Items.Insert(0, New ListItem("Seleccione una opción", "-1"))
|
|
If UsuarioActual.CveEmpresa.Contiene(1, 11, 4, 12) And venta Then
|
|
DdlTipoContrato.Items.Insert(1, New ListItem("Contrato con facturación ciclica", "25"))
|
|
End If
|
|
UPTipo.Update()
|
|
Catch ex As Exception
|
|
Alert(ex.Message, TipoMensaje.MsgError)
|
|
|
|
End Try
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region " INICIO DE PAGINA "
|
|
Protected Sub DdlTipoContrato_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
CargaTipoContrato()
|
|
|
|
'12/04/2018 - Se configuran campos de convenio de precio fijo
|
|
If DdlTipoContrato.SelectedValue = "28" Then
|
|
CargaConvenioPrecioFijo()
|
|
End If
|
|
|
|
If UsuarioActual.CveEmpresa = 72 And DdlTipoContrato.SelectedValue.Contiene("7", "8", "10", "13", "28") Then
|
|
GetNoContratoNuevo()
|
|
End If
|
|
|
|
End Sub
|
|
Private Sub CargaTipoContrato()
|
|
If DdlTipoContrato.SelectedIndex = 0 Then
|
|
TxtDescripcionTipoContrato.Text = ""
|
|
Exit Sub
|
|
End If
|
|
|
|
TipoContrato = DdlTipoContrato.SelectedValue.ToEntero
|
|
TxtDescripcionTipoContrato.Text = GlobalDTContratosTipos(UsuarioActual.CveEmpresa).FiltraParametros("CveContratoTipo = " & DdlTipoContrato.SelectedValue)(0)("Descripcion").ToString()
|
|
TxtDescripcionTipoContrato.Visible = True
|
|
|
|
CargaContratoPadre()
|
|
UpProyecto.Update()
|
|
End Sub
|
|
Private Sub modalidades(modalidadDetalleInt As Integer)
|
|
|
|
If modalidadDetalleInt = 1 Then
|
|
ModalidadDetalle = 1
|
|
|
|
DvMax.Visible = True
|
|
DvMin.Visible = True
|
|
DvTotal.Visible = True
|
|
|
|
|
|
If CveContrato > 0 AndAlso CveTipoContrato <> 25 Then
|
|
TableDatosCabecera.Visible = True
|
|
End If
|
|
|
|
ElseIf modalidadDetalleInt = 2 Then
|
|
ModalidadDetalle = 2
|
|
|
|
DvMax.Visible = True
|
|
DvMin.Visible = True
|
|
DvTotal.Visible = True
|
|
'TxtCantidad.Visible = False
|
|
|
|
If CveContrato > 0 AndAlso CveTipoContrato <> 25 Then
|
|
TableDatosCabecera.Visible = True
|
|
End If
|
|
|
|
End If
|
|
|
|
UpGral.Update()
|
|
|
|
End Sub
|
|
Protected Sub chkDetalleContrato_CheckedChanged(sender As Object, e As EventArgs)
|
|
If chkDetalleContrato.Checked = False Then
|
|
modalidades(1)
|
|
Else
|
|
modalidades(2)
|
|
End If
|
|
End Sub
|
|
Protected Sub BtnTipoContrato_Click(sender As Object, e As EventArgs) Handles BtnTipoContrato.Click
|
|
If DdlTipoContrato.SelectedIndex = 0 Then
|
|
Alert("Tiene que seleccionar un tipo de Contrato.", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
|
|
'Dim TipoMov = GlobalDTContratosTipos.FiltroPrimeroValor("TipoMovimiento", $"CveContratoTipo='{CveTipoContrato}'").ToEntero
|
|
|
|
If rpCompra.Checked Then
|
|
Dim CveContratoTipo = DdlTipoContrato.SelectedValue.ToEntero
|
|
Response.Redirect($"/Contratos/Presupuestos.aspx?CveContrato=-1&CveContratoTipo={CveContratoTipo}")
|
|
'RegistraScript("window.location='/Contratos/Presupuestos.aspx")
|
|
Else
|
|
|
|
modalidades(1)
|
|
|
|
DivTipoContrato.Visible = False
|
|
|
|
If rdventa.Checked Then
|
|
DdlCliente.Visible = True
|
|
TrCliente.Visible = True
|
|
|
|
DdlContratista.Visible = False
|
|
TrProveedor.Visible = False
|
|
|
|
|
|
Else
|
|
DdlCliente.Visible = False
|
|
TrCliente.Visible = False
|
|
|
|
TrProveedor.Visible = True
|
|
DdlContratista.Visible = True
|
|
End If
|
|
|
|
If rdventa.Checked Then
|
|
cargaClientes()
|
|
Else
|
|
CargaContratista()
|
|
End If
|
|
|
|
If DdlTipoContrato.SelectedValue = "14" Then
|
|
TrCtaEquipo.Visible = True
|
|
TrPeriodo.Visible = True
|
|
RFVEstatus.ValidationGroup = ""
|
|
RequiredFieldValidator1.ValidationGroup = ""
|
|
DvMin.Visible = True
|
|
DvMax.Visible = True
|
|
DvTotal.Visible = True
|
|
RowFlexible.Visible = False
|
|
RowEstatus.Visible = False
|
|
RowPorcentajeComision.Visible = False
|
|
dvAddendum.Visible = False
|
|
CargaPeriodos()
|
|
CargaPlantillas()
|
|
TrContratoPlantilla.Visible = True
|
|
TabPres.HeaderText = "Partidas"
|
|
Else
|
|
DtPeriodo = Nothing
|
|
End If
|
|
|
|
|
|
If DdlTipoContrato.SelectedValue = "25" Then
|
|
trLicitacion.Visible = False
|
|
divResponsable.Visible = False
|
|
TrPeriodo.Visible = True
|
|
CargaPeriodos()
|
|
trIva.Visible = False
|
|
trAnticipo.Visible = False
|
|
trAmortizacion.Visible = False
|
|
trPorGarantia.Visible = False
|
|
DvMin.Visible = False
|
|
RowFlexible.Visible = False
|
|
RowPorcentajeComision.Visible = False
|
|
DvMax.Visible = False
|
|
DvTotal.Visible = False
|
|
RowEstatus.Visible = False
|
|
TabPres.HeaderText = "Partidas"
|
|
DdlSubProyectoContrato.AutoPostBack = True
|
|
DvObservaciones.Visible = True
|
|
End If
|
|
|
|
Dim CveTipoContrato = DdlTipoContrato.SelectedValue
|
|
|
|
'Dim TipoMov = GlobalDTContratosTipos.AsEnumerable().Where(Function(a) a("CveContratoTipo").ToString = CveTipoContrato).FirstOrDefault()("TipoMovimiento")
|
|
|
|
|
|
DivContent.Visible = True
|
|
ConfiguraTipos()
|
|
|
|
|
|
UpGral.Update()
|
|
UPTipo.Update()
|
|
End If
|
|
|
|
End Sub
|
|
Protected Sub DdlSubProyectoContrato_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSubProyectoContrato.SelectedIndexChanged
|
|
Dim ObjFolios As New ClsGralFolios
|
|
If ObjFolios.GetFolios("Con", UsuarioActual.CveEmpresa) Then
|
|
If ObjFolios.DtResultados.FiltraParametros($"CveSubProyecto = {DdlSubProyectoContrato.SelectedValue}").Rows.Count > 0 Then
|
|
FolioSugerido = $"{GlobalDTSubProyectos(-1, DdlSubProyectoContrato.SelectedValue.ToEntero).FiltroPrimeroValor("Serie")}-{ObjFolios.DtResultados.FiltroPrimeroValor("FActual", $"CveSubProyecto = {DdlSubProyectoContrato.SelectedValue}")}"
|
|
TxtNumeroContrato.Text = FolioSugerido
|
|
Else
|
|
Alert("La sucursal no cuenta con folios de contratos", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End If
|
|
ObjFolios.Dispose()
|
|
UpGral.Update()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region " CARGA DATOS "
|
|
Private Sub CargaDatos()
|
|
Dim ObjContratos As New ClsContratos()
|
|
Dim Ruta = Request.ApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
|
|
DivTipoContrato.Visible = False
|
|
|
|
If ObjContratos.GetContratos(CveContrato, UsuarioActual.CveEmpresa) Then
|
|
If ObjContratos.DtResultados.Rows.Count > 0 Then
|
|
|
|
GRidsPresupuestos.Visible = True
|
|
msjpresupuestos.Visible = False
|
|
|
|
If ArchivoUpdate = ObjContratos.Archivo.ToString Then
|
|
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} "
|
|
TipoDocumento = ObjContratos.DtResultados.Rows(0)("ContratoTipo").ToString
|
|
LtlTitulo.Text = $"Contrato: {Titulo})"
|
|
'Pestaña Datos Generales
|
|
TxtObservaciones.Text = ObjContratos.Observaciones
|
|
TxtDescripcionContrato.Text = ObjContratos.DescripcionContrato
|
|
TxtNumeroContrato.Text = ObjContratos.NumeroContrato
|
|
TxtNumeroLicitacion.Text = ObjContratos.NumeroLicitacion
|
|
TipoContrato = ObjContratos.CveContratoTipo
|
|
TxtPorcentajeComision.Text = ObjContratos.PorcentajeComision.ToString
|
|
CveTipoContrato = ObjContratos.DtResultados.Rows(0)("CveContratoTipo").ToString.ToEntero
|
|
TxtCorreoNotificacion.Text = ObjContratos.DtResultados.Rows(0)("CorreoNotificacionPedDev").ToString
|
|
|
|
|
|
If ObjContratos.CveProveedor > 0 Then
|
|
TrProveedor.Visible = True
|
|
TrCliente.Visible = False
|
|
CargaContratista()
|
|
DdlContratista.SelectedValue = ObjContratos.CveProveedor.ToString
|
|
Else
|
|
cargaClientes()
|
|
DdlCliente.SelectedValueExist(ObjContratos.CveCliente.ToString)
|
|
UpGral.Update()
|
|
CargaSucursalCliente()
|
|
DdlSucursalCliente.SelectedValue = ObjContratos.CveSucursalCliente.ToString
|
|
End If
|
|
|
|
|
|
If DdlCliente.SelectedValue.ToEntero > 0 Then
|
|
CargaDireccionesEnvios(DdlCliente.SelectedValue.ToEntero)
|
|
DdlClienteDireccionEnvio.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CveDireccionEnvio").ToString.ToEntero)
|
|
End If
|
|
|
|
CargaContratoPadre()
|
|
CargaContratoAddendum()
|
|
|
|
If ObjContratos.DtResultados.Rows(0)("CveContratoTipo").ToString.ToEntero = 14 Then
|
|
CargaPeriodos()
|
|
TrCtaEquipo.Visible = True
|
|
TrPeriodo.Visible = True
|
|
RFVEstatus.ValidationGroup = ""
|
|
RequiredFieldValidator1.ValidationGroup = ""
|
|
DvMin.Visible = True
|
|
DvMax.Visible = True
|
|
DvTotal.Visible = True
|
|
RowFlexible.Visible = False
|
|
RowPorcentajeComision.Visible = False
|
|
RowEstatus.Visible = False
|
|
dvAddendum.Visible = False
|
|
liImprimir.Visible = True
|
|
CargaPlantillas()
|
|
TrContratoPlantilla.Visible = True
|
|
DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo"))
|
|
DdlCuentaEquipo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CveCuentaEquipo"))
|
|
DdlPlantillaContrato.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CveContratoPlantilla"))
|
|
TabPres.HeaderText = "Partidas"
|
|
End If
|
|
|
|
If ObjContratos.DtResultados.Rows(0)("CveContratoTipo").ToString.ToEntero = 25 Then
|
|
trLicitacion.Visible = False
|
|
divResponsable.Visible = False
|
|
TrPeriodo.Visible = True
|
|
CargaPeriodos()
|
|
trIva.Visible = False
|
|
trAnticipo.Visible = False
|
|
trAmortizacion.Visible = False
|
|
trPorGarantia.Visible = False
|
|
DvMin.Visible = False
|
|
DvMax.Visible = False
|
|
DvTotal.Visible = False
|
|
TabPVInsumos.Visible = False
|
|
RowEstatus.Visible = False
|
|
TabPres.HeaderText = "Partidas"
|
|
thOcCliente.Style.Add("display", "none")
|
|
tdOcCliente.Style.Add("display", "none")
|
|
thNoIdentificacionv.Style.Add("display", "none")
|
|
thLimitar.Style.Add("display", "none")
|
|
tdLimitar2.Style.Add("display", "none")
|
|
tdNoIdentificacionv.Style.Add("display", "none")
|
|
RowFlexible.Visible = False
|
|
TableDatosCabecera.Visible = False
|
|
TabAvanveDocumento.Visible = False
|
|
TabSistema.Visible = False
|
|
RowPorcentajeComision.Visible = False
|
|
TabContratosGastos.Visible = False
|
|
tdCveInterna.Text = ""
|
|
tdLimitar.Text = ""
|
|
tdOC.Text = ""
|
|
THAvance.Visible = False
|
|
THAvance.Style.Add("display", "none")
|
|
TDAvance.Style.Add("display", "none")
|
|
TxtOCInterna.Visible = False
|
|
TxtNoIdentificacionv.Visible = False
|
|
ChkLimitarVenta.Visible = False
|
|
DvObservaciones.Visible = True
|
|
TDObservacion.Visible = True
|
|
tdObservaciones.Visible = True
|
|
TxtObservaciones.Text = ObjContratos.DtResultados.Rows(0)("Observaciones").ToString
|
|
Gv.Columns(6).Visible = True
|
|
DdlPeriodo.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CvePeriodo").ToString)
|
|
End If
|
|
|
|
If ObjContratos.DtResultados.Rows(0)("CveVendedor").ToString.ToEntero > 0 Then
|
|
DdlVendedor.SelectedValueExist(ObjContratos.DtResultados.Rows(0)("CveVendedor"))
|
|
End If
|
|
|
|
|
|
If (DdlAlmacenDestino.Items.FindByValue(ObjContratos.CveAlmacen.ToString()) Is Nothing) Then
|
|
Dim dr As DataRow = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveAlmacen = {0}", ObjContratos.CveAlmacen))
|
|
If dr IsNot Nothing Then
|
|
DdlAlmacenDestino.Items.Insert(1, New ListItem(dr("Almacen").ToString, dr("CveAlmacen").ToString)) ' lo genera Obj.SelectedValue = Valor.ToString
|
|
End If
|
|
End If
|
|
DdlAlmacenDestino.SelectedValue = ObjContratos.CveAlmacen.ToString
|
|
|
|
If (DdlAlmacenOrigen.Items.FindByValue(ObjContratos.CveAlmacenOrigen.ToString()) Is Nothing) Then
|
|
Dim dr As DataRow = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveAlmacen = {0}", ObjContratos.CveAlmacenOrigen))
|
|
If dr IsNot Nothing Then
|
|
DdlAlmacenOrigen.Items.Insert(1, New ListItem(dr("Almacen").ToString, dr("CveAlmacen").ToString)) ' lo genera Obj.SelectedValue = Valor.ToString
|
|
End If
|
|
End If
|
|
DdlAlmacenOrigen.SelectedValue = ObjContratos.CveAlmacenOrigen.ToString
|
|
|
|
FechaF = ObjContratos.FechaFinal
|
|
FechaI = ObjContratos.FechaInicial
|
|
TxtFechaFinal.Text = ObjContratos.FechaFinal.ToShortDateString
|
|
TxtFechaInicial.Text = ObjContratos.FechaInicial.ToShortDateString
|
|
TxtUbicacion.Text = ObjContratos.Ubicacion
|
|
TxtResponsable.Text = ObjContratos.Responsable
|
|
TxtPorAnticipo.Text = ObjContratos.PorAmortizacionAnticipo.FormatoNumero
|
|
TxtPorAmortizacionAnticipo.Text = ObjContratos.PorAmortizacionAnticipo.FormatoNumero
|
|
TxtPorGarantia.Text = ObjContratos.PorGarantia.FormatoNumero
|
|
DdlProyecto.SelectedValue = ObjContratos.CveProyecto.ToString
|
|
CargaSubProyectoContrato(DdlProyecto.SelectedValue.ToEntero)
|
|
DdlSubProyectoContrato.SelectedValue = ObjContratos.CveSubProyecto.ToString
|
|
TxtPorIVA.Text = ObjContratos.PorIVA.ToString
|
|
txtMinimo.Text = ObjContratos.Minimo.FormatoNumero
|
|
txtMaximo.Text = ObjContratos.Maximo.FormatoNumero
|
|
TxtTotal.Text = ObjContratos.Importe.FormatoNumero
|
|
'TxtArchivo.Text = ObjContratos.Archivo
|
|
DdlTipoGarantia.SelectedValueExist(ObjContratos.TipoGarantia)
|
|
DdlEstatusFianza.SelectedValueExist(ObjContratos.EstatusFianza)
|
|
TxtFolio.Text = ObjContratos.Folio.ToString
|
|
txtFechaVenc.Text = ObjContratos.FechaVenc.ToString
|
|
DdlEstatus.SelectedValueExist(ObjContratos.CveContratosEstatus.ToString)
|
|
CargarFianzas()
|
|
|
|
If ObjContratos.TipoEstatus = 2 Then
|
|
DdlEstatus.Enabled = False
|
|
If UsuarioActual.TienePermisoProceso(173) Then
|
|
liVigenteContrato.Visible = True
|
|
LBVigenteContrato.Visible = True
|
|
End If
|
|
Else
|
|
DdlEstatus.Items.Clear()
|
|
'Se esta ocultando concluido'
|
|
DdlEstatus.DataSource = CType(DdlEstatus.DataSource, DataTable).FiltraParametros("TipoEstatus NOT IN (2)")
|
|
DdlEstatus.DataBind()
|
|
Select Case ObjContratos.TipoEstatus
|
|
Case 1
|
|
If UsuarioActual.TienePermisoProceso(173) Then
|
|
liTerminarContrato.Visible = True
|
|
LBTerminarContrato.Visible = True
|
|
|
|
liCancelarContrato.Visible = True
|
|
LBCancelarContrato.Visible = True
|
|
End If
|
|
Case 2, 3 ' reactivar el contrato
|
|
If UsuarioActual.TienePermisoProceso(173) Then
|
|
liVigenteContrato.Visible = True
|
|
LBVigenteContrato.Visible = True
|
|
End If
|
|
End Select
|
|
|
|
End If
|
|
TxtTipoCambio.Text = ObjContratos.TipoCambio.ToString
|
|
|
|
ModalidadDetalle = ObjContratos.ModalidadDetalle
|
|
chkDetalleContrato.Checked = If(ModalidadDetalle = 2, True, False)
|
|
ChkImpuestosLocales.Checked = ObjContratos.AplicaImpuestosLocales
|
|
GvImpuestosLocales.Visible = ObjContratos.AplicaImpuestosLocales
|
|
modalidades(ModalidadDetalle)
|
|
|
|
CargaGVGastos()
|
|
|
|
DdlMoneda.SelectedValue = ObjContratos.CveMoneda.ToString
|
|
If DdlMoneda.SelectedIndex > 0 Then
|
|
tipoCambio.Visible = True
|
|
End If
|
|
|
|
|
|
If ObjContratos.CveProveedor > 0 Then
|
|
Contratante = ObjContratos.RazonSocial.ToString
|
|
Else
|
|
Contratante = ObjContratos.NombreComercial.ToString
|
|
End If
|
|
|
|
'AFU.Visible = False
|
|
|
|
'TxtArchivo.Text = ObjContratos.Archivo.ToString
|
|
|
|
'ChkEstatusContrato.Checked = CBool(ObjContratos.EstatusContrato)
|
|
DdlContratoPadre.SelectedValue = ObjContratos.CveContratoPadre.ToString
|
|
LblFechaCaptura.Text = ObjContratos.FechaIng.ToShortDateString
|
|
'HplSecciones.NavigateUrl = "/Contratos/ContratosSecciones.aspx?CveContrato=" & CveContrato
|
|
'CargaDatosPresup()
|
|
|
|
CargaPresupuesto()
|
|
' MuestraPermiteAvance()
|
|
cargarBitacora()
|
|
If LblImporte.Text.ToDecimal <= 0 Then
|
|
LblImporte.Text = ObjContratos.ImporteTotal.ToString.FormatoNumero
|
|
End If
|
|
|
|
If Not IsDBNull(ObjContratos.Archivo) AndAlso ObjContratos.Archivo <> "" AndAlso ObjContratos.Archivo <> "-1" AndAlso ObjContratos.Archivo <> $"{ObjContratos.CveContrato}." Then
|
|
ViewState("FUrl") = Path.Combine(UsuarioActual.Empresa.Ruta, "CONTRATOS", ObjContratos.Archivo)
|
|
'A2.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CONTRATO&CveEmpresa={0}&Archivo={1}", ObjContratos.CveEmpresa, ViewState("FUrl").ToString)))
|
|
BtnDescargar.Visible = True
|
|
Else
|
|
BtnDescargar.Visible = False
|
|
A1.Visible = True
|
|
End If
|
|
|
|
Else
|
|
CveContrato = -1
|
|
Alert("El Contrato Solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia)
|
|
BtnGuardar.Enabled = False
|
|
End If
|
|
Else
|
|
CveContrato = -1
|
|
Alert("Ocurrió un error al cargar el Contrato. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
|
BtnGuardar.Enabled = False
|
|
End If
|
|
UpGral.Update()
|
|
UPAFUL.Update()
|
|
UpProyecto.Update()
|
|
UpImpuestos.Update()
|
|
UpTitulos.Update()
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
Private Sub CargaContratoAddendum()
|
|
Dim ObjContratos As New ClsContratos
|
|
If ObjContratos.GetContratosAddendum(CveContrato) Then
|
|
If ObjContratos.DtResultados.Rows.Count > 0 Then
|
|
TabAddendum.Visible = True
|
|
GvAddendum.DataSource = ObjContratos.DtResultados
|
|
GvAddendum.DataBind()
|
|
End If
|
|
End If
|
|
End Sub
|
|
Private Sub CargaPresupuesto()
|
|
Dim ObjContratos As New ClsContratos
|
|
TabPres.Visible = True
|
|
|
|
If TipoContrato = 4 Then
|
|
TabPI.Visible = True
|
|
End If
|
|
If ObjContratos.GetContratosDetalle(CveContrato) Then
|
|
TmpDT = ObjContratos.DtResultados
|
|
If TmpDT.MAX("Cantidad_Original").ToString.ToEntero > 0 OrElse TmpDT.MAX("PU_Original").ToString.ToEntero > 0 Then
|
|
BtnAutorizar.Visible = False
|
|
Autorizado = True
|
|
BtnAgregarDetalle.Visible = False
|
|
AgregarInt.Visible = UsuarioActual.TienePermisoProceso(129)
|
|
End If
|
|
|
|
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
|
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
|
|
|
GvInt.DataSource = TmpDT.FiltraParametros("CveTipoPresupuesto=1")
|
|
GvInt.DataBind()
|
|
|
|
UpGV.Update()
|
|
UpGVInsumos.Update()
|
|
UPGVInt.Update()
|
|
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
|
|
End Sub
|
|
|
|
Private Sub CargarFianzas()
|
|
|
|
DivFianzas.Visible = True
|
|
|
|
Dim ObjContrato As ClsContratos = New ClsContratos()
|
|
|
|
If ObjContrato.GetContratoFianza(CveContrato, -1, "-1", "-1", UsuarioActual.CveEmpresa, -1) Then
|
|
DtTmpFianzas = ObjContrato.DtResultados
|
|
GvFianzas.DataSource = ObjContrato.DtResultados
|
|
|
|
DtTmpFianzasInicial = DtTmpFianzas.Copy()
|
|
|
|
End If
|
|
|
|
ObjContrato.Dispose()
|
|
GvFianzas.DataBind()
|
|
UpGvFianzas.Update()
|
|
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region " GUARDAR "
|
|
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
|
|
Dim ObjContratos As New ClsContratos
|
|
Dim ObjInventarios As New ClsInventarios(ObjContratos.IniciaTransacSQL)
|
|
|
|
Dim TieneError = False
|
|
Dim Modificado = False
|
|
' Dim Extension = Session("FileExtension").ToString
|
|
Dim Archivo = Session("FileUpload").ToString
|
|
Dim Ruta = Session("FileFolder").ToString
|
|
|
|
Dim Minimo, Maximo, Total As Double
|
|
'If txtMinimo.Text.ToDouble > 0 Then Minimo = txtMinimo.Text.ToDouble Else Minimo = -1
|
|
'If txtMaximo.Text.ToDouble > 0 Then Maximo = txtMaximo.Text.ToDouble Else Maximo = -1
|
|
'If TxtTotal.Text.ToDouble > 0 Then Total = TxtTotal.Text.ToDouble Else Total = -1
|
|
Minimo = txtMinimo.Text.ToDouble
|
|
Maximo = txtMaximo.Text.ToDouble
|
|
Total = TxtTotal.Text.ToDouble
|
|
|
|
|
|
If DdlMoneda.SelectedIndex > 0 Then
|
|
If TxtTipoCambio.Text.Trim.Length = 0 Or TxtTipoCambio.Text.Trim.ToDouble = 0.0 Then
|
|
Alert("Cuando seleccione una moneda diferente a peso debe especificar el tipo de cambio.", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
|
|
'Crear Contrato
|
|
If Not CveContrato > 0 Then
|
|
If DdlContratista.SelectedValue.ToEntero = -1 And DdlCliente.SelectedValue.ToEntero = -1 Then
|
|
Alert("Debe seleccionar con quién está haciendo el contrato. Proveedor o Cliente", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
|
|
CveContrato = ObjContratos.AddContratos(TxtNumeroContrato.Text, TxtDescripcionContrato.Text, TxtNumeroLicitacion.Text.Trim, DdlContratista.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, -1, TxtFechaInicial.Text.ToDate, TxtFechaFinal.Text.ToDate,
|
|
TxtUbicacion.Text, TxtResponsable.Text, DdlSubProyectoContrato.SelectedValue.ToEntero, TxtPorIVA.Text.ToDouble, TxtPorAnticipo.Text.ToDouble, TxtPorAmortizacionAnticipo.Text.ToDouble,
|
|
TxtPorGarantia.Text.ToDouble, "." & Session("FileExtension").ToString, "", DdlContratoPadre.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, Minimo, Maximo, Total,
|
|
DdlMoneda.SelectedValue.ToEntero, ModalidadDetalle, If(DdlTipoContrato.SelectedValue.ToEntero = 25 OrElse UsuarioActual.Empresa.CvePlataforma = 3, 1, DdlEstatus.SelectedValue.ToEntero), TipoContrato,
|
|
TxtTipoCambio.Text.ToDouble, CveSucursalCliente:=DdlSucursalCliente.SelectedValue.ToEntero, CveAlmacenOrigen:=DdlAlmacenOrigen.SelectedValue.ToEntero, CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero,
|
|
PorcentajeComision:=TxtPorcentajeComision.Text.ToEntero, TipoGarantia:=DdlTipoGarantia.SelectedValue.ToEntero, Folio:=TxtFolio.Text.ToEntero, FechaVenc:=txtFechaVenc.Text.ToDate, EstatusFianza:=DdlEstatusFianza.SelectedValue.ToEntero,
|
|
CvePeriodo:=DdlPeriodo.SelectedValue.ToEntero, CveCuentaEquipo:=DdlCuentaEquipo.SelectedValue.ToEntero, CveContratoPlantilla:=DdlPlantillaContrato.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero,
|
|
Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=DdlClienteDireccionEnvio.SelectedValue.ToEntero, AplicaImpuestosLocales:=ChkImpuestosLocales.Checked, CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim())
|
|
|
|
|
|
TieneError = Not GuardaFianzas(ObjContratos)
|
|
|
|
|
|
If CveContrato > 0 AndAlso Not TieneError Then
|
|
'Renombrar archivo
|
|
If ViewState("extencion") IsNot Nothing Then
|
|
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
|
|
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
|
|
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
|
|
End If
|
|
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
|
|
|
|
'ViewState("extencion") = FileExtension
|
|
'ViewState("FUrl") = Path.Combine(UsuarioActual.Empresa.Ruta, "Contratos", "Temp", ViewState("FName").ToString)
|
|
Try
|
|
If File.Exists(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString)) Then
|
|
File.Delete(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
|
|
End If
|
|
System.IO.File.Move(ViewState("FUrl").ToString, String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End If
|
|
End If
|
|
|
|
If UsuarioActual.Empresa.CvePlataforma = 3 AndAlso DdlTipoContrato.SelectedValue = "14" Then
|
|
Dim FechaI As DateTime = TxtFechaInicial.Text.ToDateTime
|
|
Dim FechaF As DateTime = TxtFechaFinal.Text.ToDateTime
|
|
Dim Periodo As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
|
|
Dim VigenciaEnDias As Double = DateDiff(DateInterval.Day, FechaI, FechaF)
|
|
Dim CiclosComerciales As Integer = Math.Round(VigenciaEnDias / Periodo).ToEntero
|
|
For Ciclo As Integer = 1 To CiclosComerciales
|
|
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaI.AddDays(Periodo * Ciclo)) Then TieneError = True : Exit For
|
|
Next
|
|
ElseIf DdlTipoContrato.SelectedValue = "25" Then
|
|
Dim FechaI As DateTime = TxtFechaInicial.Text.ToDateTime
|
|
Dim FechaF As DateTime = TxtFechaFinal.Text.ToDateTime
|
|
If FechaI >= DateTime.Today Then
|
|
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaI) Then TieneError = True
|
|
End If
|
|
Dim Periodo As Integer = DtPeriodo.FiltroPrimeroValor("Meses", $"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").ToEntero
|
|
Dim VigenciaMeses As Double = DateDiff(DateInterval.Month, FechaI, FechaF)
|
|
Dim CiclosComerciales As Integer = Math.Ceiling(VigenciaMeses / Periodo).ToEntero
|
|
For Ciclo As Integer = 1 To CiclosComerciales
|
|
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, If(FechaI.AddMonths(Periodo * Ciclo) > FechaF, FechaF, FechaI.AddMonths(Periodo * Ciclo))) Then TieneError = True : Exit For
|
|
Next
|
|
End If
|
|
|
|
If TxtNumeroContrato.Text = FolioSugerido Then
|
|
Dim ObjFolios As New ClsGralFolios
|
|
If Not ObjFolios.UpdateFolioActual(DdlSubProyectoContrato.SelectedValue.ToEntero, "Con", True, UsuarioActual.CveEmpresa) Then
|
|
TieneError = True
|
|
End If
|
|
ObjFolios.Dispose()
|
|
End If
|
|
|
|
If ChkImpuestosLocales.Checked Then
|
|
Dim count As Integer = 0
|
|
|
|
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
|
|
If GVR.FCCheckBox("ChkDeduccion").Checked Then
|
|
count = count + 1
|
|
ObjContratos.AddContratoImpuestosLocales(CveContrato, GVR.DataKey("CveImpuestoLocal").ToEntero)
|
|
End If
|
|
Next
|
|
|
|
If count = 0 Then
|
|
Alert("Debe seleccionar un Impuesto Local", TipoMensaje.MsgAdvertencia)
|
|
TieneError = True
|
|
End If
|
|
End If
|
|
|
|
Else
|
|
TieneError = True
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Else
|
|
Modificado = True
|
|
If DdlContratista.SelectedValue.ToEntero = -1 And DdlCliente.SelectedValue.ToEntero = -1 Then
|
|
Alert("Debe seleccionar con quién está haciendo el contrato. Proveedor o Cliente", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
Dim ArchivoUpdate As String = "-1"
|
|
|
|
If Session("FileExtension").ToString <> "" Then
|
|
ArchivoUpdate = "." & Session("FileExtension").ToString
|
|
Else
|
|
|
|
End If
|
|
|
|
If ObjContratos.UpdateContratos(CveContrato, TxtNumeroContrato.Text, TxtDescripcionContrato.Text, TxtNumeroLicitacion.Text.Trim, DdlContratista.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, -1, TxtFechaInicial.Text.ToDate, TxtFechaFinal.Text.ToDate,
|
|
TxtUbicacion.Text, TxtResponsable.Text, DdlSubProyectoContrato.SelectedValue.ToEntero, TxtPorIVA.Text.ToDouble, TxtPorAnticipo.Text.ToDouble, TxtPorAmortizacionAnticipo.Text.ToDouble,
|
|
TxtPorGarantia.Text.ToDouble, ArchivoUpdate, "", DdlContratoPadre.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, Minimo, Maximo, Total, DdlMoneda.SelectedValue.ToEntero,
|
|
ModalidadDetalle, If(UsuarioActual.Empresa.CvePlataforma = 3 OrElse CveTipoContrato = 25, 1, DdlEstatus.SelectedValue.ToEntero), TipoContrato, TxtTipoCambio.Text.ToDouble, CveSucursalCliente:=DdlSucursalCliente.SelectedValue.ToEntero,
|
|
CveAlmacenOrigen:=DdlAlmacenOrigen.SelectedValue.ToEntero, CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero, PorcentajeComision:=TxtPorcentajeComision.Text.ToEntero,
|
|
TipoGarantia:=DdlTipoGarantia.SelectedValue.ToEntero, Folio:=TxtFolio.Text.ToEntero, FechaVenc:=txtFechaVenc.Text.ToDate, EstatusFianza:=DdlEstatusFianza.SelectedValue.ToEntero, CveContratoPlantilla:=DdlPlantillaContrato.SelectedValue.ToEntero,
|
|
CveCuentaEquipo:=DdlCuentaEquipo.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=DdlClienteDireccionEnvio.SelectedValue.ToEntero, AplicaImpuestosLocales:=ChkImpuestosLocales.Checked,
|
|
CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim()) Then
|
|
|
|
|
|
TieneError = Not GuardaFianzas(ObjContratos)
|
|
|
|
'Renombrar archivo
|
|
If Not TieneError Then
|
|
|
|
If UsuarioActual.Empresa.CvePlataforma = 3 AndAlso DdlTipoContrato.SelectedValue = "14" Then
|
|
Dim FechaIN As DateTime = TxtFechaInicial.Text.ToDateTime
|
|
Dim FechaFN As DateTime = TxtFechaFinal.Text.ToDateTime
|
|
Dim Periodo As Integer = DtPeriodo.FiltraParametros($"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").Rows(0)("Dias").ToString.ToEntero
|
|
Dim VigenciaEnDias As Double = DateDiff(DateInterval.Day, FechaI, FechaF)
|
|
Dim CiclosComerciales As Integer = Math.Round(VigenciaEnDias / Periodo).ToEntero
|
|
For Ciclo As Integer = 1 To CiclosComerciales
|
|
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaI.AddDays(Periodo * Ciclo)) Then TieneError = True : Exit For
|
|
Next
|
|
ElseIf CveTipoContrato = 25 Then
|
|
Dim FechaIN As DateTime = TxtFechaInicial.Text.ToDateTime
|
|
Dim FechaFN As DateTime = TxtFechaFinal.Text.ToDateTime
|
|
If FechaFN <> FechaF OrElse FechaI <> FechaIN Then
|
|
If Not ObjContratos.CicloComercialDelete(CveContrato, False, UsuarioActual.CveEmpresa) Then
|
|
TieneError = True
|
|
End If
|
|
If Not TieneError Then
|
|
If FechaIN >= DateTime.Today Then
|
|
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, FechaIN) Then TieneError = True
|
|
End If
|
|
Dim Periodo As Integer = DtPeriodo.FiltroPrimeroValor("Meses", $"CvePeriodo = {DdlPeriodo.SelectedValue.ToEntero}").ToEntero
|
|
Dim VigenciaMeses As Double = DateDiff(DateInterval.Month, FechaI, FechaF)
|
|
Dim CiclosComerciales As Integer = Math.Ceiling(VigenciaMeses / Periodo).ToEntero
|
|
For Ciclo As Integer = 1 To CiclosComerciales
|
|
If Not ObjContratos.CicloComercialAdd(CveContrato, -1, DdlCliente.SelectedValue.ToEntero, False, -1, 1, UsuarioActual.CveEmpresa, If(FechaIN.AddMonths(Periodo * Ciclo) > FechaFN, FechaFN, FechaIN.AddMonths(Periodo * Ciclo))) Then TieneError = True : Exit For
|
|
Next
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
If ViewState("extencion") IsNot Nothing Then
|
|
|
|
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
|
|
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
|
|
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
|
|
End If
|
|
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
|
|
|
|
Try
|
|
If File.Exists(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString)) Then
|
|
File.Delete(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
|
|
End If
|
|
System.IO.File.Move(ViewState("FUrl").ToString, String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString))
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
' System.IO.File.Move(Archivo, String.Format("{0}{1}{2}", Ruta, CveContrato.ToString, Extension))
|
|
End If
|
|
End If
|
|
|
|
If ChkImpuestosLocales.Checked Then
|
|
Dim count As Integer = 0
|
|
ObjContratos.LimpiaImpuestosLocales(CveContrato)
|
|
|
|
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
|
|
If GVR.FCCheckBox("ChkDeduccion").Checked Then
|
|
count = count + 1
|
|
ObjContratos.AddContratoImpuestosLocales(CveContrato, GVR.DataKey("CveImpuestoLocal").ToEntero)
|
|
End If
|
|
Next
|
|
|
|
If count = 0 Then
|
|
Alert("Debe seleccionar un Impuesto Local", TipoMensaje.MsgAdvertencia)
|
|
TieneError = True
|
|
End If
|
|
Else
|
|
ObjContratos.LimpiaImpuestosLocales(CveContrato)
|
|
End If
|
|
|
|
End If
|
|
Else
|
|
TieneError = True
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
End If
|
|
|
|
'If Not TieneError Then
|
|
' TieneError = GuardarAlmacen(ObjInventarios)
|
|
'End If
|
|
|
|
If TieneError Then
|
|
ObjContratos.RollBack()
|
|
Else
|
|
ObjContratos.Commit()
|
|
|
|
If ObjContratos.GetContratos(-1, -1) Then
|
|
Application("GlobalDTContratos") = ObjContratos.DtResultados
|
|
End If
|
|
|
|
Limpiar()
|
|
If Modificado Then
|
|
Alert("El Contrato se modificó Correctamente.", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato))
|
|
Else
|
|
Alert("El Contrato se registró Correctamente.", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato))
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
UpGral.Update()
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region " ELIMINAR "
|
|
Protected Sub BtnEliminar_Click(sender As Object, e As EventArgs) Handles BtnEliminar.Click
|
|
Dim objContratos As New ClsContratos
|
|
|
|
If objContratos.RemoveContrato(CveContrato, UsuarioActual.Empresa.CveEmpresa) Then
|
|
Response.Redirect("./Contratos.aspx")
|
|
Else
|
|
' Alert("Ocurrio un error al eliminar el contrato", TipoMensaje.MsgError)
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region " TERMINAR/CANCELAR CONTRATO "
|
|
Protected Sub LBTerminarContrato_Click(sender As Object, e As EventArgs)
|
|
Dim ObjContratos As New ClsContratos
|
|
If ObjContratos.TerminarContrato(CveContrato, 2, UsuarioActual.CveEmpresa) > 0 Then
|
|
Alert("El Contrato fue terminado Correctamente.", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato))
|
|
End If
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
|
|
Protected Sub LBCancelarContrato_Click(sender As Object, e As EventArgs)
|
|
Dim ObjContratos As New ClsContratos
|
|
If ObjContratos.TerminarContrato(CveContrato, 3, UsuarioActual.CveEmpresa) > 0 Then
|
|
Alert("El Contrato fue cancelado Correctamente.", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato))
|
|
End If
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
|
|
Protected Sub LBVigenteContrato_Click(sender As Object, e As EventArgs)
|
|
Dim ObjContratos As New ClsContratos
|
|
If ObjContratos.TerminarContrato(CveContrato, 1, UsuarioActual.CveEmpresa) > 0 Then
|
|
Alert("El Contrato fue cancelado Correctamente.", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato))
|
|
End If
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region " TABS "
|
|
|
|
#Region " TAB: INFORMACION GENERAL"
|
|
|
|
#Region "COMBOS - INFO GENERAL"
|
|
Private Sub CargaProyecto()
|
|
CargarCentrosDeCosto(DdlProyecto, DdlSubProyectoContrato, LblProyecto, lblsubproyecto)
|
|
trddlproyecto.Visible = LblProyecto.Visible
|
|
'If UsuarioActual.Empresa.GralSoloProyecto Then
|
|
' CargaSubProyectoContrato(-1)
|
|
' lblsubproyecto.Text = "Proyecto"
|
|
'Else
|
|
' DdlProyecto.DataSource = GlobalDTProyectos(UsuarioActual.Empresa.CveEmpresa).FiltraParametros("", "", {"CveProyecto", "Proyecto"})
|
|
' DdlProyecto.DataBind()
|
|
'End If
|
|
End Sub
|
|
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlProyecto.SelectedIndexChanged
|
|
CargaSubProyectoContrato(DdlProyecto.SelectedValue.ToEntero)
|
|
End Sub
|
|
Protected Sub CargaSubProyectoContrato(CveProyecto As Integer)
|
|
DdlSubProyectoContrato.Items.Clear()
|
|
DdlSubProyectoContrato.DataSource = GlobalDTSubProyectos(CveProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("", "", {"CveSubproyecto", "SubProyecto2"})
|
|
DdlSubProyectoContrato.DataBind()
|
|
DdlSubProyectoContrato.Items.Insert(0, New ListItem("Seleccione un Proyecto", "-1"))
|
|
End Sub
|
|
Private Sub CargaContratista()
|
|
DdlContratista.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
|
|
DdlContratista.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaVendedores()
|
|
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa)
|
|
DdlVendedor.DataBind()
|
|
End Sub
|
|
Private Sub CargaContratoPadre()
|
|
DdlContratoPadre.Items.Clear()
|
|
DdlContratoPadre.DataSource = GlobalDTContratos.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveContratoTipo = {TipoContrato} {If(DdlCliente.SelectedValue.ToEntero > 0, $"AND CveCliente = {DdlCliente.SelectedValue}", "")} {If(CveContrato > 0, $"AND CveContrato <> {CveContrato}", "")} ")
|
|
DdlContratoPadre.DataBind()
|
|
DdlContratoPadre.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
End Sub
|
|
Private Sub CargaContratosEstatus()
|
|
Dim ObjContratos As New ClsContratos
|
|
ObjContratos.GetContratosEstatus(UsuarioActual.CveEmpresa)
|
|
DdlEstatus.DataSource = ObjContratos.DtResultados
|
|
DdlEstatus.DataBind()
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
Protected Sub DdlCliente_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
CargaSucursalCliente()
|
|
CargaDireccionesEnvios(DdlCliente.SelectedValue.ToEntero)
|
|
UPPDatos.Update()
|
|
End Sub
|
|
Private Sub CargaSucursalCliente()
|
|
TrClienteSucursal.Visible = False
|
|
|
|
Dim ObjCliente As New ClsClientes()
|
|
|
|
If DdlCliente.SelectedValue.ToEntero > 0 Then
|
|
|
|
If ObjCliente.GetSucursales(DdlCliente.SelectedValue.ToEntero) Then
|
|
DdlSucursalCliente.DataSource = ObjCliente.DtResultados
|
|
If ObjCliente.DtResultados.Rows.Count > 0 Then
|
|
TrClienteSucursal.Visible = True
|
|
End If
|
|
DdlSucursalCliente.DataBind()
|
|
DdlTipoContrato.Items.Insert(0, New ListItem("Matriz", "-1"))
|
|
End If
|
|
If UsuarioActual.Empresa.CvePlataforma = 3 Then ' QUITAR
|
|
CargaCuentasEquipos()
|
|
End If
|
|
End If
|
|
|
|
ObjCliente.Dispose()
|
|
|
|
CargaContratoPadre()
|
|
UpProyecto.Update()
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#End Region
|
|
|
|
#Region " ARCHIVO "
|
|
|
|
Private Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles BtnDescargar.Click
|
|
DescargarArchivo()
|
|
End Sub
|
|
|
|
Private Sub DescargarArchivo()
|
|
Dim File As New FileInfo(ViewState("FUrl").ToString)
|
|
|
|
If File.Exists Then 'set appropriate headers
|
|
Response.Clear()
|
|
Response.ClearHeaders()
|
|
Response.ClearContent()
|
|
Response.AddHeader("Content-Disposition", "attachment; filename=" & TxtNumeroContrato.Text & ".pdf")
|
|
Response.AddHeader("Content-Length", File.Length.ToString())
|
|
'Response.ContentType = "text/plain"
|
|
Response.ContentType = "application/octet-stream"
|
|
Response.Flush()
|
|
' Response.TransmitFile(File.FullName)
|
|
Response.WriteFile(File.FullName)
|
|
Response.End()
|
|
'if file does not exist
|
|
|
|
Alert("Descargado Correctamente.", TipoMensaje.MsgInformacion)
|
|
Else
|
|
Alert("Ocurrio un error al descargar el archivo", TipoMensaje.MsgAdvertencia, "window.close()")
|
|
|
|
End If 'nothing in the URL as HTTP GET
|
|
End Sub
|
|
|
|
Protected Sub BtnGuardarArchivo_Click1(sender As Object, e As EventArgs) Handles BtnGuardarArchivo.Click
|
|
Dim FileExtension As String = "-1"
|
|
Dim Filesgral As List(Of Archivo) = Anexo.getfiles().Archivos
|
|
Dim Filename As String = ""
|
|
Dim folderContratosPath As String = Path.Combine(UsuarioActual.Empresa.Ruta, "Contratos")
|
|
|
|
If Not Directory.Exists(folderContratosPath) Then
|
|
Directory.CreateDirectory(folderContratosPath)
|
|
End If
|
|
|
|
If Not Directory.Exists(Path.Combine(folderContratosPath, "Temp")) Then
|
|
Directory.CreateDirectory(Path.Combine(folderContratosPath, "Temp"))
|
|
End If
|
|
|
|
For Each fileItem As Archivo In Filesgral
|
|
|
|
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
|
|
Session("FileExtension") = FileExtension
|
|
Dim tempArray() As String
|
|
tempArray = fileItem.filename.ToString().Split("-".ToCharArray())
|
|
|
|
|
|
ViewState("extencion") = FileExtension
|
|
ViewState("FUrl") = Path.Combine(UsuarioActual.Empresa.Ruta, "Contratos", "Temp", fileItem.filename)
|
|
|
|
File.Move(fileItem.FileUrl, ViewState("FUrl").ToString)
|
|
TxtArchivo.Text = tempArray(1)
|
|
' imgFileOk.Visible = True
|
|
'ImgArchivo.Src = "/imagenes/accept.png"
|
|
Next
|
|
|
|
UPAFUL.Update()
|
|
|
|
RegistraScript("$('#ModalUpload').modal('hide')", "hidemodal1")
|
|
A1.Visible = True
|
|
If Not FileExtension = "-1" Then
|
|
BtnDescargar.Visible = True
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
#End Region
|
|
|
|
#Region " TAB: PRESUPUESTOS "
|
|
|
|
#Region "C O M B O S - PRESUPUESTOS"
|
|
Private Function isWhitFamily() As Boolean
|
|
Return (UsuarioActual.CveEmpresa = 66)
|
|
End Function
|
|
|
|
Private Sub CargaClasificaciones()
|
|
DdlClasificacionAdd.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) ' GlobalDTClasificacionesPresupuestos(UsuarioActual.CveEmpresa)
|
|
DdlClasificacionAdd.DataBind()
|
|
DdlClasificacionAdd.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
|
|
DdlClasificacionAddInsumos.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) ' GlobalDTClasificacionesPresupuestos(UsuarioActual.CveEmpresa)
|
|
DdlClasificacionAddInsumos.DataBind()
|
|
DdlClasificacionAddInsumos.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
|
|
DdlClasificacionInt.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) 'GlobalDTSubFamilias(UsuarioActual.CveEmpresa)
|
|
DdlClasificacionInt.DataBind()
|
|
DdlClasificacionInt.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
End Sub
|
|
|
|
#Region " FUNCIONALIDAD 105 "
|
|
Private Sub CargaPS()
|
|
DdlProductows.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
|
|
If Not DdlProductows.UsaWebService AndAlso CType(DdlProductows.DataSource, DataTable) Is Nothing Then
|
|
DdlProductows.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
|
|
DdlProductows.DataBind()
|
|
Else
|
|
DdlProductows.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacionAdd.SelectedValue)
|
|
End If
|
|
ElProductoChange()
|
|
End Sub
|
|
Protected Sub DdlProducto_ValueChanged(sender As Object, e As EventArgs) Handles DdlProductows.selectedindexchange
|
|
ElProductoChange()
|
|
End Sub
|
|
Private Sub ElProductoChange()
|
|
DdlUM.Items.Clear()
|
|
DdlUM.DataSource = GlobalDTProductosServiciosEquivalencias(DdlProductows.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa)
|
|
DdlUM.DataBind()
|
|
UpTitulos.Update()
|
|
End Sub
|
|
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlClasificacionAdd.SelectedIndexChanged
|
|
ChangeDdlProducto()
|
|
End Sub
|
|
Private Sub ChangeDdlProducto()
|
|
If UsuarioActual.Empresa.Funcionalidad(105) = "" Then
|
|
DdlProductows.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacionAdd.SelectedValue.ToEntero).FiltraParametros("", "PSCodigo")
|
|
DdlProductows.DataBind()
|
|
DdlProductows.ddl.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
Else
|
|
DdlProductows.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacionAdd.SelectedValue)
|
|
DdlProductows.SelectedText = "Seleccione"
|
|
DdlProductows.SelectedValue = "-1"
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CargaPSInsumos()
|
|
DdlProductowsInsumos.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
|
|
If Not DdlProductowsInsumos.UsaWebService AndAlso CType(DdlProductowsInsumos.DataSource, DataTable) Is Nothing Then
|
|
DdlProductowsInsumos.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
|
|
DdlProductowsInsumos.DataBind()
|
|
End If
|
|
ElProductoChangeInsumos()
|
|
End Sub
|
|
Protected Sub DdlProductoInsumos_ValueChanged(sender As Object, e As EventArgs) Handles DdlProductowsInsumos.selectedindexchange
|
|
ElProductoChangeInsumos()
|
|
End Sub
|
|
Private Sub ElProductoChangeInsumos()
|
|
DdlUMInsumos.Items.Clear()
|
|
DdlUMInsumos.DataSource = GlobalDTProductosServiciosEquivalencias(DdlProductowsInsumos.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa)
|
|
DdlUMInsumos.DataBind()
|
|
UpTitulos.Update()
|
|
End Sub
|
|
Protected Sub DdlClasificacionInsumos_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlClasificacionAddInsumos.SelectedIndexChanged
|
|
ChangeDdlProductoInsumos()
|
|
End Sub
|
|
Private Sub ChangeDdlProductoInsumos()
|
|
If UsuarioActual.Empresa.Funcionalidad(105) = "" Then
|
|
'Dim filtro As String = ""
|
|
'If Not (DdlClasificacionAddInsumos.SelectedValue = "-1") Then
|
|
|
|
' If isWhitFamily() Then
|
|
' filtro = String.Format("CveSubFamilia={0}", DdlClasificacionAddInsumos.SelectedValue)
|
|
' Else
|
|
' filtro = String.Format("CveClasificacion={0}", DdlClasificacionAddInsumos.SelectedValue)
|
|
' End If
|
|
'End If
|
|
DdlProductowsInsumos.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacionAddInsumos.SelectedValue.ToEntero).FiltraParametros("", "PSCodigo")
|
|
DdlProductowsInsumos.DataBind()
|
|
DdlProductowsInsumos.ddl.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
Else
|
|
'If isWhitFamily() Then
|
|
' DdlProductowsInsumos.ddlWS.Attributes.Add("data-idSubFamilia", DdlClasificacionAddInsumos.SelectedValue)
|
|
'Else
|
|
DdlProductowsInsumos.ddlWS.Attributes.Add("data-idClasificacion", DdlClasificacionAddInsumos.SelectedValue)
|
|
'End If
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
#End Region
|
|
|
|
#Region " TAB PRESUPUESTOS VENTAS "
|
|
Private Sub CargaGVPresupuestos(DtTemp As DataTable)
|
|
Gv.DataSource = DtTemp
|
|
DtPresupuestos = DtTemp
|
|
Gv.DataBind()
|
|
If CveTipoContrato = 25 Then
|
|
Gv.Columns(0).Visible = False
|
|
Gv.Columns(2).Visible = False
|
|
Gv.Columns(3).Visible = False
|
|
Gv.Columns(9).Visible = False
|
|
End If
|
|
'If (Gv.Rows.Count > 0) Then
|
|
' Gv.UseAccessibleHeader = True
|
|
' Gv.HeaderRow.TableSection = TableRowSection.TableHeader
|
|
' RegistraScript("OrdenarGVPresupuestos();")
|
|
'End If
|
|
UpGV.Update()
|
|
End Sub
|
|
Protected Sub BtnAutorizar_Click(sender As Object, e As EventArgs) Handles BtnAutorizar.Click
|
|
Dim pinterno = TmpDT.SUM("Total", "CveTipoPresupuesto=1").ToString.ToDouble
|
|
Dim pventas = TmpDT.SUM("Total", "CveTipoPresupuesto=2").ToString.ToDouble
|
|
If (pinterno < pventas) Then
|
|
Dim objContrato As New ClsContratos
|
|
|
|
If objContrato.AutorizarContratos(CveContrato, UsuarioActual.CveUsuario) Then
|
|
BtnAutorizar.Visible = False
|
|
Autorizado = True
|
|
Alert("Contrato Autorizado", TipoMensaje.MsgInformacion, String.Format("document.location.href=""/Contratos/Contrato.aspx?CveContrato={0}""", CveContrato))
|
|
End If
|
|
objContrato.Dispose()
|
|
Else
|
|
Alert("el presupuesto de ventas debe ser mayor al presupuesto interno!", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub BtnAgregarDetalle_Click(sender As Object, e As EventArgs)
|
|
Dim Row As DataRow = TmpDT.NewRow()
|
|
Row("Cantidad") = TxtCantidad.Text.ToDouble.FormatoNumero
|
|
Row("CantidadContratada") = TxtCantidad.Text.ToDouble.FormatoNumero
|
|
Row("CveUM") = DdlUM.SelectedValue.ToEntero
|
|
Row("UM") = DdlUM.SelectedItem
|
|
Row("CveClasificacion") = DdlClasificacionAdd.SelectedValue
|
|
Row("Clasificacion") = DdlClasificacionAdd.SelectedItem
|
|
Row("CvePS") = DdlProductows.SelectedValue.ToEntero
|
|
Row("PS") = DdlProductows.SelectedText
|
|
Row("CodigoPS") = DdlProductows.SelectedText
|
|
Row("PU") = TxtPU.Text.ToDouble.FormatoNumero
|
|
Row("Total") = (TxtCantidad.Text.ToDouble * TxtPU.Text.ToDouble).FormatoNumero
|
|
Row("CveTipoPresupuesto") = 2
|
|
Row("NoIdentificacion") = TxtNoIdentificacionv.Text.Trim
|
|
Row("OCInterna") = TxtOCInterna.Text.Trim
|
|
Row("LimitarCantidad") = If(ChkLimitarVenta.Checked, 1, 0)
|
|
Row("Observacion") = TxtObservacionesDetalles.Text
|
|
|
|
Dim ObjContratos As New ClsContratos
|
|
If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, Convert.ToBoolean(Row("LimitarCantidad")), Row("OCInterna").ToString, Observacion:=Row("Observacion").ToString) Then
|
|
If Autorizado Then
|
|
Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
|
|
guardarBitacora(msj)
|
|
End If
|
|
Row("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
|
|
TmpDT.Rows.Add(Row)
|
|
TmpDT.AcceptChanges()
|
|
Dim TotalRow = Row("Total").ToString.ToDouble
|
|
|
|
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
|
|
|
UpGV.Update()
|
|
TxtCantidad.Text = ""
|
|
TxtOCInterna.Text = ""
|
|
TxtNoIdentificacionv.Text = ""
|
|
TxtObservacionesDetalles.Text = ""
|
|
TxtPU.Text = ""
|
|
DdlClasificacionAdd.SelectedValue = "-1"
|
|
LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero
|
|
LblImporte.Text = LbTotalGeneral.Text
|
|
TxtCantidad.Focus()
|
|
UpGral.Update()
|
|
Else
|
|
Alert("Ocurrio un error al agregar el detalle", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
|
|
Private Sub CargaDatosPresup()
|
|
Dim ContratosSecciones As New ClsContratos()
|
|
|
|
If ContratosSecciones.GetContratosSecciones(-1, CveContrato, -1, -1, -1, UsuarioActual.CveEmpresa) Then
|
|
'If ContratosSecciones.GetContratosSecciones(-1, DdlEstatus.SelectedValue.ToEntero, DdlPS.SelectedValue.ToEntero, DdlContrato.SelectedValue.ToEntero, -1, -1, FechaI, FechaF) Then
|
|
DtDatos = ContratosSecciones.DtResultados
|
|
' DtDatos.Rows.RemoveAt(0)
|
|
CargaGVPresupuestos(DtDatos)
|
|
LblImporte.Text = "$" & DtDatos.MAX("Total").FormatoNumero()
|
|
Else
|
|
Gv.DataSource = Nothing
|
|
End If
|
|
|
|
ContratosSecciones.Dispose()
|
|
|
|
UpGral.Update()
|
|
End Sub
|
|
|
|
#Region "GV PRESUPUESTOS"
|
|
Protected Sub EstClick(sender As Object, e As System.EventArgs)
|
|
'Get the button that raised the event
|
|
Dim btn As CheckBox = DirectCast(sender, CheckBox)
|
|
Dim gvr As GridViewRow = DirectCast(btn.NamingContainer, GridViewRow)
|
|
Dim CveContratoDetalle As Integer = gvr.DataKey("CveContratoDetalle").ToString.ToEntero
|
|
Dim objContrato As New ClsContratos
|
|
If objContrato.UpdateContratosDetalleEstimacion(CveContratoDetalle, IIf(btn.Checked, 1, 0).ToString.ToEntero) Then
|
|
Dim row = TmpDT.Select(String.Format("CveContratoDetalle={0}", CveContratoDetalle))(0)
|
|
row("PermitirEstimacion") = IIf(btn.Checked, 1, 0).ToString.ToEntero
|
|
Alert("Se ha permitido estimar", TipoMensaje.MsgInformacion)
|
|
Else
|
|
Alert("no se pudo permitir avance")
|
|
End If
|
|
objContrato.Dispose()
|
|
|
|
End Sub
|
|
|
|
Protected Sub AvaClick(sender As Object, e As System.EventArgs)
|
|
'Get the button that raised the event
|
|
Dim btn As CheckBox = DirectCast(sender, CheckBox)
|
|
Dim gvr As GridViewRow = DirectCast(btn.NamingContainer, GridViewRow)
|
|
Dim CveContratoDetalle As Integer = gvr.DataKey("CveContratoDetalle").ToString.ToEntero
|
|
Dim objContrato As New ClsContratos
|
|
If objContrato.UpdateContratosDetalleAvance(CveContratoDetalle, IIf(btn.Checked, 1, 0).ToString.ToEntero) Then
|
|
Dim row = TmpDT.Select(String.Format("CveContratoDetalle={0}", CveContratoDetalle))(0)
|
|
row("PermitirAvance") = IIf(btn.Checked, 1, 0).ToString.ToEntero
|
|
|
|
|
|
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
|
|
|
|
|
Alert("Se ha permitido levantar avance", TipoMensaje.MsgInformacion)
|
|
Else
|
|
Alert("no se pudo permitir avance", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
objContrato.Dispose()
|
|
End Sub
|
|
Protected Sub GV_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles Gv.RowDataBound
|
|
|
|
If e.Row.RowIndex > -1 Then
|
|
|
|
e.Row.FCCheckBox("CHKPAvance").Visible = Autorizado
|
|
'e.Row.FCCheckBox("CHKPEstimacion").Visible = Autorizado
|
|
If UsuarioActual.TienePermisoProceso(124) Then
|
|
e.Row.FCCheckBox("CHKPAvance").Enabled = True
|
|
End If
|
|
|
|
If e.Row.DBCampo("PermitirAvance").ToString = "1" Then
|
|
e.Row.FCCheckBox("CHKPAvance").Checked = True
|
|
' If UsuarioActual.TienePermisoProceso(125) Then : e.Row.FCCheckBox("CHKPEstimacion").Enabled = True : End If
|
|
End If
|
|
|
|
If e.Row.DBCampo("PermitirEstimacion").ToString = "1" Then
|
|
' e.Row.FCCheckBox("CHKPEstimacion").Checked = True
|
|
End If
|
|
If Autorizado Then
|
|
e.Row.FCLinkButton("imgE").Visible = False
|
|
e.Row.FCLinkButton("imgD").Visible = False
|
|
End If
|
|
If CveTipoContrato = 25 Then
|
|
e.Row.Cells(1).Width = Unit.Pixel(10)
|
|
e.Row.Cells(6).Width = Unit.Pixel(250)
|
|
End If
|
|
End If
|
|
If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then
|
|
e.Row.FCDropDownList("DdlUMEdit").DataSource = GlobalDTProductosServiciosEquivalencias(e.Row.DataKey("CvePS").ToString.ToEntero, -1, UsuarioActual.CveEmpresa)
|
|
e.Row.FCDropDownList("DdlUMEdit").DataBind()
|
|
e.Row.FCDropDownList("DdlUMEdit").SelectedValue = e.Row.DataKey("CveUM")
|
|
End If
|
|
|
|
End Sub
|
|
Protected Sub GV_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles Gv.RowEditing
|
|
Gv.EditIndex = e.NewEditIndex
|
|
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
|
End Sub
|
|
Protected Sub Gv_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles Gv.RowUpdating
|
|
Dim Cantidad, PU As Double : Dim CvePS, CveContratoDetalle, CveUM As Integer
|
|
Dim NoIdentificacion As String = ""
|
|
Dim OCInterna As String = ""
|
|
Dim LimitarCantidad As Boolean
|
|
Dim Observaciones As String = ""
|
|
CveContratoDetalle = Gv.Rows(e.RowIndex).DataKey("CveContratoDetalle").ToString.ToEntero
|
|
Cantidad = Gv.Rows(e.RowIndex).FCTextBox("TxtCantidad").Text.Trim.ToDouble
|
|
PU = Gv.Rows(e.RowIndex).FCTextBox("TxtPU").Text.Trim.ToDouble
|
|
CvePS = Gv.Rows(e.RowIndex).DataKey("CvePS").ToString.ToEntero
|
|
CveUM = Gv.Rows(e.RowIndex).FCDropDownList("DdlUMEdit").SelectedValue.ToEntero
|
|
NoIdentificacion = Gv.Rows(e.RowIndex).FCTextBox("TxtNoIdentificacion").Text.ToString
|
|
OCInterna = Gv.Rows(e.RowIndex).FCTextBox("TxtOCInternaEdit").Text.ToString
|
|
LimitarCantidad = Gv.Rows(e.RowIndex).FCCheckBox("ChkLimitarCantidad").Checked
|
|
Observaciones = Gv.Rows(e.RowIndex).FCTextBox("TxtObservacion").Text.ToString
|
|
Dim row = TmpDT.Select(String.Format(" CveContratoDetalle={0}", CveContratoDetalle))(0)
|
|
Dim LimitarCantidadValidator As Boolean = row("LimitarCantidad").ToString = "True"
|
|
If row("CantidadContratada").ToString.ToEntero <> Cantidad OrElse row("PU").ToString.ToEntero <> PU OrElse CveUM <> row("CveUM").ToString.ToEntero OrElse row("NoIdentificacion").ToString <> NoIdentificacion OrElse row("OCInterna").ToString <> OCInterna OrElse LimitarCantidadValidator <> LimitarCantidad Then
|
|
|
|
Dim ObjContratos As New ClsContratos
|
|
If ObjContratos.UpdateContratosDetalle(CveContratoDetalle, CveContrato, CvePS, Cantidad, PU, UsuarioActual.CveUsuario, NoIdentificacion, LimitarCantidad, OCInterna, Observaciones) Then
|
|
|
|
If Autorizado Then
|
|
Dim msj As String = String.Format("Se realizaron los siguientes cambios, el Presupuesto Interno se modificó: {1} {0} {2:C2} a {3} {0} {4:C2}",
|
|
row("PS").ToString, row("Cantidad").ToString, row("PU").ToString, Cantidad, PU)
|
|
guardarBitacora(msj)
|
|
End If
|
|
|
|
row("Cantidad") = Cantidad
|
|
row("CantidadContratada") = Cantidad
|
|
row("PU") = PU
|
|
row("Total") = Cantidad * PU
|
|
row("CveUM") = CveUM
|
|
row("UM") = Gv.Rows(e.RowIndex).FCDropDownList("DdlUMEdit").SelectedItem.Text
|
|
row("NoIdentificacion") = NoIdentificacion
|
|
row("OCInterna") = OCInterna
|
|
row("LimitarCantidad") = LimitarCantidad
|
|
row("Observacion") = Observaciones
|
|
|
|
TmpDT.AcceptChanges()
|
|
Alert("Cambios realizados correctamente.", TipoMensaje.MsgInformacion)
|
|
Else
|
|
Alert("Error al Actualizar Detalle", TipoMensaje.MsgError)
|
|
End If
|
|
ObjContratos.Dispose()
|
|
|
|
Else
|
|
Alert("Cambios realizados correctamente")
|
|
End If
|
|
|
|
Gv.EditIndex = -1
|
|
LbTotalGeneral.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=2").SUM("Total").FormatoNumero
|
|
LblImporte.Text = LbTotalGeneral.Text
|
|
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
|
|
|
End Sub
|
|
Protected Sub GV_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles Gv.RowCancelingEdit
|
|
Gv.EditIndex = -1
|
|
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
|
End Sub
|
|
Protected Sub GV_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles Gv.RowDeleting
|
|
|
|
Dim ObjContratos As New ClsContratos
|
|
Dim DbRow As DataRow = Nothing
|
|
Dim CveContratoDetalle As Integer = Gv.Rows(e.RowIndex).DataKey("CveContratoDetalle").ToString.ToEntero
|
|
DbRow = TmpDT.Select(String.Format(" CveContratoDetalle={0}", CveContratoDetalle))(0)
|
|
If Autorizado Then
|
|
Dim msj As String = String.Format("Se eliminaron {0} {1} producto {2} con el precio {3}", DbRow("Cantidad"), DbRow("UM"), DbRow("PS"), DbRow("PU"))
|
|
guardarBitacora(msj)
|
|
End If
|
|
|
|
If ObjContratos.RemoveContratosDetalle(CveContratoDetalle, CveContrato) Then
|
|
TmpDT.Rows.Remove(DbRow)
|
|
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
|
|
LbTotalGeneral.Text = Gv.Rows.Cast(Of GridViewRow)().Sum(Function(gvr) gvr.FCLabel("LtTotal").Text.ToDouble).ToString.FormatoNumero
|
|
Else
|
|
Alert("Ocurrió un error al eliminar el detalle (Producto/Servicio). Por favor vuelva a intentar", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
Protected Sub GV_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles Gv.RowCommand
|
|
If e.CommandName = "Sel" Then
|
|
' Seleccionado = e.CommandArgument.ToString
|
|
Gv.SelectRow(e.CommandArgument.ToString.ToEntero - 1)
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
|
|
#End Region
|
|
|
|
#Region " TAB PRESUPUESTOS INSUMOS "
|
|
Private Sub CargaGVPresupuestosInsumos(DtTemp As DataTable)
|
|
GvInsumos.DataSource = DtTemp
|
|
DtSuministros = DtTemp
|
|
GvInsumos.DataBind()
|
|
'If (GvInsumos.Rows.Count > 0) Then
|
|
' GvInsumos.UseAccessibleHeader = True
|
|
' GvInsumos.HeaderRow.TableSection = TableRowSection.TableHeader
|
|
' RegistraScript("OrdenarGVPresupuestosInsumos();")
|
|
'End If
|
|
UpGVInsumos.Update()
|
|
End Sub
|
|
|
|
Protected Sub BtnAgregarDetalleInsumos_Click(sender As Object, e As EventArgs)
|
|
Dim Row As DataRow = TmpDT.NewRow()
|
|
Row("Cantidad") = TxtCantidadInsumos.Text.ToDouble.FormatoNumero
|
|
Row("CantidadContratada") = TxtCantidadInsumos.Text.ToDouble.FormatoNumero
|
|
Row("CveUM") = DdlUMInsumos.SelectedValue.ToEntero
|
|
Row("UM") = DdlUMInsumos.SelectedItem
|
|
Row("CveClasificacion") = DdlClasificacionAddInsumos.SelectedValue
|
|
Row("Clasificacion") = DdlClasificacionAddInsumos.SelectedItem
|
|
Row("CvePS") = DdlProductowsInsumos.SelectedValue.ToEntero
|
|
Row("PS") = DdlProductowsInsumos.SelectedText
|
|
Row("CodigoPS") = DdlProductowsInsumos.SelectedText
|
|
Row("PU") = TxtPUInsumos.Text.ToDouble.FormatoNumero
|
|
Row("Total") = (TxtCantidadInsumos.Text.ToDouble * TxtPUInsumos.Text.ToDouble).FormatoNumero
|
|
Row("CveTipoPresupuesto") = 1
|
|
Row("NoIdentificacion") = TxtNoIdentificacionvInsumos.Text.Trim
|
|
Row("LimitarCantidad") = If(ChkLimitar.Checked, 1, 0)
|
|
|
|
Dim ObjContratos As New ClsContratos
|
|
If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, Convert.ToBoolean(Row("LimitarCantidad")), "") Then
|
|
If Autorizado Then
|
|
Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
|
|
guardarBitacora(msj)
|
|
End If
|
|
Row("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
|
|
TmpDT.Rows.Add(Row)
|
|
Dim TotalRow = Row("Total").ToString.ToDouble
|
|
|
|
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
|
|
|
UpGVInsumos.Update()
|
|
TxtCantidadInsumos.Text = ""
|
|
TxtPUInsumos.Text = ""
|
|
DdlClasificacionAddInsumos.SelectedValue = "-1"
|
|
LbTotalGeneralInsumos.Text = (LbTotalGeneralInsumos.Text.ToDouble + TotalRow).ToString.FormatoNumero
|
|
'LblImporte.Text = LbTotalGeneral.Text
|
|
TxtCantidadInsumos.Focus()
|
|
UpGral.Update()
|
|
Else
|
|
Alert("Ocurrio un error al agregar el detalle", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
|
|
#Region "GV PRESUPUESTOS"
|
|
|
|
Protected Sub GVInsumos_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles GvInsumos.RowDataBound
|
|
|
|
If e.Row.RowIndex > -1 Then
|
|
|
|
e.Row.FCCheckBox("CHKPAvance").Visible = Autorizado
|
|
'e.Row.FCCheckBox("CHKPEstimacion").Visible = Autorizado
|
|
If UsuarioActual.TienePermisoProceso(124) Then
|
|
e.Row.FCCheckBox("CHKPAvance").Enabled = True
|
|
End If
|
|
|
|
If e.Row.DBCampo("PermitirAvance").ToString = "1" Then
|
|
e.Row.FCCheckBox("CHKPAvance").Checked = True
|
|
' If UsuarioActual.TienePermisoProceso(125) Then : e.Row.FCCheckBox("CHKPEstimacion").Enabled = True : End If
|
|
End If
|
|
|
|
If e.Row.DBCampo("PermitirEstimacion").ToString = "1" Then
|
|
' e.Row.FCCheckBox("CHKPEstimacion").Checked = True
|
|
End If
|
|
If Autorizado Then
|
|
e.Row.FCLinkButton("imgE").Visible = False
|
|
e.Row.FCLinkButton("imgD").Visible = False
|
|
End If
|
|
|
|
End If
|
|
If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then
|
|
e.Row.FCDropDownList("DdlUMEdit").DataSource = GlobalDTProductosServiciosEquivalencias(e.Row.DataKey("CvePS").ToString.ToEntero, -1, UsuarioActual.CveEmpresa)
|
|
e.Row.FCDropDownList("DdlUMEdit").DataBind()
|
|
e.Row.FCDropDownList("DdlUMEdit").SelectedValue = e.Row.DataKey("CveUM")
|
|
End If
|
|
|
|
End Sub
|
|
Protected Sub GVInsumos_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GvInsumos.RowEditing
|
|
GvInsumos.EditIndex = e.NewEditIndex
|
|
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
|
End Sub
|
|
Protected Sub GvInsumos_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GvInsumos.RowUpdating
|
|
Dim Cantidad, PU As Double
|
|
Dim CvePS, CveContratoDetalle, CveUM As Integer
|
|
Dim NoIdentificacion As String = ""
|
|
Dim LimitarCantidad As Boolean
|
|
|
|
CveContratoDetalle = GvInsumos.Rows(e.RowIndex).DataKey("CveContratoDetalle").ToString.ToEntero
|
|
Cantidad = GvInsumos.Rows(e.RowIndex).FCTextBox("TxtCantidad").Text.Trim.ToDouble
|
|
PU = GvInsumos.Rows(e.RowIndex).FCTextBox("TxtPU").Text.Trim.ToDouble
|
|
CvePS = GvInsumos.Rows(e.RowIndex).DataKey("CvePS").ToString.ToEntero
|
|
CveUM = GvInsumos.Rows(e.RowIndex).FCDropDownList("DdlUMEdit").SelectedValue.ToEntero
|
|
NoIdentificacion = GvInsumos.Rows(e.RowIndex).FCTextBox("TxtNoIdentificacion").Text.ToString
|
|
LimitarCantidad = GvInsumos.Rows(e.RowIndex).FCCheckBox("ChkLimitarCantidad").Checked
|
|
|
|
Dim row = TmpDT.Select(String.Format(" CveContratoDetalle={0}", CveContratoDetalle))(0)
|
|
|
|
If row("Cantidad").ToString.ToEntero <> Cantidad OrElse row("PU").ToString.ToEntero <> PU OrElse CveUM <> row("CveUM").ToString.ToEntero OrElse row("NoIdentificacion").ToString <> NoIdentificacion OrElse (row("LimitarCantidad").ToString = "True") <> LimitarCantidad Then
|
|
|
|
Dim ObjContratos As New ClsContratos
|
|
If ObjContratos.UpdateContratosDetalle(CveContratoDetalle, CveContrato, CvePS, Cantidad, PU, UsuarioActual.CveUsuario, NoIdentificacion, LimitarCantidad, "") Then
|
|
|
|
If Autorizado Then
|
|
Dim msj As String = String.Format("Se realizaron los siguientes cambios, el Presupuesto Interno se modificó: {1} {0} {2:C2} a {3} {0} {4:C2}",
|
|
row("PS").ToString, row("Cantidad").ToString, row("PU").ToString, Cantidad, PU)
|
|
guardarBitacora(msj)
|
|
End If
|
|
|
|
row("Cantidad") = Cantidad
|
|
row("CantidadContratada") = Cantidad
|
|
row("PU") = PU
|
|
row("Total") = Cantidad * PU
|
|
row("CveUM") = CveUM
|
|
row("UM") = GvInsumos.Rows(e.RowIndex).FCDropDownList("DdlUMEdit").SelectedItem.Text
|
|
row("NoIdentificacion") = NoIdentificacion
|
|
row("LimitarCantidad") = LimitarCantidad
|
|
TmpDT.AcceptChanges()
|
|
Alert("Cambios realizados correctamente.", TipoMensaje.MsgInformacion)
|
|
Else
|
|
Alert("Error al Actualizar Detalle", TipoMensaje.MsgError)
|
|
End If
|
|
ObjContratos.Dispose()
|
|
|
|
Else
|
|
Alert("Cambios realizados correctamente")
|
|
End If
|
|
|
|
GvInsumos.EditIndex = -1
|
|
LbTotalGeneralInsumos.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=1").SUM("Total").FormatoNumero
|
|
'LblImporte.Text = LbTotalGeneral.Text
|
|
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
|
|
|
End Sub
|
|
Protected Sub GVInsumos_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GvInsumos.RowCancelingEdit
|
|
GvInsumos.EditIndex = -1
|
|
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
|
End Sub
|
|
Protected Sub GVInsumos_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvInsumos.RowDeleting
|
|
|
|
Dim ObjContratos As New ClsContratos
|
|
Dim DbRow As DataRow = Nothing
|
|
Dim CveContratoDetalle As Integer = GvInsumos.Rows(e.RowIndex).DataKey("CveContratoDetalle").ToString.ToEntero
|
|
DbRow = TmpDT.Select(String.Format(" CveContratoDetalle={0}", CveContratoDetalle))(0)
|
|
If Autorizado Then
|
|
Dim msj As String = String.Format("Se eliminaron {0} {1} producto {2} con el precio {3}", DbRow("Cantidad"), DbRow("UM"), DbRow("PS"), DbRow("PU"))
|
|
guardarBitacora(msj)
|
|
End If
|
|
|
|
If ObjContratos.RemoveContratosDetalle(CveContratoDetalle, CveContrato) Then
|
|
TmpDT.Rows.Remove(DbRow)
|
|
CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
|
|
LbTotalGeneralInsumos.Text = GvInsumos.Rows.Cast(Of GridViewRow)().Sum(Function(gvr) gvr.FCLiteral("LtTotal").Text.ToDouble).ToString.FormatoNumero
|
|
Else
|
|
Alert("Ocurrió un error al eliminar el detalle (Producto/Servicio). Por favor vuelva a intentar", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
Protected Sub GVInsumos_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GvInsumos.RowCommand
|
|
If e.CommandName = "Sel" Then
|
|
' Seleccionado = e.CommandArgument.ToString
|
|
GvInsumos.SelectRow(e.CommandArgument.ToString.ToEntero - 1)
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
|
|
#End Region
|
|
|
|
#Region " TAB PRESUPUESTOS INTERNOS"
|
|
|
|
Protected Sub AgregarInt_Click(sender As Object, e As EventArgs) Handles AgregarInt.Click
|
|
Dim Row As DataRow = TmpDT.NewRow()
|
|
Row("Cantidad") = TxtCantidadInt.Text.ToDouble.FormatoNumero
|
|
Row("CveUM") = DdlUMInt.SelectedValue.ToEntero
|
|
Row("UM") = DdlUMInt.SelectedItem
|
|
Row("CveClasificacion") = DdlClasificacionInt.SelectedValue
|
|
Row("Clasificacion") = DdlClasificacionInt.SelectedItem
|
|
Row("CvePS") = HFProductoInt.Value
|
|
Row("PS") = HFTProductoInt.Value
|
|
Row("PU") = TxtPUInt.Text.ToDouble.FormatoNumero
|
|
Row("Total") = (TxtCantidadInt.Text.ToDouble * TxtPUInt.Text.ToDouble).FormatoNumero
|
|
Row("CveTipoPresupuesto") = 1
|
|
Row("NoIdentificacion") = TxtNoIdentificacionv.Text.Trim
|
|
Row("LimitarCantidad") = ChkLimitar.Checked
|
|
|
|
Dim ObjContratos As New ClsContratos
|
|
If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, Row("LimitarCantidad").ToString.ToEntero = 1, "") Then
|
|
If Autorizado Then
|
|
Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
|
|
guardarBitacora(msj)
|
|
End If
|
|
Row("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
|
|
TmpDT.Rows.Add(Row)
|
|
Dim TotalRow = Row("Total").ToString.ToDouble
|
|
GvInt.DataSource = TmpDT.FiltraParametros("CveTipoPresupuesto=1")
|
|
GvInt.DataBind()
|
|
|
|
HFProductoInt.Value = ""
|
|
HFTProductoInt.Value = ""
|
|
TxtCantidadInt.Text = ""
|
|
TxtPUInt.Text = ""
|
|
DdlClasificacionInt.SelectedValue = "-1"
|
|
LbTotalGeneralInt.Text = (LbTotalGeneralInt.Text.ToDouble + TotalRow).ToString.FormatoNumero
|
|
TxtCantidad.Focus()
|
|
UPGVInt.Update()
|
|
Else
|
|
'Alert("No se pudo agregar el detalle")
|
|
End If
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
|
|
|
|
#Region "GVInternos"
|
|
|
|
|
|
Protected Sub GVInt_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GvInt.RowEditing
|
|
GvInt.EditIndex = e.NewEditIndex
|
|
GvInt.DataSource = TmpDT.FiltraParametros("CveTipoPresupuesto=1")
|
|
GvInt.DataBind()
|
|
UPGVInt.Update()
|
|
End Sub
|
|
Protected Sub GvInt_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GvInt.RowUpdating
|
|
Dim Cantidad, PU As Double : Dim CvePS, CveContratoDetalle, CveUM As Integer
|
|
CveContratoDetalle = GvInt.Rows(e.RowIndex).DataKey("CveContratoDetalle").ToString.ToEntero
|
|
Dim NoIdentificacion As String = ""
|
|
Dim LimitarCantidad As Boolean
|
|
'Row("NoIdentificacion") = txtNoIdentificacion.Text.Trim
|
|
Cantidad = GvInt.Rows(e.RowIndex).FCTextBox("TxtCantidad").Text.Trim.ToDouble
|
|
PU = GvInt.Rows(e.RowIndex).FCTextBox("TxtPU").Text.Trim.ToDouble
|
|
LimitarCantidad = False
|
|
CvePS = GvInt.Rows(e.RowIndex).DataKey("CvePS").ToString.ToEntero
|
|
CveUM = GvInt.Rows(e.RowIndex).FCDropDownList("DdlUMEdit").SelectedValue.ToEntero
|
|
|
|
'NoIdentificacion = GvInt.Rows(e.RowIndex).FCDropDownList("NoIdentificacion").ToString
|
|
Dim row = TmpDT.Select(String.Format(" CveContratoDetalle={0}", CveContratoDetalle))(0)
|
|
Dim c1 = row("Cantidad").ToString.ToEntero
|
|
Dim p1 = row("PU").ToString.ToEntero
|
|
Dim cvum1 = row("CveUM").ToString.ToEntero
|
|
If c1 <> Cantidad OrElse p1 <> PU OrElse CveUM <> cvum1 Then
|
|
|
|
Dim ObjContratos As New ClsContratos
|
|
If ObjContratos.UpdateContratosDetalle(CveContratoDetalle, CveContrato, CvePS, Cantidad, PU, UsuarioActual.CveUsuario, Nothing, LimitarCantidad, "") Then
|
|
If Autorizado Then
|
|
Dim msj As String = String.Format("Se realizaron los siguientes cambios, el Presupuesto Interno se modificó: {1} {0} {2:C2} a {3} {0} {4:C2}",
|
|
row("PS").ToString, row("Cantidad"), row("PU").ToString, Cantidad, PU)
|
|
guardarBitacora(msj)
|
|
End If
|
|
row("Cantidad") = Cantidad
|
|
row("PU") = PU
|
|
row("Total") = Cantidad * PU
|
|
row("CveUM") = CveUM
|
|
row("UM") = GvInt.Rows(e.RowIndex).FCDropDownList("DdlUMEdit").SelectedItem.Text
|
|
Else
|
|
End If
|
|
ObjContratos.Dispose()
|
|
Else
|
|
Alert("No realizaste ningun Cambio")
|
|
End If
|
|
GvInt.EditIndex = -1
|
|
GvInt.DataSource = TmpDT.FiltraParametros("CveTipoPresupuesto=1")
|
|
GvInt.DataBind()
|
|
LbTotalGeneralInt.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=1").SUM("Total").FormatoNumero
|
|
End Sub
|
|
Protected Sub GVInt_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GvInt.RowCancelingEdit
|
|
GvInt.EditIndex = -1
|
|
GvInt.DataSource = TmpDT.FiltraParametros("CveTipoPresupuesto=1")
|
|
GvInt.DataBind()
|
|
UPGVInt.Update()
|
|
End Sub
|
|
Protected Sub GVInt_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvInt.RowDeleting
|
|
Dim ObjContratos As New ClsContratos
|
|
Dim DbRow As DataRow = Nothing
|
|
Dim CveContratoDetalle As Integer = GvInt.Rows(e.RowIndex).DataKey("CveContratoDetalle").ToString.ToEntero
|
|
|
|
If ObjContratos.RemoveContratosDetalle(CveContratoDetalle, CveContrato) Then
|
|
DbRow = TmpDT.Select(String.Format(" CveContratoDetalle={0}", CveContratoDetalle))(0)
|
|
If Autorizado Then
|
|
Dim msj As String = String.Format("Se eliminaron {0} {1} {2} con el precio {3:C2}", DbRow("Cantidad"), DbRow("UM"), DbRow("PS"), DbRow("PU"))
|
|
guardarBitacora(msj)
|
|
End If
|
|
TmpDT.Rows.Remove(DbRow)
|
|
GvInt.DataSource = TmpDT.FiltraParametros("CveTipoPresupuesto=1")
|
|
GvInt.DataBind()
|
|
UPGVInt.Update()
|
|
LbTotalGeneralInt.Text = GvInt.Rows.Cast(Of GridViewRow)().Sum(Function(gvr) gvr.FCLabel("LtTotal").Text.ToDouble).ToString.FormatoNumero
|
|
Else
|
|
Alert("Ocurrió un error al eliminar el detalle (Producto/Servicio). Por favor vuelva a intentar", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
Protected Sub GVInt_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GvInt.RowCommand
|
|
If e.CommandName = "Sel" Then
|
|
' Seleccionado = e.CommandArgument.ToString
|
|
GvInt.SelectRow(e.CommandArgument.ToString.ToEntero - 1)
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
#End Region
|
|
|
|
#End Region
|
|
|
|
#Region " TAB: REPORTE AVANCES "
|
|
Private Sub CargaDatosAvance()
|
|
If CveContrato <= 0 Then
|
|
Exit Sub
|
|
End If
|
|
|
|
TabReporteAvance.Visible = True
|
|
lbImprimirAvance.Visible = True
|
|
|
|
Dim Modalidad = IfNull(Request("Tipo"), 1, 2)
|
|
|
|
If Modalidad.ToString.ToEntero = 2 Then
|
|
Tab.ActiveTabIndex = 2
|
|
End If
|
|
|
|
Dim ObjContratos As New ClsContratos
|
|
|
|
If ObjContratos.GetReporteContratosAvancesDetalleCP(CveContrato, UsuarioActual.CveEmpresa) Then
|
|
GvDatosAvance.DataSource = ObjContratos.DtResultados
|
|
SumaAvance = ObjContratos.DtResultados.SUM("AvanceImporte", "CveClasificacion IS NULL")
|
|
SumaUtilidad = ObjContratos.DtResultados.SUM("AvanceUtilidad", "CveClasificacion IS NULL")
|
|
DtAvance = ObjContratos.DtResultados
|
|
Else
|
|
Alert("Ocurrió un Error al obtener el Reporte de Avances. Por favor vuelva a intentar", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
ObjContratos.Dispose()
|
|
GvDatosAvance.DataBind()
|
|
|
|
If (GvDatosAvance.Rows.Count > 0) Then
|
|
GvDatosAvance.UseAccessibleHeader = True
|
|
GvDatosAvance.HeaderRow.TableSection = TableRowSection.TableHeader
|
|
RegistraScript("OrdenarGV();")
|
|
End If
|
|
|
|
UpGral.Update()
|
|
End Sub
|
|
|
|
Protected Sub GvDatosAvance_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatosAvance.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
If e.Row.DBCampo("CveClasificacion").ToString.ToEntero = 0 Then
|
|
e.Row.CssClass = "Totales white"
|
|
ElseIf e.Row.DBCampo("CvePS").ToString.ToEntero = 0 Then
|
|
e.Row.CssClass = "SubTotales"
|
|
End If
|
|
|
|
Dim Liga1 = $"{e.Row.DBCampo("CveClasificacion").ToEntero}|{e.Row.DBCampo("Clasificacion")}|{e.Row.DBCampo("CvePS").ToEntero}|{e.Row.DBCampo("CodigoPS")}|1"
|
|
e.Row.FCLinkButton("LBAvanceCantidad").CommandArgument = Liga1
|
|
e.Row.FCLinkButton("LBAvanceImporte").CommandArgument = Liga1
|
|
|
|
Dim Liga2 = $"{e.Row.DBCampo("CveClasificacion").ToEntero}|{e.Row.DBCampo("Clasificacion")}|{e.Row.DBCampo("CvePS").ToEntero}|{e.Row.DBCampo("CodigoPS")}|2"
|
|
e.Row.FCLinkButton("LBAvanceXFacturarCantidad").CommandArgument = Liga2
|
|
e.Row.FCLinkButton("LBAvanceXFacturarImporte").CommandArgument = Liga2
|
|
|
|
End If
|
|
End Sub
|
|
Protected Sub MuestaModalVentasAvance(sender As Object, e As EventArgs)
|
|
Dim Btn = CType(sender, LinkButton)
|
|
Dim Parametros = Btn.CommandArgument.Split("|"c)
|
|
|
|
Dim ObjContratos As New ClsContratos
|
|
|
|
If ObjContratos.GetVentasAvance(CveContrato, If(Parametros(0).ToEntero > 0, Parametros(0).ToEntero, -1), If(Parametros(2).ToEntero > 0, Parametros(2).ToEntero, -1), If(Parametros(4).ToEntero > 0, Parametros(4).ToEntero, -1)) Then
|
|
GvDatosVentasAvance.DataSource = ObjContratos.DtResultados
|
|
RegistraScript("$('#ModalVentasAvance').modal('show');RecargaAvances = true;")
|
|
Else
|
|
Alert("Ocurrió un error al obtener el Listado de Ventas/Remisiones de Avance. Por favor vuelva a intentar", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
ObjContratos.Dispose()
|
|
GvDatosVentasAvance.DataBind()
|
|
|
|
|
|
LbTituloModalVentasAvance.Text = If(Parametros(4).ToEntero = 1, "Ventas de Avance", "Remisiones de Avance")
|
|
LbClasificacionVentasAvance.Text = Parametros(1)
|
|
LbPSVentasAvance.Text = If(Parametros(2).ToEntero > 0, Parametros(3), "")
|
|
|
|
UpVentasAvance.Update()
|
|
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region " TAB: REPORTE AVANCES POR DOCUMENTO "
|
|
Protected Sub RBLTipoDocto_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
CargaDatosAvancePorDocumento()
|
|
End Sub
|
|
Private Sub CargaDatosAvancePorDocumento()
|
|
If CveContrato <= 0 Then
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim ObjContratos As New ClsContratos
|
|
|
|
If ObjContratos.GetContratosAvancePorDocumento(CveContrato, RBLTipoDocto.SelectedValue, UsuarioActual.CveEmpresa) Then
|
|
GVAvanceXDocumento.DataSource = ObjContratos.DtResultados
|
|
DtAvanceDocumento = ObjContratos.DtResultados
|
|
If DtAvanceDocumento.Rows.Count > 0 Then
|
|
LBImprimir.Visible = True
|
|
End If
|
|
LBImprimirInformacionG.Visible = True
|
|
Else
|
|
Alert("Ocurrió un error al obtener el Reporte de Avances por Documento. Por favor vuelva a intentar", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
ObjContratos.Dispose()
|
|
GVAvanceXDocumento.DataBind()
|
|
|
|
If (GVAvanceXDocumento.Rows.Count > 0) Then
|
|
GVAvanceXDocumento.UseAccessibleHeader = True
|
|
GVAvanceXDocumento.HeaderRow.TableSection = TableRowSection.TableHeader
|
|
RegistraScript("OrdenarGVPorDocumento();")
|
|
End If
|
|
|
|
UpGral.Update()
|
|
End Sub
|
|
|
|
Private Sub GVAvanceXDocumento_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GVAvanceXDocumento.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If Not e.Row.DBCampo("CveVenta").ToEntero > 0 Then
|
|
e.Row.Cells(2).Text = "TOTAL: "
|
|
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Right
|
|
e.Row.Cells(0).Text = e.Row.DBCampo("Cantidad").FormatoNumero(0)
|
|
e.Row.CssClass = "Totales"
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region " TAB: CONTRATO GASTOS "
|
|
Private Sub MandaCorreo(Para As String, Asunto As String, Body As String)
|
|
Dim a As String = String.Format("{0} -- {1} ---- -->", Asunto, Para)
|
|
Dim Mail As New ClsSisMail()
|
|
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body)
|
|
End Sub
|
|
Protected Sub EnvioCorreo(Dr As DataRow)
|
|
Dim Body As String = GeneraCorreoContratoGasto(Dr)
|
|
Dim Asunto As String = $"Se agrego un gasto en el {LtlTitulo.Text}"
|
|
Dim Correo As String = ""
|
|
If UsuarioActual.CveEmpresa = 72 Then
|
|
Correo = "anamartinez@compuproveedores.com;benjamincarrillo@compuproveedores.com"
|
|
Else
|
|
Correo = "signotificaciones@adssistemas.mx"
|
|
End If
|
|
Try
|
|
Dim Hilo As New System.Threading.Thread(Sub() MandaCorreo(Correo, Asunto, Body))
|
|
Hilo.Start()
|
|
Catch ex As Exception
|
|
OnError("Ocurrió error al mandar MAIL", ex)
|
|
End Try
|
|
End Sub
|
|
Public Function GeneraCorreoContratoGasto(Dr As DataRow) As String
|
|
Dim strBody As New StringBuilder
|
|
strBody.Append("<html xmlns=""http://www.w3.org/1999/xhtml""> ")
|
|
strBody.Append("<head> ")
|
|
strBody.Append(" <style type=""text/css""> ")
|
|
strBody.Append(" body ")
|
|
strBody.Append(" { ")
|
|
strBody.Append(" margin:0px; ")
|
|
strBody.Append(" padding:0px 0px 0px 0px; ")
|
|
strBody.Append(" font-family: Verdana, Arial, Helvetica, sans-serif; ")
|
|
strBody.Append(" font-size: 10px; ")
|
|
strBody.Append(" background-color:#F0F0F0; ")
|
|
strBody.Append(" } ")
|
|
strBody.Append(" a.Texto ")
|
|
strBody.Append(" { ")
|
|
strBody.Append(" font-size:11px; ")
|
|
strBody.Append(" background-color:#F7F6F3; ")
|
|
strBody.Append(" text-decoration:none; ")
|
|
strBody.Append(" font-weight:bold; ")
|
|
strBody.Append(" } ")
|
|
strBody.Append(" .Texto ")
|
|
strBody.Append(" { ")
|
|
strBody.Append(" background-color:#F7F6F3; color:Black; font-family:Verdana; font-size:10px; text-align:left; vertical-align:middle; height:20px;")
|
|
strBody.Append(" } ")
|
|
strBody.Append(" .TextoAlterno ")
|
|
strBody.Append(" { ")
|
|
strBody.Append(" background-color:White; color:Black; font-family:Verdana; font-size:10px; text-align:left; ")
|
|
strBody.Append(" vertical-align:middle; height:20px;")
|
|
strBody.Append(" } ")
|
|
strBody.Append(" .BarraIdentidad ")
|
|
strBody.Append(" { ")
|
|
strBody.Append(" color:#FFFFFF; ")
|
|
strBody.Append(" background:#F0F0F0; ")
|
|
strBody.Append(" font-weight:bold; ")
|
|
strBody.Append(" font-size:19px; ")
|
|
strBody.Append(" font-style:oblique; ")
|
|
strBody.Append(" } ")
|
|
strBody.Append(" .Titulos ")
|
|
strBody.Append(" { ")
|
|
strBody.Append(" background-color: Gray;")
|
|
strBody.Append(" color:White; ")
|
|
strBody.Append(" font-family:Verdana; font-size:12px; text-align:center; ")
|
|
strBody.Append(" vertical-align:middle; font-weight:bold; height:30px; ")
|
|
strBody.Append(" text-decoration:none; ")
|
|
strBody.Append(" } ")
|
|
strBody.Append(" .Contenido2 ")
|
|
strBody.Append(" { ")
|
|
strBody.Append(" background-color: White;")
|
|
strBody.Append(" font-family:Verdana; font-size:12px; text-align:left; ")
|
|
strBody.Append(" vertical-align:middle; font-weight:bold; height:30px; ")
|
|
strBody.Append(" text-decoration:none; ")
|
|
strBody.Append(" } ")
|
|
strBody.Append(" .Verde {color: #00CC00;} ")
|
|
strBody.Append(" .Negro {color: #000000;} ")
|
|
strBody.Append(" .Rojo {color: #FF0000;} ")
|
|
strBody.Append(" </style> ")
|
|
strBody.Append("</head> ")
|
|
strBody.Append("<body> ")
|
|
strBody.Append("<div class='Contenido2' style='display: table!important'>")
|
|
strBody.AppendFormat(" <div id=""C_divOP"" style=""width: 800px""> <fieldset> <legend><b>Datos {0}</b></legend> ", "del contrato")
|
|
strBody.Append(" <table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""100%""> ")
|
|
strBody.Append(" <tr style=""height: 22px""> ")
|
|
strBody.AppendFormat(" <td style=""width: 90px""> No. Contrato:</td><td colspan=""3""> <a href=" + "http://sig.adssistemas.mx/" + "Contratos/Contrato.aspx?CveContrato=" + CveContrato.ToString + "> <b>" + Dr("NumeroContrato").ToString + "</b><a/></td>")
|
|
strBody.Append(" </tr> ")
|
|
strBody.Append(" <tr style=""height: 22px""> ")
|
|
strBody.AppendFormat(" <td>Descripcion:</td><td><b>{0}</b></td><td> </td><td><b> </b></td> ", Dr("DescripcionContrato").ToString)
|
|
strBody.Append(" </tr> ")
|
|
strBody.Append(" <tr style=""height: 22px""> ")
|
|
strBody.AppendFormat(" <td>Cliente:</td><td><b>{0}</b></td><td> </td><td><b> </b></td> ", Dr("NombreComercial").ToString)
|
|
strBody.Append(" </tr> ")
|
|
strBody.Append(" <tr style=""height: 22px""> ")
|
|
strBody.AppendFormat(" <td>Monto Adjudicado:</td><td><b>{0}</b></td><td> </td><td><b> </b></td> ", Dr("Monto").ToString.FormatoNumero)
|
|
strBody.Append(" </tr> ")
|
|
strBody.Append(" <tr style=""height: 22px""> ")
|
|
strBody.AppendFormat(" <td>SubProyecto:</td><td><b>{0}</b></td><td> </td><td><b> </b></td> ", Dr("SubProyectoContrato"))
|
|
strBody.Append(" </tr> ")
|
|
strBody.Append(" <tr style=""height: 22px""> ")
|
|
strBody.AppendFormat(" <td>Fecha Inicio:</td><td><b>{0}</b></td><td> </td><td><b> </b></td> ", Dr("FechaInicial"))
|
|
strBody.Append(" </tr> ")
|
|
strBody.Append(" <tr style=""height: 22px""> ")
|
|
strBody.AppendFormat(" <td>Fecha Final:</td><td><b>{0}</b></td><td> </td><td><b> </b></td> ", Dr("FechaFinal"))
|
|
strBody.Append(" </tr> ")
|
|
strBody.Append(" <tr style=""height: 22px""> ")
|
|
strBody.AppendFormat(" <td>Avance:</td><td><b>{0}%</b></td><td> </td><td><b> </b></td> ", Dr("ContratoAvance").ToString.FormatoNumero)
|
|
strBody.Append(" </tr> ")
|
|
strBody.Append(" </table> ")
|
|
strBody.Append(" </fieldset> ")
|
|
strBody.Append(" </div> ")
|
|
strBody.AppendFormat(" <div id=""C_divOC"" style=""width: 300px""> <fieldset> <legend><b>Datos {0}</b></legend> ", "del gasto")
|
|
strBody.Append(" <table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""100%""> ")
|
|
strBody.Append(" <tr style=""height: 22px""> ")
|
|
strBody.AppendFormat(" <td>Descripción:</td><td><b>{0}</b></td><td> </td><td><b> </b></td> ", TxtDescripcion.Text)
|
|
strBody.Append(" </tr> ")
|
|
strBody.Append(" <tr style=""height: 22px""> ")
|
|
strBody.AppendFormat(" <td>Importe:</td><td><b>{0}</b></td><td> </td><td><b> </b></td> ", TxtImporteC.Text.FormatoNumero)
|
|
strBody.Append(" </tr> ")
|
|
strBody.Append(" <tr style=""height: 22px""> ")
|
|
strBody.AppendFormat(" <td>Fecha:</td><td><b>{0}</b></td><td> </td><td><b> </b></td> ", TxtFecha.Text.ToDate.ToShortDateString)
|
|
strBody.Append(" </tr> ")
|
|
strBody.Append(" </table> ")
|
|
strBody.Append(" </fieldset> ")
|
|
strBody.Append(" </div> ")
|
|
strBody.Append(" <br> ")
|
|
strBody.AppendFormat("<a href={0}Contratos/Contrato.aspx?CveContrato={1}> Ir al contrato <a/>", "http://sig.adssistemas.mx/", CveContrato)
|
|
strBody.Append("</div>")
|
|
strBody.Append("</body></html>")
|
|
Return strBody.ToString
|
|
End Function
|
|
|
|
Protected Sub LBAgregar_Click(sender As Object, e As EventArgs) Handles LBAgregar.Click
|
|
Dim ObjContrato As New ClsContratos
|
|
If ObjContrato.AddContratoGasto(CveContrato, TxtDescripcion.Text, TxtImporteC.Text.ToDecimal, TxtFecha.Text.ToDate, UsuarioActual.CveUsuario) Then
|
|
MensajeAlert = New StringBuilder
|
|
MensajeAlert.AppendFormat("El Gasto del contrato se guardó correctamente.")
|
|
MensajeAlert.AppendFormat("<br><ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Gasto</a></li></ul><br/>", Encripta(String.Format("OP=CONG&CVECONTRATO={0}&CVECONTRATOGASTO={1}", CveContrato, ObjContrato.CveContratoGasto)))
|
|
If ObjContrato.GetContratos(CveContrato, UsuarioActual.CveEmpresa) Then
|
|
If ObjContrato.DtResultados.Rows.Count > 0 Then
|
|
EnvioCorreo(ObjContrato.DtResultados.Rows(0))
|
|
End If
|
|
End If
|
|
TxtDescripcion.Text = ""
|
|
TxtImporteC.Text = ""
|
|
TxtFecha.Text = ""
|
|
Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion)
|
|
CargaGVGastos()
|
|
RegistraScript("$('#ModalAgregarGastos').modal('hide');")
|
|
MensajeAlert = Nothing
|
|
End If
|
|
ObjContrato.Dispose()
|
|
End Sub
|
|
|
|
Private Sub CargaGVGastos()
|
|
Dim objContrato As New ClsContratos
|
|
If objContrato.GetContratoGastos(CveContrato) Then
|
|
DtGastos = objContrato.DtResultados
|
|
GvContratosGastos.DataSource = DtGastos
|
|
SumaGasto = objContrato.DtResultados.SUM("Importe", "CveContratoGasto IS NULL")
|
|
Else
|
|
GvContratosGastos.DataSource = Nothing
|
|
End If
|
|
objContrato.Dispose()
|
|
GvContratosGastos.DataBind()
|
|
|
|
If GvContratosGastos.Rows.Count > 0 Then
|
|
GvContratosGastos.HeaderRow.CssClass = "SinColor"
|
|
LBImprimirGastos.Visible = True
|
|
End If
|
|
|
|
UpContratoGasto.Update()
|
|
End Sub
|
|
|
|
Protected Sub GvContratoGastos_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles GvContratosGastos.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
If e.Row.DBCampo("CveContrato").ToString.ToEntero = 0 Or e.Row.DBCampo("CveVenta").ToString.ToEntero > 0 Then
|
|
If e.Row.DBCampo("CveContrato").ToString.ToEntero = 0 Then e.Row.CssClass = "SubTotales" : e.Row.Cells(0).Text = e.Row.DBCampo("Cantidad").FormatoNumero(0)
|
|
e.Row.FCLinkButton("imgE").Visible = False
|
|
e.Row.FCLinkButton("imgD").Visible = False
|
|
e.Row.FCLinkButton("LnkDescargar").Visible = False
|
|
Else
|
|
Dim lb As LinkButton = CType(e.Row.FindControl("LnkDescargar"), LinkButton)
|
|
ScriptManager.GetCurrent(Me).RegisterAsyncPostBackControl(lb)
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub GvContratoGastos_RowDeleting(ByVal sender As Object, ByVal e As GridViewDeleteEventArgs) Handles GvContratosGastos.RowDeleting
|
|
Dim objContrato As New ClsContratos
|
|
If objContrato.RemoveContratoGasto(GvContratosGastos.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then
|
|
GvContratosGastos.EditIndex = -1
|
|
Alert("Se eliminó correctamente el gasto del contrato")
|
|
CargaGVGastos()
|
|
End If
|
|
objContrato.Dispose()
|
|
End Sub
|
|
|
|
Protected Sub GvContratosGastos_RowEditing(ByVal sender As Object, ByVal e As GridViewEditEventArgs) Handles GvContratosGastos.RowEditing
|
|
GvContratosGastos.EditIndex = e.NewEditIndex
|
|
CargaGVGastos()
|
|
End Sub
|
|
|
|
Protected Sub GvContratosGastos_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs) Handles GvContratosGastos.RowUpdating
|
|
Dim objContrato As New ClsContratos
|
|
|
|
Dim CveContratoGasto As Integer = GvContratosGastos.DataKeys(e.RowIndex).Value.ToString.ToEntero
|
|
Dim Observaciones As String = GvContratosGastos.Rows(e.RowIndex).FCTextBox("TxtDescripcion").Text.Trim
|
|
Dim Importe As Decimal = GvContratosGastos.Rows(e.RowIndex).FCTextBox("TxtImporteC").Text.Trim.ToDecimal
|
|
Dim Fecha As Date = GvContratosGastos.Rows(e.RowIndex).FCTextBox("TxtFecha").Text.Trim.ToDate
|
|
|
|
If objContrato.UpdateContratoGasto(CveContratoGasto, Observaciones, Importe, Fecha, UsuarioActual.CveUsuario) Then
|
|
GvContratosGastos.EditIndex = -1
|
|
CargaGVGastos()
|
|
End If
|
|
objContrato.Dispose()
|
|
End Sub
|
|
Protected Sub GvContratosGastos_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GvContratosGastos.RowCancelingEdit
|
|
GvContratosGastos.EditIndex = -1
|
|
CargaGVGastos()
|
|
End Sub
|
|
|
|
Protected Sub LnkDescargar_Click1(sender As Object, e As EventArgs)
|
|
Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
|
|
RegistraScript($"window.location.href = '/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=CONG&CVECONTRATO={0}&CVECONTRATOGASTO={1}", CveContrato, gvRow.DataKey("CveContratoGasto").ToString))}'")
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "TAB: PEDIDOS / DEVOLUCIONES"
|
|
Private Sub CargaDatosPedDev()
|
|
Dim ObjContratos As New ClsContratos
|
|
If ObjContratos.GetRepDevolucionesPedidos(Me.CveContrato, MinFecha, MaxFecha, -1, -1, UsuarioActual.CveEmpresa) Then
|
|
DsDatosPedDev = ObjContratos.DsResultados
|
|
|
|
GvPedidos.DataSource = DsDatosPedDev.Tables(0)
|
|
GvDevs.DataSource = DsDatosPedDev.Tables(1)
|
|
End If
|
|
ObjContratos.Dispose()
|
|
|
|
GvPedidos.DataBind()
|
|
GvDevs.DataBind()
|
|
|
|
UpPedidosDevoluciones.Update()
|
|
End Sub
|
|
Protected Sub ImgExcelPedDev_Click(sender As Object, e As EventArgs) Handles LbImprimirPedDevExcel.Click
|
|
GenerarPDFPedDev("Excel")
|
|
End Sub
|
|
Protected Sub ImgImprimirPedDev_Click(sender As Object, e As EventArgs) Handles LbImprimirPedDev.Click
|
|
GenerarPDFPedDev()
|
|
End Sub
|
|
Private Sub GenerarPDFPedDev(Optional Formato As String = "PDF")
|
|
If DsDatosPedDev Is Nothing Then
|
|
Alert("No se pudieron consultar los pedidos y devoluciones", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
|
|
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 params As New List(Of ReportParameter)
|
|
|
|
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
|
|
params.Add(New ReportParameter("FechaInicio", "-1"))
|
|
params.Add(New ReportParameter("FechaFin", "-1"))
|
|
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
|
|
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
|
|
params.Add(New ReportParameter("Contrato", Me.Titulo))
|
|
params.Add(New ReportParameter("Estatus", ""))
|
|
params.Add(New ReportParameter("Tipo", "-1"))
|
|
|
|
If Imagen.Exists Then
|
|
params.Add(New ReportParameter("LogoPath", logouri))
|
|
Else
|
|
params.Add(New ReportParameter("LogoPath", ""))
|
|
End If
|
|
|
|
Dim lrds As New List(Of ReportDataSource)
|
|
lrds.Add(New ReportDataSource("DataSet1", DsDatosPedDev.Tables(0)))
|
|
lrds.Add(New ReportDataSource("DataSet2", DsDatosPedDev.Tables(1)))
|
|
|
|
ImprimirPDF("Empresas/Grales/Formatos/RepPedDevolucionesXContrato.rdlc", lrds, params, "ReportePedidosDevoluciones", Formato)
|
|
|
|
End Sub
|
|
|
|
Protected Sub GvPedidos_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
'CABECERA
|
|
If e.Row.DBCampo("CodigoPS") = "" Then
|
|
e.Row.CssClass = "SubTotales2"
|
|
e.Row.Attributes.Add("style", "background-color:#B9B5B4 !important;")
|
|
e.Row.Cells(0).Text = ""
|
|
e.Row.Cells(4).Text = ""
|
|
e.Row.Cells(5).Text = ""
|
|
|
|
Dim Texto = $"Pedido: <b><a href='/Ventas/Ventas.aspx?CveVenta={e.Row.DBCampo("CveVenta")}' target='_blank'>{e.Row.DBCampo("SerieFolio")}</a></b> | "
|
|
Texto += If(e.Row.DBCampo("CveMovimiento").ToString = "", " SIN MOVIMIENTO DE ALMACÉN", $"Folio Almacén: <b><a href ='/Inventarios/EntradasSalidas.aspx?CveMovimiento={e.Row.DBCampo("CveMovimiento")}' target='_blank'>{e.Row.DBCampo("Folio")}</a></b>")
|
|
|
|
e.Row.Cells(0).ColumnSpan = 2
|
|
e.Row.Cells(1).Visible = False
|
|
e.Row.Cells(0).Text = Texto
|
|
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
|
|
Else
|
|
|
|
If e.Row.DBCampo("CveMovimiento").ToString = "" Then
|
|
e.Row.Cells(1).Text = "SIN MOVIMIENTO DE ALMACÉN"
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
End Sub
|
|
Protected Sub GvDevs_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
'CABECERA
|
|
If e.Row.DBCampo("CodigoPS") = "" Then
|
|
e.Row.CssClass = "SubTotales2"
|
|
e.Row.Attributes.Add("style", "background-color:#B9B5B4 !important;")
|
|
e.Row.Cells(0).Text = ""
|
|
e.Row.Cells(4).Text = ""
|
|
e.Row.Cells(5).Text = ""
|
|
|
|
Dim Texto = $"Devolución: <b><a href='/Ventas/Ventas.aspx?CveVenta={e.Row.DBCampo("CveVenta")}' target='_blank'>{e.Row.DBCampo("SerieFolio")}</a></b> | "
|
|
Texto += If(e.Row.DBCampo("CveMovimiento").ToString = "", " SIN MOVIMIENTO DE ALMACÉN", $"Folio Almacén: <b><a href ='/Inventarios/EntradasSalidas.aspx?CveMovimiento={e.Row.DBCampo("CveMovimiento")}' target='_blank'>{e.Row.DBCampo("Folio")}</a></b>")
|
|
|
|
e.Row.Cells(0).ColumnSpan = 2
|
|
e.Row.Cells(1).Visible = False
|
|
e.Row.Cells(0).Text = Texto
|
|
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
|
|
Else
|
|
|
|
If e.Row.DBCampo("CveMovimiento").ToString = "" Then
|
|
e.Row.Cells(1).Text = "SIN MOVIMIENTO DE ALMACÉN"
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region " TAB: ALMACEN - ACTIVOS FIJBtnAlmacenEsInterno_ClickOS "
|
|
Private Sub CargaInventarios()
|
|
|
|
Dim ObjInventarios As New ClsInventarios
|
|
'cargar también los movimentos detalle
|
|
If ObjInventarios.GetMovimientosDetalleContrato(CveContrato, UsuarioActual.CveEmpresa, DdlEsinternoExternoFiltro.SelectedValue.ToEntero) Then
|
|
DtMovimientos = ObjInventarios.DtResultados
|
|
Else
|
|
Alert("Ocurrió un error al cargar la información de los Activos Fijos. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
|
End If
|
|
ObjInventarios.Dispose()
|
|
|
|
If DtMovimientos.Rows.Count > 0 Then
|
|
CargaGVDatosInventarios()
|
|
CargaDatosPedDev()
|
|
'BtnDevolucionAlmacen.Visible = True
|
|
CveMovimientoDevolucion = -1
|
|
If CveMovimientoDevolucion > 0 Then
|
|
HLSurtirAF.Visible = False
|
|
BtnDevolucionAlmacen.Visible = False
|
|
End If
|
|
Else
|
|
DivSinRegistrosAlmacen.Visible = True
|
|
GvDatosAlmacen.DataSource = Nothing
|
|
GvDatosAlmacen.DataBind()
|
|
|
|
End If
|
|
|
|
'CARGA MODALIDAD ALMACEN
|
|
If TipoContrato.Contiene(8, 17) Then ' cuando es consignacion
|
|
HLSurtirAF.Visible = False
|
|
HLSurtirMercancia.NavigateUrl = $"/Ventas/Ventas.aspx?CveContrato={CveContrato}&Tipo=1"
|
|
Else
|
|
HLSurtirMercancia.Visible = False
|
|
HLSurtirAF.NavigateUrl = $"/Ventas/Ventas.aspx?CveContrato={CveContrato}&Tipo=0"
|
|
End If
|
|
|
|
UpAlmacen.Update()
|
|
|
|
End Sub
|
|
|
|
Protected Sub RBLAlmacen_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
CargaGVDatosInventarios()
|
|
End Sub
|
|
Private Sub CargaGVDatosInventarios()
|
|
Select Case RBLAlmacen.SelectedValue
|
|
Case "-1"
|
|
GvDatosAlmacen.DataSource = DtMovimientos
|
|
Actualiza(DtMovimientos)
|
|
Case "Vig"
|
|
GvDatosAlmacen.DataSource = DtMovimientos.FiltraParametros($"(CodigoPS IS NULL AND Cantidad - CantidadDevolucion > 0) OR (CodigoPS IS NOT NULL AND SerieFolioDevolucion IS NULL)")
|
|
Actualiza(DtMovimientos.FiltraParametros($"(CodigoPS IS NULL AND Cantidad - CantidadDevolucion > 0) OR (CodigoPS IS NOT NULL AND SerieFolioDevolucion IS NULL)"))
|
|
Case "Dev"
|
|
GvDatosAlmacen.DataSource = DtMovimientos.FiltraParametros($"SerieFolioDevolucion IS NOT NULL")
|
|
Actualiza(DtMovimientos.FiltraParametros($"SerieFolioDevolucion IS NOT NULL"))
|
|
Case Else
|
|
End Select
|
|
GvDatosAlmacen.DataBind()
|
|
End Sub
|
|
|
|
Public Sub Actualiza(DT As DataTable)
|
|
|
|
LblAFInternos.Text = DT.SUM("Cantidad", "CveMovimientoDetalle > 0 AND EsInterno = 1 ").ToString
|
|
LblAFExternos.Text = DT.SUM("Cantidad", "CveMovimientoDetalle > 0 AND (EsInterno = 0 OR EsInterno IS NULL)").ToString
|
|
|
|
'Dim ValorAF = DT.SUM("ValorImporte", "CveMovimientoDetalle > 0 AND TipoDocto = 'Ped'") - DT.SUM("ValorImporte", "TipoDocto = 'DPe'")
|
|
|
|
LBLAFValorActivo.Text = DT.SUM("ValorImporte", "CveMovimientoDetalle > 0").ToString("###,###,###.00")
|
|
|
|
Dim Total = DT.SUM("Cantidad", "CveMovimientoDetalle > 0 AND TipoDocto = 'Ped'") - DT.SUM("Cantidad", "TipoDocto = 'DPe'")
|
|
|
|
LBLAFTotal.Text = DT.SUM("Cantidad", "CveMovimientoDetalle > 0").ToString()
|
|
UPAFResumen.Update()
|
|
|
|
End Sub
|
|
Protected Sub GvDatosAlmacen_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatosAlmacen.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
'CABECERA
|
|
If e.Row.DBCampo("CodigoPS") = "" Then
|
|
e.Row.CssClass = "SubTotales2"
|
|
e.Row.Attributes.Add("style", "background-color:#B9B5B4 !important;")
|
|
e.Row.Cells(0).Text = ""
|
|
e.Row.Cells(4).Text = ""
|
|
e.Row.Cells(5).Text = ""
|
|
|
|
Dim Texto = $"{If(e.Row.DBCampo("TipoDocto") = "Ped", "Pedido", "Devolución") }: <b><a href='/Ventas/Ventas.aspx?CveVenta={e.Row.DBCampo("CveVenta")}' target='_blank'>{e.Row.DBCampo("SerieFolio")}</a></b> | "
|
|
Texto += If(e.Row.DBCampo("CveMovimiento").ToString = "", " SIN MOVIMIENTO DE ALMACÉN", $"Folio Almacén: <b><a href ='/Inventarios/EntradasSalidas.aspx?CveMovimiento={e.Row.DBCampo("CveMovimiento")}' target='_blank'>{e.Row.DBCampo("Folio")}</a></b>")
|
|
|
|
|
|
e.Row.Cells(0).ColumnSpan = 2
|
|
e.Row.Cells(1).Visible = False
|
|
'e.Row.Cells(2).Visible = False
|
|
e.Row.Cells(0).Text = Texto
|
|
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
|
|
|
|
If e.Row.DBCampo("TipoDocto") = "Ped" Then
|
|
If e.Row.DBCampo("Cantidad").ToDecimal - e.Row.DBCampo("CantidadDevolucion").ToDecimal > 0 Then
|
|
e.Row.Cells(9).Text = If(e.Row.DBCampo("CveMovimiento").ToString = "", "", $" <b><a href='/Ventas/Ventas.aspx?DevPed={e.Row.DBCampo("CveVenta")}&MovInv={e.Row.DBCampo("CveMovimiento")}' target='_blank'>Solicitud de devolución de pedido</a></b>")
|
|
Else
|
|
e.Row.Cells(9).Text = ""
|
|
End If
|
|
End If
|
|
|
|
Else
|
|
If e.Row.DBCampo("CveMovimiento").ToString = "" Then
|
|
e.Row.Cells(1).Text = "SIN MOVIMIENTO DE ALMACÉN"
|
|
End If
|
|
If e.Row.DBCampo("TipoDocto") = "Ped" Then
|
|
If e.Row.DBCampo("Cantidad").ToDecimal - e.Row.DBCampo("CantidadDevolucion").ToDecimal > 0 Then
|
|
e.Row.Cells(9).Text = If(e.Row.DBCampo("CveMovimiento").ToString = "", "", $" <b><a href='/Ventas/Ventas.aspx?DevPed={e.Row.DBCampo("CveVenta")}&MovInv={e.Row.DBCampo("CveMovimiento")}&CveMovimientoDetalle={e.Row.DBCampo("CveMovimientoDetalle")}' target='_blank'>Solicitud de devolución de pedido</a></b>")
|
|
End If
|
|
End If
|
|
|
|
|
|
e.Row.FCCheckBox("ChkEsInterno").Visible = True
|
|
|
|
End If
|
|
|
|
'If e.Row.DBCampo("SerieLote").ToString = "-1" Then
|
|
' e.Row.Cells(7).Text = ""
|
|
'End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub BtnFiltraInternosExternos_Click(sender As Object, e As EventArgs) Handles BtnFiltraInternosExternos.Click
|
|
CargaInventarios()
|
|
End Sub
|
|
|
|
|
|
Protected Sub BtnAlmacenEsInterno_Click(sender As Object, e As EventArgs)
|
|
|
|
Dim ObjInv As New ClsInventarios()
|
|
|
|
For Each GRow As GridViewRow In GvDatosAlmacen.Rows
|
|
Dim CveMovimientoDetalle As Integer = GRow.DataKey("CveMovimientoDetalle").ToEntero
|
|
Dim ChkEsInterno = GRow.FCCheckBox("ChkEsInterno")
|
|
|
|
If CveMovimientoDetalle > 0 And ChkEsInterno.Checked And DdlEsInterno.SelectedValue.ToEntero > 0 Then
|
|
Dim EsInterno As Boolean
|
|
|
|
Select Case DdlEsInterno.SelectedValue.ToEntero
|
|
Case 1
|
|
EsInterno = True
|
|
Case 2
|
|
EsInterno = False
|
|
End Select
|
|
|
|
If Not (ObjInv.UpdateMovimientoDetalleEsInterno(UsuarioActual.CveEmpresa, CveMovimientoDetalle, EsInterno)) Then
|
|
Exit For
|
|
End If
|
|
|
|
End If
|
|
Next
|
|
|
|
ObjInv.Dispose()
|
|
|
|
LnkAjusteAF.Visible = True
|
|
DivHajusteAF.Visible = False
|
|
GvDatosAlmacen.Columns(6).Visible = False
|
|
|
|
CargaInventarios()
|
|
UPHajusteAF.Update()
|
|
UpHajusteAcciones.Update()
|
|
|
|
End Sub
|
|
|
|
|
|
Protected Sub LnkAjusteAF_Click(sender As Object, e As EventArgs)
|
|
|
|
LnkAjusteAF.Visible = False
|
|
DivHajusteAF.Visible = True
|
|
GvDatosAlmacen.Columns(6).Visible = True
|
|
|
|
CargaInventarios()
|
|
|
|
UPHajusteAF.Update()
|
|
UpHajusteAcciones.Update()
|
|
UpAlmacen.Update()
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
#Region " DEVOLUCION ALMACEN "
|
|
Protected Sub BtnDevolucionAlmacen_Click(sender As Object, e As EventArgs)
|
|
Dim ObjVentas As New ClsVentas
|
|
ObjVentas.IniciaTransacSQL()
|
|
Dim TieneError = False
|
|
|
|
For Each Dr As DataRow In DtMovimientos.FiltraParametros("CveVenta IS NOT NULL AND CveMovimiento IS NOT NULL AND EsDevolucionVenta = 0", "", {"CveVenta"}).Rows
|
|
If Not ObjVentas.UpdateVentasDevolucionAlmacen(1, Dr("CveVenta").ToString.ToEntero) Then
|
|
TieneError = True
|
|
End If
|
|
Next
|
|
|
|
|
|
If Not TieneError Then
|
|
ObjVentas.Commit()
|
|
Alert("La solicitud de devolución se guardo correctamente.", TipoMensaje.MsgInformacion)
|
|
Else
|
|
ObjVentas.RollBack()
|
|
Alert("Ocurrió un error al guardar la solicitud de devolución. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
ObjVentas.Dispose()
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
Public Sub CargaDatosEncabezado()
|
|
|
|
TablaUtilidad.Visible = True
|
|
LblUtilidad.Text = $"$ {(SumaUtilidad - SumaGasto).ToString.FormatoNumero()}"
|
|
|
|
If (SumaUtilidad - SumaGasto) < 0 Then LblUtilidad.ForeColor = Drawing.Color.Red
|
|
LblFacturado.Text = SumaAvance.FormatoNumero
|
|
LblPorFacturar.Text = (LblImporte.Text.ToDouble - SumaAvance).FormatoNumero
|
|
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#End Region
|
|
|
|
#Region "TAB SISTEMA"
|
|
Protected Sub ChkPermitirAvance_CheckedChanged(sender As Object, e As EventArgs)
|
|
Dim ObjContrato As New ClsContratos
|
|
Dim Row As GridViewRow = DirectCast(DirectCast(sender, CheckBox).NamingContainer, GridViewRow)
|
|
ObjContrato.PermitirAvance(Gv.DataKeys(Row.RowIndex).Value.ToString.ToEntero, DirectCast(sender, CheckBox).Checked)
|
|
ObjContrato.Dispose()
|
|
Alert("Se ha permitido avance a la sección", TipoMensaje.MsgInformacion)
|
|
CargaDatos()
|
|
End Sub
|
|
|
|
Protected Sub ChkPermitirEstimacion_CheckedChanged(sender As Object, e As EventArgs)
|
|
Dim ObjContrato As New ClsContratos
|
|
Dim Row As GridViewRow = DirectCast(DirectCast(sender, CheckBox).NamingContainer, GridViewRow)
|
|
ObjContrato.PermitirEstimacion(Gv.DataKeys(Row.RowIndex).Value.ToString.ToEntero, DirectCast(sender, CheckBox).Checked)
|
|
ObjContrato.Dispose()
|
|
Alert("Se ha permitido estimar en la sección", TipoMensaje.MsgInformacion)
|
|
CargaDatos()
|
|
End Sub
|
|
#End Region
|
|
|
|
#End Region
|
|
|
|
#Region " BITACORA "
|
|
Private Sub guardarBitacora(Descripcion As String)
|
|
Dim ObjEventoBitacora As New ClsOIEventos
|
|
If ObjEventoBitacora.AddEventoBitacora(Descripcion, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveContrato:=CveContrato) Then
|
|
cargarBitacora()
|
|
End If
|
|
ObjEventoBitacora.Dispose()
|
|
End Sub
|
|
|
|
Private Sub cargarBitacora()
|
|
Dim ObjEventoBitacora As New ClsOIEventos
|
|
If ObjEventoBitacora.GetEventos(-1, -1, -1, "-1", "-1", -1, -1, -1, -1, -1, -1, "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveContrato:=CveContrato) Then
|
|
GvEB.DataSource = ObjEventoBitacora.DtResultados.FiltraParametros("CveTipoEvento = 6 OR CveTipoEvento = 2")
|
|
GvEB.DataBind()
|
|
HlEvento.NavigateUrl = "/OI/PopUpAgenda.aspx?CveTipoEvento=2&CveContrato=" & ViewState("CveContrato").ToString & "&TB_iframe=true&height=370&width=600;"
|
|
' UpBitacora.Update()
|
|
End If
|
|
ObjEventoBitacora.Dispose()
|
|
End Sub
|
|
Protected Sub GVEventoBitacora_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEB.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.RowIndex = 0 Then
|
|
e.Row.Cells(0).Width = Unit.Pixel(200)
|
|
e.Row.Cells(1).Width = Unit.Pixel(200)
|
|
e.Row.Cells(2).Width = Unit.Pixel(100)
|
|
'e.Row.Cells(3).Width = Unit.Pixel(500) 'VARIABLE PARA QUE SEA LO MAS GRANDE POSIBLE
|
|
e.Row.Cells(4).Width = Unit.Pixel(100)
|
|
e.Row.Cells(5).Width = Unit.Pixel(5)
|
|
End If
|
|
Dim asd As String = e.Row.DBCampo("Archivo").ToString
|
|
|
|
If e.Row.DBCampo("Archivo").ToString <> "" And e.Row.DBCampo("Archivo").ToString <> "-1" Then
|
|
e.Row.FCLinkButton("LinkArchivo").Visible = True
|
|
e.Row.FCLinkButton("LinkArchivo").CommandArgument = String.Format("OI\{0}", e.Row.DBCampo("Archivo").ToString)
|
|
ScriptManager.GetCurrent(Me).RegisterPostBackControl(e.Row.FCLinkButton("LinkArchivo")) 'Registro un evento Postbacktrigger, que recargue toda la pagina para que funcione
|
|
End If
|
|
|
|
e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Left
|
|
|
|
If e.Row.DataKey("CveUsuarioIng").ToEntero = UsuarioActual.CveUsuario Then
|
|
e.Row.FCLinkButton("LinkEliminarBitacora").Visible = True
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub BtnGuardarEventoBitacora_Click(sender As Object, e As EventArgs) Handles BtnGuardarEventoBitacora.Click
|
|
Dim ObjEventoBitacora As New ClsOIEventos
|
|
|
|
Dim FileExtension As String = "-1"
|
|
Dim Filesgral As List(Of Archivo) = txtFileBit.getfiles().Archivos
|
|
Dim Filename As String = ""
|
|
|
|
For Each fileItem As Archivo In Filesgral
|
|
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
|
|
Filename = fileItem.filename
|
|
Next
|
|
|
|
If ObjEventoBitacora.AddEventoBitacora(TxtEventoDescripcion.Text.Trim, String.Format(".{0}", FileExtension), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveContrato:=CveContrato) Then
|
|
If Filename <> "" Then
|
|
Filename.FilesMove(String.Format("OI{0}", ObjEventoBitacora.CveEvento.ToString), String.Format("Empresas\{0}\OI", UsuarioActual.CveEmpresa))
|
|
End If
|
|
|
|
cargarBitacora()
|
|
TxtEventoDescripcion.Text = ""
|
|
txtFileBit.getfiles().Archivos.Clear()
|
|
|
|
txtFileBit.Text = ""
|
|
Alert("La bitácora/observación se guardó correctamente", TipoMensaje.MsgInformacion)
|
|
RegistraScript("$('#ModalBitacora').modal('hide')", "hidemodal")
|
|
|
|
End If
|
|
ObjEventoBitacora.Dispose()
|
|
GvEB.DataBind()
|
|
|
|
UPEventoBitacora.Update()
|
|
'CargaEventoBitacora()
|
|
UPAddEventoBitacora.Update()
|
|
End Sub
|
|
|
|
|
|
Protected Sub DownloadFile(ByVal sender As Object, ByVal e As EventArgs)
|
|
Dim filePath As String = String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, CType(sender, LinkButton).CommandArgument)
|
|
Dim Archivo As New System.IO.FileInfo(filePath)
|
|
|
|
HttpContext.Current.Response.Clear()
|
|
HttpContext.Current.Response.ClearContent()
|
|
HttpContext.Current.Response.ContentType = "application/octet-stream"
|
|
HttpContext.Current.Response.AppendHeader("Content-disposition", "attachment; filename=" + Path.GetFileName(filePath))
|
|
HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString())
|
|
HttpContext.Current.Response.TransmitFile(filePath)
|
|
HttpContext.Current.Response.Flush()
|
|
HttpContext.Current.Response.End()
|
|
|
|
Archivo = Nothing
|
|
End Sub
|
|
|
|
Protected Sub GvEB_RowDeleting(sender As Object, e As GridViewDeleteEventArgs)
|
|
Dim ObjEventoBitacora As New ClsOIEventos
|
|
If ObjEventoBitacora.RemoveEvento(GvEB.Rows(e.RowIndex).DataKey("CveEvento").ToEntero(), UsuarioActual.CveEmpresa) Then
|
|
cargarBitacora()
|
|
LimpiaModalBitacora()
|
|
Alert("El evento se elimino correctamente de la bitácora.", TipoMensaje.MsgInformacion)
|
|
End If
|
|
ObjEventoBitacora.Dispose()
|
|
End Sub
|
|
|
|
Protected Sub LimpiaModalBitacora()
|
|
TxtEventoDescripcion.Text = ""
|
|
txtFileBit.getfiles().Archivos.Clear()
|
|
|
|
txtFileBit.Text = ""
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "SUBIR EXCEL"
|
|
Public Sub DescargarFormato()
|
|
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\Formatos\FormatoContrato.xlsx"
|
|
Dim Archivo As New IO.FileInfo(Directorio)
|
|
If Archivo.Exists Then
|
|
Response.Clear()
|
|
Response.ClearHeaders()
|
|
Response.ClearContent()
|
|
Response.AddHeader("Content-Disposition", "attachment; filename=" + Archivo.Name)
|
|
Response.AddHeader("Content-Length", Archivo.Length.ToString())
|
|
Response.ContentType = "text/plain"
|
|
Response.Flush()
|
|
Response.TransmitFile(Archivo.FullName)
|
|
Response.End()
|
|
End If
|
|
End Sub
|
|
Public Sub LbDescargarExcel_Click(sender As Object, e As EventArgs) Handles LbDescargarExcel.Click
|
|
DescargarFormato()
|
|
End Sub
|
|
Private Function ReadExcelFile(ByVal flatFilePath As String, ByVal firstRowHasHeaders As Boolean) As DataTable
|
|
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
|
|
Dim excelFile As ExcelFile = ExcelFile.Load(flatFilePath)
|
|
|
|
Dim unnamed As Integer = 0
|
|
Dim cols As Integer
|
|
Dim columns As String()
|
|
Dim curRow As Integer = 0
|
|
Dim curCol As Integer = 0
|
|
Dim dataTable As DataTable = New DataTable()
|
|
Dim worksheet As ExcelWorksheet = excelFile.Worksheets(0)
|
|
|
|
For cols = 0 To worksheet.Rows(0).AllocatedCells.Count - 1
|
|
|
|
If firstRowHasHeaders Then
|
|
|
|
If worksheet.Rows(0).Cells(cols).Value IsNot Nothing Then
|
|
dataTable.Columns.Add(worksheet.Rows(0).Cells(cols).Value.ToString())
|
|
Else
|
|
dataTable.Columns.Add("Unnamed Column " & (System.Threading.Interlocked.Increment(unnamed)))
|
|
End If
|
|
|
|
curRow = 1
|
|
Else
|
|
dataTable.Columns.Add("Column " & (cols + 1))
|
|
End If
|
|
Next
|
|
|
|
While curRow < worksheet.Rows.Count
|
|
columns = New String(cols - 1) {}
|
|
|
|
For curCol = 0 To cols - 1
|
|
|
|
If worksheet.Rows(curRow).Cells(curCol).Value Is Nothing Then
|
|
columns(curCol) = ""
|
|
Else
|
|
columns(curCol) = worksheet.Rows(curRow).Cells(curCol).Value.ToString()
|
|
End If
|
|
Next
|
|
|
|
dataTable.Rows.Add(columns)
|
|
curRow += 1
|
|
End While
|
|
|
|
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
|
|
Dim CvePS As Integer = 0
|
|
CvePS = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePS", Opt & " = '" & Valor & "'").ToString.ToEntero
|
|
If CvePS > 0 Then
|
|
StrReturn = "True|" & CvePS.ToString
|
|
Else
|
|
|
|
StrReturn = "False| - No se encontró " & Valor & " en la fila " & NumRow & ", columna " & Opt
|
|
End If
|
|
Return StrReturn
|
|
End Function
|
|
|
|
Private Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click
|
|
If TxtExcel.getfiles().Archivos.Count > 0 Then
|
|
Dim file As Archivo = TxtExcel.getfiles().Archivos(0)
|
|
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch
|
|
Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV")
|
|
CargarArchivo(Directorio, file.filename, Tipo)
|
|
Else
|
|
Alert("No existe el archivo. Favor de subir un archivo excel a la plataforma.", TipoMensaje.MsgError)
|
|
End If
|
|
End Sub
|
|
|
|
|
|
#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 "
|
|
|
|
#Region " IMPRIMIR AVANCE POR DOCUMENTO "
|
|
Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles LBImprimir.Click
|
|
GenerarPDF()
|
|
End Sub
|
|
Private Sub GenerarPDF(Optional Formato As String = "PDF")
|
|
|
|
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.FiltraParametros("CveVenta > 0")
|
|
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 NUEVOS
|
|
params.Add(New ReportParameter("Proveedor", Contratante))
|
|
params.Add(New ReportParameter("FechaInicio", TxtFechaInicial.Text.Trim))
|
|
params.Add(New ReportParameter("FechaFin", TxtFechaFinal.Text.Trim))
|
|
params.Add(New ReportParameter("TipoContrato", TipoDocumento))
|
|
params.Add(New ReportParameter("TotalContrato", LblImporte.Text))
|
|
If Imagen.Exists Then
|
|
params.Add(New ReportParameter("LogoPath", logouri))
|
|
Else
|
|
params.Add(New ReportParameter("LogoPath", ""))
|
|
End If
|
|
Dim Nombre As String = If(LtlTitulo.Text.Length > 20, LtlTitulo.Text.Substring(0, 20), LtlTitulo.Text)
|
|
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", If(RowAlmacen.Visible = True, DdlAlmacenDestino.SelectedItem.Text.Trim, "-")))
|
|
params.Add(New ReportParameter("Porcentaje", If(RowPorcentajeComision.Visible = True, TxtPorcentajeComision.Text.Trim, "-")))
|
|
'CENTRO DE COSTOS
|
|
params.Add(New ReportParameter("Proyecto", If(trddlproyecto.Visible = True, DdlProyecto.SelectedItem.Text.Trim, "-")))
|
|
params.Add(New ReportParameter("SubProyecto", DdlSubProyectoContrato.SelectedItem.Text.Trim))
|
|
params.Add(New ReportParameter("Addendum", If(DdlContratoPadre.SelectedItem.Text.Trim = "Seleccione", "", DdlContratoPadre.SelectedItem.Text.Trim)))
|
|
'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", If(DvMin.Visible = True, txtMinimo.Text.Trim, "-")))
|
|
params.Add(New ReportParameter("Maximo", If(DvMax.Visible = True, txtMaximo.Text.Trim, "-")))
|
|
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", DdlTipoGarantia.SelectedItem.Text.Trim))
|
|
params.Add(New ReportParameter("EstatusFianza", DdlEstatusFianza.SelectedItem.Text.Trim))
|
|
params.Add(New ReportParameter("Folio", TxtFolio.Text.Trim))
|
|
params.Add(New ReportParameter("FechaVencimiento", txtFechaVenc.Text.Trim))
|
|
|
|
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
|
|
|
|
#Region "I M P R E S I O N D E G A S T O S"
|
|
Protected Sub ImgImprimirGastos_Click(sender As Object, e As EventArgs) Handles LBImprimirGastos.Click
|
|
GenerarPDFGastos()
|
|
End Sub
|
|
Private Sub GenerarPDFGastos(Optional Formato As String = "PDF")
|
|
|
|
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 dt As DataTable = DtGastos
|
|
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", TituloCorto))
|
|
|
|
'Datos NUEVOS
|
|
params.Add(New ReportParameter("Proveedor", Contratante))
|
|
params.Add(New ReportParameter("FechaInicio", TxtFechaInicial.Text.Trim))
|
|
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))
|
|
|
|
If Imagen.Exists Then
|
|
params.Add(New ReportParameter("LogoPath", logouri))
|
|
Else
|
|
params.Add(New ReportParameter("LogoPath", ""))
|
|
End If
|
|
Dim Nombre As String = If(LtlTitulo.Text.Length > 20, LtlTitulo.Text.Substring(0, 20), LtlTitulo.Text)
|
|
ImprimirPDF("Empresas/Grales/Formatos/RepContratoGastos.rdlc", dt, params, $"{Nombre}-Gastos", Formato:=Formato)
|
|
End Sub
|
|
|
|
Private Sub LBAgregarGasto_Click(sender As Object, e As EventArgs) Handles LBAgregarGasto.Click
|
|
TxtDescripcion.Text = ""
|
|
TxtImporteC.Text = ""
|
|
TxtFecha.Text = ""
|
|
UpAgregarGastos.Update()
|
|
RegistraScript("$('#ModalAgregarGastos').modal();")
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "I M P R E S I O N D E S U M I N I S T R O S"
|
|
Protected Sub ImgImprimirSuministros_Click(sender As Object, e As EventArgs) Handles LbImprimirSuministros.Click
|
|
GenerarPDFSuministros()
|
|
End Sub
|
|
Private Sub GenerarPDFSuministros(Optional Formato As String = "PDF")
|
|
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 = DtSuministros
|
|
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", TituloCorto))
|
|
|
|
'Datos NUEVOS
|
|
params.Add(New ReportParameter("Proveedor", Contratante))
|
|
params.Add(New ReportParameter("FechaInicio", TxtFechaInicial.Text.Trim))
|
|
params.Add(New ReportParameter("FechaFin", TxtFechaFinal.Text.Trim))
|
|
params.Add(New ReportParameter("TipoContrato", TipoDocumento))
|
|
params.Add(New ReportParameter("TotalContrato", LblImporte.Text))
|
|
If Imagen.Exists Then
|
|
params.Add(New ReportParameter("LogoPath", logouri))
|
|
Else
|
|
params.Add(New ReportParameter("LogoPath", ""))
|
|
End If
|
|
Dim Nombre As String = If(LtlTitulo.Text.Length > 20, LtlTitulo.Text.Substring(0, 20), LtlTitulo.Text)
|
|
ImprimirPDF("Empresas/Grales/Formatos/RepContratoSuministros.rdlc", dt, params, $"{Nombre}-Suministros", Formato:=Formato)
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "I M P R E S I O N D E A V A N C E "
|
|
Private Sub lbImprimirAvance_Click(sender As Object, e As EventArgs) Handles lbImprimirAvance.Click
|
|
GenerarPDFAvance()
|
|
End Sub
|
|
Private Sub GenerarPDFAvance(Optional Formato As String = "PDF")
|
|
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 = DtAvance
|
|
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", TituloCorto))
|
|
|
|
'Datos NUEVOS
|
|
params.Add(New ReportParameter("Proveedor", Contratante))
|
|
params.Add(New ReportParameter("FechaInicio", TxtFechaInicial.Text.Trim))
|
|
params.Add(New ReportParameter("FechaFin", TxtFechaFinal.Text.Trim))
|
|
params.Add(New ReportParameter("TipoContrato", TipoDocumento))
|
|
params.Add(New ReportParameter("TotalContrato", LblImporte.Text))
|
|
|
|
If Imagen.Exists Then
|
|
params.Add(New ReportParameter("LogoPath", logouri))
|
|
Else
|
|
params.Add(New ReportParameter("LogoPath", ""))
|
|
End If
|
|
Dim Nombre As String = If(LtlTitulo.Text.Length > 20, LtlTitulo.Text.Substring(0, 20), LtlTitulo.Text)
|
|
ImprimirPDF("Empresas/Grales/Formatos/ContratoAvance.rdlc", dt, params, $"{Nombre}-Avance", Formato:=Formato)
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "I M P R E S I O N D E P R E S U P U E S T O "
|
|
Private Sub lLbImprimirPresupuesto_Click(sender As Object, e As EventArgs) Handles LbImprimirPresupuesto.Click
|
|
GenerarPDFPPresupuesto()
|
|
End Sub
|
|
Private Sub GenerarPDFPPresupuesto(Optional Formato As String = "PDF")
|
|
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 = DtPresupuestos
|
|
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", TituloCorto))
|
|
|
|
'Datos NUEVOS
|
|
params.Add(New ReportParameter("Proveedor", Contratante))
|
|
params.Add(New ReportParameter("FechaInicio", TxtFechaInicial.Text.Trim))
|
|
params.Add(New ReportParameter("FechaFin", TxtFechaFinal.Text.Trim))
|
|
params.Add(New ReportParameter("TipoContrato", TipoDocumento))
|
|
params.Add(New ReportParameter("TotalContrato", LblImporte.Text))
|
|
|
|
If Imagen.Exists Then
|
|
params.Add(New ReportParameter("LogoPath", logouri))
|
|
Else
|
|
params.Add(New ReportParameter("LogoPath", ""))
|
|
End If
|
|
Dim Nombre As String = If(LtlTitulo.Text.Length > 20, LtlTitulo.Text.Substring(0, 20), LtlTitulo.Text)
|
|
ImprimirPDF("Empresas/Grales/Formatos/RepContratoPresupuestos.rdlc", dt, params, $"{Nombre}-Presupuestos", Formato:=Formato)
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "I M P R E S I O N D E A C T I V O S F I J O S "
|
|
Private Sub LbImprmirAF_Click(sender As Object, e As EventArgs) Handles LbImprmirAF.Click
|
|
GenerarPDFActivosFijos()
|
|
End Sub
|
|
Private Sub LbImprmirAFExcel_Click(sender As Object, e As EventArgs) Handles LbImprmirAFExcel.Click
|
|
GenerarPDFActivosFijos("Excel")
|
|
End Sub
|
|
Private Sub GenerarPDFActivosFijos(Optional Formato As String = "PDF")
|
|
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 = Nothing
|
|
|
|
Select Case RBLAlmacen.SelectedValue
|
|
Case "-1"
|
|
dt = DtMovimientos
|
|
Case "Vig"
|
|
dt = DtMovimientos.FiltraParametros($"(CodigoPS IS NULL AND Cantidad - CantidadDevolucion > 0) OR (CodigoPS IS NOT NULL AND SerieFolioDevolucion IS NULL)")
|
|
Case "Dev"
|
|
dt = DtMovimientos.FiltraParametros($"SerieFolioDevolucion IS NOT NULL")
|
|
Case Else
|
|
End Select
|
|
|
|
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", TituloCorto))
|
|
|
|
'Datos NUEVOS
|
|
params.Add(New ReportParameter("Proveedor", Contratante))
|
|
params.Add(New ReportParameter("FechaInicio", TxtFechaInicial.Text.Trim))
|
|
params.Add(New ReportParameter("FechaFin", TxtFechaFinal.Text.Trim))
|
|
params.Add(New ReportParameter("TipoContrato", TipoDocumento))
|
|
params.Add(New ReportParameter("TotalContrato", LblImporte.Text))
|
|
|
|
Dim Filtro As String = If(RBLAlmacen.SelectedValue = "-1", "Todos", If(RBLAlmacen.SelectedValue = "Vig", "Vigentes", "Devueltos"))
|
|
|
|
params.Add(New ReportParameter("CantInternos", LblAFInternos.Text))
|
|
params.Add(New ReportParameter("CantExternos", LblAFExternos.Text))
|
|
params.Add(New ReportParameter("TotalCant", LBLAFTotal.Text))
|
|
params.Add(New ReportParameter("ValorActivo", LBLAFValorActivo.Text))
|
|
params.Add(New ReportParameter("FiltroContratos", Filtro))
|
|
|
|
If Imagen.Exists Then
|
|
params.Add(New ReportParameter("LogoPath", logouri))
|
|
Else
|
|
params.Add(New ReportParameter("LogoPath", ""))
|
|
End If
|
|
Dim Nombre As String = If(LtlTitulo.Text.Length > 20, LtlTitulo.Text.Substring(0, 20), LtlTitulo.Text)
|
|
ImprimirPDF("Empresas/Grales/Formatos/RepContratoActivosFijos.rdlc", dt, params, $"{Nombre}-ActivosFijos", Formato:=Formato)
|
|
End Sub
|
|
|
|
|
|
#End Region
|
|
|
|
#Region " IMPRIMIR DOCUMENTO - SABE "
|
|
Public Sub DescarFormato(documento As String)
|
|
|
|
Dim PathRoot As String = Server.MapPath("/")
|
|
Dim PathSource As String
|
|
Dim pathDesti As String
|
|
|
|
PathSource = $"{UsuarioActual.Empresa.Ruta}\Formatos\Plantillas\{documento}"
|
|
pathDesti = PathRoot & "Temp\" & CveContrato & documento
|
|
|
|
If File.Exists(pathDesti) Then
|
|
File.Delete(pathDesti)
|
|
End If
|
|
|
|
File.Copy(PathSource, pathDesti)
|
|
|
|
Dim objDoc As New clsGemBoxDocument(pathDesti)
|
|
Dim FechaActual As String = Now.Day.ToString("0#") & " de " & CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(1).ToString & " del " & Now.Year.ToString()
|
|
|
|
objDoc.SustituirTags(GetDatosTagsDocumentos)
|
|
objDoc.Guardar(pathDesti)
|
|
|
|
Dim fileinfo As New FileInfo(pathDesti)
|
|
|
|
Dim baseUrl As String = Request.Url.GetLeftPart(UriPartial.Authority)
|
|
baseUrl = baseUrl & "/temp/" & fileinfo.Name
|
|
|
|
RegistraScript("Download('" & baseUrl & "')")
|
|
End Sub
|
|
|
|
Private Function GetDatosTagsDocumentos() As List(Of TagsDocumentos)
|
|
Dim ListaTagsDocumentost = New List(Of TagsDocumentos)
|
|
Dim ObjContratos As New ClsContratos
|
|
If CveContrato <> -1 Then
|
|
If ObjContratos.GetContratos(CveContrato, UsuarioActual.CveEmpresa) Then
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{NumeroContrato}}", ObjContratos.NumeroContrato))
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{DescripcionContrato}}", ObjContratos.DescripcionContrato))
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{Ubicacion}}", ObjContratos.Ubicacion))
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{Responsable}}", ObjContratos.Responsable))
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{FechaInicial}}", ObjContratos.FechaInicial.ToString("d")))
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{FechaFinal}}", ObjContratos.FechaFinal.ToString("d")))
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{Moneda}}", GlobalDTMonedas().FiltroPrimeroValor("Moneda", $"CveMoneda = {ObjContratos.CveMoneda}")))
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{IVA}}", ObjContratos.PorIVA.ToString))
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{Anticipo}}", ObjContratos.PorAnticipo.ToString))
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{AmortizacionAnticipo}}", ObjContratos.PorAmortizacionAnticipo.ToString))
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{Garantia}}", ObjContratos.PorGarantia.ToString))
|
|
If Not IsDBNull(ObjContratos.DtResultados(0)("Periodo")) Then
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{Periodo}}", ObjContratos.DtResultados(0)("Periodo").ToString))
|
|
End If
|
|
If Not IsDBNull(ObjContratos.DtResultados(0)("CveCuentaEquipo")) Then
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{CuentaEquipo}}", DdlCuentaEquipo.SelectedItem.Text))
|
|
End If
|
|
If Not IsDBNull(ObjContratos.DtResultados(0)("NombreComercial")) Then
|
|
ListaTagsDocumentost.Add(New TagsDocumentos("{{NombreComercial}}", ObjContratos.DtResultados(0)("NombreComercial").ToString))
|
|
End If
|
|
End If
|
|
End If
|
|
ObjContratos.Dispose()
|
|
Return ListaTagsDocumentost
|
|
End Function
|
|
Private Sub CargaPlantillas()
|
|
Dim ObjGral As New ClsGenerales
|
|
If ObjGral.ContratosPlantillaGet(-1, UsuarioActual.CveEmpresa) Then
|
|
DtPlantillasContratos = ObjGral.DtResultados.FiltraParametros("Tipo = 'Con'")
|
|
DdlPlantillaContrato.DataSource = DtPlantillasContratos
|
|
Else
|
|
DtPlantillasContratos = Nothing
|
|
End If
|
|
ObjGral.Dispose()
|
|
DdlPlantillaContrato.DataSource = DtPlantillasContratos
|
|
DdlPlantillaContrato.DataBind()
|
|
End Sub
|
|
|
|
Protected Sub BtnImprimirC_Click(sender As Object, e As EventArgs) Handles liImprimir.Click
|
|
Dim docx As String = DtPlantillasContratos.FiltroPrimeroValor("URL", $"CveContratoPlantilla = {DdlPlantillaContrato.SelectedValue}")
|
|
DescarFormato(docx)
|
|
End Sub
|
|
#End Region
|
|
|
|
|
|
#End Region
|
|
|
|
#Region "CREAR A PARTIR DE"
|
|
Private Sub BtnAgregarContratoHijo_Click(sender As Object, e As EventArgs) Handles BtnAgregarContratoHijo.Click
|
|
Dim TieneError = False
|
|
|
|
Dim ObjContratos As New ClsContratos
|
|
ObjContratos.IniciaTransacSQL()
|
|
|
|
Try
|
|
Dim CveContratoHijo As Integer = -1
|
|
Dim Minimo, Maximo, Total As Double
|
|
If txtMinimo.Text.ToDouble > 0 And chkDetalleContrato.Checked Then Minimo = txtMinimo.Text.ToDouble Else Minimo = -1
|
|
If txtMaximo.Text.ToDouble > 0 And chkDetalleContrato.Checked Then Maximo = txtMaximo.Text.ToDouble Else Maximo = -1
|
|
If TxtTotal.Text.ToDouble > 0 And chkDetalleContrato.Checked Then Total = TxtTotal.Text.ToDouble Else Total = -1
|
|
|
|
Dim CveEstatusInicial As Integer = 10 'falta sacar por
|
|
If ObjContratos.GetContratosEstatus(UsuarioActual.CveEmpresa) Then
|
|
CveEstatusInicial = ObjContratos.DtResultados.FiltroPrimeroValor("CveContratoEstatus", "TipoEstatus=1").ToEntero
|
|
End If
|
|
|
|
CveContratoHijo = ObjContratos.AddContratos(TxtCodigoApartirDe.Text, TxtDescripcionApartirDe.Text, TxtNumeroLicitacion.Text.Trim, DdlContratista.SelectedValue.ToEntero, DdlCliente.SelectedValue.ToEntero, -1, txtFechaI4.Text.ToDate, txtFechaF4.Text.ToDate,
|
|
TxtUbicacion.Text, TxtResponsable.Text, DdlSubProyectoContrato.SelectedValue.ToEntero, TxtPorIVA.Text.ToDouble, TxtPorAnticipo.Text.ToDouble, TxtPorAmortizacionAnticipo.Text.ToDouble,
|
|
TxtPorGarantia.Text.ToDouble, "." & Session("FileExtension").ToString, "", CveContrato, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False, Minimo, Maximo, Total,
|
|
DdlMoneda.SelectedValue.ToEntero, ModalidadDetalle, If(UsuarioActual.Empresa.CvePlataforma = 3, 1, CveEstatusInicial), TipoContrato, TxtTipoCambio.Text.ToDouble, CveSucursalCliente:=DdlSucursalCliente.SelectedValue.ToEntero, CveAlmacenOrigen:=DdlAlmacenOrigen.SelectedValue.ToEntero, CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero, PorcentajeComision:=TxtPorcentajeComision.Text.ToEntero,
|
|
TipoGarantia:=DdlTipoGarantia.SelectedValue.ToEntero, Folio:=TxtFolio.Text.ToEntero, FechaVenc:=txtFechaVenc.Text.ToDate, EstatusFianza:=DdlEstatusFianza.SelectedValue.ToEntero, CvePeriodo:=DdlPeriodo.SelectedValue.ToEntero, CveCuentaEquipo:=DdlCuentaEquipo.SelectedValue.ToEntero, CveContratoPlantilla:=DdlPlantillaContrato.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero)
|
|
|
|
|
|
If CveContratoHijo > 0 Then
|
|
|
|
If ChkCantidades.Checked Then
|
|
TieneError = AgregarDetalleHijo(CveContratoHijo, ObjContratos)
|
|
End If
|
|
|
|
If ChkTrasAF.Checked Then
|
|
TieneError = AgregarMovimientosAFHijo(CveContratoHijo, ObjContratos)
|
|
End If
|
|
|
|
Else
|
|
TieneError = True
|
|
Alert("Ocurrió un error al generar el contrato.", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
If Not TieneError Then
|
|
ObjContratos.Commit()
|
|
Dim Msj As New StringBuilder
|
|
Msj.Append($"Se ha generado correctamente el contrato {TxtCodigoApartirDe.Text}, a partir del contrato: {TxtNumeroContrato.Text}")
|
|
Msj.AppendFormat("<br/><a class=""Texto"" target='_blank' href=""/Contratos/Contrato.aspx?CveContrato={0}"">Ver Contrato</a>", CveContratoHijo)
|
|
RegistraScript("$('#ModalCrearApartirDe').modal('hide');")
|
|
Alert(Msj.ToString, TipoMensaje.MsgInformacion)
|
|
Else
|
|
ObjContratos.RollBack()
|
|
End If
|
|
Catch ex As Exception
|
|
ObjContratos.RollBack()
|
|
OnError("Ocurrió un error al crear un nuevo contrato.", ex)
|
|
Finally
|
|
ObjContratos.Dispose()
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
|
|
Private Function AgregarDetalleHijo(CveContratoHijo As Integer, ByRef ObjContratos As ClsContratos) As Boolean
|
|
Dim TieneError = False
|
|
|
|
Dim Cantidades As Double
|
|
For Each Row As DataRow In TmpDT.Rows
|
|
Cantidades = Row("CantidadContratada").ToString.ToDouble
|
|
'If ChkCantidades.Checked Then
|
|
' Cantidades = Row("CantidadContratada").ToString.ToDouble
|
|
'Else
|
|
' Cantidades = 0
|
|
'End If
|
|
|
|
If Row("CveTipoPresupuesto").ToString.ToEntero = 1 Then
|
|
If ObjContratos.AddContratosDetalle(CveContratoHijo, Row("CvePS").ToString.ToEntero, Cantidades, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, Row("LimitarCantidad").ToString.ToEntero = 1, "") Then
|
|
If Autorizado Then
|
|
Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
|
|
guardarBitacora(msj)
|
|
End If
|
|
Row("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
|
|
Else
|
|
TieneError = True
|
|
Alert("Ocurrió un error al agregar el detalle del contrato", TipoMensaje.MsgError)
|
|
Exit For
|
|
End If
|
|
ElseIf Row("CveTipoPresupuesto").ToString.ToEntero = 2 Then
|
|
If ObjContratos.AddContratosDetalle(CveContratoHijo, Row("CvePS").ToString.ToEntero, Cantidades, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, Row("LimitarCantidad").ToString.ToEntero = 1, Row("OCInterna").ToString) Then
|
|
If Autorizado Then
|
|
Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
|
|
guardarBitacora(msj)
|
|
End If
|
|
Row("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
|
|
Else
|
|
TieneError = True
|
|
Alert("Ocurrió un error al agregar el detalle del contrato", TipoMensaje.MsgError)
|
|
Exit For
|
|
End If
|
|
End If
|
|
Next
|
|
|
|
Return TieneError
|
|
End Function
|
|
|
|
Private Function AgregarMovimientosAFHijo(CveContratoHijo As Integer, ByRef ObjContratos As ClsContratos) As Boolean
|
|
Dim TieneError As Boolean = False
|
|
|
|
'BUSCA LOS ACTIVOS FIJOS VIGENTES
|
|
Dim Dt As DataTable = DtMovimientos.FiltraParametros($"(CodigoPS IS NULL AND Cantidad - CantidadDevolucion > 0) OR (CodigoPS IS NOT NULL AND SerieFolioDevolucion IS NULL)")
|
|
|
|
Dim DtVentas As DataTable = Dt.FiltraParametros($"No = 0")
|
|
|
|
For Each Dr As DataRow In DtVentas.Rows
|
|
Dim CveVenta As Integer = Dr("CveVenta").ToString.ToEntero
|
|
Dim CveMovimiento As Integer = Dr("CveMovimiento").ToString.ToEntero
|
|
|
|
TieneError = Not ObjContratos.UpdateMovimientoContrato(CveContratoHijo, CveMovimiento)
|
|
|
|
If Not TieneError Then
|
|
TieneError = Not ObjContratos.UpdateVentasContrato(CveContratoHijo, CveVenta)
|
|
End If
|
|
|
|
If TieneError Then
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If TieneError Then
|
|
Alert("Ocurrió un error al traspasar los activos fijos del contrato", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
Return TieneError
|
|
End Function
|
|
|
|
'Private Sub AgregarMovimientosAFHijo(CveContratoHijo As Integer)
|
|
' 'BUSCA LOS ACTIVOS FIJOS VIGENTES
|
|
' Dim Dt As DataTable = DtMovimientos.FiltraParametros($"(CodigoPS IS NULL AND Cantidad - CantidadDevolucion > 0) OR (CodigoPS IS NOT NULL AND SerieFolioDevolucion IS NULL)")
|
|
|
|
|
|
' Dim DtVentas As DataTable = Dt.FiltraParametros($"No = 0")
|
|
|
|
' Dim CveAlmacenOrigen As Integer = DdlAlmacenOrigen.SelectedValue.ToEntero
|
|
' Dim CveAlmacenDestino As Integer = DdlAlmacenDestino.SelectedValue.ToEntero
|
|
' Dim CveMoneda As Integer = DdlMoneda.SelectedValue.ToEntero
|
|
|
|
' Dim CveConceptoSalida As Integer = 8
|
|
' Dim CveConceptoEntrada As Integer = 9
|
|
' Dim CveCliente As Integer = If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, DdlCliente.SelectedValue.ToEntero)
|
|
|
|
' Dim ObjInv As New ClsInventarios()
|
|
' Try
|
|
' ObjInv.IniciaTransacSQL()
|
|
' Dim TieneError As Boolean = False
|
|
|
|
' For Each Dr As DataRow In DtVentas.Rows
|
|
|
|
' Dim CveVentaAlmacen As Integer = Dr("CveVenta").ToString.ToEntero
|
|
|
|
' 'Movimiento de salida por traspaso al almacen destino
|
|
' Dim CveMovimientoSalida As Integer = ObjInv.AddMovimiento(CveAlmacenDestino, CveConceptoSalida, CveMoneda, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, DdlSubProyectoContrato.SelectedValue.ToEntero, -1, CveContrato:=CveContrato, CveCliente:=CveCliente, CveAlmacenDestino:=CveAlmacenOrigen)
|
|
|
|
' If CveMovimientoSalida > 0 Then
|
|
' For Each Row As DataRow In Dt.FiltraParametros($"CvePS IS NOT NULL AND CveVenta = {CveVentaAlmacen}").Rows
|
|
|
|
' Dim Cantidad As Double = Row("Cantidad").ToString.ToDouble
|
|
' Dim CvePS As Integer = Row("CvePS").ToString.ToEntero
|
|
' Dim CveVentaDetalle As Integer = Row("CveVentaDetalle").ToString.ToEntero
|
|
' Dim CveUnidadMedida As Integer = Row("CveUnidadMedida").ToString.ToEntero
|
|
' Dim PU As Double = Row("PU").ToString.ToDouble
|
|
|
|
' If Not ObjInv.AddMovimientoDetalle(CveMovimientoSalida, Cantidad, CveUnidadMedida, CvePS, PU, -1) Then
|
|
' TieneError = True
|
|
' Exit For
|
|
' End If
|
|
' Next
|
|
' Else
|
|
' TieneError = True
|
|
' Exit For
|
|
' End If
|
|
|
|
' 'Movimeinto de entrada por traspaso al almacen origen
|
|
' Dim CveMovimientoEntrada As Integer = ObjInv.AddMovimiento(CveAlmacenOrigen, CveConceptoEntrada, CveMoneda, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, DdlSubProyectoContrato.SelectedValue.ToEntero, -1, CveContrato:=CveContratoHijo, CveCliente:=CveCliente, CveAlmacenDestino:=CveAlmacenDestino)
|
|
|
|
' If CveMovimientoEntrada > 0 Then
|
|
' For Each Row As DataRow In Dt.FiltraParametros($"CvePS IS NOT NULL AND CveVenta = {CveVentaAlmacen}").Rows
|
|
|
|
' Dim Cantidad As Double = Row("Cantidad").ToString.ToDouble
|
|
' Dim CvePS As Integer = Row("CvePS").ToString.ToEntero
|
|
' Dim CveVentaDetalle As Integer = Row("CveVentaDetalle").ToString.ToEntero
|
|
' Dim CveUnidadMedida As Integer = Row("CveUnidadMedida").ToString.ToEntero
|
|
' Dim PU As Double = Row("PU").ToString.ToDouble
|
|
|
|
' If Not ObjInv.AddMovimientoDetalle(CveMovimientoEntrada, Cantidad, CveUnidadMedida, CvePS, PU, -1) Then
|
|
' TieneError = True
|
|
' Exit For
|
|
' End If
|
|
' Next
|
|
' Else
|
|
' TieneError = True
|
|
' Exit For
|
|
' End If
|
|
|
|
' Next
|
|
' If TieneError Then
|
|
' Alert("Ocurrió un error al traspasar los activos fijos", TipoMensaje.MsgAdvertencia)
|
|
' ObjInv.RollBack()
|
|
' Else
|
|
' ObjInv.Commit()
|
|
' End If
|
|
|
|
' Catch ex As Exception
|
|
' ObjInv.RollBack()
|
|
' OnError("Ocurrió un error al traspasar los activos fijos", ex)
|
|
' End Try
|
|
' ObjInv.Dispose()
|
|
|
|
|
|
'End Sub
|
|
|
|
|
|
|
|
#End Region
|
|
|
|
#Region "FIANZAS"
|
|
Protected Sub LimpiarCamposModalFianzas()
|
|
txtFolioFianza.Text = ""
|
|
TxtModalAdjuntoArchivo.Text = ""
|
|
DdlFianza.SelectedValue = "-1"
|
|
txtFechaVenFianza.Text = DateTime.Today.ToShortDateString
|
|
End Sub
|
|
Protected Sub btnAgregarFianza_Click(sender As Object, e As EventArgs)
|
|
|
|
LimpiarCamposModalFianzas()
|
|
EsEditarFianza = False
|
|
txth4Fianza.InnerText = "Agregar Fianza"
|
|
LnkDescargar.Visible = False
|
|
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
|
|
|
|
|
|
|
|
Private Sub GuardaAdjunto(FolioFechaVencimiento As String)
|
|
If Not TxtModalAdjuntoArchivo.getfiles.Archivos.Count > 0 Then
|
|
Exit Sub
|
|
End If
|
|
Dim ArchivoAdjunto As Archivo = TxtModalAdjuntoArchivo.getfiles.Archivos(0)
|
|
If ArchivoAdjunto.filenameO.Length > 114 Then
|
|
Alert("El nombre del archivo excede los 115 caracteres permitidos. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
|
|
Try
|
|
Dim Path As String = String.Format("{0}\\{1}\\{2}\\{3}", UsuarioActual.Empresa.Ruta, "Contratos", "Fianzas", FolioFechaVencimiento)
|
|
DirectoryExistsCreate(Path)
|
|
Dim ArchivoDestino As String = String.Format("{0}\\{1}", Path, ArchivoAdjunto.filenameO)
|
|
If File.Exists(ArchivoDestino) Then
|
|
System.IO.File.Delete(ArchivoDestino)
|
|
End If
|
|
System.IO.File.Move(ArchivoAdjunto.FileUrl, ArchivoDestino)
|
|
Catch ex As Exception
|
|
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
|
|
|
|
Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow)
|
|
|
|
IndexFianzaEditar = GvRow.DataItemIndex
|
|
|
|
txtFolioFianza.Text = GvRow.DataKey("Folio").ToString()
|
|
DdlFianza.SelectedValue = GvRow.DataKey("CveEstatusFianza").ToString()
|
|
txtFechaVenFianza.Text = GvRow.DataKey("FechaVencimiento").ToString()
|
|
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()
|
|
|
|
|
|
DtTmpFianzas.Columns.Add("CveContratoFianza", GetType(String))
|
|
DtTmpFianzas.Columns.Add("Folio", GetType(String))
|
|
DtTmpFianzas.Columns.Add("CveEstatusFianza", GetType(String))
|
|
DtTmpFianzas.Columns.Add("EstatusFianza", GetType(String))
|
|
DtTmpFianzas.Columns.Add("FechaVencimiento", GetType(String))
|
|
DtTmpFianzas.Columns.Add("Adjunto", GetType(String))
|
|
|
|
DtTmpFianzasInicial = DtTmpFianzas.Copy
|
|
|
|
GvFianzas.DataSource = DtTmpFianzas
|
|
GvFianzas.DataBind()
|
|
UpGvFianzas.Update()
|
|
End Sub
|
|
|
|
Protected Function GuardaFianzas(ObjContrato As ClsContratos) As Boolean
|
|
|
|
Dim TieneError As Boolean = False
|
|
|
|
For Each row As DataRow In DtTmpFianzas.Rows
|
|
Dim Folio As String = row("Folio").ToString()
|
|
Dim CveEstatus As Integer = row("CveEstatusFianza").ToString().ToEntero
|
|
Dim FechaVen As Date = Date.Parse(row("FechaVencimiento").ToString())
|
|
Dim Adjunto As String = row("Adjunto").ToString()
|
|
|
|
' Si la cve es -1 es nuevo y lo agrega
|
|
If row("CveContratoFianza").ToString() = "-1" Then
|
|
|
|
If Not ObjContrato.AddContratoFianza(CveContrato, Folio, CveEstatus, FechaVen, Adjunto) Then
|
|
TieneError = True
|
|
Exit For
|
|
End If
|
|
Else
|
|
Dim CveFianza As Integer = row("CveContratoFianza").ToString().ToEntero
|
|
|
|
If Not ObjContrato.UpdateContratoFianza(CveFianza, Folio, CveEstatus, FechaVen, Adjunto) Then
|
|
TieneError = True
|
|
Exit For
|
|
End If
|
|
|
|
End If
|
|
Next
|
|
' Compara si aun existe la fianza, si ya no existe la elimina
|
|
For Each row As DataRow In DtTmpFianzasInicial.Rows
|
|
|
|
Dim CveFianza As Integer = row("CveContratoFianza").ToString().ToEntero
|
|
Dim filtro As String = String.Format("CveContratoFianza ={0}", CveFianza)
|
|
|
|
If DtTmpFianzas.FiltraParametros(filtro).Rows.Count = 0 Then
|
|
TieneError = Not ObjContrato.RemoveContratoFianza(CveFianza)
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
Return Not TieneError
|
|
End Function
|
|
|
|
Protected Sub LnkDescargaAdjunto_Click(sender As Object, e As EventArgs)
|
|
Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow)
|
|
IndexFianzaEditar = GvRow.DataItemIndex
|
|
DescargarAdjunto()
|
|
End Sub
|
|
Protected Sub GvFianzas_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.DBCampo("Adjunto").ToString <> "" Then
|
|
e.Row.FCLinkButton("LnkDescargaAdjunto").Visible = True
|
|
Dim lb As LinkButton = CType(e.Row.FindControl("LnkDescargaAdjunto"), LinkButton)
|
|
ScriptManager.GetCurrent(Me).RegisterPostBackControl(lb)
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "CONVENIO DE PRECIO FIJO"
|
|
Protected Sub CargaConvenioPrecioFijo()
|
|
'12/04/2018 - oculta campo de licitacion, portlet finanzas y campo tipo de garantia
|
|
trLicitacion.Visible = False
|
|
DivFianzas.Visible = False
|
|
DivTipoGarantia.Visible = False
|
|
|
|
UpGral.Update()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "NOMENCLATURA CONTRATOS"
|
|
Protected Sub GetNoContratoNuevo()
|
|
Dim ObjContratos As New ClsContratos()
|
|
|
|
Dim TipoContrato As Integer = DdlTipoContrato.SelectedValue.ToEntero()
|
|
|
|
|
|
Dim SufijoContrato As String = ""
|
|
|
|
Select Case TipoContrato
|
|
Case 7 'Contrato Comodato
|
|
SufijoContrato = "COM"
|
|
Case 8 'Contrato Consignacion
|
|
SufijoContrato = "CONSIG"
|
|
Case 10 'Contrato de Financiamiento
|
|
SufijoContrato = "FIN"
|
|
Case 13 'Contrato Servicio Administrado de Impresion (?)
|
|
SufijoContrato = "MPS"
|
|
Case 28 'Convenio Precio Fijo
|
|
SufijoContrato = "CON"
|
|
End Select
|
|
|
|
Dim Serie As String = String.Format("-{0}-{1}", DateTime.Today.Year, SufijoContrato)
|
|
|
|
If ObjContratos.GetContratoNomenclatura(Serie, UsuarioActual.CveEmpresa) Then
|
|
TxtNumeroContrato.Text = ObjContratos.DtResultados.Rows(0)("NoContrato").ToString
|
|
End If
|
|
|
|
ObjContratos.Dispose()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "IMPUESOS LOCALES"
|
|
Protected Sub ChkImpuestosLocales_CheckedChanged(sender As Object, e As EventArgs)
|
|
If ChkImpuestosLocales.Checked Then
|
|
GvImpuestosLocales.Visible = True
|
|
Else
|
|
GvImpuestosLocales.Visible = False
|
|
End If
|
|
End Sub
|
|
Public Sub CargaImpuestosLocales()
|
|
Dim ObjContratos As New ClsContratos
|
|
If ObjContratos.GetContratoImpuestosLocales(CveContrato, UsuarioActual.CveEmpresa) Then
|
|
GvImpuestosLocales.DataSource = ObjContratos.DtResultados
|
|
End If
|
|
ObjContratos.Dispose()
|
|
GvImpuestosLocales.DataBind()
|
|
UpImpuestos.Update()
|
|
End Sub
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
|
|
|
|
|
|
End Class
|
|
|
|
|