Commit a918b4cae9e650d4ab9c449782aaa1403d0b115f

Authored by José Maria Villac Pinheiro
1 parent 7f025eff
Exists in master

18-10-2016 - GeoSan 7.3.3 - Finalizada funcionalidade para cadastro automático

de ramais a partir de ligações levantadas pelo coletor GPS (celular) do GSAN.
O usuário seleciona o trecho de rede e em seguida seleciona as ligações, quando
as mesmas são automaticamente associadas as redes unindo o cadastro comercial do
GSAN ao cadastro GIS de redes de água.
install/GeraSetupGeoSan/ArquivosInstGeoSan/GeoSan.exe
No preview for this file type
install/GeraSetupGeoSan/Codigo Gerador Instalador Geosan com TerraComponents.iss
1 #define SetupBaseName "SetupGeoSan-v." 1 #define SetupBaseName "SetupGeoSan-v."
2 -#define AppVersionFile "07.03.01" 2 +#define AppVersionFile "07.03.03"
3 3
4 [Setup] 4 [Setup]
5 AppName=GeoSan 5 AppName=GeoSan
trunk/Forms/frmCanvas.frm
@@ -260,7 +260,7 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A @@ -260,7 +260,7 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A
260 Dim strApagaGeometriaDaLigacaoGpsCadastrada As String 260 Dim strApagaGeometriaDaLigacaoGpsCadastrada As String
261 Dim retornoPontoDoRamalInserido As Long 261 Dim retornoPontoDoRamalInserido As Long
262 Dim geomIdRamal As Integer 262 Dim geomIdRamal As Integer
263 - Dim objectIdRamal As String 263 +' Dim objectIdRamal As String
264 Dim volumeFaturado As Double 264 Dim volumeFaturado As Double
265 Dim numeroDaLigacaoComDV As String 265 Dim numeroDaLigacaoComDV As String
266 266
@@ -288,8 +288,6 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A @@ -288,8 +288,6 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A
288 On Error GoTo Trata_Erro 288 On Error GoTo Trata_Erro
289 '2 - Adiciona geometria da linha de ramal de água 289 '2 - Adiciona geometria da linha de ramal de água
290 debugCodigoErro = "1" 290 debugCodigoErro = "1"
291 - 'TCanvas.object_id = object_id_ramal 'acho que pode tirar esta linha 'Aqui é crucial, pois é onde ele fala para o Canvas qual é o número o OBJECT_ID, para quando ele criar as geometrias, criar com este OBJECT_ID  
292 -  
293 retornoPontoGPS = TeDatabase1.setCurrentLayer("NXGS_V_LIG_COMERCIAL_GPS") 291 retornoPontoGPS = TeDatabase1.setCurrentLayer("NXGS_V_LIG_COMERCIAL_GPS")
294 TeDatabase1.getCenterGeometry 0, stringObject_id_ligacaoGPS, TypeGeometry.points, coordX_pontoGPS, coordY_pontoGPS 292 TeDatabase1.getCenterGeometry 0, stringObject_id_ligacaoGPS, TypeGeometry.points, coordX_pontoGPS, coordY_pontoGPS
295 retornoPontoGPS = TeDatabase1.setCurrentLayer("WATERLINES") 293 retornoPontoGPS = TeDatabase1.setCurrentLayer("WATERLINES")
@@ -299,33 +297,32 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A @@ -299,33 +297,32 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A
299 linhaRamalX(1) = coordX_pontoGPS 297 linhaRamalX(1) = coordX_pontoGPS
300 linhaRamalY(1) = coordY_pontoGPS 298 linhaRamalY(1) = coordY_pontoGPS
301 retornoPontoGPS = TeDatabase1.setCurrentLayer("RAMAIS_AGUA") 299 retornoPontoGPS = TeDatabase1.setCurrentLayer("RAMAIS_AGUA")
302 - retornoAdicionaLinhaRamal = TeDatabase1.addLine(objIdRamalTemporarioDoUsuario, linhaRamalX(0), linhaRamalY(0), 2) 300 + retornoAdicionaLinhaRamal = TeDatabase1.addLine(idUnicoRamaisAgua, linhaRamalX(0), linhaRamalY(0), 2)
303 301
304 '3 - obtem o geoId máximo da tabela de geometria de linhas, último entrado 302 '3 - obtem o geoId máximo da tabela de geometria de linhas, último entrado
305 - debugCodigoErro = "2"  
306 - On Error GoTo Transacao_Erro  
307 - Conn.BeginTrans  
308 - Set rsConsultaMaximoGeoId = New ADODB.Recordset  
309 - strConsultaMaxGeoIdLinhaRamal = "SELECT Max ([geom_id]) From LINES7 WHERE object_id = '" + objIdRamalTemporarioDoUsuario + "'"  
310 - rsConsultaMaximoGeoId.Open strConsultaMaxGeoIdLinhaRamal, Conn, adOpenForwardOnly, adLockOptimistic  
311 - If rsConsultaMaximoGeoId.EOF = False Then  
312 - Dim valorMaximo As Integer  
313 - valorMaximo = rsConsultaMaximoGeoId.Fields(0).value  
314 - geomIdRamal = valorMaximo  
315 - objectIdRamal = CStr(geomIdRamal)  
316 - End If  
317 - rsConsultaMaximoGeoId.Close  
318 - Conn.CommitTrans 303 +' debugCodigoErro = "2"
  304 +' On Error GoTo Transacao_Erro
  305 +' Conn.BeginTrans
  306 +' Set rsConsultaMaximoGeoId = New ADODB.Recordset
  307 +' strConsultaMaxGeoIdLinhaRamal = "SELECT Max ([geom_id]) From LINES7 WHERE object_id = '" + objIdRamalTemporarioDoUsuario + "'"
  308 +' rsConsultaMaximoGeoId.Open strConsultaMaxGeoIdLinhaRamal, Conn, adOpenForwardOnly, adLockOptimistic
  309 +' If rsConsultaMaximoGeoId.EOF = False Then
  310 +' Dim valorMaximo As Integer
  311 +' valorMaximo = rsConsultaMaximoGeoId.Fields(0).value
  312 +' geomIdRamal = valorMaximo
  313 +' objectIdRamal = CStr(geomIdRamal)
  314 +' End If
  315 +' rsConsultaMaximoGeoId.Close
  316 +' Conn.CommitTrans
