This commit is contained in:
2021-01-19 20:28:44 +01:00
parent 55068d6072
commit fddd4b5794
5 changed files with 159 additions and 11 deletions

View File

@@ -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

View File

@@ -477,7 +477,11 @@ Public Class cZOLL_IMPORT
Case 2 'dakosy
SPEDITIONSBUCH.Zollsystem = "D"
If EZA_Nr <> "" Then
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)

View File

@@ -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."

View File

@@ -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

View File

@@ -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\")