NCTS_TR CC015B, ATLAS Codelisten, BugFixes DY Nachrichtenverarbeitung, EZOLL: Zollbeleg versenden

This commit is contained in:
2023-03-06 22:04:21 +01:00
parent bdcac48401
commit 6dd614544d
14 changed files with 969 additions and 625 deletions

View File

@@ -915,6 +915,7 @@ Public Class cDakosyNCTSOut
notFound = False
'Ermittlung ob T1 oder T2
If If(SPEDITIONSBUCH.Abfertigungsart, "") = "" Then
If If(DY.ncts_ArtAnmeldung, "").ToString.Contains("T2") Then
@@ -957,6 +958,8 @@ Public Class cDakosyNCTSOut
End Try
If SPEDITIONSBUCH.Abfertigungsdatum Is Nothing Then SPEDITIONSBUCH.Abfertigungsdatum = Now ' CDate(DY.ncts_Trans_DatumZeit).ToShortDateString
SPEDITIONSBUCH.Bestimmungszollstelle = DY.ncts_BestimmungsstelleDienststellennummer
@@ -1044,11 +1047,16 @@ Public Class cDakosyNCTSOut
End If
If If(SPEDITIONSBUCH.Empfänger, "").ToString.Length > 35 Then
SPEDITIONSBUCH.Empfänger = SPEDITIONSBUCH.Empfänger.Substring(0, 35)
End If
Dim packSt = ""
If DY.ncts_GesamtAnzahlPackstuecke IsNot Nothing Then packSt = DY.ncts_GesamtAnzahlPackstuecke & " Pk. "
If DY.ncts_WARENPOS.Count > 0 Then
'SPEDITIONSBUCH.Währungsschlüssel = If(DY.ncts_WARENPOS(0).nctsWP_WarenwertWaehrung, "")
SPEDITIONSBUCH.Währungsschlüssel = "900"
@@ -1068,6 +1076,7 @@ Public Class cDakosyNCTSOut
Try
If DY.ncts_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.ncts_Bearbeiter & "'", "ADMIN")
SPEDITIONSBUCH.Personalnummer = If(IsNumeric(p), p, Nothing)
End If
Catch ex As Exception

View File

@@ -82,7 +82,8 @@ Public Class cIMPORT_Codelisten
End Using
Catch ex As Exception
MsgBox(ex.Message)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return False
@@ -131,7 +132,7 @@ Public Class cIMPORT_Codelisten
End Using
Catch ex As Exception
MsgBox(ex.Message)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return False
@@ -179,7 +180,7 @@ Public Class cIMPORT_Codelisten
End Using
Catch ex As Exception
MsgBox(ex.Message)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return False
@@ -228,7 +229,7 @@ Public Class cIMPORT_Codelisten
End Using
Catch ex As Exception
MsgBox(ex.Message)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return False
@@ -278,7 +279,7 @@ Public Class cIMPORT_Codelisten
End Using
Catch ex As Exception
MsgBox(ex.Message)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return False
@@ -327,7 +328,7 @@ Public Class cIMPORT_Codelisten
End Using
Catch ex As Exception
MsgBox(ex.Message)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return False
@@ -376,7 +377,7 @@ Public Class cIMPORT_Codelisten
End Using
Catch ex As Exception
MsgBox(ex.Message)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return False
@@ -420,7 +421,7 @@ Public Class cIMPORT_Codelisten
End Using
Catch ex As Exception
MsgBox(ex.Message)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return False
@@ -470,7 +471,7 @@ Public Class cIMPORT_Codelisten
End Using
Catch ex As Exception
MsgBox(ex.Message)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return False
@@ -521,7 +522,7 @@ Public Class cIMPORT_Codelisten
End Using
Catch ex As Exception
MsgBox(ex.Message)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return False
@@ -568,7 +569,7 @@ Public Class cIMPORT_Codelisten
End Using
Catch ex As Exception
MsgBox(ex.Message)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return False
@@ -620,7 +621,7 @@ Public Class cIMPORT_Codelisten
End Using
Catch ex As Exception
MsgBox(ex.Message)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
Return False

View File