319 On Error GoTo Trata_Erro 317 On Error GoTo Trata_Erro
320 '4 - Adiciona geometria do ponto ao ramail 318 '4 - Adiciona geometria do ponto ao ramail
321 debugCodigoErro = "3" 319 debugCodigoErro = "3"
322 - retornoPontoDoRamalInserido = TeDatabase1.addPoint(objectIdRamal, coordX_pontoGPS, coordY_pontoGPS) 320 + retornoPontoDoRamalInserido = TeDatabase1.addPoint(idUnicoRamaisAgua, coordX_pontoGPS, coordY_pontoGPS)
323 321
324 ' 4 - Atualiza os dados de RAMAIS_AGUA inclusive com o OBJECT_ID do trecho de rede e OBJECT_ID do ramal 322 ' 4 - Atualiza os dados de RAMAIS_AGUA inclusive com o OBJECT_ID do trecho de rede e OBJECT_ID do ramal
325 'BOM, até agora ele criou uma linha em RAMAIS_AGUA, e inseriu as geometrias de linha (LINES7) e ponto (POINTS7) do ramal. Então tem agora que atualizar a linha recem inserida em RAMAIS_AGUA com os dados do ramal 323 'BOM, até agora ele criou uma linha em RAMAIS_AGUA, e inseriu as geometrias de linha (LINES7) e ponto (POINTS7) do ramal. Então tem agora que atualizar a linha recem inserida em RAMAIS_AGUA com os dados do ramal
326 324
327 Set rsAtualizaDadosDoRamal = New ADODB.Recordset 325 Set rsAtualizaDadosDoRamal = New ADODB.Recordset
328 -  
329 strAtualizaObjIdRamal = "SELECT * FROM RAMAIS_AGUA WHERE OBJECT_ID_ = '" + objIdRamalTemporarioDoUsuario + "'" 326 strAtualizaObjIdRamal = "SELECT * FROM RAMAIS_AGUA WHERE OBJECT_ID_ = '" + objIdRamalTemporarioDoUsuario + "'"
330 debugCodigoErro = "4" 327 debugCodigoErro = "4"
331 On Error GoTo Transacao_Erro 328 On Error GoTo Transacao_Erro
@@ -333,29 +330,30 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A @@ -333,29 +330,30 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A
333 rsAtualizaDadosDoRamal.Open strAtualizaObjIdRamal, Conn, adOpenKeyset, adLockOptimistic, adCmdText 330 rsAtualizaDadosDoRamal.Open strAtualizaObjIdRamal, Conn, adOpenKeyset, adLockOptimistic, adCmdText
334 'Inicia a atualização de RAMAIS_AGUA com todos os dados 331 'Inicia a atualização de RAMAIS_AGUA com todos os dados
335 If rsAtualizaDadosDoRamal.EOF = False Then 'Tem que encontrar a linha em RAMAIS_AGUA que acabou de ser inserida 332 If rsAtualizaDadosDoRamal.EOF = False Then 'Tem que encontrar a linha em RAMAIS_AGUA que acabou de ser inserida
336 - rsAtualizaDadosDoRamal!Object_id_ = objectIdRamal 'Agora coloca o OBJECT_ID do ramal correto, o anterior tinha o nome do usuário-data-hora 333 + rsAtualizaDadosDoRamal!Object_id_ = idUnicoRamaisAgua 'ID autonumérico da tabela Ramais 'Agora coloca o OBJECT_ID do ramal correto, o anterior tinha o nome do usuário-data-hora
337 rsAtualizaDadosDoRamal!USUARIO_LOG = strUser 'Salva o nome do usuário 334 rsAtualizaDadosDoRamal!USUARIO_LOG = strUser 'Salva o nome do usuário
338 rsAtualizaDadosDoRamal.Update 335 rsAtualizaDadosDoRamal.Update
339 End If 336 End If
340 rsAtualizaDadosDoRamal.Close 337 rsAtualizaDadosDoRamal.Close
341 Conn.CommitTrans 338 Conn.CommitTrans
342 On Error GoTo Trata_Erro 339 On Error GoTo Trata_Erro
  340 +
