Commit a918b4cae9e650d4ab9c449782aaa1403d0b115f
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.
Showing
7 changed files
with
40 additions
and
42 deletions
Show diff stats
install/GeraSetupGeoSan/ArquivosInstGeoSan/GeoSan.exe
No preview for this file type
install/GeraSetupGeoSan/Codigo Gerador Instalador Geosan com TerraComponents.iss
trunk/Forms/frmCanvas.frm
| ... | ... | @@ -260,7 +260,7 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A |
| 260 | 260 | Dim strApagaGeometriaDaLigacaoGpsCadastrada As String |
| 261 | 261 | Dim retornoPontoDoRamalInserido As Long |
| 262 | 262 | Dim geomIdRamal As Integer |
| 263 | - Dim objectIdRamal As String | |
| 263 | +' Dim objectIdRamal As String | |
| 264 | 264 | Dim volumeFaturado As Double |
| 265 | 265 | Dim numeroDaLigacaoComDV As String |
| 266 | 266 | |
| ... | ... | @@ -288,8 +288,6 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A |
| 288 | 288 | On Error GoTo Trata_Erro |
| 289 | 289 | '2 - Adiciona geometria da linha de ramal de água |
| 290 | 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 | 291 | retornoPontoGPS = TeDatabase1.setCurrentLayer("NXGS_V_LIG_COMERCIAL_GPS") |
| 294 | 292 | TeDatabase1.getCenterGeometry 0, stringObject_id_ligacaoGPS, TypeGeometry.points, coordX_pontoGPS, coordY_pontoGPS |
| 295 | 293 | retornoPontoGPS = TeDatabase1.setCurrentLayer("WATERLINES") |
| ... | ... | @@ -299,33 +297,32 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A |
| 299 | 297 | linhaRamalX(1) = coordX_pontoGPS |
| 300 | 298 | linhaRamalY(1) = coordY_pontoGPS |
| 301 | 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 | 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 | 317 | On Error GoTo Trata_Erro |
| 320 | 318 | '4 - Adiciona geometria do ponto ao ramail |
| 321 | 319 | debugCodigoErro = "3" |
| 322 | - retornoPontoDoRamalInserido = TeDatabase1.addPoint(objectIdRamal, coordX_pontoGPS, coordY_pontoGPS) | |
| 320 | + retornoPontoDoRamalInserido = TeDatabase1.addPoint(idUnicoRamaisAgua, coordX_pontoGPS, coordY_pontoGPS) | |
| 323 | 321 | |
| 324 | 322 | ' 4 - Atualiza os dados de RAMAIS_AGUA inclusive com o OBJECT_ID do trecho de rede e OBJECT_ID do ramal |
| 325 | 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 | 325 | Set rsAtualizaDadosDoRamal = New ADODB.Recordset |
| 328 | - | |
| 329 | 326 | strAtualizaObjIdRamal = "SELECT * FROM RAMAIS_AGUA WHERE OBJECT_ID_ = '" + objIdRamalTemporarioDoUsuario + "'" |
| 330 | 327 | debugCodigoErro = "4" |
| 331 | 328 | On Error GoTo Transacao_Erro |
| ... | ... | @@ -333,29 +330,30 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A |
| 333 | 330 | rsAtualizaDadosDoRamal.Open strAtualizaObjIdRamal, Conn, adOpenKeyset, adLockOptimistic, adCmdText |
| 334 | 331 | 'Inicia a atualização de RAMAIS_AGUA com todos os dados |
| 335 | 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 | 334 | rsAtualizaDadosDoRamal!USUARIO_LOG = strUser 'Salva o nome do usuário |
| 338 | 335 | rsAtualizaDadosDoRamal.Update |
| 339 | 336 | End If |
| 340 | 337 | rsAtualizaDadosDoRamal.Close |
| 341 | 338 | Conn.CommitTrans |
| 342 | 339 | On Error GoTo Trata_Erro |
| 340 | + | |
| 343 | 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 | 357 | ' 6 - Insere em RAMAIS_AGUA_LIGACAO a ligação selecionada pelo usuário |
| 360 | 358 | On Error GoTo Transacao_Erro |
| 361 | 359 | Conn.BeginTrans |
| ... | ... | @@ -370,7 +368,7 @@ Private Sub InsereRamalLigacaoGPS(object_id_ligacaoGPS As Long, object_id_rede A |
| 370 | 368 | numeroDaLigacaoComDV = rsInsereRamaisAguaLigacao!NRO_LIGACA |
| 371 | 369 | End If |
| 372 | 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 | 372 | Conn.execute (strInsereLigacao) |
| 375 | 373 | rsInsereRamaisAguaLigacao.Close |
| 376 | 374 | ... | ... |
trunk/GeoSan.exe
No preview for this file type
trunk/GeoSan.vbp
trunk/GeoSan.vbw
| 1 | -Global = 178, 111, 1297, 843, C | |
| 1 | +Global = 178, 111, 1297, 843, Z | |
| 2 | 2 | calcDetecta = 0, 0, 0, 0, C |
| 3 | 3 | FrmCreatTextForLayer = 0, 0, 0, 0, C, 132, 132, 1251, 864, C |
| 4 | 4 | frmAbout = 0, 0, 0, 0, C, 154, 154, 1273, 886, C |
| 5 | 5 | FrmTypes = 0, 0, 0, 0, C, 176, 176, 1295, 908, C |
| 6 | 6 | FrmMain = 37, 14, 1267, 632, C, 44, 44, 1163, 776, C |
| 7 | 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 | 9 | frmCadastroRamalFiltro = 100, 100, 1246, 731, C, 264, 264, 1383, 996, C |
| 10 | 10 | frmCanvas = -74, 93, 1045, 858, , 110, 110, 1229, 842, C |
| 11 | 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 | 33 | FrmSubTypes = 0, 0, 0, 0, C, 44, 44, 1163, 776, C |
| 34 | 34 | FrmSuppliers = 0, 0, 0, 0, C, 66, 66, 1185, 798, C |
| 35 | 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 | 37 | clsEPACurves = 0, 0, 0, 0, C |
| 38 | 38 | clsEPAPatterns = 0, 0, 0, 0, C |
| 39 | 39 | clsGeoReference = 132, 132, 1251, 864, C | ... | ... |
trunk/Modules/Global.bas
| ... | ... | @@ -200,7 +200,7 @@ Public Sub Main() |
| 200 | 200 | End If |
| 201 | 201 | 'Configura a versão atual do GeoSan |
| 202 | 202 | Versao_Geo = App.Major & "." & App.Minor & "." & App.Revision |
| 203 | - Versao_Geo = "07.03.01" | |
| 203 | + Versao_Geo = "07.03.03" | |
| 204 | 204 | glo.diretorioGeoSan = App.path 'salva globalmente o caminho onde encontra-se o GeoSan.exe |
| 205 | 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 | 206 | connn = "" | ... | ... |