@@ -25,6 +25,7 @@ Public Class cZOLL_IMPORT
Function countSpedbuchEntrysTC(filiale, BezugsNr, telanm_ART) As Integer
Select Case telanm_ART
Case "NCTS", "T1", "T2", "T2L" : Return countSpedbuchEntrysTC_EZA(filiale, BezugsNr)
Case "AES" : Return countSpedbuchEntrysTC_AES(filiale, BezugsNr)
Case Else : Return countSpedbuchEntrysTC_EZA(filiale, BezugsNr)
End Select
@@ -35,6 +36,11 @@ Public Class cZOLL_IMPORT
Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AtlasBezNrEZA]='" & BezugsNr & "'", "FMZOLL",, 0)
End Function
Function countSpedbuchEntrysTC_AES(filiale, BezugsNr) As Integer
If If(BezugsNr, "") = "" Then Return -1
Return SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE [FilialenNr]='" & filiale & "' AND [AtlasBezNrAES]='" & BezugsNr & "'", "FMZOLL",, 0)
End Function
Function countSpedbuchEntrysTC_NCTS(filiale, BezugsNr) As Integer
If If(BezugsNr, "") = "" Then Return -1
@@ -314,7 +320,7 @@ Public Class cZOLL_IMPORT
End Function
Public Shared Function EZOLLImport(LRN, art) As Boolean
Public Shared Function EZOLLImport(LRN, art, Optional ByRef SPEDBUCH_TMP = Nothing) As Boolean
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG" 'Wichtig für Spedbucheintrag
Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
@@ -334,6 +340,7 @@ Public Class cZOLL_IMPORT
Dim abfertigungsnummer = getAbfertigungsnummer(LRN)
If tryFindAviso(LRN, SPEDBUCH.AvisoID, SPEDBUCH.SendungID) Then
SPEDBUCH_TMP = SPEDBUCH
If filiale <> "" And abfertigungsnummer <> "" Then
If countSpedbuchEntrys(filiale, LRN, art) = 0 Then
@@ -353,11 +360,13 @@ Public Class cZOLL_IMPORT
Select Case art
Case "NCTS" : SPEDBUCH.AtlasBezNrNCTS = LRN
Case "AES" : SPEDBUCH.AtlasBezNrAES = LRN
Case Else : SPEDBUCH.AtlasBezNrEZA = LRN
End Select
SPEDBUCH = ZOLL_IMPORT.IMPORT(SPEDBUCH, SPEDBUCH.AvisoID, SPEDBUCH.SendungID, "VERA", filialeBez, 1, SPEDBUCH.AtlasBezNrEZA, SPEDBUCH.AtlasBezNrNCTS, notfound, True)
SPEDBUCH = ZOLL_IMPORT.IMPORT(SPEDBUCH, SPEDBUCH.AvisoID, SPEDBUCH.SendungID, "VERA", filialeBez, 1, SPEDBUCH.AtlasBezNrEZA, SPEDBUCH.AtlasBezNrNCTS, notfound, True,, SPEDBUCH.AtlasBezNrAES)
SPEDBUCH_TMP = SPEDBUCH
If notfound Then Return False
' VERAG_PROG_ALLGEMEIN.cErrorHandler.sendERRORperMail("HEUREKA EZA !!", "" & Me.eza_ObjectName, Now.ToString("yyyy.MM.dd HH:mm"), "al@verag.ag", "")
@@ -447,6 +456,7 @@ Public Class cZOLL_IMPORT
Case "5003" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "5103" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "5303" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "7001" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
'Case "4801", "4803", "4805", "4807", "4811", "5003", "5103", "5303" : Return bezugsNr.ToString.Substring(0, 4) ...... derzeit nur 4803
'filialeBez SUB, NKD, WAI,.-..
End Select
@@ -528,6 +538,8 @@ Public Class cZOLL_IMPORT
If EZA_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr
EZollEZADatenbereitstellung(EZA_Nr)
ElseIf AES_Nr <> "" Then
EZollEZADatenbereitstellung(AES_Nr) ' ????
ElseIf NCTS_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr
EZollNCTSDatenbereitstellung(NCTS_Nr)
@@ -708,6 +720,7 @@ Public Class cZOLL_IMPORT
SPEDITIONSBUCH.HandlingZuKassieren = SENDUNG.tblSnd_BARzuKassieren
End If
If SPEDITIONSBUCH.AbsenderKundenNr Is Nothing OrElse SPEDITIONSBUCH.AbsenderKundenNr <= 0 Then
If SENDUNG.tblSnd_AbsenderKdNr > 0 Then
SPEDITIONSBUCH.AbsenderKundenNr = SENDUNG.tblSnd_AbsenderKdNr
@@ -725,6 +738,7 @@ Public Class cZOLL_IMPORT
If SENDUNG.tblSnd_AuftraggeberKdNr > 0 Then SPEDITIONSBUCH.VermittlerKundenNr = SENDUNG.tblSnd_AuftraggeberKdNr ': MsgBox(SENDUNG.tblSnd_AuftraggeberKdNr)
If SPEDITIONSBUCH.Vermittler Is Nothing OrElse SPEDITIONSBUCH.Vermittler = "" Then SPEDITIONSBUCH.Vermittler = SENDUNG.tblSnd_Auftraggeber
End If
End If
SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr
SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr
@@ -776,6 +790,10 @@ Public Class cZOLL_IMPORT
correctEntry(SPEDITIONSBUCH.AvisiererKundenNr, SPEDITIONSBUCH.Avisierer)
correctEntry(SPEDITIONSBUCH.EndempfängerKundenNr, SPEDITIONSBUCH.Endempfänger)
If SPEDITIONSBUCH.LKW_Kennzeichen IsNot Nothing AndAlso SPEDITIONSBUCH.LKW_Kennzeichen.ToString.Length > 25 Then
SPEDITIONSBUCH.LKW_Kennzeichen = SPEDITIONSBUCH.LKW_Kennzeichen.ToString.Substring(0, 25)
End If
If SPEDITIONSBUCH.Währungsschlüssel Is Nothing OrElse (IsNumeric(SPEDITIONSBUCH.Währungsschlüssel) AndAlso SPEDITIONSBUCH.Währungsschlüssel <= 0) Then SPEDITIONSBUCH.Währungsschlüssel = 900
If Personalnummer > 0 Then SPEDITIONSBUCH.Personalnummer = Personalnummer

View File

@@ -61,6 +61,14 @@
<assemblyIdentity name="GrapeCity.ActiveReports.Win" publicKeyToken="cc4967777c49a3ff" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-15.2.4.0" newVersion="15.2.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Renci.SshNet" publicKeyToken="1cee9f8bde3db106" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2014.4.6.0" newVersion="2014.4.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.8.2.0" newVersion="1.8.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -760,7 +760,7 @@ Public Class cTelotec_Anmeldung
'Versender 'Verkäufer
If If(DY.ConorTra_Na, "") <> "" Or If(DY.ConorTra_TIN, "") Then
If If(DY.ConorTra_Na, "") <> "" Or If(DY.ConorTra_TIN, "") <> "" Then
Dim AD = getAdresseFromEORI(DY.ConorTra_TIN, "", SQL)
If AD IsNot Nothing Then
SPEDITIONSBUCH.AbsenderKundenNr = AD.AdressenNr

View File

@@ -87,13 +87,15 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\GrapeCity\ActiveReports 15\Tools\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="ClosedXML_095">
<HintPath>..\..\..\dll\closedxml\ClosedXML_095.dll</HintPath>
<Reference Include="ClosedXML, Version=0.95.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ClosedXML.0.95.4\lib\net46\ClosedXML.dll</HintPath>
</Reference>
<Reference Include="DocumentFormat.OpenXml, Version=2.9.0.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<Reference Include="DocumentFormat.OpenXml, Version=2.7.2.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<HintPath>..\packages\DocumentFormat.OpenXml.2.7.2\lib\net46\DocumentFormat.OpenXml.dll</HintPath>
</Reference>
<Reference Include="ExcelNumberFormat, Version=1.0.10.0, Culture=neutral, PublicKeyToken=23c6f5d73be07eca, processorArchitecture=MSIL">
<HintPath>..\packages\ExcelNumberFormat.1.0.10\lib\net20\ExcelNumberFormat.dll</HintPath>
</Reference>
<Reference Include="FastColoredTextBox">
<HintPath>..\..\..\dll\FastColoredTextBox.dll</HintPath>
</Reference>
@@ -234,6 +236,12 @@
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.IO.FileSystem.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.FileSystem.Primitives.4.0.1\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath>
</Reference>
<Reference Include="System.IO.Packaging, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Packaging.4.0.0\lib\net46\System.IO.Packaging.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
</Reference>

View File

@@ -136,6 +136,22 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Renci.SshNet" publicKeyToken="1cee9f8bde3db106" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2014.4.6.0" newVersion="2014.4.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.8.2.0" newVersion="1.8.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.2.1.3")>
<Assembly: AssemblyFileVersion("1.2.1.3")>
<Assembly: AssemblyVersion("1.2.1.4")>
<Assembly: AssemblyFileVersion("1.2.1.4")>

View File

