Files
SIG/Contratos/ContratosSecciones.aspx.vb

519 lines
20 KiB
VB.net

Option Explicit On
Option Strict On
Imports System.Drawing
Imports AspMap
Imports Extensiones
Imports System.Data
Imports System.IO
Imports System.Text
Imports System.Threading
Imports AspMap.Web
Imports AspMap.Web.Extensions
Partial Class Contratos_ContratosSecciones
Inherits ClsPaginas
#Region "Propiedades"
Private Property PorBoton As Boolean
Private Property CveContratoSeccion As Integer
Get
Return ViewState("CveContratoSeccion").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveContratoSeccion") = value
End Set
End Property
Private Property CveContrato As Integer
Get
Return ViewState("CveContrato").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveContrato") = value
End Set
End Property
Private Property CveClasificacion As Integer
Get
Return ViewState("CveClasificacion").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveClasificacion") = value
End Set
End Property
Private Property Tipo As String
Get
Return ViewState("Tipo").ToString
End Get
Set(value As String)
ViewState("Tipo") = value
End Set
End Property
Private Property Modalidad As Integer
Get
Return ViewState("Modalidad").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("Modalidad") = 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 Seleccionado As String
Get
Return ViewState("Seleccionado").ToString
End Get
Set(value As String)
ViewState("Seleccionado") = 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
ViewState("Orden") = ""
PorBoton = False
Modalidad = Request("Contratos").ToEntero
ConfiguraModalidad()
'CveContratoSeccion = -1
'CargaSeccion()
'CargaContratos()
'CargaClasificacion()
Seleccionado = ""
CargaMapaGeom(-52441177.6239012, 3577172.53285846)
CveContrato = IfNull(Request("CveContrato"), -1).ToString.ToEntero
CveClasificacion = IfNull(Request("CveClasificacion"), -1).ToString.ToEntero
Tipo = IfNull(Request("Tipo"), "Con").ToString
CargaDatos()
DdlPS.Items.Insert(0, New System.Web.UI.WebControls.ListItem("Todas", "-1"))
'Me.txtFechaF.Text = Now.ToShortDateString
'Dim Row() As DataRow = GlobalDTFechasContratosSecciones.Select("CveContratosQueja = -1 AND CveEstatus = 1")
'If Row.Length > 0 Then
' txtFechaI.Text = Row(0)("Fecha").ToString.ToDate.ToShortDateString()
'End If
'RegistraScript("try { Browser();Acomoda(); } catch (e) {alert(e);}")
End If
CargaMapa()
End Sub
Private Sub ConfiguraModalidad()
'If Modalidad = 1 Then
' TrProgramar.Visible = True
LblTitulo.Text = "Contratos Secciones"
'ElseIf Modalidad = 2 Then
' TrBitacora.Visible = True
' LblTitulo.Text = "Bitácoras"
' Page.Title = "SAT - Imprimir Bitácoras"
' TxtFechaIBit.Text = Now.ToShortDateString
' TxtFechaFBit.Text = Now.ToShortDateString
'End If
End Sub
Private Sub CargaSeccion()
Dim dt As DataTable = GlobalDTContratosSecciones.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlSeccion.DataSource = dt
DdlSeccion.DataBind()
DdlSeccion.Items.Insert(0, New System.Web.UI.WebControls.ListItem("Todas", "-1"))
DdlSeccionAdd.DataSource = dt
DdlSeccionAdd.DataBind()
End Sub
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")
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")
CargaDatos()
End Sub
#Region "C O M B O S"
Private Sub CargaContratosAdd()
DdlContratoAdd.DataSource = GlobalDTContratos.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlContratoAdd.DataBind()
' DdlContratoAdd.Items.Insert(0, New System.Web.UI.WebControls.ListItem("Todas", "-1"))
End Sub
Private Sub CargaClasificacionAdd()
DdlClasificacionAdd.DataSource = GlobalDTClasificaciones.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlClasificacionAdd.DataBind()
' DdlClasificacionAdd.Items.Insert(0, New System.Web.UI.WebControls.ListItem("Todas", "-1"))
End Sub
Private Sub CargaPSAdd()
Dim ObjPS As New ClsProductosServicios
If ObjPS.GetPS(-1, DdlClasificacionAdd.SelectedValue.ToString.ToEntero, UsuarioActual.CveEmpresa) Then
DdlPSAdd.DataSource = ObjPS.DtResultados
Else
DdlPSAdd.DataSource = Nothing
End If
DdlPSAdd.DataBind()
ObjPS.Dispose()
'DdlPSAdd.Items.Insert(0, New System.Web.UI.WebControls.ListItem("Todas", "-1"))
End Sub
Private Sub CargaSeccionAdd()
'DdlSeccionAdd.DataSource = GlobalDTContratosSecciones.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
'DdlSeccionAdd.DataBind()
'DdlSeccionAdd.Items.Insert(0, New System.Web.UI.WebControls.ListItem("Todas", "-1"))
Dim ObjSecciones As New ClsContratos
If ObjSecciones.GetSecciones() Then
DdlSeccionAdd.DataSource = ObjSecciones.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlSeccionAdd.DataBind()
End If
ObjSecciones.Dispose()
End Sub
Private Sub CargaContratos()
DdlContrato.DataSource = GlobalDTContratos.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlContrato.DataBind()
DdlContrato.Items.Insert(0, New ListItem("Todos", "-1"))
DdlContrato.SelectedValue = "7"
End Sub
Private Sub CargaClasificacion()
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
DdlClasificacion.DataBind()
DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
'Private Sub CargaCategorias()
' DdlPartidas.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa)
' DdlPartidas.DataBind()
' DdlPartidas.Items.Insert(0, New ListItem("Todas", "-1"))
'End Sub
Private Sub CargaPS()
Dim ObjPS As New ClsProductosServicios
If ObjPS.GetPS(-1, DdlClasificacion.SelectedValue.ToString.ToEntero, UsuarioActual.CveEmpresa) Then
DdlPS.DataSource = ObjPS.DtResultados.FiltraParametros("", "PS")
Else
DdlPS.DataSource = Nothing
End If
DdlPS.DataBind()
ObjPS.Dispose()
DdlPS.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
#End Region
Protected Sub CmdConsultar_Click(sender As Object, e As System.EventArgs) Handles CmdConsultar.Click
CargaDatos()
End Sub
Private Sub CargaDatos()
PorBoton = True
Dim ContratosSecciones As New ClsContratos()
If ContratosSecciones.GetRepContratosAvancesDetalle(-1, CveContrato, CveClasificacion, Tipo, 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)
'DtDatos.Rows.RemoveAt(0)
' Cache("DTProgramacion" & UsuarioActual.CveUsuario.ToString()) = ContratosSecciones.DtResultados
GV.DataSource = DtDatos
LblTitulo.Text = "Cliente: " & DtDatos.MAX("Cliente")
DtDatos = DtDatos.FiltraParametros("CveContratoSeccion > 0")
Else
GV.DataSource = Nothing
End If
ContratosSecciones.Dispose()
GV.DataBind()
CargaMapa()
mapa.ZoomFull()
UpDatos.Update()
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)
CargaMapa()
End If
End Sub
'Protected Sub GV_RowCreated(sender As Object, e As GridViewRowEventArgs) Handles GV.RowCreated
' If e.Row.RowType = DataControlRowType.DataRow Then
' e.Row.ClientIDMode = ClientIDMode.Static
' e.Row.ID = String.Format("Tr-{0}", e.Row.DBCampo("ID_GIS"))
' End If
'End Sub
Protected Sub GV_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GV.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.RowIndex = 0 Then
e.Row.Cells(0).Width = Unit.Pixel(300) 'Seccion
e.Row.Cells(1).Width = Unit.Pixel(100) 'SubSeccion
e.Row.Cells(2).Width = Unit.Pixel(120) 'Cantidad
e.Row.Cells(3).Width = Unit.Pixel(100) 'PU
e.Row.Cells(4).Width = Unit.Pixel(100) 'Permitir Avance
e.Row.Cells(5).Width = Unit.Pixel(100) 'Permitir Estimacion
'e.Row.Cells(6).Width = Unit.Pixel(100) 'Número Estimación
' e.Row.Cells(7).Width = Unit.Pixel(100) 'Factura
End If
e.Row.ClientIDMode = ClientIDMode.Static
e.Row.ID = String.Format("Tr{0}", e.Row.DBCampo("ID_GIS"))
e.Row.Cells(2).HorizontalAlign = HorizontalAlign.Center
If e.Row.DBCampo("NumeroContrato") = "" Then
e.Row.CssClass = "SubTotales3" : e.Row.Height = 25
ElseIf e.Row.DBCampo("Partida") = "" Then
e.Row.CssClass = "SubTotales2" : e.Row.Height = 25
ElseIf e.Row.DBCampo("PS") = "" Then
e.Row.CssClass = "SubTotales" : e.Row.Height = 25
ElseIf e.Row.DBCampo("Seccion") = "" Then
e.Row.CssClass = "SubTotales3" : e.Row.Height = 25
End If
End If
End Sub
Private Sub CargaGrid(ByVal Orden As String)
If Orden <> String.Empty Then
Dim DV As New DataView(CType(Cache("DTProgramacion" & UsuarioActual.CveUsuario.ToString()), DataTable), "", Orden, DataViewRowState.CurrentRows)
GV.DataSource = DV.ToTable()
DV.Dispose()
Else
GV.DataSource = CType(Cache("DTProgramacion" & UsuarioActual.CveUsuario.ToString()), DataTable)
End If
GV.DataBind()
UpDatos.Update()
End Sub
'Protected Sub CmdBuscar_Click(sender As Object, e As System.EventArgs) Handles CmdBuscar.Click
' Dim ObjBitacora As New ClsBitacora()
' Dim FechaI, FechaF As String
' FechaI = If(IsDate(TxtFechaIBit.Text.Trim()), TxtFechaIBit.Text.Trim(), "-1")
' FechaF = If(IsDate(TxtFechaFBit.Text.Trim()), TxtFechaFBit.Text.Trim(), "-1")
' If ObjBitacora.GetBitacora(DdlContratos.SelectedValue, FechaI, FechaF) Then
' GVBitacora.DataSource = ObjBitacora.DtResultados
' Else
' GVBitacora.DataSource = Nothing
' End If
' ObjBitacora.Dispose()
' GVBitacora.DataBind()
'End Sub
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlClasificacion.SelectedIndexChanged
CargaPS()
End Sub
Protected Sub BtnAgregar_Click(sender As Object, e As System.EventArgs) Handles BtnAgregar.Click
RegistraScript("PosicionaObjeto('BtnAgregar','divContrato','');")
TrContratos.Visible = True
divContrato.Visible = True
CargaContratosAdd()
CargaClasificacionAdd()
CargaSeccionAdd()
UpContratos.Update()
'Dim con As New ClsContratos
'con.AddContratosSecciones(DdlContrato.SelectedValue.ToEntero, DdlPS.SelectedValue.ToEntero, DdlSeccion.SelectedValue.ToEntero, 5, 3, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
'con.Dispose()
End Sub
Protected Sub DdlClasificacionAdd_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlClasificacionAdd.SelectedIndexChanged
CargaPSAdd()
End Sub
Protected Sub BtnAgregarContratoSeccion_Click(sender As Object, e As System.EventArgs) Handles BtnAgregarContratoSeccion.Click
Dim ObjContratosSecciones As New ClsContratos
If ObjContratosSecciones.AddContratosSecciones(DdlContratoAdd.SelectedValue.ToEntero, DdlSeccionAdd.SelectedValue.ToEntero, DdlPSAdd.SelectedValue.ToEntero, TxtCantidad.Text.Trim.ToDouble, TxtPU.Text.Trim.ToDouble, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
TxtCantidad.Text = ""
TxtPU.Text = ""
Alert("El Nuevo Contrato Sección se Agregó Correctamente.", TipoMensaje.MsgInformacion)
UpContratos.Update()
ViewState("DTContratosSecciones") = ObjContratosSecciones.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
CargaDatos()
End If
ObjContratosSecciones.Dispose()
End Sub
Protected Sub LBFoto_OnClick(ByVal Sender As Object, ByVal E As EventArgs)
Dim LB As LinkButton = CType(Sender, LinkButton)
divFotos.Visible = True
Dim Con As New ClsContratos
If Con.GetContratoSeccion(LB.CommandArgument.ToEntero, UsuarioActual.CveEmpresa) Then
Dim dt As DataTable = Con.DtResultados
RegistraScript("PosicionaObjeto('" & LB.ClientID & "','divFotos','');")
If dt.Rows.Count > 0 Then
Img1.ImageUrl = "/Empresas/66/Avances/Imagenes/" & dt.Rows(0)("Img1").ToString
If dt.Rows(0)("Img2").ToString <> "" Then
Img2.Visible = True
Img2.ImageUrl = "/Empresas/66/Avances/Imagenes/" & dt.Rows(0)("Img2").ToString
End If
If dt.Rows(0)("Img3").ToString <> "" Then
Img3.Visible = True
Img3.ImageUrl = "/Empresas/66/Avances/Imagenes/" & dt.Rows(0)("Img3").ToString
End If
End If
UPFoto.Update()
End If
Con.Dispose()
End Sub
Protected Sub LBGeom_OnClick(ByVal Sender As Object, ByVal E As EventArgs)
Dim LB As LinkButton = CType(Sender, LinkButton)
divGeom.Visible = True
Dim Con As New ClsContratos
If Con.GetContratoSeccion(LB.CommandArgument.ToEntero, UsuarioActual.CveEmpresa) Then
Dim dt As DataTable = Con.DtResultados
RegistraScript("PosicionaObjeto('" & LB.ClientID & "','divGeom','');")
CargaMapaGeom(dt.Rows(0)("x").ToString.ToDouble, dt.Rows(0)("y").ToString.ToDouble)
UPGPS.Update()
End If
Con.Dispose()
End Sub
Private Sub CargaMapaGeom(x As Double, y As Double)
Dim gml As GoogleMapsLayer = New GoogleMapsLayer()
gml.MapType = GoogleMapType.Normal
MapGeom.BackgroundLayer = gml
'' set the transparency of the main map image to display other layers over the satellite map
MapGeom.ImageFormat = ImageFormat.Png
MapGeom.ImageOpacity = 0.8
'MapGeom.Markers.Add(New Marker(New AspMap.Point(x, y), "x", "y"))
'MapGeom.Markers.Add(New Marker(New AspMap.Point(-52441177.6239012, 3577172.53285846), "x", "y"))
'If Mapa.Markers.Count > 0 Then
'MapGeom.ZoomScale(New AspMap.Point(Mapa.Markers(0).Position.X, Mapa.Markers(0).Position.Y), 750000)
'End If
End Sub
Private Sub CargaMapa()
Dim dbLayer As AspMap.Layer
Dim feature As AspMap.Feature
'Dim FillColor, LineColor As Color
Mapa.RemoveAllLayers()
dbLayer = Mapa.AddLayer(ModExtensiones.DirectorioBaseEmpresas & "GIS\Carretera.tab")
If dbLayer IsNot Nothing AndAlso DtDatos IsNot Nothing Then
If (Not dbLayer.AddRelate("ID_GIS", DtDatos, "ID_GIS")) Then
Alert("No se puede vincular las tablas")
End If
Dim renderer As FeatureRenderer = dbLayer.Renderer
'Seleccionado
If Seleccionado <> "" Then
feature = renderer.Add() : feature.Expression = String.Format("ID_Gis = {0}", Seleccionado) : feature.Symbol.FillStyle = FillStyle.Solid : feature.Symbol.FillColor = Color.LightSkyBlue : feature.Symbol.LineColor = Color.FromArgb(120, 168, 192) : feature.Tag = "-3"
End If
''Estimado
feature = renderer.Add() : feature.Expression = "NumeroEstimacionNum > 0 " : feature.Symbol.FillStyle = FillStyle.Solid : feature.Symbol.FillColor = Color.Green : feature.Symbol.LineColor = Color.FromArgb(192, 144, 96) : feature.Tag = "-2"
''Estimado
feature = renderer.Add() : feature.Expression = "PermitirAvanceNum > 0 " : feature.Symbol.FillStyle = FillStyle.Solid : feature.Symbol.FillColor = Color.Yellow : feature.Symbol.LineColor = Color.FromArgb(192, 144, 96) : feature.Tag = "-2"
''Por Estimar
feature = renderer.Add() : feature.Expression = "PermitirEstimacionNum = 1 " : feature.Symbol.FillStyle = FillStyle.Solid : feature.Symbol.FillColor = Color.LightGray : feature.Symbol.LineColor = Color.FromArgb(120, 168, 192) : feature.Tag = "-3"
End If
End Sub
Protected Sub Map1_InfoTool(ByVal sender As Object, ByVal e As InfoToolEventArgs)
If e.Argument = "" Then
Dim records As AspMap.Recordset = Mapa.Identify(e.InfoPoint, 10)
Seleccionado = records("ID_Gis").ToString
GV.SelectRow(records("ID_Gis").ToString.ToEntero - 1)
'RegistraScript(String.Format("Colorea(Tr{0})", records("ID_GIS")))
Dim dbLayer As AspMap.Layer = Mapa.Layer(0)
Dim feature = New AspMap.Feature()
feature.Expression = String.Format("ID_Gis = " & Seleccionado)
feature.Symbol.FillColor = Color.LightSkyBlue
dbLayer.Renderer.Add(feature)
End If
End Sub
#Region "O R D E N A M I E N T O"
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Orden As String = ""
Dim Campo As String = ""
Dim Literal As Literal = Nothing
Const OrdenInicial As String = ""
Dim Arg(2) As String
Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c)
Campo = Arg(0)
Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal)
If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-asc' style='color:#999' ></i>")
Else
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-desc' style='color:#999' ></i>")
End If
Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString
ViewState("Orden") = Orden
CargaGrid(Orden)
End Sub
#End Region
End Class