Files
ADMIN/initATLASAufschubkonten/frmTCNachrichtenVerarbeitung.vb

1170 lines
62 KiB
VB.net

Imports System.IO
Imports System.Xml
Public Class frmTCNachrichtenVerarbeitung
Dim cntDatenEingelesen As Integer = 0
Dim dsNichtErkannt As Integer = 0
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim allowClose = False
' Dim DY_PFAD = "C:\Users\DEVELOPER1\Desktop\test\TEST\"
Dim TELOTEC_PFAD = "" '"C:\Users\DEVELOPER1\Desktop\test\TEST\Nachrichtendaten_Einarbeitung\"
Dim TELOTEC_PFAD_VERAG = "" '"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 BOX_VERSION = "8.8"
Dim Dateiname = ""
Sub New()
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Sub New(allowClose) 'autostart
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Me.allowClose = allowClose
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Sub initPfade()
Me.TELOTEC_PFAD = TELOTEC_Worker.cTC_Paramter.GET_PARAM_ByName("TELOTEC_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
Me.TELOTEC_PFAD_VERAG = TELOTEC_Worker.cTC_Paramter.GET_PARAM_ByName("TELOTEC_PFAD_VERAG", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
Me.VERARBEITUNGS_PFAD = TELOTEC_Worker.cTC_Paramter.GET_PARAM_ByName("VERARBEITUNGS_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
'VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "DAKOSY\TESTSYSTEM\Nachrichtendaten_Einarbeitung\"
Me.ZIEL_PFAD = TELOTEC_Worker.cTC_Paramter.GET_PARAM_ByName("ZIEL_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
'VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "DAKOSY\TESTSYSTEM\Nachrichtendaten_Ablage\"
Me.ERROR_PFAD = TELOTEC_Worker.cTC_Paramter.GET_PARAM_ByName("ERROR_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
'VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "DAKOSY\TESTSYSTEM\Nachrichtendaten_ERROR\"
If Not System.IO.Directory.Exists(VERARBEITUNGS_PFAD) Then System.IO.Directory.CreateDirectory(VERARBEITUNGS_PFAD)
If Not System.IO.Directory.Exists(ZIEL_PFAD) Then System.IO.Directory.CreateDirectory(ZIEL_PFAD)
If Not System.IO.Directory.Exists(ERROR_PFAD) Then System.IO.Directory.CreateDirectory(ERROR_PFAD)
'Me.BOX_VERSION = TELOTEC_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()
For Each d In System.IO.Directory.GetFiles(VERARBEITUNGS_PFAD)
ListBox3.Items.Add(frmStartOptions.cut_file(d))
Me.Refresh()
Next
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.Enabled = False
Try
Label9.Visible = True
Dim cnt = getNachrichtenDatenFromTelotec()
cnt += getNachrichtenDatenFromTelotec_VERAG()
Label9.Text = cnt & " Datensätze empfangen."
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Me.Enabled = True
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.Enabled = False
Try
Label5.Visible = True
DatenEinlesen()
If dsNichtErkannt > 0 Then
Label6.Text = dsNichtErkannt & " Datensätze nicht " & vbNewLine & "erkannt."
Label6.Visible = True
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Me.Enabled = True
Label5.Text = cntDatenEingelesen & " Datensätze verarbeitet."
End Sub
Function getNachrichtenDatenFromTelotec() As Integer
Dim cnt = 0
Try
For Each f In System.IO.Directory.GetFiles(TELOTEC_PFAD)
Dim FI As New FileInfo(f)
If Not FI.Name.StartsWith(".") Then
'Temp. DownloadPfad
Dim destFilenameTMP = VERARBEITUNGS_PFAD + "." & If(System.IO.File.Exists(VERARBEITUNGS_PFAD & "." & FI.Name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & FI.Name
'Datei herunterladen
System.IO.File.Copy(f, destFilenameTMP)
If System.IO.File.Exists(destFilenameTMP) Then System.IO.File.Delete(f) 'Datei nach erfolgreichem Herunterladen vom Server löschen
'Gültiger Filename
Dim destFilename = VERARBEITUNGS_PFAD & If(System.IO.File.Exists(VERARBEITUNGS_PFAD & FI.Name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & FI.Name
System.IO.File.Move(destFilenameTMP, destFilename) 'Datei umbenennen
Dim fi_dest As FileInfo = New FileInfo(destFilename)
ListBox3.Items.Add(frmStartOptions.cut_file(fi_dest.Name)) 'zur Liste hinzufügen
cnt += 1
End If
Next
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
'Dim cnt = 0
'Try
' Dim DY_server = ""
' Dim DY_name = ""
' Dim DY_pwd = ""
' Dim DY_port = ""
' Dim DY_PFAD_out = ""
' DAKOSY_Worker.cDakosyFunftions.getSFTPLoginData(DY_server, DY_name, DY_pwd, DY_port, "", DY_PFAD_out)
' Dim ConnectionInfo As New ConnectionInfo(DY_server, DY_port, DY_name, New PasswordAuthenticationMethod(DY_name, DY_pwd))
' Using client = New SftpClient(ConnectionInfo)
' client.Connect()
' For Each f In client.ListDirectory(DY_PFAD_out)
' ' MsgBox(f.Name)
' If Not f.Name.StartsWith(".") Then
' 'Temp. DownloadPfad
' Dim destFilenameTMP = VERARBEITUNGS_PFAD + "." & If(IO.File.Exists(VERARBEITUNGS_PFAD & "." & f.Name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & f.Name
' 'Datei herunterladen
' Dim downloadFileStream As Stream = File.OpenWrite(destFilenameTMP)
' client.DownloadFile(f.FullName, downloadFileStream)
' If IO.File.Exists(destFilenameTMP) Then client.DeleteFile(f.FullName) 'Datei nach erfolgreichem Herunterladen vom Server löschen
' downloadFileStream.Dispose()
' 'Gültiger Filename
' Dim destFilename = VERARBEITUNGS_PFAD & If(IO.File.Exists(VERARBEITUNGS_PFAD & f.Name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & f.Name
' IO.File.Move(destFilenameTMP, destFilename) 'Datei umbenennen
' Dim fi As FileInfo = New FileInfo(destFilename)
' ListBox3.Items.Add(frmStartOptions.cut_file(fi.Name)) 'zur Liste hinzufügen
' cnt += 1
' End If
' Next
' client.Disconnect()
' End Using
'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
Function getNachrichtenDatenFromTelotec_VERAG() As Integer
Dim cnt = 0
Try
For Each f In System.IO.Directory.GetFiles(TELOTEC_PFAD_VERAG)
Dim FI As New FileInfo(f)
If Not FI.Name.StartsWith(".") Then
'Temp. DownloadPfad
Dim destFilenameTMP = VERARBEITUNGS_PFAD + "." & If(System.IO.File.Exists(VERARBEITUNGS_PFAD & "." & FI.Name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & FI.Name
'Datei herunterladen
System.IO.File.Copy(f, destFilenameTMP)
If System.IO.File.Exists(destFilenameTMP) Then System.IO.File.Delete(f) 'Datei nach erfolgreichem Herunterladen vom Server löschen
'Gültiger Filename
Dim destFilename = VERARBEITUNGS_PFAD & If(System.IO.File.Exists(VERARBEITUNGS_PFAD & FI.Name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & FI.Name
System.IO.File.Move(destFilenameTMP, destFilename) 'Datei umbenennen
Dim fi_dest As FileInfo = New FileInfo(destFilename)
ListBox3.Items.Add(frmStartOptions.cut_file(fi_dest.Name)) 'zur Liste hinzufügen
cnt += 1
End If
Next
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
' Dim toEncodeAsBytes() As Byte = System.Text.ASCIIEncoding.ASCII.GetBytes(toEncode)
' string returnValue = System.Convert.ToBase64String(toEncodeAsBytes)
Public Function stripNonValidXMLCharacters(ByVal textIn As String) As String
Dim textOut As System.Text.StringBuilder = New System.Text.StringBuilder()
Dim current As Char
If textIn Is Nothing OrElse textIn = String.Empty Then Return String.Empty
For i As Integer = 0 To textIn.Length - 1
current = textIn(i)
If (current = "9" OrElse current = "10" OrElse current = "13") OrElse ((current >= "32") AndAlso (current <= "55295")) OrElse ((current >= "57344") AndAlso (current <= "65533")) OrElse ((current >= "65536") AndAlso (current <= "1114111")) Then
textOut.Append(current)
End If
Next
Return textOut.ToString()
End Function
Public Function SanitizeXmlString(ByVal xml As String) As String
If xml Is Nothing Then
Throw New ArgumentNullException("xml")
End If
Dim buffer As System.Text.StringBuilder = New System.Text.StringBuilder(xml.Length)
For Each c As Char In xml
If IsLegalXmlChar(Asc(c)) Then
buffer.Append(c)
End If
Next
Return buffer.ToString()
End Function
Public Function IsLegalXmlChar(ByVal character As Integer) As Boolean
Return (character = 9 OrElse character = 10 OrElse character = 13 OrElse (character >= 32 AndAlso character <= 55295) OrElse (character >= 57344 AndAlso character <= 65533) OrElse (character >= 65536 AndAlso character <= 1114111))
End Function
Private Function getFilesInOrder() As String()
Dim myDirectory As New System.IO.DirectoryInfo(VERARBEITUNGS_PFAD)
'Dim myfiles() As String = myDirectory.GetFiles.OrderBy(Function(x) x.LastWriteTime).Select(Function(x) x.FullName).Take(40).ToArray
Dim myfiles() As String = myDirectory.GetFiles.OrderBy(Function(x) x.CreationTime).Select(Function(x) x.FullName).ToArray
' Dim myfiles As FileInfo() = myDirectory.GetFiles().OrderBy(Function(p) p.CreationTime).Select(Function(x) x.FullName).ToArray
Return myfiles
End Function
Sub DatenEinlesen()
VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL
If ListBox3.Items.Count = 0 Then
Label6.Text = "Keine Daten zum Einlesen vorhanden."
Label6.Visible = True
Exit Sub
End If
For i = 1 To 3
For Each d In getFilesInOrder() 'System.IO.Directory.GetFiles(VERARBEITUNGS_PFAD)
Try
Dateiname = d
cWorker_NCTS.Dateiname = d
If System.IO.File.Exists(d) Then
Dim found = False
Dim fi As FileInfo = New FileInfo(d)
If Not fi.Name.StartsWith(".") Then
Dim alreadyMoved = False
Select Case i
Case 1
If fi.Extension = ".xml" Then
Dim xmlWriterSettings As XmlWriterSettings = New XmlWriterSettings With {.Encoding = System.Text.Encoding.UTF8, .CheckCharacters = True}
Dim doc As New XmlDocument()
Dim XML_Code = System.IO.File.ReadAllText(d, System.Text.UTF8Encoding.Default)
doc.LoadXml(SanitizeXmlString(XML_Code))
Dim VERSION As String = ""
'------------------------------------------------------------------------------------------------------------------------------
' eZOLL
'------------------------------------------------------------------------------------------------------------------------------
'------------------------------------------
'------------------ Anmeldung ------------------
'------------------------------------------
'TC: Versandbestätigung
If Not found And cGetMsgType.isTC_Anmeldung(doc) Then
If readTC_Anmeldung(doc, d) <> "" Then found = True
' If bezugsNr <> "" Then addDGVEinarbeitung("NCTS: Versandbestätigung", bezugsNr) : found = True
End If
End If
Case 2
If fi.Extension = ".pdf" AndAlso fi.Name.Contains("_") Then
Dim split = fi.Name.ToString.Replace(".pdf", "").Split("_")
Dim CRN = ""
Dim tc_id = ""
Dim Anm_id = ""
Dim typeMsg = ""
Dim BezugsNr = ""
Dim dec_ProzessArt = ""
If split.Length > 0 Then CRN = split(0)
If split.Length > 1 Then Anm_id = split(1)
If split.Length > 2 Then typeMsg = split(2)
Dim DS As VERAG_PROG_ALLGEMEIN.cDATENSERVER = Nothing
tc_id = SQL.DLookup("[telanm_id]", "tblTelotec_Anmeldung", "telanm_CRN='" & CRN & "'", "FMZOLL")
BezugsNr = SQL.DLookup("Refs_LRN", "tblTelotec_Anmeldung", "telanm_CRN='" & CRN & "' AND [telnam_aktuellsteNachricht]=1", "FMZOLL")
dec_ProzessArt = SQL.DLookup("dec_ProzessArt", "tblTelotec_Anmeldung", "telanm_CRN='" & CRN & "' AND [telnam_aktuellsteNachricht]=1", "FMZOLL")
If BezugsNr <> String.Empty Then
Select Case typeMsg
Case "EZ923" 'STB
Select Case dec_ProzessArt
Case "EX" 'ABD
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("ZOLLDATEN", "ABD", tc_id, "", "", BezugsNr.ToString.Replace("/", "-").Replace(",", "-").Replace("\", "-").Replace(":", "."), 0, False)
DS.da_vorlage = False
Dim ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\ABD\NOT_IDENTIFIED\"
If IsNumeric(tc_id) AndAlso tc_id > 0 Then ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\ABD\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\"
If Not System.IO.Directory.Exists(ZIEL_PFAD) Then System.IO.Directory.CreateDirectory(ZIEL_PFAD)
Dim destFull = ""
frmStartOptions.moveFile(d, ZIEL_PFAD, destFull)
If DS.insertDataToDATENSERVER(destFull) Then
If IsNumeric(tc_id) AndAlso tc_id > 0 Then
' SQL.doSQL("UPDATE [tblTelotec_Anmeldung] SET [telanm_Steuerbescheid_dsId]='" & DS.da_id & "' where telanm_CRN='" & CRN & "'", "FMZOLL")
SQL.doSQL("UPDATE Speditionsbuch SET DokumentId_ABD='" & DS.da_id & "' where AtlasBezNrAES='" & BezugsNr.ToString.Trim & "' AND DokumentId_ABD is null", "FMZOLL") 'Falls Spedbuch schon zuvor generiert wurde!
If DateDiff(DateInterval.Hour, fi.CreationTime, Now) < 24 Then frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "ABD", tc_id)
End If
End If
found = True
addDGVEinarbeitung("PDF: AusfuhrBegleitDokument ", BezugsNr)
Case Else
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("ZOLLDATEN", "STEUERBESCHEID", tc_id, "", "", BezugsNr.ToString.Replace("/", "-").Replace(",", "-").Replace("\", "-").Replace(":", "."), 0, False)
DS.da_vorlage = False
Dim ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\STEUERBESCHEID\NOT_IDENTIFIED\"
If IsNumeric(tc_id) AndAlso tc_id > 0 Then ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\STEUERBESCHEID\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\"
If Not System.IO.Directory.Exists(ZIEL_PFAD) Then System.IO.Directory.CreateDirectory(ZIEL_PFAD)
Dim destFull = ""
frmStartOptions.moveFile(d, ZIEL_PFAD, destFull)
If DS.insertDataToDATENSERVER(destFull) Then
If IsNumeric(tc_id) AndAlso tc_id > 0 Then
SQL.doSQL("UPDATE [tblTelotec_Anmeldung] SET [telanm_Steuerbescheid_dsId]='" & DS.da_id & "' where telanm_CRN='" & CRN & "'", "FMZOLL")
SQL.doSQL("UPDATE Speditionsbuch SET DokumentId_Steuerbeleg='" & DS.da_id & "' where AtlasBezNrEZA='" & BezugsNr.ToString.Trim & "' AND DokumentId_Steuerbeleg is null", "FMZOLL") 'Falls Spedbuch schon zuvor generiert wurde!
If DateDiff(DateInterval.Hour, fi.CreationTime, Now) < 24 Then frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "STEUERBESCHEID", tc_id)
End If
End If
found = True
addDGVEinarbeitung("PDF: STEUERBESCHEID ", BezugsNr)
End Select
Case "EZ922" 'STB Mitteilung
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("ZOLLDATEN", "STEUERBESCHEID_MITT", tc_id, "", "", BezugsNr.ToString.Replace("/", "-").Replace(",", "-").Replace("\", "-").Replace(":", "."), 0, False)
DS.da_vorlage = False
Dim ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\STEUERBESCHEID\NOT_IDENTIFIED\"
If IsNumeric(tc_id) AndAlso tc_id > 0 Then ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\STEUERBESCHEID\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\"
If Not System.IO.Directory.Exists(ZIEL_PFAD) Then System.IO.Directory.CreateDirectory(ZIEL_PFAD)
Dim destFull = ""
frmStartOptions.moveFile(d, ZIEL_PFAD, destFull)
If DS.insertDataToDATENSERVER(destFull) Then
If IsNumeric(tc_id) AndAlso tc_id > 0 Then
SQL.doSQL("UPDATE [tblTelotec_Anmeldung] SET [telanm_Mitteilung_dsId]='" & DS.da_id & "' where telanm_CRN='" & CRN & "'", "FMZOLL")
SQL.doSQL("UPDATE Speditionsbuch SET DokumentId_Mitteilung='" & DS.da_id & "' where AtlasBezNrEZA='" & BezugsNr.ToString.Trim & "' AND DokumentId_Mitteilung is null", "FMZOLL") 'Falls Spedbuch schon zuvor generiert wurde!
If DateDiff(DateInterval.Hour, fi.CreationTime, Now) < 24 Then frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "STEUERBESCHEID", tc_id)
End If
End If
found = True
addDGVEinarbeitung("PDF: STEUERBESCHEID (Mittlg.) ", BezugsNr)
Case "TR109" 'VBD
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("ZOLLDATEN", "VBD", tc_id, "", "", BezugsNr.ToString.Replace("/", "-").Replace(",", "-").Replace("\", "-").Replace(":", "."), 0, False)
DS.da_vorlage = False
Dim ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\VBD\NOT_IDENTIFIED\"
If IsNumeric(tc_id) AndAlso tc_id > 0 Then ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\VBD\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\"
If Not System.IO.Directory.Exists(ZIEL_PFAD) Then System.IO.Directory.CreateDirectory(ZIEL_PFAD)
Dim destFull = ""
frmStartOptions.moveFile(d, ZIEL_PFAD, destFull)
If DS.insertDataToDATENSERVER(destFull) Then
If IsNumeric(tc_id) AndAlso tc_id > 0 Then
SQL.doSQL("UPDATE [tblTelotec_Anmeldung] SET [telanm_VBD_dsId]='" & DS.da_id & "' where telanm_CRN='" & CRN & "'", "FMZOLL")
SQL.doSQL("UPDATE Speditionsbuch SET DokumentId_VBD='" & DS.da_id & "' where AtlasBezNrNCTS='" & BezugsNr.ToString.Trim & "' AND DokumentId_VBD is null", "FMZOLL") 'Falls Spedbuch schon zuvor generiert wurde!
If DateDiff(DateInterval.Hour, fi.CreationTime, Now) < 24 Then frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "VBD", tc_id)
End If
End If
found = True
addDGVEinarbeitung("PDF: VBD ", BezugsNr)
Case "EX431" 'AVMEX431
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("ZOLLDATEN", "AVM", tc_id, "", "", BezugsNr.ToString.Replace("/", "-").Replace(",", "-").Replace("\", "-").Replace(":", "."), 0, False)
DS.da_vorlage = False
Dim ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\AVM\NOT_IDENTIFIED\"
If IsNumeric(tc_id) AndAlso tc_id > 0 Then ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\AVM\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\"
If Not System.IO.Directory.Exists(ZIEL_PFAD) Then System.IO.Directory.CreateDirectory(ZIEL_PFAD)
Dim destFull = ""
frmStartOptions.moveFile(d, ZIEL_PFAD, destFull)
If DS.insertDataToDATENSERVER(destFull) Then
If IsNumeric(tc_id) AndAlso tc_id > 0 Then
' SQL.doSQL("UPDATE [tblTelotec_Anmeldung] SET [telanm_Steuerbescheid_dsId]='" & DS.da_id & "' where telanm_CRN='" & CRN & "'", "FMZOLL")
SQL.doSQL("UPDATE Speditionsbuch SET DokumentId_AVM='" & DS.da_id & "' where AtlasBezNrAES='" & BezugsNr.ToString.Trim & "' AND DokumentId_AVM is null", "FMZOLL") 'Falls Spedbuch schon zuvor generiert wurde!
If DateDiff(DateInterval.Hour, fi.CreationTime, Now) < 24 Then frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "AVM", tc_id)
End If
End If
found = True
addDGVEinarbeitung("PDF: AusgangsVermerk ", BezugsNr)
End Select
End If
End If
Case 3 'NOT FOUND
If fi.Extension = ".pdf" Then ' -> PDFs dürfen länger leben.. (XML kommen oft später..)
If DateDiff(DateInterval.Hour, fi.CreationTime, Now) > 2 Then ' .. aber nur wenn max. 2 h alt..
frmStartOptions.moveFile(d, ERROR_PFAD)
dsNichtErkannt += 1
End If
Else
frmStartOptions.moveFile(d, ERROR_PFAD) ' ..sonst weg damit!
dsNichtErkannt += 1
End If
Me.Refresh()
End Select
If True Then
If Not alreadyMoved Then
If found Then
If Not System.IO.Directory.Exists(ZIEL_PFAD & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\") Then System.IO.Directory.CreateDirectory(ZIEL_PFAD & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
frmStartOptions.moveFile(d, ZIEL_PFAD & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
cntDatenEingelesen += 1
Me.Refresh()
Else
'--wir oben im SELECT CASE GEREGELT -- > zusätzlicher Durchgang
End If
End If
End If
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Next
Next
End Sub
Function getString(doc As XmlDocument) As Boolean
If doc.HasChildNodes Then
' If doc.GetElementsByTagName("DakosyMessageInternal").Count > 0 Then
Dim sw = New StringWriter()
Dim xw = New XmlTextWriter(sw)
doc.WriteTo(xw)
Dim XmlString = sw.ToString()
MsgBox(XmlString)
End If
Return False
End Function
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
Me.Close()
End Sub
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
Me.Close()
End Sub
Sub Savetelanm_FirmaNL(ByRef TC_TMP As TELOTEC_Worker.cTelotec_Anmeldung, division As String)
TC_TMP.telanm_firma = "IMEX"
TC_TMP.telanm_niederlassung = "SUB"
'
'If division <> "" Then
' If (TC_TMP.telanm_firma Is Nothing OrElse TC_TMP.telanm_firma = "") Or (TC_TMP.telanm_niederlassung Is Nothing OrElse TC_TMP.telanm_niederlassung = "") Then
' Select Case division
' Case "SUW"
' TC_TMP.telanm_firma = "ATILLA"
' TC_TMP.telanm_niederlassung = "SUB"
' Case "SUB"
' TC_TMP.telanm_firma = "VERAG"
' TC_TMP.telanm_niederlassung = "SUB"
' Case "DUR"
' TC_TMP.telanm_firma = "DURMAZ"
' TC_TMP.telanm_niederlassung = "SBG"
' Case "NKD"
' TC_TMP.telanm_firma = "VERAG"
' TC_TMP.telanm_niederlassung = "NKD"
' Case "WAI"
' TC_TMP.telanm_firma = "VERAG"
' TC_TMP.telanm_niederlassung = "WAI"
' Case "SBG"
' TC_TMP.telanm_firma = "VERAG"
' TC_TMP.telanm_niederlassung = "SBG"
' Case "NEU"
' TC_TMP.telanm_firma = "VERAG"
' TC_TMP.telanm_niederlassung = "NEU"
' Case "GLO"
' TC_TMP.telanm_firma = "IMEX"
' TC_TMP.telanm_niederlassung = "GLO"
' Case "AMB"
' TC_TMP.telanm_firma = "AMBAR"
' TC_TMP.telanm_niederlassung = "AMBAR"
' Case "IME"
' TC_TMP.telanm_firma = "IMEX"
' TC_TMP.telanm_niederlassung = "IMEX"
' End Select
' TC_TMP.SAVE()
' End If
'End If
End Sub
Sub addDGVEinarbeitung(art, BezugsNr)
dgvEinarbeitung.Rows.Add(art, BezugsNr)
Try
dgvEinarbeitung.FirstDisplayedScrollingRowIndex = dgvEinarbeitung.RowCount - 1
Catch ex As Exception
End Try
End Sub
Function getVerahrensartFromBezugsNr(bezugsNr) As String
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
If SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) FROM tblDakosy_NCTSOut WHERE ncts_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "NCTS"
If SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) FROM tblDakosy_EZA WHERE eza_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "EZA"
Return ""
End Function
Function getStatusCheckTransID(transId As String, transDate As Date) As DAKOSY_Worker.cDakosy_Statusmeldungen
getStatusCheckTransID = DAKOSY_Worker.cDakosy_Statusmeldungen.LOADByDakosyTransaktionsID(transId)
If getStatusCheckTransID Is Nothing Then
getStatusCheckTransID = New DAKOSY_Worker.cDakosy_Statusmeldungen
End If
getStatusCheckTransID.dySt_DakosyTransaktionsDatum = transDate
getStatusCheckTransID.dySt_DakosyTransaktionsID = transId
End Function
Function saveDY_ZA(STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen, transID As String, ergtransDate As Date, art As String) As DAKOSY_Worker.cDakosy_Zollanmeldungen
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = Nothing
DY_TMP = DAKOSY_Worker.cDakosy_Zollanmeldungen.LOADByBezugsNr(STATUS.dySt_BezugsNr.ToString)
If DY_TMP Is Nothing Then
DY_TMP = New DAKOSY_Worker.cDakosy_Zollanmeldungen
DY_TMP.dy_BezugsNr = STATUS.dySt_BezugsNr
DY_TMP.dy_ART = art
If DAKOSY_Worker.cDakosy_Statusmeldungen.isNewestTransaktion(STATUS.dySt_BezugsNr, transID, ergtransDate) Then
DY_TMP.dy_Status = STATUS.dySt_status
End If
DY_TMP.SAVE()
'Eintragen
Else
'Update NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit
If DAKOSY_Worker.cDakosy_Statusmeldungen.isNewestTransaktion(STATUS.dySt_BezugsNr, transID, ergtransDate) Then
DY_TMP.UPDATE_Status(STATUS.dySt_status)
End If
End If
'Status wir dnur upgedatet, wenn nicht schon ein neuerer Datensatz verarbeitet wurde!:
'If DY_TMP.dy_AvisoId Is Nothing Or DY_TMP.dy_SendungsId Is Nothing Then
'If getAVSIOFromBezugsNr(STATUS.dySt_BezugsNr, DY_TMP.dy_AvisoId, DY_TMP.dy_SendungsId) Then ' Lädt AVSIO
'DY_TMP.SAVE() ' AVISOID/SendungsID speichern
' End If
' End If
saveDY_ZA = DY_TMP
End Function
Function saveDY_ZA(dySt_BezugsNr As String, art As String) As DAKOSY_Worker.cDakosy_Zollanmeldungen
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = Nothing
DY_TMP = DAKOSY_Worker.cDakosy_Zollanmeldungen.LOADByBezugsNr(dySt_BezugsNr)
If DY_TMP Is Nothing Then
DY_TMP = New DAKOSY_Worker.cDakosy_Zollanmeldungen
DY_TMP.dy_BezugsNr = dySt_BezugsNr
DY_TMP.dy_ART = art
' DY_TMP.dy_Status = STATUS.dySt_status
DY_TMP.SAVE()
'Eintragen
Else
'Update
' DY_TMP.UPDATE_Status(STATUS.dySt_status)
End If
saveDY_ZA = DY_TMP
End Function
Function saveDY_EZA(STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen, DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen, transID As String, transDate As Date, Optional ANR As String = "", Optional MRN As String = "") As DAKOSY_Worker.cDakosyEZA
'EINTRAG IN tblDakosyNCTSOut
Dim EZA_TMP As DAKOSY_Worker.cDakosyEZA = Nothing
EZA_TMP = DAKOSY_Worker.cDakosyEZA.LOADByBezugsNr(STATUS.dySt_BezugsNr.ToString, False)
If EZA_TMP Is Nothing Then
EZA_TMP = New DAKOSY_Worker.cDakosyEZA
EZA_TMP.eza_ObjectName = STATUS.dySt_BezugsNr
If EZA_TMP IsNot Nothing Then EZA_TMP.eza_dyaAnmID = DY_TMP.dy_Id
If DAKOSY_Worker.cDakosy_Statusmeldungen.isNewestTransaktion(STATUS.dySt_BezugsNr, transID, transDate) Then
EZA_TMP.eza_Status = DY_TMP.dy_Status 'weil der Status bereit überprüft wurde --> neuste TransaktionsID
EZA_TMP.eza_Status_KEWILL_Equivalent = DY_TMP.dy_Status 'weil der Status bereit überprüft wurde --> neuste TransaktionsID
End If
'EZA_TMP.ncts_Status_KEWILL_Equivalent = STATUS.dySt_status
If ANR <> "" Then EZA_TMP.eza_ANR = ANR
If MRN <> "" Then EZA_TMP.eza_MRN = MRN
EZA_TMP.SAVE()
'Eintragen
Else
'Update
EZA_TMP.UPDATE_Status(DY_TMP.dy_Status) 'weil der Status bereit überprüft wurde --> neuste TransaktionsID
If ANR <> "" Then EZA_TMP.eza_ANR = ANR : EZA_TMP.SAVE()
If MRN <> "" Then EZA_TMP.eza_MRN = MRN : EZA_TMP.SAVE()
End If
saveDY_EZA = EZA_TMP
End Function
Function readTC_Anmeldung(doc As XmlDocument, d As String) As String
Try
readTC_Anmeldung = ""
'Dim sw = New StringWriter()
'Dim xw = New XmlTextWriter(sw)
'doc.WriteTo(xw)
'Dim XmlString = sw.ToString()
'MsgBox("0")
'If XmlString.Contains("<vifDec>") Then
' MsgBox("1")
' Dim xmlvifDec = XmlString.Substring(XmlString.IndexOf("<vifDec>"), XmlString.IndexOf("</vifDec>") + 9 - XmlString.IndexOf("<vifDec>"))
' ' MsgBox(xmlDEXPDD)
' Dim p = Path.GetTempFileName
' MsgBox(p)
' Using outputFile As New StreamWriter(p) ', False, System.Text.Encoding.Default)
' MsgBox("1,1")
' outputFile.Write(xmlvifDec)
' outputFile.Close()
Dim id = TELOTEC_Worker.vifDec.InterfaceDataType.LoadFromFile(d)
Dim vifDEC As TELOTEC_Worker.vifDec.vifDec = id.vifDec(0)
' Dim AES As New DAKOSY_Worker.cDakosyAES
Dim MsgType = ""
If vifDEC IsNot Nothing And vifDEC.Refs_LRN IsNot Nothing Then
readTC_Anmeldung = vifDEC.Refs_LRN
MsgType = vifDEC.MsgType
Else
Return "" 'Keine Bezugsnummer
End If
' Dim DY_TMP As TELOTEC_Worker.cTELOTEC_Zollanmeldungen = saveDY_ZA(readTC_Anmeldung, "AES")
Dim TC As TELOTEC_Worker.cTelotec_Anmeldung = TELOTEC_Worker.cTelotec_Anmeldung.LOADByBezugsNr(readTC_Anmeldung, MsgType) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
If TC Is Nothing Then TC = New TELOTEC_Worker.cTelotec_Anmeldung
' If DY_TMP IsNot Nothing Then TC.TC_dyaAnmID = DY_TMP.dy_Id
TC.telanm_BezugsNr = vifDEC.Refs_LRN
If TC.telanm_AvisoId Is Nothing Then
TC.tryFindAviso()
End If
If vifDEC IsNot Nothing Then
'TC.telanm_BezugsNr = vifDEC.Refs_LRN
TC.Mandant_ID = vifDEC.Mandant_ID
TC.Bereich_ID = vifDEC.Bereich_ID
TC.Referenz_ID = vifDEC.Referenz_ID
TC.ComIndicator = vifDEC.ComIndicator
TC.Hea_DecTy = vifDEC.Hea_DecTy
'Art der Anmeldung
Select Case TC.Hea_DecTy
Case "T1", "T2", "T2L" : TC.telanm_ART = TC.Hea_DecTy
Case "EUA" : TC.telanm_ART = TC.Hea_DecTy 'EZA
Case Else : TC.telanm_ART = TC.Hea_DecTy '^^
End Select
TC.MsgType = vifDEC.MsgType
Select Case TC.MsgType
Case "TT906", "TT109" 'Eröffnung des Versandscheins
TC.telanm_Status = TELOTEC_Worker.cTC_Statusliste.S_50
TC.telanm_Status_KEWILL_Equivalent = TELOTEC_Worker.cTC_Statusliste.S_50
Case "TT132" 'Anrechnung des Referenzbetrages
TC.telanm_Status = TELOTEC_Worker.cTC_Statusliste.S_53
TC.telanm_Status_KEWILL_Equivalent = TELOTEC_Worker.cTC_Statusliste.S_53
Case "TT131" 'Erledigungsmeldung
TC.telanm_Status = TELOTEC_Worker.cTC_Statusliste.S_60
TC.telanm_Status_KEWILL_Equivalent = TELOTEC_Worker.cTC_Statusliste.S_60
Case "TT922" 'EZA / Mitteilung Zollschuld --> Abgabenbescheid
TC.telanm_Status = TELOTEC_Worker.cTC_Statusliste.S_60
TC.telanm_Status_KEWILL_Equivalent = TELOTEC_Worker.cTC_Statusliste.S_60
Case "TT923" ' Freigabe IMPORT + EXPORT
TC.telanm_Status = TELOTEC_Worker.cTC_Statusliste.S_60
TC.telanm_Status_KEWILL_Equivalent = TELOTEC_Worker.cTC_Statusliste.S_60
Case Else
Return "" 'Nicht erkannt
End Select
'Derzeit nur IMEX
TC.telanm_firma = vifDEC.Mandant_ID.ToUpper '"IMEX"
If TC.telanm_BezugsNr.ToString.StartsWith("5501") Then
TC.telanm_firma = "IMEX" 'VERAG WO
End If
If TC.telanm_BezugsNr.ToString.StartsWith("4801") Or TC.telanm_BezugsNr.ToString.StartsWith("4802") Then
TC.telanm_firma = "IMEX" 'VERAG WO
End If
TC.telanm_niederlassung = "SUB"
TC.telanm_Erstellung = Now
TC.telanm_LetzteBearbeitung = Now
TC.Mandant_ID = vifDEC.Mandant_ID
TC.Bereich_ID = vifDEC.Bereich_ID
TC.Referenz_ID = vifDEC.Referenz_ID
TC.ComIndicator = vifDEC.ComIndicator
TC.dec_ProzessArt = vifDEC.dec_ProzessArt
TC.TransferStatus = vifDEC.TransferStatus
TC.dec_Anmelde_ID = vifDEC.dec_Anmelde_ID
TC.dec_Template_ID = vifDEC.dec_Template_ID
TC.dec_Lager_ID = vifDEC.dec_Lager_ID
TC.dec_Lag_IND = vifDEC.dec_Lag_IND
TC.dec_CreateDate = vifDEC.dec_CreateDate
TC.dec_CreatePersonalID = vifDEC.dec_CreatePersonalID
TC.dec_PreDec_IND = vifDEC.dec_PreDec_IND
TC.dec_TotNet = vifDEC.dec_TotNet
TC.dec_TotNetSplit_IND = vifDEC.dec_TotNetSplit_IND
TC.dec_FillPackList_IND = vifDEC.dec_FillPackList_IND
TC.dec_Memo = vifDEC.dec_Memo
TC.Refs_LRN = vifDEC.Refs_LRN
TC.Refs_CRN = vifDEC.Refs_CRN
TC.telanm_CRN = vifDEC.Refs_CRN
TC.Refs_CSRN = vifDEC.Refs_CSRN
TC.Refs_ERN = vifDEC.Refs_ERN
TC.Refs_FRN = vifDEC.Refs_FRN
TC.Refs_Stat = vifDEC.Refs_Stat
TC.Hea_DecTy = vifDEC.Hea_DecTy
TC.Hea_TotItem = vifDEC.Hea_TotItem
TC.Hea_TotPack = vifDEC.Hea_TotPack
TC.Hea_TotGross = vifDEC.Hea_TotGross
TC.Hea_DepLNG = vifDEC.Hea_DepLNG
TC.Hea_DestLNG = vifDEC.Hea_DestLNG
TC.Hea_PayTy = vifDEC.Hea_PayTy
TC.Hea_DefPayRef = vifDEC.Hea_DefPayRef
TC.Hea_PerPayRef = vifDEC.Hea_PerPayRef
TC.Hea_PayMet = vifDEC.Hea_PayMet
TC.Hea_AExpRef = vifDEC.Hea_AExpRef
TC.Hea_Fin = vifDEC.Hea_Fin
TC.Hea_Simp = vifDEC.Hea_Simp
TC.Hea_IssD = vifDEC.Hea_IssD
TC.Hea_AuthID = vifDEC.Hea_AuthID
TC.Hea_TransDat = vifDEC.Hea_TransDat
TC.Hea_WoffD = vifDEC.Hea_WoffD
TC.Hea_DecDT = vifDEC.Hea_DecDT
TC.Hea_DecPlc = vifDEC.Hea_DecPlc
TC.Hea_AccDT = vifDEC.Hea_AccDT
TC.Hea_SecInd = vifDEC.Hea_SecInd
TC.Hea_ComRef = vifDEC.Hea_ComRef
TC.Hea_ProArrDT = vifDEC.Hea_ProArrDT
TC.Hea_PlaDepDT = vifDEC.Hea_PlaDepDT
TC.Locs_TradCtry = vifDEC.Locs_TradCtry
TC.Locs_Disp = vifDEC.Locs_Disp
TC.Locs_Dest = vifDEC.Locs_Dest
TC.Locs_GdsLocCd = vifDEC.Locs_GdsLocCd
TC.Locs_GdsLoc = vifDEC.Locs_GdsLoc
TC.Locs_GdsLocAuth = vifDEC.Locs_GdsLocAuth
TC.Locs_LoadPlcCd = vifDEC.Locs_LoadPlcCd
TC.Locs_LoadPlc = vifDEC.Locs_LoadPlc
TC.Locs_CustPlc = vifDEC.Locs_CustPlc
TC.Locs_ArrLocCd = vifDEC.Locs_ArrLocCd
TC.Locs_ArrLoc = vifDEC.Locs_ArrLoc
TC.Locs_ArrLocAuth = vifDEC.Locs_ArrLocAuth
TC.Locs_WarTy = vifDEC.Locs_WarTy
TC.Locs_WarCtry = vifDEC.Locs_WarCtry
TC.Locs_War = vifDEC.Locs_War
TC.Transp_InMo = vifDEC.Transp_InMo
TC.Transp_BordMo = vifDEC.Transp_BordMo
TC.Transp_DepTy = vifDEC.Transp_DepTy
TC.Transp_DepIdnt = vifDEC.Transp_DepIdnt
TC.Transp_DepNat = vifDEC.Transp_DepNat
TC.Transp_CrossTy = vifDEC.Transp_CrossTy
TC.Transp_CrossIdnt = vifDEC.Transp_CrossIdnt
TC.Transp_CrossIdntNat = vifDEC.Transp_CrossIdntNat
TC.Transp_ContInd = vifDEC.Transp_ContInd
TC.ValData_TermDelCd = vifDEC.ValData_TermDelCd
TC.ValData_TermDelPlc = vifDEC.ValData_TermDelPlc
TC.ValData_TermDelSit = vifDEC.ValData_TermDelSit
TC.ValData_InvCurr = vifDEC.ValData_InvCurr
TC.ValData_ExRa = vifDEC.ValData_ExRa
TC.ValData_InvVal = vifDEC.ValData_InvVal
TC.ValData_TransacCd = vifDEC.ValData_TransacCd
TC.ConorTra_Na = vifDEC.ConorTra_Na
TC.ConorTra_Strt = vifDEC.ConorTra_Strt
TC.ConorTra_Pst = vifDEC.ConorTra_Pst
TC.ConorTra_Cty = vifDEC.ConorTra_Cty
TC.ConorTra_Ctry = vifDEC.ConorTra_Ctry
TC.ConorTra_TIN = vifDEC.ConorTra_TIN
TC.ConorTra_UIDCtry = vifDEC.ConorTra_UIDCtry
TC.ConorTra_UID = vifDEC.ConorTra_UID
TC.ConeeTra_Na = vifDEC.ConeeTra_Na
TC.ConeeTra_Strt = vifDEC.ConeeTra_Strt
TC.ConeeTra_Pst = vifDEC.ConeeTra_Pst
TC.ConeeTra_Cty = vifDEC.ConeeTra_Cty
TC.ConeeTra_Ctry = vifDEC.ConeeTra_Ctry
TC.ConeeTra_TIN = vifDEC.ConeeTra_TIN
TC.ConeeTra_UIDCtry = vifDEC.ConeeTra_UIDCtry
TC.ConeeTra_UID = vifDEC.ConeeTra_UID
TC.ExpTra_Na = vifDEC.ExpTra_Na
TC.ExpTra_Strt = vifDEC.ExpTra_Strt
TC.ExpTra_Pst = vifDEC.ExpTra_Pst
TC.ExpTra_Cty = vifDEC.ExpTra_Cty
TC.ExpTra_Ctry = vifDEC.ExpTra_Ctry
TC.ExpTra_TIN = vifDEC.ExpTra_TIN
TC.ExpTra_UIDCtry = vifDEC.ExpTra_UIDCtry
TC.ExpTra_UID = vifDEC.ExpTra_UID
TC.Declarant_Na = vifDEC.Declarant_Na
TC.Declarant_Strt = vifDEC.Declarant_Strt
TC.Declarant_Pst = vifDEC.Declarant_Pst
TC.Declarant_Cty = vifDEC.Declarant_Cty
TC.Declarant_Ctry = vifDEC.Declarant_Ctry
TC.Declarant_TIN = vifDEC.Declarant_TIN
TC.Declarant_UIDCtry = vifDEC.Declarant_UIDCtry
TC.Declarant_UID = vifDEC.Declarant_UID
TC.Declarant_DecRep = vifDEC.Declarant_DecRep
TC.Represent_RIN = vifDEC.Represent_RIN
TC.Represent_Na = vifDEC.Represent_Na
TC.EntryCO_Ref = vifDEC.EntryCO_Ref
TC.ExitCO_Ref = vifDEC.ExitCO_Ref
TC.SurvCO_Ref = vifDEC.SurvCO_Ref
TC.DestCO_Ref = vifDEC.DestCO_Ref
TC.PresCO_Ref = vifDEC.PresCO_Ref
TC.DepCO_Ref = vifDEC.DepCO_Ref
'TC.CtrlRslt_ResCd = vifDEC.CtrlRslt_ResCd'--> in Schnittstelle nicht vorhanden
TC.CtrlRslt_DLimit = vifDEC.CtrlRslt_DLimit
TC.POSITIONSDATEN.Clear() 'Falls DS schon Mal eingearbeitet wurde
If vifDEC.vifDecItem IsNot Nothing AndAlso vifDEC.vifDecItem.Count > 0 Then
For Each vidDescITEM In vifDEC.vifDecItem
Dim POS As New TELOTEC_Worker.cTelotec_Positionsdaten
POS.Mandant_ID = vidDescITEM.Mandant_ID
POS.Bereich_ID = vidDescITEM.Bereich_ID
POS.Referenz_ID = vidDescITEM.Referenz_ID
POS.ComIndicator = vidDescITEM.ComIndicator
POS.Pos_ID = vidDescITEM.Pos_ID
POS.Item_Status = vidDescITEM.Item_Status
POS.Item_ComCd = vidDescITEM.Item_ComCd
POS.Item_GdsDes = vidDescITEM.Item_GdsDes
POS.Item_Gross = vidDescITEM.Item_Gross
POS.Item_Net = vidDescITEM.Item_Net
POS.Item_Orig = vidDescITEM.Item_Orig
POS.Item_ProcCd = vidDescITEM.Item_ProcCd
POS.Item_ProcAddCd = vidDescITEM.Item_ProcAddCd
POS.Item_ItVal = vidDescITEM.Item_ItVal
POS.Item_Pref = vidDescITEM.Item_Pref
POS.Item_Quota = vidDescITEM.Item_Quota
POS.Item_ValMet = vidDescITEM.Item_ValMet
POS.Item_VATInd = vidDescITEM.Item_VATInd
POS.Item_StatVal = vidDescITEM.Item_StatVal
POS.SurvCO_Ref = vidDescITEM.SurvCO_Ref
POS.Telo_Artikel_ID = vidDescITEM.Telo_Artikel_ID
POS.Telo_Artikelmenge = vidDescITEM.Telo_ArtikelMenge
POS.Telo_ArtikelMEH = vidDescITEM.Telo_ArtikelMEH
'vidDescITEM.vifDecPack
POS.PACKSTUECKE.Clear() 'Falls DS schon Mal eingearbeitet wurde
If vidDescITEM.vifDecPack IsNot Nothing AndAlso vidDescITEM.vifDecPack.Count > 0 Then
For Each vifDecPack In vidDescITEM.vifDecPack
Dim PK As New TELOTEC_Worker.cTelotec_Packstuecke
PK.Mandant_ID = vifDecPack.Mandant_ID
PK.Bereich_ID = vifDecPack.Bereich_ID
PK.Referenz_ID = vifDecPack.Referenz_ID
PK.ComIndicator = vifDecPack.ComIndicator
PK.Pos_ID = vifDecPack.Pos_ID
PK.Pack_ID = vifDecPack.Pack_ID
PK.Pack_Mark = vifDecPack.Pack_Mark
PK.Pack_Kind = vifDecPack.Pack_Kind
PK.Pack_Nr = vifDecPack.Pack_Nr
PK.Pack_Piec = vifDecPack.Pack_Piec
PK.Telo_Gross = vifDecPack.TELO_Gross
POS.PACKSTUECKE.Add(PK)
Next
End If
POS.ABGABEN.Clear() 'Falls DS schon Mal eingearbeitet wurde
If vidDescITEM.vifDecDutyCalc IsNot Nothing AndAlso vidDescITEM.vifDecDutyCalc.Count > 0 Then
For Each vifDecDutyCalc In vidDescITEM.vifDecDutyCalc
Dim ABG As New TELOTEC_Worker.cTelotec_PositionsdatenAbgaben
ABG.Mandant_ID = vifDecDutyCalc.Mandant_ID
ABG.Bereich_ID = vifDecDutyCalc.Bereich_ID
ABG.Referenz_ID = vifDecDutyCalc.Referenz_ID
ABG.ComIndicator = vifDecDutyCalc.ComIndicator
ABG.Pos_ID = vifDecDutyCalc.Pos_ID
ABG.DutyCalc_ID = vifDecDutyCalc.DutyCalc_ID
ABG.Ty = vifDecDutyCalc.Ty
ABG.BaseD = vifDecDutyCalc.BaseD
ABG.Curr = vifDecDutyCalc.Curr
ABG.Unit = vifDecDutyCalc.Unit
ABG.Base = vifDecDutyCalc.Base
ABG.Rate = vifDecDutyCalc.Rate
ABG.RateUsed = vifDecDutyCalc.RateUsed
ABG.Amnt = vifDecDutyCalc.Amnt
ABG.MeaID = vifDecDutyCalc.MeaID
ABG.TyInd = vifDecDutyCalc.TyInd
POS.ABGABEN.Add(ABG)
Next
End If
POS.DOC_CERTS.Clear() 'Falls DS schon Mal eingearbeitet wurde
If vidDescITEM.vifDecDocCerts IsNot Nothing AndAlso vidDescITEM.vifDecDocCerts.Count > 0 Then
For Each vifDecDocCerts In vidDescITEM.vifDecDocCerts
Dim DOCS As New TELOTEC_Worker.cTelotec_PositionsdatenDokumente
DOCS.Mandant_ID = vifDecDocCerts.Mandant_ID
DOCS.Bereich_ID = vifDecDocCerts.Bereich_ID
DOCS.Referenz_ID = vifDecDocCerts.Referenz_ID
DOCS.ComIndicator = vifDecDocCerts.ComIndicator
DOCS.Pos_ID = vifDecDocCerts.Pos_ID
DOCS.DocCerts_ID = vifDecDocCerts.DocCerts_ID
DOCS.DocCerts_DocCd = vifDecDocCerts.DocCerts_DocCd
DOCS.DocCerts_DTy = vifDecDocCerts.DocCerts_DTy
DOCS.DocCerts_DRef = vifDecDocCerts.DocCerts_DRef
DOCS.DocCerts_IssD = vifDecDocCerts.DocCerts_IssD
POS.DOC_CERTS.Add(DOCS)
Next
End If
TC.POSITIONSDATEN.Add(POS)
Next
End If
TC.SICHERHEIT.Clear() 'Falls DS schon Mal eingearbeitet wurde
If vifDEC.vifDecGrteeRef IsNot Nothing AndAlso vifDEC.vifDecGrteeRef.Count > 0 Then
For Each vifDecGrteeRef In vifDEC.vifDecGrteeRef
Dim GRT As New TELOTEC_Worker.cTelotec_Sicherheit
GRT.Mandant_ID = vifDecGrteeRef.Mandant_ID
GRT.Bereich_ID = vifDecGrteeRef.Bereich_ID
GRT.Referenz_ID = vifDecGrteeRef.Referenz_ID
GRT.ComIndicator = vifDecGrteeRef.ComIndicator
GRT.GrteeRef_ID = vifDecGrteeRef.GrteeRef_ID
GRT.GrteeRef_GTy = vifDecGrteeRef.Grtee_GTy
GRT.GRN = vifDecGrteeRef.GRN
GRT.OGR = vifDecGrteeRef.OGR
GRT.Acc = vifDecGrteeRef.Acc
GRT.GTIN = vifDecGrteeRef.GTIN
GRT.GVal = vifDecGrteeRef.GVal
GRT.Curr = vifDecGrteeRef.Curr
TC.SICHERHEIT.Add(GRT)
Next
End If
TC.ABGABEN.Clear() 'Falls DS schon Mal eingearbeitet wurde
If vifDEC.vifDecTotDuties IsNot Nothing AndAlso vifDEC.vifDecTotDuties.Count > 0 Then
For Each vifDecTotDuties In vifDEC.vifDecTotDuties
Dim ABG As New TELOTEC_Worker.cTelotec_Abgaben
ABG.Mandant_ID = vifDecTotDuties.Mandant_ID
ABG.Bereich_ID = vifDecTotDuties.Bereich_ID
ABG.Referenz_ID = vifDecTotDuties.Referenz_ID
ABG.ComIndicator = vifDecTotDuties.ComIndicator
ABG.TotDuties_ID = vifDecTotDuties.TotDuties_ID
ABG.Ty = vifDecTotDuties.Ty
ABG.Amnt = vifDecTotDuties.Amnt
ABG.TyInd = vifDecTotDuties.TyInd
ABG.Erstelldatum = vifDecTotDuties.Erstelldatum
TC.ABGABEN.Add(ABG)
Next
End If
''''Aktuellste Nachricht
If SQL.getValueTxtBySql("Select COUNT(*) FROM [tblTelotec_Anmeldung] WHERE telanm_BezugsNr='" & TC.telanm_BezugsNr & "' and telanm_Status>'" & TC.telanm_Status & "' ", "FMZOLL") > 0 Then
TC.telnam_aktuellsteNachricht = 0
Else
TC.telnam_aktuellsteNachricht = 1
SQL.doSQL("UPDATE [tblTelotec_Anmeldung] set telnam_aktuellsteNachricht = 0 WHERE telanm_BezugsNr='" & TC.telanm_BezugsNr & "' ", "FMZOLL") 'alle anderen auf 0 setzen
End If
If TC.SAVE() Then
' TELOTEC_Worker.cTELOTEC_Statusmeldungen.InsertStatusMeldung(DY_TMP, TELOTEC_Worker.cDY_Statusliste.S_05)
If If(TC.telanm_Status, 0) = TELOTEC_Worker.cTC_Statusliste.S_60 Then
' TC.insertIntoSpedBuch()
Dim ZOLLIMPORT As New DAKOSY_Worker.cZOLL_IMPORT
ZOLLIMPORT.TelotecImport(TC)
ZOLLIMPORT.insertAbgabenTELOTEC(TC)
End If
' BEREITSTELLUNG DER DATEN AN FREMDSYSTEME
If TC.telanm_ART = "T1" Or TC.telanm_ART.ToString.Contains("T2") Or TC.telanm_ART.ToString.StartsWith("T-") Then
Select Case TC.telanm_Status
Case TELOTEC_Worker.cTC_Statusliste.S_50, TELOTEC_Worker.cTC_Statusliste.S_60
cVERAG_out_ncts.copyFileFTP_VERAGncts_TC(TC)
End Select
End If
End If
End If
Try
' System.System.IO.File.Delete(p)
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
addDGVEinarbeitung("TC: Anmeldung " & MsgType, readTC_Anmeldung)
' End Using
'End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
readTC_Anmeldung = ""
End Try
End Function
Private Sub dgvEinarbeitung_SelectionChanged(sender As Object, e As EventArgs) Handles dgvEinarbeitung.SelectionChanged
dgvEinarbeitung.ClearSelection()
End Sub
Public Function tryToInsertProgramm(brgak_datum, brgak_betrag, brgak_brgaktoId, brgak_filename, brgak_atc, brgak_fileline) As Boolean
Dim sql As String = " begin tran" &
" if Not exists (select * from tblBrgAufschub with (updlock,serializable) where brgak_filename = @brgak_filename AND brgak_fileline=@brgak_fileline) " &
" begin " &
" INSERT INTO tblBrgAufschub " &
" (brgak_datum, brgak_betrag, brgak_brgaktoId, brgak_filename, brgak_atc,brgak_fileline) VALUES " &
" (@brgak_datum, @brgak_betrag, @brgak_brgaktoId, @brgak_filename, @brgak_atc,@brgak_fileline) " &
" End " &
" commit tran "
'(brgak_fileline='' OR ... )
' " ELSE " &
' " begin " &
' " UPDATE tblBrgAufschub " &
' " SET brgak_datum=@brgak_datum, brgak_betrag=@brgak_betrag, brgak_brgaktoId=@brgak_brgaktoId, brgak_filename=@brgak_filename, brgak_atc=@brgak_atc,brgak_fileline=@brgak_fileline " &
' " WHERE brgak_filename = @brgak_filename AND (brgak_fileline='' OR brgak_fileline=@brgak_fileline)" &
' " End " &
Dim cn As New System.Data.SqlClient.SqlConnection()
cn.ConnectionString = "Data Source=SQLGUIDE01.verag.ost.dmn;Initial Catalog=ADMIN;Integrated Security=false;User ID=AppUser;Password=yp/THDd?xM+pZ$;"
cn.Open()
Using cn
Using cmd As New System.Data.SqlClient.SqlCommand(sql, cn)
cmd.Parameters.AddWithValue("@brgak_datum", brgak_datum)
cmd.Parameters.AddWithValue("@brgak_betrag", brgak_betrag)
cmd.Parameters.AddWithValue("@brgak_brgaktoId", brgak_brgaktoId)
cmd.Parameters.AddWithValue("@brgak_filename", brgak_filename)
cmd.Parameters.AddWithValue("@brgak_atc", brgak_atc)
cmd.Parameters.AddWithValue("@brgak_fileline", brgak_fileline)
Try
cmd.ExecuteNonQuery()
''Lösche File: --> vom ALTEN ATLAS
'Try
' System.System.IO.File.Delete(frmRoutineManager.PathATLAS & "\" & brgak_filename)
'Catch ex As Exception
' writeLog("ERROR", "Fehler beim Löschen der Aufschub-Datei: " & ex.Message)
'End Try
Return True
Catch ex As System.Data.SqlClient.SqlException
writeLog("ERROR", "Fehler beim Schreiben in die Datenbank: " & ex.Message)
End Try
End Using
End Using
cn.Close()
Return False
End Function
Private Sub frmTCNachrichtenVerarbeitung_Shown(sender As Object, e As EventArgs) Handles Me.Shown
If allowClose Then
Me.Refresh()
Button2.PerformClick()
Button1.PerformClick()
System.Threading.Thread.Sleep(2000)
Me.Close()
End If
End Sub
End Class