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