diff --git a/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb b/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb index 35c43be..a093486 100644 --- a/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb +++ b/DAKOSY_Worker/DAKOSY/ATLAS/EZA/cDakosyEZA.vb @@ -1026,6 +1026,15 @@ Public Class cDakosyEZA DakosyEZADatenbereitstellung(SPEDITIONSBUCH, DY, notFound, PosAnzahl) End Sub + Public Shared Sub DakosyAESDatenbereitstellung(ByRef SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, EZA_Nr As String, ByRef notFound As Boolean, ByRef PosAnzahl As Integer) + Dim DY As DAKOSY_Worker.cDakosyAES = DAKOSY_Worker.cDakosyAES.LOADByBezugsNr(EZA_Nr, True) + If DY Is Nothing Then + notFound = True + Exit Sub + End If + DakosyAESDatenbereitstellung(SPEDITIONSBUCH, DY, notFound, PosAnzahl) + End Sub + @@ -1169,6 +1178,126 @@ Public Class cDakosyEZA End Try End Sub + + Public Shared Sub DakosyAESDatenbereitstellung(ByRef SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, DY As DAKOSY_Worker.cDakosyAES, ByRef notFound As Boolean, ByRef PosAnzahl As Integer) + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + notFound = False + + + Try + + If SPEDITIONSBUCH.Abfertigungsdatum Is Nothing Then SPEDITIONSBUCH.Abfertigungsdatum = Now 'CDate(DY.aes_Trans_DatumZeit).ToShortDateString + + Try + + Dim ANM As New DAKOSY_Worker.cDakosy_Zollanmeldungen(DY.aes_dyaAnmID) + SPEDITIONSBUCH.DokumentId_Steuerbeleg = ANM.dy_Steuerbescheid_dsId + SPEDITIONSBUCH.DokumentId_VBD = ANM.dy_VBD_dsId + + Catch ex As Exception + MsgBox("ERR: " & ex.Message & ex.StackTrace) + + End Try + + + SPEDITIONSBUCH.Versendungsland = DY.aes_AusfuehrerTeilnehmerLandCode + SPEDITIONSBUCH.Bestimmungsland = DY.aes_BestimmungslandCode + SPEDITIONSBUCH.LKW_Kennzeichen = DY.aes_BefoerderungsmittelAbgangKennzeichen + SPEDITIONSBUCH.BelegNr = If(DY.aes_MRN, DY.aes_ANR) + 'If DY.aes_Rechnungswaehrung IsNot Nothing Then + ' SPEDITIONSBUCH.Währungsschlüssel = If(DY.aes_Rechnungswaehrung = "EUR", "900", getWaehr(DY.aes_Rechnungswaehrung, SQL)) + 'End If + + + 'Absender + Dim AD = getAdresseFromEORI(DY.aes_AusfuehrerTeilnehmerEORI, DY.aes_AusfuehrerTeilnehmerNLNR, SQL) + If AD IsNot Nothing Then + SPEDITIONSBUCH.AbsenderKundenNr = AD.AdressenNr + SPEDITIONSBUCH.Absender = AD.Ordnungsbegriff 'Oranier Küchentechnik GmbH; Haiger + End If + If If(SPEDITIONSBUCH.Absender, "").Trim = String.Empty Then + SPEDITIONSBUCH.Absender = (If(DY.aes_AusfuehrerTeilnehmerName, "")).Trim + SPEDITIONSBUCH.Absender &= ", " & If(DY.aes_AusfuehrerTeilnehmerLandCode, "") + SPEDITIONSBUCH.Absender &= " " & If(DY.aes_AusfuehrerTeilnehmerPLZ, "") + SPEDITIONSBUCH.Absender &= " " & If(DY.aes_AusfuehrerTeilnehmerOrt, "") + SPEDITIONSBUCH.Absender = SPEDITIONSBUCH.Absender.Trim + If SPEDITIONSBUCH.Absender.Length > 50 Then + SPEDITIONSBUCH.Absender = SPEDITIONSBUCH.Absender.Substring(0, 50) + End If + End If + + 'Empfänger + AD = Nothing + AD = getAdresseFromEORI(DY.aes_EmpfaengerTeilnehmerEORI, DY.aes_EmpfaengerTeilnehmerNLNR, SQL) + If AD IsNot Nothing Then + SPEDITIONSBUCH.EmpfängerKundenNr = AD.AdressenNr + SPEDITIONSBUCH.Empfänger = AD.Ordnungsbegriff 'Oranier Küchentechnik GmbH; Haiger + End If + If If(SPEDITIONSBUCH.Empfänger, "").Trim = String.Empty Then + SPEDITIONSBUCH.Empfänger = (If(DY.aes_EmpfaengerTeilnehmerName, "")).Trim + SPEDITIONSBUCH.Empfänger &= ", " & If(DY.aes_EmpfaengerTeilnehmerLandCode, "") + SPEDITIONSBUCH.Empfänger &= " " & If(DY.aes_EmpfaengerTeilnehmerPLZ, "") + SPEDITIONSBUCH.Empfänger &= " " & If(DY.aes_EmpfaengerTeilnehmerOrt, "") + SPEDITIONSBUCH.Empfänger = SPEDITIONSBUCH.Empfänger.Trim + If SPEDITIONSBUCH.Empfänger.Length > 50 Then + SPEDITIONSBUCH.Empfänger = SPEDITIONSBUCH.Empfänger.Substring(0, 50) + End If + End If + + + + SPEDITIONSBUCH.Rechnungsbetrag = DY.aes_Rechnungspreis + ' SPEDITIONSBUCH.Umrechnungskurs = DY.aes_Rechnungswaehrung + SPEDITIONSBUCH.Rohmasse = DY.aes_GesamtRohmasse + + + 'Personal Abfertigung: + Try + If DY.aes_Bearbeiter IsNot Nothing Then + Dim p = SQL.getValueTxtBySql("SELECT ISNULL(CASE WHEN [mit_FMZollPersIDKasseIsnotSpedBuch]=1 THEN [mit_FMZollPersIDSpedBuch] ELSE [mit_FMZollPersID] END ,-1) as [mit_FMZollPersID] FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE [mit_DAKOSY_SB]='" & DY.aes_Bearbeiter & "'", "ADMIN") + SPEDITIONSBUCH.Personalnummer = If(IsNumeric(p), p, Nothing) + End If + Catch ex As Exception + MsgBox("Fehler DAKOSY Personal: " & vbNewLine & ex.Message & vbNewLine & ex.StackTrace) + End Try + + + Dim PackstAnz As Integer = 0 + Dim cnt = 0 + Dim rohmasseTmp As Double = 0 + Dim rechnungspreisTmp As Double = 0 + Dim packst As String = "" + For Each p In DY.aes_WARENPOS + For Each pk In p.aesWP_PACKSTUECKE + PackstAnz += pk.aesWpPk_PackstueckeAnzahl + Next + packst &= PackstAnz + + 'If p.ezaWP_PackstueckArt IsNot Nothing Then + ' packst &= p.ezaWP_PackstueckArt & " " + 'End If + packst &= If(p.aesWP_Warenbezeichnung, "") & vbNewLine + rohmasseTmp += If(p.aesWP_Rohmasse, 0) + 'rechnungspreisTmp += If(p.bet, 0) + If cnt = 0 Then + + End If + cnt += 1 + Next + packst = packst.Trim + PosAnzahl = DY.aes_WARENPOS.Count + SPEDITIONSBUCH.Packstücke = packst & ", " & rohmasseTmp.ToString("N1") & " kg" + + If If(SPEDITIONSBUCH.Rohmasse, 0) = 0 AndAlso rohmasseTmp > 0 Then SPEDITIONSBUCH.Rohmasse = CInt(rohmasseTmp) + If If(SPEDITIONSBUCH.Rechnungsbetrag, 0) = 0 AndAlso rechnungspreisTmp > 0 Then SPEDITIONSBUCH.Rechnungsbetrag = (rechnungspreisTmp) + + + Catch ex As Exception + MsgBox("ERR: " & ex.Message & ex.StackTrace) + End Try + End Sub + Shared Function getWaehr(s As String, SQL As VERAG_PROG_ALLGEMEIN.SQL) As String 'Return KDSQL.getValueTxtBySql("SELECT TOP 1 isnull([LandNr],-1) FROM [Länderverzeichnis für die Außenhandelsstatistik] WHERE [Währungscode]='" & s & "'", "FMZOLL") s = s.replace("TRY", "TRL") ' Türkische Lira diff --git a/DAKOSY_Worker/cZOLL_IMPORT.vb b/DAKOSY_Worker/cZOLL_IMPORT.vb index 381fe64..ea8bbbb 100644 --- a/DAKOSY_Worker/cZOLL_IMPORT.vb +++ b/DAKOSY_Worker/cZOLL_IMPORT.vb @@ -477,10 +477,14 @@ Public Class cZOLL_IMPORT Case 2 'dakosy SPEDITIONSBUCH.Zollsystem = "D" If EZA_Nr <> "" Then - DAKOSY_Worker.cDakosyEZA.DakosyEZADatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, PosAnzahl) + If SPEDITIONSBUCH.Abfertigungsart = "7" Then + DAKOSY_Worker.cDakosyEZA.DakosyAESDatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, PosAnzahl) + Else + DAKOSY_Worker.cDakosyEZA.DakosyEZADatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, PosAnzahl) + End If ElseIf NCTS_Nr <> "" Then - ' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr - DAKOSY_Worker.cDakosyNCTSOut.DakosyNCTSDatenbereitstellung(SPEDITIONSBUCH, NCTS_Nr, notFound) + ' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr + DAKOSY_Worker.cDakosyNCTSOut.DakosyNCTSDatenbereitstellung(SPEDITIONSBUCH, NCTS_Nr, notFound) End If Me.notFound = notFound Case 3 'telotec diff --git a/DAKOSY_Worker/cZollsysteme_Aktenbeschriftung.vb b/DAKOSY_Worker/cZollsysteme_Aktenbeschriftung.vb index 09af748..4d94370 100644 --- a/DAKOSY_Worker/cZollsysteme_Aktenbeschriftung.vb +++ b/DAKOSY_Worker/cZollsysteme_Aktenbeschriftung.vb @@ -28,6 +28,10 @@ Property ATCMRN As String + Property ABGABEN_EUST As Double = 0 + Property ABGABEN_ZOLL As Double = 0 + Property ANZ_POS As Integer = 0 + Property isUeT1 As Boolean = False Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -183,6 +187,15 @@ cnt += 1 Next End If + ANZ_POS = EZA.eza_WARENPOS.Count + For Each A In EZA.eza_AUFSCHUB + If If(A.ezaAfb_AbgabeArt, "") = "B0000" Then + ABGABEN_EUST += CDbl(A.ezaAfb_Abgabenbetrag) + Else + ABGABEN_ZOLL += CDbl(A.ezaAfb_Abgabenbetrag) + End If + Next + num_Colli = Colli Me.Colli = Colli & " Pk." diff --git a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb index 4039fa9..f1abd29 100644 --- a/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb +++ b/initATLASAufschubkonten/frmDYNachrichtenVerarbeitung.vb @@ -355,7 +355,7 @@ Public Class frmDYNachrichtenVerarbeitung 'EZA: Abgabenbescheid If Not found And cGetMsgType.isEZA_Abgabenbescheid(doc, VERSION) Then Select Case VERSION - Case "009" : If readEZA_Abgabenbescheid009(d) <> "" Then found = True + Case "009" : If readEZA_Abgabenbescheid009(d, statusTMP) <> "" Then found = True Case "008" : If readEZA_Abgabenbescheid008(d) <> "" Then found = True Case Else : If readEZA_Abgabenbescheid(d) <> "" Then found = True End Select @@ -5358,7 +5358,7 @@ Public Class frmDYNachrichtenVerarbeitung End Function - Function readEZA_Abgabenbescheid009(d) As String + Function readEZA_Abgabenbescheid009(d, ByRef statusTMP) As String Try 'VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW @@ -5529,7 +5529,7 @@ Public Class frmDYNachrichtenVerarbeitung 'Status aktualisieren saveDY_EZA(STATUS, DY_TMP, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), regNr) - + statusTMP = STATUS EZA_TMP.insertIntoSpedBuch(DY_TMP) @@ -5558,7 +5558,7 @@ Public Class frmDYNachrichtenVerarbeitung If A.AbgabeArt IsNot Nothing Then ' If A.Zahlungsart = "A" Then 'Nur wenn Zahlungsart=...? If If(A.KennBuchstabenAufschub, "").Trim = "M" And (CInt(A.AufschubkontoNr) = 6128 Or CInt(A.AufschubkontoNr) = 6136 Or CInt(A.AufschubkontoNr) = 2718 Or CInt(A.AufschubkontoNr) = 2719 Or - CInt(A.AufschubkontoNr) = 6145 Or CInt(A.AufschubkontoNr) = 6146) Then '_>TEST Or CInt(A.AufschubkontoNr) = 678010 + CInt(A.AufschubkontoNr) = 6145 Or CInt(A.AufschubkontoNr) = 6146 Or CInt(A.AufschubkontoNr) = 6077) Then '_>TEST Or CInt(A.AufschubkontoNr) = 678010 Select Case A.AbgabeArt.ToString Case "A0000", "10100" : LeistungsNr = 60 ' ZOLL diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb index cc42dad..98728bf 100644 --- a/initATLASAufschubkonten/frmStartOptions.vb +++ b/initATLASAufschubkonten/frmStartOptions.vb @@ -367,12 +367,14 @@ Public Class frmStartOptions Dim dy_id As String = "" If betreff.ToString.Length > 15 Then - dy_id = sql.getValueTxtBySql("SELECT isnull(eza_dyaAnmID,-1) FROM [tblDakosy_EZA] inner join tblDakosy_Zollanmeldungen on dy_id=eza_dyaAnmID where '" & betreff.ToString.Trim & "' LIKE eza_ObjectName +'%' and LEN(eza_ObjectName)>=13", "FMZOLL") + dy_id = sql.getValueTxtBySql("SELECT isnull(aes_dyaAnmID,-1) FROM [tblDakosy_AES] inner join tblDakosy_Zollanmeldungen on dy_id=aes_dyaAnmID where '" & betreff.ToString.Trim & "' LIKE aes_ObjectName +'%' and LEN(aes_ObjectName)>=13", "FMZOLL") Else - dy_id = sql.getValueTxtBySql("SELECT isnull(eza_dyaAnmID,-1) FROM [tblDakosy_EZA] inner join tblDakosy_Zollanmeldungen on dy_id=eza_dyaAnmID where eza_ObjectName='" & betreff.ToString.Trim & "'", "FMZOLL") + dy_id = sql.getValueTxtBySql("SELECT isnull(aes_dyaAnmID,-1) FROM [tblDakosy_AES] inner join tblDakosy_Zollanmeldungen on dy_id=aes_dyaAnmID where aes_ObjectName='" & betreff.ToString.Trim & "'", "FMZOLL") End If ' IO.Directory.CreateDirectory(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "DAKOSY\ECHTSYSTEM\ZOLLDATEN\TEST3\") + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("TEST: " & dy_id, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL) + DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("ZOLLDATEN", "ABD", dy_id, "", "", betreff.ToString.Replace("/", "-").Replace(",", "-").Replace("\", "-").Replace(":", "."), 0, False) DS.da_vorlage = False @@ -403,9 +405,9 @@ Public Class frmStartOptions Dim dy_id As String = "" If betreff.ToString.Length > 15 Then - dy_id = sql.getValueTxtBySql("SELECT isnull(eza_dyaAnmID,-1) FROM [tblDakosy_EZA] inner join tblDakosy_Zollanmeldungen on dy_id=eza_dyaAnmID where '" & betreff.ToString.Trim & "' LIKE eza_ObjectName +'%' and LEN(eza_ObjectName)>=13", "FMZOLL") + dy_id = sql.getValueTxtBySql("SELECT isnull(aes_dyaAnmID,-1) FROM [tblDakosy_AES] inner join tblDakosy_Zollanmeldungen on dy_id=aes_dyaAnmID where '" & betreff.ToString.Trim & "' LIKE aes_ObjectName +'%' and LEN(aes_ObjectName)>=13", "FMZOLL") Else - dy_id = sql.getValueTxtBySql("SELECT isnull(eza_dyaAnmID,-1) FROM [tblDakosy_EZA] inner join tblDakosy_Zollanmeldungen on dy_id=eza_dyaAnmID where eza_ObjectName='" & betreff.ToString.Trim & "'", "FMZOLL") + dy_id = sql.getValueTxtBySql("SELECT isnull(aes_dyaAnmID,-1) FROM [tblDakosy_AES] inner join tblDakosy_Zollanmeldungen on dy_id=aes_dyaAnmID where aes_ObjectName='" & betreff.ToString.Trim & "'", "FMZOLL") End If ' IO.Directory.CreateDirectory(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "DAKOSY\ECHTSYSTEM\ZOLLDATEN\TEST3\")