DY_GenerellesErgebnis-> NCTS

This commit is contained in:
2023-12-18 15:29:25 +01:00
parent 4b4a4a3286
commit 17d24140cb
13 changed files with 1911 additions and 168 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="GenerellesEreignis" type="GenerellesEreignisGETyp"/>
<xs:simpleType name="an..10">
<xs:restriction base="xs:string">
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..100">
<xs:restriction base="xs:string">
<xs:maxLength value="100"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..17">
<xs:restriction base="xs:string">
<xs:maxLength value="17"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..20">
<xs:restriction base="xs:string">
<xs:maxLength value="20"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..35">
<xs:restriction base="xs:string">
<xs:maxLength value="35"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..4">
<xs:restriction base="xs:string">
<xs:maxLength value="4"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="an..4000">
<xs:restriction base="xs:string">
<xs:maxLength value="4000"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="DatenaustauschAllgemeinTyp">
<xs:sequence>
<xs:element name="Transaktion" type="TransaktionAllgemeinTyp"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EinzelEreignisTyp">
<xs:sequence>
<xs:element name="ObjektIdentifizierung" type="ObjektIdentifizierungGETyp"/>
<xs:element name="KopfDaten" type="KopfDatenEreignisTyp" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EreignisGETyp">
<xs:sequence>
<xs:element name="Positionsnummer" type="n5" minOccurs="0"/>
<xs:element name="EreignisCode" type="an..17" minOccurs="0"/>
<xs:element name="Ereignismitteilung" type="an..4000" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="GenerellesEreignisGETyp">
<xs:complexContent>
<xs:extension base="DatenaustauschAllgemeinTyp">
<xs:sequence>
<xs:element name="EinzelEreignisObjekt" type="EinzelEreignisTyp" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="KopfDatenEreignisTyp">
<xs:sequence>
<xs:element name="Registrierdatum" type="xs:date" minOccurs="0"/>
<xs:element name="RegistrierNrATLAS" type="an..35" minOccurs="0"/>
<xs:element name="Ereignis" type="EreignisGETyp" minOccurs="0" maxOccurs="9999999"/>
</xs:sequence>
</xs:complexType>
<xs:simpleType name="n3">
<xs:restriction base="xs:nonNegativeInteger">
<xs:pattern value="\d{3}"/>
<xs:totalDigits value="3"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="n5">
<xs:restriction base="xs:nonNegativeInteger">
<xs:pattern value="\d{5}"/>
<xs:totalDigits value="5"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="ObjektIdentifizierungGETyp">
<xs:sequence>
<xs:element name="ObjektName" type="an..35"/>
<xs:element name="ObjektAlias" type="an..35" minOccurs="0"/>
<xs:element name="ObjektAntragArt" type="an..4"/>
<xs:element name="EDIFACTNachrichtenNr" type="an..35" minOccurs="0"/>
<xs:element name="ZeitpunktEingang" type="xs:dateTime"/>
<xs:element name="Ereignisgewichtung" type="an..10"/>
<xs:element name="Meldestelle" type="an..20"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="TransaktionAllgemeinTyp">
<xs:sequence>
<xs:element name="IOPartner" type="an..100"/>
<xs:element name="IODivision1" type="an..10" minOccurs="0"/>
<xs:element name="IODivision2" type="an..10" minOccurs="0"/>
<xs:element name="IODivision3" type="an..10" minOccurs="0"/>
<xs:element name="IOReferenz" type="an..35"/>
<xs:element name="IODatumZeit" type="xs:dateTime"/>
<xs:element name="Version" type="n3" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

View File

