diff --git a/EDKB08/EDKB08/.vs/EDKB08/v16/.suo b/EDKB08/EDKB08/.vs/EDKB08/v16/.suo index 0dc41ec..f362a63 100644 Binary files a/EDKB08/EDKB08/.vs/EDKB08/v16/.suo and b/EDKB08/EDKB08/.vs/EDKB08/v16/.suo differ diff --git a/EDKB08/EDKB08/Service1.vb b/EDKB08/EDKB08/Service1.vb index de8d61e..1a64673 100644 --- a/EDKB08/EDKB08/Service1.vb +++ b/EDKB08/EDKB08/Service1.vb @@ -261,30 +261,33 @@ Public Class Service1 ''' Private Sub OnFileEvent(ByVal source As Object, ByVal e As FileSystemEventArgs) If EventStopped = True Then Exit Sub + + If UCase(Microsoft.VisualBasic.Right(e.FullPath, 4)) = ".IND" Or UCase(Microsoft.VisualBasic.Right(e.FullPath, 4)) = ".XML" Then FileWatch.EnableRaisingEvents = False EventStopped = True - If UCase(Microsoft.VisualBasic.Right(e.FullPath, 4)) = ".XML" Then - IntSleep(1) - Rename(e.FullPath, e.FullPath + ".ind") - End If + PrintTempJournal("Fileevent raised: " + e.FullPath) + 'IntSleep(Params.WaitAfterFileevent) + 'If UCase(Microsoft.VisualBasic.Right(e.FullPath, 4)) = ".XML" Then + ' IntSleep(Params.Wait_before_xmlind_ren) + ' Rename(e.FullPath, e.FullPath + ".ind") + ' PrintTempJournal("Fileevent Rename XML: " + e.FullPath + " -> " + e.FullPath + ".ind") + 'End If PrintOut("Neue Datei " + e.FullPath) - 'ServiceIcon.Text = "Working..." Verarbeiten() - ' ServiceThread = New Thread(AddressOf Verarbeiten) - ' ServiceThread.Start() FileWatch.EnableRaisingEvents = True End If End Sub Private Sub OnFileEventRename(ByVal source As Object, ByVal e As RenamedEventArgs) + If Params.UseFileEventRename = False Then Exit Sub If EventStopped = True Then Exit Sub If UCase(Microsoft.VisualBasic.Right(e.FullPath, 4)) = ".IND" Then FileWatch.EnableRaisingEvents = False EventStopped = True PrintOut("Neue Datei " + e.FullPath) '20130131 - Sleep von 1000 auf 3000 geändert, damit bei FinFox-Dokumente die Verarbeitung nicht aussteigt, sofern die Datei noch nicht angeliefert wurde - Threading.Thread.CurrentThread.Sleep(3000) + IntSleep(3) Verarbeiten() FileWatch.EnableRaisingEvents = True End If @@ -312,13 +315,6 @@ Public Class Service1 Private Function CompareFileInfos(file1 As FileInfo, file2 As FileInfo) As Integer Dim result = 0 - 'Select Case nameDirection - ' Case SortOrder.Ascending - ' result = file1.Name.CompareTo(file2.Name) - ' Case SortOrder.Descending - ' result = file2.Name.CompareTo(file1.Name) - 'End Select - If result = 0 Then Select Case dateDirection Case SortOrder.Ascending @@ -331,26 +327,32 @@ Public Class Service1 Return result End Function + Private Sub PrintTempJournal(s As String) + If Params.Logpath = "" Then Exit Sub + FileOpen(14, Params.Logpath, OpenMode.Append) + WriteLine(14, Now.ToString("yyyy-MM-dd hh:mm:ss:hs") + " " + s) + FileClose(14) + End Sub + + Private Sub Verarbeiten() Dim gsffilename As String = "" Try - Printout("Bei Verarbeiten() zuerst 5000ms warten", EventLogEntryType.Information) - IntSleep(5) - 'Thread.Sleep(5000) 'hallo, wieder aktivieren - - 'Dim bmp As New Bitmap(Me.ImageList1.Images(0)) - 'ServiceIcon.Icon = Icon.FromHandle(bmp.GetHicon()) + 'Printout("Bei Verarbeiten() zuerst 5000ms warten", EventLogEntryType.Information) + PrintTempJournal("Verarbeitung Wait before start " + Params.WaitBeforeProcess.ToString + " Sekunden") + IntSleep(Params.WaitBeforeProcess) Dim looper As Boolean = True While looper = True 'Alle .IND-Dateien im Verzeichnis auslesen - + PrintTempJournal("Read Directory .ind") Dim clsindex As New clsIndexData() Dim di As New IO.DirectoryInfo(Watch_Directory) - IntSleep(2) + IntSleep(Params.Wait_before_readdir) Dim diar1 As IO.FileInfo() = di.GetFiles("*.ind") Dim dra As IO.FileInfo Array.Sort(diar1, AddressOf CompareFileInfos) If diar1.Length = 0 Then + PrintTempJournal("Read Directory .xml") diar1 = di.GetFiles("*.xml") Array.Sort(diar1, AddressOf CompareFileInfos) If diar1.Length = 0 Then @@ -358,11 +360,8 @@ Public Class Service1 clsindex = Nothing di = Nothing diar1 = Nothing - 'Globals.Journal.Delete_Entry() - 'Dim bmp1 As New Bitmap(Me.ImageList1.Images(1)) - 'ServiceIcon.Icon = Icon.FromHandle(bmp1.GetHicon()) - 'ServiceIcon.Text = "Waiting..." EventStopped = False + PrintTempJournal("----------------------------------------------") Exit Sub End If End If @@ -370,18 +369,22 @@ Public Class Service1 For Each dra In diar1 Dim fullname As String = "" Globals.Fehlermeldung = "" - + IntSleep(Params.Wait_Before_Fileprocess) + PrintTempJournal("Verarbeitung " + dra.FullName) fullname = dra.FullName If UCase(System.IO.Path.GetExtension(dra.Name)) = ".XML" Then + PrintTempJournal(" Rename " + dra.FullName + " -> " + dra.FullName + ".ind") + IntSleep(Params.Wait_before_xmlind_ren) Rename(dra.FullName, dra.FullName + ".ind") fullname = dra.FullName + ".ind" - 'IntSleep(1) End If gsffilename = dra.Name.Substring(0, dra.Name.IndexOf(".")) + PrintTempJournal(" Journal " + fullname) PrintOut("File: " + fullname) Globals.Journal.Open_Journal() Globals.Journal.Insert_Journal("", "", "", fullname, "", "Start der Verarbeitung", "", "") + DivFnkt.Save_Indexdata(Journal.JournalNr, fullname) clsindex.IndexFileName = fullname If clsindex.getindexdata Then @@ -393,20 +396,16 @@ Public Class Service1 Journal.Insert_Journal("", "", "", fullname, "16", "Zuordnung zur Herkunftsapplikation fehlt.", "", "") Else If check_and_import.Herkunftsapplikationen_auslesen Then - 'Sofern die Herkunftsapplikation erruiert werden konnte, wird die Journaltabelle mit der Applikationsid nachgeführt Globals.Journal.Update_Journal() - 'PrintOut("test", EventLogEntryType.Error) - 'Verarbeitung der Daten check_and_import.CheckandImport() check_and_import = Nothing End If End If End If + Journal.Insert_Journal("", "", "", fullname, "", "Total Index-Datensätze: " + LTrim(Str(indexdata.Rows.Count)), "", "") Journal.Insert_Journal("", "", "", fullname, "", "Verarbeitung abgeschlossen.", "", "") Try - '20200509_Keine Logdatei erstellen - 'Logdatei_Erstellen() Catch End Try Try @@ -432,8 +431,8 @@ Public Class Service1 IntSleep(3) End If PrintOut("Ende File: " + fullname) - - IntSleep(5) + PrintTempJournal(" Abschluss " + fullname) + IntSleep(Params.wait_After_Fileprocess) If Fehler <> 0 Then send_error_mail() End If @@ -467,6 +466,7 @@ Public Class Service1 End While FileWatch.EnableRaisingEvents = True EventStopped = False + PrintTempJournal("----------------------------------------------") Exit Sub Catch ex As Exception Try diff --git a/EDKB08/EDKB08/bin/EDKB08.exe b/EDKB08/EDKB08/bin/EDKB08.exe index 5a5e3d5..e6a2aa7 100644 Binary files a/EDKB08/EDKB08/bin/EDKB08.exe and b/EDKB08/EDKB08/bin/EDKB08.exe differ diff --git a/EDKB08/EDKB08/bin/EDKB08.pdb b/EDKB08/EDKB08/bin/EDKB08.pdb index d598b56..008bd8b 100644 Binary files a/EDKB08/EDKB08/bin/EDKB08.pdb and b/EDKB08/EDKB08/bin/EDKB08.pdb differ diff --git a/EDKB08/EDKB08/bin/parameters.cfg b/EDKB08/EDKB08/bin/parameters.cfg index 49df835..5059c1e 100644 --- a/EDKB08/EDKB08/bin/parameters.cfg +++ b/EDKB08/EDKB08/bin/parameters.cfg @@ -13,4 +13,12 @@ GSF_Conf_Dateiendung =xml Directorytimer =10 Directorys =E:\Software-Projekte\EDOKA\batch\EDKB08\EDKB08\bin\DirectoriesToScan.txt IndexSicherung =k:\edoka\edkb08\indsik\ +TempLogFile =K:\EDOKA\EDKB08\Log\log.txt +Use FileEvent Rename =False +Wait_after_fileevent =3 +Wait_before_process =5 +Wait_before_xmlind_ren =1 +Wait_before_readdir =2 +Wait_before_fileproc =2 +Wait_after_fileproc =2 diff --git a/EDKB08/EDKB08/edkb08/clsParameter.vb b/EDKB08/EDKB08/edkb08/clsParameter.vb index a15064f..fa80072 100644 --- a/EDKB08/EDKB08/edkb08/clsParameter.vb +++ b/EDKB08/EDKB08/edkb08/clsParameter.vb @@ -198,6 +198,86 @@ Public Class ClsParameters m_sikind = value End Set End Property + + Dim m_logpath As String = "" + Property Logpath As String + Get + Return m_logpath + End Get + Set(value As String) + m_logpath = value + End Set + End Property + + Dim m_useFileEventRename As Boolean = False + Property UseFileEventRename As Boolean + Get + Return m_useFileEventRename + End Get + Set(value As Boolean) + m_useFileEventRename = value = "True" + End Set + End Property + + Dim m_waitafterfileevent As Integer + Property WaitAfterFileevent As Integer + Get + Return m_waitafterfileevent + End Get + Set(value As Integer) + m_waitafterfileevent = value + End Set + End Property + + Dim m_waitbeforeprocess As Integer + Property WaitBeforeProcess As Integer + Get + Return m_waitbeforeprocess + End Get + Set(value As Integer) + m_waitbeforeprocess = value + End Set + End Property + + Dim m_Wait_before_xmlind_ren As Int16 + Property Wait_before_xmlind_ren As Integer + Get + Return m_Wait_before_xmlind_ren + End Get + Set(value As Integer) + m_Wait_before_xmlind_ren = value + End Set + End Property + + Dim m_Wait_before_readdir As Integer + Property Wait_before_readdir As Integer + Get + Return m_Wait_before_readdir + End Get + Set(value As Integer) + m_Wait_before_readdir = value + End Set + End Property + + Dim m_wait_before_fileproc As Integer + Property Wait_Before_Fileprocess As Integer + Get + Return m_wait_before_fileproc + End Get + Set(value As Integer) + m_wait_before_fileproc = value + End Set + End Property + + Dim m_wait_afger_fileproc As Integer + Property wait_After_Fileprocess As Integer + Get + Return m_wait_afger_fileproc + End Get + Set(value As Integer) + m_wait_afger_fileproc = value + End Set + End Property #End Region '''Laden der Parameterdaten aus parameters.cfg @@ -225,6 +305,13 @@ Public Class ClsParameters Me.DirectoryTimer_Intervall = ParamValue(oread.ReadLine) * 60 * 1000 Me.Directoryscanner = ParamValue(oread.ReadLine) Me.sikind = ParamValue(oread.ReadLine) + Me.Logpath = ParamValue(oread.ReadLine) + Me.UseFileEventRename = ParamValue(oread.ReadLine) + Me.WaitAfterFileevent = ParamValue(oread.ReadLine) + Me.WaitBeforeProcess = ParamValue(oread.ReadLine) + Me.Wait_before_xmlind_ren = ParamValue(oread.ReadLine) + Me.Wait_Before_Fileprocess = ParamValue(oread.ReadLine) + Me.wait_After_Fileprocess = ParamValue(oread.ReadLine) oread.Close() Me.Meldung = "Parameter auslesen i.O." Return True diff --git a/EDKB08/EDKB08/obj/Debug/EDKB08.exe b/EDKB08/EDKB08/obj/Debug/EDKB08.exe index df2ca7b..224d2cf 100644 Binary files a/EDKB08/EDKB08/obj/Debug/EDKB08.exe and b/EDKB08/EDKB08/obj/Debug/EDKB08.exe differ diff --git a/EDKB08/EDKB08/obj/Debug/EDKB08.pdb b/EDKB08/EDKB08/obj/Debug/EDKB08.pdb index d598b56..008bd8b 100644 Binary files a/EDKB08/EDKB08/obj/Debug/EDKB08.pdb and b/EDKB08/EDKB08/obj/Debug/EDKB08.pdb differ diff --git a/EDKB08/EDKB08/obj/Release/EDKB08.exe b/EDKB08/EDKB08/obj/Release/EDKB08.exe index 5a5e3d5..e6a2aa7 100644 Binary files a/EDKB08/EDKB08/obj/Release/EDKB08.exe and b/EDKB08/EDKB08/obj/Release/EDKB08.exe differ diff --git a/EDKB08/EDKB08/obj/Release/EDKB08.vbproj.AssemblyReference.cache b/EDKB08/EDKB08/obj/Release/EDKB08.vbproj.AssemblyReference.cache index f5e894a..480d207 100644 Binary files a/EDKB08/EDKB08/obj/Release/EDKB08.vbproj.AssemblyReference.cache and b/EDKB08/EDKB08/obj/Release/EDKB08.vbproj.AssemblyReference.cache differ