Deserialize EXG
This commit is contained in:
@@ -1615,7 +1615,8 @@ Public Class cDakosyNCTSOut004
|
||||
|
||||
'Transaktion:
|
||||
XML.Transaktion = New VersandanmeldungNCTSDE_004.TransaktionNCTSTyp
|
||||
XML.Transaktion.IOPartner = "UNAT" ' cDakosyFunftions.getIOPartner(cDY.ncts_firma, Art) 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG")
|
||||
' XML.Transaktion.IOPartner = "UNAT" ' cDakosyFunftions.getIOPartner(cDY.ncts_firma, Art) 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG")
|
||||
XML.Transaktion.IOPartner = cDakosyFunftions.getIOPartner(cDY.ncts_firma, Art) 'If(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "VERA", "VERG")
|
||||
XML.Transaktion.IODatumZeit = Now
|
||||
XML.Transaktion.IOReferenz = cDY.ncts_Trans_Referenz
|
||||
'If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then XML.Transaktion.IODivision3 = cDakosyFunftions.getDivision(cDY.ncts_firma, Art) '"SUW"
|
||||
@@ -1886,22 +1887,26 @@ Public Class cDakosyNCTSOut004
|
||||
End If
|
||||
|
||||
|
||||
|
||||
If XML.Transaktion.IOPartner = "UNAT" Then
|
||||
|
||||
'Ansprechpartner Inhaber Versandverfahren (Inhaber selbst bleibt unverändert)
|
||||
If XML.EinzelVersandanmeldung.TransitOperation.HolderOfTheTransitProcedure IsNot Nothing Then
|
||||
Dim holder = XML.EinzelVersandanmeldung.TransitOperation.HolderOfTheTransitProcedure
|
||||
|
||||
If holder.ContactPerson Is Nothing Then holder.ContactPerson = New VersandanmeldungNCTSDE_004.ContactPersonVAType
|
||||
|
||||
holder.ContactPerson.Name = If(String.IsNullOrWhiteSpace(cDY.ncts_HolderOfTheTransitProcedure_ContactPerson_Name), VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname, cDY.ncts_HolderOfTheTransitProcedure_ContactPerson_Name)
|
||||
holder.ContactPerson.PhoneNumber = If(String.IsNullOrWhiteSpace(cDY.ncts_HolderOfTheTransitProcedure_ContactPerson_PhoneNumber), getTelefon(), cDY.ncts_HolderOfTheTransitProcedure_ContactPerson_PhoneNumber)
|
||||
holder.ContactPerson.EMailAddress = If(String.IsNullOrWhiteSpace(cDY.ncts_HolderOfTheTransitProcedure_ContactPerson_EMailAddress), If(String.IsNullOrWhiteSpace(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_email), getDefaultMail_FIRMA(), VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_email), cDY.ncts_HolderOfTheTransitProcedure_ContactPerson_EMailAddress)
|
||||
'Inhaber aus DAKOSY-Stammreferenz beibehalten, nur Kontakt ergänzen
|
||||
If XML.EinzelVersandanmeldung.TransitOperation.HolderOfTheTransitProcedure Is Nothing Then
|
||||
XML.EinzelVersandanmeldung.TransitOperation.HolderOfTheTransitProcedure = New VersandanmeldungNCTSDE_004.HolderOfTheTransitProcedureVAType
|
||||
End If
|
||||
|
||||
Dim holder = XML.EinzelVersandanmeldung.TransitOperation.HolderOfTheTransitProcedure
|
||||
|
||||
If holder.ContactPerson Is Nothing Then holder.ContactPerson = New VersandanmeldungNCTSDE_004.ContactPersonVAType
|
||||
|
||||
holder.ContactPerson.Name = If(String.IsNullOrWhiteSpace(cDY.ncts_HolderOfTheTransitProcedure_ContactPerson_Name), VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname, cDY.ncts_HolderOfTheTransitProcedure_ContactPerson_Name)
|
||||
holder.ContactPerson.PhoneNumber = If(String.IsNullOrWhiteSpace(cDY.ncts_HolderOfTheTransitProcedure_ContactPerson_PhoneNumber), getTelefon(), cDY.ncts_HolderOfTheTransitProcedure_ContactPerson_PhoneNumber)
|
||||
holder.ContactPerson.EMailAddress = If(String.IsNullOrWhiteSpace(cDY.ncts_HolderOfTheTransitProcedure_ContactPerson_EMailAddress), If(String.IsNullOrWhiteSpace(VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_email), getDefaultMail_FIRMA(), VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_email), cDY.ncts_HolderOfTheTransitProcedure_ContactPerson_EMailAddress)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
'Vertreter Inhaber Versandverfahren
|
||||
If cDY.ncts_Representative_IdentificationNumber IsNot Nothing Then
|
||||
XML.EinzelVersandanmeldung.TransitOperation.Representative = New VersandanmeldungNCTSDE_004.RepresentativeVAType
|
||||
@@ -2974,6 +2979,37 @@ Public Class cDakosyNCTSOut004
|
||||
Next
|
||||
End If
|
||||
|
||||
'========================================================================================================================
|
||||
'Einheitliche Versender/Empfänger auf Kopfebene zusammenfassen
|
||||
Dim transit = XML.EinzelVersandanmeldung.TransitOperation
|
||||
|
||||
If transit.HouseConsignment IsNot Nothing AndAlso transit.HouseConsignment.Count > 0 Then
|
||||
Dim houses = transit.HouseConsignment
|
||||
|
||||
Dim firstConsignor = houses(0).Consignor
|
||||
Dim firstConsignee = houses(0).Consignee
|
||||
|
||||
Dim sameConsignor As Boolean = firstConsignor IsNot Nothing AndAlso houses.All(Function(h) SameNCTSParty(firstConsignor, h.Consignor))
|
||||
Dim sameConsignee As Boolean = firstConsignee IsNot Nothing AndAlso houses.All(Function(h) SameNCTSParty(firstConsignee, h.Consignee))
|
||||
|
||||
If sameConsignor Then
|
||||
transit.Consignor = firstConsignor
|
||||
For Each h In houses
|
||||
h.Consignor = Nothing
|
||||
Next
|
||||
End If
|
||||
|
||||
If sameConsignee Then
|
||||
transit.Consignee = firstConsignee
|
||||
For Each h In houses
|
||||
h.Consignee = Nothing
|
||||
Next
|
||||
End If
|
||||
End If
|
||||
'========================================================================================================================
|
||||
|
||||
|
||||
|
||||
Dim saveDir = StartupPath & "\Dakosy_SEND\"
|
||||
If Not System.IO.Directory.Exists(saveDir) Then
|
||||
System.IO.Directory.CreateDirectory(saveDir)
|
||||
@@ -2993,6 +3029,30 @@ Public Class cDakosyNCTSOut004
|
||||
Return False
|
||||
End Function
|
||||
|
||||
Private Shared Function SameNCTSParty(a As VersandanmeldungNCTSDE_004.AddressVA1Type, b As VersandanmeldungNCTSDE_004.AddressVA1Type) As Boolean
|
||||
If a Is Nothing OrElse b Is Nothing Then Return False
|
||||
|
||||
Dim eoriA As String = If(a.IdentificationNumber, "").Trim().ToUpperInvariant()
|
||||
Dim eoriB As String = If(b.IdentificationNumber, "").Trim().ToUpperInvariant()
|
||||
|
||||
If eoriA <> "" AndAlso eoriB <> "" Then
|
||||
Return eoriA = eoriB
|
||||
End If
|
||||
|
||||
'Wenn nur eine EORI vorhanden ist, keine automatische Gleichsetzung
|
||||
If eoriA <> eoriB Then Return False
|
||||
|
||||
Dim norm As Func(Of String, String) = Function(s) String.Join(" ", If(s, "").Trim().ToUpperInvariant().Split(New Char() {" "c, ControlChars.Tab}, StringSplitOptions.RemoveEmptyEntries))
|
||||
|
||||
If norm(a.Name) = "" OrElse norm(b.Name) = "" Then Return False
|
||||
|
||||
Return norm(a.Name) = norm(b.Name) AndAlso
|
||||
norm(a.StreetAndNumber) = norm(b.StreetAndNumber) AndAlso
|
||||
norm(a.Postcode) = norm(b.Postcode) AndAlso
|
||||
norm(a.City) = norm(b.City) AndAlso
|
||||
norm(a.Country) = norm(b.Country)
|
||||
End Function
|
||||
|
||||
Private Shared Function getTelefon() As String
|
||||
Dim defaultDW = "200"
|
||||
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
||||
|
||||
@@ -245,6 +245,12 @@ Public Class cImporter_DakosyToVERAG
|
||||
|
||||
item.zaItem_PackageColli = (wp.ezaWP_PackstueckAnzahl)
|
||||
item.zaItem_PackageType = wp.ezaWP_PackstueckArt
|
||||
Dim packageNumber As Integer
|
||||
item.Packages.Add(New cVERAG_CustomsDeclarations_ItemPackage With {
|
||||
.zaPkg_Type = item.zaItem_PackageType,
|
||||
.zaPkg_Number = If(Integer.TryParse(item.zaItem_PackageColli, packageNumber), CType(packageNumber, Integer?), Nothing),
|
||||
.zaPkg_Marks = item.zaItem_PackageMark
|
||||
})
|
||||
|
||||
item.zaItem_GrossMass = ToNullableDecimal(wp.ezaWP_Rohmasse)
|
||||
item.zaItem_NetMass = ToNullableDecimal(wp.ezaWP_Eigenmasse)
|
||||
|
||||
@@ -11,7 +11,14 @@ Public Class cWorker_AES_EXG
|
||||
Shared Function readEZA_DatenZumAusgang_DataEXITDE_005(FORM As frmDYNachrichtenVerarbeitung, d As String, saveVerwahrung As Boolean) As String
|
||||
Try
|
||||
|
||||
Dim VWI As DAKOSY_Worker.DataEXITDE.DatenZumAusgangXDTyp = DAKOSY_Worker.DataEXITDE.DatenZumAusgangXDTyp.LoadFromFile(d)
|
||||
|
||||
Dim VWI As DAKOSY_Worker.DataEXITDE.DatenZumAusgangXDTyp
|
||||
|
||||
Using fs As New System.IO.FileStream(d, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read)
|
||||
VWI = DAKOSY_Worker.DataEXITDE.DatenZumAusgangXDTyp.Deserialize(fs)
|
||||
End Using
|
||||
|
||||
|
||||
Dim MRN = ""
|
||||
Dim RegistriernummerATLAS = ""
|
||||
Dim ankungsdatum As Object = Nothing
|
||||
|
||||
Reference in New Issue
Block a user