343 '5 - Atualiza Lines7 341 '5 - Atualiza Lines7
344 - debugCodigoErro = "5"  
345 - Set rsAtualizaDadosLinhaRamal = New ADODB.Recordset 342 +' debugCodigoErro = "5"
  343 +' Set rsAtualizaDadosLinhaRamal = New ADODB.Recordset
  344 +' strAtualizaDadosDaLinhaRamal = "SELECT * FROM LINES7 WHERE OBJECT_ID = '" + objIdRamalTemporarioDoUsuario + "'"
  345 +' On Error GoTo Transacao_Erro
  346 +' Conn.BeginTrans
  347 +' rsAtualizaDadosLinhaRamal.Open strAtualizaDadosDaLinhaRamal, Conn, adOpenKeyset, adLockOptimistic, adCmdText
  348 +' 'Inicia a atualização de RAMAIS_AGUA com todos os dados
  349 +' If rsAtualizaDadosLinhaRamal.EOF = False Then 'Tem que encontrar a linha em RAMAIS_AGUA que acabou de ser inserida
  350 +' rsAtualizaDadosLinhaRamal!object_id = objectIdRamal 'Agora coloca o OBJECT_ID do ramal correto, o anterior tinha o nome do usuário-data-hora
  351 +' rsAtualizaDadosLinhaRamal.Update
  352 +' End If
  353 +' rsAtualizaDadosLinhaRamal.Close
  354 +' Conn.CommitTrans
  355 +' On Error GoTo Trata_Erro
