2030 lines
111 KiB
VB.net
2030 lines
111 KiB
VB.net
Imports System.Globalization
|
|
Imports System.IO
|
|
Imports System.Xml
|
|
|
|
Public Class cWorker_NCTS
|
|
Public Shared Dateiname = ""
|
|
|
|
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
|
|
|
|
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()
|
|
Dim xw = New XmlTextWriter(sw)
|
|
doc.WriteTo(xw)
|
|
Dim XmlString = sw.ToString()
|
|
If XmlString.Contains("<DETUDC>") Then
|
|
Dim xmlDETUDC = XmlString.Substring(XmlString.IndexOf("<DETUDC>"), XmlString.IndexOf("</DETUDC>") + 9 - XmlString.IndexOf("<DETUDC>"))
|
|
' MsgBox(xmlDETUDC)
|
|
Dim p = Path.GetTempFileName
|
|
|
|
Using outputFile As New StreamWriter(p, False, System.Text.Encoding.Default)
|
|
outputFile.Write(xmlDETUDC)
|
|
outputFile.Close()
|
|
|
|
|
|
Dim AnsprechpTMP_Email = ""
|
|
Dim DETUDC As DAKOSY_Worker.DETUDC.DETUDC = DAKOSY_Worker.DETUDC.DETUDC.LoadFromFile(p)
|
|
' Dim NCTS As New DAKOSY_Worker.cDakosyNCTS
|
|
|
|
|
|
|
|
If DETUDC IsNot Nothing AndAlso DETUDC.Header IsNot Nothing AndAlso DETUDC.Header.LocalReferenceNumber IsNot Nothing AndAlso DETUDC.Header.LocalReferenceNumber <> "" Then
|
|
readNCTS_VersandanmeldungXML = DETUDC.Header.LocalReferenceNumber
|
|
Else
|
|
Return "" 'Keine Bezugsnummer
|
|
End If
|
|
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = frmDYNachrichtenVerarbeitung.saveDY_ZA(readNCTS_VersandanmeldungXML, "NCTS")
|
|
|
|
Dim NCTS As DAKOSY_Worker.cDakosyNCTSOut = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(readNCTS_VersandanmeldungXML, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
|
|
|
|
If NCTS Is Nothing Then NCTS = New DAKOSY_Worker.cDakosyNCTSOut
|
|
If DY_TMP IsNot Nothing Then NCTS.ncts_dyaAnmID = DY_TMP.dy_Id
|
|
|
|
NCTS.ncts_ObjectName = readNCTS_VersandanmeldungXML
|
|
If DY_TMP.dy_AvisoId Is Nothing Then
|
|
DY_TMP.tryFindAviso()
|
|
DY_TMP.SAVE()
|
|
End If
|
|
|
|
If DETUDC IsNot Nothing Then
|
|
|
|
|
|
If DETUDC.Header IsNot Nothing Then
|
|
NCTS.ncts_VersendungsLandCode = DETUDC.Header.DepartureCountry
|
|
NCTS.ncts_BestimmungslandCode = DETUDC.Header.DestinationCountry
|
|
|
|
NCTS.ncts_SumA_Ladeort = DETUDC.Header.LoadingPlace
|
|
NCTS.ncts_SumA_Entladeort = DETUDC.Header.UnloadingPlace
|
|
If getDatumXMLNothing(DETUDC.Header.PresentationDate.Date) IsNot Nothing Then
|
|
NCTS.ncts_Wiedergestellungsdatum = CDate(getDatumXMLNothing(DETUDC.Header.PresentationDate.Date))
|
|
End If
|
|
NCTS.ncts_GesamtRohmasse = DETUDC.Header.TotalGrossMassMeasure
|
|
NCTS.ncts_SumA_BesondereUmstaende = DETUDC.Header.SpecificCircumstanceIndicator
|
|
NCTS.ncts_SumA_BefoerderungskostenZahlungsweise = DETUDC.Header.TransportChargesPaymentMethod
|
|
NCTS.ncts_SumA_KennnummerSendung = DETUDC.Header.CommercialReferenceNumber
|
|
NCTS.ncts_KzVereinfachtesVerfahren = DETUDC.Header.SimplifiedProcedureFlag
|
|
NCTS.ncts_SumA_KzSumASicherheit = DETUDC.Header.SecurityFlag
|
|
|
|
If DETUDC.Header.Declaration IsNot Nothing Then NCTS.ncts_ArtAnmeldung = DETUDC.Header.Declaration.Type
|
|
' MsgBox(DETUDC.Header.MessageVersion) 'NCTS.ncts_Trans_Version = DETUDC.Header.MessageVersion NUMERIC
|
|
End If
|
|
If True Then
|
|
|
|
If DETUDC.Packages IsNot Nothing Then
|
|
NCTS.ncts_GesamtAnzahlPackstuecke = DETUDC.Packages.Quantity
|
|
End If
|
|
If DETUDC.AuthorisedConsignee IsNot Nothing AndAlso DETUDC.AuthorisedConsignee.Identification IsNot Nothing Then
|
|
NCTS.ncts_ZugelassenerEmpfaenger_EORI = DETUDC.AuthorisedConsignee.Identification.ReferenceNumber
|
|
End If
|
|
|
|
'VERSCHLÜSSE
|
|
If DETUDC.Seals IsNot Nothing Then
|
|
NCTS.ncts_Verschluss_ArtCode = DETUDC.Seals.Type
|
|
NCTS.ncts_Verschluss_Anzahl = DETUDC.Seals.Number
|
|
If DETUDC.Seals.Seal IsNot Nothing AndAlso DETUDC.Seals.Seal.Count > 0 Then
|
|
Dim cntTmp = 0
|
|
For Each SEAL In DETUDC.Seals.Seal
|
|
If cntTmp = 0 Then NCTS.ncts_Verschluss_Zeichen1 = SEAL.Identity
|
|
If cntTmp = 1 Then NCTS.ncts_Verschluss_Zeichen2 = SEAL.Identity
|
|
If cntTmp = 2 Then NCTS.ncts_Verschluss_Zeichen3 = SEAL.Identity
|
|
If cntTmp = 3 Then NCTS.ncts_Verschluss_Zeichen4 = SEAL.Identity
|
|
If cntTmp = 4 Then NCTS.ncts_Verschluss_Zeichen5 = SEAL.Identity
|
|
If cntTmp = 5 Then NCTS.ncts_Verschluss_Zeichen6 = SEAL.Identity
|
|
If cntTmp = 6 Then NCTS.ncts_Verschluss_Zeichen7 = SEAL.Identity
|
|
If cntTmp = 7 Then NCTS.ncts_Verschluss_Zeichen8 = SEAL.Identity
|
|
If cntTmp = 8 Then NCTS.ncts_Verschluss_Zeichen9 = SEAL.Identity
|
|
If cntTmp = 9 Then NCTS.ncts_Verschluss_Zeichen10 = SEAL.Identity
|
|
If cntTmp = 10 Then NCTS.ncts_Verschluss_Zeichen11 = SEAL.Identity
|
|
If cntTmp = 11 Then NCTS.ncts_Verschluss_Zeichen12 = SEAL.Identity
|
|
If cntTmp = 12 Then NCTS.ncts_Verschluss_Zeichen13 = SEAL.Identity
|
|
If cntTmp = 13 Then NCTS.ncts_Verschluss_Zeichen14 = SEAL.Identity
|
|
If cntTmp = 14 Then NCTS.ncts_Verschluss_Zeichen15 = SEAL.Identity
|
|
If cntTmp = 15 Then NCTS.ncts_Verschluss_Zeichen16 = SEAL.Identity
|
|
cntTmp += 1
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
|
|
'BefoerderungsrouteLand
|
|
If DETUDC.Itinerary IsNot Nothing Then
|
|
If DETUDC.Itinerary IsNot Nothing AndAlso DETUDC.Itinerary.Count > 0 Then
|
|
Dim cntTmp = 0
|
|
For Each Route In DETUDC.Itinerary
|
|
If cntTmp = 0 Then NCTS.ncts_SumA_BefoerderungsrouteLand1 = Route.Country
|
|
If cntTmp = 1 Then NCTS.ncts_SumA_BefoerderungsrouteLand2 = Route.Country
|
|
If cntTmp = 2 Then NCTS.ncts_SumA_BefoerderungsrouteLand3 = Route.Country
|
|
If cntTmp = 3 Then NCTS.ncts_SumA_BefoerderungsrouteLand4 = Route.Country
|
|
If cntTmp = 4 Then NCTS.ncts_SumA_BefoerderungsrouteLand5 = Route.Country
|
|
If cntTmp = 5 Then NCTS.ncts_SumA_BefoerderungsrouteLand6 = Route.Country
|
|
If cntTmp = 6 Then NCTS.ncts_SumA_BefoerderungsrouteLand7 = Route.Country
|
|
If cntTmp = 7 Then NCTS.ncts_SumA_BefoerderungsrouteLand8 = Route.Country
|
|
If cntTmp = 8 Then NCTS.ncts_SumA_BefoerderungsrouteLand9 = Route.Country
|
|
If cntTmp = 9 Then NCTS.ncts_SumA_BefoerderungsrouteLand10 = Route.Country
|
|
If cntTmp = 10 Then NCTS.ncts_SumA_BefoerderungsrouteLand11 = Route.Country
|
|
If cntTmp = 11 Then NCTS.ncts_SumA_BefoerderungsrouteLand12 = Route.Country
|
|
cntTmp += 1
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
|
|
'Durchgangszollstelle
|
|
If DETUDC.TransitCustomsOffice IsNot Nothing Then
|
|
If DETUDC.TransitCustomsOffice IsNot Nothing AndAlso DETUDC.TransitCustomsOffice.Count > 0 Then
|
|
Dim cntTmp = 0
|
|
For Each DZST In DETUDC.TransitCustomsOffice
|
|
If cntTmp = 0 Then NCTS.ncts_DurchgangszollstelleDienststellnummer1 = DZST.ReferenceNumber
|
|
If cntTmp = 1 Then NCTS.ncts_DurchgangszollstelleDienststellnummer2 = DZST.ReferenceNumber
|
|
If cntTmp = 2 Then NCTS.ncts_DurchgangszollstelleDienststellnummer3 = DZST.ReferenceNumber
|
|
If cntTmp = 3 Then NCTS.ncts_DurchgangszollstelleDienststellnummer4 = DZST.ReferenceNumber
|
|
If cntTmp = 4 Then NCTS.ncts_DurchgangszollstelleDienststellnummer5 = DZST.ReferenceNumber
|
|
If cntTmp = 5 Then NCTS.ncts_DurchgangszollstelleDienststellnummer6 = DZST.ReferenceNumber
|
|
If cntTmp = 6 Then NCTS.ncts_DurchgangszollstelleDienststellnummer7 = DZST.ReferenceNumber
|
|
If cntTmp = 7 Then NCTS.ncts_DurchgangszollstelleDienststellnummer8 = DZST.ReferenceNumber
|
|
If cntTmp = 8 Then NCTS.ncts_DurchgangszollstelleDienststellnummer9 = DZST.ReferenceNumber
|
|
cntTmp += 1
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
If DETUDC.ProcedureOwner IsNot Nothing Then
|
|
If DETUDC.ProcedureOwner.ContactPerson IsNot Nothing Then
|
|
Dim AnsprechpTMP = DETUDC.ProcedureOwner.ContactPerson.Name
|
|
If AnsprechpTMP <> "" Then
|
|
Dim SB_Tmp = SQL.getValueTxtBySql("SELECT isnull([mit_DAKOSY_SB],'') FROM [tblMitarbeiter] where [mit_DAKOSY_SBFull]='" & AnsprechpTMP & "'", "ADMIN")
|
|
If SB_Tmp <> "" Then
|
|
NCTS.ncts_Bearbeiter = SB_Tmp
|
|
End If
|
|
End If
|
|
If DETUDC.ProcedureOwner.ContactPerson.MailAddress IsNot Nothing Then
|
|
AnsprechpTMP_Email = DETUDC.ProcedureOwner.ContactPerson.MailAddress
|
|
|
|
|
|
'If AnsprechpTMP_Email.Contains("@imex") Then
|
|
' NCTS.ncts_firma = "IMEX"
|
|
' NCTS.ncts_niederlassung = "IMEX"
|
|
' 'GLOBAL--> EORI
|
|
'ElseIf AnsprechpTMP_Email.Contains("@ambar") Then
|
|
' NCTS.ncts_firma = "AMBAR"
|
|
' NCTS.ncts_niederlassung = "AMBAR"
|
|
'ElseIf AnsprechpTMP_Email.Contains("atilla@verag.ag") Or AnsprechpTMP_Email.Contains("@atilla") Then
|
|
' NCTS.ncts_firma = "ATILLA"
|
|
' NCTS.ncts_niederlassung = "SUB"
|
|
'ElseIf AnsprechpTMP_Email.Contains("@durmaz") Then
|
|
' NCTS.ncts_firma = "DURMAZ"
|
|
' NCTS.ncts_niederlassung = "SBG"
|
|
' 'GLOBAL--> EORI
|
|
'ElseIf AnsprechpTMP_Email.Contains("@verag") Then
|
|
' NCTS.ncts_firma = "VERAG"
|
|
' ' EZA.eza_niederlassung = "IMEX"
|
|
' 'GLOBAL--> EORI
|
|
'ElseIf AnsprechpTMP_Email.Contains("@unisped") Then
|
|
' NCTS.ncts_firma = "UNISPED"
|
|
' NCTS.ncts_niederlassung = "ATSP"
|
|
' 'GLOBAL--> EORI
|
|
'End If
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
' Ansprechpartner
|
|
|
|
'Dim AnsprechpStellungTMP = cEDI.getSimpleLine("RFF+ACD:", lines)
|
|
|
|
If DETUDC.MetaData IsNot Nothing Then
|
|
If DETUDC.MetaData.Preparation IsNot Nothing Then
|
|
If getDatumXMLNothing(DETUDC.MetaData.Preparation.Date) IsNot Nothing Then
|
|
NCTS.ncts_Trans_DatumZeit = CDate(getDatumXMLNothing(DETUDC.MetaData.Preparation.Date))
|
|
End If
|
|
End If
|
|
|
|
If DETUDC.MetaData.InterchangeSender IsNot Nothing AndAlso DETUDC.MetaData.InterchangeSender.Identification IsNot Nothing Then
|
|
NCTS.ncts_NachrichtenSenderTIN = DETUDC.MetaData.InterchangeSender.Identification.ReferenceNumber
|
|
NCTS.ncts_NachrichtenSenderNLNR = DETUDC.MetaData.InterchangeSender.Identification.SubsidiaryNumber
|
|
|
|
End If
|
|
If DETUDC.MetaData.InterchangeRecipient IsNot Nothing AndAlso DETUDC.MetaData.InterchangeRecipient.Identification IsNot Nothing Then
|
|
NCTS.ncts_NachrichtenempfaengerDST = DETUDC.MetaData.InterchangeRecipient.Identification.ReferenceNumber
|
|
End If
|
|
End If
|
|
|
|
If DETUDC.DepartureCustomsOffice IsNot Nothing Then NCTS.ncts_AbgangsDienststellennummer = DETUDC.DepartureCustomsOffice.ReferenceNumber
|
|
If DETUDC.DestinationCustomsOffice IsNot Nothing Then NCTS.ncts_BestimmungsstelleDienststellennummer = DETUDC.DestinationCustomsOffice.ReferenceNumber
|
|
|
|
'Hauptverpflichteter
|
|
If DETUDC.SecurityConsignor IsNot Nothing Then
|
|
NCTS.ncts_Hauptverpflichteter_Name = DETUDC.SecurityConsignor.Name
|
|
If DETUDC.SecurityConsignor.Address IsNot Nothing Then
|
|
NCTS.ncts_Hauptverpflichteter_StrasseHausnummer = DETUDC.SecurityConsignor.Address.Line
|
|
NCTS.ncts_Hauptverpflichteter_Ort = DETUDC.SecurityConsignor.Address.City
|
|
NCTS.ncts_Hauptverpflichteter_PLZ = DETUDC.SecurityConsignor.Address.Postcode
|
|
NCTS.ncts_Hauptverpflichteter_Land = DETUDC.SecurityConsignor.Address.Country
|
|
End If
|
|
If DETUDC.SecurityConsignor.Identification IsNot Nothing Then
|
|
NCTS.ncts_Hauptverpflichteter_EORI = DETUDC.SecurityConsignor.Identification.ReferenceNumber
|
|
NCTS.ncts_Hauptverpflichteter_NLNR = DETUDC.SecurityConsignor.Identification.SubsidiaryNumber
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
If DETUDC.Body IsNot Nothing Then
|
|
' Versender
|
|
If DETUDC.Body.Consignor IsNot Nothing Then
|
|
NCTS.ncts_Versender_Name = DETUDC.Body.Consignor.Name
|
|
If DETUDC.Body.Consignor.Address IsNot Nothing Then
|
|
NCTS.ncts_Versender_StrasseHausnummer = DETUDC.Body.Consignor.Address.Line
|
|
NCTS.ncts_Versender_Ort = DETUDC.Body.Consignor.Address.City
|
|
NCTS.ncts_Versender_PLZ = DETUDC.Body.Consignor.Address.Postcode
|
|
NCTS.ncts_Versender_Land = DETUDC.Body.Consignor.Address.Country
|
|
End If
|
|
If DETUDC.Body.Consignor.Identification IsNot Nothing Then
|
|
NCTS.ncts_Versender_EORI = DETUDC.Body.Consignor.Identification.ReferenceNumber
|
|
NCTS.ncts_Versender_NLNR = DETUDC.Body.Consignor.Identification.SubsidiaryNumber
|
|
End If
|
|
End If
|
|
' Empfänger
|
|
If DETUDC.Body.Consignee IsNot Nothing Then
|
|
NCTS.ncts_Empfaenger_Name = DETUDC.Body.Consignee.Name
|
|
If DETUDC.Body.Consignee.Address IsNot Nothing Then
|
|
NCTS.ncts_Empfaenger_StrasseHausnummer = DETUDC.Body.Consignee.Address.Line
|
|
NCTS.ncts_Empfaenger_Ort = DETUDC.Body.Consignee.Address.City
|
|
NCTS.ncts_Empfaenger_PLZ = DETUDC.Body.Consignee.Address.Postcode
|
|
NCTS.ncts_Empfaenger_Land = DETUDC.Body.Consignee.Address.Country
|
|
End If
|
|
If DETUDC.Body.Consignee.Identification IsNot Nothing Then
|
|
NCTS.ncts_Empfaenger_EORI = DETUDC.Body.Consignee.Identification.ReferenceNumber
|
|
NCTS.ncts_Empfaenger_NLNR = DETUDC.Body.Consignee.Identification.SubsidiaryNumber
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
' Empfänger
|
|
If DETUDC.Carrier IsNot Nothing Then
|
|
NCTS.ncts_SumA_Befoerderer_Name = DETUDC.Carrier.Name
|
|
If DETUDC.Carrier.Address IsNot Nothing Then
|
|
NCTS.ncts_SumA_Befoerderer_StrasseHausnummer = DETUDC.Carrier.Address.Line
|
|
NCTS.ncts_SumA_Befoerderer_Ort = DETUDC.Carrier.Address.City
|
|
NCTS.ncts_SumA_Befoerderer_PLZ = DETUDC.Carrier.Address.Postcode
|
|
NCTS.ncts_SumA_Befoerderer_Land = DETUDC.Carrier.Address.Country
|
|
End If
|
|
If DETUDC.Carrier.Identification IsNot Nothing Then
|
|
NCTS.ncts_SumA_Befoerderer_EORI = DETUDC.Carrier.Identification.ReferenceNumber
|
|
NCTS.ncts_SumA_Befoerderer_NLNR = DETUDC.Carrier.Identification.SubsidiaryNumber
|
|
End If
|
|
End If
|
|
|
|
|
|
If DETUDC.DepartureTransportMeans IsNot Nothing Then
|
|
NCTS.ncts_Befoerderungsmittel_KennzeichenAbgang = DETUDC.DepartureTransportMeans.Identity
|
|
NCTS.ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode = DETUDC.DepartureTransportMeans.Nationality
|
|
End If
|
|
|
|
If DETUDC.BorderTransportMeans IsNot Nothing Then
|
|
NCTS.ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend = DETUDC.BorderTransportMeans.Identity
|
|
NCTS.ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode = DETUDC.BorderTransportMeans.Nationality
|
|
NCTS.ncts_Befoerderungsmittel_ArtGrenzueberschreitung = DETUDC.BorderTransportMeans.Type
|
|
NCTS.ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent = DETUDC.BorderTransportMeans.Mode
|
|
End If
|
|
|
|
|
|
'POSITIONEN
|
|
If DETUDC.Body IsNot Nothing AndAlso DETUDC.Body.GoodsItem IsNot Nothing AndAlso DETUDC.Body.GoodsItem.Count > 0 Then
|
|
NCTS.ncts_WARENPOS.Clear()
|
|
|
|
For Each GOODSITEM In DETUDC.Body.GoodsItem
|
|
Dim WP As New DAKOSY_Worker.cDakosy_NCTSOut_Warenposition
|
|
|
|
WP.nctsWP_PositionsNummer = GOODSITEM.SequenceNumber
|
|
If GOODSITEM.CommodityCode IsNot Nothing Then WP.nctsWP_Warennummer = GOODSITEM.CommodityCode.CommodityCode
|
|
If GOODSITEM.Declaration IsNot Nothing Then WP.nctsWP_ArtAnmeldungPositionCode = GOODSITEM.Declaration.Type
|
|
|
|
WP.nctsWP_Rohmasse = GOODSITEM.GrossMassMeasure
|
|
WP.nctsWP_Eigenmasse = GOODSITEM.NetMassMeasure
|
|
WP.nctsWP_Warenbezeichnung = GOODSITEM.GoodsDescription
|
|
|
|
'Damit nicht zu lang:
|
|
If WP.nctsWP_Warenbezeichnung IsNot Nothing AndAlso WP.nctsWP_Warenbezeichnung.length > 280 Then
|
|
WP.nctsWP_Warenbezeichnung = WP.nctsWP_Warenbezeichnung.substring(0, 280)
|
|
End If
|
|
|
|
WP.nctsWP_Eigenmasse = GOODSITEM.NetMassMeasure
|
|
WP.nctsWP_BestimmungslandPositionCode = GOODSITEM.DestinationCountry
|
|
WP.nctsWP_VersendungslandPositionCode = GOODSITEM.DepartureCountry
|
|
|
|
|
|
If GOODSITEM.Package IsNot Nothing AndAlso GOODSITEM.Package.Count > 0 Then
|
|
For Each PACKAGE In GOODSITEM.Package
|
|
Dim PST = New DAKOSY_Worker.cDakosy_NCTSOut_WarenpositionPackstuecke()
|
|
PST.nctsWpPk_PackstueckeAnzahl = PACKAGE.Quantity
|
|
PST.nctsWpPk_Verpackungsart = PACKAGE.Kind
|
|
PST.nctsWpPk_ZeichenNummern = PACKAGE.MarksNumbers
|
|
WP.nctsWP_PACKSTUECKE.Add(PST)
|
|
Next
|
|
End If
|
|
|
|
|
|
If GOODSITEM.Document IsNot Nothing AndAlso GOODSITEM.Document.Count > 0 Then
|
|
For Each ULdoc In GOODSITEM.Document
|
|
Dim UL = New DAKOSY_Worker.cDakosy_NCTSOut_WarenpositionVorgelegteUnterlagen()
|
|
UL.nctsWpUl_Referenz = ULdoc.ReferenceNumber
|
|
UL.nctsWpUl_Typ = ULdoc.Type
|
|
UL.nctsWpUl_Zusatz = ULdoc.Complement
|
|
WP.nctsWP_UNTERLAGEN.Add(UL)
|
|
Next
|
|
End If
|
|
|
|
|
|
NCTS.ncts_WARENPOS.Add(WP)
|
|
Next
|
|
End If
|
|
|
|
|
|
If DETUDC.Guarantees IsNot Nothing AndAlso DETUDC.Guarantees IsNot Nothing AndAlso DETUDC.Guarantees.Count > 0 Then
|
|
For Each GUARANTEE In DETUDC.Guarantees
|
|
Dim SA As New DAKOSY_Worker.cDakosy_NCTSOut_Sicherheitsangaben
|
|
|
|
SA.nctsSA_AbgabenBetrag = GUARANTEE.Amount
|
|
SA.nctsSA_ArtCode = GUARANTEE.Type
|
|
SA.nctsSA_BezeichnungBescheinigun = GUARANTEE.Certificate
|
|
|
|
If GUARANTEE.NCTS IsNot Nothing Then
|
|
SA.nctsSA_GRN = GUARANTEE.NCTS.GuaranteeReferenceNumber
|
|
SA.nctsSA_TIN = GUARANTEE.NCTS.Identification.ReferenceNumber
|
|
SA.nctsSA_Zugriffcode = GUARANTEE.NCTS.AccessCode.Code
|
|
|
|
End If
|
|
NCTS.ncts_SICHERHEITSANGABEN.Add(SA)
|
|
Next
|
|
End If
|
|
|
|
'-------------------------------------------
|
|
|
|
End If
|
|
|
|
If DETUDC.ProcedureOwner IsNot Nothing Then
|
|
If DETUDC.ProcedureOwner.ContactPerson IsNot Nothing Then
|
|
Dim AnsprechpTMP = DETUDC.ProcedureOwner.ContactPerson.Name
|
|
If AnsprechpTMP <> "" Then
|
|
Dim SB_Tmp = SQL.getValueTxtBySql("SELECT isnull([mit_DAKOSY_SB],'') FROM [tblMitarbeiter] where [mit_DAKOSY_SBFull]='" & AnsprechpTMP & "'", "ADMIN")
|
|
If SB_Tmp <> "" Then
|
|
NCTS.ncts_Bearbeiter = SB_Tmp
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
|
|
frmDYNachrichtenVerarbeitung.tryGetNCTSBasicData(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)
|
|
|
|
|
|
If If(NCTS.ncts_Status, 0) <= 5 Then NCTS.ncts_Status = DAKOSY_Worker.cDY_Statusliste.S_05
|
|
' 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_05,,,, statusTMP)
|
|
Else
|
|
readNCTS_VersandanmeldungXML = ""
|
|
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: Versandanmeldung", readNCTS_VersandanmeldungXML)
|
|
|
|
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 = ""
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Shared Function getDatumXMLNothing(dateTmp) As Object
|
|
If dateTmp IsNot Nothing AndAlso dateTmp.ToString.Trim <> "" AndAlso IsDate(dateTmp) Then
|
|
Dim datum As Date = CDate(dateTmp).ToShortDateString()
|
|
If datum > CDate("01.01.2000") Then
|
|
Return datum
|
|
End If
|
|
End If
|
|
Return Nothing
|
|
End Function
|
|
|
|
|
|
|
|
Shared Function readNCTS_Versandanmeldung(FORM As frmDYNachrichtenVerarbeitung, lines() As String) As String
|
|
Try
|
|
Dim seeErrLine = 0
|
|
Dim bezugsNr = ""
|
|
Dim cntDurchgangsZst = 0
|
|
' Dim cntRoute = 0
|
|
|
|
For Each l In lines
|
|
If l.StartsWith("RFF+ABE:") Then
|
|
bezugsNr = cEDI.getValueReplaced(l.Replace("RFF+ABE:", ""))
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If bezugsNr = "" Then Return ""
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(bezugsNr, "NCTS")
|
|
|
|
Dim NCTS As DAKOSY_Worker.cDakosyNCTSOut = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
|
|
If NCTS Is Nothing Then NCTS = New DAKOSY_Worker.cDakosyNCTSOut
|
|
If DY_TMP IsNot Nothing Then NCTS.ncts_dyaAnmID = DY_TMP.dy_Id
|
|
|
|
If DY_TMP.dy_AvisoId Is Nothing Then
|
|
DY_TMP.tryFindAviso()
|
|
DY_TMP.SAVE()
|
|
End If
|
|
' LOAD bezugsNr
|
|
|
|
|
|
NCTS.ncts_VersendungsLandCode = cEDI.getSimpleLine("LOC+35+", lines)
|
|
NCTS.ncts_BestimmungslandCode = cEDI.getSimpleLine("LOC+36+", lines)
|
|
|
|
NCTS.ncts_SumA_Ladeort = cEDI.getSimpleLine("LOC+5+", lines)
|
|
NCTS.ncts_SumA_Entladeort = cEDI.getSimpleLine("LOC+11+:::", lines)
|
|
|
|
Try
|
|
Dim wgdat = cEDI.getSimpleLine("DTM+150:", lines).Replace(":102", "")
|
|
If wgdat <> "" AndAlso IsNumeric(wgdat) Then
|
|
Dim oDate = DateTime.ParseExact(wgdat, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture)
|
|
NCTS.ncts_Wiedergestellungsdatum = oDate.ToShortDateString
|
|
End If
|
|
Catch ex As Exception
|
|
'sendERRORperMail("---------------- WiedergestellungsDatum Fehler ----------------" & vbNewLine & vbNewLine & ex.Message, ex.StackTrace)
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , "WiedergestellungsDatum Fehler")
|
|
End Try
|
|
|
|
NCTS.ncts_SumA_Entladeort = cEDI.getValueReplaced(cEDI.getSimpleLine("LOC+11+:::", lines))
|
|
|
|
|
|
'NCTS.anzahlPos = cEDI.getSimpleLine("CNT+5:", lines)
|
|
NCTS.ncts_GesamtAnzahlPackstuecke = cEDI.isLeerNothingDblPunktKomma(cEDI.getSimpleLine("CNT+11:", lines))
|
|
NCTS.ncts_GesamtRohmasse = cEDI.isLeerNothingDblPunktKomma(cEDI.getSimpleLine("MEA+WT+AAD+KGM:", lines))
|
|
NCTS.ncts_ZugelassenerEmpfaenger_EORI = cEDI.getSimpleLine("NAD+AU+", lines)
|
|
|
|
'Bef.
|
|
NCTS.ncts_SumA_BefoerderungskostenZahlungsweise = cEDI.getSimpleLine("GIS+900:::", lines, Nothing)
|
|
NCTS.ncts_SumA_BesondereUmstaende = cEDI.getSimpleLine("GIS+801:::", lines, Nothing)
|
|
NCTS.ncts_SumA_KennnummerSendung = cEDI.getSimpleLine("FTX+UCN+++", lines, Nothing)
|
|
|
|
'VereinfachtesVerfahren
|
|
If cEDI.getSimpleLine("GIS+1:119", lines, Nothing) IsNot Nothing Then NCTS.ncts_KzVereinfachtesVerfahren = True
|
|
If cEDI.getSimpleLine("GIS+0:119", lines, Nothing) IsNot Nothing Then NCTS.ncts_KzVereinfachtesVerfahren = False
|
|
|
|
'SumASicherheit
|
|
If cEDI.getSimpleLine("GIS+1:110", lines, Nothing) IsNot Nothing Then NCTS.ncts_SumA_KzSumASicherheit = True
|
|
If cEDI.getSimpleLine("GIS+0:110", lines, Nothing) IsNot Nothing Then NCTS.ncts_SumA_KzSumASicherheit = False
|
|
|
|
'VERSCHLÜSSE
|
|
NCTS.ncts_Verschluss_ArtCode = cEDI.getSimpleLine("RFF+SN:", lines)
|
|
NCTS.ncts_Verschluss_Anzahl = cEDI.isLeerNothingDbl(cEDI.getSimpleLine("CNT+16:", lines))
|
|
'Zeichen
|
|
Dim Verschluesse As New List(Of String)
|
|
For Each l In lines
|
|
If l.StartsWith("SEL+0+:::") Then
|
|
Verschluesse.Add(cEDI.getValueReplaced(l.Replace("SEL+0+:::", "")))
|
|
End If
|
|
Next
|
|
NCTS.ncts_Verschluss_Zeichen1 = If(Verschluesse.Count > 0, Verschluesse(0), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen2 = If(Verschluesse.Count > 1, Verschluesse(1), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen3 = If(Verschluesse.Count > 2, Verschluesse(2), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen4 = If(Verschluesse.Count > 3, Verschluesse(3), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen5 = If(Verschluesse.Count > 4, Verschluesse(4), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen6 = If(Verschluesse.Count > 5, Verschluesse(5), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen7 = If(Verschluesse.Count > 6, Verschluesse(6), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen8 = If(Verschluesse.Count > 7, Verschluesse(7), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen9 = If(Verschluesse.Count > 8, Verschluesse(8), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen10 = If(Verschluesse.Count > 9, Verschluesse(9), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen11 = If(Verschluesse.Count > 10, Verschluesse(10), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen12 = If(Verschluesse.Count > 11, Verschluesse(11), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen13 = If(Verschluesse.Count > 12, Verschluesse(12), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen14 = If(Verschluesse.Count > 13, Verschluesse(13), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen15 = If(Verschluesse.Count > 14, Verschluesse(14), Nothing)
|
|
NCTS.ncts_Verschluss_Zeichen16 = If(Verschluesse.Count > 15, Verschluesse(15), Nothing)
|
|
|
|
|
|
'BefoerderungsrouteLand
|
|
Dim Route As New List(Of String)
|
|
For Each l In lines
|
|
If l.StartsWith("EQD+CH+:::") Then
|
|
Route.Add(cEDI.getValueReplaced(l.Replace("EQD+CH+:::", "")))
|
|
End If
|
|
Next
|
|
NCTS.ncts_SumA_BefoerderungsrouteLand1 = If(Route.Count > 0, Route(0), Nothing)
|
|
NCTS.ncts_SumA_BefoerderungsrouteLand2 = If(Route.Count > 1, Route(1), Nothing)
|
|
NCTS.ncts_SumA_BefoerderungsrouteLand3 = If(Route.Count > 2, Route(2), Nothing)
|
|
NCTS.ncts_SumA_BefoerderungsrouteLand4 = If(Route.Count > 3, Route(3), Nothing)
|
|
NCTS.ncts_SumA_BefoerderungsrouteLand5 = If(Route.Count > 4, Route(4), Nothing)
|
|
NCTS.ncts_SumA_BefoerderungsrouteLand6 = If(Route.Count > 5, Route(5), Nothing)
|
|
NCTS.ncts_SumA_BefoerderungsrouteLand7 = If(Route.Count > 6, Route(6), Nothing)
|
|
NCTS.ncts_SumA_BefoerderungsrouteLand8 = If(Route.Count > 7, Route(7), Nothing)
|
|
NCTS.ncts_SumA_BefoerderungsrouteLand9 = If(Route.Count > 8, Route(8), Nothing)
|
|
NCTS.ncts_SumA_BefoerderungsrouteLand10 = If(Route.Count > 9, Route(9), Nothing)
|
|
NCTS.ncts_SumA_BefoerderungsrouteLand11 = If(Route.Count > 10, Route(10), Nothing)
|
|
NCTS.ncts_SumA_BefoerderungsrouteLand12 = If(Route.Count > 11, Route(11), Nothing)
|
|
|
|
|
|
' Durchgangszollstelle
|
|
Dim DurchgangsZst As New List(Of String)
|
|
For Each l In lines
|
|
If l.StartsWith("LOC+50+") Then
|
|
DurchgangsZst.Add(cEDI.getValueReplaced(l.Replace("LOC+50+", "")))
|
|
End If
|
|
Next
|
|
NCTS.ncts_DurchgangszollstelleDienststellnummer1 = If(DurchgangsZst.Count > 0, DurchgangsZst(0), Nothing)
|
|
NCTS.ncts_DurchgangszollstelleDienststellnummer2 = If(DurchgangsZst.Count > 1, DurchgangsZst(1), Nothing)
|
|
NCTS.ncts_DurchgangszollstelleDienststellnummer3 = If(DurchgangsZst.Count > 2, DurchgangsZst(2), Nothing)
|
|
NCTS.ncts_DurchgangszollstelleDienststellnummer4 = If(DurchgangsZst.Count > 3, DurchgangsZst(3), Nothing)
|
|
NCTS.ncts_DurchgangszollstelleDienststellnummer5 = If(DurchgangsZst.Count > 4, DurchgangsZst(4), Nothing)
|
|
NCTS.ncts_DurchgangszollstelleDienststellnummer6 = If(DurchgangsZst.Count > 5, DurchgangsZst(5), Nothing)
|
|
NCTS.ncts_DurchgangszollstelleDienststellnummer7 = If(DurchgangsZst.Count > 6, DurchgangsZst(6), Nothing)
|
|
NCTS.ncts_DurchgangszollstelleDienststellnummer8 = If(DurchgangsZst.Count > 7, DurchgangsZst(7), Nothing)
|
|
NCTS.ncts_DurchgangszollstelleDienststellnummer9 = If(DurchgangsZst.Count > 8, DurchgangsZst(8), Nothing)
|
|
|
|
|
|
' Ansprechpartner
|
|
Dim AnsprechpTMP = cEDI.getSimpleLine("CTA+CC+:", lines)
|
|
If AnsprechpTMP <> "" Then
|
|
Dim SB_Tmp = SQL.getValueTxtBySql("SELECT isnull([mit_DAKOSY_SB],'') FROM [tblMitarbeiter] where [mit_DAKOSY_SBFull]='" & AnsprechpTMP & "'", "ADMIN")
|
|
If SB_Tmp <> "" Then
|
|
NCTS.ncts_Bearbeiter = SB_Tmp
|
|
End If
|
|
End If
|
|
'Dim AnsprechpStellungTMP = cEDI.getSimpleLine("RFF+ACD:", lines)
|
|
|
|
|
|
|
|
|
|
Dim cnt = 0
|
|
For cnt = 0 To lines.Count - 1
|
|
Dim l As String = lines(cnt)
|
|
|
|
'UNB+UNOC:3+
|
|
'DE1234567:1111+DE001234+051222:0750+123456789ABCDE++TUF++++1'
|
|
|
|
If l.StartsWith("UNB+UNOC:3+") Then
|
|
Dim split = l.Replace("UNB+UNOC:3+", "").Split("+")
|
|
If split.Length > 2 Then
|
|
'NCTS.ncts_Trans_DatumZeit = split(2)
|
|
'Dim split2 = split(2).Split(":")
|
|
Try
|
|
Dim dt As DateTime = DateTime.ParseExact(split(2), "yyMMdd:HHmm", CultureInfo.InvariantCulture)
|
|
NCTS.ncts_Trans_DatumZeit = dt
|
|
Catch ex As Exception
|
|
NCTS.ncts_Trans_DatumZeit = Nothing
|
|
End Try
|
|
|
|
'If split2.Length > 0 Then NCTS.ncts_Trans_DatumZeit = split2(0)
|
|
|
|
End If
|
|
|
|
If split.Length > 0 Then
|
|
If split(0).Contains(":") Then
|
|
Dim sp = split(0).Split(":")
|
|
NCTS.ncts_NachrichtenSenderTIN = sp(0)
|
|
NCTS.ncts_NachrichtenSenderNLNR = sp(1)
|
|
Else
|
|
NCTS.ncts_NachrichtenSenderTIN = split(0)
|
|
End If
|
|
End If
|
|
If split.Length > 1 Then
|
|
NCTS.ncts_NachrichtenempfaengerDST = split(1)
|
|
End If
|
|
|
|
|
|
' If NCTS.ncts_NachrichtenSenderNLNR IsNot Nothing Then
|
|
'Select Case NCTS.ncts_NachrichtenSenderTIN
|
|
' Case "ATEOS1000000199"
|
|
' If NCTS.ncts_NachrichtenSenderNLNR IsNot Nothing Then
|
|
'Select Case NCTS.ncts_NachrichtenSenderNLNR
|
|
' Case "0001"
|
|
'NCTS.ncts_firma = "ATILLA"
|
|
'NCTS.ncts_niederlassung = "SUB"
|
|
' End Select
|
|
'End If
|
|
' End Select
|
|
'End If
|
|
End If
|
|
|
|
If l.StartsWith("RFF+ABE:") Then
|
|
NCTS.ncts_ObjectName = cEDI.getValueReplaced(l.Replace("RFF+ABE:", ""))
|
|
End If
|
|
|
|
|
|
|
|
' Art der Anmeldung
|
|
If l.StartsWith("BGM+") Then
|
|
Dim bgm_split1 = l.Replace("BGM+", "").Split("+")
|
|
If bgm_split1.Length > 0 Then
|
|
Dim bgm_split = bgm_split1(0).Replace("BGM+", "").Split(":")
|
|
If bgm_split.Length > 3 Then NCTS.ncts_ArtAnmeldung = bgm_split(3)
|
|
End If
|
|
If bgm_split1.Length > 1 Then
|
|
Dim bgm_split = bgm_split1(0).Replace("BGM+", "").Split(":")
|
|
If bgm_split.Length > 1 Then
|
|
If IsNumeric(bgm_split(1)) Then NCTS.ncts_Trans_Version = bgm_split(1)
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
|
|
' AbgangsDienststelle
|
|
If l.StartsWith("LOC+118+") Then
|
|
NCTS.ncts_AbgangsDienststellennummer = l.Replace("LOC+118+", "")
|
|
End If
|
|
|
|
' AbgangsDienststelle
|
|
If l.StartsWith("LOC+118+") Then
|
|
NCTS.ncts_AbgangsDienststellennummer = l.Replace("LOC+118+", "")
|
|
End If
|
|
|
|
' Bestimmungsdienststelle
|
|
If l.StartsWith("LOC+45+") Then
|
|
NCTS.ncts_BestimmungsstelleDienststellennummer = l.Replace("LOC+45+", "")
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
'NAD+AF+2+ITTR0000000000152:0000
|
|
' Hauptverpflichteter
|
|
If l.StartsWith("NAD+AF+") Then
|
|
Dim hpf = l.Replace("NAD+AF+", "")
|
|
Dim hpf_split = hpf.Split("+")
|
|
If hpf_split.Length > 1 Then
|
|
If hpf_split(1).Contains(":") Then
|
|
Dim hpf_split2 = hpf_split(1).Split(":")
|
|
NCTS.ncts_Hauptverpflichteter_EORI = hpf_split2(0)
|
|
NCTS.ncts_Hauptverpflichteter_NLNR = hpf_split2(1)
|
|
Else
|
|
NCTS.ncts_Hauptverpflichteter_EORI = hpf_split(1)
|
|
End If
|
|
End If
|
|
If hpf_split.Length > 2 Then NCTS.ncts_Hauptverpflichteter_Name = cutLength(cEDI.getValueReplaced(hpf_split(2)), 35)
|
|
If hpf_split.Length > 3 Then NCTS.ncts_Hauptverpflichteter_StrasseHausnummer = cutLength(cEDI.getValueReplaced(hpf_split(3)), 35)
|
|
If hpf_split.Length > 4 Then NCTS.ncts_Hauptverpflichteter_Ort = cutLength(cEDI.getValueReplaced(hpf_split(4)), 35)
|
|
If hpf_split.Length > 6 Then NCTS.ncts_Hauptverpflichteter_PLZ = cEDI.getValueReplaced(hpf_split(6))
|
|
If hpf_split.Length > 7 Then NCTS.ncts_Hauptverpflichteter_Land = cEDI.getValueReplaced(hpf_split(7)) 'C0008
|
|
End If
|
|
|
|
|
|
' Versender
|
|
If l.StartsWith("NAD+CZ+") Then
|
|
Dim hpf = l.Replace("NAD+CZ+", "")
|
|
Dim hpf_split = hpf.Split("+")
|
|
If hpf_split.Length > 1 Then
|
|
If hpf_split(1).Contains(":") Then
|
|
Dim hpf_split2 = hpf_split(1).Split(":")
|
|
NCTS.ncts_Versender_EORI = hpf_split2(0)
|
|
NCTS.ncts_Versender_NLNR = hpf_split2(1)
|
|
Else
|
|
NCTS.ncts_Versender_EORI = hpf_split(1)
|
|
End If
|
|
End If
|
|
|
|
'MsgBox(hpf_split(7))
|
|
If hpf_split.Length > 2 Then NCTS.ncts_Versender_Name = cutLength(cEDI.getValueReplaced(hpf_split(2)), 35)
|
|
If hpf_split.Length > 3 Then NCTS.ncts_Versender_StrasseHausnummer = cutLength(cEDI.getValueReplaced(hpf_split(3)), 35)
|
|
If hpf_split.Length > 4 Then NCTS.ncts_Versender_Ort = cutLength(cEDI.getValueReplaced(hpf_split(4)), 35)
|
|
If hpf_split.Length > 6 Then NCTS.ncts_Versender_PLZ = cEDI.getValueReplaced(hpf_split(6))
|
|
If hpf_split.Length > 7 Then NCTS.ncts_Versender_Land = cEDI.getValueReplaced(hpf_split(7))
|
|
|
|
End If
|
|
|
|
|
|
' Empfänger
|
|
If l.StartsWith("NAD+CN+") Then
|
|
Dim hpf = l.Replace("NAD+CN+", "")
|
|
Dim hpf_split = hpf.Split("+")
|
|
If hpf_split.Length > 1 Then
|
|
If hpf_split(1).Contains(":") Then
|
|
Dim hpf_split2 = hpf_split(1).Split(":")
|
|
NCTS.ncts_Empfaenger_EORI = hpf_split2(0)
|
|
NCTS.ncts_Empfaenger_NLNR = hpf_split2(1)
|
|
Else
|
|
NCTS.ncts_Empfaenger_EORI = hpf_split(1)
|
|
End If
|
|
End If
|
|
If hpf_split.Length > 2 Then NCTS.ncts_Empfaenger_Name = cutLength(cEDI.getValueReplaced(hpf_split(2)), 35)
|
|
If hpf_split.Length > 3 Then NCTS.ncts_Empfaenger_StrasseHausnummer = cutLength(cEDI.getValueReplaced(hpf_split(3)), 35)
|
|
If hpf_split.Length > 4 Then NCTS.ncts_Empfaenger_Ort = cutLength(cEDI.getValueReplaced(hpf_split(4)), 35)
|
|
If hpf_split.Length > 6 Then NCTS.ncts_Empfaenger_PLZ = cEDI.getValueReplaced(hpf_split(6))
|
|
If hpf_split.Length > 7 Then NCTS.ncts_Empfaenger_Land = cEDI.getValueReplaced(hpf_split(7))
|
|
|
|
End If
|
|
|
|
|
|
|
|
'NAD+GA+0++EMINOS LOJISTIK ULUSLAR ARASI TASI+B.HAYRETT??N PA??A MAH.1993 SK.PAPATY+ESENYURT/ISTANBUL++34000+TR'
|
|
' Beförderer
|
|
If l.StartsWith("NAD+GA+") Then 'If l.StartsWith(" ") Then
|
|
Dim hpf = l.Replace("NAD+GA+", "")
|
|
Dim hpf_split = hpf.Split("+")
|
|
If hpf_split.Length > 1 Then
|
|
If hpf_split(1).Contains(":") Then
|
|
Dim hpf_split2 = hpf_split(1).Split(":")
|
|
NCTS.ncts_SumA_Befoerderer_EORI = hpf_split2(0)
|
|
NCTS.ncts_SumA_Befoerderer_NLNR = hpf_split2(1)
|
|
Else
|
|
NCTS.ncts_SumA_Befoerderer_EORI = hpf_split(1)
|
|
End If
|
|
End If
|
|
|
|
If hpf_split.Length > 2 Then NCTS.ncts_SumA_Befoerderer_Name = cutLength(cEDI.getValueReplaced(hpf_split(2)), 35)
|
|
If hpf_split.Length > 3 Then NCTS.ncts_SumA_Befoerderer_StrasseHausnummer = cutLength(cEDI.getValueReplaced(hpf_split(3)), 35)
|
|
If hpf_split.Length > 4 Then NCTS.ncts_SumA_Befoerderer_Ort = cutLength(cEDI.getValueReplaced(hpf_split(4)), 35)
|
|
If hpf_split.Length > 6 Then NCTS.ncts_SumA_Befoerderer_PLZ = cEDI.getValueReplaced(hpf_split(6))
|
|
If hpf_split.Length > 7 Then NCTS.ncts_SumA_Befoerderer_Land = cEDI.getValueReplaced(hpf_split(7))
|
|
End If
|
|
|
|
|
|
|
|
|
|
'Kennzeichen Abgang
|
|
If l.StartsWith("TDT+12") Then
|
|
Dim str = l.Replace("TDT+12", "")
|
|
If str.Contains("+") Then
|
|
Dim split = str.Split("+")
|
|
If split.Length > 7 Then
|
|
Dim split2 = split(7).Split(":")
|
|
If split2.Length > 3 Then NCTS.ncts_Befoerderungsmittel_KennzeichenAbgang = cEDI.getValueReplaced(split2(3))
|
|
If split2.Length > 4 Then NCTS.ncts_Befoerderungsmittel_SttaszugehoerigkeitAbgangCode = split2(4)
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
'Kennzeichen Grenze
|
|
If l.StartsWith("TDT+11") Then
|
|
Dim str = l.Replace("TDT+11", "")
|
|
If str.Contains("+") Then
|
|
Dim split = str.Split("+")
|
|
If split.Length > 2 Then
|
|
If IsNumeric(split(2)) Then NCTS.ncts_Befoerderungsmittel_VerkehrszweigGrenzueberschreitent = cEDI.getValueReplaced(split(2))
|
|
End If
|
|
If split.Length > 3 Then
|
|
Dim split2 = split(3).Split(":")
|
|
If split2.Length > 1 AndAlso IsNumeric(split2(1)) Then NCTS.ncts_Befoerderungsmittel_ArtGrenzueberschreitung = split2(1)
|
|
End If
|
|
If split.Length > 7 Then
|
|
Dim split2 = split(7).Split(":")
|
|
If split2.Length > 3 Then NCTS.ncts_Befoerderungsmittel_KennzeichenGrenzueberschreitend = cEDI.getValueReplaced(split2(3))
|
|
If split2.Length > 4 Then NCTS.ncts_Befoerderungsmittel_StaatszugehoerigkeitGrenzueberschreitendCode = split2(4)
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
' NCTS.ncts_Befoerderungsmittel_KennzeichenAbgang = Split(1)
|
|
|
|
'____________
|
|
|
|
|
|
|
|
|
|
'POSITIONEN
|
|
If l.StartsWith("CST+") Then
|
|
Dim WP As New DAKOSY_Worker.cDakosy_NCTSOut_Warenposition
|
|
Dim wp_str = l.Replace("CST+", "")
|
|
If wp_str.Contains("+") Then
|
|
Dim wp_split = wp_str.Split("+")
|
|
If wp_split.Length > 0 Then WP.nctsWP_PositionsNummer = cEDI.isLeerNothingDbl(wp_split(0))
|
|
If wp_split.Length > 1 Then WP.nctsWP_Warennummer = cEDI.getValueReplaced(wp_split(1))
|
|
If wp_split.Length > 5 Then WP.nctsWP_ArtAnmeldungPositionCode = wp_split(5)
|
|
|
|
End If
|
|
PosAuslesen(WP, lines, cnt)
|
|
NCTS.ncts_WARENPOS.Add(WP) 'Hinzufügen
|
|
End If
|
|
|
|
|
|
|
|
'sicherheitsangaben
|
|
If l.StartsWith("RFF+ABL:") Then
|
|
Dim SA As New DAKOSY_Worker.cDakosy_NCTSOut_Sicherheitsangaben
|
|
Dim sa_str = l.Replace("RFF+ABL:", "")
|
|
If sa_str.Contains(":") Then
|
|
Dim sa_split = sa_str.Split(":")
|
|
If sa_split.Length > 0 Then SA.nctsSA_AbgabenBetrag = If(IsNumeric(sa_split(0)), CDbl(sa_split(0).Replace(".", ",")), Nothing)
|
|
If sa_split.Length > 1 Then SA.nctsSA_ArtCode = sa_split(1)
|
|
If sa_split.Length > 2 Then SA.nctsSA_BezeichnungBescheinigun = cEDI.getValueReplaced(sa_split(2))
|
|
End If
|
|
If lines.Count > (cnt + 1) Then 'wenn noch eine Zeile existiert
|
|
If lines(cnt + 1).ToString.StartsWith("PAC") Then 'und diese mit PAC startet
|
|
Dim pac = lines(cnt + 1).ToString
|
|
Dim pac_split = pac.Split("+")
|
|
If pac_split.Length > 2 Then SA.nctsSA_Zugriffcode = cEDI.getValueReplaced(pac_split(2))
|
|
If pac_split.Length > 3 AndAlso pac_split(3).Contains(":") Then
|
|
Dim pac_split2 = pac_split(3).Split(":")
|
|
If pac_split2.Length > 3 Then SA.nctsSA_Zugriffcode = cEDI.getValueReplaced(pac_split2(3))
|
|
End If
|
|
If pac_split.Length > 4 AndAlso pac_split(4).Contains(":") Then
|
|
Dim pac_split2 = pac_split(4).Split(":")
|
|
If pac_split2.Length > 1 Then SA.nctsSA_GRN = pac_split2(1)
|
|
If pac_split2.Length > 3 Then SA.nctsSA_TIN = pac_split2(3)
|
|
End If
|
|
End If
|
|
End If
|
|
' MsgBox(SA.nctsSA_GRN)
|
|
NCTS.ncts_SICHERHEITSANGABEN.Add(SA) 'Hinzufügen
|
|
End If
|
|
|
|
|
|
|
|
Next
|
|
|
|
|
|
|
|
|
|
For Each l In lines
|
|
If l.StartsWith("COM+") Then
|
|
|
|
frmDYNachrichtenVerarbeitung.tryGetFirmaNiederlassung(NCTS.ncts_firma, NCTS.ncts_niederlassung, l, "")
|
|
|
|
'If l.Contains("@imex") Then
|
|
' NCTS.ncts_firma = "IMEX"
|
|
' NCTS.ncts_niederlassung = "IMEX"
|
|
' 'GLOBAL--> EORI
|
|
'ElseIf l.Contains("@ambar") Then
|
|
' NCTS.ncts_firma = "AMBAR"
|
|
' NCTS.ncts_niederlassung = "AMBAR"
|
|
|
|
'ElseIf l.Contains("atilla@verag.ag") Or l.Contains("@atilla") Then
|
|
' NCTS.ncts_firma = "ATILLA"
|
|
' NCTS.ncts_niederlassung = "SUB"
|
|
'ElseIf l.Contains("@durmaz") Then
|
|
' NCTS.ncts_firma = "DURMAZ"
|
|
' NCTS.ncts_niederlassung = "SBG"
|
|
|
|
|
|
' 'GLOBAL--> EORI
|
|
'ElseIf l.Contains("@verag") Then
|
|
' NCTS.ncts_firma = "VERAG"
|
|
' ' EZA.eza_niederlassung = "IMEX"
|
|
' 'GLOBAL--> EORI
|
|
|
|
'ElseIf l.Contains("@unisped") Then
|
|
' NCTS.ncts_firma = "UNISPED"
|
|
' NCTS.ncts_niederlassung = "ATSP"
|
|
'End If
|
|
End If
|
|
Next
|
|
|
|
|
|
If If(NCTS.ncts_Status, 0) <= 5 Then NCTS.ncts_Status = DAKOSY_Worker.cDY_Statusliste.S_05
|
|
If If(NCTS.ncts_Status_KEWILL_Equivalent, 0) <= 5 Then NCTS.ncts_Status_KEWILL_Equivalent = DAKOSY_Worker.cDY_Statusliste.S_05
|
|
|
|
|
|
If NCTS.SAVE_ALL("Datei: " & Dateiname) Then
|
|
If If(NCTS.ncts_Status, 0) <= 5 Then DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_TMP, DAKOSY_Worker.cDY_Statusliste.S_05)
|
|
Return bezugsNr
|
|
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
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
|
|
|
|
Shared Function readNCTS_AnkunftsanzeigeXML(doc As XmlDocument) As String
|
|
Try
|
|
readNCTS_AnkunftsanzeigeXML = "ANKUNFTSANZEIGE_" & Now.ToString("ddMMyy_HHmmss.sss")
|
|
Dim sw = New StringWriter()
|
|
Dim xw = New XmlTextWriter(sw)
|
|
doc.WriteTo(xw)
|
|
Dim XmlString = sw.ToString()
|
|
If XmlString.Contains("<DETBAE>") Then
|
|
Dim xmlDETBAE = XmlString.Substring(XmlString.IndexOf("<DETBAE>"), XmlString.IndexOf("</DETBAE>") + 9 - XmlString.IndexOf("<DETBAE>"))
|
|
' MsgBox(xmlDETBAE)
|
|
Dim p = Path.GetTempFileName
|
|
|
|
Using outputFile As New StreamWriter(p, False, System.Text.Encoding.Default)
|
|
outputFile.Write(xmlDETBAE)
|
|
outputFile.Close()
|
|
|
|
|
|
|
|
Dim DETBAE As DAKOSY_Worker.DETBAE.DETBAE = DAKOSY_Worker.DETBAE.DETBAE.LoadFromFile(p)
|
|
' Dim NCTS As New DAKOSY_Worker.cDakosyNCTS
|
|
|
|
|
|
'If DETBAE IsNot Nothing AndAlso DETBAE.Header IsNot Nothing AndAlso DETBAE.Header.LocalReferenceNumber IsNot Nothing AndAlso DETBAE.Header.LocalReferenceNumber <> "" Then
|
|
' readNCTS_AnkunftsanzeigeXML = DETBAE.Header.LocalReferenceNumber
|
|
'Else
|
|
' Return "" 'Keine Bezugsnummer
|
|
'End If
|
|
|
|
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = frmDYNachrichtenVerarbeitung.saveDY_ZA(readNCTS_AnkunftsanzeigeXML, "NCTS")
|
|
|
|
Dim NCTS As DAKOSY_Worker.cDakosyNCTSOut = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(readNCTS_AnkunftsanzeigeXML, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
|
|
If NCTS Is Nothing Then NCTS = New DAKOSY_Worker.cDakosyNCTSOut
|
|
If DY_TMP IsNot Nothing Then NCTS.ncts_dyaAnmID = DY_TMP.dy_Id
|
|
|
|
If DY_TMP.dy_AvisoId Is Nothing Then
|
|
DY_TMP.tryFindAviso()
|
|
DY_TMP.SAVE()
|
|
End If
|
|
' LOAD bezugsNr
|
|
Dim AnsprechpTMP_Email = ""
|
|
|
|
If DETBAE IsNot Nothing Then
|
|
|
|
If DETBAE.AuthorisedConsignee IsNot Nothing And DETBAE.AuthorisedConsignee.ContactPerson IsNot Nothing Then
|
|
|
|
Dim AnsprechpTMP = DETBAE.AuthorisedConsignee.ContactPerson.Name
|
|
If AnsprechpTMP <> "" Then
|
|
Dim SB_Tmp = SQL.getValueTxtBySql("SELECT isnull([mit_DAKOSY_SB],'') FROM [tblMitarbeiter] where [mit_DAKOSY_SBFull]='" & AnsprechpTMP & "'", "ADMIN")
|
|
If SB_Tmp <> "" Then
|
|
NCTS.ncts_Bearbeiter = SB_Tmp
|
|
End If
|
|
End If
|
|
|
|
|
|
If DETBAE.AuthorisedConsignee.ContactPerson.MailAddress IsNot Nothing Then
|
|
AnsprechpTMP_Email = DETBAE.AuthorisedConsignee.ContactPerson.MailAddress
|
|
|
|
'If AnsprechpTMP_Email.Contains("@imex") Then
|
|
' NCTS.ncts_firma = "IMEX"
|
|
' NCTS.ncts_niederlassung = "IMEX"
|
|
' 'GLOBAL--> EORI
|
|
'ElseIf AnsprechpTMP_Email.Contains("@ambar") Then
|
|
' NCTS.ncts_firma = "AMBAR"
|
|
' NCTS.ncts_niederlassung = "AMBAR"
|
|
'ElseIf AnsprechpTMP_Email.Contains("atilla@verag.ag") Or AnsprechpTMP_Email.Contains("@atilla") Then
|
|
' NCTS.ncts_firma = "ATILLA"
|
|
' NCTS.ncts_niederlassung = "SUB"
|
|
'ElseIf AnsprechpTMP_Email.Contains("@durmaz") Then
|
|
' NCTS.ncts_firma = "DURMAZ"
|
|
' NCTS.ncts_niederlassung = "SBG"
|
|
' 'GLOBAL--> EORI
|
|
'ElseIf AnsprechpTMP_Email.Contains("@verag") Then
|
|
' NCTS.ncts_firma = "VERAG"
|
|
' ' EZA.eza_niederlassung = "IMEX"
|
|
'ElseIf AnsprechpTMP_Email.Contains("@unisped") Then
|
|
' NCTS.ncts_firma = "UNISPED"
|
|
' NCTS.ncts_niederlassung = "ATSP"
|
|
' 'GLOBAL--> EORIAnsprechpTMP_Email
|
|
'End If
|
|
End If
|
|
|
|
frmDYNachrichtenVerarbeitung.tryGetFirmaNiederlassung(NCTS.ncts_firma, NCTS.ncts_niederlassung, If(AnsprechpTMP_Email, "").ToString, "")
|
|
|
|
Else
|
|
'Return "" 'Keine Bezugsnummer
|
|
End If
|
|
End If
|
|
|
|
'If If(NCTS.ncts_Status, 0) <= 5 Then NCTS.ncts_Status = DAKOSY_Worker.cDY_Statusliste.S_05
|
|
'If If(NCTS.ncts_Status_KEWILL_Equivalent, 0) <= 5 Then NCTS.ncts_Status_KEWILL_Equivalent = DAKOSY_Worker.cDY_Statusliste.S_05
|
|
|
|
|
|
If NCTS.SAVE_ALL("Datei: " & Dateiname) Then
|
|
If If(NCTS.ncts_Status, 0) <= 5 Then DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_TMP, DAKOSY_Worker.cDY_Statusliste.S_05)
|
|
|
|
End If
|
|
|
|
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)
|
|
Return ""
|
|
End Try
|
|
|
|
End Function
|
|
|
|
Shared Function readNCTS_Ankunftsanzeige(FORM As frmDYNachrichtenVerarbeitung, lines() As String) As String
|
|
Try
|
|
Dim seeErrLine = 0
|
|
Dim bezugsNr = ""
|
|
Dim cntDurchgangsZst = 0
|
|
' Dim cntRoute = 0
|
|
|
|
For Each l In lines
|
|
If l.StartsWith("RFF+ABE:") Then
|
|
bezugsNr = cEDI.getValueReplaced(l.Replace("RFF+ABE:", ""))
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
If bezugsNr = "" Then Return ""
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = frmDYNachrichtenVerarbeitung.saveDY_ZA(bezugsNr, "NCTS")
|
|
|
|
Dim NCTS As DAKOSY_Worker.cDakosyNCTSOut = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
|
|
If NCTS Is Nothing Then NCTS = New DAKOSY_Worker.cDakosyNCTSOut
|
|
If DY_TMP IsNot Nothing Then NCTS.ncts_dyaAnmID = DY_TMP.dy_Id
|
|
|
|
If DY_TMP.dy_AvisoId Is Nothing Then
|
|
DY_TMP.tryFindAviso()
|
|
DY_TMP.SAVE()
|
|
End If
|
|
' LOAD bezugsNr
|
|
|
|
|
|
'NCTS.ncts_VersendungsLandCode = cEDI.getSimpleLine("LOC+35+", lines)
|
|
'NCTS.ncts_BestimmungslandCode = cEDI.getSimpleLine("LOC+36+", lines)
|
|
|
|
|
|
'Try
|
|
' Dim wgdat = cEDI.getSimpleLine("DTM+150:", lines).Replace(":102", "")
|
|
' If wgdat <> "" AndAlso IsNumeric(wgdat) Then
|
|
' Dim oDate = DateTime.ParseExact(wgdat, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture)
|
|
' NCTS.ncts_Wiedergestellungsdatum = oDate.ToShortDateString
|
|
' End If
|
|
'Catch ex As Exception
|
|
' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , "WiedergestellungsDatum Fehler")
|
|
'End Try
|
|
|
|
|
|
|
|
Dim cnt = 0
|
|
For cnt = 0 To lines.Count - 1
|
|
Dim l As String = lines(cnt)
|
|
|
|
'If l.StartsWith("RFF+ABE:") Then
|
|
' NCTS.ncts_ObjectName = cEDI.getValueReplaced(l.Replace("RFF+ABE:", ""))
|
|
'End If
|
|
Next
|
|
|
|
|
|
|
|
|
|
'For Each l In lines
|
|
' If l.StartsWith("COM+") Then
|
|
|
|
' If l.Contains("@imex-group.at") Then
|
|
' NCTS.ncts_firma = "IMEX"
|
|
' NCTS.ncts_niederlassung = "IMEX"
|
|
' 'GLOBAL--> EORI
|
|
' ElseIf l.Contains("atilla@verag.ag") Then
|
|
' NCTS.ncts_firma = "ATILLA"
|
|
' NCTS.ncts_niederlassung = "SUB"
|
|
|
|
' 'GLOBAL--> EORI
|
|
' ElseIf l.Contains("@verag.ag") Then
|
|
' NCTS.ncts_firma = "VERAG"
|
|
' ' EZA.eza_niederlassung = "IMEX"
|
|
' 'GLOBAL--> EORI
|
|
|
|
' End If
|
|
' End If
|
|
'Next
|
|
|
|
|
|
|
|
'If If(NCTS.ncts_Status, 0) <= 5 Then NCTS.ncts_Status = DAKOSY_Worker.cDY_Statusliste.S_05
|
|
'If If(NCTS.ncts_Status_KEWILL_Equivalent, 0) <= 5 Then NCTS.ncts_Status_KEWILL_Equivalent = DAKOSY_Worker.cDY_Statusliste.S_05
|
|
|
|
|
|
If NCTS.SAVE_ALL("Datei: " & Dateiname) Then
|
|
If If(NCTS.ncts_Status, 0) <= 5 Then DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_TMP, DAKOSY_Worker.cDY_Statusliste.S_05)
|
|
Return bezugsNr
|
|
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
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
Shared Function cutLength(s, length)
|
|
If s.length > 35 Then s = s.Substring(0, length)
|
|
Return s
|
|
End Function
|
|
Shared Sub PosAuslesen(ByVal POS As DAKOSY_Worker.cDakosy_NCTSOut_Warenposition, linesTMP() As String, cnt As Integer)
|
|
Dim lines = getPOS(cnt, linesTMP)
|
|
POS.nctsWP_Rohmasse = cEDI.isLeerNothingDblPunktKomma(cEDI.getSimpleLine("MEA+WT+AAB+KGM:", lines))
|
|
POS.nctsWP_Eigenmasse = cEDI.isLeerNothingDblPunktKomma(cEDI.getSimpleLine("MEA+WT+AAA+KGM:", lines))
|
|
|
|
Dim vorpapierCnt = 0
|
|
For Each l In lines
|
|
'POS. = cEDI.getSimpleLine("FTX+UCN+++", lines) FTX+AAA+++
|
|
If l.StartsWith("FTX+AAA+++") Then
|
|
Dim wb = l.Replace("FTX+AAA+++", "")
|
|
If wb.ToString.Contains(":") Then
|
|
Dim split = wb.Split(":")
|
|
If split.Length > 0 Then POS.nctsWP_Warenbezeichnung = cEDI.getValueReplaced(split(0))
|
|
If split.Length > 1 Then POS.nctsWP_Warenbezeichnung &= cEDI.getValueReplaced(split(1))
|
|
If split.Length > 2 Then POS.nctsWP_Warenbezeichnung &= cEDI.getValueReplaced(split(2))
|
|
If split.Length > 3 Then POS.nctsWP_Warenbezeichnung &= cEDI.getValueReplaced(split(3))
|
|
Else
|
|
POS.nctsWP_Warenbezeichnung = cEDI.getValueReplaced(wb)
|
|
End If
|
|
'Damit nicht zu lang:
|
|
If POS.nctsWP_Warenbezeichnung IsNot Nothing AndAlso POS.nctsWP_Warenbezeichnung.length > 280 Then
|
|
POS.nctsWP_Warenbezeichnung = POS.nctsWP_Warenbezeichnung.substring(0, 280)
|
|
End If
|
|
End If
|
|
If l.StartsWith("PAC+") Then
|
|
Dim PST = New DAKOSY_Worker.cDakosy_NCTSOut_WarenpositionPackstuecke()
|
|
Dim pac = l.Replace("PAC+", "")
|
|
If pac.ToString.Contains("+") Then
|
|
Dim split = pac.Split("+")
|
|
If split.Length > 0 Then PST.nctsWpPk_PackstueckeAnzahl = cEDI.isLeerNothingDblPunktKomma(split(0))
|
|
If split.Length > 2 Then PST.nctsWpPk_Verpackungsart &= split(2)
|
|
Else
|
|
PST.nctsWpPk_PackstueckeAnzahl = pac
|
|
End If
|
|
POS.nctsWP_PACKSTUECKE.Add(PST)
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
|
|
Shared Function getPOS(cnt, linesTMP()) As String()
|
|
Dim l As New List(Of String)
|
|
For i = cnt + 1 To linesTMP.Length - 1
|
|
If linesTMP(i).StartsWith("CST+") Then Exit For ' neue POS
|
|
If linesTMP(i).StartsWith("UNS") Then Exit For ' nächstes Element
|
|
l.Add(linesTMP(i))
|
|
Next
|
|
Return l.ToArray
|
|
End Function
|
|
|
|
|
|
|
|
Shared Function readNCTS_Versandbestaetigung(FORM As frmDYNachrichtenVerarbeitung, d As String) As String
|
|
Try
|
|
|
|
Dim NCTS As DAKOSY_Worker.VersandbestaetigungNCTSDE.VersandbestaetigungMCTyp = DAKOSY_Worker.VersandbestaetigungNCTSDE.VersandbestaetigungMCTyp.LoadFromFile(d)
|
|
Dim anr = ""
|
|
Dim zp As Object = Nothing
|
|
|
|
Dim division = ""
|
|
|
|
readNCTS_Versandbestaetigung = ""
|
|
If NCTS IsNot Nothing Then
|
|
|
|
If NCTS.Transaktion IsNot Nothing Then
|
|
If NCTS.Transaktion.IODivision3 IsNot Nothing Then
|
|
division = NCTS.Transaktion.IODivision3
|
|
End If
|
|
End If
|
|
|
|
If NCTS.EinzelVersandbestaetigung IsNot Nothing Then
|
|
If NCTS.EinzelVersandbestaetigung.ObjektIdentifizierung IsNot Nothing Then
|
|
If NCTS.EinzelVersandbestaetigung.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readNCTS_Versandbestaetigung = NCTS.EinzelVersandbestaetigung.ObjektIdentifizierung.ObjektName
|
|
End If
|
|
zp = NCTS.EinzelVersandbestaetigung.ObjektIdentifizierung.ZeitpunktEingang
|
|
End If
|
|
If NCTS.EinzelVersandbestaetigung.KopfDaten IsNot Nothing Then
|
|
If NCTS.EinzelVersandbestaetigung.KopfDaten.ANR IsNot Nothing Then
|
|
anr = NCTS.EinzelVersandbestaetigung.KopfDaten.ANR
|
|
' MsgBox(anr)
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
|
|
|
|
If readNCTS_Versandbestaetigung <> "" And anr <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
|
|
STATUS.dySt_BezugsNr = readNCTS_Versandbestaetigung
|
|
STATUS.dySt_artMitteilung = "VB"
|
|
STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2
|
|
|
|
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_41
|
|
STATUS.dySt_ergCode = "ANR"
|
|
STATUS.dySt_ergMitteilung = anr
|
|
STATUS.dySt_ergZeitpunkt = zp
|
|
'EINTRAG IN tblDakosy_Zollanmeldungen
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), "NCTS")
|
|
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), anr)
|
|
|
|
|
|
|
|
|
|
SaveNCTS_FirmaNL(NCTS_TMP, DY_TMP, division)
|
|
|
|
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
|
|
STATUS.SAVE()
|
|
|
|
FORM.addDGVEinarbeitung("NCTS: Versandbestätigung", STATUS.dySt_BezugsNr)
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readNCTS_Versandbestaetigung = ""
|
|
End Try
|
|
End Function
|
|
|
|
|
|
|
|
Shared Function saveDY_NCTS(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.cDakosyNCTSOut
|
|
'EINTRAG IN tblDakosyNCTSOut
|
|
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = Nothing
|
|
NCTS_TMP = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(STATUS.dySt_BezugsNr.ToString, False)
|
|
If NCTS_TMP Is Nothing Then
|
|
NCTS_TMP = New DAKOSY_Worker.cDakosyNCTSOut
|
|
NCTS_TMP.ncts_ObjectName = STATUS.dySt_BezugsNr
|
|
If NCTS_TMP IsNot Nothing Then NCTS_TMP.ncts_dyaAnmID = DY_TMP.dy_Id
|
|
|
|
If DAKOSY_Worker.cDakosy_Statusmeldungen.isNewestTransaktion(STATUS.dySt_BezugsNr, transID, transDate) Then
|
|
NCTS_TMP.ncts_Status = DY_TMP.dy_Status 'weil der Status bereit überprüft wurde --> neuste TransaktionsID
|
|
NCTS_TMP.ncts_Status_KEWILL_Equivalent = DY_TMP.dy_Status 'weil der Status bereit überprüft wurde --> neuste TransaktionsID
|
|
End If
|
|
'NCTS_TMP.ncts_Status_KEWILL_Equivalent = STATUS.dySt_status
|
|
If ANR <> "" Or MRN <> "" Then
|
|
If ANR <> "" Then NCTS_TMP.ncts_ANR = ANR
|
|
If MRN <> "" Then NCTS_TMP.ncts_MRN = MRN
|
|
End If
|
|
NCTS_TMP.SAVE()
|
|
'Eintragen
|
|
Else
|
|
'Update
|
|
NCTS_TMP.UPDATE_Status(DY_TMP.dy_Status) 'weil der Status bereit überprüft wurde --> neuste TransaktionsID
|
|
If ANR <> "" Or MRN <> "" Then
|
|
If ANR <> "" Then NCTS_TMP.ncts_ANR = ANR : NCTS_TMP.SAVE()
|
|
If MRN <> "" Then NCTS_TMP.ncts_MRN = MRN : NCTS_TMP.SAVE()
|
|
End If
|
|
End If
|
|
saveDY_NCTS = NCTS_TMP
|
|
End Function
|
|
|
|
Shared Sub SaveNCTS_FirmaNL(ByRef NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut, DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen, division As String)
|
|
|
|
If division <> "" Then
|
|
If (NCTS_TMP.ncts_firma Is Nothing OrElse NCTS_TMP.ncts_firma = "") Or (NCTS_TMP.ncts_niederlassung Is Nothing OrElse NCTS_TMP.ncts_niederlassung = "") Then
|
|
Select Case division
|
|
Case "SUW"
|
|
NCTS_TMP.ncts_firma = "ATILLA"
|
|
NCTS_TMP.ncts_niederlassung = "SUB"
|
|
Case "SUB"
|
|
NCTS_TMP.ncts_firma = "VERAG"
|
|
NCTS_TMP.ncts_niederlassung = "SUB"
|
|
Case "DUR"
|
|
NCTS_TMP.ncts_firma = "ATILLA"
|
|
NCTS_TMP.ncts_niederlassung = "SBG"
|
|
Case "NKD"
|
|
NCTS_TMP.ncts_firma = "VERAG"
|
|
NCTS_TMP.ncts_niederlassung = "NKD"
|
|
Case "WAI"
|
|
NCTS_TMP.ncts_firma = "VERAG"
|
|
NCTS_TMP.ncts_niederlassung = "WAI"
|
|
Case "SBG"
|
|
NCTS_TMP.ncts_firma = "VERAG"
|
|
NCTS_TMP.ncts_niederlassung = "SBG"
|
|
Case "IME"
|
|
NCTS_TMP.ncts_firma = "IMEX"
|
|
NCTS_TMP.ncts_niederlassung = "SUB"
|
|
Case "GLO"
|
|
NCTS_TMP.ncts_firma = "IMEX"
|
|
NCTS_TMP.ncts_niederlassung = "GLO"
|
|
Case "AMB"
|
|
NCTS_TMP.ncts_firma = "AMBAR"
|
|
NCTS_TMP.ncts_niederlassung = "AMBAR"
|
|
Case "NEU"
|
|
NCTS_TMP.ncts_firma = "VERAG"
|
|
NCTS_TMP.ncts_niederlassung = "NEU"
|
|
Case "ATSP", "ATSPED"
|
|
NCTS_TMP.ncts_firma = "UNISPED"
|
|
NCTS_TMP.ncts_niederlassung = "ATSP"
|
|
End Select
|
|
NCTS_TMP.SAVE()
|
|
End If
|
|
|
|
End If
|
|
If DY_TMP.dy_AvisoId Is Nothing Then
|
|
DY_TMP.tryFindAviso()
|
|
DY_TMP.SAVE()
|
|
End If
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Shared Function readNCTS_StatusmeldungNCTSDE(FORM As frmDYNachrichtenVerarbeitung, d As String) As String
|
|
Try
|
|
|
|
Dim NCTS As DAKOSY_Worker.StatusmeldungNCTSDE.StatusmeldungMSTyp = DAKOSY_Worker.StatusmeldungNCTSDE.StatusmeldungMSTyp.LoadFromFile(d)
|
|
Dim MRN = ""
|
|
Dim division = ""
|
|
Dim tstmp As Object = Nothing
|
|
Dim grund As String = ""
|
|
Dim status_DY As String = ""
|
|
|
|
Dim EntgegennahmeDatumZeit As Object = Nothing
|
|
Dim EntscheidungAnnahmeDatumZeit As Object = Nothing
|
|
Dim EntscheidungUeberlassungDatumZeit As Object = Nothing
|
|
Dim EntscheidungStornierungDatumZeit As Object = Nothing
|
|
Dim ZeitpunktAnrechnungReferenzbetraege As Object = Nothing
|
|
readNCTS_StatusmeldungNCTSDE = ""
|
|
If NCTS IsNot Nothing Then
|
|
If NCTS.Transaktion IsNot Nothing Then
|
|
If NCTS.Transaktion.IODivision3 IsNot Nothing Then
|
|
division = NCTS.Transaktion.IODivision3
|
|
End If
|
|
End If
|
|
|
|
If NCTS.EinzelStatusmeldung IsNot Nothing Then
|
|
If NCTS.EinzelStatusmeldung.ObjektIdentifizierung IsNot Nothing Then
|
|
If NCTS.EinzelStatusmeldung.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readNCTS_StatusmeldungNCTSDE = NCTS.EinzelStatusmeldung.ObjektIdentifizierung.ObjektName
|
|
|
|
End If
|
|
End If
|
|
If NCTS.EinzelStatusmeldung.KopfDaten IsNot Nothing Then
|
|
If NCTS.EinzelStatusmeldung.KopfDaten.MRN IsNot Nothing Then
|
|
MRN = NCTS.EinzelStatusmeldung.KopfDaten.MRN
|
|
End If
|
|
|
|
If NCTS.EinzelStatusmeldung.KopfDaten.WeiterverarbeitungAusserhalbATLASDatumZeit > "01.01.2000" Then
|
|
tstmp = NCTS.EinzelStatusmeldung.KopfDaten.WeiterverarbeitungAusserhalbATLASDatumZeit '00:00:00
|
|
End If
|
|
|
|
|
|
If NCTS.EinzelStatusmeldung.KopfDaten.EntgegennahmeDatumZeit > "01.01.2000" Then
|
|
EntgegennahmeDatumZeit = NCTS.EinzelStatusmeldung.KopfDaten.EntgegennahmeDatumZeit '00:00:00
|
|
End If
|
|
If NCTS.EinzelStatusmeldung.KopfDaten.EntscheidungAnnahmeDatumZeit > "01.01.2000" Then
|
|
EntscheidungAnnahmeDatumZeit = NCTS.EinzelStatusmeldung.KopfDaten.EntscheidungAnnahmeDatumZeit '00:00:00
|
|
End If
|
|
If NCTS.EinzelStatusmeldung.KopfDaten.EntscheidungUeberlassungDatumZeit > "01.01.2000" Then
|
|
EntscheidungUeberlassungDatumZeit = NCTS.EinzelStatusmeldung.KopfDaten.EntscheidungUeberlassungDatumZeit '00:00:00
|
|
End If
|
|
If NCTS.EinzelStatusmeldung.KopfDaten.EntscheidungStornierungDatumZeit > "01.01.2000" Then
|
|
EntscheidungStornierungDatumZeit = NCTS.EinzelStatusmeldung.KopfDaten.EntscheidungStornierungDatumZeit '00:00:00
|
|
End If
|
|
If NCTS.EinzelStatusmeldung.KopfDaten.ZeitpunktAnrechnungReferenzbetraege > "01.01.2000" Then
|
|
ZeitpunktAnrechnungReferenzbetraege = NCTS.EinzelStatusmeldung.KopfDaten.ZeitpunktAnrechnungReferenzbetraege '00:00:00
|
|
End If
|
|
|
|
'tstmp = NCTS.EinzelStatusmeldung.KopfDaten.WeiterverarbeitungAusserhalbATLASDatumZeit '00:00:00
|
|
If NCTS.EinzelStatusmeldung.KopfDaten.Grund IsNot Nothing Then grund = NCTS.EinzelStatusmeldung.KopfDaten.Grund
|
|
status_DY = NCTS.EinzelStatusmeldung.KopfDaten.StatusUeberwachung
|
|
|
|
If NCTS.EinzelStatusmeldung.KopfDaten.Fehlermeldung IsNot Nothing Then
|
|
For Each F In NCTS.EinzelStatusmeldung.KopfDaten.Fehlermeldung
|
|
'???
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
|
|
End If
|
|
End If
|
|
|
|
|
|
If readNCTS_StatusmeldungNCTSDE <> "" And MRN <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
|
|
STATUS.dySt_BezugsNr = readNCTS_StatusmeldungNCTSDE
|
|
STATUS.dySt_artMitteilung = "STAT"
|
|
STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2
|
|
|
|
Select Case status_DY
|
|
Case "13", "14", "15", "16", "31", "34", "35", "37", "38" : tstmp = If(EntscheidungAnnahmeDatumZeit, tstmp)
|
|
Case "15", "31", "34", "35", "37", "38" : tstmp = If(EntscheidungUeberlassungDatumZeit, tstmp)
|
|
Case "38" : tstmp = If(EntscheidungStornierungDatumZeit, tstmp)
|
|
Case "34", "35", "37", "38" : tstmp = If(ZeitpunktAnrechnungReferenzbetraege, tstmp)
|
|
End Select
|
|
Select Case status_DY
|
|
Case "13" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_13
|
|
Case "14" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_14
|
|
Case "16" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_16
|
|
Case "31" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_31
|
|
Case "38" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_38
|
|
Case "39" : STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_39
|
|
Case Else
|
|
STATUS.dySt_status = -1
|
|
'UNBEKANNT ?????
|
|
End Select
|
|
STATUS.dySt_ergCode = "DY_" & status_DY
|
|
STATUS.dySt_ergMitteilung = MRN & grund
|
|
If tstmp IsNot Nothing Then STATUS.dySt_ergZeitpunkt = tstmp
|
|
'EINTRAG IN tblDakosy_Zollanmeldungen
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit, "NCTS")
|
|
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit, , "") 'MRN)
|
|
|
|
|
|
SaveNCTS_FirmaNL(NCTS_TMP, DY_TMP, division)
|
|
|
|
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
|
|
STATUS.SAVE()
|
|
|
|
FORM.addDGVEinarbeitung("NCTS: StatusmeldungNCTSDE", STATUS.dySt_BezugsNr)
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readNCTS_StatusmeldungNCTSDE = ""
|
|
End Try
|
|
End Function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 = ""
|
|
Dim division = ""
|
|
Dim Wiedergestellungsdatum As Object = Nothing
|
|
' Dim bearbeiter = ""
|
|
Dim zp As Object = Nothing
|
|
readNCTS_Ueberlassungsmeldung = ""
|
|
If NCTS IsNot Nothing Then
|
|
If NCTS.Transaktion IsNot Nothing Then
|
|
If NCTS.Transaktion.IODivision3 IsNot Nothing Then
|
|
division = NCTS.Transaktion.IODivision3
|
|
End If
|
|
End If
|
|
If NCTS.EinzelUeberlassungsmeldung IsNot Nothing Then
|
|
If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung IsNot Nothing Then
|
|
If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readNCTS_Ueberlassungsmeldung = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName
|
|
End If
|
|
If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang > "01.01.2000" Then
|
|
zp = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang
|
|
End If
|
|
End If
|
|
If NCTS.EinzelUeberlassungsmeldung.KopfDaten IsNot Nothing Then
|
|
If NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN IsNot Nothing Then
|
|
MRN = NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN
|
|
End If
|
|
|
|
|
|
Wiedergestellungsdatum = NCTS.EinzelUeberlassungsmeldung.KopfDaten.Wiedergestellungsdatum
|
|
' bearbeiter=NCTS.EinzelUeberlassungsmeldung.KopfDaten.
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
|
|
|
|
If readNCTS_Ueberlassungsmeldung <> "" And MRN <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
|
|
STATUS.dySt_BezugsNr = readNCTS_Ueberlassungsmeldung
|
|
STATUS.dySt_artMitteilung = "UEM"
|
|
STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2
|
|
|
|
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_50
|
|
STATUS.dySt_ergCode = "MRN"
|
|
STATUS.dySt_ergMitteilung = MRN
|
|
STATUS.dySt_ergZeitpunkt = zp
|
|
'EINTRAG IN tblDakosy_Zollanmeldungen
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), "NCTS")
|
|
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), , MRN)
|
|
|
|
SaveNCTS_FirmaNL(NCTS_TMP, DY_TMP, division)
|
|
SaveNCTS_WGDAT(NCTS_TMP, Wiedergestellungsdatum)
|
|
|
|
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
|
|
STATUS.SAVE()
|
|
statusTMP = STATUS
|
|
|
|
|
|
' BEREITSTELLUNG DER DATEN AN FREMDSYSTEME
|
|
cVERAG_out_ncts.copyFileFTP_VERAGncts_DY(NCTS_TMP, DY_TMP)
|
|
|
|
|
|
NCTS_TMP.insertIntoSpedBuch(DY_TMP)
|
|
|
|
FORM.addDGVEinarbeitung("NCTS: Überlassungsmeldung", STATUS.dySt_BezugsNr)
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readNCTS_Ueberlassungsmeldung = ""
|
|
End Try
|
|
End Function
|
|
|
|
|
|
|
|
Shared Function readNCTS_UngueltigkeitSicherheitenNCTSDE(FORM As frmDYNachrichtenVerarbeitung, d As String) As String
|
|
Try
|
|
|
|
Dim NCTS As DAKOSY_Worker.UngueltigkeitSicherheitenNCTSDE.UngueltigkeitSicherheitenMITyp = DAKOSY_Worker.UngueltigkeitSicherheitenNCTSDE.UngueltigkeitSicherheitenMITyp.LoadFromFile(d)
|
|
Dim ANR = ""
|
|
Dim tstmp As Object = Nothing
|
|
Dim grund As String = ""
|
|
Dim sicherheit As String = ""
|
|
|
|
readNCTS_UngueltigkeitSicherheitenNCTSDE = ""
|
|
If NCTS IsNot Nothing Then
|
|
If NCTS.EinzelUngueltigkeitSicherheiten IsNot Nothing Then
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.ObjektIdentifizierung IsNot Nothing Then
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readNCTS_UngueltigkeitSicherheitenNCTSDE = NCTS.EinzelUngueltigkeitSicherheiten.ObjektIdentifizierung.ObjektName
|
|
End If
|
|
End If
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten IsNot Nothing Then
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Arbeitsnummer IsNot Nothing Then
|
|
ANR = NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Arbeitsnummer
|
|
End If
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.ZeitpunktUngueltigkeitUnwirksamkeit > "01.01.2000" Then
|
|
tstmp = NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.ZeitpunktUngueltigkeitUnwirksamkeit
|
|
End If
|
|
grund = NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Grund
|
|
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Sicherheit IsNot Nothing Then
|
|
For Each s In NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Sicherheit
|
|
If s.GRN IsNot Nothing Then
|
|
sicherheit &= s.GRN & " "
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Fehlermeldung IsNot Nothing Then
|
|
For Each F In NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Fehlermeldung
|
|
'???
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
|
|
End If
|
|
End If
|
|
|
|
sicherheit = sicherheit.Trim
|
|
|
|
If readNCTS_UngueltigkeitSicherheitenNCTSDE <> "" And ANR <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
|
|
STATUS.dySt_BezugsNr = readNCTS_UngueltigkeitSicherheitenNCTSDE
|
|
STATUS.dySt_artMitteilung = "UNG"
|
|
STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2
|
|
|
|
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_15
|
|
STATUS.dySt_ergCode = "UN"
|
|
STATUS.dySt_ergMitteilung = grund
|
|
If tstmp IsNot Nothing Then STATUS.dySt_ergZeitpunkt = tstmp
|
|
'EINTRAG IN tblDakosy_Zollanmeldungen
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), "NCTS")
|
|
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), ANR)
|
|
|
|
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
|
|
STATUS.SAVE()
|
|
|
|
FORM.addDGVEinarbeitung("NCTS: UngueltigkeitSicherheitenNCTSDE", STATUS.dySt_BezugsNr)
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readNCTS_UngueltigkeitSicherheitenNCTSDE = ""
|
|
End Try
|
|
End Function
|
|
|
|
Shared Function readNCTS_UngueltigkeitSicherheitenNCTSDE003(FORM As frmDYNachrichtenVerarbeitung, d As String) As String
|
|
Try
|
|
|
|
Dim NCTS As DAKOSY_Worker.UngueltigkeitSicherheitenNCTSDE_003.UngueltigkeitSicherheitenMITyp = DAKOSY_Worker.UngueltigkeitSicherheitenNCTSDE_003.UngueltigkeitSicherheitenMITyp.LoadFromFile(d)
|
|
Dim ANR = ""
|
|
Dim tstmp As Object = Nothing
|
|
Dim grund As String = ""
|
|
Dim sicherheit As String = ""
|
|
|
|
readNCTS_UngueltigkeitSicherheitenNCTSDE003 = ""
|
|
If NCTS IsNot Nothing Then
|
|
If NCTS.EinzelUngueltigkeitSicherheiten IsNot Nothing Then
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.ObjektIdentifizierung IsNot Nothing Then
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readNCTS_UngueltigkeitSicherheitenNCTSDE003 = NCTS.EinzelUngueltigkeitSicherheiten.ObjektIdentifizierung.ObjektName
|
|
End If
|
|
End If
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten IsNot Nothing Then
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Arbeitsnummer IsNot Nothing Then
|
|
ANR = NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Arbeitsnummer
|
|
End If
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.ZeitpunktUngueltigkeitUnwirksamkeit > "01.01.2000" Then
|
|
tstmp = NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.ZeitpunktUngueltigkeitUnwirksamkeit
|
|
End If
|
|
grund = NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Grund
|
|
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Sicherheit IsNot Nothing Then
|
|
For Each s In NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Sicherheit
|
|
If s.GRN IsNot Nothing Then
|
|
sicherheit &= s.GRN & " "
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Fehlermeldung IsNot Nothing Then
|
|
For Each F In NCTS.EinzelUngueltigkeitSicherheiten.KopfDaten.Fehlermeldung
|
|
'???
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
|
|
End If
|
|
End If
|
|
|
|
sicherheit = sicherheit.Trim
|
|
|
|
If readNCTS_UngueltigkeitSicherheitenNCTSDE003 <> "" And ANR <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
|
|
STATUS.dySt_BezugsNr = readNCTS_UngueltigkeitSicherheitenNCTSDE003
|
|
STATUS.dySt_artMitteilung = "UNG"
|
|
STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2
|
|
|
|
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_15
|
|
STATUS.dySt_ergCode = "UN"
|
|
STATUS.dySt_ergMitteilung = grund
|
|
If tstmp IsNot Nothing Then STATUS.dySt_ergZeitpunkt = tstmp
|
|
'EINTRAG IN tblDakosy_Zollanmeldungen
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), "NCTS")
|
|
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), ANR)
|
|
|
|
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
|
|
STATUS.SAVE()
|
|
|
|
FORM.addDGVEinarbeitung("NCTS: UngueltigkeitSicherheitenNCTSDE_003", STATUS.dySt_BezugsNr)
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readNCTS_UngueltigkeitSicherheitenNCTSDE003 = ""
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Shared Function readNCTS_Erledigungsmeldung(FORM As frmDYNachrichtenVerarbeitung, d As String) As String
|
|
Try
|
|
|
|
Dim NCTS As DAKOSY_Worker.ErledigungsmeldungNCTSDE.ErledigungsmeldungMOTyp = DAKOSY_Worker.ErledigungsmeldungNCTSDE.ErledigungsmeldungMOTyp.LoadFromFile(d)
|
|
Dim MRN = ""
|
|
Dim tstmp As Object = Nothing
|
|
readNCTS_Erledigungsmeldung = ""
|
|
If NCTS IsNot Nothing Then
|
|
If NCTS.EinzelErledigungsmeldung IsNot Nothing Then
|
|
If NCTS.EinzelErledigungsmeldung.ObjektIdentifizierung IsNot Nothing Then
|
|
If NCTS.EinzelErledigungsmeldung.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readNCTS_Erledigungsmeldung = NCTS.EinzelErledigungsmeldung.ObjektIdentifizierung.ObjektName
|
|
End If
|
|
End If
|
|
If NCTS.EinzelErledigungsmeldung.KopfDaten IsNot Nothing Then
|
|
If NCTS.EinzelErledigungsmeldung.KopfDaten.MRN IsNot Nothing Then
|
|
MRN = NCTS.EinzelErledigungsmeldung.KopfDaten.MRN
|
|
End If
|
|
If NCTS.EinzelErledigungsmeldung.KopfDaten.ZeitpunktErledigung > "01.01.2000" Then
|
|
tstmp = NCTS.EinzelErledigungsmeldung.KopfDaten.ZeitpunktErledigung
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
If readNCTS_Erledigungsmeldung <> "" And MRN <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
|
|
STATUS.dySt_BezugsNr = readNCTS_Erledigungsmeldung
|
|
STATUS.dySt_artMitteilung = "EM"
|
|
STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2
|
|
|
|
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_60
|
|
STATUS.dySt_ergCode = "TSTMP"
|
|
STATUS.dySt_ergMitteilung = ""
|
|
If tstmp IsNot Nothing Then STATUS.dySt_ergZeitpunkt = tstmp
|
|
'EINTRAG IN tblDakosy_Zollanmeldungen
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), "NCTS")
|
|
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), , MRN)
|
|
|
|
'Gestellung eintragen, falls nochnicht geschehen
|
|
If Not NCTS_TMP.ncts_Gestellt Then
|
|
NCTS_TMP.ncts_Gestellt = True
|
|
NCTS_TMP.SAVE()
|
|
End If
|
|
|
|
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
|
|
STATUS.SAVE()
|
|
|
|
' BEREITSTELLUNG DER DATEN AN FREMDSYSTEME
|
|
cVERAG_out_ncts.copyFileFTP_VERAGncts_DY(NCTS_TMP, DY_TMP)
|
|
|
|
FORM.addDGVEinarbeitung("NCTS: Erledigungsmeldung", STATUS.dySt_BezugsNr)
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readNCTS_Erledigungsmeldung = ""
|
|
End Try
|
|
End Function
|
|
|
|
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)
|
|
Dim MRN = ""
|
|
Dim division = ""
|
|
Dim Wiedergestellungsdatum As Object = Nothing
|
|
' Dim bearbeiter = ""
|
|
Dim zp As Object = Nothing
|
|
readNCTS_Ueberlassungsmeldung005 = ""
|
|
If NCTS IsNot Nothing Then
|
|
If NCTS.Transaktion IsNot Nothing Then
|
|
If NCTS.Transaktion.IODivision3 IsNot Nothing Then
|
|
division = NCTS.Transaktion.IODivision3
|
|
End If
|
|
End If
|
|
If NCTS.EinzelUeberlassungsmeldung IsNot Nothing Then
|
|
If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung IsNot Nothing Then
|
|
If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readNCTS_Ueberlassungsmeldung005 = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName
|
|
End If
|
|
If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang > "01.01.2000" Then
|
|
zp = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang
|
|
End If
|
|
End If
|
|
If NCTS.EinzelUeberlassungsmeldung.KopfDaten IsNot Nothing Then
|
|
If NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN IsNot Nothing Then
|
|
MRN = NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN
|
|
End If
|
|
|
|
|
|
Wiedergestellungsdatum = NCTS.EinzelUeberlassungsmeldung.KopfDaten.Wiedergestellungsdatum
|
|
' bearbeiter=NCTS.EinzelUeberlassungsmeldung.KopfDaten.
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
|
|
|
|
If readNCTS_Ueberlassungsmeldung005 <> "" And MRN <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
|
|
STATUS.dySt_BezugsNr = readNCTS_Ueberlassungsmeldung005
|
|
STATUS.dySt_artMitteilung = "UEM"
|
|
STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2
|
|
|
|
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_50
|
|
STATUS.dySt_ergCode = "MRN"
|
|
STATUS.dySt_ergMitteilung = MRN
|
|
STATUS.dySt_ergZeitpunkt = zp
|
|
'EINTRAG IN tblDakosy_Zollanmeldungen
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), "NCTS")
|
|
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), , MRN)
|
|
|
|
SaveNCTS_FirmaNL(NCTS_TMP, DY_TMP, division)
|
|
SaveNCTS_WGDAT(NCTS_TMP, Wiedergestellungsdatum)
|
|
|
|
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
|
|
STATUS.SAVE()
|
|
statusTMP = STATUS
|
|
cVERAG_out_ncts.copyFileFTP_VERAGncts_DY(NCTS_TMP, DY_TMP)
|
|
' If If(NCTS_TMP.ncts_firma, "") = "IMEX" Then
|
|
|
|
NCTS_TMP.insertIntoSpedBuch(DY_TMP)
|
|
|
|
|
|
|
|
FORM.addDGVEinarbeitung("NCTS: Überlassungsmeldung", STATUS.dySt_BezugsNr)
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readNCTS_Ueberlassungsmeldung005 = ""
|
|
End Try
|
|
End Function
|
|
|
|
|
|
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)
|
|
Dim MRN = ""
|
|
Dim division = ""
|
|
Dim Wiedergestellungsdatum As Object = Nothing
|
|
' Dim bearbeiter = ""
|
|
Dim zp As Object = Nothing
|
|
readNCTS_Ueberlassungsmeldung006 = ""
|
|
If NCTS IsNot Nothing Then
|
|
If NCTS.Transaktion IsNot Nothing Then
|
|
If NCTS.Transaktion.IODivision3 IsNot Nothing Then
|
|
division = NCTS.Transaktion.IODivision3
|
|
End If
|
|
End If
|
|
If NCTS.EinzelUeberlassungsmeldung IsNot Nothing Then
|
|
If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung IsNot Nothing Then
|
|
If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readNCTS_Ueberlassungsmeldung006 = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName
|
|
End If
|
|
If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang > "01.01.2000" Then
|
|
zp = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang
|
|
End If
|
|
End If
|
|
If NCTS.EinzelUeberlassungsmeldung.KopfDaten IsNot Nothing Then
|
|
If NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN IsNot Nothing Then
|
|
MRN = NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN
|
|
End If
|
|
|
|
|
|
Wiedergestellungsdatum = NCTS.EinzelUeberlassungsmeldung.KopfDaten.Wiedergestellungsdatum
|
|
' bearbeiter=NCTS.EinzelUeberlassungsmeldung.KopfDaten.
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
|
|
|
|
If readNCTS_Ueberlassungsmeldung006 <> "" And MRN <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
|
|
STATUS.dySt_BezugsNr = readNCTS_Ueberlassungsmeldung006
|
|
STATUS.dySt_artMitteilung = "UEM"
|
|
STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2
|
|
|
|
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_50
|
|
STATUS.dySt_ergCode = "MRN"
|
|
STATUS.dySt_ergMitteilung = MRN
|
|
STATUS.dySt_ergZeitpunkt = zp
|
|
'EINTRAG IN tblDakosy_Zollanmeldungen
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), "NCTS")
|
|
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), , MRN)
|
|
|
|
SaveNCTS_FirmaNL(NCTS_TMP, DY_TMP, division)
|
|
SaveNCTS_WGDAT(NCTS_TMP, Wiedergestellungsdatum)
|
|
|
|
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
|
|
STATUS.SAVE()
|
|
statusTMP = STATUS
|
|
cVERAG_out_ncts.copyFileFTP_VERAGncts_DY(NCTS_TMP, DY_TMP)
|
|
' If If(NCTS_TMP.ncts_firma, "") = "IMEX" Then
|
|
|
|
NCTS_TMP.insertIntoSpedBuch(DY_TMP)
|
|
|
|
|
|
|
|
FORM.addDGVEinarbeitung("NCTS: Überlassungsmeldung", STATUS.dySt_BezugsNr)
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readNCTS_Ueberlassungsmeldung006 = ""
|
|
End Try
|
|
End Function
|
|
Shared Function readNCTS_Ueberlassungsmeldung007(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_007.UeberlassungsmeldungMRTyp = DAKOSY_Worker.UeberlassungsmeldungNCTSDE_007.UeberlassungsmeldungMRTyp.LoadFromFile(d)
|
|
Dim MRN = ""
|
|
Dim division = ""
|
|
Dim Wiedergestellungsdatum As Object = Nothing
|
|
' Dim bearbeiter = ""
|
|
Dim zp As Object = Nothing
|
|
readNCTS_Ueberlassungsmeldung007 = ""
|
|
If NCTS IsNot Nothing Then
|
|
If NCTS.Transaktion IsNot Nothing Then
|
|
If NCTS.Transaktion.IODivision3 IsNot Nothing Then
|
|
division = NCTS.Transaktion.IODivision3
|
|
End If
|
|
End If
|
|
If NCTS.EinzelUeberlassungsmeldung IsNot Nothing Then
|
|
If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung IsNot Nothing Then
|
|
If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readNCTS_Ueberlassungsmeldung007 = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ObjektName
|
|
End If
|
|
If NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang > "01.01.2000" Then
|
|
zp = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang
|
|
End If
|
|
End If
|
|
If NCTS.EinzelUeberlassungsmeldung.KopfDaten IsNot Nothing Then
|
|
If NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN IsNot Nothing Then
|
|
MRN = NCTS.EinzelUeberlassungsmeldung.KopfDaten.MRN
|
|
End If
|
|
|
|
|
|
Wiedergestellungsdatum = NCTS.EinzelUeberlassungsmeldung.KopfDaten.Wiedergestellungsdatum
|
|
' bearbeiter=NCTS.EinzelUeberlassungsmeldung.KopfDaten.
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
|
|
|
|
If readNCTS_Ueberlassungsmeldung007 <> "" And MRN <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
|
|
STATUS.dySt_BezugsNr = readNCTS_Ueberlassungsmeldung007
|
|
STATUS.dySt_artMitteilung = "UEM"
|
|
STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2
|
|
|
|
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_50
|
|
STATUS.dySt_ergCode = "MRN"
|
|
STATUS.dySt_ergMitteilung = MRN
|
|
STATUS.dySt_ergZeitpunkt = zp
|
|
'EINTRAG IN tblDakosy_Zollanmeldungen
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), "NCTS")
|
|
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), , MRN)
|
|
|
|
SaveNCTS_FirmaNL(NCTS_TMP, DY_TMP, division)
|
|
SaveNCTS_WGDAT(NCTS_TMP, Wiedergestellungsdatum)
|
|
|
|
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
|
|
STATUS.SAVE()
|
|
statusTMP = STATUS
|
|
cVERAG_out_ncts.copyFileFTP_VERAGncts_DY(NCTS_TMP, DY_TMP) 'VERAG SCHNITTSTELLE
|
|
' If If(NCTS_TMP.ncts_firma, "") = "IMEX" Then
|
|
|
|
NCTS_TMP.insertIntoSpedBuch(DY_TMP)
|
|
|
|
|
|
|
|
FORM.addDGVEinarbeitung("NCTS: Überlassungsmeldung", STATUS.dySt_BezugsNr)
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readNCTS_Ueberlassungsmeldung007 = ""
|
|
End Try
|
|
End Function
|
|
|
|
Shared Sub SaveNCTS_WGDAT(ByRef NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut, WGDAT As Object)
|
|
|
|
If WGDAT IsNot Nothing AndAlso IsDate(WGDAT) Then
|
|
NCTS_TMP.ncts_Wiedergestellungsdatum = CDate(WGDAT)
|
|
NCTS_TMP.SAVE()
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Shared Function readNCTS_AnrechnungReferenzbetraege(FORM As frmDYNachrichtenVerarbeitung, d As String) As String
|
|
Try
|
|
Dim NCTS As DAKOSY_Worker.AnrechnungReferenzbetraegeNCTSDE.AnrechnungReferenzbetraegeMATyp = DAKOSY_Worker.AnrechnungReferenzbetraegeNCTSDE.AnrechnungReferenzbetraegeMATyp.LoadFromFile(d)
|
|
Dim MRN = ""
|
|
Dim tstmp As Object = Nothing
|
|
Dim division = ""
|
|
readNCTS_AnrechnungReferenzbetraege = ""
|
|
If NCTS IsNot Nothing Then
|
|
If NCTS.Transaktion IsNot Nothing Then
|
|
If NCTS.Transaktion.IODivision3 IsNot Nothing Then
|
|
division = NCTS.Transaktion.IODivision3
|
|
End If
|
|
End If
|
|
If NCTS.EinzelAnrechnungReferenzbetraege IsNot Nothing Then
|
|
If NCTS.EinzelAnrechnungReferenzbetraege.ObjektIdentifizierung IsNot Nothing Then
|
|
If NCTS.EinzelAnrechnungReferenzbetraege.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readNCTS_AnrechnungReferenzbetraege = NCTS.EinzelAnrechnungReferenzbetraege.ObjektIdentifizierung.ObjektName
|
|
End If
|
|
End If
|
|
If NCTS.EinzelAnrechnungReferenzbetraege.KopfDaten IsNot Nothing Then
|
|
If NCTS.EinzelAnrechnungReferenzbetraege.KopfDaten.MRN IsNot Nothing Then
|
|
MRN = NCTS.EinzelAnrechnungReferenzbetraege.KopfDaten.MRN
|
|
If NCTS.EinzelAnrechnungReferenzbetraege.KopfDaten.ZeitpunktAnrechnungReferenzbetraege > "01.01.2000" Then
|
|
tstmp = NCTS.EinzelAnrechnungReferenzbetraege.KopfDaten.ZeitpunktAnrechnungReferenzbetraege
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
|
|
|
|
If readNCTS_AnrechnungReferenzbetraege <> "" And MRN <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
|
|
STATUS.dySt_BezugsNr = readNCTS_AnrechnungReferenzbetraege
|
|
STATUS.dySt_artMitteilung = "AR"
|
|
STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2
|
|
|
|
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_53
|
|
STATUS.dySt_ergCode = "TSTMP"
|
|
STATUS.dySt_ergMitteilung = MRN
|
|
' STATUS.dySt_ergMitteilung = ""
|
|
If tstmp IsNot Nothing Then STATUS.dySt_ergZeitpunkt = tstmp
|
|
'EINTRAG IN tblDakosy_Zollanmeldungen
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), "NCTS")
|
|
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut = saveDY_NCTS(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(tstmp, NCTS.Transaktion.IODatumZeit), , MRN)
|
|
|
|
SaveNCTS_FirmaNL(NCTS_TMP, DY_TMP, division)
|
|
|
|
'Gestellung eintragen
|
|
NCTS_TMP.ncts_Gestellt = True
|
|
NCTS_TMP.ncts_GestelltAm = tstmp
|
|
NCTS_TMP.SAVE()
|
|
|
|
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
|
|
STATUS.SAVE()
|
|
|
|
FORM.addDGVEinarbeitung("NCTS: AnrechnungReferenzbetäege", STATUS.dySt_BezugsNr)
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readNCTS_AnrechnungReferenzbetraege = ""
|
|
End Try
|
|
End Function
|
|
|
|
|
|
End Class
|