@@ -1,6 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ATAPI" version="2018.3.9" targetFramework="net47" />
<package id="ClosedXML" version="0.95.4" targetFramework="net47" />
<package id="DocumentFormat.OpenXml" version="2.7.2" targetFramework="net47" />
<package id="ExcelNumberFormat" version="1.0.10" targetFramework="net47" />
<package id="Gcef.Data.DataEngine" version="3.0.2" targetFramework="net47" />
<package id="Gcef.Data.ExpressionInfo" version="3.0.2" targetFramework="net47" />
<package id="Gcef.Data.VBFunctionLib" version="3.0.2" targetFramework="net47" />
@@ -23,8 +26,10 @@
<package id="GrapeCity.Documents.Imaging" version="4.2.0.722" targetFramework="net47" />
<package id="Hardcodet.NotifyIcon.Wpf" version="1.0.5" targetFramework="net40-Client" requireReinstallation="True" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="5.0.0" targetFramework="net47" />
<package id="Microsoft.CSharp" version="4.5.0" targetFramework="net47" />
<package id="Microsoft.CSharp" version="4.7.0" targetFramework="net47" />
<package id="System.Buffers" version="4.5.1" targetFramework="net47" />
<package id="System.IO.FileSystem.Primitives" version="4.0.1" targetFramework="net47" />
<package id="System.IO.Packaging" version="4.0.0" targetFramework="net47" />
<package id="System.Memory" version="4.5.4" targetFramework="net47" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net47" />
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net47" />

View File

@@ -21,7 +21,9 @@ Public Class cTR_NCTS
'If CC015B.HEAHEA.ConIndHEA96 IsNot Nothing Then NCTS. = CC015B.HEAHEA.ConIndHEA96 CONTAINER
If CC015B.HEAHEA.TotNumOfPacHEA306 IsNot Nothing Then NCTS.ncts_GesamtAnzahlPackstuecke = CC015B.HEAHEA.TotNumOfPacHEA306
'If CC015B.HEAHEA.TotNumOfIteHEA305 IsNot Nothing Then NCTS.itemsGEsamt = CC015B.HEAHEA.TotNumOfIteHEA305
If CC015B.HEAHEA.TotGroMasHEA307 IsNot Nothing Then NCTS.ncts_GesamtRohmasse = CC015B.HEAHEA.TotGroMasHEA307
If CC015B.HEAHEA.TotGroMasHEA307 IsNot Nothing Then NCTS.ncts_GesamtRohmasse = CDbl(CC015B.HEAHEA.TotGroMasHEA307)
If CC015B.HEAHEA.DecDatHEA383 IsNot Nothing Then NCTS.ncts_Trans_DatumZeit = DateTime.ParseExact(CC015B.HEAHEA.DecDatHEA383, "yyyyMMdd", CultureInfo.CurrentCulture)
If CC015B.HEAHEA.DecPlaHEA394 IsNot Nothing Then NCTS.ncts_Empfaenger_Ort = CC015B.HEAHEA.DecPlaHEA394 '?
'If CC015B.HEAHEA.DecPlaHEA394LNG IsNot Nothing Then NCTS.ncts_Empfaenger_Ort = CC015B.HEAHEA.DecPlaHEA394LNG
@@ -81,7 +83,6 @@ Public Class cTR_NCTS
'If CC015B.REPREP.RefNumEST1 IsNot Nothing Then NCTS.= CC015B.REPREP.RefNumEST1
End If
'Bürgschaft
If CC015B.GUAGUA IsNot Nothing AndAlso CC015B.GUAGUA.Count > 0 Then
For Each GUAGUA In CC015B.GUAGUA
@@ -90,17 +91,37 @@ Public Class cTR_NCTS
Dim BRG As New VERAG_PROG_ALLGEMEIN.cNCTS_TR_Sicherheitsangaben
If GUAGUA.GuaTypGUA1 IsNot Nothing Then BRG.nctsSA_ArtCode = GUAGUA.GuaTypGUA1
If REF.GuaRefNumGRNREF1 IsNot Nothing Then BRG.nctsSA_GRN = REF.GuaRefNumGRNREF1
If REF.CurREF8 IsNot Nothing Then BRG.nctsSA_Waerung = REF.CurREF8
'If REF.CurREF8 IsNot Nothing Then BRG.nctsSA_Waerung = REF.CurREF8
If REF.AccCodREF6 IsNot Nothing Then BRG.nctsSA_Zugriffcode = REF.AccCodREF6
If REF.AmoConREF7 IsNot Nothing Then BRG.nctsSA_AbgabenBetragFremdWaehrung = REF.AmoConREF7
'--> EUR
Try
'KEINE AHNUNG...
If REF.CurREF8 IsNot Nothing Then
Dim node As System.Xml.XmlNode = REF.CurREF8(0)
BRG.nctsSA_Waerung = node.InnerText
End If
Catch ex As Exception
End Try
Try
'KEINE AHNUNG...
If REF.AmoConREF7 IsNot Nothing Then
Dim node As System.Xml.XmlNode = REF.AmoConREF7(0)
BRG.nctsSA_AbgabenBetragFremdWaehrung = node.InnerText
End If
Catch ex As Exception
End Try
'--> EUR
If BRG.nctsSA_AbgabenBetragFremdWaehrung IsNot Nothing Then
If If(BRG.nctsSA_Waerung, "") <> "EUR" Then
Dim betragEUR = VERAG_PROG_ALLGEMEIN.cEZB_Waehrungskurse.EXCHANGE(REF.AmoConREF7, BRG.nctsSA_Waerung, NCTS.ncts_Trans_DatumZeit)
BRG.nctsSA_AbgabenBetrag = If(betragEUR > 0, betragEUR, REF.AmoConREF7)
Dim betragEUR = VERAG_PROG_ALLGEMEIN.cEZB_Waehrungskurse.EXCHANGE(BRG.nctsSA_AbgabenBetragFremdWaehrung, BRG.nctsSA_Waerung, NCTS.ncts_Trans_DatumZeit)
BRG.nctsSA_AbgabenBetrag = If(betragEUR > 0, betragEUR, BRG.nctsSA_AbgabenBetragFremdWaehrung)
Else
BRG.nctsSA_AbgabenBetrag = REF.AmoConREF7
BRG.nctsSA_AbgabenBetrag = BRG.nctsSA_AbgabenBetragFremdWaehrung
End If
End If
NCTS.ncts_SICHERHEITSANGABEN.Add(BRG)
@@ -141,8 +162,8 @@ Public Class cTR_NCTS
If GOOITEGDS.IteNumGDS7 IsNot Nothing Then POS.nctsWP_PositionsNummer = GOOITEGDS.IteNumGDS7
If GOOITEGDS.ComCodTarCodGDS10 IsNot Nothing Then POS.nctsWP_Warennummer = GOOITEGDS.ComCodTarCodGDS10
If GOOITEGDS.GooDesGDS23 IsNot Nothing Then POS.nctsWP_Warenbezeichnung = GOOITEGDS.GooDesGDS23
If GOOITEGDS.GroMasGDS46 IsNot Nothing Then POS.nctsWP_Rohmasse = GOOITEGDS.GroMasGDS46
If GOOITEGDS.NetMasGDS48 IsNot Nothing Then POS.nctsWP_Eigenmasse = GOOITEGDS.NetMasGDS48
If GOOITEGDS.GroMasGDS46 IsNot Nothing Then POS.nctsWP_Rohmasse = CDbl(GOOITEGDS.GroMasGDS46)
If GOOITEGDS.NetMasGDS48 IsNot Nothing Then POS.nctsWP_Eigenmasse = CDbl(GOOITEGDS.NetMasGDS48)
'Versender
If GOOITEGDS.TRACONCO2 IsNot Nothing Then

