From a40477b38767180eeddac86dbb377045a0150725 Mon Sep 17 00:00:00 2001 From: Andreas Luxbauer Date: Thu, 26 Mar 2020 22:22:40 +0100 Subject: [PATCH] neu --- UID/Dienstplan/usrCntlDienstplan.Designer.vb | 13 ++ UID/Dienstplan/usrCntlDienstplan.vb | 2 + .../frmMDMNachrichtenVerarbeitung.Designer.vb | 24 +-- .../frmMDMNachrichtenVerarbeitung.vb | 147 ++++++++++++++++-- initATLASAufschubkonten/frmStartOptions.vb | 2 +- 5 files changed, 161 insertions(+), 27 deletions(-) diff --git a/UID/Dienstplan/usrCntlDienstplan.Designer.vb b/UID/Dienstplan/usrCntlDienstplan.Designer.vb index 058d6bc..5cc4deb 100644 --- a/UID/Dienstplan/usrCntlDienstplan.Designer.vb +++ b/UID/Dienstplan/usrCntlDienstplan.Designer.vb @@ -48,6 +48,7 @@ Partial Class usrCntlDienstplan Me.tbAtilla2 = New System.Windows.Forms.TabPage() Me.tbImex = New System.Windows.Forms.TabPage() Me.tbFrontOffice = New System.Windows.Forms.TabPage() + Me.tbAMBAR = New System.Windows.Forms.TabPage() CType(Me.dgvMA, System.ComponentModel.ISupportInitialize).BeginInit() Me.Panel1.SuspendLayout() Me.Panel3.SuspendLayout() @@ -300,6 +301,7 @@ Partial Class usrCntlDienstplan Me.tbFirmen.Controls.Add(Me.tbAtilla2) Me.tbFirmen.Controls.Add(Me.tbImex) Me.tbFirmen.Controls.Add(Me.tbFrontOffice) + Me.tbFirmen.Controls.Add(Me.tbAMBAR) Me.tbFirmen.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.tbFirmen.Location = New System.Drawing.Point(0, 42) Me.tbFirmen.Name = "tbFirmen" @@ -347,6 +349,16 @@ Partial Class usrCntlDienstplan Me.tbFrontOffice.Text = "FRONTOFFICE" Me.tbFrontOffice.UseVisualStyleBackColor = True ' + 'tbAMBAR + ' + Me.tbAMBAR.Location = New System.Drawing.Point(4, 33) + Me.tbAMBAR.Name = "tbAMBAR" + Me.tbAMBAR.Padding = New System.Windows.Forms.Padding(3) + Me.tbAMBAR.Size = New System.Drawing.Size(950, 0) + Me.tbAMBAR.TabIndex = 4 + Me.tbAMBAR.Text = "AMBAR" + Me.tbAMBAR.UseVisualStyleBackColor = True + ' 'usrCntlDienstplan ' Me.AutoScaleDimensions = New System.Drawing.SizeF(96.0!, 96.0!) @@ -391,4 +403,5 @@ Partial Class usrCntlDienstplan Friend WithEvents cboMonat As VERAG_PROG_ALLGEMEIN.MyComboBox Friend WithEvents cbxInaktiv As CheckBox Friend WithEvents tbFrontOffice As TabPage + Friend WithEvents tbAMBAR As TabPage End Class diff --git a/UID/Dienstplan/usrCntlDienstplan.vb b/UID/Dienstplan/usrCntlDienstplan.vb index 7008862..1999ac7 100644 --- a/UID/Dienstplan/usrCntlDienstplan.vb +++ b/UID/Dienstplan/usrCntlDienstplan.vb @@ -96,12 +96,14 @@ Public Class usrCntlDienstplan If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma <> "IMEX" And VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma2 <> "IMEX" Then tbFirmen.TabPages.Remove(tbImex) If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma <> "VERAG" And VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma2 <> "VERAG" Then tbFirmen.TabPages.Remove(tbVerag) If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma <> "FRONTOFFICE" And VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma2 <> "FRONTOFFICE" Then tbFirmen.TabPages.Remove(tbFrontOffice) + If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma <> "AMBAR" And VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma2 <> "AMBAR" Then tbFirmen.TabPages.Remove(tbAMBAR) Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_DpUserStandardFirma Case "ATILLA" : tbFirmen.SelectedTab = tbAtilla2 Case "IMEX" : tbFirmen.SelectedTab = tbImex Case "VERAG" : tbFirmen.SelectedTab = tbVerag Case "FRONTOFFICE" : tbFirmen.SelectedTab = tbFrontOffice + Case "AMBAR" : tbFirmen.SelectedTab = tbAMBAR ' Case "ALLE" : tbFirmen.SelectedTab = tbVerag : tbFirmen.Enabled = True Case Else : tbFirmen.SelectedTab = tbVerag End Select diff --git a/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.Designer.vb b/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.Designer.vb index e36edca..c250a12 100644 --- a/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.Designer.vb +++ b/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.Designer.vb @@ -26,6 +26,7 @@ Partial Class frmMDMNachrichtenVerarbeitung Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMDMNachrichtenVerarbeitung)) Me.btn = New System.Windows.Forms.Button() Me.pnl = New System.Windows.Forms.Panel() + Me.lblDatenCnt = New System.Windows.Forms.Label() Me.dgvEinarbeitung = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components) Me.clmnArt = New System.Windows.Forms.DataGridViewTextBoxColumn() Me.Column1 = New System.Windows.Forms.DataGridViewTextBoxColumn() @@ -39,7 +40,6 @@ Partial Class frmMDMNachrichtenVerarbeitung Me.btnOK = New System.Windows.Forms.Button() Me.Label2 = New System.Windows.Forms.Label() Me.Label1 = New System.Windows.Forms.Label() - Me.lblDatenCnt = New System.Windows.Forms.Label() Me.pnl.SuspendLayout() CType(Me.dgvEinarbeitung, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() @@ -83,6 +83,17 @@ Partial Class frmMDMNachrichtenVerarbeitung Me.pnl.Size = New System.Drawing.Size(456, 319) Me.pnl.TabIndex = 1 ' + 'lblDatenCnt + ' + Me.lblDatenCnt.AutoSize = True + Me.lblDatenCnt.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblDatenCnt.Location = New System.Drawing.Point(309, 132) + Me.lblDatenCnt.Name = "lblDatenCnt" + Me.lblDatenCnt.Size = New System.Drawing.Size(13, 13) + Me.lblDatenCnt.TabIndex = 19 + Me.lblDatenCnt.Text = "0" + Me.lblDatenCnt.Visible = False + ' 'dgvEinarbeitung ' Me.dgvEinarbeitung.AKTUALISIERUNGS_INTERVALL = -1 @@ -213,17 +224,6 @@ Partial Class frmMDMNachrichtenVerarbeitung Me.Label1.TabIndex = 8 Me.Label1.Text = "Einarbeitung:" ' - 'lblDatenCnt - ' - Me.lblDatenCnt.AutoSize = True - Me.lblDatenCnt.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.lblDatenCnt.Location = New System.Drawing.Point(309, 132) - Me.lblDatenCnt.Name = "lblDatenCnt" - Me.lblDatenCnt.Size = New System.Drawing.Size(13, 13) - Me.lblDatenCnt.TabIndex = 19 - Me.lblDatenCnt.Text = "0" - Me.lblDatenCnt.Visible = False - ' 'frmMDMNachrichtenVerarbeitung ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) diff --git a/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.vb b/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.vb index e12a561..b6a4aa7 100644 --- a/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.vb +++ b/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.vb @@ -97,6 +97,9 @@ Public Class frmMDMNachrichtenVerarbeitung Function getNachrichtenDatenFromMDMServices() As Integer Dim cnt = 0 Try + + + Dim MDM_server = "" Dim MDM_name = "" Dim MDM_pwd = "" @@ -105,24 +108,59 @@ Public Class frmMDMNachrichtenVerarbeitung MDM_Worker.cMDMFunctions.getSFTPLoginData(MDM_server, MDM_name, MDM_pwd, MDM_port, "", MDM_PFAD_out) - Dim Dirlist As New List(Of String) 'I prefer List() instead of an array - Dim request As FtpWebRequest = DirectCast(WebRequest.Create(MDM_server & MDM_PFAD_out), FtpWebRequest) - request.Method = WebRequestMethods.Ftp.ListDirectory - request.Credentials = New NetworkCredential(MDM_name, MDM_pwd) + DownloadFtpDirectory("ftp://ftp.plose.it" & "/"c & MDM_PFAD_out, New NetworkCredential(MDM_name, MDM_pwd), "", cnt, True) + 'Dim request = WebRequest.Create("ftp://ftp.plose.it" & "/"c & MDM_PFAD_out) + ''request.Method = WebRequestMethods.Ftp.DownloadFile + ''request.Credentials = New NetworkCredential(MDM_name, MDM_pwd) - Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse) - Dim responseStream As Stream = response.GetResponseStream + 'request.Method = WebRequestMethods.Ftp.ListDirectory + 'request.Credentials = New NetworkCredential(MDM_name, MDM_pwd) - Using reader As New StreamReader(responseStream) - Do While reader.Peek <> -1 - Dim fName = reader.ReadLine + 'Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse) + 'Dim responseStream As Stream = response.GetResponseStream + + 'Using reader As New StreamReader(responseStream) + ' Do While reader.Peek <> -1 + ' Dim fName = reader.ReadLine - Loop - End Using + ' MsgBox(fName) + ' Loop + 'End Using - response.Close() + ' Dim dest = Path.Combine(MDM_PFAD_out, fileName) + ' Using resp = request.GetResponse(), strmResp = resp.GetResponseStream, + 'strmFile = New FileStream(dest, FileMode.Create) + ' Dim buf(1023) As Byte + ' Do + ' Dim read = strmResp.Read(buf, 0, buf.Length) + ' If read = 0 Then Exit Do 'end of Transmission + ' strmFile.Write(buf, 0, read) + ' Loop + ' End Using + ' Return False + + + 'MsgBox(MDM_server & "/" & MDM_PFAD_out) + 'Dim Dirlist As New List(Of String) 'I prefer List() instead of an array + 'Dim request As New FtpWebRequest("http://ftp.plose.it") ' DirectCast(WebRequest.Create("http://ftp.plose.it"), FtpWebRequest) ' DirectCast(WebRequest.Create("ftp.plose.it"), FtpWebRequest) + + 'request.Method = WebRequestMethods.Ftp.ListDirectory + 'request.Credentials = New NetworkCredential(MDM_name, MDM_pwd) + + 'Dim response As FtpWebResponse = DirectCast(request.GetResponse(), FtpWebResponse) + 'Dim responseStream As Stream = response.GetResponseStream + + 'Using reader As New StreamReader(responseStream) + ' Do While reader.Peek <> -1 + ' Dim fName = reader.ReadLine + + ' MsgBox(fName) + ' Loop + 'End Using + + 'response.Close() @@ -196,6 +234,87 @@ Public Class frmMDMNachrichtenVerarbeitung Return cnt End Function + Sub DownloadFtpDirectory(url As String, credentials As NetworkCredential, localPath As String, ByRef cnt As Integer, deleteAfterDownload As Boolean) + Dim listRequest As FtpWebRequest = WebRequest.Create(url) + listRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails + listRequest.Credentials = credentials + + + Dim lines As List(Of String) = New List(Of String) + + Using listResponse As FtpWebResponse = listRequest.GetResponse(), + listStream As Stream = listResponse.GetResponseStream(), + listReader As StreamReader = New StreamReader(listStream) + While Not listReader.EndOfStream + lines.Add(listReader.ReadLine()) + End While + End Using + + For Each line As String In lines + Dim tokens As String() = + line.Split(New Char() {" "}, 9, StringSplitOptions.RemoveEmptyEntries) + Dim name As String = tokens(8) + Dim permissions As String = tokens(0) + + Dim localFilePath As String = Path.Combine(localPath, name) + Dim fileUrl As String = url + name + + If permissions(0) = "d" Then + If Not Directory.Exists(localFilePath) Then + Directory.CreateDirectory(localFilePath) + End If + DownloadFtpDirectory(fileUrl + "/", credentials, localFilePath, cnt, deleteAfterDownload) + + Else + + If True Then + ' Temp.DownloadPfad + Dim destFilenameTMP = VERARBEITUNGS_PFAD + "." & If(IO.File.Exists(VERARBEITUNGS_PFAD & "." & name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & name + + Dim downloadRequest As FtpWebRequest = WebRequest.Create(fileUrl) + downloadRequest.Method = WebRequestMethods.Ftp.DownloadFile + downloadRequest.Credentials = credentials + + Using downloadResponse As FtpWebResponse = downloadRequest.GetResponse(), + sourceStream As Stream = downloadResponse.GetResponseStream(), + targetStream As Stream = File.OpenWrite(destFilenameTMP) + Dim buffer As Byte() = New Byte(10240 - 1) {} + Dim read As Integer + Do + read = sourceStream.Read(buffer, 0, buffer.Length) + If read > 0 Then + targetStream.Write(buffer, 0, read) + End If + Loop While read > 0 + + sourceStream.Dispose() + targetStream.Dispose() + downloadResponse.Dispose() + + Dim destFilename = VERARBEITUNGS_PFAD & If(IO.File.Exists(VERARBEITUNGS_PFAD & name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & name + IO.File.Move(destFilenameTMP, destFilename) 'Datei umbenennen + + + Dim fi As FileInfo = New FileInfo(destFilename) + ListBox3.Items.Add(frmStartOptions.cut_file(fi.Name)) 'zur Liste hinzufügen + cnt += 1 + + + 'Datei nach download löschen + If deleteAfterDownload Then + Dim ftpReq As FtpWebRequest = WebRequest.Create(fileUrl) + ftpReq.Method = WebRequestMethods.Ftp.DeleteFile + ftpReq.Credentials = credentials + Dim ftpResp As FtpWebResponse = ftpReq.GetResponse + ftpResp.Close() + End If + + End Using + End If + End If + Next + End Sub + Function getNachrichtenDatenFromMDMServices_ALTERNATIV() As Integer Dim cnt = 0 @@ -566,8 +685,8 @@ Public Class frmMDMNachrichtenVerarbeitung End If End Sub + Private Sub pnl_Paint(sender As Object, e As PaintEventArgs) Handles pnl.Paint - - + End Sub End Class diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb index ae84059..901516c 100644 --- a/initATLASAufschubkonten/frmStartOptions.vb +++ b/initATLASAufschubkonten/frmStartOptions.vb @@ -52,7 +52,7 @@ Public Class frmStartOptions Dim PARAM = "" Dim parameter() As String = Environment.GetCommandLineArgs().ToArray - If (parameter.Count - 1) >= 1 Then 'Höher als 1 weil der index 0 der Pfad zum programm ist + If (parameter.Count - 1) >= 1 Then 'Höher als 1 weil der index 0 de r Pfad zum programm ist PARAM = parameter(1) 'For i = 1 To parameter.Count - 1 ' 'If parameter(i) = "HISTORY" Then PARAM = True