14.08.2019

This commit is contained in:
2019-08-14 09:02:16 +02:00
parent 82e1bf915b
commit 554262d804
4 changed files with 87 additions and 20 deletions

View File

@@ -9,7 +9,7 @@ Public Class cWorker_NCTS
Public Shared Function readNCTS_VersandanmeldungXML(FORM As frmDYNachrichtenVerarbeitung, doc As XmlDocument) As String
Public Shared Function readNCTS_VersandanmeldungXML(FORM As frmDYNachrichtenVerarbeitung, doc As XmlDocument, ByRef statusTMP As DAKOSY_Worker.cDakosy_Statusmeldungen) As String
Try
readNCTS_VersandanmeldungXML = ""
Dim sw = New StringWriter()
@@ -364,7 +364,7 @@ Public Class cWorker_NCTS
NCTS.ncts_Status_KEWILL_Equivalent = NCTS.ncts_Status
If NCTS.SAVE_ALL() Then
If If(NCTS.ncts_Status, 0) <= 5 Then DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_TMP, DAKOSY_Worker.cDY_Statusliste.S_05)
If If(NCTS.ncts_Status, 0) <= 5 Then DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_TMP, DAKOSY_Worker.cDY_Statusliste.S_05,,,, statusTMP)
Else
readNCTS_VersandanmeldungXML = ""
End If
@@ -1403,7 +1403,7 @@ Public Class cWorker_NCTS
Shared Function readNCTS_Ueberlassungsmeldung(FORM As frmDYNachrichtenVerarbeitung, d As String) As String
Shared Function readNCTS_Ueberlassungsmeldung(FORM As frmDYNachrichtenVerarbeitung, d As String, ByRef statusTMP As DAKOSY_Worker.cDakosy_Statusmeldungen) As String
Try
Dim NCTS As DAKOSY_Worker.UeberlassungsmeldungNCTSDE.UeberlassungsmeldungMRTyp = DAKOSY_Worker.UeberlassungsmeldungNCTSDE.UeberlassungsmeldungMRTyp.LoadFromFile(d)
Dim MRN = ""
@@ -1460,6 +1460,9 @@ Public Class cWorker_NCTS
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
statusTMP = STATUS
copyFileFTP(NCTS_TMP, DY_TMP)
'If If(NCTS_TMP.ncts_firma, "") = "IMEX" Then NCTS_TMP.insertIntoSpedBuch(DY_TMP)
@@ -1679,7 +1682,7 @@ Public Class cWorker_NCTS
End Try
End Function
Shared Function readNCTS_Ueberlassungsmeldung005(FORM As frmDYNachrichtenVerarbeitung, d As String) As String
Shared Function readNCTS_Ueberlassungsmeldung005(FORM As frmDYNachrichtenVerarbeitung, d As String, ByRef statusTMP As DAKOSY_Worker.cDakosy_Statusmeldungen) As String
Try
' Dim NCTS As DAKOSY_Worker.UeberlassungsmeldungNCTSDE.UeberlassungsmeldungMRTyp = DAKOSY_Worker.UeberlassungsmeldungNCTSDE.UeberlassungsmeldungMRTyp.LoadFromFile(d)
Dim NCTS As DAKOSY_Worker.UeberlassungsmeldungNCTSDE_005.UeberlassungsmeldungMRTyp = DAKOSY_Worker.UeberlassungsmeldungNCTSDE_005.UeberlassungsmeldungMRTyp.LoadFromFile(d)
@@ -1737,6 +1740,8 @@ Public Class cWorker_NCTS
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
statusTMP = STATUS
copyFileFTP(NCTS_TMP, DY_TMP)
' If If(NCTS_TMP.ncts_firma, "") = "IMEX" Then
NCTS_TMP.insertIntoSpedBuch(DY_TMP)
@@ -1752,7 +1757,7 @@ Public Class cWorker_NCTS
End Function
Shared Function readNCTS_Ueberlassungsmeldung006(FORM As frmDYNachrichtenVerarbeitung, d As String) As String
Shared Function readNCTS_Ueberlassungsmeldung006(FORM As frmDYNachrichtenVerarbeitung, d As String, ByRef statusTMP As DAKOSY_Worker.cDakosy_Statusmeldungen) As String
Try
' Dim NCTS As DAKOSY_Worker.UeberlassungsmeldungNCTSDE.UeberlassungsmeldungMRTyp = DAKOSY_Worker.UeberlassungsmeldungNCTSDE.UeberlassungsmeldungMRTyp.LoadFromFile(d)
Dim NCTS As DAKOSY_Worker.UeberlassungsmeldungNCTSDE_006.UeberlassungsmeldungMRTyp = DAKOSY_Worker.UeberlassungsmeldungNCTSDE_006.UeberlassungsmeldungMRTyp.LoadFromFile(d)
@@ -1810,6 +1815,8 @@ Public Class cWorker_NCTS
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
statusTMP = STATUS
copyFileFTP(NCTS_TMP, DY_TMP)
' If If(NCTS_TMP.ncts_firma, "") = "IMEX" Then
NCTS_TMP.insertIntoSpedBuch(DY_TMP)
@@ -1824,8 +1831,44 @@ Public Class cWorker_NCTS
End Try
End Function
Shared Function copyFileFTP(NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut, DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen) ', filePath As String)
Try
If NCTS_TMP Is Nothing Then Return False
If NCTS_TMP.ncts_ObjectName Is Nothing Then Return False
If NCTS_TMP.ncts_ObjectName.ToString.StartsWith("DU") Then Return False
If NCTS_TMP.ncts_firma.ToString = "DURMAZ" Then Return False
Dim filePath = SQL.getValueTxtBySql("select [dySt_pfad] from [tblDakosy_Statusmeldungen] where dySt_BezugsNr='" & NCTS_TMP.ncts_ObjectName & "' and [dySt_status]=5 and [dySt_pfad] is not null ", "FMZOLL")
If filePath = "" Then Return False
NCTS_TMP.LOAD_Sicherheitsangaben()
If NCTS_TMP.ncts_SICHERHEITSANGABEN IsNot Nothing AndAlso NCTS_TMP.ncts_SICHERHEITSANGABEN.Count > 0 Then
Dim GRN = NCTS_TMP.ncts_SICHERHEITSANGABEN(0).nctsSA_GRN
Dim destFile = ""
Select Case GRN
' --> FTP Bereitstellung
'\\192.168.0.91\Datenarchiv\DAKOSY\ECHTSYSTEM\FTP\TOBB
Case "15TR0004000020917", "12TR0004000004665", "17TR0004000032349"
frmStartOptions.copyFile(filePath, "\\ftps.verag.ag\FTP\TOBB\OUT\", destFile)
If IO.File.Exists(destFile) Then insertFTPLOG(destFile, "TOBB") Else VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datei existiert nicht: " & destFile & vbNewLine & NCTS_TMP.ncts_ObjectName, "", "copyFileFTP")
Case "18DE0000000073276", "19DE0000000075520", "18DE0000000075520"
frmStartOptions.copyFile(filePath, "\\ftps.verag.ag\FTP\OREGON\OUT\", destFile)
If IO.File.Exists(destFile) Then insertFTPLOG(destFile, "OREGON") Else VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datei existiert nicht: " & destFile & vbNewLine & NCTS_TMP.ncts_ObjectName, "", "copyFileFTP")
Case "17DE0000000071678", "05AT510000G000FP7" 'VERAG
frmStartOptions.copyFile(filePath, "\\192.168.0.91\Datenarchiv\DAKOSY\ECHTSYSTEM\FTP\VERAG\", destFile)
If IO.File.Exists(destFile) Then insertFTPLOG(destFile, "VERAG") Else VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datei existiert nicht: " & destFile & vbNewLine & NCTS_TMP.ncts_ObjectName, "", "copyFileFTP")
End Select
End If
Return True
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
Return False
End Try
End Function
Shared Function insertFTPLOG(filePath, user)
Return SQL.doSQL("INSERT INTO tblFTP_Log (ftp_filepath,ftp_user) VALUES ('" & filePath & "','" & user & "')", "FMZOLL")
End Function
Shared Sub SaveNCTS_WGDAT(ByRef NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut, WGDAT As Object)

View File

@@ -193,6 +193,8 @@ Public Class frmDYNachrichtenVerarbeitung
cWorker_NCTS.Dateiname = d
If IO.File.Exists(d) Then
Dim found = False
Dim statusTMP As DAKOSY_Worker.cDakosy_Statusmeldungen = Nothing
Dim fi As FileInfo = New FileInfo(d)
' EDIFACT
@@ -260,7 +262,7 @@ Public Class frmDYNachrichtenVerarbeitung
'NCTS: Versandanmeldung
If Not found AndAlso cGetMsgType.isNCTS_VersandanmeldungXML(doc) Then
If cWorker_NCTS.readNCTS_VersandanmeldungXML(Me, doc) <> "" Then found = True
If cWorker_NCTS.readNCTS_VersandanmeldungXML(Me, doc, statusTMP) <> "" Then found = True
End If
'NCTS: Ankunftsanzeige
@@ -277,9 +279,9 @@ Public Class frmDYNachrichtenVerarbeitung
'NCTS: Ueberlassungsmeldung
If Not found And cGetMsgType.isNCTS_Ueberlassungsmeldung(doc, VERSION) Then
Select Case VERSION
Case "006" : If cWorker_NCTS.readNCTS_Ueberlassungsmeldung006(Me, d) <> "" Then found = True ': MsgBox("005!")
Case "005" : If cWorker_NCTS.readNCTS_Ueberlassungsmeldung005(Me, d) <> "" Then found = True ': MsgBox("005!")
Case Else : If cWorker_NCTS.readNCTS_Ueberlassungsmeldung(Me, d) <> "" Then found = True
Case "006" : If cWorker_NCTS.readNCTS_Ueberlassungsmeldung006(Me, d, statusTMP) <> "" Then found = True ': MsgBox("005!")
Case "005" : If cWorker_NCTS.readNCTS_Ueberlassungsmeldung005(Me, d, statusTMP) <> "" Then found = True ': MsgBox("005!")
Case Else : If cWorker_NCTS.readNCTS_Ueberlassungsmeldung(Me, d, statusTMP) <> "" Then found = True
End Select
End If
@@ -486,8 +488,14 @@ Public Class frmDYNachrichtenVerarbeitung
If True Then
If Not alreadyMoved Then
If found Then
If Not IO.Directory.Exists(ZIEL_PFAD & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\") Then IO.Directory.CreateDirectory(ZIEL_PFAD & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
frmStartOptions.moveFile(d, ZIEL_PFAD & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
Dim dest = ZIEL_PFAD & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\"
If Not IO.Directory.Exists(dest) Then IO.Directory.CreateDirectory(dest)
Dim destFile = ""
If frmStartOptions.moveFile(d, dest, destFile) Then ' dest: Filename wird angefügt
If statusTMP IsNot Nothing Then
statusTMP.updatePfad(destFile)
End If
End If
Else
frmStartOptions.moveFile(d, ERROR_PFAD)
End If

View File

@@ -489,11 +489,13 @@ Public Class frmStartOptions
Public Function copyFile(file, toDirectory, Optional ByRef dest = "")
If Not IO.File.Exists(file) Then Return False
If Not IO.Directory.Exists(toDirectory) Then IO.Directory.CreateDirectory(toDirectory)
dest = toDirectory & cut_file(file)
dest = toDirectory & ".tmp_" & cut_file(file)
If IO.File.Exists(dest) Then
dest = toDirectory & Now.ToString("yyMMdd_HHmmss.fff_") & cut_file(file)
dest = toDirectory & ".tmp_" & Now.ToString("yyMMdd_HHmmss.fff_") & cut_file(file)
End If
IO.File.Copy(file, dest) ' Verschiebt die Datei
IO.File.Move(dest, dest.ToString.Replace(".tmp_", "")) ' Umbenennen der Datei --> der "." am Anfang dient dazu, dass die Datei nicht abgegriffen wird, während sie kopiert wird!
dest = dest.ToString.Replace(".tmp_", "")
Return True
End Function