346 356
347 - strAtualizaDadosDaLinhaRamal = "SELECT * FROM LINES7 WHERE OBJECT_ID = '" + objIdRamalTemporarioDoUsuario + "'"  
348 - On Error GoTo Transacao_Erro  
349 - Conn.BeginTrans  
350 - rsAtualizaDadosLinhaRamal.Open strAtualizaDadosDaLinhaRamal, Conn, adOpenKeyset, adLockOptimistic, adCmdText  
351 - 'Inicia a atualização de RAMAIS_AGUA com todos os dados  
352 - If rsAtualizaDadosLinhaRamal.EOF = False Then 'Tem que encontrar a linha em RAMAIS_AGUA que acabou de ser inserida  
353 - rsAtualizaDadosLinhaRamal!object_id = objectIdRamal 'Agora coloca o OBJECT_ID do ramal correto, o anterior tinha o nome do usuário-data-hora  
354 - rsAtualizaDadosLinhaRamal.Update  
355 - End If  
356 - rsAtualizaDadosLinhaRamal.Close  
357 - Conn.CommitTrans  
358 - On Error GoTo Trata_Erro  
359 ' 6 - Insere em RAMAIS_AGUA_LIGACAO a ligação selecionada pelo usuário 357 ' 6 - Insere em RAMAIS_AGUA_LIGACAO a ligação selecionada pelo usuário
360 On Error GoTo Transacao_Erro 358 On Error GoTo Transacao_Erro
361 Conn.BeginTrans 359 Conn.BeginTrans
@@ -370,7 +368,7 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A @@ -370,7 +368,7 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A
370 numeroDaLigacaoComDV = rsInsereRamaisAguaLigacao!NRO_LIGACA 368 numeroDaLigacaoComDV = rsInsereRamaisAguaLigacao!NRO_LIGACA
371 End If 369 End If
372 strInsereLigacao = "INSERT INTO RAMAIS_AGUA_LIGACAO (OBJECT_ID_,NRO_LIGACAO,CONSUMO_LPS) " 370 strInsereLigacao = "INSERT INTO RAMAIS_AGUA_LIGACAO (OBJECT_ID_,NRO_LIGACAO,CONSUMO_LPS) "
373 - strInsereLigacao = strInsereLigacao & "VALUES ('" & objectIdRamal & "','" & numeroDaLigacaoComDV & "', " & volumeFaturado & ")" 371 + strInsereLigacao = strInsereLigacao & "VALUES ('" & idUnicoRamaisAgua & "','" & numeroDaLigacaoComDV & "', " & volumeFaturado & ")"
374 Conn.execute (strInsereLigacao) 372 Conn.execute (strInsereLigacao)
375 rsInsereRamaisAguaLigacao.Close 373 rsInsereRamaisAguaLigacao.Close
376 374
trunk/GeoSan.exe
No preview for this file type
trunk/GeoSan.vbp
@@ -151,7 +151,7 @@ HelpContextID="0" @@ -151,7 +151,7 @@ HelpContextID="0"
151 CompatibleMode="0" 151 CompatibleMode="0"
152 MajorVer=7 152 MajorVer=7
153 MinorVer=3 153 MinorVer=3
154 -RevisionVer=1 154 +RevisionVer=3
155 AutoIncrementVer=0 155 AutoIncrementVer=0
156 ServerSupportFiles=0 156 ServerSupportFiles=0
157 VersionCompanyName="NEXUS GeoEngenharia e Com. Ltda." 157 VersionCompanyName="NEXUS GeoEngenharia e Com. Ltda."
trunk/GeoSan.vbw
1 -Global = 178, 111, 1297, 843, C 1 +Global = 178, 111, 1297, 843, Z
2 calcDetecta = 0, 0, 0, 0, C 2 calcDetecta = 0, 0, 0, 0, C
3 FrmCreatTextForLayer = 0, 0, 0, 0, C, 132, 132, 1251, 864, C 3 FrmCreatTextForLayer = 0, 0, 0, 0, C, 132, 132, 1251, 864, C
4 frmAbout = 0, 0, 0, 0, C, 154, 154, 1273, 886, C 4 frmAbout = 0, 0, 0, 0, C, 154, 154, 1273, 886, C
5 FrmTypes = 0, 0, 0, 0, C, 176, 176, 1295, 908, C 5 FrmTypes = 0, 0, 0, 0, C, 176, 176, 1295, 908, C
6 FrmMain = 37, 14, 1267, 632, C, 44, 44, 1163, 776, C 6 FrmMain = 37, 14, 1267, 632, C, 44, 44, 1163, 776, C
7 FrmAssociation = 39, 209, 1277, 778, C, 220, 220, 1339, 952, C 7 FrmAssociation = 39, 209, 1277, 778, C, 220, 220, 1339, 952, C
8 -FrmCadastroRamal = 18, 19, 1408, 748, Z, 45, 39, 1164, 771, C 8 +FrmCadastroRamal = 18, 19, 1408, 748, , 45, 39, 1164, 771, C
9 frmCadastroRamalFiltro = 100, 100, 1246, 731, C, 264, 264, 1383, 996, C 9 frmCadastroRamalFiltro = 100, 100, 1246, 731, C, 264, 264, 1383, 996, C
10 frmCanvas = -74, 93, 1045, 858, , 110, 110, 1229, 842, C 10 frmCanvas = -74, 93, 1045, 858, , 110, 110, 1229, 842, C
11 frmConsumidoresDesabastecidos = 110, 110, 1229, 842, C, 308, 308, 1427, 1040, C 11 frmConsumidoresDesabastecidos = 110, 110, 1229, 842, C, 308, 308, 1427, 1040, C
@@ -33,7 +33,7 @@ FrmSelectTypes = 0, 0, 0, 0, C, 22, 22, 1141, 754, C @@ -33,7 +33,7 @@ FrmSelectTypes = 0, 0, 0, 0, C, 22, 22, 1141, 754, C
33 FrmSubTypes = 0, 0, 0, 0, C, 44, 44, 1163, 776, C 33 FrmSubTypes = 0, 0, 0, 0, C, 44, 44, 1163, 776, C
34 FrmSuppliers = 0, 0, 0, 0, C, 66, 66, 1185, 798, C 34 FrmSuppliers = 0, 0, 0, 0, C, 66, 66, 1185, 798, C
35 FrmSuppliersSub = 0, 0, 0, 0, C, 88, 88, 1207, 820, C 35 FrmSuppliersSub = 0, 0, 0, 0, C, 88, 88, 1207, 820, C
36 -clsTerraLib = 56, 35, 1052, 839, 36 +clsTerraLib = 56, 35, 1052, 839, C
37 clsEPACurves = 0, 0, 0, 0, C 37 clsEPACurves = 0, 0, 0, 0, C
38 clsEPAPatterns = 0, 0, 0, 0, C 38 clsEPAPatterns = 0, 0, 0, 0, C
39 clsGeoReference = 132, 132, 1251, 864, C 39 clsGeoReference = 132, 132, 1251, 864, C
trunk/Modules/Global.bas
@@ -200,7 +200,7 @@ Public Sub Main() @@ -200,7 +200,7 @@ Public Sub Main()
200 End If 200 End If
201 'Configura a versão atual do GeoSan 201 'Configura a versão atual do GeoSan
202 Versao_Geo = App.Major & "." & App.Minor & "." & App.Revision 202 Versao_Geo = App.Major & "." & App.Minor & "." & App.Revision
203 - Versao_Geo = "07.03.01" 203 + Versao_Geo = "07.03.03"
204 glo.diretorioGeoSan = App.path 'salva globalmente o caminho onde encontra-se o GeoSan.exe 204 glo.diretorioGeoSan = App.path 'salva globalmente o caminho onde encontra-se o GeoSan.exe
205 SaveLoadGlobalData glo.diretorioGeoSan + "/controles/variaveisGlobais.txt", True 'salva em um arquivo todas as variáveis globais para poderem ser acessadas por outras aplicações 205 SaveLoadGlobalData glo.diretorioGeoSan + "/controles/variaveisGlobais.txt", True 'salva em um arquivo todas as variáveis globais para poderem ser acessadas por outras aplicações
206 connn = "" 206 connn = ""