diff --git a/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb b/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb index 782cff9..d568f3c 100644 --- a/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb +++ b/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb @@ -117,6 +117,7 @@ Public Class cDakosyEZA Property eza_AUFSCHUB As New List(Of cDakosy_EZA_Aufschub) Property eza_SUMABA As New List(Of cDakosy_EZA_SumABeendigungsAnteil) Property eza_BEA_ZLAvuv As New List(Of cDakosy_EZA_BEAnteilZLAVUV) + Property eza_DV1Kostenverteilung As New List(Of cDakosy_EZA_DV1Kosten) Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -153,87 +154,87 @@ Public Class cDakosyEZA list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LetzteBearbeitung_SB", eza_LetzteBearbeitung_SB)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_firma", eza_firma)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_niederlassung", eza_niederlassung)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Partner", eza_Trans_Partner)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Div1", eza_Trans_Div1)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Div2", eza_Trans_Div2)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Div3", eza_Trans_Div3)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Referenz", eza_Trans_Referenz)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_DatumZeit", eza_Trans_DatumZeit)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Version", eza_Trans_Version)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_NachrichtenSenderTIN", eza_NachrichtenSenderTIN)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_NachrichtenSenderNLNR", eza_NachrichtenSenderNLNR)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_NachrichtenempfaengerDST", eza_NachrichtenempfaengerDST)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ObjectName", eza_ObjectName)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ObjectAlias", eza_ObjectAlias)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerVorblendung", eza_BezugsnummerVorblendung)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Bearbeiter", eza_Bearbeiter)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldungArt", eza_AnmeldungArt)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_CompliancePruefung", eza_CompliancePruefung)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnfBemerkungStatusanzeige", eza_AnfBemerkungStatusanzeige)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AdressierteZollstelle", eza_AdressierteZollstelle)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmelderistEmpfaenger", eza_AnmelderistEmpfaenger)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VertretungsVerhaeltnisCode", eza_VertretungsVerhaeltnisCode)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Vorsteuerabzug", eza_Vorsteuerabzug)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterName", eza_AnmeldenderBearbeiterName)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterTel", eza_AnmeldenderBearbeiterTel)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterStellung", eza_AnmeldenderBearbeiterStellung)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterEMail", eza_AnmeldenderBearbeiterEMail)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_FiskalvertretungKz", eza_FiskalvertretungKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Partner", eza_Trans_Partner)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Div1", eza_Trans_Div1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Div2", eza_Trans_Div2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Div3", eza_Trans_Div3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Referenz", eza_Trans_Referenz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_DatumZeit", eza_Trans_DatumZeit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Trans_Version", eza_Trans_Version)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_NachrichtenSenderTIN", eza_NachrichtenSenderTIN)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_NachrichtenSenderNLNR", eza_NachrichtenSenderNLNR)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_NachrichtenempfaengerDST", eza_NachrichtenempfaengerDST)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ObjectName", eza_ObjectName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ObjectAlias", eza_ObjectAlias)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerVorblendung", eza_BezugsnummerVorblendung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Bearbeiter", eza_Bearbeiter)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldungArt", eza_AnmeldungArt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_CompliancePruefung", eza_CompliancePruefung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnfBemerkungStatusanzeige", eza_AnfBemerkungStatusanzeige)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AdressierteZollstelle", eza_AdressierteZollstelle)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmelderistEmpfaenger", eza_AnmelderistEmpfaenger)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VertretungsVerhaeltnisCode", eza_VertretungsVerhaeltnisCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Vorsteuerabzug", eza_Vorsteuerabzug)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterName", eza_AnmeldenderBearbeiterName)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterTel", eza_AnmeldenderBearbeiterTel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterStellung", eza_AnmeldenderBearbeiterStellung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnmeldenderBearbeiterEMail", eza_AnmeldenderBearbeiterEMail)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_FiskalvertretungKz", eza_FiskalvertretungKz)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Ausstellungsort", eza_Ausstellungsort)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ZollrechtlicherStatus", eza_ZollrechtlicherStatus)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_GesamtRohmasse", eza_GesamtRohmasse)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VerfahrenBeantragtCode", eza_VerfahrenBeantragtCode)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VerkehrszweigInland", eza_VerkehrszweigInland)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VerkehrszweigGrenze", eza_VerkehrszweigGrenze)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VersendungsLandCode", eza_VersendungsLandCode)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Bestimmungsbundesland", eza_Bestimmungsbundesland)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Bestimmungsland", eza_Bestimmungsland)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_KennzeichenNameBefoerderungsmittelAnkunft", eza_KennzeichenNameBefoerderungsmittelAnkunft)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode", eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeförderungsmittelGrenzeArt", eza_BeförderungsmittelGrenzeArt)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeförderungsmittelGrenze", eza_BeförderungsmittelGrenze)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungCode", eza_LieferbedingungCode)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungText", eza_LieferbedingungText)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungSchluessel", eza_LieferbedingungSchluessel)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungOrt", eza_LieferbedingungOrt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ZollrechtlicherStatus", eza_ZollrechtlicherStatus)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_GesamtRohmasse", eza_GesamtRohmasse)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VerfahrenBeantragtCode", eza_VerfahrenBeantragtCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VerkehrszweigInland", eza_VerkehrszweigInland)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VerkehrszweigGrenze", eza_VerkehrszweigGrenze)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VersendungsLandCode", eza_VersendungsLandCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Bestimmungsbundesland", eza_Bestimmungsbundesland)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Bestimmungsland", eza_Bestimmungsland)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_KennzeichenNameBefoerderungsmittelAnkunft", eza_KennzeichenNameBefoerderungsmittelAnkunft)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode", eza_BeförderungsmittelGrenzeStaatszugehörigkeitCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeförderungsmittelGrenzeArt", eza_BeförderungsmittelGrenzeArt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeförderungsmittelGrenze", eza_BeförderungsmittelGrenze)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungCode", eza_LieferbedingungCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungText", eza_LieferbedingungText)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungSchluessel", eza_LieferbedingungSchluessel)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_LieferbedingungOrt", eza_LieferbedingungOrt)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VorpapierArtCode", eza_VorpapierArtCode)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VorpapierNr", eza_VorpapierNr)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ArtGeschaeftCode", eza_ArtGeschaeftCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_VorpapierNr", eza_VorpapierNr)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ArtGeschaeftCode", eza_ArtGeschaeftCode)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Statistikstatus", eza_Statistikstatus)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Warenort", eza_Warenort)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Rechnungspreis", eza_Rechnungspreis)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Rechnungswaehrung", eza_Rechnungswaehrung)) - list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1Kz", eza_DV1Kz)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1Vertretungsverhaeltnis", eza_DV1Vertretungsverhaeltnis)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1FruehereEntscheidungen", eza_DV1FruehereEntscheidungen)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1Verbundenheit", eza_DV1Verbundenheit)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1VerbungenheitEinzelheiten", eza_DV1VerbungenheitEinzelheiten)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1EinschraenkungenKz", eza_DV1EinschraenkungenKz)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1BedingungenLeistungenKz", eza_DV1BedingungenLeistungenKz)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1BedingungenLeistungenArt", eza_DV1BedingungenLeistungenArt)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1LizenzgebuehrenKz", eza_DV1LizenzgebuehrenKz)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1LizenzgebuehrenUmstand", eza_DV1LizenzgebuehrenUmstand)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1SpezielleVereinbarungKz", eza_DV1SpezielleVereinbarungKz)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1SpezielleVereinbarungUmstand", eza_DV1SpezielleVereinbarungUmstand)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ZusatzangabenAnmeldung", eza_ZusatzangabenAnmeldung)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_KzAutoBestaetigung", eza_KzAutoBestaetigung)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnschreibungDatum", eza_AnschreibungDatum)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Eingangszollstelle", eza_Eingangszollstelle)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Zahlungsart", eza_Zahlungsart)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr1", eza_ContainerNr1)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr2", eza_ContainerNr2)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr3", eza_ContainerNr3)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr4", eza_ContainerNr4)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr5", eza_ContainerNr5)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr6", eza_ContainerNr6)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr8", eza_ContainerNr8)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr9", eza_ContainerNr9)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeendigungsanteilArtCode", eza_BeendigungsanteilArtCode)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BewilligungsIDZLAVUV", eza_BewilligungsIDZLAVUV)) -list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_BezugsnummerBEAnteilZL)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Warenort", eza_Warenort)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Rechnungspreis", eza_Rechnungspreis)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Rechnungswaehrung", eza_Rechnungswaehrung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1Kz", eza_DV1Kz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1Vertretungsverhaeltnis", eza_DV1Vertretungsverhaeltnis)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1FruehereEntscheidungen", eza_DV1FruehereEntscheidungen)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1Verbundenheit", eza_DV1Verbundenheit)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1VerbungenheitEinzelheiten", eza_DV1VerbungenheitEinzelheiten)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1EinschraenkungenKz", eza_DV1EinschraenkungenKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1BedingungenLeistungenKz", eza_DV1BedingungenLeistungenKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1BedingungenLeistungenArt", eza_DV1BedingungenLeistungenArt)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1LizenzgebuehrenKz", eza_DV1LizenzgebuehrenKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1LizenzgebuehrenUmstand", eza_DV1LizenzgebuehrenUmstand)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1SpezielleVereinbarungKz", eza_DV1SpezielleVereinbarungKz)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_DV1SpezielleVereinbarungUmstand", eza_DV1SpezielleVereinbarungUmstand)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ZusatzangabenAnmeldung", eza_ZusatzangabenAnmeldung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_KzAutoBestaetigung", eza_KzAutoBestaetigung)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_AnschreibungDatum", eza_AnschreibungDatum)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Eingangszollstelle", eza_Eingangszollstelle)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Zahlungsart", eza_Zahlungsart)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr1", eza_ContainerNr1)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr2", eza_ContainerNr2)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr3", eza_ContainerNr3)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr4", eza_ContainerNr4)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr5", eza_ContainerNr5)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr6", eza_ContainerNr6)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr8", eza_ContainerNr8)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_ContainerNr9", eza_ContainerNr9)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BeendigungsanteilArtCode", eza_BeendigungsanteilArtCode)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BewilligungsIDZLAVUV", eza_BewilligungsIDZLAVUV)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_BezugsnummerBEAnteilZL)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_UstIdAnmelder", eza_UstIdAnmelder)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_FinanzamtAnmelder", eza_FinanzamtAnmelder)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_Anmeldedatum", eza_Anmeldedatum)) @@ -276,6 +277,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_ If Not SAVE_Aufschub() Then Return False If Not SAVE_BEAnteilZLAVUV() Then Return False If Not SAVE_SumABeendigungsAnteil() Then Return False + If Not SAVE_DV1Kostenverteilung() Then Return False Return True End Function @@ -291,6 +293,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_ eza_AUFSCHUB.Clear() eza_BEA_ZLAvuv.Clear() eza_SUMABA.Clear() + eza_DV1Kostenverteilung.Clear() End If Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using cmd As New SqlCommand("SELECT * FROM tblDakosy_eza WHERE eza_Id=@eza_Id ", conn) @@ -315,6 +318,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_ LOAD_Aufschub() LOAD_BEAnteilZLAVUV() LOAD_SumABeendigungsAnteil() + LOAD_DV1Kostenverteilung() End If LOAD = True End If @@ -357,6 +361,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_ EZA.LOAD_Aufschub() EZA.LOAD_BEAnteilZLAVUV() EZA.LOAD_SumABeendigungsAnteil() + EZA.LOAD_DV1Kostenverteilung() End If dr.Close() @@ -405,6 +410,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_ eza_AUFSCHUB.Clear() eza_BEA_ZLAvuv.Clear() eza_SUMABA.Clear() + eza_DV1Kostenverteilung.Clear() End If Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_EZA WHERE eza_dyaAnmID=@eza_dyaAnmID ", conn) @@ -429,6 +435,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_ LOAD_Aufschub() LOAD_BEAnteilZLAVUV() LOAD_SumABeendigungsAnteil() + LOAD_DV1Kostenverteilung() End If LOADByAnmID = True End If @@ -449,6 +456,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_ Me.LOAD_Aufschub() Me.LOAD_BEAnteilZLAVUV() Me.LOAD_SumABeendigungsAnteil() + Me.LOAD_DV1Kostenverteilung() End Sub @@ -482,6 +490,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_ EZA.LOAD_Aufschub() EZA.LOAD_BEAnteilZLAVUV() EZA.LOAD_SumABeendigungsAnteil() + EZA.LOAD_DV1Kostenverteilung() End If dr.Close() @@ -526,6 +535,7 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_ EZA.LOAD_Aufschub() EZA.LOAD_BEAnteilZLAVUV() EZA.LOAD_SumABeendigungsAnteil() + EZA.LOAD_DV1Kostenverteilung() End If dr.Close() @@ -1419,6 +1429,65 @@ list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("eza_BezugsnummerBEAnteilZL", eza_ + + ' DV1-Kosten: separate Tabelle, damit Kopfkosten persistent und mehrfach speicherbar sind. + Public Sub LOAD_DV1Kostenverteilung() + eza_DV1Kostenverteilung.Clear() + If eza_Id <= 0 Then Exit Sub + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using cmd As New SqlCommand("SELECT Kostenart, Kosten, KostenWaehrung, WechselkursArt, Verteilungsart, Minimalbetrag FROM dbo.tblDakosy_EZA_DV1Kostenverteilung WHERE eza_Id=@eza_Id ORDER BY Id", conn) + cmd.Parameters.Add("@eza_Id", SqlDbType.Int).Value = eza_Id + Using dr As SqlDataReader = cmd.ExecuteReader() + While dr.Read() + eza_DV1Kostenverteilung.Add(New cDakosy_EZA_DV1Kosten With { + .Kostenart = If(dr.IsDBNull(0), "", dr.GetString(0)), + .Kosten = If(dr.IsDBNull(1), "", dr.GetString(1)), + .KostenWaehrung = If(dr.IsDBNull(2), "", dr.GetString(2)), + .WechselkursArt = If(dr.IsDBNull(3), "", dr.GetString(3)), + .Verteilungsart = If(dr.IsDBNull(4), "", dr.GetString(4)), + .Minimalbetrag = If(dr.IsDBNull(5), "", dr.GetString(5))}) + End While + End Using + End Using + End Using + End Sub + + Public Function SAVE_DV1Kostenverteilung() As Boolean + If eza_Id <= 0 Then Return False + Try + Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() + Using tran As SqlTransaction = conn.BeginTransaction() + Try + Using cmd As New SqlCommand("DELETE FROM dbo.tblDakosy_EZA_DV1Kostenverteilung WHERE eza_Id=@eza_Id", conn, tran) + cmd.Parameters.Add("@eza_Id", SqlDbType.Int).Value = eza_Id + cmd.ExecuteNonQuery() + End Using + For Each k As cDakosy_EZA_DV1Kosten In eza_DV1Kostenverteilung + Using cmd As New SqlCommand("INSERT INTO dbo.tblDakosy_EZA_DV1Kostenverteilung (eza_Id, Kostenart, Kosten, KostenWaehrung, WechselkursArt, Verteilungsart, Minimalbetrag) VALUES (@id,@art,@kosten,@waehrung,@kurs,@verteilung,@min)", conn, tran) + cmd.Parameters.Add("@id", SqlDbType.Int).Value = eza_Id + cmd.Parameters.Add("@art", SqlDbType.VarChar, 20).Value = If(k.Kostenart, "") + cmd.Parameters.Add("@kosten", SqlDbType.VarChar, 50).Value = If(k.Kosten, "") + cmd.Parameters.Add("@waehrung", SqlDbType.VarChar, 10).Value = If(k.KostenWaehrung, "") + cmd.Parameters.Add("@kurs", SqlDbType.VarChar, 20).Value = If(k.WechselkursArt, "") + cmd.Parameters.Add("@verteilung", SqlDbType.VarChar, 30).Value = If(k.Verteilungsart, "") + cmd.Parameters.Add("@min", SqlDbType.VarChar, 50).Value = If(k.Minimalbetrag, "") + cmd.ExecuteNonQuery() + End Using + Next + tran.Commit() + Catch + tran.Rollback() + Throw + End Try + End Using + End Using + Return True + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod().Name) + Return False + End Try + End Function + End Class Public Class cDakosy_EZA_Adressen @@ -2481,4 +2550,13 @@ Public Class cDakosy_EZA_WarenpositionVerbrauchssteuer Return "" End Function -End Class \ No newline at end of file +End Class + +Public Class cDakosy_EZA_DV1Kosten + Public Property Kostenart As String = "" + Public Property Kosten As String = "" + Public Property KostenWaehrung As String = "" + Public Property WechselkursArt As String = "" + Public Property Verteilungsart As String = "" + Public Property Minimalbetrag As String = "" +End Class diff --git a/DAKOSY_Worker/DAKOSY/ATLAS/NCTS/cDakosyNCTSOut004.vb b/DAKOSY_Worker/DAKOSY/ATLAS/NCTS/cDakosyNCTSOut004.vb index c2f53df..a7e714b 100644 --- a/DAKOSY_Worker/DAKOSY/ATLAS/NCTS/cDakosyNCTSOut004.vb +++ b/DAKOSY_Worker/DAKOSY/ATLAS/NCTS/cDakosyNCTSOut004.vb @@ -3090,7 +3090,8 @@ Public Class cDakosyNCTSOut004 End Select End Function - Shared Function fillNCTS_WithEXG(ByRef NCTS_OUT As cDakosyNCTSOut004, exg As cDakosyEXG, Optional ObjectName As String = "", Optional AutoTranslate As Boolean? = Nothing, Optional ForceTranslate As Boolean? = Nothing) As cDakosyNCTSOut004 + + Shared Function fillNCTS_WithEXG(ByRef NCTS_OUT As cDakosyNCTSOut004, exg As cDakosyEXG, Optional ObjectName As String = "", Optional AutoTranslate As Boolean? = Nothing, Optional ForceTranslate As Boolean? = Nothing, Optional VersLandAusVersender As Boolean = False, Optional BestLandAusEmpfaenger As Boolean = False) As cDakosyNCTSOut004 If NCTS_OUT Is Nothing Then NCTS_OUT = New DAKOSY_Worker.cDakosyNCTSOut004 @@ -3129,12 +3130,18 @@ Public Class cDakosyNCTSOut004 'House Consignment HC.nctsHC_GrossMass = exg.exg_GrossMass - HC.nctsHC_CountryOfDestination = exg.exg_CountryOfDestination - 'Versendungsland: zuerst EXG, alternativ Versenderadresse - HC.nctsHC_CountryOfDispatch = If(exg.exg_CountryOfDispatch, "").Trim().ToUpperInvariant() - If String.IsNullOrWhiteSpace(HC.nctsHC_CountryOfDispatch) Then - HC.nctsHC_CountryOfDispatch = If(exg.exg_Consignor_Country, "").Trim().ToUpperInvariant() + 'Versendungs- und Bestimmungsland aus EXG + HC.nctsHC_CountryOfDispatch = exg.exg_CountryOfDispatch + HC.nctsHC_CountryOfDestination = exg.exg_CountryOfDestination + + 'Optionale Übernahme aus Versender- bzw. Empfängeradresse + If VersLandAusVersender AndAlso Not String.IsNullOrWhiteSpace(Convert.ToString(HC.nctsHC_Consignor_Country)) Then + HC.nctsHC_CountryOfDispatch = HC.nctsHC_Consignor_Country + End If + + If BestLandAusEmpfaenger AndAlso Not String.IsNullOrWhiteSpace(Convert.ToString(HC.nctsHC_Consignee_Country)) Then + HC.nctsHC_CountryOfDestination = HC.nctsHC_Consignee_Country End If 'UCR bewusst nicht übernehmen @@ -3205,10 +3212,9 @@ Public Class cDakosyNCTSOut004 HC_ITEM.nctsHCCI_DeclarationType = DetermineTransitProcedure(EXG_POS.exgPos_RequestedProcedure, EXG_POS.exgPos_PreviousProcedure) Debug.WriteLine($"NCTS Transit: Requested={EXG_POS.exgPos_RequestedProcedure}, Previous={EXG_POS.exgPos_PreviousProcedure}, Result={HC_ITEM.nctsHCCI_DeclarationType}") - End If - 'Packstücke + 'Packstücke zunächst ohne Beipackverweise übernehmen If EXG_POS.exgPos_PACKAGING IsNot Nothing Then For Each EXG_PK In EXG_POS.exgPos_PACKAGING @@ -3218,31 +3224,61 @@ Public Class cDakosyNCTSOut004 HC_PK.nctsHCCIPK_TypeOfPackages = EXG_PK.exgPosPk_TypeOfPackages HC_PK.nctsHCCIPK_ShippingMarks = EXG_PK.exgPosPk_ShippingMarks - If Val(Convert.ToString(EXG_PK.exgPosPk_NumberOfPackages)) = 0 Then - 'Verweis auf erste Warenposition im selben House Consignment - HC_PK.nctsHCCIPK_GoodsItemNumber = 1 - End If - HC_ITEM.nctsHCCI_PACKAGING.Add(HC_PK) Next End If HC.nctsWP_CONSIGNMENT_ITEM.Add(HC_ITEM) + + Next + + 'Beipackverweise erst nach vollständiger Erstellung aller Warenpositionen ermitteln + For Each item In HC.nctsWP_CONSIGNMENT_ITEM + For Each pk In item.nctsHCCI_PACKAGING + + 'Nur Packstücke mit expliziter Anzahl 0 sind Beipack-Kandidaten + Dim packageCount As String = Convert.ToString(pk.nctsHCCIPK_NumberOfPackages).Trim() + If packageCount <> "0" Then Continue For + + Dim shippingMarks As String = Convert.ToString(pk.nctsHCCIPK_ShippingMarks).Trim() + If shippingMarks = "" Then + Debug.WriteLine("NCTS Beipack: Versandzeichen fehlen / EXG " & exg.exg_ObjectName) + Continue For + End If + + Dim referencePosition As Integer = 0 + + 'Erste Warenposition mit identischem Versandzeichen und Packstückanzahl > 0 suchen + For i As Integer = 0 To HC.nctsWP_CONSIGNMENT_ITEM.Count - 1 + + Dim candidate = HC.nctsWP_CONSIGNMENT_ITEM(i) + If candidate Is item Then Continue For + + Dim matchingPK = candidate.nctsHCCI_PACKAGING.FirstOrDefault( + Function(p) Val(Convert.ToString(p.nctsHCCIPK_NumberOfPackages)) > 0 AndAlso + String.Equals(Convert.ToString(p.nctsHCCIPK_ShippingMarks).Trim(), shippingMarks, StringComparison.OrdinalIgnoreCase)) + + If matchingPK IsNot Nothing Then + referencePosition = i + 1 + Exit For + End If + + Next + + If referencePosition > 0 Then + pk.nctsHCCIPK_GoodsItemNumber = referencePosition + Else + Debug.WriteLine("NCTS Beipack: Keine Hauptpackposition für Versandzeichen '" & shippingMarks & "' gefunden / EXG " & exg.exg_ObjectName) + End If + + Next Next NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Add(HC) 'Verfahrensart wird erst nach Zusammenführung aller EXG bestimmt 'Positions-Verfahrensarten bleiben bis dahin erhalten - 'Dim declType As String = GetDeclarationType(NCTS_OUT.ncts_HOUSE_CONSIGNMENT) - - 'If declType <> "" Then - ' emptyAllDeclarationItems(NCTS_OUT.ncts_HOUSE_CONSIGNMENT) - ' NCTS_OUT.ncts_Declarationtype = declType - 'Else - ' NCTS_OUT.ncts_Declarationtype = "T-" - 'End If 'Kein SAVE_ALL: erfolgt nach Zusammenführung aller EXG-Anmeldungen diff --git a/DAKOSY_Worker/DAKOSY_Worker_lib.vbproj b/DAKOSY_Worker/DAKOSY_Worker_lib.vbproj index 561f068..085162f 100644 --- a/DAKOSY_Worker/DAKOSY_Worker_lib.vbproj +++ b/DAKOSY_Worker/DAKOSY_Worker_lib.vbproj @@ -45,6 +45,9 @@ On + + F:\PROGRAMMIERUNG\dll\closedxml\95\ClosedXML.dll + diff --git a/DAKOSY_Worker/cImporter_DakosyToVERAG.vb b/DAKOSY_Worker/cImporter_DakosyToVERAG.vb index 0bb86af..0b6d179 100644 --- a/DAKOSY_Worker/cImporter_DakosyToVERAG.vb +++ b/DAKOSY_Worker/cImporter_DakosyToVERAG.vb @@ -1,4 +1,6 @@ Imports System.Data.SqlClient +Imports System.IO +Imports ClosedXML.Excel Imports VERAG_PROG_ALLGEMEIN Public Class cImporter_DakosyToVERAG @@ -340,6 +342,16 @@ Public Class cImporter_DakosyToVERAG ' ======KAFKA========================================================== If saved AndAlso freshInsert Then cDakosyEZA_Greenpulse.INSERT_KAFKA(ZA) ' ================================================================ + + + If saved Then + Try + UpdateBrokerManagementFileTETRAPAK(ZA) + Catch ex As Exception + cErrorHandler.ERR(ex.Message, ex.StackTrace, "UpdateBrokerManagementFile") + End Try + End If + Return saved @@ -349,6 +361,323 @@ Public Class cImporter_DakosyToVERAG End Try End Function + Public Sub UpdateBrokerManagementFileTETRAPAK(ZA As cVERAG_CustomsDeclarations) + Const kundenNrTETRAPAK As Integer = 719649 + Const prefix As String = "[TETRAPAK] " + + Debug.WriteLine(prefix & "========== START BrokerManagementFile ==========") + + Try + If ZA Is Nothing OrElse ZA.za_Id <= 0 Then + Debug.WriteLine(prefix & "ABBRUCH: Keine gültige Zollanmeldung") + Exit Sub + End If + + 'Zollanmeldung vollständig aus VERAG-Datenbank laden + Dim ZOLL As New cVERAG_CustomsDeclarations + ZOLL.za_Id = ZA.za_Id + ZOLL.LOAD() + + If Not ZOLL.hasEntry Then + Throw New Exception("Zollanmeldung nicht gefunden. za_Id=" & ZA.za_Id) + End If + + Debug.WriteLine(prefix & "ZA-ID: " & ZOLL.za_Id) + Debug.WriteLine(prefix & "MRN: " & Convert.ToString(ZOLL.za_MRN)) + Debug.WriteLine(prefix & "LRN: " & Convert.ToString(ZOLL.za_LRN)) + Debug.WriteLine(prefix & "AvisoId: " & Convert.ToString(ZOLL.za_AvisoId)) + Debug.WriteLine(prefix & "SendungsId: " & Convert.ToString(ZOLL.za_SendungsId)) + + If Not ZOLL.za_SendungsId.HasValue OrElse ZOLL.za_SendungsId.Value <= 0 Then + Debug.WriteLine(prefix & "ABBRUCH: Keine SendungsId") + Exit Sub + End If + + 'Auftraggeber prüfen + Dim SND As New VERAG_PROG_ALLGEMEIN.cSendungen(ZOLL.za_SendungsId.Value) + + Debug.WriteLine(prefix & "Auftraggeber: " & Convert.ToString(SND.tblSnd_Auftraggeber)) + Debug.WriteLine(prefix & "Kundennummer: " & Convert.ToString(SND.tblSnd_AuftraggeberKdNr)) + + Dim kundenNr As Integer + If Not Integer.TryParse(Convert.ToString(SND.tblSnd_AuftraggeberKdNr), kundenNr) Then + Debug.WriteLine(prefix & "ABBRUCH: Ungültige Kundennummer") + Exit Sub + End If + + If kundenNr <> kundenNrTETRAPAK Then + Debug.WriteLine(prefix & "ABBRUCH: Kein TETRAPAK-Auftraggeber") + Exit Sub + End If + + 'Warenpositionen aus tblVERAG_CustomsDeclarations_Items + Dim positionen = ZOLL.Items.OrderBy(Function(p) p.zaItem_PosNo).ToList() + + If positionen.Count = 0 Then + Debug.WriteLine(prefix & "ABBRUCH: Keine Warenpositionen vorhanden") + Exit Sub + End If + + Debug.WriteLine(prefix & "Warenpositionen: " & positionen.Count) + Debug.WriteLine(prefix & "Kopfabgaben: " & ZOLL.Duties.Count) + + 'Abgaben aus tblVERAG_CustomsDeclarations_Duties + 'Positionen und Kopf getrennt behandeln + Dim gesamtZollPositionen As Decimal = 0D + Dim gesamtEustPositionen As Decimal = 0D + Dim gesamtZollKopf As Decimal = 0D + Dim gesamtEustKopf As Decimal = 0D + Dim anzahlPositionsabgaben As Integer = 0 + + For Each wp In positionen + Debug.WriteLine(prefix & "Position " & wp.zaItem_PosNo & " | ItemId=" & wp.zaItem_Id & " | Abgaben=" & wp.Duties.Count) + + For Each duty In wp.Duties + Dim betrag As Decimal = If(duty.zaDuty_AmountEUR, 0D) + Dim art As String = If(duty.zaDuty_DutyType, "").Trim().ToUpperInvariant() + + Select Case art + Case "A0000", "A00" + gesamtZollPositionen += betrag + Case "B0000", "B00" + gesamtEustPositionen += betrag + End Select + + anzahlPositionsabgaben += 1 + + Debug.WriteLine(prefix & " Duty: " & art & + " | Betrag=" & betrag.ToString("0.00") & + " | ItemId=" & Convert.ToString(duty.zaDuty_zaItemId)) + Next + Next + + For Each duty In ZOLL.Duties + Dim betrag As Decimal = If(duty.zaDuty_AmountEUR, 0D) + Dim art As String = If(duty.zaDuty_DutyType, "").Trim().ToUpperInvariant() + + Select Case art + Case "A0000", "A00" + gesamtZollKopf += betrag + Case "B0000", "B00" + gesamtEustKopf += betrag + End Select + + Debug.WriteLine(prefix & "Kopfabgabe: " & art & " | Betrag=" & betrag.ToString("0.00")) + Next + + Debug.WriteLine(prefix & "Positions-Zoll gesamt: " & gesamtZollPositionen.ToString("0.00")) + Debug.WriteLine(prefix & "Positions-EUSt gesamt: " & gesamtEustPositionen.ToString("0.00")) + Debug.WriteLine(prefix & "Kopf-Zoll gesamt: " & gesamtZollKopf.ToString("0.00")) + Debug.WriteLine(prefix & "Kopf-EUSt gesamt: " & gesamtEustKopf.ToString("0.00")) + + 'Bei fehlenden Positionsabgaben keine künstliche Verteilung + Dim nurKopfabgaben As Boolean = (anzahlPositionsabgaben = 0) + + If nurKopfabgaben AndAlso positionen.Count > 1 AndAlso ZOLL.Duties.Count > 0 Then + Throw New Exception("BrokerManagementFile: Es sind " & positionen.Count & + " Warenpositionen vorhanden, aber nur Kopfabgaben gespeichert. " & + "Eine eindeutige Verteilung von Zoll/EUSt ist nicht möglich. ZA-ID=" & ZOLL.za_Id) + End If + + If nurKopfabgaben AndAlso ZOLL.Duties.Count = 0 Then + Debug.WriteLine(prefix & "WARNUNG: Keine Abgaben in der Zollanmeldung gespeichert") + End If + + If Not nurKopfabgaben Then + If ZOLL.Duties.Count > 0 Then + If gesamtZollPositionen <> gesamtZollKopf OrElse gesamtEustPositionen <> gesamtEustKopf Then + Debug.WriteLine(prefix & "WARNUNG: Positionssummen und Kopfsummen weichen voneinander ab") + Else + Debug.WriteLine(prefix & "OK: Positionssummen entsprechen den Kopfsummen") + End If + End If + End If + + 'Anhänge über AVISO und Sendung laden + Dim anhaenge As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge) + + If ZOLL.za_AvisoId.HasValue AndAlso ZOLL.za_AvisoId.Value > 0 Then + VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_ByAviso(anhaenge, ZOLL.za_AvisoId.Value) + End If + + Dim sendungsAnhaenge As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge) + VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_BySendung(sendungsAnhaenge, ZOLL.za_SendungsId.Value) + + For Each anh In sendungsAnhaenge + If Not anhaenge.Any(Function(a) a.anh_docId = anh.anh_docId) Then anhaenge.Add(anh) + Next + + Debug.WriteLine(prefix & "Anhänge gefunden: " & anhaenge.Count) + + Dim dateienGefunden As Integer = 0 + Dim dateienGespeichert As Integer = 0 + + For Each anh In anhaenge + Debug.WriteLine(prefix & "Prüfe Anhang: " & Convert.ToString(anh.anh_Art) & " | docId=" & anh.anh_docId) + + If Not String.Equals(Convert.ToString(anh.anh_Art).Trim(), "BrokerManagementFile", StringComparison.OrdinalIgnoreCase) Then Continue For + If anh.anh_docId <= 0 Then Continue For + + Dim pfad As String = (New VERAG_PROG_ALLGEMEIN.cDATENSERVER(anh.anh_docId)).GET_TOP1_PATH(False) + + Debug.WriteLine(prefix & "Archivpfad: " & Convert.ToString(pfad)) + + If String.IsNullOrWhiteSpace(pfad) OrElse Not File.Exists(pfad) Then + Debug.WriteLine(prefix & "Übersprungen: Archivdatei nicht gefunden") + Continue For + End If + + If Not String.Equals(Path.GetExtension(pfad), ".xlsx", StringComparison.OrdinalIgnoreCase) Then + Debug.WriteLine(prefix & "Übersprungen: Keine XLSX-Datei") + Continue For + End If + + dateienGefunden += 1 + + Using wb As New XLWorkbook(pfad) + Dim ws = wb.Worksheet(1) + Dim letzteVerwendeteZeile = ws.LastRowUsed() + + If letzteVerwendeteZeile Is Nothing Then + Debug.WriteLine("BrokerManagementFile ist leer: " & pfad) + End If + + 'Datenzeilen anhand Spalte A + Dim datenZeilen As New List(Of Integer) + Dim letzteZeile As Integer = letzteVerwendeteZeile.RowNumber() + + For zeile As Integer = 2 To letzteZeile + If Not String.IsNullOrWhiteSpace(ws.Cell(zeile, "A").GetString()) Then datenZeilen.Add(zeile) + Next + + Debug.WriteLine(prefix & "Excel-Zeilen: " & datenZeilen.Count) + Debug.WriteLine(prefix & "Zollpositionen: " & positionen.Count) + + If datenZeilen.Count <> positionen.Count Then + Debug.WriteLine("BrokerManagementFile: Positionsanzahl stimmt nicht überein. Excel=" & + datenZeilen.Count & ", Zollanmeldung=" & positionen.Count & ", Datei=" & pfad) + End If + + For i As Integer = 0 To positionen.Count - 1 + Dim wp = positionen(i) + Dim zeile As Integer = datenZeilen(i) + Dim posNr As Integer = wp.zaItem_PosNo + + Dim zollbetr As Decimal = 0D + Dim eust As Decimal = 0D + + 'Positionsabgaben aus Datenbank + If Not nurKopfabgaben Then + For Each duty In wp.Duties + Dim betrag As Decimal = If(duty.zaDuty_AmountEUR, 0D) + Dim art As String = If(duty.zaDuty_DutyType, "").Trim().ToUpperInvariant() + Select Case art.Trim.ToUpperInvariant() + 'Zoll inkl. Zusatz-, Antidumping- und Ausgleichszoll + Case "A0000", "A00", "A2000", "A20", "A3000", "A30", "A35", "A4000", "A40" + zollbetr += betrag + + 'Einfuhrumsatzsteuer + Case "B0000", "B00", "5EV" + eust += betrag + + 'Sicherheiten, Summen und sonstige Abgaben nicht berücksichtigen + Case "2EU", "2IG", "2KO", "2PE", "2VF", "2VS", "5EU", "5ZO", "9EA", "6BE" + 'Keine Addition + + Case Else + 'Debug.WriteLine("Unbekannte Abgabenart: " & art & " / Betrag: " & betrag.ToString()) + zollbetr += betrag 'Default: Alle unbekannten Abgabenarten werden als Zoll behandelt + End Select + Next + ElseIf positionen.Count = 1 Then + 'Nur bei einer Position sind Kopfabgaben eindeutig zuordenbar + zollbetr = gesamtZollKopf + eust = gesamtEustKopf + End If + + Debug.WriteLine(prefix & "----------------------------------------") + Debug.WriteLine(prefix & "Position: " & posNr) + Debug.WriteLine(prefix & "Excel-Zeile: " & zeile) + Debug.WriteLine(prefix & "Zoll: " & zollbetr.ToString("0.00")) + Debug.WriteLine(prefix & "EUSt: " & eust.ToString("0.00")) + + 'AZ - Registration Number ATC/ATD + ws.Cell(zeile, "AZ").Value = If(zoll.za_DeclarationNo, "") + + 'BA - Date of Acceptance + If zoll.za_AcceptanceDate.HasValue Then + ws.Cell(zeile, "BA").Value = zoll.za_AcceptanceDate.Value.ToString("dd.MM.yyyy") + Else + ws.Cell(zeile, "BA").Value = "" + End If + + 'BB - Registration Number MRN + ws.Cell(zeile, "BB").Value = If(zoll.za_MRN, "") + + 'BC - Office of Entry + ws.Cell(zeile, "BC").Value = If(zoll.za_EntryCustomsOffice, "") + + 'BD - Mode of Transport at the Border + ws.Cell(zeile, "BD").Value = If(ZOLL.za_TransportModeBorder, If(ZOLL.za_TransportModeInland, "")) + + 'BE - Identity of means of transport at the border + ws.Cell(zeile, "BE").Value = If(zoll.za_MeansOfTransport_Vehicle, "") + + 'BF - Nationality of means of transport at the border + ws.Cell(zeile, "BF").Value = If(zoll.za_MeansOfTransport_Nationality, "") + + 'BG - Inland Mode of Transport + ws.Cell(zeile, "BG").Value = If(ZOLL.za_TransportModeInland, If(ZOLL.za_TransportModeBorder, "")) + + 'BH - Identity of inland means of transport + ws.Cell(zeile, "BH").Value = If(zoll.za_MeansOfTransport_Vehicle, "") + + 'BI - Nationality of inland means of transport + ws.Cell(zeile, "BI").Value = If(zoll.za_MeansOfTransport_Nationality, "") + + 'BJ - Assessment of payable duty + ws.Cell(zeile, "BJ").Value = zollbetr + ws.Cell(zeile, "BJ").Style.NumberFormat.Format = "0.00" + + 'BK - Assessment of payable Import VAT + ws.Cell(zeile, "BK").Value = eust + ws.Cell(zeile, "BK").Style.NumberFormat.Format = "0.00" + + Debug.WriteLine(prefix & "AZ=" & ws.Cell(zeile, "AZ").GetString()) + Debug.WriteLine(prefix & "BA=" & ws.Cell(zeile, "BA").GetString()) + Debug.WriteLine(prefix & "BB=" & ws.Cell(zeile, "BB").GetString()) + Debug.WriteLine(prefix & "BC=" & ws.Cell(zeile, "BC").GetString()) + Debug.WriteLine(prefix & "BD=" & ws.Cell(zeile, "BD").GetString()) + Debug.WriteLine(prefix & "BE=" & ws.Cell(zeile, "BE").GetString()) + Debug.WriteLine(prefix & "BF=" & ws.Cell(zeile, "BF").GetString()) + Debug.WriteLine(prefix & "BG=" & ws.Cell(zeile, "BG").GetString()) + Debug.WriteLine(prefix & "BH=" & ws.Cell(zeile, "BH").GetString()) + Debug.WriteLine(prefix & "BI=" & ws.Cell(zeile, "BI").GetString()) + Debug.WriteLine(prefix & "BJ=" & zollbetr.ToString("0.00")) + Debug.WriteLine(prefix & "BK=" & eust.ToString("0.00")) + Next + + + wb.Save() + Debug.WriteLine(prefix & "Original gespeichert: " & pfad) + + + dateienGespeichert += 1 + End Using + Next + + Debug.WriteLine(prefix & "BrokerManagementFiles gefunden: " & dateienGefunden) + Debug.WriteLine(prefix & "BrokerManagementFiles gespeichert: " & dateienGespeichert) + + If dateienGefunden = 0 Then Debug.WriteLine(prefix & "WARNUNG: Kein BrokerManagementFile gefunden") + + Catch ex As Exception + Debug.WriteLine(prefix & "FEHLER: " & ex.ToString()) + Throw + Finally + Debug.WriteLine(prefix & "========== ENDE BrokerManagementFile ==========") + End Try + End Sub ' ===================================================================== ' NCTS 004 -> VERAG TRANSIT ' ===================================================================== diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb index db2a37a..0aeb8d5 100644 --- a/initATLASAufschubkonten/frmStartOptions.vb +++ b/initATLASAufschubkonten/frmStartOptions.vb @@ -1439,7 +1439,25 @@ Public Class frmStartOptions End If '--------------------------------------------------------- + '--------------------------------------------------------- + ' BrokerManagementFile immer zusätzlich anhängen + '--------------------------------------------------------- + If SND.tblSnd_SendungID > 0 Then + Dim ANH_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge) + VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_BySendung(ANH_LIST, SND.tblSnd_SendungID) + For Each l In ANH_LIST + If String.Equals(Convert.ToString(l.anh_Art), "BrokerManagementFile", StringComparison.OrdinalIgnoreCase) Then + If l.anh_docId > 0 Then + Dim PathTmpANH = (New VERAG_PROG_ALLGEMEIN.cDATENSERVER(l.anh_docId)).GET_TOP1_PATH(False) + If Not String.IsNullOrWhiteSpace(PathTmpANH) AndAlso Not pfadList.Contains(PathTmpANH) Then + pfadList.Add(PathTmpANH) + End If + End If + End If + Next + End If + '--------------------------------------------------------- VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(KundenNr, Mail_Art, EMails, EMails_CC, EMails_BCC, Emails_list_sent) ' body = body.Replace("%Platzhalter%", "E-Mails: " & EMails & " CC: " & EMails_CC & " BCC:" & EMails_BCC)