diff --git a/MailSender/MAILSender.vb b/MailSender/MAILSender.vb
index c223c91..166d270 100644
--- a/MailSender/MAILSender.vb
+++ b/MailSender/MAILSender.vb
@@ -4,6 +4,7 @@ Imports System.Data.SqlClient
Imports ClosedXML.Excel
Imports DocumentFormat
Imports System.Net
+Imports DAKOSY_Worker
Module Mail
Dim sPath As String = System.AppDomain.CurrentDomain.BaseDirectory
@@ -69,6 +70,7 @@ Module Mail
'PARAM = "THYSSENKRUPP_AUSWERTUNG"
'PARAM = "RED_BULL"
+ 'PARAM = "ZF"
'------------------------------------------------------------------------------------
' PARAM = "NCTSLIST_TOBB"
@@ -97,7 +99,7 @@ Module Mail
' cnt += 1
'End While
If cnt >= 20 Then
- System.Console.WriteLine("MailSender konnte nicht gestartet werden, da eine Insatanz noch läuft...")
+ System.Console.WriteLine("MailSender konnte nicht gestartet werden, da eine Instanz noch läuft...")
Else
'Select Case firma
@@ -205,6 +207,16 @@ Module Mail
If SendEmail_RED_BULL("customs.documents.ata@redbull.com", KdNr, von, bis) Then 'für Andreas Details
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
End If
+ Case "ZF"
+ Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year)
+ Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1)
+
+ Dim KdNr As String = "714869"
+ System.Console.WriteLine("OPTION erkannt: ZF _ Erstellt eine monaltiche Auswertung der DAKSOY-Abfertigungen für ZF.")
+ System.Console.WriteLine("Auswertung Details gestartet...")
+ If SendEmail_ZF("robert.buchbauer@zf.com; christina.eggerl@zf.com; teresa.elster@zf.com", KdNr, von, bis) Then
+ System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
+ End If
Case "QS_AUFTEILUNG"
System.Console.WriteLine("OPTION erkannt: QS_AUFTEILUNG _ Erstellt die Auswertung der QS-AUFTEILUNG.")
System.Console.WriteLine("Auswertung gestartet...")
@@ -556,6 +568,43 @@ Module Mail
End Try
End Function
+ Private Function SendEmail_ZF(Mailto As String, KdNr As String, von As Date, bis As Date) As Boolean
+ Try
+ Dim excel As String = genEXCEL_ZF(KdNr, von, bis)
+ System.Console.WriteLine("EXCEL erstellt...")
+ If excel <> "" And Not excel.StartsWith("ERROR: ") Then
+
+ System.Console.WriteLine("Sende E-Mail...")
+
+ Dim Subject = "Auswertungen Zollanmeldungen ZF Friedrichshafen AG "
+ Dim Body = "Anbei befinden sich die Auswertungen Zollanmeldungen von " & von.ToShortDateString & " bis " & bis.ToShortDateString & "." &
+ "
Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString &
+ "
Automatisch generiertes E-Mail. Bitte Antworten Sie nicht an dieses E-Mail." &
+ "
VERAG SPEDITION AG"
+
+
+ Dim anhenge As New List(Of String)
+ anhenge.Add(excel)
+ If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False,, "d.breimaier@verag.ag;ra@verag.ag", anhenge) Then
+ System.Console.WriteLine("E-Mail gesendet.")
+ System.Console.WriteLine("Erfolgreich!")
+ Else
+ System.Console.WriteLine("ERROR BEIM SENDEN DER MAIL!")
+
+ End If
+
+ Return True
+ Else
+ System.Console.WriteLine(excel)
+ End If
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
+ System.Console.WriteLine(ex.Message & ex.StackTrace)
+ Return False
+ End Try
+ End Function
+
+
Private Function SendEmail_BRG_Auswertung(Optional wochenAuswertung As Boolean = False, Optional details As Boolean = False) As Boolean
Dim Msg As New MailMessage
Dim myCredentials As New System.Net.NetworkCredential
@@ -1375,6 +1424,97 @@ Module Mail
End Function
+
+ Public Function genEXCEL_ZF(KdNr As String, von As Date, bis As Date) As String
+ Try
+
+ Dim KUNDENADR = New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr)
+ Dim sqlstr As String = ""
+
+ sqlstr &= "SELECT CAST([FilialenNr] as varchar) + '/' + CAST([AbfertigungsNr] as varchar) Abfertigungsnummer,cast([Abfertigungsdatum] as date)Abfertigungsdatum,Absender,Rechnungsbetrag Betrag ,BelegNr,[FilialenNr],[AbfertigungsNr],Speditionsbuch.Abfertigungsart,Abfertigungsbezeichnung"
+ sqlstr &= " FROM Speditionsbuch INNER JOIN [Abfertigungsarten] ON Speditionsbuch.Abfertigungsart=Abfertigungsarten.Abfertigungsart"
+ sqlstr &= " where EmpfängerKundenNr IN (" & KdNr & ") and Abfertigungsdatum BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And Speditionsbuch.Abfertigungsart IN (1,29)"
+
+ Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr)
+
+
+ Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SR\"
+ If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
+ My.Computer.FileSystem.CreateDirectory(sPath)
+ End If
+
+ Dim Path = ""
+ Dim exclApp As Object 'as Application
+ Dim Datei As Object 'as WorkBook
+ Dim Blatt As Object 'Microsoft.Office.Interop.Excel.Worksheet 'As Object 'as Worksheet
+ exclApp = CreateObject("Excel.Application")
+
+ With exclApp
+ .Visible = False
+
+ Try
+ Path = sPath & "ZF_" & von.ToShortDateString & "-" & bis.ToShortDateString & "" & " .xlsx"
+ While System.IO.File.Exists(Path)
+ Path = sPath & "ZF_" & von.ToShortDateString & "-" & bis.ToShortDateString & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx"
+ End While
+ My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.RG_ZF, False)
+ Catch ex As System.Exception
+ ' MsgBox(ex.Message)
+ MsgBox("ERROR 01: " & ex.Message & vbNewLine & ex.StackTrace)
+
+
+ Return ""
+ End Try
+
+ Datei = .Workbooks.Open(Path) 'Anpassen
+ Blatt = Datei.Worksheets(1) 'Anpassen
+
+ Blatt.Range("I1").Value = von.ToShortDateString & "-" & bis.ToShortDateString
+
+ Dim cnt = 3
+ For Each r In dt.Rows
+ Blatt.Range("A" & cnt).Value = cnt - 2
+ Blatt.Range("B" & cnt).Value = r("Abfertigungsnummer")
+ ' Blatt.Range("C" & cnt).Value = r("RechnungsNr")
+ Blatt.Range("C" & cnt).Value = r("Abfertigungsdatum")
+ Blatt.Range("D" & cnt).Value = r("Abfertigungsbezeichnung")
+ Blatt.Range("E" & cnt).Value = r("Absender")
+ Blatt.Range("F" & cnt).Value = "" 'r("Betrag")
+ Blatt.Range("H" & cnt).Value = r("BelegNr")
+
+ VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG"
+
+ Dim ZOLLANMELDUNG As New cZollsysteme_Aktenbeschriftung
+ If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False) Then
+ Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.Rechnungspreis
+ Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine)
+ Blatt.Range("I" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL
+ Blatt.Range("J" & cnt).Value = ZOLLANMELDUNG.ANZ_POS
+ End If
+
+ cnt += 1
+
+ Next
+
+ Datei.Save()
+ .DisplayAlerts = False
+ .quit()
+ Try : Datei.close(True) : Catch : End Try
+ End With
+
+
+ 'Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False, "Report Data_" & KUNDENADR.FullName & "_" & von.ToShortDateString & "-" & bis.ToShortDateString)
+ Dim filepath = Path
+ If filepath = "" Then Return "ERROR 01: Fehler beim Erzeugen des XLS."
+
+ Return filepath
+ Catch ex As System.Exception
+ ' MsgBox(ex.Message)
+ Return "ERROR 02: " & ex.Message & vbNewLine & ex.StackTrace
+ End Try
+
+ End Function
+
Private Sub releaseObject(ByVal obj As Object)
Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
@@ -1417,7 +1557,7 @@ Module Mail
.Visible = False
Dim filepath = sPath & "CS_Auswertung.xlsx"
Try
- My.Computer.FileSystem.WriteAllBytes(filepath, My.Resources.cs_Aufteilung, False)
+ My.Computer.FileSystem.WriteAllBytes(filepath, My.Resources.CS_Aufteilung, False)
Catch ex As System.Exception
' MsgBox(ex.Message)
Return "ERROR 01: " & ex.Message & vbNewLine & ex.StackTrace
@@ -1563,7 +1703,7 @@ Module Mail
.Visible = False
Dim filepath = sPath & "\Depot.xlsx"
Try
- My.Computer.FileSystem.WriteAllBytes(filepath, My.Resources.depot, False)
+ My.Computer.FileSystem.WriteAllBytes(filepath, My.Resources.Depot, False)
Catch ex As System.Exception
' MsgBox(ex.Message)
Return "ERROR 01: " & ex.Message & vbNewLine & ex.StackTrace
diff --git a/MailSender/MailSender.vbproj b/MailSender/MailSender.vbproj
index 0275e9e..c471987 100644
--- a/MailSender/MailSender.vbproj
+++ b/MailSender/MailSender.vbproj
@@ -128,6 +128,7 @@
Always
+
@@ -137,6 +138,10 @@
{a3b497bd-842c-4a2b-b398-ed1976849df1}
VERAG_PROG_ALLGEMEIN
+
+ {50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}
+ DAKOSY_Worker_lib
+
{6eb4d3a4-3cf2-4651-9af9-ad5f727df403}
ADMIN
diff --git a/MailSender/My Project/Resources.Designer.vb b/MailSender/My Project/Resources.Designer.vb
index fde27c0..e533f9e 100644
--- a/MailSender/My Project/Resources.Designer.vb
+++ b/MailSender/My Project/Resources.Designer.vb
@@ -22,7 +22,7 @@ Namespace My.Resources
'''
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
'''
- _
@@ -99,5 +99,15 @@ Namespace My.Resources
Return CType(obj,Byte())
End Get
End Property
+
+ '''
+ ''' Sucht eine lokalisierte Ressource vom Typ System.Byte[].
+ '''
+ Friend ReadOnly Property RG_ZF() As Byte()
+ Get
+ Dim obj As Object = ResourceManager.GetObject("RG_ZF", resourceCulture)
+ Return CType(obj,Byte())
+ End Get
+ End Property
End Module
End Namespace
diff --git a/MailSender/My Project/Resources.resx b/MailSender/My Project/Resources.resx
index 5798ab4..770048e 100644
--- a/MailSender/My Project/Resources.resx
+++ b/MailSender/My Project/Resources.resx
@@ -130,4 +130,7 @@
..\Resources\QS_Aufteilung.xlsx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ ..\Resources\RG_ZF.xlsx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
\ No newline at end of file
diff --git a/UID/Dienstplan/frmDienstplanVariabel.vb b/UID/Dienstplan/frmDienstplanVariabel.vb
index 409878f..4546368 100644
--- a/UID/Dienstplan/frmDienstplanVariabel.vb
+++ b/UID/Dienstplan/frmDienstplanVariabel.vb
@@ -899,7 +899,7 @@ Public Class frmDienstplanVariabel
Try
entryId_TMP = entryId
- Dim row As DataRow = SQLDienst.loadDGV("SELECT dstetr_id, dstma_kuerzel + ' '+ dstetr_info as dstma_kuerzel,dstetr_info,dstma_id, dstetr_von,dstetr_bis,dstetr_art,dstetr_pause,dstetr_datum,dstma_mitId, dstetr_splitschicht FROM tblDienstplanEintraege, tblDienstMitarb, tblMitarbeiter WHERE dstetr_dstmaId=dstma_id AND mit_id=dstma_mitId AND dstetr_id='" & entryId & "'").Rows(0)
+ Dim row As DataRow = SQLDienst.loadDGV("SELECT dstetr_id, dstma_kuerzel + ' '+ dstetr_info as dstma_kuerzel,dstetr_info,dstma_id, dstetr_von,dstetr_bis,dstetr_art,dstetr_pause,dstetr_datum,dstma_mitId, dstetr_splitschicht, dstma_land FROM tblDienstplanEintraege, tblDienstMitarb, tblMitarbeiter WHERE dstetr_dstmaId=dstma_id AND mit_id=dstma_mitId AND dstetr_id='" & entryId & "'").Rows(0)
TextBox1.Text = row("dstetr_von").ToString
TextBox2.Text = row("dstetr_bis").ToString
@@ -909,8 +909,8 @@ Public Class frmDienstplanVariabel
- Dim tatStd As Double = SQLDienst.getDstStunden(row("dstma_id").ToString, row("dstetr_datum").ToString, row("dstetr_datum").ToString, niederlassung)
- Dim schichtStd As Double = SQLDienst.getDstStunden(row("dstma_id").ToString, row("dstetr_datum").ToString, row("dstetr_datum").ToString, niederlassung, True)
+ Dim tatStd As Double = SQLDienst.getDstStunden(row("dstma_id").ToString, row("dstetr_datum").ToString, row("dstetr_datum").ToString, niederlassung, row("dstma_land").ToString)
+ Dim schichtStd As Double = SQLDienst.getDstStunden(row("dstma_id").ToString, row("dstetr_datum").ToString, row("dstetr_datum").ToString, niederlassung, row("dstma_land").ToString, True)
txtWoStd.Text = tatStd
txtSchichtstd.Text = schichtStd
@@ -921,7 +921,7 @@ Public Class frmDienstplanVariabel
Label32.Text = CDate(row("dstetr_datum")).ToShortDateString
- lblMAInfo.Text = row("dstma_kuerzel").ToString
+ lblMAInfo.Text = row("dstma_kuerzel").ToString & "(" & row("dstma_id").ToString & ")"
aktMitarbeiterEintrag = row("dstetr_id").ToString
If row("dstetr_art").ToString.Contains("NACHT") Then Button9.Visible = True
diff --git a/UID/Dienstplan/frmDiestAddMa.vb b/UID/Dienstplan/frmDiestAddMa.vb
index d45cc38..5d04bfa 100644
--- a/UID/Dienstplan/frmDiestAddMa.vb
+++ b/UID/Dienstplan/frmDiestAddMa.vb
@@ -58,6 +58,7 @@ Public Class frmDiestAddMa
cboLand.Items.Clear()
cboLand.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AT", "AT"))
cboLand.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("DE", "DE"))
+ cboLand.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("GB", "GB"))
diff --git a/UID/Dienstplan/usrCntlDienstplan.vb b/UID/Dienstplan/usrCntlDienstplan.vb
index b019cd7..38aa4e6 100644
--- a/UID/Dienstplan/usrCntlDienstplan.vb
+++ b/UID/Dienstplan/usrCntlDienstplan.vb
@@ -437,7 +437,7 @@ Public Class usrCntlDienstplan
Dim tatStd As Double = 0
If arbeit Then
- tatStd = SQLDienst.getDstStunden(MA_DST.dstma_id, datum, datum, niederlassung)
+ tatStd = SQLDienst.getDstStunden(MA_DST.dstma_id, datum, datum, niederlassung, MA_DST.dstma_land)
tatStdSum += tatStd
End If
@@ -501,7 +501,7 @@ Public Class usrCntlDienstplan
If groupKW Then
Dim sollStd As Double = cPF.getWochenstunden(STD_LIST, MA_DST.dstma_wochenStunden, datumMO, SCHICHT, MA_DST.dstma_mitId, MA_DST.dstma_muster, MA_DST.dstma_WEStdRegelAZ, MA_DST.dstma_arbvh, niederlassung, MA_DST.dstma_TzFeiertageStd, MA_DST.dstma_4wo)
- Dim tatStd As Double = SQLDienst.getDstStunden(MA_DST.dstma_id, datumMO, datumMO.AddDays(6), niederlassung)
+ Dim tatStd As Double = SQLDienst.getDstStunden(MA_DST.dstma_id, datumMO, datumMO.AddDays(6), niederlassung, MA_DST.dstma_land)
rpt.txtSumWoStunden.Text = CDbl(tatStd).ToString("N2")
rpt.txtWoStd.Text = CDbl(sollStd * -1).ToString("N2")
diff --git a/UID/Dienstplan/usrcntlDienstplanStunden.vb b/UID/Dienstplan/usrcntlDienstplanStunden.vb
index da12415..cd604f3 100644
--- a/UID/Dienstplan/usrcntlDienstplanStunden.vb
+++ b/UID/Dienstplan/usrcntlDienstplanStunden.vb
@@ -99,7 +99,7 @@ Public Class usrcntlDienstplanStunden
Wochenstunden = cPF.getWochenstunden(STD_LIST, Wochenstunden, datum, SCHICHT, r.Cells("dstma_id").Value, ma.dstma_muster, ma.dstma_WEStdRegelAZ, ma.dstma_arbvh, niederlassung, ma.dstma_TzFeiertageStd, ma.dstma_4wo)
'Hier wird berechnet wie viele Std tastächlich gearbeitet wurden:
- Dim tatStd As Double = SQLDienst.getDstStunden(r.Cells("dstma_id").Value, datum_montag, datum_montag.AddDays(6), niederlassung)
+ Dim tatStd As Double = SQLDienst.getDstStunden(r.Cells("dstma_id").Value, datum_montag, datum_montag.AddDays(6), niederlassung, ma.dstma_land)
r.Cells("stundenBerechnet").Value = (Wochenstunden)
diff --git a/UID/Mitarbeiter/frmMitarbTimas.Designer.vb b/UID/Mitarbeiter/frmMitarbTimas.Designer.vb
index 3dc014d..7f6c51d 100644
--- a/UID/Mitarbeiter/frmMitarbTimas.Designer.vb
+++ b/UID/Mitarbeiter/frmMitarbTimas.Designer.vb
@@ -43,8 +43,6 @@ Partial Class frmMitarbTimas
Me.txtInfo = New System.Windows.Forms.TextBox()
Me.lblInfo = New System.Windows.Forms.Label()
Me.lkl = New System.Windows.Forms.LinkLabel()
- Me.Label8 = New System.Windows.Forms.Label()
- Me.txtPwd = New System.Windows.Forms.TextBox()
Me.Label6 = New System.Windows.Forms.Label()
Me.txtTelNr = New System.Windows.Forms.TextBox()
Me.cbxEinsteigsDat = New System.Windows.Forms.CheckBox()
@@ -80,6 +78,7 @@ Partial Class frmMitarbTimas
Me.GroupBox3 = New System.Windows.Forms.GroupBox()
Me.dgvData = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.TabControl1 = New System.Windows.Forms.TabControl()
+ Me.Button1 = New System.Windows.Forms.Button()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
Me.GroupBox2.SuspendLayout()
@@ -175,6 +174,7 @@ Partial Class frmMitarbTimas
'
'GroupBox2
'
+ Me.GroupBox2.Controls.Add(Me.Button1)
Me.GroupBox2.Controls.Add(Me.txtLohn)
Me.GroupBox2.Controls.Add(Me.lblLohnNr)
Me.GroupBox2.Controls.Add(Me.cbxAccount)
@@ -185,8 +185,6 @@ Partial Class frmMitarbTimas
Me.GroupBox2.Controls.Add(Me.txtInfo)
Me.GroupBox2.Controls.Add(Me.lblInfo)
Me.GroupBox2.Controls.Add(Me.lkl)
- Me.GroupBox2.Controls.Add(Me.Label8)
- Me.GroupBox2.Controls.Add(Me.txtPwd)
Me.GroupBox2.Controls.Add(Me.Label6)
Me.GroupBox2.Controls.Add(Me.txtTelNr)
Me.GroupBox2.Controls.Add(Me.cbxEinsteigsDat)
@@ -295,36 +293,18 @@ Partial Class frmMitarbTimas
'
Me.lkl.AutoSize = True
Me.lkl.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.lkl.Location = New System.Drawing.Point(347, 36)
+ Me.lkl.Location = New System.Drawing.Point(266, 55)
Me.lkl.Name = "lkl"
Me.lkl.Size = New System.Drawing.Size(35, 13)
Me.lkl.TabIndex = 117
Me.lkl.TabStop = True
Me.lkl.Text = "Reset"
'
- 'Label8
- '
- Me.Label8.AutoSize = True
- Me.Label8.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Label8.Location = New System.Drawing.Point(206, 55)
- Me.Label8.Name = "Label8"
- Me.Label8.Size = New System.Drawing.Size(146, 13)
- Me.Label8.TabIndex = 114
- Me.Label8.Text = "(erst bei Doppelklick sichtbar)"
- '
- 'txtPwd
- '
- Me.txtPwd.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.txtPwd.Location = New System.Drawing.Point(204, 52)
- Me.txtPwd.Name = "txtPwd"
- Me.txtPwd.Size = New System.Drawing.Size(178, 20)
- Me.txtPwd.TabIndex = 115
- '
'Label6
'
Me.Label6.AutoSize = True
Me.Label6.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Label6.Location = New System.Drawing.Point(202, 36)
+ Me.Label6.Location = New System.Drawing.Point(202, 55)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(53, 13)
Me.Label6.TabIndex = 116
@@ -674,6 +654,18 @@ Partial Class frmMitarbTimas
Me.TabControl1.Size = New System.Drawing.Size(546, 242)
Me.TabControl1.TabIndex = 123
'
+ 'Button1
+ '
+ Me.Button1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
+ Me.Button1.BackColor = System.Drawing.Color.White
+ Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.Button1.Location = New System.Drawing.Point(418, 15)
+ Me.Button1.Name = "Button1"
+ Me.Button1.Size = New System.Drawing.Size(128, 23)
+ Me.Button1.TabIndex = 88
+ Me.Button1.Text = "aus AVISO laden"
+ Me.Button1.UseVisualStyleBackColor = False
+ '
'frmMitarbTimas
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -740,8 +732,6 @@ Partial Class frmMitarbTimas
Friend WithEvents txtInfo As TextBox
Friend WithEvents lblInfo As Label
Friend WithEvents lkl As LinkLabel
- Friend WithEvents Label8 As Label
- Friend WithEvents txtPwd As TextBox
Friend WithEvents Label6 As Label
Friend WithEvents txtTelNr As TextBox
Friend WithEvents cbxEinsteigsDat As CheckBox
@@ -758,4 +748,5 @@ Partial Class frmMitarbTimas
Private WithEvents GroupBox3 As GroupBox
Friend WithEvents TabControl1 As TabControl
Friend WithEvents dgvData As VERAG_PROG_ALLGEMEIN.MyDatagridview
+ Friend WithEvents Button1 As Button
End Class
diff --git a/UID/Mitarbeiter/frmMitarbTimas.vb b/UID/Mitarbeiter/frmMitarbTimas.vb
index e924d60..41a4ba4 100644
--- a/UID/Mitarbeiter/frmMitarbTimas.vb
+++ b/UID/Mitarbeiter/frmMitarbTimas.vb
@@ -5,6 +5,7 @@ Imports System.IO
Imports System.Net
Imports System.Net.Http
Imports System.Net.WebRequestMethods
+Imports System.Security.Cryptography
Imports System.Security.Policy
Imports System.Text
Imports System.Text.RegularExpressions
@@ -20,6 +21,7 @@ Imports VERAG_PROG_ALLGEMEIN
Public Class frmMitarbTimas
+ Private avisoEmp As VERAG_PROG_ALLGEMEIN.cMitarbeiter
Public mid As Integer = -1
Public isUpdate As Boolean = False
Dim emp As cTimasEmployee
@@ -38,11 +40,8 @@ Public Class frmMitarbTimas
Private Sub frmMitarbDetails_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- txtPwd.Visible = False
cbxEinsteigsDat.Checked = False
cbxGebDat.Checked = False
-
-
txtGebDat.Format = DateTimePickerFormat.Custom
txtGebDat.CustomFormat = "dd.MM.yyyy"
datGekuendigtAm.Format = DateTimePickerFormat.Custom
@@ -58,9 +57,10 @@ Public Class frmMitarbTimas
End If
End Sub
- Private Sub initMitarbeiter(Optional _isUpdate As Boolean = True)
+ Private Sub initMitarbeiter(mid As Integer, Optional _isUpdate As Boolean = False)
timas = New cTimasAPI
emp = timas.getEmployee(mid)
+ avisoEmp = New VERAG_PROG_ALLGEMEIN.cMitarbeiter(emp.externid)
timas.getAllGroups(dtTimas)
@@ -71,7 +71,7 @@ Public Class frmMitarbTimas
txtUsername.Text = emp.login
txtVname.Text = emp.firstname
txtNname.Text = emp.lastname
- txtPwd.Text = emp.password
+ 'txtPwd.Text = emp.password
If emp.gender = "male" Then rbtnGeschlechtM.Checked = True
If emp.gender = "female" Then rbtnGeschlechtW.Checked = True
@@ -137,7 +137,7 @@ Public Class frmMitarbTimas
Private Sub getMitarbeiter()
emp.login = txtUsername.Text
- emp.password = txtPwd.Text
+ 'emp.password = txtPwd.Text
If rbtnGeschlechtM.Checked Then emp.gender = "male"
If rbtnGeschlechtW.Checked Then emp.gender = "female"
emp.firstname = txtVname.Text
@@ -161,7 +161,6 @@ Public Class frmMitarbTimas
'mitarbeiter.mit_TESTonly = cbxTestaccount.Checked
If checkMandatoryFields() Then
timas.updateEmployee(emp, dgvData)
-
End If
@@ -169,10 +168,6 @@ Public Class frmMitarbTimas
End Sub
- Private Sub Label8_Click_1(sender As Object, e As EventArgs)
- txtPwd.Visible = True
- Label8.Visible = False
- End Sub
Private Sub btnSave_Click(sender As Object, e As EventArgs)
If txtVname.Text = "" And txtNname.Text = "" Then MsgBox("Bitte geben Sie einen Namen ein!") : Exit Sub
@@ -208,13 +203,31 @@ Public Class frmMitarbTimas
End Sub
Private Sub lkl_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lkl.LinkClicked
- If vbYes = MsgBox("Möchten Sie das Kennwort wirklich zurücksetzen? " & vbNewLine & "Der Benutzer wird beim nächsten Login zur Eingabe aufgefordert.", vbYesNoCancel) Then
- ' txtPwd.Text = "0000"
- getMitarbeiter()
- emp.password = "null"
- If checkMandatoryFields() Then
- timas.updateEmployee(emp, Nothing)
+ If vbYes = MsgBox("Möchten Sie das Kennwort neu setzen?", vbYesNoCancel) Then
+ If vbYes = MsgBox("Möchten Sie den Kennwort aus AVISO/SQL übernehmen?", vbYesNoCancel) Then
+ If avisoEmp IsNot Nothing AndAlso avisoEmp.mit_pwd <> "" Then
+ emp.password = avisoEmp.mit_pwd
+ If checkMandatoryFields() Then
+ timas.updateEmployee(emp, Nothing)
+ Exit Sub
+ End If
+ Else
+ MsgBox("Mitarbeiter-PW konnte konnten nicht aus AVISO geladen werden!")
+ End If
End If
+
+
+ Dim input = InputBox("Neues Passwort:", "Passwort anlegen")
+ If input <> "" Then
+ getMitarbeiter()
+ emp.password = input
+ If checkMandatoryFields() Then
+ timas.updateEmployee(emp, Nothing)
+ End If
+ Else
+ MsgBox("Passwort wurde nicht neu vergeben!")
+ End If
+
End If
End Sub
@@ -312,7 +325,20 @@ Public Class frmMitarbTimas
End If
End Sub
+ Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
-
+ If vbYes = MsgBox("Möchten Sie Daten aus AVISO/SQL übernehmen?", vbYesNo) Then
+ If avisoEmp IsNot Nothing AndAlso avisoEmp.mit_username <> "" Then
+ txtUsername.Text = avisoEmp.mit_username
+ If txtInfo.Text = "" Then
+ txtInfo.Text = avisoEmp.mit_firma & " - " & avisoEmp.mit_abteilung
+ End If
+ cbxAccount.Checked = True
+ getMitarbeiter()
+ Else
+ MsgBox("Mitarbeiterdaten konnten nicht aus AVISO geladen werden!")
+ End If
+ End If
+ End Sub
End Class
diff --git a/UID/cProgramFunctions.vb b/UID/cProgramFunctions.vb
index daaf15b..2f73cbf 100644
--- a/UID/cProgramFunctions.vb
+++ b/UID/cProgramFunctions.vb
@@ -1090,7 +1090,7 @@ Public Class cProgramFunctions
' MsgBox(Wochenstunden)
Wochenstunden = cPF.getWochenstunden(STD_LIST, Wochenstunden, datum, SCHICHT, r("dstma_id"), ma.dstma_muster, ma.dstma_WEStdRegelAZ, ma.dstma_arbvh, niederlassung, ma.dstma_TzFeiertageStd, ma.dstma_4wo)
- Dim tatStd As Double = SQLDienst.getDstStunden(r("dstma_id"), datum_montag, datum_montag.AddDays(6), niederlassung)
+ Dim tatStd As Double = SQLDienst.getDstStunden(r("dstma_id"), datum_montag, datum_montag.AddDays(6), niederlassung, ma.dstma_land)
' : ANDERES ERG"""""!!!!!!!!!!!!!!!!!!!!
' Wochenstunden = cPF.getWochenstunden(Wochenstunden, datum, SCHICHT, r.Cells("dstma_id").Value, ma.dstma_muster, ma.dstma_WEStdRegelAZ, ma.dstma_arbvh, niederlassung)
diff --git a/UID/cSqlDb.vb b/UID/cSqlDb.vb
index ac8e6dc..97a0d85 100644
--- a/UID/cSqlDb.vb
+++ b/UID/cSqlDb.vb
@@ -4084,7 +4084,7 @@ Public Class cDienstplan
Return False
End Function
- Public Function getDstStunden(maId As Integer, datum_von As Date, datum_bis As Date, niederlassung As String, Optional onlySplitschichten As Boolean = False) As Double
+ Public Function getDstStunden(maId As Integer, datum_von As Date, datum_bis As Date, niederlassung As String, Optional land As String = "", Optional onlySplitschichten As Boolean = False) As Double
Try
Dim stunden As Double
Dim rgx As New Regex("^\d{2}:\d{2}$")
@@ -4137,12 +4137,12 @@ Public Class cDienstplan
'End If
If cPF.isValidTime(von) And cPF.isValidTime(bis) Then ' Wenn Format stimmt
- s += cPF.getDiff(von, bis, niederlassung, (FT.isFeiertag(datum, cDienstSettings.getLand(niederlassung)) Or woTag = "SO"))
+ s += cPF.getDiff(von, bis, niederlassung, (FT.isFeiertag(datum, IIf(land <> "", land, cDienstSettings.getLand(niederlassung))) Or woTag = "SO"))
If IsNumeric(dr.Item("dstetr_pause")) Then
s -= CDbl(dr.Item("dstetr_pause"))
'Wenn Feiertag oder Sonntag, werden die Stunden (von-bis) doppelt gerechent, also müssen die Pausenstunden doppelt abgezoben werden:
- If (FT.isFeiertag(datum, cDienstSettings.getLand(niederlassung)) Or woTag = "SO") Then s -= CDbl(dr.Item("dstetr_pause"))
+ If (FT.isFeiertag(datum, IIf(land <> "", land, cDienstSettings.getLand(niederlassung))) Or woTag = "SO") Then s -= CDbl(dr.Item("dstetr_pause"))
End If
Else
diff --git a/UID/frmERS.vb b/UID/frmERS.vb
index a5dbfef..27567e5 100644
--- a/UID/frmERS.vb
+++ b/UID/frmERS.vb
@@ -16,7 +16,7 @@
Private Sub frmERS_Load(sender As Object, e As EventArgs) Handles MyBase.Load
lblProgramm.Text = progId & " - " & progName & IIf(progVersion <> "", " (" & progVersion & ")", "")
- lblFirma.Text = firma
+ lblFirma.Text = IIf(firma IsNot DBNull.Value, firma, "")
txtUser.Text = maId & " " & userName
txtType.Text = type
txtMethode.Text = errMethodName
diff --git a/UID/usrCntlAPI.Designer.vb b/UID/usrCntlAPI.Designer.vb
index a4476e5..e36853a 100644
--- a/UID/usrCntlAPI.Designer.vb
+++ b/UID/usrCntlAPI.Designer.vb
@@ -26,6 +26,7 @@ Partial Class usrCntlAPI
Me.SplitContainer = New System.Windows.Forms.SplitContainer()
Me.pnlSearch = New System.Windows.Forms.Panel()
Me.SplitContainer1 = New System.Windows.Forms.SplitContainer()
+ Me.Button1 = New System.Windows.Forms.Button()
Me.Label11 = New System.Windows.Forms.Label()
Me.txtZollBelegNr = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.Label10 = New System.Windows.Forms.Label()
@@ -79,7 +80,6 @@ Partial Class usrCntlAPI
Me.Panel3 = New System.Windows.Forms.Panel()
Me.Button10 = New System.Windows.Forms.Button()
Me.Button11 = New System.Windows.Forms.Button()
- Me.Button1 = New System.Windows.Forms.Button()
CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainer.Panel1.SuspendLayout()
Me.SplitContainer.Panel2.SuspendLayout()
@@ -184,6 +184,18 @@ Partial Class usrCntlAPI
Me.SplitContainer1.SplitterDistance = 125
Me.SplitContainer1.TabIndex = 0
'
+ 'Button1
+ '
+ Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.Button1.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.Button1.Location = New System.Drawing.Point(850, 122)
+ Me.Button1.Name = "Button1"
+ Me.Button1.Size = New System.Drawing.Size(162, 52)
+ Me.Button1.TabIndex = 53
+ Me.Button1.Text = "API Verwaltung"
+ Me.Button1.UseVisualStyleBackColor = True
+ '
'Label11
'
Me.Label11.AutoSize = True
@@ -945,18 +957,6 @@ Partial Class usrCntlAPI
Me.Button11.TabIndex = 4
Me.Button11.UseVisualStyleBackColor = True
'
- 'Button1
- '
- Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
- Me.Button1.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
- Me.Button1.Location = New System.Drawing.Point(850, 122)
- Me.Button1.Name = "Button1"
- Me.Button1.Size = New System.Drawing.Size(162, 52)
- Me.Button1.TabIndex = 53
- Me.Button1.Text = "API Verwaltung"
- Me.Button1.UseVisualStyleBackColor = True
- '
'usrCntlAPI
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
diff --git a/UID/usrCntlAPI.vb b/UID/usrCntlAPI.vb
index 5cb60c6..92f6e1b 100644
--- a/UID/usrCntlAPI.vb
+++ b/UID/usrCntlAPI.vb
@@ -267,4 +267,18 @@ Public Class usrCntlAPI
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
End Sub
+
+ Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
+ srcTAG = srcTAG.AddDays(-1)
+ initBtns("Tag")
+ End Sub
+
+ Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
+ srcTAG = srcTAG.AddDays(1)
+ initBtns("Tag")
+ End Sub
+
+ Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
+ initBtns("Tag")
+ End Sub
End Class
diff --git a/UID/usrCntlERS.Designer.vb b/UID/usrCntlERS.Designer.vb
index a9eabd4..fa7a7c9 100644
--- a/UID/usrCntlERS.Designer.vb
+++ b/UID/usrCntlERS.Designer.vb
@@ -26,6 +26,9 @@ Partial Class usrCntlERS
Me.SplitContainer = New System.Windows.Forms.SplitContainer()
Me.pnlSearch = New System.Windows.Forms.Panel()
Me.SplitContainer1 = New System.Windows.Forms.SplitContainer()
+ Me.txtFehlersuche = New VERAG_PROG_ALLGEMEIN.MyTextBox()
+ Me.Label2 = New System.Windows.Forms.Label()
+ Me.cbxTestSys = New System.Windows.Forms.CheckBox()
Me.Label9 = New System.Windows.Forms.Label()
Me.txtUser = New VERAG_PROG_ALLGEMEIN.KdSearchBox()
Me.cboType = New VERAG_PROG_ALLGEMEIN.MyComboBox()
@@ -61,7 +64,6 @@ Partial Class usrCntlERS
Me.Panel3 = New System.Windows.Forms.Panel()
Me.Button10 = New System.Windows.Forms.Button()
Me.Button11 = New System.Windows.Forms.Button()
- Me.cbxTestSys = New System.Windows.Forms.CheckBox()
CType(Me.SplitContainer, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainer.Panel1.SuspendLayout()
Me.SplitContainer.Panel2.SuspendLayout()
@@ -117,6 +119,8 @@ Partial Class usrCntlERS
'
'SplitContainer1.Panel1
'
+ Me.SplitContainer1.Panel1.Controls.Add(Me.txtFehlersuche)
+ Me.SplitContainer1.Panel1.Controls.Add(Me.Label2)
Me.SplitContainer1.Panel1.Controls.Add(Me.cbxTestSys)
Me.SplitContainer1.Panel1.Controls.Add(Me.Label9)
Me.SplitContainer1.Panel1.Controls.Add(Me.txtUser)
@@ -148,10 +152,56 @@ Partial Class usrCntlERS
Me.SplitContainer1.SplitterDistance = 125
Me.SplitContainer1.TabIndex = 0
'
+ 'txtFehlersuche
+ '
+ Me.txtFehlersuche._DateTimeOnly = False
+ Me.txtFehlersuche._numbersOnly = False
+ Me.txtFehlersuche._numbersOnlyKommastellen = ""
+ Me.txtFehlersuche._numbersOnlyTrennzeichen = True
+ Me.txtFehlersuche._Prozent = False
+ Me.txtFehlersuche._ShortDateNew = False
+ Me.txtFehlersuche._ShortDateOnly = False
+ Me.txtFehlersuche._TimeOnly = False
+ Me.txtFehlersuche._TimeOnly_Seconds = False
+ Me.txtFehlersuche._value = ""
+ Me.txtFehlersuche._Waehrung = False
+ Me.txtFehlersuche._WaehrungZeichen = True
+ Me.txtFehlersuche.ForeColor = System.Drawing.Color.Black
+ Me.txtFehlersuche.Location = New System.Drawing.Point(532, 79)
+ Me.txtFehlersuche.MaxLineLength = -1
+ Me.txtFehlersuche.MaxLines_Warning = ""
+ Me.txtFehlersuche.MaxLines_Warning_Label = Nothing
+ Me.txtFehlersuche.Name = "txtFehlersuche"
+ Me.txtFehlersuche.Size = New System.Drawing.Size(217, 20)
+ Me.txtFehlersuche.TabIndex = 52
+ '
+ 'Label2
+ '
+ Me.Label2.AutoSize = True
+ Me.Label2.Location = New System.Drawing.Point(449, 83)
+ Me.Label2.Name = "Label2"
+ Me.Label2.Size = New System.Drawing.Size(72, 13)
+ Me.Label2.TabIndex = 51
+ Me.Label2.Text = "Fehlersuche*:"
+ '
+ 'cbxTestSys
+ '
+ Me.cbxTestSys.AutoSize = True
+ Me.cbxTestSys.BackColor = System.Drawing.Color.White
+ Me.cbxTestSys.Checked = True
+ Me.cbxTestSys.CheckState = System.Windows.Forms.CheckState.Indeterminate
+ Me.cbxTestSys.Location = New System.Drawing.Point(487, 3)
+ Me.cbxTestSys.Name = "cbxTestSys"
+ Me.cbxTestSys.Size = New System.Drawing.Size(79, 17)
+ Me.cbxTestSys.TabIndex = 50
+ Me.cbxTestSys.Text = "Testsystem"
+ Me.cbxTestSys.ThreeState = True
+ Me.cbxTestSys.UseVisualStyleBackColor = False
+ '
'Label9
'
Me.Label9.AutoSize = True
- Me.Label9.Location = New System.Drawing.Point(330, 62)
+ Me.Label9.Location = New System.Drawing.Point(449, 39)
Me.Label9.Name = "Label9"
Me.Label9.Size = New System.Drawing.Size(32, 13)
Me.Label9.TabIndex = 47
@@ -176,7 +226,7 @@ Partial Class usrCntlERS
Me.txtUser.KdNr = "-1"
Me.txtUser.kdNrField = Nothing
Me.txtUser.KdNrNullInt = Nothing
- Me.txtUser.Location = New System.Drawing.Point(368, 58)
+ Me.txtUser.Location = New System.Drawing.Point(532, 35)
Me.txtUser.Name = "txtUser"
Me.txtUser.nurAktive = False
Me.txtUser.searchActive = True
@@ -193,7 +243,7 @@ Partial Class usrCntlERS
Me.cboType.DropDownWidth = 250
Me.cboType.Font = New System.Drawing.Font("Microsoft Tai Le", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cboType.FormattingEnabled = True
- Me.cboType.Location = New System.Drawing.Point(451, 30)
+ Me.cboType.Location = New System.Drawing.Point(333, 79)
Me.cboType.Name = "cboType"
Me.cboType.Size = New System.Drawing.Size(105, 22)
Me.cboType.TabIndex = 42
@@ -202,7 +252,7 @@ Partial Class usrCntlERS
'
Me.Label6.AutoSize = True
Me.Label6.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Label6.Location = New System.Drawing.Point(448, 12)
+ Me.Label6.Location = New System.Drawing.Point(330, 61)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(35, 13)
Me.Label6.TabIndex = 41
@@ -462,7 +512,7 @@ Partial Class usrCntlERS
Me.cboFirma.DropDownWidth = 250
Me.cboFirma.Font = New System.Drawing.Font("Microsoft Tai Le", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cboFirma.FormattingEnabled = True
- Me.cboFirma.Location = New System.Drawing.Point(575, 26)
+ Me.cboFirma.Location = New System.Drawing.Point(334, 124)
Me.cboFirma.Name = "cboFirma"
Me.cboFirma.Size = New System.Drawing.Size(104, 22)
Me.cboFirma.TabIndex = 20
@@ -471,7 +521,7 @@ Partial Class usrCntlERS
'
Me.Label1.AutoSize = True
Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Label1.Location = New System.Drawing.Point(572, 8)
+ Me.Label1.Location = New System.Drawing.Point(331, 106)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(37, 13)
Me.Label1.TabIndex = 6
@@ -633,20 +683,6 @@ Partial Class usrCntlERS
Me.Button11.TabIndex = 4
Me.Button11.UseVisualStyleBackColor = True
'
- 'cbxTestSys
- '
- Me.cbxTestSys.AutoSize = True
- Me.cbxTestSys.BackColor = System.Drawing.Color.White
- Me.cbxTestSys.Checked = True
- Me.cbxTestSys.CheckState = System.Windows.Forms.CheckState.Indeterminate
- Me.cbxTestSys.Location = New System.Drawing.Point(530, 64)
- Me.cbxTestSys.Name = "cbxTestSys"
- Me.cbxTestSys.Size = New System.Drawing.Size(79, 17)
- Me.cbxTestSys.TabIndex = 50
- Me.cbxTestSys.Text = "Testsystem"
- Me.cbxTestSys.ThreeState = True
- Me.cbxTestSys.UseVisualStyleBackColor = False
- '
'usrCntlERS
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -711,4 +747,6 @@ Partial Class usrCntlERS
Friend WithEvents txtUser As VERAG_PROG_ALLGEMEIN.KdSearchBox
Friend WithEvents lblErgebnis As Label
Friend WithEvents cbxTestSys As CheckBox
+ Friend WithEvents Label2 As Label
+ Friend WithEvents txtFehlersuche As VERAG_PROG_ALLGEMEIN.MyTextBox
End Class
diff --git a/UID/usrCntlERS.vb b/UID/usrCntlERS.vb
index f099d60..5da1b01 100644
--- a/UID/usrCntlERS.vb
+++ b/UID/usrCntlERS.vb
@@ -23,7 +23,7 @@ Public Class usrCntlERS
txtUser.initKdBox(Me.FindForm) ' initKdAbsender()
- cboFirma.fillWithSQL("SELECT [Firma_Bez] FROM [tblFirma] ", False, "FMZOLL", True)
+ cboFirma.fillWithSQL("SELECT distinct(isnull(ers_Firma,'')) FROM [tblERS] ", False, "ADMIN", True)
cboDatum.Items.Clear()
cboDatum.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Error-Datum", "EDat"))
@@ -121,7 +121,7 @@ Public Class usrCntlERS
Dim sqlstr As String = ""
Dim TopMax = If(IsNumeric(txtMaxSrch.Text), " TOP " & txtMaxSrch.Text, "")
- sqlstr &= "SELECT " & TopMax & " [ers_id],[ers_progId],[ers_progName],[ers_progVersion],[ers_datetime],[ers_Testsystem],[ers_Type],[ers_EMail],[ers_maId],[ers_userName],[ers_Firma],[ers_errCode],[ers_errStack],[ers_errMessage],[ers_errMethodName],[ers_infotext]
+ sqlstr &= "SELECT " & TopMax & " [ers_id],[ers_progId],[ers_progName],[ers_progVersion],[ers_datetime],[ers_errCode],[ers_errStack],[ers_errMessage],[ers_errMethodName],[ers_Testsystem],[ers_Type],[ers_EMail],[ers_maId],[ers_userName],[ers_Firma],[ers_infotext]
FROM [tblERS] WHERE 1=1 "
With DataGridView
@@ -175,13 +175,11 @@ Public Class usrCntlERS
'.Columns("RechnungAn").HeaderText = "Rechnung an"
'.Columns("RechnungAn").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
- ''.Columns("Absender").MinimumWidth = 150
- ''.Columns("Absender").HeaderText = "Absender"
- ''.Columns("Absender").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
+ .Columns("ers_errStack").MinimumWidth = 150
+ .Columns("ers_errStack").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
- '.Columns("Vermittler").MinimumWidth = 150
- '.Columns("Vermittler").HeaderText = "Auftraggeber"
- '.Columns("Vermittler").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
+ .Columns("ers_errMessage").MinimumWidth = 150
+ .Columns("ers_errMessage").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
''.Columns("Empfänger").MinimumWidth = 150
''.Columns("Empfänger").HeaderText = "Empfänger"
@@ -226,6 +224,10 @@ Public Class usrCntlERS
sqlstr &= " AND [ers_Testsystem] = @ersTestsystem "
End If
+ If txtFehlersuche.Text <> "" Then
+ sqlstr &= " AND ([ers_errStack] like '" & txtFehlersuche.Text.Replace("*", "%") & "' Or [ers_errMessage] like '" & txtFehlersuche.Text.Replace("*", "%") & "' OR [ers_errMethodName] like '" & txtFehlersuche.Text.Replace("*", "%") & "') "
+
+ End If
Return sqlstr
End Function
@@ -270,4 +272,27 @@ Public Class usrCntlERS
sender.RELOAD()
Me.Cursor = Cursors.Default
End Sub
+
+ Private Sub txtFehlersuche_KeyDown(sender As Object, e As KeyEventArgs) Handles txtFehlersuche.KeyDown
+ If e.KeyCode = Keys.Enter Then
+
+ Me.btnSuche_Click(sender, e)
+ e.Handled = True
+ End If
+
+ End Sub
+
+ Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
+ srcTAG = srcTAG.AddDays(-1)
+ initBtns("Tag")
+ End Sub
+
+ Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
+ srcTAG = srcTAG.AddDays(1)
+ initBtns("Tag")
+ End Sub
+
+ Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
+ initBtns("Tag")
+ End Sub
End Class
diff --git a/initATLASAufschubkonten/cAsfinag.vb b/initATLASAufschubkonten/cAsfinag.vb
index faf57b2..b050bce 100644
--- a/initATLASAufschubkonten/cAsfinag.vb
+++ b/initATLASAufschubkonten/cAsfinag.vb
@@ -1,13 +1,18 @@
Imports System.Data.SqlClient
+Imports System.Data.SqlTypes
+Imports System.Diagnostics.Eventing
Imports System.IO
Imports System.Reflection
Imports System.Security.Cryptography
Imports com.itextpdf.text.pdf
Imports DocumentFormat.OpenXml.VariantTypes
Imports RoutineManager.cAsfinag
+Imports VERAG_PROG_ALLGEMEIN
Public Class cAsfinag
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
Public Class CLFHeader
Property PKFileName As Object = Nothing
@@ -154,6 +159,10 @@ Public Class cAsfinag
Property status As Object = Nothing
Property contractDate As Object = Nothing
Property PKLine As Long
+ Property engineCharacteristics As Integer
+ Property CO2EmissionsClass As Integer
+ Property contractType As Integer
+
Public hasEntry = False
@@ -180,7 +189,9 @@ Public Class cAsfinag
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("emissionCategory", emissionCategory))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("status", status))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("contractDate", contractDate))
-
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("engineCharacteristics", engineCharacteristics))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CO2EmissionsClass", CO2EmissionsClass))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("contractType", contractType))
Return list
End Function
@@ -272,6 +283,148 @@ Public Class cAsfinag
+ End Class
+
+ Public Class CLFArchiv
+
+ Property PKFileName As Object = Nothing
+ Property RecordType As String
+ Property fileVersion As Integer
+ Property fileNumber As Integer
+ Property cardNumber As String
+ Property validTo As Integer
+ Property OBUID As Object = Nothing
+ Property vehicleLicensePlate As Object = Nothing
+ Property nationality As Object = Nothing
+ Property vehicleCategory As Object = Nothing
+ Property emissionCategory As Object = Nothing
+ Property status As Object = Nothing
+ Property contractDate As Object = Nothing
+ Property PKLine As Long
+ Property engineCharacteristics As Integer
+ Property CO2EmissionsClass As Integer
+ Property contractType As Integer
+
+
+ Public hasEntry = False
+
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+
+ Sub New(PKFileName, OBUID)
+ Me.PKFileName = PKFileName
+ Me.OBUID = OBUID
+ LOAD()
+ End Sub
+ Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PKFileName", PKFileName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PKLine", PKLine))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("RecordType", RecordType))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileVersion", fileVersion))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileNumber", fileNumber))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("cardNumber", cardNumber))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("validTo", validTo))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OBUID", OBUID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vehicleLicensePlate", vehicleLicensePlate))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("nationality", nationality))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("vehicleCategory", vehicleCategory))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("emissionCategory", emissionCategory))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("status", status))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("contractDate", contractDate))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("engineCharacteristics", engineCharacteristics))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CO2EmissionsClass", CO2EmissionsClass))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("contractType", contractType))
+
+ Return list
+ End Function
+
+ Public Function SAVE() As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM CLFArchiv WHERE PKFileName=@PKFileName AND OBUID = @OBUID) " &
+ " BEGIN " & getUpdateCmd() & " End " &
+ " Else " &
+ " BEGIN " & getInsertCmd() & " End " &
+ " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "ASFINAG", , list)
+ End Function
+
+ Public Sub LOAD()
+ Try
+ hasEntry = False
+ Using conn As SqlConnection = SQL.GetNewOpenConnectionAsfinag()
+ Using cmd As New SqlCommand("Select * FROM CLFArchiv WHERE PKFileName=@PKFileName AND OBUID = @OBUID ", conn)
+ cmd.Parameters.AddWithValue("@PKFileName", PKFileName)
+ cmd.Parameters.AddWithValue("@OBUID", OBUID)
+ Dim dr = cmd.ExecuteReader()
+ If dr.Read Then
+ For Each li In getParameterList()
+ Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
+
+ If dr.Item(li.Text) Is DBNull.Value Then
+ propInfo.SetValue(Me, Nothing)
+ Else
+ propInfo.SetValue(Me, dr.Item(li.Text))
+ End If
+
+ Next
+ hasEntry = True
+ End If
+ dr.Close()
+ End Using
+ End Using
+ Catch ex As Exception
+ MsgBox("Fehler In der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ End Sub
+
+
+
+ Public Function getUpdateCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim str As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ Return (" UPDATE [CLFArchiv] SET " & str & " WHERE PKFileName=@PKFileName AND OBUID = @OBUID ")
+
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+ Public Function getInsertCmd() As String
+ Try
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+ Dim str As String = ""
+ Dim values As String = ""
+ For Each i In list
+ If Not i.isPrimaryParam Then
+ str &= "[" & i.Text & "],"
+ values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
+ End If
+ Next
+ str = str.Substring(0, str.Length - 1) 'wg. ','
+ values = values.Substring(0, values.Length - 1) 'wg. ','
+ Return (" INSERT INTO CLFArchiv (" & str & ") VALUES(" & values & ") ")
+ Catch ex As Exception
+ MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
+ End Try
+ Return ""
+ End Function
+
+
+
+
+
End Class
Public Class CLFTrailer
@@ -393,6 +546,7 @@ Public Class cAsfinag
Public Class TTRHeader
Property PKFileName As Object = Nothing
+ Property PKHistory As Integer
Property recordType As Integer
Property fileVersion As Integer
Property fileNumber As Integer
@@ -408,14 +562,16 @@ Public Class cAsfinag
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
- Sub New(PKFileName, filenummer)
+ Sub New(PKFileName, filenummer, PKHistory)
Me.PKFileName = PKFileName
Me.fileNumber = filenummer
+ Me.PKHistory = PKHistory
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PKFileName", PKFileName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PKHistory", PKHistory))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("recordType", recordType))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileVersion", fileVersion))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileNumber", fileNumber))
@@ -433,22 +589,32 @@ Public Class cAsfinag
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
- Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM TTRHeader WHERE PKFileName=@PKFileName AND fileNumber = @fileNumber) " &
+ Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM TTRHeader WHERE PKFileName=@PKFileName AND fileNumber = @fileNumber AND PKHistory = @PKHistory) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
- " BEGIN " & getInsertCmd() & " End " &
- " commit tran "
+ " BEGIN " & getInsertCmd() & " End " & " commit tran "
Return SQL.doSQLVarList(sqlstr, "ASFINAG", , list)
End Function
+
+ Public Function UPDATE(OldKHistory As Integer) As Boolean
+ Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
+
+ Dim sqlstr = " BEGIN TRAN" & getUpdateCmd(OldKHistory) & " commit tran "
+
+ Return SQL.doSQLVarList(sqlstr, "ASFINAG", , list)
+ End Function
+
+
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionAsfinag()
- Using cmd As New SqlCommand("Select * FROM TTRHeader WHERE PKFileName=@PKFileName AND fileNumber = @fileNumber ", conn)
+ Using cmd As New SqlCommand("Select * FROM TTRHeader WHERE PKFileName=@PKFileName AND fileNumber = @fileNumber AND PKHistory = @PKHistory ", conn)
cmd.Parameters.AddWithValue("@PKFileName", PKFileName)
cmd.Parameters.AddWithValue("@fileNumber", fileNumber)
+ cmd.Parameters.AddWithValue("@PKHistory", PKHistory)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
@@ -473,7 +639,7 @@ Public Class cAsfinag
- Public Function getUpdateCmd() As String
+ Public Function getUpdateCmd(Optional OldKHistory As Integer = Nothing) As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
@@ -484,7 +650,12 @@ Public Class cAsfinag
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
- Return (" UPDATE [TTRHeader] SET " & str & " WHERE PKFileName=@PKFileName AND filenumber = @filenumber")
+ If OldKHistory >= 0 Then
+ Return " UPDATE [TTRHeader] SET " & str & " WHERE PKFileName=@PKFileName AND filenumber = @filenumber AND PKHistory = " & OldKHistory
+ Else
+ Return " UPDATE [TTRHeader] SET " & str & " WHERE PKFileName=@PKFileName AND filenumber = @filenumber"
+ End If
+
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
@@ -519,6 +690,7 @@ Public Class cAsfinag
Property PKFileName As Object = Nothing
Property recordType As Integer
+ Property PKHistory As Integer
Property fileVersion As Integer
Property siteId As String
Property fileNumber As Integer
@@ -538,6 +710,7 @@ Public Class cAsfinag
Property driverId As Integer
Property receiptNumber As String
Property OBUID As String
+ Property abrechnungsdatum As Object = Nothing
Public hasEntry = False
@@ -547,14 +720,16 @@ Public Class cAsfinag
End Sub
- Sub New(PKFileName, PKLine)
+ Sub New(PKFileName, PKLine, PKHistory)
Me.PKFileName = PKFileName
Me.PKLine = PKLine
+ Me.PKHistory = PKHistory
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PKFileName", PKFileName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PKHistory", PKHistory))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PKLine", PKLine))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileVersion", fileVersion))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("recordType", recordType))
@@ -575,6 +750,7 @@ Public Class cAsfinag
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VATamount", VATamount))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("receiptNumber", receiptNumber))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OBUID", OBUID))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("abrechnungsdatum", abrechnungsdatum))
Return list
End Function
@@ -582,11 +758,10 @@ Public Class cAsfinag
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
- Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM TTRBody WHERE PKFileName=@PKFileName AND PKLine = @PKLine) " &
+ Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM TTRBody WHERE PKFileName=@PKFileName AND PKLine = @PKLine AND PKHistory = @PKHistory) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
- " BEGIN " & getInsertCmd() & " End " &
- " commit tran "
+ " BEGIN " & getInsertCmd() & " End " & " commit tran "
Return SQL.doSQLVarList(sqlstr, "ASFINAG", , list)
End Function
@@ -595,9 +770,10 @@ Public Class cAsfinag
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionAsfinag()
- Using cmd As New SqlCommand("Select * FROM TTRBody WHERE PKFileName=@PKFileName AND PKLine = @PKLine ", conn)
+ Using cmd As New SqlCommand("Select * FROM TTRBody WHERE PKFileName=@PKFileName AND PKLine = @PKLine AND PKHistory = @PKHistory ", conn)
cmd.Parameters.AddWithValue("@PKFileName", PKFileName)
cmd.Parameters.AddWithValue("@PKLine", PKLine)
+ cmd.Parameters.AddWithValue("@PKHistory", PKHistory)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
@@ -633,7 +809,7 @@ Public Class cAsfinag
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
- Return (" UPDATE [TTRBody] SET " & str & " WHERE PKFileName=@PKFileName AND PKLine = @PKLine ")
+ Return (" UPDATE [TTRBody] SET " & str & " WHERE PKFileName=@PKFileName AND PKLine = @PKLine AND PKHistory = @PKHistory")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
@@ -671,6 +847,7 @@ Public Class cAsfinag
Public Class TTRTrailer
Property PKFileName As Object = Nothing
+ Property PKHistory As Integer
Property recordType As Integer
Property fileVersion As Integer
Property recordCount As Integer
@@ -681,13 +858,15 @@ Public Class cAsfinag
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
- Sub New(PKFileName)
+ Sub New(PKFileName, PKHistory)
Me.PKFileName = PKFileName
+ Me.PKHistory = PKHistory
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PKFileName", PKFileName))
+ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PKHistory", PKHistory))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("recordType", recordType))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("fileVersion", fileVersion))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("recordCount", recordCount))
@@ -700,7 +879,7 @@ Public Class cAsfinag
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
- Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM TTRTrailer WHERE PKFileName=@PKFileName) " &
+ Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM TTRTrailer WHERE PKFileName=@PKFileName AND PKHistory = @PKHistory) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
" BEGIN " & getInsertCmd() & " End " &
@@ -713,8 +892,9 @@ Public Class cAsfinag
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionAsfinag()
- Using cmd As New SqlCommand("Select * FROM TTRTrailer WHERE PKFileName=@PKFileName", conn)
+ Using cmd As New SqlCommand("Select * FROM TTRTrailer WHERE PKFileName=@PKFileName AND PKHistory = @PKHistory", conn)
cmd.Parameters.AddWithValue("@PKFileName", PKFileName)
+ cmd.Parameters.AddWithValue("@PKHistory", PKHistory)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
@@ -855,60 +1035,25 @@ Public Class cAsfinag
End Structure
-
- ' Private Type TWLHeader ' Format Muss von bis Kommentar
- ' SortField As String * 3 ' N3 Y 1 3 "000"
- ' RecordID As String * 2 ' N2 Y 4 5 "00"
- ' FileName As String * 3 ' C3 Y 6 8 "TWL"
- ' LiveTestIndicator As String * 1 ' C1 Y 9 9 "L" oder "T"
- ' FileCreationDate As String * 8 ' N8 Y 10 17 YYYYMMDD
- ' FileCreationTime As String * 4 ' N4 Y 18 21 HHMM (24hr)
- ' RunNumber As String * 3 ' N3 Y 22 24 Laufende Nummer pro File-Type
- ' SenderID As String * 2 ' C2 Y 25 26 "VG"
- ' ReceiverID As String * 2 ' C2 Y 27 28 "EP"
- ' Filler As String * 56 ' C56 Y 29 84 Leerzeichen
- 'End Type
-
- 'Private Type TWLBody ' Format Muss von bis Kommentar
- ' SortField As String * 3 ' N3 Y 1 3 "000"
- ' RecordID As String * 2 ' N2 Y 4 5 "40"
- ' ISOCountryCode As String * 3 ' N3 Y 6 8 "040" (Österreich)
- ' CardNumber As String * 22 ' N22 Y 9 30 Komplette Tankkartennummer
- ' ValidFrom As String * 8 ' N8 Y 31 38 YYYYMMDD
- ' ValidTo As String * 8 ' N8 Y 39 46 YYYYMMDD
- ' NewCardNumber As String * 22 ' N22 N 47 68 Tankkartennummer der Folge- oder Ersatzkarte
- ' NewValidFrom As String * 8 ' N8 N 69 76 YYYYMMDD der Folge- oder Ersatzkarte
- ' NewValidTo As String * 8 ' N8 N 77 84 YYYYMMDD der Folge- oder Ersatzkarte
- 'End Type
-
- 'Private Type TWLTrailer ' Format Muss von bis Kommentar
- ' SortField As String * 3 ' N3 Y 1 3 "999"
- ' RecordID As String * 2 ' N2 Y 4 5 "99"
- ' FileName As String * 3 ' C3 Y 6 8 "TWL"
- ' RunNumber As String * 3 ' N3 Y 9 11 Gleiche Nr. wie im Header
- ' RecordCount As String * 7 ' N7 Y 12 18 Anzahl der Sätze inkl. Header und Trailer
- ' Filler As String * 66 ' C66 Y 19 84 Leerzeichen
- 'End Type
-
-
-
- Dim ASFINAG_PFAD, FTP_PFAD_TEST, FTP_PFAD
+ Dim VERARBEITUNG_PFAD, ARCHIV_PFAD, BEREITSTELLUNG_PFAD, ERROR_PFAD, FTP_PFAD_TEST, FTP_PFAD
Dim sw As StreamWriter
Dim Dateiname = ""
- Public Function initPFad()
+ Public Function initExportPfade()
- ASFINAG_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("BEREITSTELLUNGS_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
+ ERROR_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("ERROR_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
+ BEREITSTELLUNG_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("BEREITSTELLUNG_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
+ ARCHIV_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("ARCHIV_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
+ VERARBEITUNG_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("VERARBEITUNG_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
FTP_PFAD_TEST = cAsfinag.Paramter.GET_PARAM_ByName("SERVER_Path_Out_Test", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
FTP_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("SERVER_Path_Out", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
- If Not IO.Directory.Exists(ASFINAG_PFAD) Then IO.Directory.CreateDirectory(ASFINAG_PFAD)
+ If Not IO.Directory.Exists(VERARBEITUNG_PFAD) Then IO.Directory.CreateDirectory(VERARBEITUNG_PFAD)
If Not IO.Directory.Exists(FTP_PFAD_TEST) Then IO.Directory.CreateDirectory(FTP_PFAD_TEST)
-
-
End Function
+
Public Function exportiereBlackList() As Boolean
Dim fileName = "TBL"
@@ -948,7 +1093,7 @@ Public Class cAsfinag
preFilename = "TVGEP"
End If
- Dim strFile As String = ASFINAG_PFAD & "\" & preFilename & fileName & "." & currentFileNr
+ Dim strFile As String = BEREITSTELLUNG_PFAD & "\" & preFilename & fileName & "." & currentFileNr
Try
@@ -1071,7 +1216,7 @@ Public Class cAsfinag
preFilename = "TVGEP"
End If
- Dim strFile As String = ASFINAG_PFAD & "\" & preFilename & fileName & "." & currentFileNr
+ Dim strFile As String = BEREITSTELLUNG_PFAD & "\" & preFilename & fileName & "." & currentFileNr
Try
@@ -1197,13 +1342,13 @@ Public Class cAsfinag
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
- SERVER_Path = Me.FTP_PFAD_TEST
+ SERVER_Path = FTP_PFAD_TEST
Else
- SERVER_Path = Me.FTP_PFAD
+ SERVER_Path = FTP_PFAD
End If
- For Each f In IO.Directory.GetFiles(ASFINAG_PFAD)
+ For Each f In IO.Directory.GetFiles(BEREITSTELLUNG_PFAD)
Dim fi As New IO.FileInfo(f)
If Not fi.Name.StartsWith(".") AndAlso fi.Name.Contains(filename) Then
@@ -1211,9 +1356,9 @@ Public Class cAsfinag
'While IO.File.Exists(zielPfad)
' zielPfad = SERVER_Path & "\" & Now.ToString("yyyyMMdd_HHmmss_") & fi.Name
'End While
- IO.File.Copy(f, zielPfad & "\" & fi.Name)
- If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
- If IO.File.Exists(zielPfad) Then IO.File.Delete(f)
+ IO.File.Copy(f, zielPfad & "\" & fi.Name, True)
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM And IO.File.Exists(zielPfad & "\" & fi.Name) Then
+ IO.File.Move(BEREITSTELLUNG_PFAD & "\" & fi.Name, ARCHIV_PFAD & "\" & fi.Name)
End If
cnt += 1
End If
@@ -1232,6 +1377,507 @@ Public Class cAsfinag
End Function
+
+
End Class
+ Public VERARBEITUNG_PFAD
+ Public ARCHIV_PFAD
+ Public BEREITSTELLUNG_PFAD
+ Public ERROR_PFAD
+ Public FTP_PFAD_TEST
+ Public FTP_PFAD
+ Dim Dateiname = ""
+
+ Public Function initImportPfade()
+
+ ERROR_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("ERROR_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
+ BEREITSTELLUNG_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("BEREITSTELLUNG_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
+ ARCHIV_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("ARCHIV_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
+ VERARBEITUNG_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("VERARBEITUNG_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
+ FTP_PFAD_TEST = cAsfinag.Paramter.GET_PARAM_ByName("SERVER_Path_In_Test", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
+ FTP_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("SERVER_Path_In", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
+
+ If Not IO.Directory.Exists(VERARBEITUNG_PFAD) Then IO.Directory.CreateDirectory(VERARBEITUNG_PFAD)
+ If Not IO.Directory.Exists(FTP_PFAD_TEST) Then IO.Directory.CreateDirectory(FTP_PFAD_TEST)
+
+ End Function
+
+ Function getNachrichtenDatenFromFTP(ByRef filenameList As List(Of String), ByVal fileType As String) As Integer
+ Dim cnt = 0
+ Try
+ Dim SERVERPath = ""
+
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+
+ SERVERPath = Me.FTP_PFAD_TEST
+ Else
+
+ SERVERPath = Me.FTP_PFAD
+ End If
+
+
+ For Each f In IO.Directory.GetFiles(SERVERPath)
+ Dim fi As New IO.FileInfo(f)
+ If fi.Name.ToLower.Contains(fileType) Then
+ If Not fi.Name.StartsWith(".") Then
+ Dim zielPfad = VERARBEITUNG_PFAD & "\" & fi.Name
+ While IO.File.Exists(zielPfad)
+ zielPfad = VERARBEITUNG_PFAD & "\" & "DOPPELT" & "\" & fi.Name.Replace(fi.Extension, "") & fi.Extension & Now.ToString("_yyyyMMdd_HHmmss")
+ End While
+ IO.File.Copy(f, zielPfad)
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ If IO.File.Exists(zielPfad) Then IO.File.Delete(f)
+ End If
+
+ Dim filename = frmStartOptions.cut_file((New FileInfo(zielPfad)).Name)
+ If filename.ToLower.Contains(fileType) Then
+ filenameList.Add(filename)
+ cnt += 1
+ End If
+
+ End If
+ End If
+
+ Next
+
+
+ Return cnt
+
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+
+ Return cnt
+ End Function
+
+ Public Function readAndSaveCLF(objFileRead As StreamReader, fi As FileInfo) As Boolean
+
+
+
+ Dim booHeaderVorhanden = False
+ Dim booPrüfziffernfehler = False
+ Dim booInTransaktion = False
+ Dim booTrailerVorhanden = False
+
+ Dim lngRecordCount As Long
+
+ 'Datei auf Fehler prüfen!
+ Do While (objFileRead.Peek() > -1)
+ Dim strZeile = objFileRead.ReadLine()
+ lngRecordCount = lngRecordCount + 1
+
+ Select Case Mid(strZeile, 1, 2)
+ Case "10"
+ booHeaderVorhanden = True
+ Case "20"
+ ' Meldung bei nicht vorhandenen Haeder.
+ If Not booHeaderVorhanden Then
+ MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
+ objFileRead.Close()
+ Return False
+ End If
+
+ 'CardNumber prüfen.
+ If (Right(Trim(Mid(strZeile, 9, 22)), 1)) <> cAsfinag.fktMod10Prüfziffer(Left(Trim(Mid(strZeile, 9, 22)), Len(Trim(Mid(strZeile, 9, 22))) - 1)) Then
+ booPrüfziffernfehler = True
+ End If
+
+ ' Meldung bei Prüfziffernfehler.
+ If booPrüfziffernfehler Then
+ MsgBox("Prüfziffernfehler in Zeile " & CStr(lngRecordCount) & vbCrLf & "Datei kann nicht verarbeitet werden. " & vbNewLine & " " & fi.Name.ToString)
+ booInTransaktion = False
+ Return False
+
+ End If
+ Case "90"
+ ' Meldung bei nicht vorhandenen Haeder.
+ If Not booHeaderVorhanden Then
+ MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
+ objFileRead.Close()
+ Return False
+ End If
+
+ booTrailerVorhanden = True
+ Dim clfTrailer As New cAsfinag.CLFTrailer(fi.Name)
+
+ ' Prüfsumme Anzahl der Sätze im File ohne Header und Trailer.
+ If Trim(Mid(strZeile, 9, 7)) <> (lngRecordCount) Then
+ MsgBox("Fehler: " & vbNewLine & "Prüfsumme in der Datei stimmt nicht mit der Zeilenanzahl der Datei überein! " & vbNewLine & "Record Count: " & Trim(Mid(strZeile, 9, 7)) & vbCrLf & "Prüfsumme: " & (lngRecordCount) & vbCrLf)
+ objFileRead.Close()
+ Return False
+ End If
+
+
+ ' Meldung bei Prüfsummenfehler.
+ If booPrüfziffernfehler Then
+ MsgBox("Datei kann wegen Prüfsummenfehler nicht verarbeitet werden.")
+ objFileRead.Close()
+
+ End If
+ Case Else
+
+ End Select
+
+ Loop
+
+
+ Dim lngPKLine As Long = 0
+ lngRecordCount = 0
+
+ 'gleicher PKFileName wird nun aus CLFHeader gelöscht. CASCADE löscht dann zugehörige CLFBody und CLFTrailer (muss noch eingebaut werden).
+ SQL.doSQL("delete FROM CLFHeader WHERE (PKHistory = 0) AND (PKFileName = N'" & fi.Name.ToString & "')", "ASFINAG")
+
+ SQL.doSQL("UPDATE CLF SET PKFileName = '" & fi.Name.ToString & "'", "ASFINAG")
+ objFileRead.DiscardBufferedData()
+ objFileRead.BaseStream.Seek(0, System.IO.SeekOrigin.Begin)
+
+ Do While (objFileRead.Peek() > -1)
+ Dim strZeile = objFileRead.ReadLine()
+ lngRecordCount = lngRecordCount + 1
+
+ Select Case Mid(strZeile, 1, 2)
+ Case "10"
+ booHeaderVorhanden = True
+ Dim ext = CInt(fi.Extension.Remove(0, 1))
+ Dim clfHeader As New cAsfinag.CLFHeader(fi.Name.ToString, ext)
+ With clfHeader
+ .PKFileName = fi.Name
+ .recordType = Mid(strZeile, 1, 2)
+ .fileVersion = Mid(strZeile, 3, 2)
+ .indcator = Trim(Mid(strZeile, 9, 1))
+ .senderID = Trim(Mid(strZeile, 10, 6))
+ .receiverID = Trim(Mid(strZeile, 16, 6))
+ .fileCreationDate = DateSerial(Mid(strZeile, 22, 4), Mid(strZeile, 26, 2), Mid(strZeile, 28, 2))
+ .fileCreationTime = DateSerial(Mid(strZeile, 22, 4), Mid(strZeile, 26, 2), Mid(strZeile, 28, 2)) & " " & TimeSerial(Mid(strZeile, 30, 2), Mid(strZeile, 32, 2), 0)
+ '.fileCreationTime = DateSerial(Mid(strZeile, 22, 4), Mid(strZeile, 26, 2), Mid(strZeile, 28, 2)) & " " & TimeSerial(Mid(strZeile, 30, 2), Mid(strZeile, 32, 2), Mid(strZeile, 34, 2))
+ .ISOCountryCode = Trim(Mid(strZeile, 62, 3))
+ .SAVE()
+ End With
+
+ Case "20"
+
+ Dim clfBody As New cAsfinag.CLFBody(fi.Name, lngPKLine)
+ With clfBody
+ .PKFileName = fi.Name
+ lngPKLine = lngPKLine + 1
+ .RecordType = Trim(Mid(strZeile, 1, 2))
+ .fileVersion = Trim(Mid(strZeile, 3, 2))
+ .fileNumber = Trim(Mid(strZeile, 5, 3))
+ .cardNumber = Trim(Mid(strZeile, 9, 22))
+ .validTo = Trim(Mid(strZeile, 31, 4))
+ .OBUID = Trim(Mid(strZeile, 35, 18))
+ .vehicleLicensePlate = Trim(Mid(strZeile, 53, 10))
+ .nationality = Trim(Mid(strZeile, 63, 3))
+ .vehicleCategory = Trim(Mid(strZeile, 66, 1))
+ .emissionCategory = Trim(Mid(strZeile, 67, 2))
+ .status = Trim(Mid(strZeile, 69, 2))
+ .contractDate = DateSerial(Mid(strZeile, 71, 4), Mid(strZeile, 75, 2), Mid(strZeile, 77, 2))
+ .engineCharacteristics = Trim(Mid(strZeile, 79, 3))
+ .CO2EmissionsClass = Trim(Mid(strZeile, 82, 1))
+ .contractType = Trim(Mid(strZeile, 83, 1))
+ .SAVE()
+ End With
+
+
+
+ Dim strSQLASFINAG = "SELECT * FROM CLFArchiv WHERE OBUID = N'" & Trim(Mid(strZeile, 35, 18)) & "'"
+
+ Dim dtAsfinag As DataTable = SQL.loadDgvBySql_Param(strSQLASFINAG, "ASFINAG")
+
+ Dim clfArchiv As New cAsfinag.CLFArchiv(fi.Name, Trim(Mid(strZeile, 35, 18)))
+
+ If dtAsfinag.Rows.Count = 0 Then
+ With clfArchiv
+ .PKFileName = fi.Name
+ .RecordType = Trim(Mid(strZeile, 1, 2))
+ .fileVersion = Trim(Mid(strZeile, 3, 2))
+ .fileNumber = Trim(Mid(strZeile, 5, 3))
+ .cardNumber = Trim(Mid(strZeile, 9, 22))
+ .validTo = Trim(Mid(strZeile, 31, 4))
+ .OBUID = Trim(Mid(strZeile, 35, 18))
+ .vehicleLicensePlate = Trim(Mid(strZeile, 53, 10))
+ .nationality = Trim(Mid(strZeile, 63, 3))
+ .vehicleCategory = Trim(Mid(strZeile, 66, 1))
+ .emissionCategory = Trim(Mid(strZeile, 67, 2))
+ .status = Trim(Mid(strZeile, 69, 2))
+ .contractDate = DateSerial(Mid(strZeile, 71, 4), Mid(strZeile, 75, 2), Mid(strZeile, 77, 2))
+ .engineCharacteristics = Trim(Mid(strZeile, 79, 3))
+ .CO2EmissionsClass = Trim(Mid(strZeile, 82, 1))
+ .contractType = Trim(Mid(strZeile, 83, 1))
+ .SAVE()
+ End With
+ End If
+
+ For Each r As DataRow In dtAsfinag.Rows
+
+ clfArchiv = New cAsfinag.CLFArchiv(r.Item("PKFileName"), r.Item("OBUID"))
+
+ With clfArchiv
+ .PKFileName = fi.Name
+ .RecordType = Trim(Mid(strZeile, 1, 2))
+ .fileVersion = Trim(Mid(strZeile, 3, 2))
+ .fileNumber = Trim(Mid(strZeile, 5, 3))
+ .cardNumber = Trim(Mid(strZeile, 9, 22))
+ .validTo = Trim(Mid(strZeile, 31, 4))
+ .OBUID = Trim(Mid(strZeile, 35, 18))
+ .vehicleLicensePlate = Trim(Mid(strZeile, 53, 10))
+ .nationality = Trim(Mid(strZeile, 63, 3))
+ .vehicleCategory = Trim(Mid(strZeile, 66, 1))
+ .emissionCategory = Trim(Mid(strZeile, 67, 2))
+ .status = Trim(Mid(strZeile, 69, 2))
+ .contractDate = DateSerial(Mid(strZeile, 71, 4), Mid(strZeile, 75, 2), Mid(strZeile, 77, 2))
+ .engineCharacteristics = Trim(Mid(strZeile, 79, 3))
+ .CO2EmissionsClass = Trim(Mid(strZeile, 82, 1))
+ .contractType = Trim(Mid(strZeile, 83, 1))
+ .SAVE()
+ End With
+ Next
+
+
+ Case "90"
+
+ Dim clfTrailer As New cAsfinag.CLFTrailer(fi.Name)
+
+ With clfTrailer
+ .PKFileName = fi.Name
+ .recordType = Trim(Mid(strZeile, 1, 2))
+ .fileVersion = Trim(Mid(strZeile, 3, 2))
+ .fileNumber = Trim(Mid(strZeile, 5, 4))
+ .recordCount = Trim(Mid(strZeile, 9, 7))
+ .SAVE()
+ End With
+
+
+
+ Case Else
+ ' Andere RecordNumber überlesen.
+ End Select
+
+ Loop
+
+ objFileRead.Close()
+
+ Return True
+
+ End Function
+
+ Public Function readAndSaveTTR(objFileRead As StreamReader, fi As FileInfo) As Boolean
+
+ Dim booHeaderVorhanden = False
+ Dim booPrüfziffernfehler = False
+ Dim booInTransaktion = False
+ Dim booTrailerVorhanden = False
+ Dim dblCheckSumQuantity As Double
+ Dim curCheckSumAmount As Double
+
+ Dim lngPKLine As Long = 0
+ Dim lngRecordCount As Long
+
+ 'Datei auf Fehler prüfen
+ Do While (objFileRead.Peek() > -1)
+ Dim strZeile = objFileRead.ReadLine()
+ lngRecordCount = lngRecordCount + 1
+
+ Select Case Mid(strZeile, 1, 2)
+ Case "10"
+ booHeaderVorhanden = True
+ Case "20"
+ ' Meldung bei nicht vorhandenen Haeder.
+ If Not booHeaderVorhanden Then
+ MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
+ objFileRead.Close()
+ Return False
+ End If
+
+
+ ' Bei den Checksummen wird unabhängig vom TransactionType immer der positive Betrag aufsummiert.
+ dblCheckSumQuantity = dblCheckSumQuantity + Trim(Mid(strZeile, 94, 6)) / 100
+ curCheckSumAmount = curCheckSumAmount + Trim(Mid(strZeile, 100, 10)) / 100
+ If (Right(Trim(Mid(strZeile, 43, 22)), 1)) <> (fktMod10Prüfziffer(Left(Trim(Mid(strZeile, 43, 22)), Len(Trim(Mid(strZeile, 43, 22))) - 1))) Then
+ booPrüfziffernfehler = True
+ End If
+
+ ' Meldung bei Prüfziffernfehler.
+ If booPrüfziffernfehler Then
+ MsgBox("Prüfziffernfehler in Zeile " & CStr(lngRecordCount) & vbCrLf & "Datei kann nicht verarbeitet werden. " & vbNewLine & " " & fi.Name.ToString)
+ booInTransaktion = False
+ objFileRead.Close()
+ Return False
+ End If
+
+
+ Case "90"
+ ' Meldung bei nicht vorhandenen Haeder.
+ If Not booHeaderVorhanden Then
+ MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
+ objFileRead.Close()
+ Return False
+ End If
+
+ booTrailerVorhanden = True
+
+ Dim strPrompt
+ Dim recordCount = Trim(Mid(strZeile, 5, 9))
+ If recordCount <> lngRecordCount Then
+ strPrompt = strPrompt & "Record Count: " & recordCount & vbCrLf &
+ "Prüfsumme: " & lngRecordCount & vbCrLf
+ End If
+ ' Prüfsumme Menge.
+ Dim checksumProductQuantity = Trim(Mid(strZeile, 14, 15)) / 100
+ If checksumProductQuantity <> dblCheckSumQuantity Then
+ strPrompt = strPrompt & "Check Sum Quantity: " & checksumProductQuantity & vbCrLf &
+ "Prüfsumme: " & dblCheckSumQuantity & vbCrLf
+ End If
+ ' Prüfsumme Betrag.
+ Dim checksumAmounntInclVAT = Trim(Mid(strZeile, 29, 15)) / 100
+ If checksumAmounntInclVAT <> Math.Round(curCheckSumAmount, 2) Then
+ strPrompt = strPrompt & "Check Sum Amount: " & checksumAmounntInclVAT & vbCrLf &
+ "Prüfsumme: " & curCheckSumAmount & vbCrLf
+ End If
+
+ If strPrompt <> "" Then
+ MsgBox(strPrompt)
+ objFileRead.Close()
+ Return False
+ End If
+
+ ' Prüfsumme Anzahl der Sätze im File ohne Header und Trailer.
+ If recordCount <> (lngRecordCount) Then
+ MsgBox("Record Count: " & recordCount & vbCrLf & "Prüfsumme: " & (lngRecordCount) & vbCrLf)
+ objFileRead.Close()
+ Return False
+ End If
+
+
+ ' Meldung bei Prüfsummenfehler.
+ If booPrüfziffernfehler Then
+ MsgBox("Datei kann wegen Prüfsummenfehler nicht verarbeitet werden.")
+ objFileRead.Close()
+ Return False
+ End If
+ Case Else
+ ' Andere RecordNumber überlesen.
+ End Select
+
+ Loop
+
+
+ objFileRead.DiscardBufferedData()
+ objFileRead.BaseStream.Seek(0, System.IO.SeekOrigin.Begin)
+
+ lngPKLine = 0
+ lngRecordCount = 0
+
+ ' -----------------------------------------------------------------------------------
+ ' Wenn der FileName schon in der Tabelle TTRHeader existiert, die Einträge in der History verschieben.
+ ' Die Tabellen TTRBody und TTRTrailer werden über CASCADE aktualisiert.
+
+ Dim SQLTTRHeader = "SELECT PKHistory, PKFileName, fileNumber FROM TTRHeader WHERE (PKHistory = 0) And (PKFileName = N'" & fi.Name.ToString & "') And (fileNumber = " & fi.Extension.Remove(0, 1) & ") "
+ Dim dtTTRHeader As DataTable = SQL.loadDgvBySql_Param(SQLTTRHeader, "ASFINAG")
+
+ If dtTTRHeader.Rows.Count > 0 Then
+ Dim hisorty = SQL.getValueTxtBySql("SELECT PKHistory FROM TTRHeader WHERE (PKFileName = N'" & fi.Name.ToString & "') ORDER BY PKHistory DESC", "ASFINAG")
+ hisorty = hisorty + 1
+ For Each row As DataRow In dtTTRHeader.Rows
+ Dim ttrHeaderArchiv As New cAsfinag.TTRHeader(row.Item("PKFileName"), row.Item("fileNumber"), "0")
+ ttrHeaderArchiv.PKHistory = hisorty
+ ttrHeaderArchiv.UPDATE("0")
+ Next
+
+ End If
+
+ ' -----------------------------------------------------------------------------------
+
+ Do While (objFileRead.Peek() > -1)
+ Dim strZeile = objFileRead.ReadLine()
+ lngRecordCount = lngRecordCount + 1
+
+ Select Case Mid(strZeile, 1, 2)
+ Case "10"
+ Dim ext = CInt(fi.Extension.Remove(0, 1))
+ Dim ttrHeader As New cAsfinag.TTRHeader(fi.Name.ToString, ext, "0")
+ With ttrHeader
+ .PKFileName = fi.Name
+ .recordType = Trim(Mid(strZeile, 1, 2))
+ .fileVersion = Trim(Mid(strZeile, 3, 2))
+ .senderID = Trim(Mid(strZeile, 5, 6))
+ .receiverID = Trim(Mid(strZeile, 11, 6))
+ .fileCreationDate = DateSerial(Mid(strZeile, 17, 4), Mid(strZeile, 21, 2), Mid(strZeile, 23, 2))
+ .fileCreationTime = DateSerial(Mid(strZeile, 17, 4), Mid(strZeile, 21, 2), Mid(strZeile, 23, 2)) & " " & TimeSerial(Mid(strZeile, 25, 2), Mid(strZeile, 27, 2), 0)
+ .fileNumber = Trim(Mid(strZeile, 29, 4))
+ .currencyCode = Trim(Mid(strZeile, 33, 3))
+ .description = IIf(Trim(Mid(strZeile, 36, 25)) = "", Nothing, Trim(Mid(strZeile, 36, 25)))
+ .ISOCountryCode = Trim(Mid(strZeile, 61, 3))
+ .SAVE()
+ End With
+
+ Case "20"
+
+ Dim ttrBody As New cAsfinag.TTRBody(fi.Name, lngPKLine, "0")
+ With ttrBody
+ .PKFileName = fi.Name
+ .recordType = Trim(Mid(strZeile, 1, 2))
+ lngPKLine = lngPKLine + 1
+ .PKLine = lngPKLine
+ .fileVersion = Trim(Mid(strZeile, 3, 2))
+ .siteId = IIf(Trim(Mid(strZeile, 7, 15)) = "", Nothing, Trim(Mid(strZeile, 7, 15)))
+ .fileNumber = Trim(Mid(strZeile, 22, 4))
+ .fileCreationDate = DateSerial(Mid(strZeile, 26, 4), Mid(strZeile, 30, 2), Mid(strZeile, 32, 2))
+ .deliveryNoteNumber = IIf(Trim(Mid(strZeile, 35, 8)) = "", Nothing, Trim(Mid(strZeile, 35, 8)))
+ .cardNumber = Trim(Mid(strZeile, 43, 22))
+ .deliveryDate = DateSerial(Mid(strZeile, 65, 4), Mid(strZeile, 69, 2), Mid(strZeile, 71, 2))
+ .deliveryTime = IIf(Trim(Mid(strZeile, 73, 4)) = "", Nothing, DateSerial(Mid(strZeile, 65, 4), Mid(strZeile, 69, 2), Mid(strZeile, 71, 2)) & " " & TimeSerial(Mid(strZeile, 73, 2), Mid(strZeile, 75, 2), 0))
+ .transactionType = Trim(Mid(strZeile, 77, 2))
+ .productCode = Trim(Mid(strZeile, 79, 4))
+ .km = IIf(Trim(Mid(strZeile, 83, 7)) = "", Nothing, Trim(Mid(strZeile, 83, 7)))
+ .driverId = IIf(Trim(Mid(strZeile, 90, 4)) = "", Nothing, Trim(Mid(strZeile, 90, 4)))
+ .productQuantity = Trim(Mid(strZeile, 94, 6)) / 100
+ .amountInclVAT = Trim(Mid(strZeile, 100, 10)) / 100
+ .VATrate = Trim(Mid(strZeile, 155, 4)) / 100
+ .VATamount = Trim(Mid(strZeile, 159, 10)) / 100
+ .OBUID = Trim(Mid(strZeile, 130, 25))
+ .receiptNumber = Trim(Mid(strZeile, 110, 20))
+
+
+
+ If ttrBody.transactionType = 3 Then
+ ' Vorzeichenänderung
+ ttrBody.km = 0 - ttrBody.km
+ ttrBody.productQuantity = 0 - ttrBody.productQuantity
+ ttrBody.amountInclVAT = 0 - ttrBody.amountInclVAT
+ ttrBody.VATamount = 0 - ttrBody.VATamount
+ End If
+ .SAVE()
+
+ End With
+
+
+ Case "90"
+
+ Dim ttrTrailer As New cAsfinag.TTRTrailer(fi.Name, "0")
+ With ttrTrailer
+ .PKFileName = fi.Name
+ .recordType = Trim(Mid(strZeile, 1, 2))
+ .fileVersion = Trim(Mid(strZeile, 3, 2))
+ '.fileNumber = Trim(Mid(strZeile, 5, 4))
+ .recordCount = Trim(Mid(strZeile, 5, 9))
+ .checksumProductQuantity = Trim(Mid(strZeile, 14, 15)) / 100
+ .checksumAmounntInclVAT = Trim(Mid(strZeile, 29, 15)) / 100
+ .SAVE()
+
+ End With
+
+ Case Else
+ ' Andere RecordNumber überlesen.
+ End Select
+
+ Loop
+
+ objFileRead.Close()
+
+ Return True
+
+ End Function
+
End Class
diff --git a/initATLASAufschubkonten/frmAsfinag_NachrichtenVerarbeitung.Designer.vb b/initATLASAufschubkonten/frmAsfinag_NachrichtenVerarbeitung.Designer.vb
index 7154f4d..17148e2 100644
--- a/initATLASAufschubkonten/frmAsfinag_NachrichtenVerarbeitung.Designer.vb
+++ b/initATLASAufschubkonten/frmAsfinag_NachrichtenVerarbeitung.Designer.vb
@@ -28,6 +28,8 @@ Partial Class frmAsfinag_NachrichtenVerabeitung
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()
Me.Label9 = New System.Windows.Forms.Label()
Me.Button2 = New System.Windows.Forms.Button()
Me.Label7 = New System.Windows.Forms.Label()
@@ -38,8 +40,7 @@ Partial Class frmAsfinag_NachrichtenVerabeitung
Me.btnOK = New System.Windows.Forms.Button()
Me.Label2 = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
- Me.clmnArt = New System.Windows.Forms.DataGridViewTextBoxColumn()
- Me.Column1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
+ Me.lblTestsystem = New System.Windows.Forms.Label()
Me.pnl.SuspendLayout()
CType(Me.dgvEinarbeitung, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
@@ -64,6 +65,7 @@ Partial Class frmAsfinag_NachrichtenVerabeitung
'
Me.pnl.BackColor = System.Drawing.Color.White
Me.pnl.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+ Me.pnl.Controls.Add(Me.lblTestsystem)
Me.pnl.Controls.Add(Me.lblDatenCnt)
Me.pnl.Controls.Add(Me.dgvEinarbeitung)
Me.pnl.Controls.Add(Me.Label9)
@@ -111,6 +113,18 @@ Partial Class frmAsfinag_NachrichtenVerabeitung
Me.dgvEinarbeitung.Size = New System.Drawing.Size(291, 145)
Me.dgvEinarbeitung.TabIndex = 18
'
+ 'clmnArt
+ '
+ Me.clmnArt.HeaderText = "Dateiname"
+ Me.clmnArt.Name = "clmnArt"
+ Me.clmnArt.Width = 150
+ '
+ 'Column1
+ '
+ Me.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
+ Me.Column1.HeaderText = "Status"
+ Me.Column1.Name = "Column1"
+ '
'Label9
'
Me.Label9.AutoSize = True
@@ -212,17 +226,17 @@ Partial Class frmAsfinag_NachrichtenVerabeitung
Me.Label1.TabIndex = 8
Me.Label1.Text = "Einarbeitung:"
'
- 'clmnArt
+ 'lblTestsystem
'
- Me.clmnArt.HeaderText = "Dateiname"
- Me.clmnArt.Name = "clmnArt"
- Me.clmnArt.Width = 150
- '
- 'Column1
- '
- Me.Column1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
- Me.Column1.HeaderText = "Status"
- Me.Column1.Name = "Column1"
+ Me.lblTestsystem.AutoSize = True
+ Me.lblTestsystem.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.lblTestsystem.ForeColor = System.Drawing.Color.Red
+ Me.lblTestsystem.Location = New System.Drawing.Point(274, 8)
+ Me.lblTestsystem.Name = "lblTestsystem"
+ Me.lblTestsystem.Size = New System.Drawing.Size(89, 13)
+ Me.lblTestsystem.TabIndex = 20
+ Me.lblTestsystem.Text = "TESTSYSTEM"
+ Me.lblTestsystem.Visible = False
'
'frmAsfinag_NachrichtenVerabeitung
'
@@ -257,4 +271,5 @@ Partial Class frmAsfinag_NachrichtenVerabeitung
Friend WithEvents lblDatenCnt As Label
Friend WithEvents clmnArt As DataGridViewTextBoxColumn
Friend WithEvents Column1 As DataGridViewTextBoxColumn
+ Friend WithEvents lblTestsystem As Label
End Class
diff --git a/initATLASAufschubkonten/frmAsfinag_NachrichtenVerarbeitung.vb b/initATLASAufschubkonten/frmAsfinag_NachrichtenVerarbeitung.vb
index 47897b9..4bab09b 100644
--- a/initATLASAufschubkonten/frmAsfinag_NachrichtenVerarbeitung.vb
+++ b/initATLASAufschubkonten/frmAsfinag_NachrichtenVerarbeitung.vb
@@ -15,15 +15,9 @@ Public Class frmAsfinag_NachrichtenVerabeitung
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim allowClose = False
' Dim DY_PFAD = "C:\Users\DEVELOPER1\Desktop\test\TEST\"
-
- Dim ASFINAG_PFAD = "" '"C:\Users\DEVELOPER1\Desktop\test\TEST\Nachrichtendaten_Einarbeitung\"
- Dim VERARBEITUNGS_PFAD = "" '"C:\Users\DEVELOPER1\Desktop\test\TEST\Nachrichtendaten_Einarbeitung\"
- Dim ZIEL_PFAD = "" '"C:\Users\DEVELOPER1\Desktop\test\TEST\Nachrichtendaten_Ablage\"
- Dim ERROR_PFAD = "" '"C:\Users\DEVELOPER1\Desktop\test\TEST\Nachrichtendaten_ERROR\"
Dim PARTNERSYSTEM = "ASFINAG"
- Dim SERVER_Path = ""
- Dim SERVER_Path_TEST = ""
Dim FileType As String
+ Dim asfinag As New cAsfinag()
Dim Dateiname = ""
@@ -45,39 +39,27 @@ Public Class frmAsfinag_NachrichtenVerabeitung
End Sub
- Sub initPfade()
- Me.SERVER_Path = cAsfinag.Paramter.GET_PARAM_ByName("SERVER_Path_In", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
- Me.SERVER_Path_TEST = cAsfinag.Paramter.GET_PARAM_ByName("SERVER_Path_In_Test", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
- Me.ASFINAG_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("BEREITSTELLUNGS_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
- Me.VERARBEITUNGS_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("VERARBEITUNGS_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
- Me.ZIEL_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("ZIEL_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
- Me.ERROR_PFAD = cAsfinag.Paramter.GET_PARAM_ByName("ERROR_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
-
- If Not IO.Directory.Exists(VERARBEITUNGS_PFAD) Then IO.Directory.CreateDirectory(VERARBEITUNGS_PFAD)
- If Not IO.Directory.Exists(ZIEL_PFAD) Then IO.Directory.CreateDirectory(ZIEL_PFAD)
- If Not IO.Directory.Exists(ERROR_PFAD) Then IO.Directory.CreateDirectory(ERROR_PFAD)
-
-
-
- 'Me.BOX_VERSION = NCTSTR_Worker.cDY_Paramter.GET_PARAM_ByName("BOX_VERSION", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
-
- End Sub
-
-
Private Sub frmDYNachrichtenVerarbeitung_Load(sender As Object, e As EventArgs) Handles Me.Load
- initPfade()
+ lblTestsystem.Visible = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
+ asfinag.initImportPfade()
If FileType <> "" Then
Label2.Text &= " " & FileType.ToUpper
- For Each d In System.IO.Directory.GetFiles(VERARBEITUNGS_PFAD)
+ For Each d In System.IO.Directory.GetFiles(asfinag.VERARBEITUNG_PFAD)
Dim filename = frmStartOptions.cut_file(d)
If filename.ToLower.Contains(FileType) Then
+ Dim targetsystem As String = "nicht definiert"
+ If filename.Substring(0, 1) = "T" Then
+ targetsystem = "Test"
+ ElseIf filename.Substring(0, 1) = "L" Then
+ targetsystem = "Produktiv"
+ End If
ListBox3.Items.Add(filename)
End If
- Me.Refresh()
+ Me.Refresh()
Next
End If
@@ -86,8 +68,18 @@ Public Class frmAsfinag_NachrichtenVerabeitung
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.Enabled = False
Try
+ Dim stringLIst As New List(Of String)
Label9.Visible = True
- Dim cnt = getNachrichtenDatenFromFTP()
+ Dim cnt = asfinag.getNachrichtenDatenFromFTP(stringLIst, FileType)
+ For Each s In stringLIst
+ Dim targetsystem As String = "nicht definiert"
+ If s.Substring(0, 1) = "T" Then
+ targetsystem = "Test"
+ ElseIf s.Substring(0, 1) = "L" Then
+ targetsystem = "Produktiv"
+ End If
+ ListBox3.Items.Add(s)
+ Next
Label9.Text = cnt & " Datensätze empfangen."
Catch ex As Exception
@@ -117,56 +109,6 @@ Public Class frmAsfinag_NachrichtenVerabeitung
End Sub
- Function getNachrichtenDatenFromFTP() As Integer
- Dim cnt = 0
- Try
- Dim SERVERPath = ""
-
- If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
-
- SERVERPath = Me.SERVER_Path '"\\ftps.verag.ag\FTP\MAVI\IN\"
- Else
-
- SERVERPath = Me.SERVER_Path_TEST '"\\ftps.verag.ag\FTP\MAVI\IN\"
- End If
-
-
- For Each f In IO.Directory.GetFiles(SERVER_Path)
- Dim fi As New IO.FileInfo(f)
- If fi.Name.ToLower.Contains(FileType) Then
- If Not fi.Name.StartsWith(".") Then
- Dim zielPfad = VERARBEITUNGS_PFAD & "\" & fi.Name
- While IO.File.Exists(zielPfad)
- zielPfad = VERARBEITUNGS_PFAD & "\" & Now.ToString("yyyyMMdd_HHmmss_") & fi.Name
- End While
- IO.File.Copy(f, zielPfad)
- If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
- If IO.File.Exists(zielPfad) Then IO.File.Delete(f)
- End If
-
- Dim filename = frmStartOptions.cut_file((New FileInfo(zielPfad)).Name)
- If filename.ToLower.Contains(FileType) Then
- ListBox3.Items.Add(filename)
- cnt += 1
- End If
-
- End If
- End If
-
- Next
-
-
- Return cnt
-
- Catch ex As Exception
- VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
- End Try
-
- Return cnt
- End Function
-
-
-
Sub DatenEinlesen()
VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW
@@ -178,7 +120,7 @@ Public Class frmAsfinag_NachrichtenVerabeitung
End If
- For Each d In System.IO.Directory.GetFiles(VERARBEITUNGS_PFAD)
+ For Each d In System.IO.Directory.GetFiles(asfinag.VERARBEITUNG_PFAD)
Try
Dim correctFile As Boolean = False
@@ -214,7 +156,7 @@ Public Class frmAsfinag_NachrichtenVerabeitung
ElseIf FileType = "clf" Then
- If readAndSaveCLF(objFileRead, fi) Then
+ If asfinag.readAndSaveCLF(objFileRead, fi) Then
addDGVEinarbeitung(fi.Name, "OK")
found = True
Else
@@ -224,7 +166,7 @@ Public Class frmAsfinag_NachrichtenVerabeitung
ElseIf FileType = "ttr" Then
- If readAndSaveTTR(objFileRead, fi) Then
+ If asfinag.readAndSaveTTR(objFileRead, fi) Then
addDGVEinarbeitung(fi.Name, "OK")
found = True
Else
@@ -236,12 +178,14 @@ Public Class frmAsfinag_NachrichtenVerabeitung
End If
If found Then
- If Not IO.Directory.Exists(ZIEL_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\") Then IO.Directory.CreateDirectory(ZIEL_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\")
- frmStartOptions.moveFile(d, ZIEL_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\", VERARBEITUNGS_PFAD)
+ If Not IO.Directory.Exists(asfinag.ARCHIV_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\") Then IO.Directory.CreateDirectory(asfinag.ARCHIV_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\")
+ frmStartOptions.moveFile(d, asfinag.ARCHIV_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\", asfinag.VERARBEITUNG_PFAD)
cntDatenEingelesen += 1
Else
If Not found Then
- frmStartOptions.moveFile(d, ERROR_PFAD, VERARBEITUNGS_PFAD) ' nciht gefunden, oder durch ERROR nicht eingearbt,.
+ If Not IO.Directory.Exists(asfinag.ERROR_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\") Then IO.Directory.CreateDirectory(asfinag.ERROR_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\")
+ frmStartOptions.moveFile(d, asfinag.ERROR_PFAD & "\" & Now.Year & "\" & Now.ToString("MMdd") & "\", asfinag.VERARBEITUNG_PFAD)
+ ' nciht gefunden, oder durch ERROR nicht eingearbt,.
dsNichtErkannt += 1
End If
End If
@@ -276,357 +220,6 @@ Public Class frmAsfinag_NachrichtenVerabeitung
End Sub
- Public Function readAndSaveCLF(objFileRead As StreamReader, fi As FileInfo) As Boolean
-
- Dim booHeaderVorhanden = False
- Dim booPrüfziffernfehler = False
- Dim booInTransaktion = False
- Dim booTrailerVorhanden = False
-
- Dim lngPKLine As Long = 0
- Dim lngRecordCount As Long
-
- Do While (objFileRead.Peek() > -1)
- Dim strZeile = objFileRead.ReadLine()
- lngRecordCount = lngRecordCount + 1
-
- Select Case Mid(strZeile, 1, 2)
- Case "10"
- booHeaderVorhanden = True
- Dim ext = CInt(fi.Extension.Remove(0, 1))
- Dim clfHeader As New cAsfinag.CLFHeader(fi.Name.ToString, ext)
- With clfHeader
- .PKFileName = fi.Name
- .recordType = Mid(strZeile, 1, 2)
- .fileVersion = Mid(strZeile, 3, 2)
- .indcator = Trim(Mid(strZeile, 9, 1))
- .senderID = Trim(Mid(strZeile, 10, 6))
- .receiverID = Trim(Mid(strZeile, 16, 6))
- .fileCreationDate = DateSerial(Mid(strZeile, 22, 4), Mid(strZeile, 26, 2), Mid(strZeile, 28, 2))
- .fileCreationTime = Now()
- '.fileCreationTime = DateSerial(Mid(strZeile, 22, 4), Mid(strZeile, 26, 2), Mid(strZeile, 28, 2)) & " " & TimeSerial(Mid(strZeile, 30, 2), Mid(strZeile, 32, 2), Mid(strZeile, 34, 2))
- .ISOCountryCode = Trim(Mid(strZeile, 62, 3))
- .SAVE()
- End With
-
- Case "20"
- ' Meldung bei nicht vorhandenen Haeder.
- If Not booHeaderVorhanden Then
- MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
- objFileRead.Close()
- Return False
- End If
-
- Dim clfBody As New cAsfinag.CLFBody(fi.Name, lngPKLine)
- With clfBody
- .PKFileName = fi.Name
- lngPKLine = lngPKLine + 1
- .RecordType = Trim(Mid(strZeile, 1, 2))
- .fileVersion = Trim(Mid(strZeile, 3, 2))
- .fileNumber = Trim(Mid(strZeile, 5, 3))
- .cardNumber = Trim(Mid(strZeile, 9, 22))
- .validTo = Trim(Mid(strZeile, 31, 4))
- .OBUID = Trim(Mid(strZeile, 35, 18))
- .vehicleLicensePlate = Trim(Mid(strZeile, 53, 10))
- .nationality = Trim(Mid(strZeile, 63, 3))
- .vehicleCategory = Trim(Mid(strZeile, 66, 1))
- .emissionCategory = Trim(Mid(strZeile, 67, 2))
- .status = Trim(Mid(strZeile, 69, 2))
- .contractDate = DateSerial(Mid(strZeile, 71, 4), Mid(strZeile, 75, 2), Mid(strZeile, 77, 2))
- .SAVE()
- End With
- 'CardNumber prüfen.
- If (Right(clfBody.cardNumber, 1)) <> cAsfinag.fktMod10Prüfziffer(Left(clfBody.cardNumber, Len(clfBody.cardNumber) - 1)) Then
- booPrüfziffernfehler = True
- End If
-
-
- 'strSQL = "SELECT * FROM CLFArchiv WHERE (OBUID = N'" & Trim(Mid(strZeile, 37, 18)) & "')"
- 'rstCLFArchiv.Open strSQL, cnnASFINAG, adOpenStatic, adLockOptimistic, adCmdText
-
-
- 'With rstCLFArchiv
- ' If .EOF Then
- ' .AddNew
- ' !OBUID = Trim(Mid(strZeile, 37, 18))
- ' End If
- ' !FileName = strPKFileName
- ' !RecordType = Trim(Mid(strZeile, 1, 2))
- ' !RunNumber = Trim(Mid(strZeile, 3, 8))
- ' !CardNumber = Trim(Mid(strZeile, 11, 22))
- ' !ValidTo = Trim(Mid(strZeile, 33, 4))
- ' !KfzKennzeichen = Trim(Mid(strZeile, 55, 10))
- ' !Nationalität = Trim(Mid(strZeile, 65, 3))
- ' !Kategorie = Trim(Mid(strZeile, 68, 1))
- ' !Schadstoffklasse = Trim(Mid(strZeile, 69, 2))
- ' !Status = Trim(Mid(strZeile, 71, 2))
- ' !DatumVertragsabschluss = DateSerial(Mid(strZeile, 73, 4), Mid(strZeile, 77, 2), Mid(strZeile, 79, 2))
- ' .Update
- ' .Close
- 'End With
-
- ' Meldung bei Prüfziffernfehler.
- If booPrüfziffernfehler Then
- MsgBox("Prüfziffernfehler in Zeile " & CStr(lngRecordCount) & vbCrLf & "Datei kann nicht verarbeitet werden. " & vbNewLine & " " & fi.Name.ToString)
- booInTransaktion = False
- Return False
-
- End If
- Case "90"
- ' Meldung bei nicht vorhandenen Haeder.
- If Not booHeaderVorhanden Then
- MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
- objFileRead.Close()
- Return False
- End If
-
- booTrailerVorhanden = True
- Dim clfTrailer As New cAsfinag.CLFTrailer(fi.Name)
-
- With clfTrailer
- .PKFileName = fi.Name
- .recordType = Trim(Mid(strZeile, 1, 2))
- .fileVersion = Trim(Mid(strZeile, 3, 2))
- .fileNumber = Trim(Mid(strZeile, 5, 4))
- .recordCount = Trim(Mid(strZeile, 9, 7))
- .SAVE()
- End With
- ' Prüfsumme Anzahl der Sätze im File ohne Header und Trailer.
- If clfTrailer.recordCount <> (lngRecordCount) Then
- MsgBox("Record Count: " & clfTrailer.recordCount & vbCrLf & "Prüfsumme: " & (lngRecordCount) & vbCrLf)
- objFileRead.Close()
- Return False
- End If
-
-
- ' Meldung bei Prüfsummenfehler.
- If booPrüfziffernfehler Then
- MsgBox("Datei kann wegen Prüfsummenfehler nicht verarbeitet werden.")
- objFileRead.Close()
- ' MsgBox strPrompt, , strPKFileName
- ' ' Zurücksetzen der Transaktion.
- 'cnnASFINAG.RollbackTrans
- ' booInTransaktion = False
- End If
- Case Else
- ' Andere RecordNumber überlesen.
- End Select
-
- Loop
-
- objFileRead.Close()
-
- Return True
-
- End Function
-
-
-
-
- Public Function readAndSaveTTR(objFileRead As StreamReader, fi As FileInfo) As Boolean
-
- Dim booHeaderVorhanden = False
- Dim booPrüfziffernfehler = False
- Dim booInTransaktion = False
- Dim booTrailerVorhanden = False
- Dim dblCheckSumQuantity As Double
- Dim curCheckSumAmount As Double
-
- Dim lngPKLine As Long = 0
- Dim lngRecordCount As Long
-
- Do While (objFileRead.Peek() > -1)
- Dim strZeile = objFileRead.ReadLine()
- lngRecordCount = lngRecordCount + 1
-
- Select Case Mid(strZeile, 1, 2)
- Case "10"
- booHeaderVorhanden = True
- Dim ext = CInt(fi.Extension.Remove(0, 1))
- Dim ttrHeader As New cAsfinag.TTRHeader(fi.Name.ToString, ext)
- With ttrHeader
- .PKFileName = fi.Name
- .recordType = Trim(Mid(strZeile, 1, 2))
- .fileVersion = Trim(Mid(strZeile, 3, 2))
- .senderID = Trim(Mid(strZeile, 5, 6))
- .receiverID = Trim(Mid(strZeile, 11, 6))
- .fileCreationDate = DateSerial(Mid(strZeile, 17, 4), Mid(strZeile, 21, 2), Mid(strZeile, 23, 2))
- .fileCreationTime = DateSerial(Mid(strZeile, 17, 4), Mid(strZeile, 21, 2), Mid(strZeile, 23, 2)) & " " & TimeSerial(Mid(strZeile, 25, 2), Mid(strZeile, 27, 2), 0)
- .fileNumber = Trim(Mid(strZeile, 29, 4))
- .currencyCode = Trim(Mid(strZeile, 33, 3))
- .description = IIf(Trim(Mid(strZeile, 36, 25)) = "", Nothing, Trim(Mid(strZeile, 36, 25)))
- .ISOCountryCode = Trim(Mid(strZeile, 61, 3))
- .SAVE()
- End With
-
- Case "20"
- ' Meldung bei nicht vorhandenen Haeder.
- If Not booHeaderVorhanden Then
- MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
- objFileRead.Close()
- Return False
- End If
-
-
- Dim ttrBody As New cAsfinag.TTRBody(fi.Name, lngPKLine)
-
- With ttrBody
- .PKFileName = fi.Name
- .recordType = Trim(Mid(strZeile, 1, 2))
- lngPKLine = lngPKLine + 1
- .PKLine = lngPKLine
- .fileVersion = Trim(Mid(strZeile, 3, 2))
- .siteId = IIf(Trim(Mid(strZeile, 7, 15)) = "", Nothing, Trim(Mid(strZeile, 7, 15)))
- .fileNumber = Trim(Mid(strZeile, 22, 4))
- .fileCreationDate = DateSerial(Mid(strZeile, 26, 4), Mid(strZeile, 30, 2), Mid(strZeile, 32, 2))
- .deliveryNoteNumber = IIf(Trim(Mid(strZeile, 35, 8)) = "", Nothing, Trim(Mid(strZeile, 35, 8)))
- .cardNumber = Trim(Mid(strZeile, 43, 22))
- .deliveryDate = DateSerial(Mid(strZeile, 65, 4), Mid(strZeile, 69, 2), Mid(strZeile, 71, 2))
- .deliveryTime = IIf(Trim(Mid(strZeile, 73, 4)) = "", Nothing, DateSerial(Mid(strZeile, 65, 4), Mid(strZeile, 69, 2), Mid(strZeile, 71, 2)) & " " & TimeSerial(Mid(strZeile, 73, 2), Mid(strZeile, 75, 2), 0))
- .transactionType = Trim(Mid(strZeile, 77, 2))
- .productCode = Trim(Mid(strZeile, 79, 4))
- .km = IIf(Trim(Mid(strZeile, 83, 7)) = "", Nothing, Trim(Mid(strZeile, 83, 7)))
- .driverId = IIf(Trim(Mid(strZeile, 90, 4)) = "", Nothing, Trim(Mid(strZeile, 90, 4)))
- .productQuantity = Trim(Mid(strZeile, 94, 6)) / 100
- .amountInclVAT = Trim(Mid(strZeile, 100, 10)) / 100
- .VATrate = Trim(Mid(strZeile, 155, 4)) / 100
- .VATamount = Trim(Mid(strZeile, 159, 10)) / 100
- .OBUID = Trim(Mid(strZeile, 130, 25))
- .receiptNumber = Trim(Mid(strZeile, 110, 20))
-
- ' Bei den Checksummen wird unabhängig vom TransactionType immer der positive Betrag aufsummiert.
- dblCheckSumQuantity = dblCheckSumQuantity + ttrBody.productQuantity
- curCheckSumAmount = curCheckSumAmount + ttrBody.amountInclVAT
- ' Bei TransactionType 03 .......Credit-Transaktion (negativ)
-
- If ttrBody.transactionType = 3 Then
- ' Vorzeichenänderung
- ttrBody.km = 0 - ttrBody.km
- ttrBody.productQuantity = 0 - ttrBody.productQuantity
- ttrBody.amountInclVAT = 0 - ttrBody.amountInclVAT
- ttrBody.VATamount = 0 - ttrBody.VATamount
- End If
-
- ' CardNumber prüfen.
- If (Right(ttrBody.cardNumber, 1)) <> (fktMod10Prüfziffer(Left(ttrBody.cardNumber, Len(ttrBody.cardNumber) - 1))) Then
- booPrüfziffernfehler = True
- End If
- .SAVE()
-
- End With
-
- 'strSQL = "SELECT * FROM CLFArchiv WHERE (OBUID = N'" & Trim(Mid(strZeile, 37, 18)) & "')"
- 'rstCLFArchiv.Open strSQL, cnnASFINAG, adOpenStatic, adLockOptimistic, adCmdText
-
-
- 'With rstCLFArchiv
- ' If .EOF Then
- ' .AddNew
- ' !OBUID = Trim(Mid(strZeile, 37, 18))
- ' End If
- ' !FileName = strPKFileName
- ' !RecordType = Trim(Mid(strZeile, 1, 2))
- ' !RunNumber = Trim(Mid(strZeile, 3, 8))
- ' !CardNumber = Trim(Mid(strZeile, 11, 22))
- ' !ValidTo = Trim(Mid(strZeile, 33, 4))
- ' !KfzKennzeichen = Trim(Mid(strZeile, 55, 10))
- ' !Nationalität = Trim(Mid(strZeile, 65, 3))
- ' !Kategorie = Trim(Mid(strZeile, 68, 1))
- ' !Schadstoffklasse = Trim(Mid(strZeile, 69, 2))
- ' !Status = Trim(Mid(strZeile, 71, 2))
- ' !DatumVertragsabschluss = DateSerial(Mid(strZeile, 73, 4), Mid(strZeile, 77, 2), Mid(strZeile, 79, 2))
- ' .Update
- ' .Close
- 'End With
-
- ' Meldung bei Prüfziffernfehler.
- If booPrüfziffernfehler Then
- MsgBox("Prüfziffernfehler in Zeile " & CStr(lngRecordCount) & vbCrLf & "Datei kann nicht verarbeitet werden. " & vbNewLine & " " & fi.Name.ToString)
- booInTransaktion = False
- objFileRead.Close()
- Return False
- End If
-
-
- Case "90"
- ' Meldung bei nicht vorhandenen Haeder.
- If Not booHeaderVorhanden Then
- MsgBox("Datei kann wegen fehlenden Header nicht verarbeitet werden.")
- objFileRead.Close()
- Return False
- End If
-
- booTrailerVorhanden = True
-
-
- Dim ttrTrailer As New cAsfinag.TTRTrailer(fi.Name)
- With ttrTrailer
- .PKFileName = fi.Name
- .recordType = Trim(Mid(strZeile, 1, 2))
- .fileVersion = Trim(Mid(strZeile, 3, 2))
- '.fileNumber = Trim(Mid(strZeile, 5, 4))
- .recordCount = Trim(Mid(strZeile, 5, 9))
- .checksumProductQuantity = Trim(Mid(strZeile, 14, 15)) / 100
- .checksumAmounntInclVAT = Trim(Mid(strZeile, 29, 15)) / 100
- .SAVE()
-
- Dim strPrompt
- If ttrTrailer.recordCount <> lngRecordCount Then
- strPrompt = strPrompt & "Record Count: " & ttrTrailer.recordCount & vbCrLf &
- "Prüfsumme: " & lngRecordCount & vbCrLf
- End If
- ' Prüfsumme Menge.
- If ttrTrailer.checksumProductQuantity <> dblCheckSumQuantity Then
- strPrompt = strPrompt & "Check Sum Quantity: " & ttrTrailer.checksumProductQuantity & vbCrLf &
- "Prüfsumme: " & dblCheckSumQuantity & vbCrLf
- End If
- ' Prüfsumme Betrag.
- If ttrTrailer.checksumAmounntInclVAT <> Math.Round(curCheckSumAmount, 2) Then
- strPrompt = strPrompt & "Check Sum Amount: " & ttrTrailer.checksumAmounntInclVAT & vbCrLf &
- "Prüfsumme: " & curCheckSumAmount & vbCrLf
- End If
-
- If strPrompt <> "" Then
- MsgBox(strPrompt)
- objFileRead.Close()
- Return False
- End If
-
- End With
- ' Prüfsumme Anzahl der Sätze im File ohne Header und Trailer.
-
- If ttrTrailer.recordCount <> (lngRecordCount) Then
- MsgBox("Record Count: " & ttrTrailer.recordCount & vbCrLf & "Prüfsumme: " & (lngRecordCount) & vbCrLf)
- objFileRead.Close()
- Return False
- End If
-
-
- ' Meldung bei Prüfsummenfehler.
- If booPrüfziffernfehler Then
- MsgBox("Datei kann wegen Prüfsummenfehler nicht verarbeitet werden.")
- objFileRead.Close()
- Return False
- ' MsgBox strPrompt, , strPKFileName
- ' ' Zurücksetzen der Transaktion.
- 'cnnASFINAG.RollbackTrans
- ' booInTransaktion = False
- End If
- Case Else
- ' Andere RecordNumber überlesen.
- End Select
-
- Loop
-
- objFileRead.Close()
-
- Return True
-
- End Function
-
-
-
-
Private Sub dgvEinarbeitung_SelectionChanged(sender As Object, e As EventArgs) Handles dgvEinarbeitung.SelectionChanged
dgvEinarbeitung.ClearSelection()
diff --git a/initATLASAufschubkonten/frmStartOptions.Designer.vb b/initATLASAufschubkonten/frmStartOptions.Designer.vb
index 505c861..8cdbf96 100644
--- a/initATLASAufschubkonten/frmStartOptions.Designer.vb
+++ b/initATLASAufschubkonten/frmStartOptions.Designer.vb
@@ -69,6 +69,7 @@ Partial Class frmStartOptions
Me.LinkLabel99 = New System.Windows.Forms.LinkLabel()
Me.PictureBox99 = New System.Windows.Forms.PictureBox()
Me.Button99 = New System.Windows.Forms.Button()
+ Me.Button21 = New System.Windows.Forms.Button()
Me.Button20 = New System.Windows.Forms.Button()
Me.Button19 = New System.Windows.Forms.Button()
Me.Label99 = New System.Windows.Forms.Label()
@@ -159,6 +160,7 @@ Partial Class frmStartOptions
Me.LinkLabel30 = New System.Windows.Forms.LinkLabel()
Me.Label11 = New System.Windows.Forms.Label()
Me.TabPage4 = New System.Windows.Forms.TabPage()
+ Me.LinkLabel46 = New System.Windows.Forms.LinkLabel()
Me.PictureBox19 = New System.Windows.Forms.PictureBox()
Me.PictureBox18 = New System.Windows.Forms.PictureBox()
Me.LinkLabel41 = New System.Windows.Forms.LinkLabel()
@@ -191,6 +193,8 @@ Partial Class frmStartOptions
Me.lklAufschubkontenATLASEZOLL = New System.Windows.Forms.LinkLabel()
Me.lblRoutineManager = New System.Windows.Forms.Label()
Me.txtGJ_UNISPED = New VERAG_PROG_ALLGEMEIN.MyTextBox()
+ Me.LinkLabel47 = New System.Windows.Forms.LinkLabel()
+ Me.PictureBox21 = New System.Windows.Forms.PictureBox()
Me.pnl.SuspendLayout()
CType(Me.piceZollAnh, System.ComponentModel.ISupportInitialize).BeginInit()
Me.tbcntr.SuspendLayout()
@@ -221,6 +225,7 @@ Partial Class frmStartOptions
CType(Me.PictureBox11, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox10, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.PictureBox9, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.PictureBox21, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'pnl
@@ -881,6 +886,18 @@ Partial Class frmStartOptions
Me.Button99.Text = "AAS Sendung 24h"
Me.Button99.UseVisualStyleBackColor = True
'
+ 'Button21
+ '
+ Me.Button21.FlatStyle = System.Windows.Forms.FlatStyle.Flat
+ Me.Button21.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
+ Me.Button21.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
+ Me.Button21.Location = New System.Drawing.Point(581, 346)
+ Me.Button21.Name = "Button21"
+ Me.Button21.Size = New System.Drawing.Size(211, 24)
+ Me.Button21.TabIndex = 81
+ Me.Button21.Text = "AAS Sendung 24h"
+ Me.Button21.UseVisualStyleBackColor = True
+ '
'Button20
'
Me.Button20.Enabled = False
@@ -932,7 +949,7 @@ Partial Class frmStartOptions
'
Me.PictureBox20.BackgroundImage = CType(resources.GetObject("PictureBox20.BackgroundImage"), System.Drawing.Image)
Me.PictureBox20.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
- Me.PictureBox20.Location = New System.Drawing.Point(661, 90)
+ Me.PictureBox20.Location = New System.Drawing.Point(586, 90)
Me.PictureBox20.Name = "PictureBox20"
Me.PictureBox20.Size = New System.Drawing.Size(18, 18)
Me.PictureBox20.TabIndex = 62
@@ -943,7 +960,7 @@ Partial Class frmStartOptions
'
Me.LinkLabel45.AutoSize = True
Me.LinkLabel45.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
- Me.LinkLabel45.Location = New System.Drawing.Point(543, 95)
+ Me.LinkLabel45.Location = New System.Drawing.Point(475, 95)
Me.LinkLabel45.Name = "LinkLabel45"
Me.LinkLabel45.Size = New System.Drawing.Size(112, 13)
Me.LinkLabel45.TabIndex = 61
@@ -1959,6 +1976,9 @@ Partial Class frmStartOptions
'
'TabPage4
'
+ Me.TabPage4.Controls.Add(Me.PictureBox21)
+ Me.TabPage4.Controls.Add(Me.LinkLabel47)
+ Me.TabPage4.Controls.Add(Me.LinkLabel46)
Me.TabPage4.Controls.Add(Me.PictureBox19)
Me.TabPage4.Controls.Add(Me.PictureBox18)
Me.TabPage4.Controls.Add(Me.LinkLabel41)
@@ -1974,11 +1994,22 @@ Partial Class frmStartOptions
Me.TabPage4.Text = "Asfinag"
Me.TabPage4.UseVisualStyleBackColor = True
'
+ 'LinkLabel46
+ '
+ Me.LinkLabel46.AutoSize = True
+ Me.LinkLabel46.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
+ Me.LinkLabel46.Location = New System.Drawing.Point(17, 91)
+ Me.LinkLabel46.Name = "LinkLabel46"
+ Me.LinkLabel46.Size = New System.Drawing.Size(120, 13)
+ Me.LinkLabel46.TabIndex = 38
+ Me.LinkLabel46.TabStop = True
+ Me.LinkLabel46.Text = "Contractdaten anzeigen"
+ '
'PictureBox19
'
Me.PictureBox19.BackgroundImage = CType(resources.GetObject("PictureBox19.BackgroundImage"), System.Drawing.Image)
Me.PictureBox19.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
- Me.PictureBox19.Location = New System.Drawing.Point(110, 165)
+ Me.PictureBox19.Location = New System.Drawing.Point(321, 68)
Me.PictureBox19.Name = "PictureBox19"
Me.PictureBox19.Size = New System.Drawing.Size(18, 18)
Me.PictureBox19.TabIndex = 37
@@ -1989,7 +2020,7 @@ Partial Class frmStartOptions
'
Me.PictureBox18.BackgroundImage = CType(resources.GetObject("PictureBox18.BackgroundImage"), System.Drawing.Image)
Me.PictureBox18.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
- Me.PictureBox18.Location = New System.Drawing.Point(110, 135)
+ Me.PictureBox18.Location = New System.Drawing.Point(321, 38)
Me.PictureBox18.Name = "PictureBox18"
Me.PictureBox18.Size = New System.Drawing.Size(18, 18)
Me.PictureBox18.TabIndex = 36
@@ -2000,7 +2031,7 @@ Partial Class frmStartOptions
'
Me.LinkLabel41.AutoSize = True
Me.LinkLabel41.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
- Me.LinkLabel41.Location = New System.Drawing.Point(17, 165)
+ Me.LinkLabel41.Location = New System.Drawing.Point(228, 68)
Me.LinkLabel41.Name = "LinkLabel41"
Me.LinkLabel41.Size = New System.Drawing.Size(82, 13)
Me.LinkLabel41.TabIndex = 35
@@ -2011,7 +2042,7 @@ Partial Class frmStartOptions
'
Me.LinkLabel42.AutoSize = True
Me.LinkLabel42.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
- Me.LinkLabel42.Location = New System.Drawing.Point(17, 140)
+ Me.LinkLabel42.Location = New System.Drawing.Point(228, 43)
Me.LinkLabel42.Name = "LinkLabel42"
Me.LinkLabel42.Size = New System.Drawing.Size(87, 13)
Me.LinkLabel42.TabIndex = 34
@@ -2021,7 +2052,7 @@ Partial Class frmStartOptions
'Label23
'
Me.Label23.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
- Me.Label23.Location = New System.Drawing.Point(17, 113)
+ Me.Label23.Location = New System.Drawing.Point(228, 16)
Me.Label23.Name = "Label23"
Me.Label23.Size = New System.Drawing.Size(296, 16)
Me.Label23.TabIndex = 33
@@ -2353,6 +2384,28 @@ Partial Class frmStartOptions
Me.txtGJ_UNISPED.Size = New System.Drawing.Size(53, 20)
Me.txtGJ_UNISPED.TabIndex = 68
'
+ 'LinkLabel47
+ '
+ Me.LinkLabel47.AutoSize = True
+ Me.LinkLabel47.LinkColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
+ Me.LinkLabel47.Location = New System.Drawing.Point(17, 115)
+ Me.LinkLabel47.Name = "LinkLabel47"
+ Me.LinkLabel47.Size = New System.Drawing.Size(72, 13)
+ Me.LinkLabel47.TabIndex = 39
+ Me.LinkLabel47.TabStop = True
+ Me.LinkLabel47.Text = "Import to SDL"
+ '
+ 'PictureBox21
+ '
+ Me.PictureBox21.BackgroundImage = CType(resources.GetObject("PictureBox21.BackgroundImage"), System.Drawing.Image)
+ Me.PictureBox21.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
+ Me.PictureBox21.Location = New System.Drawing.Point(99, 115)
+ Me.PictureBox21.Name = "PictureBox21"
+ Me.PictureBox21.Size = New System.Drawing.Size(18, 18)
+ Me.PictureBox21.TabIndex = 40
+ Me.PictureBox21.TabStop = False
+ Me.PictureBox21.Visible = False
+ '
'frmStartOptions
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -2401,6 +2454,7 @@ Partial Class frmStartOptions
CType(Me.PictureBox11, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox10, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.PictureBox9, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.PictureBox21, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
@@ -2571,4 +2625,8 @@ Partial Class frmStartOptions
Friend WithEvents Button99 As Button
Friend WithEvents LinkLabel99 As LinkLabel
Friend WithEvents PictureBox99 As PictureBox
+ Friend WithEvents Button21 As Button
+ Friend WithEvents LinkLabel46 As LinkLabel
+ Friend WithEvents LinkLabel47 As LinkLabel
+ Friend WithEvents PictureBox21 As PictureBox
End Class
diff --git a/initATLASAufschubkonten/frmStartOptions.resx b/initATLASAufschubkonten/frmStartOptions.resx
index 1056b0a..1c52ea3 100644
--- a/initATLASAufschubkonten/frmStartOptions.resx
+++ b/initATLASAufschubkonten/frmStartOptions.resx
@@ -527,6 +527,30 @@
WOhxEFgYvLZus64EJhQtqBTtALDEsQ/aHnRf3FTcASpEWwBsbQkBLQW1uqiTUJABFxcXg7y8PJupqSm/
nZ2diL29vSgyBooJm5ub88nKyrIC1VLezgQ2zRk9PT0F6urqVCdNmmQwbdo0Y2Q8efJk3ebmZkVXV1de
CQkJEjM9AwMAOTMC2xlgxuQAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABEhJREFUSEtj
+ oDZg4WThlrSSdLPOtc53zHaMl5SUZGBnZ4fKUhMwMjCK6IloGhUYZdn32a/wX+Z/0Ge2z0L9eH0rQVVB
+ QSZ2JqhCKgEBNQFFoyKjnPAj4cdjz8d+jb8U/z/iaMR9z2WeE3XSdByEdYWFGVkYGaHKKQdWTVYF4YfC
+ j8VdjPsHwiALYezo89HTzWrNHNj42VigyikHDv0OC2POxrwDWYSOgZY+DNoRNMV5urMdVDn5gFOUU0rJ
+ VynOd7XvBSwW/QHiHx4LPPYDQ6DUpMzEEKqNPMDKw8on5ywXBHT9w+hT0d/QLPsefTr6Rei+0Iuqwaox
+ XGJcElBt5AMFT4UIYDBtjzkT8zPuQtxfNAuv+G/wn6CdoG3Bp8AnysjMSH78MXMyc0tZSbnZtNksDtsf
+ 9hJoODiRgC26EPcD6IDbPit9Oo3yjWz4Ffm5gXmTGaqVPMAuwC6il6ZXgx5vsedif4YfDH/kNsdtIlDe
+ VlRflDo5HpeFkUcj33jM89gqbigux8bNBlVNIeCR4pFX9ldO8F7qfTLyWORHmGUx52N+2/XYrRTRFTFh
+ 42PjAMYZVAcOwMzBzA2MXHUFDwVLGXsZDS4JLjZ0TeyC7CLghDLVeWvU8ahPyL7z3+u/STNdMwSqFD8A
+ pSBeOV41rTitYr/1ftNd57jmKnorygKDjpUBqQgU1BA0NKsym4JsESifAfFzyxmWXhKeEqxQpfgBpxin
+ lEqgSnLI3pBn0Wei30aeiNzlucQzWdxEXBKY1+DJGYeF12IuxBTJe8srsfAQkfKBQckFzJgp7vPdD4KS
+ d9ylOJAhL4AF73aHCQ5RwKpGjomViZWVl1VAP0u/wXeN70WYZbEXYi/7b/Lv0c3Q1eGR5eGBGokfKLgp
+ hALjZBuyq0EYaOkHoIErzWvN/cWMxSSAcSoLTO57oXK/gPhp4PbAqUAfO7MLsbMBHUVcTQD2FVLGRbIQ
+ LA5MfdNdZrnYolkIcswSs0ozL2Aw80KNIg5I20h7ApN5lGWdZQfQoPtAA8F1GZLFD4HVznGQZUD6NUgs
+ 8kjka5t2m25pW2kzFm4yShFgvuGVMJEwNq0wrXSd6bopeGfwA2RLkTHIUrfZbnvkXOWCQYkNagT5QNZZ
+ NsCu225Z9MnoD8By8TfQEkQ5eTHuJzDRHAMmnkJ2EXYhqBbKADCIeIGZ29t9nvvSqJNRL4AW/UKy8L7P
+ ap8Juum6BsBCgHotI25JbgkZBxkHtVC1JGDc7Qa2UX4CE8n3oJ1B64GpMlpYR5ifmZ2Zyq0iKFANUk3x
+ WOhxEFgYvLZus64EJhQtqBTtALDEsQ/aHnRf3FTcASpEWwBsbQkBLQW1uqiTUJABFxcXg7y8PJupqSm/
+ nZ2diL29vSgyBooJm5ub88nKyrIC1VLezgQ2zRk9PT0F6urqVCdNmmQwbdo0Y2Q8efJk3ebmZkVXV1de
+ CQkJEjM9AwMAOTMC2xlgxuQAAAAASUVORK5CYII=
diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb
index 8bffbcf..f37e9d7 100644
--- a/initATLASAufschubkonten/frmStartOptions.vb
+++ b/initATLASAufschubkonten/frmStartOptions.vb
@@ -4,7 +4,9 @@ Imports System.IO
Imports System.Net
Imports System.Text
Imports System.Xml
+
Imports DocumentFormat.OpenXml.Drawing.Diagrams
+
Imports DocumentFormat.OpenXml.Wordprocessing
Imports iTextSharp.text.pdf.qrcode.Version
Imports Org.BouncyCastle.Asn1.Pkcs
@@ -244,6 +246,8 @@ Public Class frmStartOptions
Me.Refresh()
DAKOSY_Worker.cIMPORT_Codelisten.IMPORT("I6010", True)
DAKOSY_Worker.cIMPORT_Codelisten.IMPORT("I6010", False)
+ importEZOLLWechselkurse(True)
+ importEZOLLWechselkurse(False)
Me.Refresh()
DAKOSY_Worker.cIMPORT_Codelisten.IMPORT("C0219", True)
DAKOSY_Worker.cIMPORT_Codelisten.IMPORT("C0219", False)
@@ -2005,6 +2009,7 @@ Public Class frmStartOptions
PictureBox18.Visible = False
PictureBox19.Visible = False
PictureBox20.Visible = False
+ PictureBox21.Visible = False
End Sub
@@ -3108,13 +3113,13 @@ Public Class frmStartOptions
ASFINAG_LKW()
End Sub
- Function ASFINAG_LKW()
+ Function ASFINAG_LKW(Optional isFMZoll As Boolean = True) As Boolean
Try
Dim SQl As New VERAG_PROG_ALLGEMEIN.SQL
' CLF-Einträge aus den bestehenden SDL-Datensätzen entfernen,
' damit nach dem Aktualisierungslauf der Istzustand der CLF in der SDL hergestellt wird.
- If Not SQl.getValueTxtBySql("UPDATE SDL Set OBUID = NULL, Vertragsabschlussdatum = NULL, Kategorie = NULL, Status = NULL WHERE (SDLNr = 200) AND (NOT Vertragsabschlussdatum IS NULL)", "SDL") Then
+ If Not SQl.doSQL("UPDATE SDL Set OBUID = NULL, Vertragsabschlussdatum = NULL, Kategorie = NULL, Status = NULL WHERE (SDLNr = 200) AND (NOT Vertragsabschlussdatum IS NULL)", "SDL") Then
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("ERROR", "Fehler beim Reset SDL-Daten.", System.Reflection.MethodBase.GetCurrentMethod.Name)
Return False
End If
@@ -3127,74 +3132,150 @@ Public Class frmStartOptions
End If
+ If isFMZoll Then
+ ' Verbindung zur ASFINAG Datenbank herstellen
+ Dim connectionString = ""
+ If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
+ connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\DEVELOPER\f\FMZoll\Mautmanager.adp"
+ Else
+ connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL\f\FMZoll\Mautmanager.adp"
+ End If
+ Dim con As New OleDbConnection(connectionString)
+ Dim cmd As New OleDbCommand
+ Dim var1 As String
+ Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
+ Dim reader As OleDbDataReader = Nothing
- ' Verbindung zur ASFINAG Datenbank herstellen
- Dim connectionString = ""
- If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
- connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\DEVELOPER\f\FMZoll\Mautmanager.adp"
+ ' Kfz Kennzeichen einlesen.
+ Dim SQLQuery = "SELECT CardNumber, ValidTo, OBUID, KfzKennzeichen, Nationalität, DatumVertragsabschluss, Kategorie, Schadstoffklasse, Status FROM vwCLFBody "
+ Using Command As New OleDbCommand(SQLQuery, con)
+ Using oRDR As OleDbDataReader = Command.ExecuteReader
+ While (oRDR.Read)
+ Dim KartenNr = oRDR.GetValue("CardNumber")
+
+ Dim KfzKennzeichen = fktConvert(oRDR.GetValue("KfzKennzeichen"))
+
+ ' Kundennummer einlesen
+ Dim KdNr As Integer = SQl.getValueTxtBySql("SELECT AdressenNr FROM Kreditkarten WHERE KartenNr='" & KartenNr & "'", "SDL",,, -1)
+
+ If KdNr > 0 Then
+
+ Call fktKundenSDLVerwalten(KdNr, SDLNr)
+ Call fktKundenLkwVerwalten(KdNr, oRDR.GetValue("KfzKennzeichen"), oRDR.GetValue("Nationalität"))
+
+ Dim SDL = New VERAG_PROG_ALLGEMEIN.cSDL(KdNr, oRDR.GetValue("KfzKennzeichen"), SDLNr)
+ If Not SDL.hasentry Then
+ SDL.KundenNr = KdNr
+ SDL.KfzKennzeichen = KfzKennzeichen
+ SDL.SDLNr = SDLNr
+ SDL.History = 0 'fktLiefereHistorywert(!KundenNr, !SDLNr)
+ SDL.Erfassungsdatum = Now
+ Else
+ SDL.Änderungsdatum = Now
+ End If
+ SDL.Sachbearbeiter = "ASFINAG"
+
+ Dim Validto = SQl.checkNullStr(oRDR.GetValue("DatumVertragsabschluss"))
+
+ SDL.KartenNr = SQl.checkNullStr(oRDR.GetValue("CardNumber"))
+ If Validto <> "" Then
+ SDL.GültigBis = DateAdd("d", -1, DateAdd("m", 1, DateSerial("20" & Mid(Validto, 1, 2), Mid(Validto, 3, 2), 1)))
+ End If
+
+ SDL.OBUID = SQl.checkNullStr(oRDR.GetValue("OBUID"))
+ SDL.Vertragsabschlussdatum = SQl.checkNullStr(oRDR.GetValue("DatumVertragsabschluss"))
+ SDL.Kategorie = SQl.checkNullStr(oRDR.GetValue("Kategorie"))
+ SDL.Schadstoffklasse = SQl.checkNullStr(oRDR.GetValue("Schadstoffklasse"))
+ SDL.Status = SQl.checkNullStr(oRDR.GetValue("Status"))
+ SDL.SAVE()
+ End If
+
+ End While
+ End Using
+ End Using
+ con.Close()
Else
- connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL\f\FMZoll\Mautmanager.adp"
- End If
- Dim con As New OleDbConnection(connectionString)
- Dim cmd As New OleDbCommand
- Dim var1 As String
- Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
- Dim reader As OleDbDataReader = Nothing
- ' Kfz Kennzeichen einlesen.
- Dim SQLQuery = "SELECT CardNumber, ValidTo, OBUID, KfzKennzeichen, Nationalität, DatumVertragsabschluss, Kategorie, Schadstoffklasse, Status FROM vwCLFBody "
- Using Command As New OleDbCommand(SQLQuery, con)
- Using oRDR As OleDbDataReader = Command.ExecuteReader
- While (oRDR.Read)
- Dim KartenNr = oRDR.GetValue("CardNumber")
+ ' Kfz Kennzeichen einlesen.
- Dim KfzKennzeichen = fktConvert(oRDR.GetValue("KfzKennzeichen"))
- ' Kundennummer einlesen
- Dim KdNr As Integer = SQl.getValueTxtBySql("SELECT AdressenNr FROM Kreditkarten WHERE KartenNr='" & KartenNr & "'", "SDL",,, -1)
+ Dim strSQLASFINAG = "SELECT cardNumber, ValidTo, OBUID, vehicleLicensePlate, nationality, contractDate, vehicleCategory, emissionCategory, status FROM vwCLFBody"
- If KdNr > 0 Then
+ Dim dtAsfinag As DataTable = SQl.loadDgvBySql_Param(strSQLASFINAG, "ASFINAG")
- Call fktKundenSDLVerwalten(KdNr, SDLNr)
- Call fktKundenLkwVerwalten(KdNr, oRDR.GetValue("KfzKennzeichen"), oRDR.GetValue("Nationalität"))
+ If dtAsfinag.Rows.Count < 1 Then
+ Return False
+ End If
- Dim SDL = New VERAG_PROG_ALLGEMEIN.cSDL(KdNr, oRDR.GetValue("KfzKennzeichen"), SDLNr)
- If Not SDL.hasentry Then
- SDL.KundenNr = KdNr
- SDL.KfzKennzeichen = KfzKennzeichen
- SDL.SDLNr = SDLNr
- SDL.History = 0 'fktLiefereHistorywert(!KundenNr, !SDLNr)
- SDL.Erfassungsdatum = Now
- Else
- SDL.Änderungsdatum = Now
- End If
- SDL.Sachbearbeiter = "ASFINAG"
+ For Each row As DataRow In dtAsfinag.Rows
- Dim Validto = SQL.checkNullStr(oRDR.GetValue("DatumVertragsabschluss"))
+ Dim KdNr As Integer = SQl.getValueTxtBySql("SELECT Kreditkarten.AdressenNr FROM Kreditkarten WHERE Kreditkarten.KartenNr='" & row.Item("cardNumber") & "'", "FMZOLL",,, -1)
- SDL.KartenNr = SQL.checkNullStr(oRDR.GetValue("CardNumber"))
- If Validto <> "" Then
- SDL.GültigBis = DateAdd("d", -1, DateAdd("m", 1, DateSerial("20" & Mid(Validto, 1, 2), Mid(Validto, 3, 2), 1)))
- End If
- SDL.OBUID = SQL.checkNullStr(oRDR.GetValue("OBUID"))
- SDL.Vertragsabschlussdatum = SQL.checkNullStr(oRDR.GetValue("DatumVertragsabschluss"))
- SDL.Kategorie = SQL.checkNullStr(oRDR.GetValue("Kategorie"))
- SDL.Schadstoffklasse = SQL.checkNullStr(oRDR.GetValue("Schadstoffklasse"))
- SDL.Status = SQL.checkNullStr(oRDR.GetValue("Status"))
- SDL.SAVE()
+ If KdNr > 0 Then
+
+ Call fktKundenSDLVerwalten(KdNr, SDLNr)
+ Call fktKundenLkwVerwalten(KdNr, row.Item("vehicleLicensePlate"), row.Item("nationality"))
+
+ ' Die MautAT Tabelle aktualisieren.
+
+ Dim SDL = New VERAG_PROG_ALLGEMEIN.cSDL(KdNr, row.Item("vehicleLicensePlate"), SDLNr)
+
+ If Not SDL.hasentry Then
+ SDL.KundenNr = KdNr
+ SDL.KfzKennzeichen = row.Item("vehicleLicensePlate")
+ SDL.SDLNr = SDLNr
+ SDL.History = 0 'fktLiefereHistorywert(!KundenNr, !SDLNr)
+ SDL.Erfassungsdatum = Now
+ Else
+ SDL.Änderungsdatum = Now
+ End If
+ SDL.Sachbearbeiter = "ASFINAG"
+
+ Dim Validto = SQl.checkNullStr(row.Item("contractDate"))
+
+ SDL.KartenNr = SQl.checkNullStr(row.Item("cardNumber"))
+ If Validto <> "" Then
+ 'MsgBox(Mid(Validto, 7, 2) & " " & Mid(Validto, 4, 2))
+ SDL.GültigBis = DateAdd("d", -1, DateAdd("m", 1, DateSerial("20" & Mid(Validto, 7, 2), Mid(Validto, 4, 2), 1))) 'noch im DETAIL checken!
End If
- End While
- End Using
- End Using
- con.Close()
+ SDL.OBUID = SQl.checkNullStr(row.Item("OBUID"))
+ SDL.Vertragsabschlussdatum = SQl.checkNullStr(row.Item("contractDate"))
+ SDL.Kategorie = SQl.checkNullStr(row.Item("vehicleCategory"))
+ SDL.Schadstoffklasse = SQl.checkNullStr(row.Item("emissionCategory"))
+ SDL.Status = SQl.checkNullStr(row.Item("status"))
+ SDL.SAVE()
+ End If
+
+ Dim strOBU = "OBU " & row.Item("OBUID") & " jetzt in " & KdNr & "/" & row.Item("vehicleLicensePlate") & "/" & SDLNr & "/" & 0 & "."
+
+ ' Mehrfachvorkommen der OBU-ID prüfen.
+ Dim strSQL = "SELECT OBUID, Vermerk FROM vwSDL WHERE (SDLNr = " & SDLNr & ") And (OBUID = '" & row.Item("OBUID") & "') And ((KundenNr <> " & KdNr & ") Or (KfzKennzeichen <> '" & row.Item("vehicleLicensePlate") & "'))"
+ Dim dtCheckOBUID As DataTable = SQl.loadDgvBySql_Param(strSQL, "SDL")
+
+ If dtCheckOBUID.Rows.Count > 0 Then
+
+ For Each rowCheckOBUID As DataRow In dtCheckOBUID.Rows
+ Dim SDL = New VERAG_PROG_ALLGEMEIN.cSDL(KdNr, row.Item("vehicleLicensePlate"), SDLNr)
+ Dim leftString = Trim(strOBU & " " & SDL.Vermerk.Substring(0, 100))
+ SDL.Vermerk = Trim(strOBU & " " & SDL.Vermerk.Substring(0, 100))
+ SDL.OBUID = DBNull.Value
+ SDL.SAVE()
+
+ Next
+ End If
+
+ Next
+
+
+ End If
Return True
Catch ex As Exception
- VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW)
Return False
End Try
End Function
@@ -3215,7 +3296,6 @@ Public Class frmStartOptions
fktConvert = fktConvert & Mid(KfzKennzeichen, I, 1)
End Select
Next I
-
End Function
Public Function fktKundenLkwVerwalten(ByRef KdNr As Integer, ByRef KfzKennzeichen As String, Nationalitaet As String)
@@ -3494,13 +3574,14 @@ Public Class frmStartOptions
Dim f As New frmAsfinag_NachrichtenVerabeitung("clf")
f.ShowDialog()
Me.Visible = True
+ 'ASFINAG_LKW(False)
End Sub
Private Sub LinkLabel42_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel42.LinkClicked
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
Me.Cursor = Cursors.WaitCursor
Dim blt = New cAsfinag.Exportist
- blt.initPFad()
+ blt.initExportPfade()
showPic(blt.exportiereWhiteList, PictureBox18)
Me.Cursor = Cursors.Default
End Sub
@@ -3509,103 +3590,15 @@ Public Class frmStartOptions
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
Me.Cursor = Cursors.WaitCursor
Dim blt = New cAsfinag.Exportist
- blt.initPFad()
+ blt.initExportPfade()
showPic(blt.exportiereBlackList, PictureBox19)
Me.Cursor = Cursors.Default
End Sub
Private Sub LinkLabel45_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel45.LinkClicked
- Dim MyData As String = ""
- Dim SQL = New SQL
- Dim erg = True
+ showPic(importEZOLLWechselkurse(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM), PictureBox20)
- Dim firstDaycurrentMonth = DateTime.Now.AddMonths(0)
- firstDaycurrentMonth = New DateTime(firstDaycurrentMonth.Year, firstDaycurrentMonth.Month, 1)
-
- Dim lastDaycurrentMonth = DateTime.Now.AddMonths(1)
- lastDaycurrentMonth = New DateTime(lastDaycurrentMonth.Year, lastDaycurrentMonth.Month, 1).AddDays(-1)
-
- Dim kursart = "1" 'notirete Währung
- Dim startdatum_tag2 = firstDaycurrentMonth.Day
- Dim startdatum_monat2 = firstDaycurrentMonth.Month
- Dim startdatum_jahr2 = firstDaycurrentMonth.Year
- Dim enddatum_tag2 = lastDaycurrentMonth.Day
- Dim enddatum_monat2 = lastDaycurrentMonth.Month
- Dim enddatum_jahr2 = lastDaycurrentMonth.Year
-
- Try
- System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
-
- Using WC As New System.Net.WebClient()
- ' C0008_URL()
- WC.Encoding = ASCIIEncoding.UTF8
- Dim URL = "https://www.zoll.de/SiteGlobals/Functions/Kurse/KursExport.xml?view=xmlexportkursesearchresultZOLLWeb&kursart=" & kursart &
- "&startdatum_tag2=" & startdatum_tag2 &
- "&startdatum_monat2=" & startdatum_monat2 &
- "&startdatum_jahr2=" & startdatum_jahr2 &
- "&enddatum_tag2=" & enddatum_tag2 &
- "&enddatum_monat2=" & enddatum_monat2 &
- "&enddatum_jahr2=" & enddatum_jahr2 &
- "&sort=asc&spalte=gueltigkeit"
- If URL = String.Empty Then Exit Sub
-
- MyData = WC.DownloadString(URL)
- Dim doc As New XmlDocument()
- doc.LoadXml(MyData)
- If doc.HasChildNodes Then
-
- If doc.GetElementsByTagName("kurs").Count > 0 Then
- Dim endDatum, startDatum
- Dim count As Integer = 1
- For Each node As XmlElement In doc.GetElementsByTagName("kurs")
- Dim wk As New cFremdwaehrungskurse()
- If node.Attributes("id") IsNot Nothing Then wk.fw_id = node.Attributes("id").Value
- If node.HasChildNodes Then
- For Each element As XmlElement In node.ChildNodes
- If element.Name = "land" AndAlso element.InnerText <> "" Then wk.fw_land = element.InnerText
- If element.Name = "iso2" AndAlso element.InnerText <> "" Then wk.fw_iso2 = element.InnerText
- If element.Name = "iso3" AndAlso element.InnerText <> "" Then wk.fw_iso3 = element.InnerText
- If element.Name = "kurswert" AndAlso element.InnerText <> "" Then wk.fw_kurswert = element.InnerText
- If element.Name = "startdatum" AndAlso element.InnerText <> "" Then
- wk.fw_startdatum = element.InnerText
- startDatum = wk.fw_startdatum
- End If
- If element.Name = "enddatum" AndAlso element.InnerText <> "" Then
- wk.fw_enddatum = element.InnerText
- endDatum = wk.fw_enddatum
- End If
- Next
- count = count + 1
- wk.SAVE()
- End If
- Next
- Dim wk_euro As New cFremdwaehrungskurse()
- wk_euro.fw_id = 0
- wk_euro.fw_land = "Europa"
- wk_euro.fw_kurswert = 1
- wk_euro.fw_iso3 = "EUR"
- wk_euro.fw_iso2 = "EU"
- wk_euro.fw_startdatum = firstDaycurrentMonth.ToShortDateString()
- wk_euro.fw_enddatum = lastDaycurrentMonth.ToShortDateString()
- wk_euro.SAVE()
-
-
-
- Dim sqlCount = SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM tblZOLL_Wechselkurse WHERE [fw_startdatum]='" & startDatum & "' AND fw_enddatum='" & endDatum & "'", "FMZOLL")
- If count <> sqlCount Then
- MsgBox("Anzahl der Importierten Datensätze:" & sqlCount & vbNewLine & "Anzahl Datensätze in Datei: " & count)
- erg = False
- End If
- End If
- showPic(erg, PictureBox20)
- End If
-
- End Using
-
- Catch ex As Exception
- MsgBox(ex.Message & ex.StackTrace)
- End Try
End Sub
Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Button17.Click
Dim f As New frmDatenarchivarchiv
@@ -3755,6 +3748,136 @@ Public Class frmStartOptions
doAASVermerke_Ankunft()
End Sub
+ Private Sub LinkLabel46_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel46.LinkClicked
+
+ Try
+
+ Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
+ Dim frm As New Form
+ Dim dgv As New DataGridView()
+ Dim dt As DataTable = SQL.loadDgvBySql("SELECT dbo.CLFBody.* FROM dbo.CLF INNER JOIN dbo.CLFBody ON dbo.CLF.PKHistory = dbo.CLFBody.PKHistory AND dbo.CLF.PKFileName = dbo.CLFBody.PKFileName", "ASFINAG")
+
+ dgv.DataSource = dt
+ If dgv IsNot Nothing Then
+ frm.Size = New Size(1400, 1000)
+ dgv.Size = New Size(frm.Size.Width - 50, frm.Size.Height - 50)
+ dgv.Dock = DockStyle.Fill
+ dgv.Anchor = AnchorStyles.Left
+ dgv.Anchor = AnchorStyles.Top
+ frm.Controls.Add(dgv)
+ frm.StartPosition = FormStartPosition.CenterScreen
+ frm.ShowDialog()
+ End If
+
+
+ Catch ex As Exception
+
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
+ End Try
+
+ End Sub
+
+ Private Function importEZOLLWechselkurse(isTestsystem As Boolean) As Boolean
+
+ VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = isTestsystem
+
+ Dim MyData As String = ""
+ Dim SQL = New SQL
+ Dim erg = True
+
+ Dim firstDaycurrentMonth = DateTime.Now.AddMonths(0)
+ firstDaycurrentMonth = New DateTime(firstDaycurrentMonth.Year, firstDaycurrentMonth.Month, 1)
+
+ Dim lastDaycurrentMonth = DateTime.Now.AddMonths(1)
+ lastDaycurrentMonth = New DateTime(lastDaycurrentMonth.Year, lastDaycurrentMonth.Month, 1).AddDays(-1)
+
+ Dim kursart = "1" 'notirete Währung
+ Dim startdatum_tag2 = firstDaycurrentMonth.Day
+ Dim startdatum_monat2 = firstDaycurrentMonth.Month
+ Dim startdatum_jahr2 = firstDaycurrentMonth.Year
+ Dim enddatum_tag2 = lastDaycurrentMonth.Day
+ Dim enddatum_monat2 = lastDaycurrentMonth.Month
+ Dim enddatum_jahr2 = lastDaycurrentMonth.Year
+
+ Try
+ System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
+
+ Using WC As New System.Net.WebClient()
+ ' C0008_URL()
+ WC.Encoding = ASCIIEncoding.UTF8
+ Dim URL = "https://www.zoll.de/SiteGlobals/Functions/Kurse/KursExport.xml?view=xmlexportkursesearchresultZOLLWeb&kursart=" & kursart &
+ "&startdatum_tag2=" & startdatum_tag2 &
+ "&startdatum_monat2=" & startdatum_monat2 &
+ "&startdatum_jahr2=" & startdatum_jahr2 &
+ "&enddatum_tag2=" & enddatum_tag2 &
+ "&enddatum_monat2=" & enddatum_monat2 &
+ "&enddatum_jahr2=" & enddatum_jahr2 &
+ "&sort=asc&spalte=gueltigkeit"
+ If URL = String.Empty Then Return False
+
+ MyData = WC.DownloadString(URL)
+ Dim doc As New XmlDocument()
+ doc.LoadXml(MyData)
+ If doc.HasChildNodes Then
+
+ If doc.GetElementsByTagName("kurs").Count > 0 Then
+ Dim endDatum, startDatum
+ Dim count As Integer = 1
+ For Each node As XmlElement In doc.GetElementsByTagName("kurs")
+ Dim wk As New cFremdwaehrungskurse()
+ If node.Attributes("id") IsNot Nothing Then wk.fw_id = node.Attributes("id").Value
+ If node.HasChildNodes Then
+ For Each element As XmlElement In node.ChildNodes
+ If element.Name = "land" AndAlso element.InnerText <> "" Then wk.fw_land = element.InnerText
+ If element.Name = "iso2" AndAlso element.InnerText <> "" Then wk.fw_iso2 = element.InnerText
+ If element.Name = "iso3" AndAlso element.InnerText <> "" Then wk.fw_iso3 = element.InnerText
+ If element.Name = "kurswert" AndAlso element.InnerText <> "" Then wk.fw_kurswert = element.InnerText
+ If element.Name = "startdatum" AndAlso element.InnerText <> "" Then
+ wk.fw_startdatum = element.InnerText
+ startDatum = wk.fw_startdatum
+ End If
+ If element.Name = "enddatum" AndAlso element.InnerText <> "" Then
+ wk.fw_enddatum = element.InnerText
+ endDatum = wk.fw_enddatum
+ End If
+ Next
+ count = count + 1
+ wk.SAVE()
+ End If
+ Next
+ Dim wk_euro As New cFremdwaehrungskurse()
+ wk_euro.fw_id = 0
+ wk_euro.fw_land = "Europa"
+ wk_euro.fw_kurswert = 1
+ wk_euro.fw_iso3 = "EUR"
+ wk_euro.fw_iso2 = "EU"
+ wk_euro.fw_startdatum = firstDaycurrentMonth.ToShortDateString()
+ wk_euro.fw_enddatum = lastDaycurrentMonth.ToShortDateString()
+ wk_euro.SAVE()
+
+ Dim sqlCount = SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM tblZOLL_Wechselkurse WHERE [fw_startdatum]='" & startDatum & "' AND fw_enddatum='" & endDatum & "'", "FMZOLL")
+ If count <> sqlCount Then
+ MsgBox("Anzahl der Importierten Datensätze:" & sqlCount & vbNewLine & "Anzahl Datensätze in Datei: " & count)
+ erg = False
+ End If
+
+ End If
+ End If
+
+ End Using
+
+ Return erg
+
+ Catch ex As Exception
+ MsgBox(ex.Message & ex.StackTrace)
+ End Try
+ End Function
+
+ Private Sub LinkLabel47_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel47.LinkClicked
+ VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
+ showPic(ASFINAG_LKW(False), PictureBox21)
+ End Sub
+
Private Sub LinkLabel46_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel99.LinkClicked
Me.Cursor = Cursors.WaitCursor
Try