View File

@@ -4,6 +4,7 @@ Imports System.Xml
Imports Renci.SshNet
Imports System.Net.Mail
Imports GrapeCity.Enterprise.Data.DataEngine.DataProcessing
Imports DocumentFormat.OpenXml.Wordprocessing
Public Class frmDYNachrichtenVerarbeitung
Dim cntDatenEingelesen As Integer = 0
@@ -6037,6 +6038,9 @@ Public Class frmDYNachrichtenVerarbeitung
Dim division = ""
Dim TXT_DokBeschau = ""
Dim TXT_Rückweisung = ""
Dim TXT_Mitteilung = ""
Dim TXT_Mitteilung_Zollbeamter = ""
'Dim annahmeKz As Object = Nothing
'Dim ueberlassungKz As Object = Nothing
'Dim RueckgabeKz As Object = Nothing
@@ -6085,9 +6089,27 @@ Public Class frmDYNachrichtenVerarbeitung
'MitteilungTeilnehmerBeschau
End Select
End If
If POS.RueckgabeKz IsNot Nothing Then
If POS.RueckgabeKz = "J" Then
TXT_Rückweisung &= POS.Positionsnummer & ": Rückweisung " & vbNewLine
End If
End If
Next
End If
If EZA.EinzelEntscheidungAnmeldung.KopfDaten IsNot Nothing Then
If EZA.EinzelEntscheidungAnmeldung.KopfDaten.MitteilungTeilnehmerGestellungsmodalitaeten IsNot Nothing Then
TXT_Mitteilung &= "Text: " & EZA.EinzelEntscheidungAnmeldung.KopfDaten.MitteilungTeilnehmerGestellungsmodalitaeten
If EZA.EinzelEntscheidungAnmeldung.KopfDaten.BearbeiterZoll IsNot Nothing Then
TXT_Mitteilung_Zollbeamter &= " (" & EZA.EinzelEntscheidungAnmeldung.KopfDaten.BearbeiterZoll & ")"
End If
TXT_Mitteilung &= vbNewLine
End If
End If
'End If
End If
@@ -6108,7 +6130,7 @@ Public Class frmDYNachrichtenVerarbeitung
STATUS.dySt_ergDetails = details
'EINTRAG IN tblDakosy_Zollanmeldungen
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = saveDY_ZA(STATUS, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), "EZA")
Dim EZA_TMP As DAKOSY_Worker.cDakosyEZA
Dim EZA_TMP As DAKOSY_Worker.cDakosyEZA = Nothing
If DY_TMP.dy_Status <> DAKOSY_Worker.cDY_Statusliste.S_60 Then 'Wenn beretis auf 60, dann wird kiene Änderung mehr vorgenommen!
@@ -6144,26 +6166,26 @@ Public Class frmDYNachrichtenVerarbeitung
Dim art = "B"
'Wenn Benutzer vorschreiben nicht online, dann Benutzer der Sendung...
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID)) Then
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID, True)) Then
sendToID = SQL.DLookup("LetzterMitarbeiterId", "tblSendungen", "tblSnd_SendungID='" & DY_TMP.dy_SendungsId & "'", "AVISO")
art = "B"
End If
'Wenn Benutzer der Sendung nicht online, dann Benutzer des LKW ..
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID)) Then
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID, True)) Then
sendToID = SQL.DLookup("LetzterMitarbeiterId", "Aviso", "AvisoId='" & DY_TMP.dy_AvisoId & "'", "AVISO")
art = "B"
End If
'Wenn Benutzer des LKWs nicht online, Team...
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID)) Then
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID, True)) Then
sendToID = SQL.DLookup("tblSnd_TeamId", "tblSendungen", "tblSnd_SendungID='" & DY_TMP.dy_SendungsId & "'", "AVISO")
art = "T"
End If
'Wenn TEAM nicht gefunden, Firma...
If EZA_TMP.eza_firma IsNot Nothing AndAlso EZA_TMP.eza_firma <> "" Then
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID)) Then
If EZA_TMP IsNot Nothing AndAlso EZA_TMP.eza_firma IsNot Nothing AndAlso EZA_TMP.eza_firma <> "" Then
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID, True)) Then
sendToID = EZA_TMP.eza_firma
art = "F"
End If
@@ -6179,14 +6201,139 @@ Public Class frmDYNachrichtenVerarbeitung
'Nicht
Case Else
Dim code = VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungenCodes.ZOLL_Dokumentenbeschau
VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.INSERT_BENACHRICHTIGUNG(DY_TMP.dy_AvisoId, DY_TMP.dy_SendungsId, code, art, sendToID, "ZOLL: Dokumentenbeschau", 1, , TXT_DokBeschau.Trim,,, If(EZA_TMP.eza_firma, ""))
VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.INSERT_BENACHRICHTIGUNG(DY_TMP.dy_AvisoId, DY_TMP.dy_SendungsId, code, art, sendToID, "ZOLL: Dokumentenbeschau", 1, , (TXT_DokBeschau & vbNewLine & TXT_Mitteilung).Trim,,, If(EZA_TMP.eza_firma, ""))
End Select
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "TXT_DokBeschau - Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End If
If TXT_Rückweisung <> "" Then
'Benachrichtigung
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim sendToID As String = SQL.DLookup("tblSnd_VG_MA", "tblSendungen", "tblSnd_SendungID='" & DY_TMP.dy_SendungsId & "'", "AVISO")
Dim art = "B"
'Wenn Benutzer vorschreiben nicht online, dann Benutzer der Sendung...
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID, True)) Then
sendToID = SQL.DLookup("LetzterMitarbeiterId", "tblSendungen", "tblSnd_SendungID='" & DY_TMP.dy_SendungsId & "'", "AVISO")
art = "B"
End If
'Wenn Benutzer der Sendung nicht online, dann Benutzer des LKW ..
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID, True)) Then
sendToID = SQL.DLookup("LetzterMitarbeiterId", "Aviso", "AvisoId='" & DY_TMP.dy_AvisoId & "'", "AVISO")
art = "B"
End If
'Wenn Benutzer des LKWs nicht online, Team...
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID, True)) Then
sendToID = SQL.DLookup("tblSnd_TeamId", "tblSendungen", "tblSnd_SendungID='" & DY_TMP.dy_SendungsId & "'", "AVISO")
art = "T"
End If
'Wenn TEAM nicht gefunden, Firma...
If EZA_TMP.eza_firma IsNot Nothing AndAlso EZA_TMP.eza_firma <> "" Then
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID, True)) Then
sendToID = EZA_TMP.eza_firma
art = "F"
End If
End If
'Wenn gefunden
If sendToID >= 0 Then
Dim statusAVISO = SQL.DLookup("Status", "Aviso", "AvisoID='" & DY_TMP.dy_AvisoId & "'", "AVISO")
Dim GrenzstelleAVISO = SQL.DLookup("Grenzstelle", "Aviso", "AvisoID='" & DY_TMP.dy_AvisoId & "'", "AVISO")
If GrenzstelleAVISO = "???" Then
Select Case statusAVISO
Case VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen, VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben
'Nicht
Case Else
Dim code = VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungenCodes.ZOLL_Rueckweisung
VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.INSERT_BENACHRICHTIGUNG(DY_TMP.dy_AvisoId, DY_TMP.dy_SendungsId, code, art, sendToID, "ZOLL: Rückweisung", 1, , (TXT_Rückweisung & vbNewLine & TXT_Mitteilung).Trim,,, If(EZA_TMP.eza_firma, ""))
End Select
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "TXT_Rückweisung - Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End If
'Nur Mitteilung - keine Beschau, RW...
If TXT_Mitteilung <> "" And TXT_Rückweisung = "" And TXT_DokBeschau = "" Then
Select Case TXT_Mitteilung.Replace("Text: ", "").Replace(".", "").Trim.ToLower
Case "entgegengenommen"
Case "Zollanmeldung entgegengenommen"
Case "0"
Case "eingegangen"
Case Else
'Benachrichtigung
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim sendToID As String = SQL.DLookup("tblSnd_VG_MA", "tblSendungen", "tblSnd_SendungID='" & DY_TMP.dy_SendungsId & "'", "AVISO")
Dim art = "B"
'Wenn Benutzer vorschreiben nicht online, dann Benutzer der Sendung...
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID, True)) Then
sendToID = SQL.DLookup("LetzterMitarbeiterId", "tblSendungen", "tblSnd_SendungID='" & DY_TMP.dy_SendungsId & "'", "AVISO")
art = "B"
End If
'Wenn Benutzer der Sendung nicht online, dann Benutzer des LKW ..
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID, True)) Then
sendToID = SQL.DLookup("LetzterMitarbeiterId", "Aviso", "AvisoId='" & DY_TMP.dy_AvisoId & "'", "AVISO")
art = "B"
End If
'Wenn Benutzer des LKWs nicht online, Team...
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID, True)) Then
sendToID = SQL.DLookup("tblSnd_TeamId", "tblSendungen", "tblSnd_SendungID='" & DY_TMP.dy_SendungsId & "'", "AVISO")
art = "T"
End If
'Wenn TEAM nicht gefunden, Firma...
If EZA_TMP.eza_firma IsNot Nothing AndAlso EZA_TMP.eza_firma <> "" Then
If sendToID <= 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID, True)) Then
sendToID = EZA_TMP.eza_firma
art = "F"
End If
End If
'Wenn gefunden
If sendToID >= 0 Then
' If sendToID = 153 Or sendToID = 174 Then '--> NUR TOBI/MATHIAS!!
Dim statusAVISO = SQL.DLookup("Status", "Aviso", "AvisoID='" & DY_TMP.dy_AvisoId & "'", "AVISO")
Dim GrenzstelleAVISO = SQL.DLookup("Grenzstelle", "Aviso", "AvisoID='" & DY_TMP.dy_AvisoId & "'", "AVISO")
If GrenzstelleAVISO = "???" Then
Select Case statusAVISO
Case VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen, VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben
'Nicht
Case Else
Dim code = VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungenCodes.ZOLL_Mitteilung
VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.INSERT_BENACHRICHTIGUNG(DY_TMP.dy_AvisoId, DY_TMP.dy_SendungsId, code, art, sendToID, "ZOLL: Mitteilung", 1, , (TXT_Mitteilung & TXT_Mitteilung_Zollbeamter).Trim,,, If(EZA_TMP.eza_firma, ""))
End Select
End If
' End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "TXT_Mitteilung - Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Select
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)

