This commit is contained in:
2023-11-22 16:03:04 +01:00
9 changed files with 27107 additions and 5 deletions

View File

@@ -583,6 +583,15 @@ Public Class cGetMsgType
Return False
End Function
Shared Function isNCTS_VersandanmeldungXML_DETPRH(doc As XmlDocument) As Boolean
If doc.HasChildNodes Then
If doc.GetElementsByTagName("DETPRH").Count > 0 Then
Return True
End If
End If
Return False
End Function
Shared Function isNCTS_AnkunftsanzeigeXML(doc As XmlDocument) As Boolean
If doc.HasChildNodes Then
If doc.GetElementsByTagName("DETBAE").Count > 0 Then

View File

@@ -1130,6 +1130,98 @@ Public Class cWorker_NCTS
End Try
End Function
Public Shared Function readNCTS_VersandanmeldungXML_DETPRH(FORM As frmDYNachrichtenVerarbeitung, doc As XmlDocument, ByRef statusTMP As DAKOSY_Worker.cDakosy_Statusmeldungen) As String
Try
readNCTS_VersandanmeldungXML_DETPRH = ""
Dim sw = New StringWriter()
Dim xw = New XmlTextWriter(sw)
doc.WriteTo(xw)
Dim XmlString = sw.ToString()
If XmlString.Contains("<DETPRH>") Then
Dim xmlDETPRH = XmlString.Substring(XmlString.IndexOf("<DETPRH>"), XmlString.IndexOf("</DETPRH>") + 9 - XmlString.IndexOf("<DETPRH>"))
' MsgBox(xmlDETPRH)
Dim p = Path.GetTempFileName
Using outputFile As New StreamWriter(p, False, System.Text.Encoding.Default)
outputFile.Write(xmlDETPRH)
outputFile.Close()
Dim AnsprechpTMP_Email = ""
Dim DETPRH As DAKOSY_Worker.DETPRH.DETPRH = DAKOSY_Worker.DETPRH.DETPRH.LoadFromFile(p)
' Dim NCTS As New DAKOSY_Worker.cDakosyNCTS
If DETPRH IsNot Nothing AndAlso DETPRH.TransitOperation IsNot Nothing AndAlso DETPRH.TransitOperation.LRN IsNot Nothing AndAlso DETPRH.TransitOperation.LRN <> "" Then
readNCTS_VersandanmeldungXML_DETPRH = DETPRH.TransitOperation.LRN
Else
Return "" 'Keine Bezugsnummer
End If
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = frmDYNachrichtenVerarbeitung.saveDY_ZA(readNCTS_VersandanmeldungXML_DETPRH, "NCTS")
Dim NCTS As DAKOSY_Worker.cDakosyNCTSOut004 = DAKOSY_Worker.cDakosyNCTSOut004.LOADByBezugsNr(readNCTS_VersandanmeldungXML_DETPRH, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
If NCTS Is Nothing Then NCTS = New DAKOSY_Worker.cDakosyNCTSOut004
If DY_TMP IsNot Nothing Then NCTS.ncts_dyaAnmID = DY_TMP.dy_Id
NCTS.ncts_ObjectName = readNCTS_VersandanmeldungXML_DETPRH
If DY_TMP.dy_AvisoId Is Nothing Then
DY_TMP.tryFindAviso()
DY_TMP.SAVE()
End If
If DETPRH IsNot Nothing Then
If DETPRH.TransitOperation IsNot Nothing Then
If getDatumXMLNothing(DETPRH.TransitOperation.limitDate.Date) IsNot Nothing Then
NCTS.ncts_LimitDate = CDate(getDatumXMLNothing(DETPRH.TransitOperation.limitDate.Date))
End If
End If
End If
frmDYNachrichtenVerarbeitung.tryGetNCTS004BasicData(NCTS) 'Versuchen Daten aus der Vorerfassung zu laden - ansonsten werden diese überschrieben!
frmDYNachrichtenVerarbeitung.tryGetFirmaNiederlassung(NCTS.ncts_firma, NCTS.ncts_niederlassung, If(AnsprechpTMP_Email, "").ToString, readNCTS_VersandanmeldungXML_DETPRH)
If If(NCTS.ncts_Status, 0) <= 50 Then NCTS.ncts_Status = DAKOSY_Worker.cDY_Statusliste.S_50
' If If(NCTS.ncts_Status_KEWILL_Equivalent, 0) <= 5 Then NCTS.ncts_Status_KEWILL_Equivalent = DAKOSY_Worker.cDY_Statusliste.S_05
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_50,,,, statusTMP)
Else
readNCTS_VersandanmeldungXML_DETPRH = ""
End If
Try
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
FORM.addDGVEinarbeitung("NCTS: Überlassungsmeldung ZOLL DETPRH", readNCTS_VersandanmeldungXML_DETPRH)
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)
readNCTS_VersandanmeldungXML_DETPRH = ""
End Try
End Function
Shared Function getDatumXMLNothing(dateTmp) As Object
If dateTmp IsNot Nothing AndAlso dateTmp.ToString.Trim <> "" AndAlso IsDate(dateTmp) Then
@@ -3786,7 +3878,24 @@ Public Class cWorker_NCTS
' If ATEZ.status IsNot Nothing Then
'If ATEZ.status < 40 Then
Dim fio As New IO.FileInfo(filePath)
FileCopy(filePath, "\\ftps.verag.ag\FTP\ATEZ\OUT\" & fio.Name.Replace("lock_", ""))
FileCopy(filePath, "\\ftps.verag.ag\FTP\ATEZ\OUT\" & fio.Name.Replace("lock_", ""))
'End If
' End If
End If
End Sub
Shared Sub checkATEZ_Bereitstellung_VBD(dy_BezugsNr As String, filePath As String)
'If DY_TMP Is Nothing Then Exit Sub
Dim ATEZ = VERAG_PROG_ALLGEMEIN.cATEZ_NCTS_DATA.LOAD_ByBezugsNr(dy_BezugsNr)
If ATEZ IsNot Nothing AndAlso ATEZ.hasEntry Then
' If ATEZ.status IsNot Nothing Then
'If ATEZ.status < 40 Then
Dim NCTS = cDakosyNCTSOut004.LOADByBezugsNr(dy_BezugsNr, False)
If NCTS IsNot Nothing Then
Dim fio As New IO.FileInfo(filePath)
FileCopy(filePath, "\\ftps.verag.ag\FTP\ATEZ\OUT\PDF\" & If(NCTS.ncts_MRN, fio.Name.Replace("lock_", "")))
End If
'End If
' End If
End If

View File

@@ -290,6 +290,10 @@ Public Class frmDYNachrichtenVerarbeitung
If cWorker_NCTS.readNCTS_VersandanmeldungXML(Me, doc, statusTMP) <> "" Then found = True
End If
'NCTS: Überlassungsmeldung ATLAS 9.1 --> Limit
If Not found AndAlso cGetMsgType.isNCTS_VersandanmeldungXML_DETPRH(doc) Then
If cWorker_NCTS.readNCTS_VersandanmeldungXML_DETPRH(Me, doc, statusTMP) <> "" Then found = True
End If
'NCTS: Ankunftsanzeige

View File

@@ -1849,6 +1849,14 @@ Public Class frmStartOptions
End If
End If
'=====ATEZ BEREITSTELLUNG==========
cWorker_NCTS.checkATEZ_Bereitstellung_VBD(betreff.ToString.Trim, destFull)
'==================================
ElseIf betreff.ToString.Contains("DAKOSY GE - Abgabenbescheid/Befund , Bezugsnr.: ") Then
betreff = betreff.replace("WG: ", "")
betreff = betreff.replace("FW: ", "")