@@ -978,10 +978,10 @@ Public Class cDakosyNCTSOut
'SPEDITIONSBUCH.Abfertigungsdatum=
SPEDITIONSBUCH.BelegNr = DY.ncts_MRN
SPEDITIONSBUCH.LKW_Kennzeichen = If(DY.ncts_Befoerderungsmittel_KennzeichenAbgang, "")
SPEDITIONSBUCH.LKW_Kennzeichen = If(DY.ncts_Befoerderungsmittel_KennzeichenAbgang, "")
Dim AD = getAdresseFromEORI(DY.ncts_SumA_Versender_EORI, DY.ncts_SumA_Versender_NLNR, SQL)
If AD IsNot Nothing Then
Dim AD = getAdresseFromEORI(DY.ncts_SumA_Versender_EORI, DY.ncts_SumA_Versender_NLNR, SQL, DY.ncts_firma)
If AD IsNot Nothing Then
SPEDITIONSBUCH.AbsenderKundenNr = AD.AdressenNr
SPEDITIONSBUCH.Absender = AD.Ordnungsbegriff
End If
@@ -993,8 +993,8 @@ Public Class cDakosyNCTSOut
SPEDITIONSBUCH.Absender &= " " & If(DY.ncts_SumA_Versender_Ort, "")
ElseIf DY.ncts_WARENPOS.Count > 0 Then
Dim WP = DY.ncts_WARENPOS(0)
Dim AD_pos = getAdresseFromEORI(WP.nctsWP_SumAVersender_EORI, WP.nctsWP_SumAVersender_NLNR, SQL)
If AD_pos IsNot Nothing Then
Dim AD_pos = getAdresseFromEORI(WP.nctsWP_SumAVersender_EORI, WP.nctsWP_SumAVersender_NLNR, SQL, DY.ncts_firma)
If AD_pos IsNot Nothing Then
SPEDITIONSBUCH.AbsenderKundenNr = AD_pos.AdressenNr
SPEDITIONSBUCH.Absender = AD_pos.Ordnungsbegriff
End If
@@ -1011,8 +1011,8 @@ Public Class cDakosyNCTSOut
End If
Dim AD2 = getAdresseFromEORI(DY.ncts_SumA_Empfaenger_EORI, DY.ncts_SumA_Empfaenger_NLNR, SQL)
If AD2 IsNot Nothing Then
Dim AD2 = getAdresseFromEORI(DY.ncts_SumA_Empfaenger_EORI, DY.ncts_SumA_Empfaenger_NLNR, SQL, DY.ncts_firma)
If AD2 IsNot Nothing Then
SPEDITIONSBUCH.EmpfängerKundenNr = AD2.AdressenNr
SPEDITIONSBUCH.Empfänger = AD2.Ordnungsbegriff
End If
@@ -1024,8 +1024,8 @@ Public Class cDakosyNCTSOut
SPEDITIONSBUCH.Empfänger &= " " & If(DY.ncts_SumA_Empfaenger_Ort, "")
ElseIf DY.ncts_WARENPOS.Count > 0 Then
Dim WP = DY.ncts_WARENPOS(0)
Dim AD_pos = getAdresseFromEORI(WP.nctsWP_SumAEmpfaenger_EORI, WP.nctsWP_SumAEmpfaenger_NLNR, SQL)
If AD_pos IsNot Nothing Then
Dim AD_pos = getAdresseFromEORI(WP.nctsWP_SumAEmpfaenger_EORI, WP.nctsWP_SumAEmpfaenger_NLNR, SQL, DY.ncts_firma)
If AD_pos IsNot Nothing Then
SPEDITIONSBUCH.EmpfängerKundenNr = AD_pos.AdressenNr
SPEDITIONSBUCH.Empfänger = AD_pos.Ordnungsbegriff
End If
@@ -1085,10 +1085,10 @@ Public Class cDakosyNCTSOut
End Sub
Shared Function getAdresseFromEORI(EORI As String, EORI_NL As String, SQL As VERAG_PROG_ALLGEMEIN.SQL)
Shared Function getAdresseFromEORI(EORI As String, EORI_NL As String, SQL As VERAG_PROG_ALLGEMEIN.SQL, Firma As String)
If EORI Is Nothing Then Return Nothing
If If(EORI, "") <> "" Then
Dim kdNrTmp = SQL.getFMZOLLKdNrFromEORI(EORI, EORI_NL)
Dim kdNrTmp = SQL.getFMZOLLKdNrFromEORI(EORI, EORI_NL, Firma)
If IsNumeric(kdNrTmp) Then
Dim ADRESSE As New VERAG_PROG_ALLGEMEIN.cAdressen(kdNrTmp)
Return ADRESSE

View File

