Option Strict Off
Option Explicit On
Imports VB = Microsoft.VisualBasic
Imports fatd_faturamento.BLL.Repositorio
Imports fatd_faturamento.ENTIDADE
Imports CrystalDecisions.CrystalReports.Engine
Friend Class frmRelMedidores
	Inherits System.Windows.Forms.Form
	Private dt, dt1, dt2, dt3 As DataTable
	Private objAtualizacaoBancoDados As New entidadeAtualizaBancoDados
	Private repositorioAtualizacaoBancoDados As New repositorioAtualizaBancoDados

	Private objExecAtualizacaoBancoDados As New entidadeAtualizaBancoDados
	Private repositorioExecAtualizacaoBancoDados As New repositorioAtualizaBancoDados

	Private LImagem() As Byte
	Private sNomeEmpresa As String
	Private sEnderecoEmpresa As String
	Private sCepEmpresa As String
	Private sCidadeEmpresa As String
	Private sUFempresa As String
	Private sBairroEmpresa As String
	Private sFoneEmpresa As String
	Private sWebEmpresa As String
	Private bValidacao As Boolean
	Private lstrAuxiliar As String
	Private Sub cmdArquivo_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdArquivo.Click
		Try
			Me.dialArqOpen.DefaultExt = "CSV"
			'UPGRADE_WARNING: Filter has a new behavior. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="9B7D5ADD-D8FE-4819-A36C-6DEDAF088CC7"'
			Me.dialArqOpen.Filter = "|*." & Me.dialArqOpen.DefaultExt
			Me.dialArqOpen.FileName = My.Application.Info.DirectoryPath & "\ListagemMedidores_" & VB6.Format(BuscaDataBD, "yyyymmddHHMMSS") & "." & Me.dialArqOpen.DefaultExt
			Me.dialArqOpen.Title = "Arquivo de exportação de Medidores"
			Me.dialArqOpen.ShowDialog()
			Me.txtArquivo.Text = Me.dialArqOpen.FileName

		Catch ex As Exception
			MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdArquivo_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
			Exit Sub
		End Try
	End Sub

	Private Sub cmdEmitir_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdEmitir.Click
		Dim lstrCriterio As String
		'Dim lstrAuxiliar As String
		Dim lstrCaminho As String

		Try
			Me.Cursor = System.Windows.Forms.Cursors.WaitCursor
			Me.cmdEmitir.Enabled = False
			Me.cmdFechar.Enabled = False
			Me.dtpBase.Enabled = False
			Call RelMedidores()


			lstrAuxiliar = " Grupo ("
			If Me.chkGrupoA.CheckState = 1 Then
				lstrAuxiliar = lstrAuxiliar & "A"
			End If
			If Me.chkGrupoB.CheckState = 1 Then
				lstrAuxiliar = lstrAuxiliar & "B"
			End If
			lstrAuxiliar = lstrAuxiliar & ") - Situação ("

			If Me.chkLigados.CheckState = 1 Then
				lstrAuxiliar = lstrAuxiliar & "L,"
			End If
			If Me.chkCortados.CheckState = 1 Then
				lstrAuxiliar = lstrAuxiliar & "C,"
			End If
			If Me.chkDesligados.CheckState = 1 Then
				lstrAuxiliar = lstrAuxiliar & "D,"
			End If
			If Me.chkDesativados.CheckState = 1 Then
				lstrAuxiliar = lstrAuxiliar & "I,"
			End If
			lstrAuxiliar = VB.Left(lstrAuxiliar, Len(lstrAuxiliar) - 1) & ")"

			Call sDadosEmpresa(LImagem, sNomeEmpresa, sEnderecoEmpresa, sCepEmpresa, sCidadeEmpresa, sUFempresa, sBairroEmpresa, sFoneEmpresa, sWebEmpresa)
			If Me.opbSintetico.Checked Then
				lPrint("rptRelMedidoresSintetico")
			Else
				lPrint("rptRelMedidoresAnalitico")
			End If

			Me.cmdEmitir.Enabled = True
			Me.cmdFechar.Enabled = True
			Me.dtpBase.Enabled = True
			Me.Cursor = System.Windows.Forms.Cursors.Default

		Catch ex As Exception
			MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdEmitir_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
			Exit Sub
		End Try
	End Sub

	Private Sub cmdExporta_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdExporta.Click
		Dim lstrlin As String
		Dim lintarq As Short
		Dim llngrow As Integer
		Dim llngcol As Integer
		Dim lstrsql As String
		Try
			'Dim lrstaux As adodb.recordset
			'lrstaux = New adodb.recordset
			If Trim(Me.txtArquivo.Text) <> "" Then
				Me.Cursor = System.Windows.Forms.Cursors.WaitCursor
				Me.cmdEmitir.Enabled = False
				Me.cmdFechar.Enabled = False
				Me.dtpBase.Enabled = False
				Call RelMedidores()

				'lintarq = FreeFile()
				'FileOpen(lintarq, Me.txtArquivo.Text, OpenMode.Output)
				lstrsql = ""
				lstrsql = lstrsql & " select "
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`zona`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`livro`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`conta`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`rota`, " & vbCrLf
				'
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`nome`, "
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`logradouro`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`numero`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`bairro`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`complemento`, " & vbCrLf
				'
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`tp_ligacao`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`medidor`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`marca`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`tensao`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`fase`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`faselig`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`carga`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`transf`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`dstipo_medidor`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`regiao`, " & vbCrLf
				'
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`ap_saude`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`grupo`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`situacao`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`clas`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`data_ligacao`, " & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`data_entrada`, " & vbCrLf & vbCrLf
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`data_desligamento`, "
				lstrsql = lstrsql & "       `AUX_MEDIDORES`.`data_corte` " & vbCrLf
				lstrsql = lstrsql & "  from `AUX_MEDIDORES` " & vbCrLf
				lstrsql = lstrsql & " where `AUX_MEDIDORES`.`nomemaquina` = '" & My.Computer.Name & "' "
				'Call conectar(lstrsql, lrstaux)
				objAtualizacaoBancoDados.QUERY_NAME = lstrsql
				dt = repositorioAtualizacaoBancoDados.Consultar(objAtualizacaoBancoDados)

				Dim sNomeArquivo As String
				Dim lstrTab As String
				Dim i As Integer

				If dt.Rows.Count > 0 Then
					Call BarraProgresso((Me.ProgressBar), (Me.lblPerc), (Me.lblInfo), 0, dt.Rows.Count)
					'adoStream.Open()
					'adoStream.Charset = "UTF-8"
					lintarq = FreeFile()
					sNomeArquivo = ""
					sNomeArquivo = txtArquivo.Text '& IIf(VB.Right(Me.txtArquivo.Text, 1) = "\", "", "\") & "Unidades_Consumidoras_" & gstrEmpresa_Sigla & ".csv" 'For Output As lintARQ
					FileOpen(lintarq, sNomeArquivo, OpenMode.Output)
					lstrTab = ""

					For Each columns As DataColumn In dt.Columns
						If UCase(columns.ColumnName) = "ROTA" Then
							lstrTab = lstrTab & IIf(IsDBNull(columns.ColumnName), "", columns.ColumnName) & ";"
							lstrTab = lstrTab & "sequencia" & ";"
						Else
							lstrTab = lstrTab & IIf(IsDBNull(columns.ColumnName), "", columns.ColumnName) & ";"
						End If
					Next
					PrintLine(lintarq, lstrTab)

					For Each row As DataRow In dt.Rows
						lstrTab = ""
						i = 0
						For Each columns2 As DataColumn In dt.Columns
							If UCase(columns2.ColumnName) = "ROTA" Then
								lstrTab = lstrTab & IIf(IsDBNull(row.Item(i)), "", VB.Right(VB.Left(row.Item(i), 4), 2)) & ";"
								lstrTab = lstrTab & IIf(IsDBNull(row.Item(i)), "", VB.Right(row.Item(i), 4)) & ";"
							Else
								lstrTab = lstrTab & IIf(IsDBNull(row.Item(i)), "", row.Item(i)) & ";"
							End If
							i = i + 1
						Next
						PrintLine(lintarq, lstrTab)
						Call BarraProgresso((Me.ProgressBar), (Me.lblPerc), (Me.lblInfo), 1)
					Next
					FileClose(lintarq)

					'Call LigDes(True)
					Call MsgBox("Arquivo gerado com sucesso!", MsgBoxStyle.Information, gstrTituloMensagem)
				Else

					'Call LigDes(True)
					Call MsgBox("Sem registros para gerar o arquivo !", MsgBoxStyle.Information, gstrTituloMensagem)
				End If

			Else
				Call MsgBox("você precisa selecionar o caminho e o arquivo para exportação!", MsgBoxStyle.Information, gstrTituloMensagem)
			End If

			Me.cmdEmitir.Enabled = True
			Me.cmdFechar.Enabled = True
			Me.dtpBase.Enabled = True
			Me.Cursor = System.Windows.Forms.Cursors.Default


		Catch ex As Exception
			MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: cmdExporta_Click" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
			Exit Sub
		End Try
	End Sub

	Private Sub frmRelMedidores_KeyPress(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress
		Dim KeyAscii As Short = Asc(eventArgs.KeyChar)
		Try
			If KeyAscii = System.Windows.Forms.Keys.Escape Then
				Call cmdFechar_Click(cmdFechar, New System.EventArgs())
			ElseIf KeyAscii = System.Windows.Forms.Keys.Return Then
				TabEnter(KeyAscii, eventArgs)
			End If
			eventArgs.KeyChar = Chr(KeyAscii)
			If KeyAscii = 0 Then
				eventArgs.Handled = True
			End If

		Catch ex As Exception
			MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: frmRelMedidores_KeyPress" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
			Exit Sub
		End Try
	End Sub
	
	Private Sub frmRelMedidores_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
		Dim llngConta As Integer
		Dim lstrSql As String

		Try
			Me.dtpBase.Value = Date.Now
			For llngConta = 0 To 99
				Call Me.cmbRotaIni.Items.Add(VB6.Format(llngConta, "00"))
				Call Me.cmbRotaFim.Items.Add(VB6.Format(llngConta, "00"))
			Next llngConta

			Me.cmbRotaIni.SelectedIndex = 0
			Me.cmbRotaFim.SelectedIndex = Me.cmbRotaFim.Items.Count - 1

			Call sCriaTabelaAuxiliar()


		Catch ex As Exception
			MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: frmRelMedidores_Load" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
			Exit Sub
		End Try

	End Sub
	
	Private Sub cmdFechar_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdFechar.Click
		Call Me.Close()
	End Sub
	
	Private Sub RelMedidores()
		Dim llngRow As Integer
		'
		Dim lstrZona As String
		Dim lstrLivro As String
		Dim lstrConta As String
		Dim lstrRota As String
		'
		Dim lstrNome As String
		Dim lstrLograd As String
		Dim lstrNumero As String
		Dim lstrComple As String
		Dim lstrBairro As String
		'
		Dim lstrTpLigacao As String
		Dim lstrMedidor As String
		Dim lstrMarca As String
		Dim lstrTensao As String
		Dim lstrFase As String
		Dim lstrFaseLig As String
		Dim ldblCarga As Double
		Dim lstrTransf As String
		Dim llngTpMedidor As Integer
		Dim lstrTpMedidor As String
		Dim lstrRegiao As String
		'
		Dim lstrApSaude As String
		Dim lstrGrupo As String
		Dim lstrSituacao As String
		Dim lstrClasse As String
		Dim ldteLigacao As Date
		Dim ldteEntrada As Date
		Dim ldteDesliga As Date
		Dim ldteSuspend As Date
		'
		Dim lblnContinua As Boolean
		Dim lstrAuxiliar As String
		Dim lstrSql As String
		'Dim lrstAux As ADODB.Recordset
		'lrstAux = New ADODB.Recordset
		'On Error GoTo ErroRelMedidores

		Try

			lstrSql = "DELETE FROM `AUX_MEDIDORES` WHERE `nomemaquina` = """ & My.Computer.Name & """ "
			objExecAtualizacaoBancoDados.QUERY_NAME = lstrSql
			repositorioExecAtualizacaoBancoDados.Execute(objExecAtualizacaoBancoDados)

			lstrSql = "DELETE FROM `AUX_MEDIDORES_TOTAL` WHERE `nomemaquina` = """ & My.Computer.Name & """ "
			objExecAtualizacaoBancoDados.QUERY_NAME = lstrSql
			repositorioExecAtualizacaoBancoDados.Execute(objExecAtualizacaoBancoDados)

			With Me.mfgTotais
				.Clear()
				.Rows = 0
				.Cols = 7
				.Redraw = False
			End With
			lstrAuxiliar = ""
			If Me.chkLigados.CheckState = 1 Then
				lstrAuxiliar = lstrAuxiliar & " 'L',"
			End If
			If Me.chkDesligados.CheckState = 1 Then
				lstrAuxiliar = lstrAuxiliar & " 'D',"
			End If
			If Me.chkCortados.CheckState = 1 Then
				lstrAuxiliar = lstrAuxiliar & " 'C',"
			End If
			If Me.chkDesativados.CheckState = 1 Then
				lstrAuxiliar = lstrAuxiliar & " 'I',"
			End If

			'If Me.chkGrupoB.CheckState = 1 Then
			lstrSql = ""
			lstrSql = lstrSql & "SELECT `uc_faturamento`.`zona`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`livro`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`conta`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`rota`, " & vbCrLf
			'
			lstrSql = lstrSql & "       `uc_faturamento`.`nome`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`end`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`numero`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`complement`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`bairro`, " & vbCrLf
			'
			lstrSql = lstrSql & "       `uc_faturamento`.`tp_ligacao`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`num` AS `medidor`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`marca`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`tensao`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`fase`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`faselig`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`carga`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`transf`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`idtipo_medidor`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`regiao`, " & vbCrLf
			'
			lstrSql = lstrSql & "       `uc_faturamento`.`ap_saude`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`grupo`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`situacao`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`clas`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`data_ligacao`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`data_entrada`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`data_desligamento`, " & vbCrLf
			lstrSql = lstrSql & "       `uc_faturamento`.`data_corte` " & vbCrLf
			'
			lstrSql = lstrSql & "  FROM `uc_faturamento` " & vbCrLf
			lstrSql = lstrSql & " WHERE TRIM(`uc_faturamento`.`num`) <> '' AND `uc_faturamento`.`num` IS NOT NULL " & vbCrLf
			lstrSql = lstrSql & "   AND `uc_faturamento`.`data_ligacao` <= '" & VB6.Format(Me.dtpBase.Value, "yyyy-MM-dd") & "' " & vbCrLf
			lstrSql = lstrSql & "   AND `uc_faturamento`.`data_entrada` <= '" & VB6.Format(Me.dtpBase.Value, "yyyy-MM-dd") & "' "
			lstrSql = lstrSql & "   AND (`uc_faturamento`.`num` IS NOT NULL AND TRIM(`uc_faturamento`.`num`) <> '' AND `uc_faturamento`.`num` <> '0') "
			If Len(Trim(lstrAuxiliar)) > 0 Then
				lstrSql = lstrSql & " AND `uc_faturamento`.`situacao` IN( " & VB.Left(lstrAuxiliar, Len(lstrAuxiliar) - 1) & " )"
			End If
			'End If
			'If Me.chkGrupoB.CheckState = 1 And Me.chkGrupoA.CheckState = 1 Then
			'	lstrSql = lstrSql & vbCrLf & " UNION " & vbCrLf
			'End If
			'If Me.chkGrupoA.CheckState = 1 Then
			'	lstrSql = lstrSql & "SELECT `unida`.`zona`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`livro`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`conta`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`rota`, " & vbCrLf
			'	'
			'	lstrSql = lstrSql & "       `unida`.`nome`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`end`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`numero`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`complement`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`bairro`, " & vbCrLf
			'	'
			'	lstrSql = lstrSql & "       `unida`.`tp_ligacao`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`eletr` AS `medidor`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`marca`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`tensao`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`fase`, " & vbCrLf
			'	lstrSql = lstrSql & "       'ABCN' AS `faselig`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`carga`, " & vbCrLf
			'	lstrSql = lstrSql & "       '' AS `transf`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`idtipo_medidor`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`regiao`, " & vbCrLf
			'	'
			'	lstrSql = lstrSql & "       'N' AS `ap_saude`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`grupo`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`situacao`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`clas`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`data_ligacao`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`data_entrada`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`data_desligamento`, " & vbCrLf
			'	lstrSql = lstrSql & "       `unida`.`data_corte` " & vbCrLf
			'	'
			'	lstrSql = lstrSql & "  FROM unida " & vbCrLf
			'	lstrSql = lstrSql & " WHERE TRIM(`unida`.`eletr`) <> '' AND `unida`.`eletr` IS NOT NULL " & vbCrLf
			'	lstrSql = lstrSql & "   AND `unida`.`data_ligacao` <= '" & VB6.Format(Me.dtpBase.Value, "yyyy-MM-dd") & "' " & vbCrLf
			'	lstrSql = lstrSql & "   AND `unida`.`data_entrada` <= '" & VB6.Format(Me.dtpBase.Value, "yyyy-MM-dd") & "' "
			'	lstrSql = lstrSql & "   AND (`unida`.`eletr` IS NOT NULL AND TRIM(`unida`.`eletr`) <> '' AND `unida`.`eletr` <> '0') "
			'	If Len(Trim(lstrAuxiliar)) > 0 Then
			'		lstrSql = lstrSql & " AND `unida`.`situacao` IN( " & VB.Left(lstrAuxiliar, Len(lstrAuxiliar) - 1) & " )"
			'	End If
			'End If
			lstrSql = lstrSql & " ORDER BY right(`rota`,6) ASC "
			'Call Conectar(lstrSql, lrstAux)
			objAtualizacaoBancoDados.QUERY_NAME = lstrSql
			dt = repositorioAtualizacaoBancoDados.Consultar(objAtualizacaoBancoDados)

			If dt.Rows.Count > 0 Then
				Call BarraProgresso((Me.ProgressBar), (Me.lblPerc), (Me.lblInfo), 0, dt.Rows.Count)
				For Each row As DataRow In dt.Rows
					lblnContinua = True
					'

					lstrZona = Trim(IIf(IsDBNull(row.Item("zona")), "", row.Item("zona")))
					lstrLivro = Trim(IIf(IsDBNull(row.Item("livro")), "", row.Item("livro")))
					lstrConta = Trim(IIf(IsDBNull(row.Item("conta")), "", row.Item("conta")))
					lstrRota = Trim(IIf(IsDBNull(row.Item("rota")), "00000000", row.Item("rota")))
					lstrNome = Trim(IIf(IsDBNull(row.Item("nome")), "", row.Item("nome")))
					lstrLograd = Trim(IIf(IsDBNull(row.Item("end")), "", row.Item("end")))
					lstrNumero = Trim(IIf(IsDBNull(row.Item("numero")), "", row.Item("numero")))
					lstrComple = Trim(IIf(IsDBNull(row.Item("complement")), "", row.Item("complement")))
					lstrBairro = Trim(IIf(IsDBNull(row.Item("bairro")), "", row.Item("bairro")))
					lstrTpLigacao = Trim(IIf(IsDBNull(row.Item("tp_ligacao")), "A", row.Item("tp_ligacao")))
					lstrTpLigacao = IIf(lstrTpLigacao = "A", "Aéreo", IIf(lstrTpLigacao = "S", "Subterrâneo", "--"))
					lstrMedidor = Trim(IIf(IsDBNull(row.Item("medidor")), "", row.Item("medidor")))
					lstrMarca = Trim(IIf(IsDBNull(row.Item("marca")), "", row.Item("marca")))
					lstrTensao = Trim(IIf(IsDBNull(row.Item("tensao")), "", row.Item("tensao")))
					lstrFase = Trim(IIf(IsDBNull(row.Item("fase")), "M", row.Item("fase")))
					lstrFase = IIf(lstrFase = "M", "MONOFÁSICO", IIf(lstrFase = "B", "BIFÁSICO", IIf(lstrFase = "T", "TRIFÁSICO", "--")))
					lstrFaseLig = Trim(IIf(IsDBNull(row.Item("faselig")), "ABCN", row.Item("faselig")))
					ldblCarga = CDbl(IIf(IsDBNull(row.Item("carga")), 0, row.Item("carga")))
					lstrTransf = Trim(IIf(IsDBNull(row.Item("transf")), "", row.Item("transf")))
					llngTpMedidor = CInt(IIf(IsDBNull(row.Item("idtipo_medidor")), 0, row.Item("idtipo_medidor")))
					lstrTpMedidor = BuscaTipoMedidor(llngTpMedidor)
					lstrRegiao = Trim(IIf(IsDBNull(row.Item("regiao")), "U", row.Item("regiao")))
					lstrRegiao = IIf(lstrRegiao = "U", "URBANA", IIf(lstrRegiao = "R", "RURAL", "--"))
					lstrApSaude = Trim(IIf(IsDBNull(row.Item("ap_saude")), "N", row.Item("ap_saude")))
					lstrGrupo = VB.Left(Trim(IIf(IsDBNull(row.Item("grupo")), "B1", row.Item("grupo"))), 1)
					lstrSituacao = Trim(IIf(IsDBNull(row.Item("situacao")), "", row.Item("situacao")))
					lstrSituacao = IIf(lstrSituacao = "L", "LIGADO", IIf(lstrSituacao = "D", "DESLIGADO", IIf(lstrSituacao = "I", "DESTIVADO", IIf(lstrSituacao = "C", "SUSPENDIDO", "--"))))
					lstrClasse = Trim(IIf(IsDBNull(row.Item("clas")), "9101", row.Item("clas")))
					Select Case VB.Left(lstrClasse, 1)
						Case Is = "0"
							lstrClasse = "Industrial"
						Case Is = "1"
							lstrClasse = "Industrial"
						Case Is = "2"
							lstrClasse = "Industrial"
						Case Is = "3"
							lstrClasse = "Industrial"
						Case Is = "4"
							lstrClasse = "Comercial"
						Case Is = "5"
							lstrClasse = "Rural"
						Case Is = "6"
							If VB.Left(lstrClasse, 2) = "64" Then
								lstrClasse = "Iluminação Pública"
							Else
								lstrClasse = "Poder Público"
							End If
						Case Is = "7"
							lstrClasse = "Serviço Público"
						Case Is = "8"
							lstrClasse = "Consumo Próprio"
						Case Is = "9"
							lstrClasse = "Residencial"
						Case Else
							lstrClasse = "indefinido"
					End Select

					ldteLigacao = CDate(IIf(IsDBNull(row.Item("data_ligacao")), "1900-01-01", row.Item("data_ligacao")))
					ldteEntrada = CDate(IIf(IsDBNull(row.Item("data_entrada")), "1900-01-01", row.Item("data_entrada")))
					ldteDesliga = CDate(IIf(IsDBNull(row.Item("data_desligamento")), "1900-01-01", row.Item("data_desligamento")))
					ldteSuspend = CDate(IIf(IsDBNull(row.Item("data_corte")), "1900-01-01", row.Item("data_corte")))
					'
					If gstrEmpresa_Sigla = "EFLUL" Then
						If lstrZona = "001" And lstrLivro = "12" And (lstrConta = "001717" Or lstrConta = "001718") Then
							lblnContinua = False
						End If
					End If

					If lblnContinua Then
						lstrSql = ""
						lstrSql = lstrSql & "INSERT INTO `AUX_MEDIDORES` SET "
						lstrSql = lstrSql & "            `nomemaquina`  = """ & My.Computer.Name & """, "
						'
						lstrSql = lstrSql & "            `zona`         = """ & lstrZona & """, "
						lstrSql = lstrSql & "            `livro`        = """ & lstrLivro & """, "
						lstrSql = lstrSql & "            `conta`        = """ & lstrConta & """, "
						lstrSql = lstrSql & "            `rota`         = """ & lstrRota & """, "
						'
						lstrSql = lstrSql & "            `nome`         = """ & lstrNome & """, "
						lstrSql = lstrSql & "            `logradouro`   = """ & lstrLograd & """, "
						lstrSql = lstrSql & "            `numero`       = """ & lstrNumero & """, "
						lstrSql = lstrSql & "            `bairro`       = """ & lstrBairro & """, "
						lstrSql = lstrSql & "            `complemento`  = """ & lstrComple & """, "
						'
						lstrSql = lstrSql & "            `tp_ligacao`     = """ & lstrTpLigacao & """, "
						lstrSql = lstrSql & "            `medidor`        = """ & lstrMedidor & """, "
						lstrSql = lstrSql & "            `marca`          = """ & lstrMarca & """, "
						lstrSql = lstrSql & "            `tensao`         = """ & lstrTensao & """, "
						lstrSql = lstrSql & "            `fase`           = """ & lstrFase & """, "
						lstrSql = lstrSql & "            `faselig`        = """ & lstrFaseLig & """, "
						lstrSql = lstrSql & "            `carga`          = """ & Replace(CStr(ldblCarga), ",", ".") & """, "
						lstrSql = lstrSql & "            `transf`         = """ & lstrTransf & """, "
						lstrSql = lstrSql & "            `dstipo_medidor` = """ & lstrTpMedidor & """, "
						lstrSql = lstrSql & "            `regiao`         = """ & lstrRegiao & """, "
						'
						lstrSql = lstrSql & "            `ap_saude`     = """ & lstrApSaude & """, "
						lstrSql = lstrSql & "            `grupo`        = """ & lstrGrupo & """, "
						lstrSql = lstrSql & "            `situacao`     = """ & lstrSituacao & """, "
						lstrSql = lstrSql & "            `clas`        = """ & lstrClasse & """, "
						lstrSql = lstrSql & "            `data_ligacao` = """ & VB6.Format(ldteLigacao, "yyyy-MM-dd") & """, "
						lstrSql = lstrSql & "            `data_entrada` = """ & VB6.Format(ldteEntrada, "yyyy-MM-dd") & """, "
						lstrSql = lstrSql & "            `data_desligamento` = """ & VB6.Format(ldteDesliga, "yyyy-MM-dd") & """, "
						lstrSql = lstrSql & "            `data_corte` = """ & VB6.Format(ldteSuspend, "yyyy-MM-dd") & """ "
						objExecAtualizacaoBancoDados.QUERY_NAME = lstrSql
						repositorioExecAtualizacaoBancoDados.Execute(objExecAtualizacaoBancoDados)

						Call AdicionaGrade(lstrGrupo, lstrSituacao, lstrFase, lstrTensao, lstrTpMedidor, lstrMarca)
					End If

					Call BarraProgresso((Me.ProgressBar), (Me.lblPerc), (Me.lblInfo), 1)
				Next
			End If


			With Me.mfgTotais
				If .Rows > 0 Then
					For llngRow = 0 To .Rows - 1
						lstrSql = ""
						lstrSql = lstrSql & "INSERT INTO `AUX_MEDIDORES_TOTAL` SET "
						lstrSql = lstrSql & "            `nomemaquina`    = """ & My.Computer.Name & """, "
						lstrSql = lstrSql & "            `grupo`          = """ & .get_TextMatrix(llngRow, 0) & """, "
						lstrSql = lstrSql & "            `situacao`       = """ & .get_TextMatrix(llngRow, 1) & """, "
						lstrSql = lstrSql & "            `fase`           = """ & .get_TextMatrix(llngRow, 2) & """, "
						lstrSql = lstrSql & "            `tensao`         = """ & .get_TextMatrix(llngRow, 3) & """, "
						lstrSql = lstrSql & "            `dstipo_medidor` = """ & .get_TextMatrix(llngRow, 4) & """, "
						lstrSql = lstrSql & "            `marca`          = """ & .get_TextMatrix(llngRow, 5) & """, "
						lstrSql = lstrSql & "            `qtde`           = " & CInt(.get_TextMatrix(llngRow, 6)) & " "
						objExecAtualizacaoBancoDados.QUERY_NAME = lstrSql
						repositorioExecAtualizacaoBancoDados.Execute(objExecAtualizacaoBancoDados)
					Next llngRow
				End If
				.Redraw = True
			End With


		Catch ex As Exception
			MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: RelMedidores" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
			Exit Sub
		End Try
	End Sub

	Private Sub AdicionaGrade(ByVal astrGru As String, ByVal astrSit As String, ByVal astrFas As String, ByVal astrTen As String, ByVal astrTMd As String, ByVal astrMar As Object)
		Dim llngRow As Integer
		Dim llngPos As Integer
		Dim lblnAux As Boolean
		Dim lstrMar As String
		Try
			'UPGRADE_WARNING: Couldn't resolve default property of object astrMar. Click for more: 'ms-help://MS.VSCC.v90/dv_commoner/local/redirect.htm?keyword="6A50421D-15FE-4896-8A1B-2EC21E9037B2"'
			lstrMar = Trim(astrMar)
			lstrMar = IIf(lstrMar = "", "SEM MARCA", lstrMar)
			llngPos = 0
			lblnAux = False
			With Me.mfgTotais
				'Busca a linha da grid que tem a informacao
				If .Rows > 0 Then
					For llngRow = 0 To .Rows - 1
						If .get_TextMatrix(llngRow, 0) = astrGru And .get_TextMatrix(llngRow, 1) = astrSit And .get_TextMatrix(llngRow, 2) = astrFas And .get_TextMatrix(llngRow, 3) = astrTen And .get_TextMatrix(llngRow, 4) = astrTMd And .get_TextMatrix(llngRow, 5) = lstrMar Then
							llngPos = llngRow
							llngRow = .Rows - 1
							lblnAux = True
						End If
					Next llngRow
				End If
				If lblnAux = False Then
					.Rows = .Rows + 1
					llngPos = (.Rows - 1)
					.set_TextMatrix(llngPos, 0, astrGru) 'Grupo
					.set_TextMatrix(llngPos, 1, astrSit) 'Situacao
					.set_TextMatrix(llngPos, 2, astrFas) 'Fase
					.set_TextMatrix(llngPos, 3, astrTen) 'Tensao
					.set_TextMatrix(llngPos, 4, astrTMd) 'Tipo de Medidor
					.set_TextMatrix(llngPos, 5, lstrMar) 'Marca Mediror
				End If
				.set_TextMatrix(llngPos, 6, FormatNumber(CInt(IIf(.get_TextMatrix(llngPos, 6) = "", 0, .get_TextMatrix(llngPos, 6))) + 1, 0)) 'Qtde
			End With


		Catch ex As Exception
			MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: AdicionaGrade" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
			Exit Sub
		End Try
	End Sub

	Private Function BuscaTipoMedidor(ByVal alngTipoMedidor As Integer) As String
		Dim lstrRet As String
		Dim lstrSql As String
		'Dim lrstAux As ADODB.Recordset
		'lrstAux = New ADODB.Recordset

		Try
			lstrRet = ""
			lstrSql = ""
			lstrSql = lstrSql & "SELECT id, "
			lstrSql = lstrSql & "       descricao "
			lstrSql = lstrSql & "  FROM tipo_medidor "
			lstrSql = lstrSql & " WHERE id = " & alngTipoMedidor
			'Call Conectar(lstrSql, lrstAux)
			objAtualizacaoBancoDados.QUERY_NAME = lstrSql
			dt1 = repositorioAtualizacaoBancoDados.Consultar(objAtualizacaoBancoDados)

			If dt1.Rows.Count > 0 Then
				For Each row As DataRow In dt1.Rows
					lstrRet = UCase(Trim(IIf(IsDBNull(row.Item("descricao")), "--", row.Item("descricao"))))
				Next
			Else
				lstrRet = ""
			End If

			BuscaTipoMedidor = lstrRet


		Catch ex As Exception
			MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: BuscaTipoMedidor" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
			Exit Function
		End Try

	End Function

	Private Sub sCriaTabelaAuxiliar()

		Dim lstrsql As String

		Try

			objExecAtualizacaoBancoDados.QUERY_NAME = "drop table if exists AUX_MEDIDORES"
			repositorioExecAtualizacaoBancoDados.Execute(objExecAtualizacaoBancoDados)

			lstrsql = ""
			lstrsql = lstrsql & "CREATE TABLE IF NOT EXISTS `AUX_MEDIDORES` (" & vbCrLf
			lstrsql = lstrsql & "  `NOMEMAQUINA` varchar(255) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `ZONA` varchar(3) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `LIVRO` varchar(2) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `CONTA` varchar(8) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `ROTA` varchar(20) default NULL," & vbCrLf
			'
			lstrsql = lstrsql & "  `NOME` varchar(85) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `LOGRADOURO` varchar(60) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `NUMERO` varchar(10) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `BAIRRO` varchar(60) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `COMPLEMENTO` varchar(100) default NULL," & vbCrLf
			'
			lstrsql = lstrsql & "  `TP_LIGACAO` varchar(15) DEFAULT 'A'," & vbCrLf
			lstrsql = lstrsql & "  `MEDIDOR` varchar(11) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `MARCA` varchar(15) DEFAULT NULL," & vbCrLf
			lstrsql = lstrsql & "  `TENSAO` varchar(10) DEFAULT NULL," & vbCrLf
			lstrsql = lstrsql & "  `FASE` varchar(10) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `FASELIG` varchar(4) DEFAULT NULL," & vbCrLf
			lstrsql = lstrsql & "  `CARGA` double DEFAULT NULL," & vbCrLf
			lstrsql = lstrsql & "  `TRANSF` varchar(10) DEFAULT NULL," & vbCrLf
			lstrsql = lstrsql & "  `DSTIPO_MEDIDOR` varchar(100) NOT NULL DEFAULT '0'," & vbCrLf
			lstrsql = lstrsql & "  `REGIAO` varchar(10) DEFAULT NULL," & vbCrLf
			'
			lstrsql = lstrsql & "  `AP_SAUDE` char(1) DEFAULT NULL," & vbCrLf
			lstrsql = lstrsql & "  `GRUPO` char(1) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `SITUACAO` varchar(10) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `CLAS` varchar(30) DEFAULT NULL, " & vbCrLf
			lstrsql = lstrsql & "  `DATA_LIGACAO` date default NULL, " & vbCrLf
			lstrsql = lstrsql & "  `DATA_ENTRADA` date default NULL, " & vbCrLf
			lstrsql = lstrsql & "  `DATA_DESLIGAMENTO` date DEFAULT NULL," & vbCrLf
			lstrsql = lstrsql & "  `DATA_CORTE` date DEFAULT NULL" & vbCrLf
			lstrsql = lstrsql & ")"
			objExecAtualizacaoBancoDados.QUERY_NAME = lstrsql
			repositorioExecAtualizacaoBancoDados.Consultar(objExecAtualizacaoBancoDados)


			objExecAtualizacaoBancoDados.QUERY_NAME = "drop table if exists AUX_MEDIDORES_TOTAL"
			repositorioExecAtualizacaoBancoDados.Execute(objExecAtualizacaoBancoDados)

			lstrsql = ""
			lstrsql = lstrsql & "CREATE TABLE IF NOT EXISTS `AUX_MEDIDORES_TOTAL` (" & vbCrLf
			lstrsql = lstrsql & "  `NOMEMAQUINA` varchar(255) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `GRUPO` varchar(1) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `SITUACAO` varchar(10) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `FASE` varchar(10) default NULL," & vbCrLf
			lstrsql = lstrsql & "  `TENSAO` varchar(10) DEFAULT NULL," & vbCrLf
			lstrsql = lstrsql & "  `DSTIPO_MEDIDOR` varchar(100) NOT NULL DEFAULT '0'," & vbCrLf
			lstrsql = lstrsql & "  `MARCA` varchar(15) DEFAULT NULL," & vbCrLf
			lstrsql = lstrsql & "  `QTDE` int(11) default NULL" & vbCrLf
			lstrsql = lstrsql & ")"
			objExecAtualizacaoBancoDados.QUERY_NAME = lstrsql
			repositorioExecAtualizacaoBancoDados.Consultar(objExecAtualizacaoBancoDados)


		Catch ex As Exception
			MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: sCriaTabelaAuxiliar" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
			Exit Sub
		End Try

	End Sub

	Private Sub lPrint(ByVal vNomeRPT As String)

		Dim dt As DataTable
		Dim dt_1 As DataTable
		Dim dt_2 As DataTable
		Dim dt_3 As DataTable
		Dim dc As DataColumn
		Dim ds As DataSet
		Dim lstrsql As String

		Dim bytBLOBData() As Byte

		Dim objEmpresa As New entidadeEmpresa
		Dim repositorioEmpresa As New repositorioEmpresa

		Dim vlist

		Try
			Dim rpt As New ReportDocument()

			'rptConsumidorAVencer
			If vNomeRPT = "rptRelMedidoresAnalitico" Then


				dt_2 = New DataTable()
				dt_2.Columns.Add("NOMEMAQUINA", GetType(String))
				dt_2.Columns.Add("ZONA", GetType(String))
				dt_2.Columns.Add("LIVRO", GetType(String))
				dt_2.Columns.Add("CONTA", GetType(String))
				dt_2.Columns.Add("ROTA", GetType(String))
				dt_2.Columns.Add("NOME", GetType(String))
				dt_2.Columns.Add("LOGRADOURO", GetType(String))
				dt_2.Columns.Add("NUMERO", GetType(String))
				dt_2.Columns.Add("BAIRRO", GetType(String))
				dt_2.Columns.Add("COMPLEMENTO", GetType(String))
				dt_2.Columns.Add("TP_LIGACAO", GetType(String))
				dt_2.Columns.Add("MEDIDOR", GetType(String))
				dt_2.Columns.Add("MARCA", GetType(String))
				dt_2.Columns.Add("TENSAO", GetType(String))
				dt_2.Columns.Add("FASE", GetType(String))
				dt_2.Columns.Add("FASELIG", GetType(String))
				dt_2.Columns.Add("CARGA", GetType(String))
				dt_2.Columns.Add("TRANSF", GetType(String))
				dt_2.Columns.Add("DSTIPO_MEDIDOR", GetType(String))
				dt_2.Columns.Add("REGIAO", GetType(String))
				dt_2.Columns.Add("AP_SAUDE", GetType(String))
				dt_2.Columns.Add("GRUPO", GetType(String))
				dt_2.Columns.Add("SITUACAO", GetType(String))
				dt_2.Columns.Add("CLAS", GetType(String))
				dt_2.Columns.Add("DATA_LIGACAO", GetType(String))
				dt_2.Columns.Add("DATA_ENTRADA", GetType(String))
				dt_2.Columns.Add("DATA_DESLIGAMENTO", GetType(String))
				dt_2.Columns.Add("DATA_CORTE", GetType(String))
				dt_2.Columns.Add("IMAGEM", GetType(Byte()))

				ds = New DataSet

				lstrsql = ""
				lstrsql = "SELECT * FROM AUX_MEDIDORES WHERE	NOMEMAQUINA = '" & My.Computer.Name & "'"
				objAtualizacaoBancoDados.QUERY_NAME = lstrsql
				dt = repositorioAtualizacaoBancoDados.Consultar(objAtualizacaoBancoDados)

				If dt.Rows.Count > 0 Then
					For Each dr_1 As DataRow In dt.Rows


						dt_2.Rows.Add(dr_1("NOMEMAQUINA"),
										  dr_1("ZONA"),
										  dr_1("LIVRO"),
										  dr_1("CONTA"),
										  dr_1("ROTA"),
										  dr_1("NOME"),
										  dr_1("LOGRADOURO"),
										  dr_1("NUMERO"),
										  dr_1("COMPLEMENTO"),
										  dr_1("BAIRRO"),
										  dr_1("TP_LIGACAO"),
										  dr_1("MEDIDOR"),
										  dr_1("MARCA"),
										  dr_1("TENSAO"),
										  dr_1("FASE"),
										  dr_1("FASELIG"),
										  dr_1("CARGA"),
										  dr_1("TRANSF"),
										  dr_1("DSTIPO_MEDIDOR"),
										  dr_1("REGIAO"),
										  dr_1("AP_SAUDE"),
										  dr_1("GRUPO"),
										  dr_1("SITUACAO"),
										  dr_1("CLAS"),
										  dr_1("DATA_LIGACAO"),
										  dr_1("DATA_ENTRADA"),
										  dr_1("DATA_DESLIGAMENTO"),
										  dr_1("DATA_CORTE"),
										  bytBLOBData)
					Next dr_1
				End If

				ds.Tables.Add(dt)
				ds.Tables(0).TableName = "REL_MEDIDORES"


				If ds.Tables(0).Rows.Count = 0 Then
					MessageBox.Show("Não há registros para o relatório escolhido! ", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
					Exit Sub
				Else

					rpt = New rptRelMedidoresAnalitico

					rpt.SetDataSource(ds)
					rpt.SetParameterValue("nomeempresa", sNomeEmpresa)
					rpt.SetParameterValue("enderecoempresa", sEnderecoEmpresa)
					rpt.SetParameterValue("cepempresa", sCepEmpresa)
					rpt.SetParameterValue("ufempresa", sUFempresa)
					rpt.SetParameterValue("cidadeempresa", sCidadeEmpresa)
					rpt.SetParameterValue("bairroempresa", sBairroEmpresa)
					rpt.SetParameterValue("foneempresa", sFoneEmpresa)
					rpt.SetParameterValue("websiteempresa", sWebEmpresa)
					rpt.SetParameterValue("f_titulo", "Listagem de medidores em: " & VB6.Format(Me.dtpBase.Value, "dd/mm/yyyy") & " da rota: " & VB6.GetItemString(Me.cmbRotaIni, Me.cmbRotaIni.SelectedIndex) & " até " & VB6.GetItemString(Me.cmbRotaFim, Me.cmbRotaFim.SelectedIndex))
					rpt.SetParameterValue("f_subtitulo", lstrAuxiliar)


					frmViewRelatorios.rpt = rpt

					frmViewRelatorios.CRViewer.Zoom((100))
					frmViewRelatorios.Text = "Relatório Consumidor a Vencer"
					frmViewRelatorios.ShowDialog()

				End If

			Else

				dt_2 = New DataTable()
				dt_2.Columns.Add("NOMEMAQUINA", GetType(String))
				dt_2.Columns.Add("GRUPO", GetType(String))
				dt_2.Columns.Add("SITUACAO", GetType(String))
				dt_2.Columns.Add("FASE", GetType(String))
				dt_2.Columns.Add("TENSAO", GetType(String))
				dt_2.Columns.Add("DSTIPO_MEDIDOR", GetType(String))
				dt_2.Columns.Add("MARCA", GetType(String))
				dt_2.Columns.Add("QTDE", GetType(String))
				dt_2.Columns.Add("IMAGEM", GetType(Byte()))

				ds = New DataSet

				lstrsql = ""
				lstrsql = "SELECT * FROM AUX_MEDIDORES_TOTAL WHERE	NOMEMAQUINA = '" & My.Computer.Name & "'"
				objAtualizacaoBancoDados.QUERY_NAME = lstrsql
				dt = repositorioAtualizacaoBancoDados.Consultar(objAtualizacaoBancoDados)

				If dt.Rows.Count > 0 Then
					For Each dr_1 As DataRow In dt.Rows

						dt_2.Rows.Add(dr_1("NOMEMAQUINA"),
										  dr_1("GRUPO"),
										  dr_1("SITUACAO"),
										  dr_1("FASE"),
										  dr_1("TENSAO"),
										  dr_1("DSTIPO_MEDIDOR"),
										  dr_1("MARCA"),
										  dr_1("QTDE"),
										  bytBLOBData)
					Next dr_1
				End If

				ds.Tables.Add(dt)
				ds.Tables(0).TableName = "REL_MEDIDORES_TOTAL"


				If ds.Tables(0).Rows.Count = 0 Then
					MessageBox.Show("Não há registros para o relatório escolhido! ", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information)
					Exit Sub
				Else


					rpt = New rptRelMedidoresSintetico

					rpt.SetDataSource(ds)
					rpt.SetParameterValue("nomeempresa", sNomeEmpresa)
					rpt.SetParameterValue("enderecoempresa", sEnderecoEmpresa)
					rpt.SetParameterValue("cepempresa", sCepEmpresa)
					rpt.SetParameterValue("ufempresa", sUFempresa)
					rpt.SetParameterValue("cidadeempresa", sCidadeEmpresa)
					rpt.SetParameterValue("bairroempresa", sBairroEmpresa)
					rpt.SetParameterValue("foneempresa", sFoneEmpresa)
					rpt.SetParameterValue("websiteempresa", sWebEmpresa)
					rpt.SetParameterValue("F_Titulo", "Listagem de medidores em: " & VB6.Format(Me.dtpBase.Value, "dd/mm/yyyy") & " da rota: " & VB6.GetItemString(Me.cmbRotaIni, Me.cmbRotaIni.SelectedIndex) & " até " & VB6.GetItemString(Me.cmbRotaFim, Me.cmbRotaFim.SelectedIndex))
					rpt.SetParameterValue("F_Subtitulo", lstrAuxiliar)


					frmViewRelatorios.rpt = rpt

					frmViewRelatorios.CRViewer.Zoom((100))
					frmViewRelatorios.Text = "Relatório"
					frmViewRelatorios.ShowDialog()

				End If
			End If
			Me.Cursor = System.Windows.Forms.Cursors.Default

		Catch ex As Exception
			MessageBox.Show("Ocorreu o Erro: " & Err.Description & " - Rotina: lPrint" & "", "Aviso de Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
			Exit Sub
		End Try

	End Sub
End Class