View File

@@ -3,6 +3,8 @@ Imports System.IO
Imports System.Net
Imports System.Text
Imports System.Xml
Imports DocumentFormat.OpenXml.Drawing.Diagrams
Imports DocumentFormat.OpenXml.Wordprocessing
Imports Renci.SshNet
Public Class frmStartOptions
@@ -425,8 +427,8 @@ Public Class frmStartOptions
Try
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim dt As DataTable = sql.loadDgvBySql("SELECT [zzAktivitaet].LizenzNr,[zzAktivitaet].Operatorid,[zzAktivitaet].AnmID,MsgTyp,[zzAktivitaet].ErstelltAm,pfad,LRN,CRN FROM [zzAktivitaet] INNER JOIN zsAnmRefs On zsAnmrefs.AnmID=zzAktivitaet.AnmID
where MsgTyp IN ('EZ922','EZ923','TR109') and ErstelltAm>='" & datum.ToShortDateString & " 00:00:00' and pfad is not null", "EZOLL", 200)
Dim dt As DataTable = sql.loadDgvBySql("SELECT [zzAktivitaet].LizenzNr,[zzAktivitaet].Operatorid,[zzAktivitaet].AnmID,MsgTyp,[zzAktivitaet].ErstelltAm,pfad,LRN,CRN ,[zzAktivitaet].VorgangID FROM [zzAktivitaet] INNER JOIN zsAnmRefs On zsAnmrefs.AnmID=zzAktivitaet.AnmID
where MsgTyp IN ('EZ922','EZ923','TR109', 'EX431') and ErstelltAm>='" & datum.ToShortDateString & " 00:00:00' and pfad is not null", "EZOLL", 200)
If dt IsNot Nothing Then
For Each row In dt.Rows
Dim cDHF_Anhaenge As New VERAG_PROG_ALLGEMEIN.cDHF_Anhaenge(row("AnmID"), row("MsgTyp"))
@@ -443,13 +445,23 @@ Public Class frmStartOptions
cDHF_Anhaenge.LRN = If(row("LRN") IsNot DBNull.Value, row("LRN"), "")
cDHF_Anhaenge.CRN = If(row("CRN") IsNot DBNull.Value, row("CRN"), "")
Try
Dim destFull = ""
Dim Bezeichnung = ""
Select Case row("MsgTyp")
Case "EZ922" : Bezeichnung = "STEUERBESCHEID"
Case "EZ923" : Bezeichnung = "STEUERBESCHEID_MITT"
Case "TR109" : Bezeichnung = "VBD"
Case "EZ923"
Select Case row("VorgangID")
Case "AF"
Bezeichnung = "ABD"
Case Else '"EF"
Bezeichnung = "STEUERBESCHEID_MITT"
End Select
Case "TR109" : Bezeichnung = "VBD"
Case "EX431" : Bezeichnung = "AVM"
End Select
Try
If cDHF_Anhaenge.pfad <> "" Then
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("ZOLLDATEN", Bezeichnung, cDHF_Anhaenge.AnmID, "", "", "DHF_" & cDHF_Anhaenge.LRN.ToString.Replace("/", "-").Replace(",", "-").Replace("\", "-").Replace(":", "."), 0, False)
@@ -458,7 +470,7 @@ Public Class frmStartOptions
Dim ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "ZOLARIS\ECHTSYSTEM\ZOLLDATEN\" & Bezeichnung & "\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\"
If Not IO.Directory.Exists(ZIEL_PFAD) Then IO.Directory.CreateDirectory(ZIEL_PFAD)
Dim destFull = ""
destFull = ""
copyFile(cDHF_Anhaenge.pfad.Replace("C:\", "\\Ezoll\c$\"), ZIEL_PFAD, destFull)
If destFull <> "" Then
@@ -472,19 +484,43 @@ Public Class frmStartOptions
End Try
cDHF_Anhaenge.SAVE()
Dim SPEDBUCH_TMP As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing
Select Case row("MsgTyp")
Case "EZ922"
DAKOSY_Worker.cZOLL_IMPORT.EZOLLImport(cDHF_Anhaenge.LRN, "EZA") 'Versucht den SpedBucheintrag, falls noch nicht vorhanden
DAKOSY_Worker.cZOLL_IMPORT.EZOLLImport(cDHF_Anhaenge.LRN, "EZA", SPEDBUCH_TMP) 'Versucht den SpedBucheintrag, falls noch nicht vorhanden
sql.doSQL("Update Speditionsbuch SET [DokumentId_Steuerbeleg]='" & cDHF_Anhaenge.docID & "' WHERE AtlasBezNrEZA='" & cDHF_Anhaenge.LRN & "' AND [DokumentId_Steuerbeleg] is null", "FMZOLL")
Case "TR109"
DAKOSY_Worker.cZOLL_IMPORT.EZOLLImport(cDHF_Anhaenge.LRN, "NCTS") 'Versucht den SpedBucheintrag, falls noch nicht vorhanden
DAKOSY_Worker.cZOLL_IMPORT.EZOLLImport(cDHF_Anhaenge.LRN, "NCTS", SPEDBUCH_TMP) 'Versucht den SpedBucheintrag, falls noch nicht vorhanden
sql.doSQL("Update Speditionsbuch SET [DokumentId_VBD]='" & cDHF_Anhaenge.docID & "' WHERE AtlasBezNrEZA='" & cDHF_Anhaenge.LRN & "' AND [DokumentId_VBD] is null", "FMZOLL")
' BEREITSTELLUNG DER DATEN AN FREMDSYSTEME
cVERAG_out_ncts.copyFileFTP_VERAGncts_EZOLL(cDHF_Anhaenge.AnmID)
Case "EZ923" 'Ergänzung STB - Mitteilung
DAKOSY_Worker.cZOLL_IMPORT.EZOLLImport(cDHF_Anhaenge.LRN, "EZA") 'Versucht den SpedBucheintrag, falls noch nicht vorhanden
Case "EZ923" ' STB/ABD
Select Case row("VorgangID")
Case "AF" ' --> AUSFUHR --> ABD
'AES Stuff....
DAKOSY_Worker.cZOLL_IMPORT.EZOLLImport(cDHF_Anhaenge.LRN, "AES", SPEDBUCH_TMP) 'Versucht den SpedBucheintrag, falls noch nicht vorhanden
sql.doSQL("Update Speditionsbuch SET [DokumentId_ABD]='" & cDHF_Anhaenge.docID & "' WHERE AtlasBezNrEZA='" & cDHF_Anhaenge.LRN & "' AND DokumentId_ABD is null", "FMZOLL")
'Zeitspanne ? 3 Tage , älter nicht senden..
If destFull <> "" AndAlso SPEDBUCH_TMP IsNot Nothing AndAlso SPEDBUCH_TMP.SendungID IsNot Nothing Then
doMailZollbeleg(destFull, "ABD", SPEDBUCH_TMP.SendungID, cDHF_Anhaenge.LRN)
End If
Case Else '' --> EINFUHR --> 'Ergänzung STB - Mitteilung
DAKOSY_Worker.cZOLL_IMPORT.EZOLLImport(cDHF_Anhaenge.LRN, "EZA", SPEDBUCH_TMP) 'Versucht den SpedBucheintrag, falls noch nicht vorhanden
sql.doSQL("Update Speditionsbuch SET DokumentId_Mitteilung='" & cDHF_Anhaenge.docID & "' WHERE AtlasBezNrEZA='" & cDHF_Anhaenge.LRN & "' AND DokumentId_Mitteilung is null", "FMZOLL")
End Select
Case "EX431" 'AVM --> EZoll Anhänge & Mail senden
'AES Stuff....
DAKOSY_Worker.cZOLL_IMPORT.EZOLLImport(cDHF_Anhaenge.LRN, "AES", SPEDBUCH_TMP) 'Versucht den SpedBucheintrag, falls noch nicht vorhanden
sql.doSQL("Update Speditionsbuch SET [DokumentId_AVM]='" & cDHF_Anhaenge.docID & "' WHERE AtlasBezNrEZA='" & cDHF_Anhaenge.LRN & "' AND DokumentId_AVM is null", "FMZOLL")
If destFull <> "" AndAlso SPEDBUCH_TMP IsNot Nothing AndAlso SPEDBUCH_TMP.SendungID IsNot Nothing Then
doMailZollbeleg(destFull, "AVM", SPEDBUCH_TMP.SendungID, cDHF_Anhaenge.LRN)
End If
End Select
@@ -518,6 +554,9 @@ Public Class frmStartOptions
End Try
End Sub
Sub doMailZollbeleg(pfad, art, dy_SendungsId, BezugsNr)
Try
@@ -2811,9 +2850,9 @@ Public Class frmStartOptions
End Select
End If
If okDGV Then
r.DefaultCellStyle.BackColor = Color.LightGreen
r.DefaultCellStyle.BackColor = System.Drawing.Color.LightGreen
Else
r.DefaultCellStyle.BackColor = Color.IndianRed
r.DefaultCellStyle.BackColor = System.Drawing.Color.IndianRed
End If
End If
Me.Refresh()

View File

@@ -3,6 +3,7 @@ Imports System.Globalization
Imports System.Xml
Imports Renci.SshNet
Imports System.Net.Mail
Imports DocumentFormat.OpenXml.Drawing.Diagrams
Public Class frmTCNachrichtenVerarbeitung
Dim cntDatenEingelesen As Integer = 0
@@ -103,14 +104,14 @@ Public Class frmTCNachrichtenVerarbeitung
Dim FI As New FileInfo(f)
If Not FI.Name.StartsWith(".") Then
'Temp. DownloadPfad
Dim destFilenameTMP = VERARBEITUNGS_PFAD + "." & If(IO.File.Exists(VERARBEITUNGS_PFAD & "." & fi.Name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & fi.Name
Dim destFilenameTMP = VERARBEITUNGS_PFAD + "." & If(IO.File.Exists(VERARBEITUNGS_PFAD & "." & FI.Name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & FI.Name
'Datei herunterladen
IO.File.Copy(f, destFilenameTMP)
If IO.File.Exists(destFilenameTMP) Then IO.File.Delete(f) 'Datei nach erfolgreichem Herunterladen vom Server löschen
'Gültiger Filename
Dim destFilename = VERARBEITUNGS_PFAD & If(IO.File.Exists(VERARBEITUNGS_PFAD & fi.Name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & fi.Name
Dim destFilename = VERARBEITUNGS_PFAD & If(IO.File.Exists(VERARBEITUNGS_PFAD & FI.Name), Now.ToString("yyMMdd_HHmmss.fff_"), "") & FI.Name
IO.File.Move(destFilenameTMP, destFilename) 'Datei umbenennen
Dim fi_dest As FileInfo = New FileInfo(destFilename)
@@ -253,6 +254,7 @@ Public Class frmTCNachrichtenVerarbeitung
Label6.Visible = True
Exit Sub
End If
For i = 1 To 3
For Each d In getFilesInOrder() 'System.IO.Directory.GetFiles(VERARBEITUNGS_PFAD)
@@ -260,13 +262,16 @@ Public Class frmTCNachrichtenVerarbeitung
Dateiname = d
cWorker_NCTS.Dateiname = d
If IO.File.Exists(d) Then
Dim found = False
Dim fi As FileInfo = New FileInfo(d)
If Not fi.Name.StartsWith(".") Then
' EDIFACT
' If fi.Extension = ".edi" Then
Dim alreadyMoved = False
Select Case i
Case 1
If fi.Extension = ".xml" Then
Dim xmlWriterSettings As XmlWriterSettings = New XmlWriterSettings With {.Encoding = System.Text.Encoding.UTF8, .CheckCharacters = True}
@@ -290,15 +295,16 @@ Public Class frmTCNachrichtenVerarbeitung
If readTC_Anmeldung(doc, d) <> "" Then found = True
' If bezugsNr <> "" Then addDGVEinarbeitung("NCTS: Versandbestätigung", bezugsNr) : found = True
End If
ElseIf fi.Extension = ".pdf" AndAlso fi.Name.Contains("_") Then
End If
Case 2
If fi.Extension = ".pdf" AndAlso fi.Name.Contains("_") Then
Dim split = fi.Name.ToString.Replace(".pdf", "").Split("_")
Dim CRN = ""
Dim tc_id = ""
Dim Anm_id = ""
Dim typeMsg = ""
Dim BezugsNr = ""
Dim dec_ProzessArt = ""
If split.Length > 0 Then CRN = split(0)
If split.Length > 1 Then Anm_id = split(1)
@@ -307,7 +313,8 @@ Public Class frmTCNachrichtenVerarbeitung
Dim DS As VERAG_PROG_ALLGEMEIN.cDATENSERVER = Nothing
tc_id = SQL.DLookup("[telanm_id]", "tblTelotec_Anmeldung", "telanm_CRN='" & CRN & "'", "FMZOLL")
BezugsNr = SQL.DLookup("Refs_LRN", "tblTelotec_Anmeldung", "telanm_CRN='" & CRN & "'", "FMZOLL")
BezugsNr = SQL.DLookup("Refs_LRN", "tblTelotec_Anmeldung", "telanm_CRN='" & CRN & "' AND [telnam_aktuellsteNachricht]=1", "FMZOLL")
dec_ProzessArt = SQL.DLookup("dec_ProzessArt", "tblTelotec_Anmeldung", "telanm_CRN='" & CRN & "' AND [telnam_aktuellsteNachricht]=1", "FMZOLL")
If BezugsNr <> String.Empty Then
@@ -315,6 +322,29 @@ Public Class frmTCNachrichtenVerarbeitung
Select Case typeMsg
Case "EZ923" 'STB
Select Case dec_ProzessArt
Case "EX" 'ABD
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("ZOLLDATEN", "ABD", tc_id, "", "", BezugsNr.ToString.Replace("/", "-").Replace(",", "-").Replace("\", "-").Replace(":", "."), 0, False)
DS.da_vorlage = False
Dim ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\ABD\NOT_IDENTIFIED\"
If IsNumeric(tc_id) AndAlso tc_id > 0 Then ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\ABD\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\"
If Not IO.Directory.Exists(ZIEL_PFAD) Then IO.Directory.CreateDirectory(ZIEL_PFAD)
Dim destFull = ""
frmStartOptions.moveFile(d, ZIEL_PFAD, destFull)
If DS.insertDataToDATENSERVER(destFull) Then
If IsNumeric(tc_id) AndAlso tc_id > 0 Then
' SQL.doSQL("UPDATE [tblTelotec_Anmeldung] SET [telanm_Steuerbescheid_dsId]='" & DS.da_id & "' where telanm_CRN='" & CRN & "'", "FMZOLL")
SQL.doSQL("UPDATE Speditionsbuch SET DokumentId_ABD='" & DS.da_id & "' where AtlasBezNrAES='" & BezugsNr.ToString.Trim & "' AND DokumentId_ABD is null", "FMZOLL") 'Falls Spedbuch schon zuvor generiert wurde!
If DateDiff(DateInterval.Hour, fi.CreationTime, Now) < 24 Then frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "ABD", tc_id)
End If
End If
found = True
addDGVEinarbeitung("PDF: AusfuhrBegleitDokument ", BezugsNr)
Case Else
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("ZOLLDATEN", "STEUERBESCHEID", tc_id, "", "", BezugsNr.ToString.Replace("/", "-").Replace(",", "-").Replace("\", "-").Replace(":", "."), 0, False)
DS.da_vorlage = False
@@ -329,13 +359,13 @@ Public Class frmTCNachrichtenVerarbeitung
If IsNumeric(tc_id) AndAlso tc_id > 0 Then
SQL.doSQL("UPDATE [tblTelotec_Anmeldung] SET [telanm_Steuerbescheid_dsId]='" & DS.da_id & "' where telanm_CRN='" & CRN & "'", "FMZOLL")
SQL.doSQL("UPDATE Speditionsbuch SET DokumentId_Steuerbeleg='" & DS.da_id & "' where AtlasBezNrEZA='" & BezugsNr.ToString.Trim & "' AND DokumentId_Steuerbeleg is null", "FMZOLL") 'Falls Spedbuch schon zuvor generiert wurde!
frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "STEUERBESCHEID", tc_id)
If DateDiff(DateInterval.Hour, fi.CreationTime, Now) < 24 Then frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "STEUERBESCHEID", tc_id)
End If
End If
found = True
addDGVEinarbeitung("PDF: STEUERBESCHEID ", BezugsNr)
End Select
Case "EZ922" 'STB Mitteilung
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("ZOLLDATEN", "STEUERBESCHEID_MITT", tc_id, "", "", BezugsNr.ToString.Replace("/", "-").Replace(",", "-").Replace("\", "-").Replace(":", "."), 0, False)
@@ -352,7 +382,7 @@ Public Class frmTCNachrichtenVerarbeitung
If IsNumeric(tc_id) AndAlso tc_id > 0 Then
SQL.doSQL("UPDATE [tblTelotec_Anmeldung] SET [telanm_Mitteilung_dsId]='" & DS.da_id & "' where telanm_CRN='" & CRN & "'", "FMZOLL")
SQL.doSQL("UPDATE Speditionsbuch SET DokumentId_Mitteilung='" & DS.da_id & "' where AtlasBezNrEZA='" & BezugsNr.ToString.Trim & "' AND DokumentId_Mitteilung is null", "FMZOLL") 'Falls Spedbuch schon zuvor generiert wurde!
frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "STEUERBESCHEID", tc_id)
If DateDiff(DateInterval.Hour, fi.CreationTime, Now) < 24 Then frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "STEUERBESCHEID", tc_id)
End If
End If
found = True
@@ -374,36 +404,74 @@ Public Class frmTCNachrichtenVerarbeitung
If IsNumeric(tc_id) AndAlso tc_id > 0 Then
SQL.doSQL("UPDATE [tblTelotec_Anmeldung] SET [telanm_VBD_dsId]='" & DS.da_id & "' where telanm_CRN='" & CRN & "'", "FMZOLL")
SQL.doSQL("UPDATE Speditionsbuch SET DokumentId_VBD='" & DS.da_id & "' where AtlasBezNrNCTS='" & BezugsNr.ToString.Trim & "' AND DokumentId_VBD is null", "FMZOLL") 'Falls Spedbuch schon zuvor generiert wurde!
frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "VBD", tc_id)
If DateDiff(DateInterval.Hour, fi.CreationTime, Now) < 24 Then frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "VBD", tc_id)
End If
End If
found = True
addDGVEinarbeitung("PDF: VBD ", BezugsNr)
Case "EX431" 'AVMEX431
DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("ZOLLDATEN", "AVM", tc_id, "", "", BezugsNr.ToString.Replace("/", "-").Replace(",", "-").Replace("\", "-").Replace(":", "."), 0, False)
DS.da_vorlage = False
Dim ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\AVM\NOT_IDENTIFIED\"
If IsNumeric(tc_id) AndAlso tc_id > 0 Then ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\AVM\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\"
If Not IO.Directory.Exists(ZIEL_PFAD) Then IO.Directory.CreateDirectory(ZIEL_PFAD)
Dim destFull = ""
frmStartOptions.moveFile(d, ZIEL_PFAD, destFull)
If DS.insertDataToDATENSERVER(destFull) Then
If IsNumeric(tc_id) AndAlso tc_id > 0 Then
' SQL.doSQL("UPDATE [tblTelotec_Anmeldung] SET [telanm_Steuerbescheid_dsId]='" & DS.da_id & "' where telanm_CRN='" & CRN & "'", "FMZOLL")
SQL.doSQL("UPDATE Speditionsbuch SET DokumentId_AVM='" & DS.da_id & "' where AtlasBezNrAES='" & BezugsNr.ToString.Trim & "' AND DokumentId_AVM is null", "FMZOLL") 'Falls Spedbuch schon zuvor generiert wurde!
If DateDiff(DateInterval.Hour, fi.CreationTime, Now) < 24 Then frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "AVM", tc_id)
End If
End If
found = True
addDGVEinarbeitung("PDF: AusgangsVermerk ", BezugsNr)
End Select
End If
End If
Case 3 'NOT FOUND
If fi.Extension = ".pdf" Then ' -> PDFs dürfen länger leben.. (XML kommen oft später..)
If DateDiff(DateInterval.Hour, fi.CreationTime, Now) > 2 Then ' .. aber nur wenn max. 2 h alt..
frmStartOptions.moveFile(d, ERROR_PFAD)
dsNichtErkannt += 1
End If
Else
frmStartOptions.moveFile(d, ERROR_PFAD) ' ..sonst weg damit!
dsNichtErkannt += 1
End If
Me.Refresh()
End Select
If True Then
If Not alreadyMoved Then
If found Then
If Not IO.Directory.Exists(ZIEL_PFAD & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\") Then IO.Directory.CreateDirectory(ZIEL_PFAD & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
frmStartOptions.moveFile(d, ZIEL_PFAD & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
Else
frmStartOptions.moveFile(d, ERROR_PFAD)
End If
End If
End If
cntDatenEingelesen += 1
Me.Refresh()
If found Then cntDatenEingelesen += 1 Else dsNichtErkannt += 1
Else
'--wir oben im SELECT CASE GEREGELT -- > zusätzlicher Durchgang
End If
End If
End If
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Next
Next
End Sub
@@ -668,7 +736,11 @@ Public Class frmTCNachrichtenVerarbeitung
TC.telanm_Status = TELOTEC_Worker.cTC_Statusliste.S_60
TC.telanm_Status_KEWILL_Equivalent = TELOTEC_Worker.cTC_Statusliste.S_60
Case "TT922" 'EZA / Abgabenbescheid
Case "TT922" 'EZA / Mitteilung Zollschuld --> Abgabenbescheid
TC.telanm_Status = TELOTEC_Worker.cTC_Statusliste.S_60
TC.telanm_Status_KEWILL_Equivalent = TELOTEC_Worker.cTC_Statusliste.S_60
Case "TT923" ' Freigabe IMPORT + EXPORT
TC.telanm_Status = TELOTEC_Worker.cTC_Statusliste.S_60
TC.telanm_Status_KEWILL_Equivalent = TELOTEC_Worker.cTC_Statusliste.S_60
Case Else