@@ -1177,7 +1177,7 @@ Public Class cDakosyNCTSOut004
Public Function SAVE_Guarantee() As Boolean
'Zuserst alle OffertenPos von dem Offert löschen
If True Then ' DELETE_Guarantee() Then
If DELETE_Guarantee() Then
'jetzt die Standartofferten einfügen
For Each p In ncts_GUARANTEE
p.nctsGRT_NctsId = ncts_Id
@@ -1447,7 +1447,7 @@ Public Class cDakosyNCTSOut004
SPEDITIONSBUCH.BelegNr = DY.ncts_MRN
SPEDITIONSBUCH.LKW_Kennzeichen = If(DY.ncts_DepartureTransportMeans_1_IdentificationNumber, "")
Dim AD = getAdresseFromEORI(DY.ncts_Consignor_IdentificationNumber, DY.ncts_Consignor_SubsidiaryNumber, SQL)
Dim AD = getAdresseFromEORI(DY.ncts_Consignor_IdentificationNumber, DY.ncts_Consignor_SubsidiaryNumber, SQL, DY.ncts_firma)
If AD IsNot Nothing Then
SPEDITIONSBUCH.AbsenderKundenNr = AD.AdressenNr
SPEDITIONSBUCH.Absender = AD.Ordnungsbegriff
@@ -1460,7 +1460,7 @@ Public Class cDakosyNCTSOut004
SPEDITIONSBUCH.Absender &= " " & If(DY.ncts_Consignor_City, "")
ElseIf DY.ncts_HOUSE_CONSIGNMENT.Count > 0 Then
Dim WP = DY.ncts_HOUSE_CONSIGNMENT(0)
Dim AD_pos = getAdresseFromEORI(WP.nctsHC_Consignor_IdentificationNumber, WP.nctsHC_Consignor_SubsidiaryNumber, SQL)
Dim AD_pos = getAdresseFromEORI(WP.nctsHC_Consignor_IdentificationNumber, WP.nctsHC_Consignor_SubsidiaryNumber, SQL, DY.ncts_firma)
If AD_pos IsNot Nothing Then
SPEDITIONSBUCH.AbsenderKundenNr = AD_pos.AdressenNr
SPEDITIONSBUCH.Absender = AD_pos.Ordnungsbegriff
@@ -1478,7 +1478,7 @@ Public Class cDakosyNCTSOut004
End If
Dim AD2 = getAdresseFromEORI(DY.ncts_Consignee_IdentificationNumber, DY.ncts_Consignee_SubsidiaryNumber, SQL)
Dim AD2 = getAdresseFromEORI(DY.ncts_Consignee_IdentificationNumber, DY.ncts_Consignee_SubsidiaryNumber, SQL, DY.ncts_firma)
If AD2 IsNot Nothing Then
SPEDITIONSBUCH.EmpfängerKundenNr = AD2.AdressenNr
SPEDITIONSBUCH.Empfänger = AD2.Ordnungsbegriff
@@ -1491,7 +1491,7 @@ Public Class cDakosyNCTSOut004
SPEDITIONSBUCH.Empfänger &= " " & If(DY.ncts_Consignee_City, "")
ElseIf DY.ncts_HOUSE_CONSIGNMENT.Count > 0 Then
Dim WP = DY.ncts_HOUSE_CONSIGNMENT(0)
Dim AD_pos = getAdresseFromEORI(WP.nctsHC_Consignee_IdentificationNumber, WP.nctsHC_Consignee_SubsidiaryNumber, SQL)
Dim AD_pos = getAdresseFromEORI(WP.nctsHC_Consignee_IdentificationNumber, WP.nctsHC_Consignee_SubsidiaryNumber, SQL, DY.ncts_firma)
If AD_pos IsNot Nothing Then
SPEDITIONSBUCH.EmpfängerKundenNr = AD_pos.AdressenNr
SPEDITIONSBUCH.Empfänger = AD_pos.Ordnungsbegriff
@@ -1562,10 +1562,10 @@ Public Class cDakosyNCTSOut004
End Sub
Shared Function getAdresseFromEORI(EORI As String, EORI_NL As String, SQL As VERAG_PROG_ALLGEMEIN.SQL)
Shared Function getAdresseFromEORI(EORI As String, EORI_NL As String, SQL As VERAG_PROG_ALLGEMEIN.SQL, Firma As String)
If EORI Is Nothing Then Return Nothing
If If(EORI, "") <> "" Then
Dim kdNrTmp = SQL.getFMZOLLKdNrFromEORI(EORI, EORI_NL)
Dim kdNrTmp = SQL.getFMZOLLKdNrFromEORI(EORI, EORI_NL, Firma)
If IsNumeric(kdNrTmp) Then
Dim ADRESSE As New VERAG_PROG_ALLGEMEIN.cAdressen(kdNrTmp)
Return ADRESSE