Uta, Mailsender

This commit is contained in:
2024-10-07 13:47:13 +02:00
parent d820af469d
commit 56662d1341
9 changed files with 485 additions and 154 deletions

View File

@@ -21,7 +21,7 @@
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>DAKOSY_Worker.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View File

@@ -22,6 +22,7 @@
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>MDM_Worker.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View File

@@ -6,6 +6,9 @@ Imports DocumentFormat
Imports System.Net
Imports DAKOSY_Worker
Imports System.Reflection
Imports VERAG_PROG_ALLGEMEIN
Imports com.sun.xml.internal.rngom
Imports DocumentFormat.OpenXml.Bibliography
Module Mail
Dim sPath As String = System.AppDomain.CurrentDomain.BaseDirectory
@@ -26,6 +29,7 @@ Module Mail
' Next
End If
System.Console.WriteLine("MailSender gestartet ...")
' If IO.File.Exists(options) Then
@@ -71,7 +75,7 @@ Module Mail
'PARAM = "THYSSENKRUPP_AUSWERTUNG"
'PARAM = "JAHRESABRECHNUNG AG-ZS"
'PARAM = "AMBAR_Datev_Mailversand_to_HK"
'PARAM = "TETRAPAK"
'------------------------------------------------------------------------------------
' PARAM = "NCTSLIST_TOBB"
@@ -284,6 +288,22 @@ Module Mail
SendEmail_AMBARTOHKT()
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
Case "UID_OPS_SYSKA_ABGLEICH"
System.Console.WriteLine("OPTION erkannt: UID-Vergleich SYSKA")
System.Console.WriteLine("Vorgang gestartet...")
If SendEmail_Syska_UID_Vergleich("as@verag.ag") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
Case "TETRAPAK"
Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year)
Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1)
System.Console.WriteLine("OPTION erkannt: TETRA_PACK _ Erstellt eine monatliche Auswertung der DAKSOY/EZOLL-Abfertigungen für TETRAPAK.")
System.Console.WriteLine("Auswertung Details gestartet...")
If SendEmail_Tetrapak("Maria.mendez@tetrapak.com; Andrea.Ronceria@tetrapak.com", von, bis, "DE") AndAlso SendEmail_Tetrapak("Maria.mendez@tetrapak.com;Andrea.Ronceria@tetrapak.com", von, bis, "AT") Then
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
End If
Case Else
System.Console.WriteLine("OPTION nicht erkannt!")
End Select
@@ -1141,7 +1161,91 @@ Module Mail
Return False
End Function
Private Function SendEmail_Syska_UID_Vergleich(Mailto As String) As Boolean
Try
Dim excel As String = genEXCEL_Syska_UID_VERGLEICH()
System.Console.WriteLine("EXCEL erstellt...")
If excel <> "" And Not excel.StartsWith("ERROR: ") Then
System.Console.WriteLine("Sende E-Mail...")
Dim Subject = "Auswertungen Syska UID-Vergleich "
Dim Body = "Anbei befinden sich der UID-Nr Vergleich mit Syska." &
"<br><br>Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString &
"<br><br><br>Automatisch generiertes E-Mail. Bitte Antworten Sie nicht an dieses E-Mail." &
"<br><br>VERAG SPEDITION AG"
Dim anhenge As New List(Of String)
anhenge.Add(excel)
If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False,, "d.breimaier@verag.ag", anhenge) Then
System.Console.WriteLine("E-Mail gesendet.")
System.Console.WriteLine("Erfolgreich!")
Else
System.Console.WriteLine("ERROR BEIM SENDEN DER MAIL!")
End If
Return True
Else
System.Console.WriteLine(excel)
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
System.Console.WriteLine(ex.Message & ex.StackTrace)
Return False
End Try
End Function
Private Function SendEmail_Tetrapak(Mailto As String, von As Date, bis As Date, Report As String) As Boolean
Try
Dim anhenge As New List(Of String)
Select Case Report
Case "DE"
Dim dakosy_excel As String = genEXCEL_TETRAPAK_DE(von, bis)
System.Console.WriteLine("EXCEL DAKOSY erstellt...")
If dakosy_excel <> "" And Not dakosy_excel.StartsWith("ERROR: ") Then
anhenge.Add(dakosy_excel)
Else
System.Console.WriteLine(dakosy_excel)
End If
Case "AT"
Dim dhf_excel As String = genEXCEL_TETRAPAK_AT(von, bis)
System.Console.WriteLine("EXCEL DHF erstellt...")
If dhf_excel <> "" And Not dhf_excel.StartsWith("ERROR: ") Then
anhenge.Add(dhf_excel)
Else
System.Console.WriteLine(dhf_excel)
End If
End Select
System.Console.WriteLine("Sende E-Mail...")
Dim Subject = "Import Customs Statistics " & Report & " " & von & "-" & bis
Dim Body = "Dear sir or madam," &
"<br><br>enclosed the import customs statistics for " & Report & "." &
"<br><br>Created at: " & Now.ToShortDateString & ", on " & Now.ToShortTimeString &
"<br><br><br>Automatically generated e-mail. Please do not reply to this e-mail." &
"<br><br>VERAG SPEDITION AG"
If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False,, "d.breimaier@verag.ag", anhenge) Then
System.Console.WriteLine("E-Mail gesendet.")
System.Console.WriteLine("Erfolgreich!")
Else
System.Console.WriteLine("ERROR BEIM SENDEN DER MAIL!")
End If
Return True
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
System.Console.WriteLine(ex.Message & ex.StackTrace)
Return False
End Try
End Function
Private Sub send()
Dim message As New MailMessage("al@verag.ag", "al@verag.ag", "Test", "Testmail")
@@ -1308,12 +1412,12 @@ Module Mail
End Try
End Function
Sub genExcel(dt As DataTable)
Sub genExcel(dt As DataTable, Optional excelBez As String = "TMP", Optional Arbeitsplattbez As String = "Kundenliste")
Dim wb As New XLWorkbook()
' Dim wb As New ClosedXML.Excel.XLWorkbook
wb.Worksheets.Add(dt, "Kundenliste")
wb.SaveAs(sPath & "TMP.xlsx")
wb.Worksheets.Add(dt, Arbeitsplattbez)
wb.SaveAs(sPath & excelBez & ".xlsx")
End Sub
Public Function genCSV(von, bis) As String
@@ -2022,6 +2126,100 @@ Module Mail
Return "ERROR: " & ex.Message
End Try
End Function
Public Function genEXCEL_Syska_UID_VERGLEICH() As String
Try
Dim wb As New XLWorkbook()
Dim firmenlist As New List(Of MyListItem)
firmenlist.Add(New MyListItem("VERAG AG", 1))
firmenlist.Add(New MyListItem("VERAG CS", 11))
firmenlist.Add(New MyListItem("ATILLA", 7))
For Each i In firmenlist
Dim top = 100
Dim sql As New SQL
Dim sqlstrKunden = " select * from ( SELECT [KundenNr] as KundenNr, (isnull(Adressen.UstIdKz,'') + isnull(Adressen.UstIdNr,'')) as UIDNrKunden, isnull(c_ustidnr,'') as UIDNrKundenDeb, [i_firm_refid] as MandantFIBU, FiBuSchnittstelleNr as MandantAVISO FROM [VERAG].[dbo].[Kunden]
inner join Adressen on Adressen.AdressenNr = Kunden.KundenNr
inner join Buchhaltung.[FIBU2].[dbo].[fibu_konto] on Kunden.KundenNrZentrale = i_konto
where isnull(KundenNrZentrale,0) <> 0 and Auswahl = 'A' And isnull(FiBuSchnittstelleNr,0) = " & i.Value & " ANd [i_firm_refid] = " & i.Value & " ) as temp where UIDNrKunden <> UIDNrKundenDeb"
Dim dtKunden As DataTable = loadDgvBySqlFMZOLL(sqlstrKunden)
If dtKunden.Rows.Count = 0 Then Return ""
'Dim dtmerged As New DataTable
'dtmerged.Columns.Add("KundenNr", GetType(Integer))
'dtmerged.Columns.Add("UIDNrKunden", GetType(String))
'dtmerged.Columns.Add("UIDNrDebitoren", GetType(String))
'Dim dtmerged2 = dtmerged.Clone
'If dtKunden IsNot Nothing AndAlso dtDebitoren IsNot Nothing Then
' dtmerged.Merge(dtKunden, False, MissingSchemaAction.Add)
' dtmerged.Merge(dtDebitoren, True, MissingSchemaAction.Add)
'End If
'Dim tableResult = dtmerged2.Clone()
'dtmerged2 = (From d1 In dtKunden.AsEnumerable()
' Join d2 In dtDebitoren.AsEnumerable() On d1.Item("KundenNr") Equals d2.Item("KundenNr")
' Select dtmerged2.LoadDataRow(New Object() {d1.Item("KundenNr"), d1.Item("UIDNrKunden"), d2.Item("UIDNrDebitoren")}, False)).CopyToDataTable
'Dim groups = dtmerged.AsEnumerable().
'GroupBy(Function(row) New With {
'Key .Id = row.Field(Of Integer)("KundenNr"),
'Key .UIDK = row.Field(Of String)("UIDNrKunden"),
'Key .UIDD = row.Field(Of String)("UIDNrDebitoren"),
'Key .Mandant = row.Field(Of String)("Mandant")
'})
'Dim groups = dtmerged.AsEnumerable().
'GroupBy(Function(row) New With {
'Key .Id = row.Field(Of Integer)("KundenNr")
'})
'For Each grp In groups
' Dim ID = (grp.Key.Id)
' 'Dim UIDNrKd = IIf((grp.Key.UIDK) Is Nothing, "-", grp.Key.UIDK)
' 'Dim UIDNrDEB = IIf((grp.Key.UIDD) Is Nothing, "-", grp.Key.UIDD)
' 'Dim Mandant = IIf((grp.Key.Mandant) Is Nothing, "-", grp.Key.Mandant)
'Next
System.Console.WriteLine("Vorhandene Datensätze: " & dtKunden.Rows.Count)
wb.Worksheets.Add(dtKunden, i.Text)
Next
wb.SaveAs(sPath & "TMP.xlsx")
Return sPath & "TMP.xlsx"
Catch ex As Exception
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
Return "ERROR: " & ex.Message
End Try
End Function
Public Function genEXCEL_TR_ATILLA(LandEinschr) As String
Try
@@ -2046,6 +2244,97 @@ Module Mail
Return "ERROR: " & ex.Message
End Try
End Function
Public Function genEXCEL_TETRAPAK_DE(von As DateTime, bis As DateTime) As String
Try
Dim sql As New SQL
Dim sqlstr = "SELECT /*eza_id,eza_dyaAnmID,*/ cast(isnull(eza_anmeldedatum,eza_Trans_DatumZeit) as date) as ImportDate,eza_ANR as MRN,
ezaWP_AnmeldeVErfahren [Import regime],
(SELECT [tblDakosy_EZA_Adressen].ezaAd_TeilnehmerEORI FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CZ') ExporterEORI,
(SELECT [tblDakosy_EZA_Adressen].ezaAd_NameFirma1 FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CZ') Exporter,
(SELECT [tblDakosy_EZA_Adressen].ezaAd_LandCode FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CZ') ExporterCountry,
(SELECT [tblDakosy_EZA_Adressen].ezaAd_TeilnehmerEORI FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CN') ImporterEORI,
(SELECT TOP 1 [Ordnungsbegriff] FROM [VERAG].[dbo].[Adressen] inner join kunden on KundenNr=AdressenNr WHERE EORITIN =(SELECT [tblDakosy_EZA_Adressen].ezaAd_TeilnehmerEORI FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CN') ) Importer,
ezaWP_UrsprungslandCode CountryOrigin,
ezaWP_PositionsNummer as PositionNummer,
tblDakosy_EZA_Warenposition.ezaWP_WarennummerEZT HSCode,
tblDakosy_EZA_Warenposition.ezaWP_Artikelpreis GoodsValue,
CASE WHEN ezaWP_PositionsNummer=1 then SUM(CASE WHEN [ezaAfb_AbgabeArt] = 'B0000' THEN [ezaAfb_Abgabenbetrag] ELSE 0 END) ELSE '' END VAT,
CASE WHEN ezaWP_PositionsNummer=1 then SUM(CASE WHEN [ezaAfb_AbgabeArt] = 'B0000' THEN 0 ELSE [ezaAfb_Abgabenbetrag] END) ELSE '' END DUTY,
ezaWP_PackstueckAnzahl Package,
sum(tblDakosy_EZA_Warenposition.ezaWP_Eigenmasse) NetWeight,
sum(tblDakosy_EZA_Warenposition.ezaWP_Rohmasse) GrossWeight,
max(tblDakosy_EZA_Warenposition.ezaWP_Warenbezeichnung )GoodsDescription
FROM [VERAG].[dbo].[tblDakosy_EZA] inner join tblDakosy_EZA_Warenposition on ezaWP_EzaId=eza_Id
inner join tblDakosy_EZA_Aufschub on [ezaAfb_EZAId]=eza_Id
where (SELECT count(*) FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId AND ezaAd_TeilnehmerEORI IN( 'ATEOS1000001405','ATEOS1000001405','DE2030640','DE2010348')and ezaAd_AdressTyp='CN')>0
and cast(isnull(eza_anmeldedatum,eza_Trans_DatumZeit) as date) between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "'
and (eza_status BETWEEN 60 and 60 or eza_ANR like 'ATC%')
group by eza_id,eza_dyaAnmID,eza_ANR,ezaWP_PositionsNummer,isnull(eza_anmeldedatum,eza_Trans_DatumZeit),ezaWP_UrsprungslandCode ,ezaWP_WarennummerEZT,ezaWP_Artikelpreis,ezaWP_ArtikelpreisWaehrung,ezaWP_PackstueckAnzahl,ezaWP_AnmeldeVErfahren
order by ImporterEORI, importdate"
Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr)
System.Console.WriteLine("Vorhandene Datensätze: " & dt.Rows.Count)
Dim excelBez = "TETRAPACK_DE_" & von.ToShortDateString.Replace(".", "-") & "_to_ " & von.ToShortDateString.Replace(".", "-")
genExcel(dt, excelBez, "TETRAPACK")
Return sPath & excelBez & ".xlsx"
Catch ex As Exception
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
Return "ERROR: " & ex.Message
End Try
End Function
Public Function genEXCEL_TETRAPAK_AT(von As DateTime, bis As DateTime) As String
Try
Dim sql As New SQL
Dim sqlstr = " DECLARE @Eori AS VARCHAR(100)='ATEOS1000001405'
select CRN,cast(DecDT as date) ImportDate,LRN,Net,TotGross,ItVal ,[ProcCd] Regime
, Orig Ursprungsland
, (SELECT TIN FROM zsAnmConorTra WHERE (zsAnmConorTra.LizenzNr = zsAnmHea.LizenzNr ) And (zsAnmConorTra.OperatorID =zsAnmHea.OperatorID ) And (zsAnmConorTra.VorgangID = zsAnmHea.VorgangID ) And (zsAnmConorTra.AnmID = zsAnmHea.AnmID )) EORI_Exporter
, (SELECT Na FROM zsAnmConorTra WHERE (zsAnmConorTra.LizenzNr = zsAnmHea.LizenzNr ) And (zsAnmConorTra.OperatorID =zsAnmHea.OperatorID ) And (zsAnmConorTra.VorgangID = zsAnmHea.VorgangID ) And (zsAnmConorTra.AnmID = zsAnmHea.AnmID )) Exporter
, (SELECT TIN FROM zsAnmConeeTra WHERE (zsAnmConeeTra.LizenzNr = zsAnmHea.LizenzNr ) And (zsAnmConeeTra.OperatorID =zsAnmHea.OperatorID ) And (zsAnmConeeTra.VorgangID = zsAnmHea.VorgangID ) And (zsAnmConeeTra.AnmID = zsAnmHea.AnmID ))EORI_Importer
, (SELECT Na FROM zsAnmConeeTra WHERE (zsAnmConeeTra.LizenzNr = zsAnmHea.LizenzNr ) And (zsAnmConeeTra.OperatorID =zsAnmHea.OperatorID ) And (zsAnmConeeTra.VorgangID = zsAnmHea.VorgangID ) And (zsAnmConeeTra.AnmID = zsAnmHea.AnmID ))Importer
,GdsDes GoodsDescription,ComCd
from zsAnmRefs
inner join zsAnmGdsitem on zsAnmRefs.LizenzNr=zsAnmGdsitem.LizenzNr and zsAnmRefs.AnmID=zsAnmGdsitem.AnmID and zsAnmRefs.VorgangID=zsAnmGdsitem.VorgangID and zsAnmRefs.OperatorID=zsAnmGdsitem.OperatorID
inner join zsAnmHea on zsAnmHea.LizenzNr=zsAnmGdsitem.LizenzNr and zsAnmHea.AnmID=zsAnmGdsitem.AnmID and zsAnmHea.VorgangID=zsAnmGdsitem.VorgangID and zsAnmHea.OperatorID=zsAnmGdsitem.OperatorID
inner join zsAnmDeclarant on zsAnmHea.LizenzNr=zsAnmDeclarant.LizenzNr and zsAnmHea.AnmID=zsAnmDeclarant.AnmID and zsAnmHea.VorgangID=zsAnmDeclarant.VorgangID and zsAnmHea.OperatorID=zsAnmDeclarant.OperatorID
inner join zsAnmTransp on zsAnmHea.LizenzNr=zsAnmTransp.LizenzNr and zsAnmHea.AnmID=zsAnmTransp.AnmID and zsAnmHea.VorgangID=zsAnmTransp.VorgangID and zsAnmHea.OperatorID=zsAnmTransp.OperatorID
where DecDT between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "'
and crn is not null
and (SELECT TIN FROM zsAnmConeeTra WHERE (zsAnmConeeTra.LizenzNr = zsAnmHea.LizenzNr ) And (zsAnmConeeTra.OperatorID =zsAnmHea.OperatorID ) And (zsAnmConeeTra.VorgangID = zsAnmHea.VorgangID ) And (zsAnmConeeTra.AnmID = zsAnmHea.AnmID )) LIKE @Eori
order by ImportDate,(SELECT Na FROM zsAnmConorTra WHERE (zsAnmConorTra.LizenzNr = zsAnmHea.LizenzNr ) And (zsAnmConorTra.OperatorID =zsAnmHea.OperatorID ) And (zsAnmConorTra.VorgangID = zsAnmHea.VorgangID ) And (zsAnmConorTra.AnmID = zsAnmHea.AnmID ))"
Dim dt As DataTable = sql.loadDgvBySql(sqlstr, "EZOLL")
System.Console.WriteLine("Vorhandene Datensätze: " & dt.Rows.Count)
Dim excelBez = "TETRAPACK_AT_" & von.ToShortDateString.Replace(".", "-") & "_to_ " & von.ToShortDateString.Replace(".", "-")
genExcel(dt, excelBez, "TETRAPACK")
Return sPath & excelBez & ".xlsx"
Catch ex As Exception
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
Return "ERROR: " & ex.Message
End Try
End Function
Public Function loadDgvBySqlFMZOLL(ByVal sql As String) As DataTable
Try
Dim myTable = New DataTable()

View File

@@ -22,7 +22,7 @@
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>TELOTEC_Worker.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<PlatformTarget>x64</PlatformTarget>
<PlatformTarget>AnyCPU</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>

View File

@@ -97,6 +97,10 @@
<EmbedInteropTypes>True</EmbedInteropTypes>
<HintPath>C:\Windows\assembly\GAC_MSIL\office\15.0.0.0__71e9bce111e9429c\OFFICE.DLL</HintPath>
</Reference>
<Reference Include="Spire.Pdf, Version=10.7.21.0, Culture=neutral, PublicKeyToken=663f351905198cb3, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>F:\PROGRAMMIERUNG\dll\Spire.PDF\Spire.Pdf.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
@@ -109,9 +113,6 @@
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="ZUGFeRD.NET">
<HintPath>F:\PROGRAMMIERUNG\dll\ZUGFeRD.NET.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />

View File

@@ -1,12 +1,6 @@
Imports System.Data.SqlClient
Imports System.Globalization
Imports System.IO
Imports System.Reflection
Imports System.Text.RegularExpressions
Imports com.esendex.sdk
Imports DocumentFormat.OpenXml.Bibliography
Imports DocumentFormat.OpenXml.EMMA
Imports DocumentFormat.OpenXml.VariantTypes
Imports VERAG_PROG_ALLGEMEIN
Public Class cUTA
@@ -15,7 +9,7 @@ Public Class cUTA
Public Function clearimporttable() As Boolean
Return SQL.doSQL("DELETE FROM tblUTAImport", "FMZOLL")
Return SQL.doSQL("DELETE FROM tblUTAImportNew", "FMZOLL")
End Function
@@ -23,10 +17,10 @@ Public Class cUTA
'Einträge in tblUTALeistungen machen, wenn Fakturierwarenart und Lieferland noch nicht in der Tabelle enthalten sind.
Dim query = "INSERT INTO tblUTALeistungen (Fakturierwarenart, Lieferland, VERAG_OffertenNr, VERAG_LeistungsNr )
Select tblUTAImport.Fakturierwarenart, tblUTAImport.Lieferland, tblUTAFakturierwarenarten.VERAG_OffertenNr, tblUTAFakturierwarenarten.VERAG_LeistungsNr
From tblUTAImport INNER Join tblUTAFakturierwarenarten On tblUTAImport.Fakturierwarenart = tblUTAFakturierwarenarten.Fakturierwarenart
Group By tblUTAImport.Fakturierwarenart, tblUTAImport.Lieferland, tblUTAFakturierwarenarten.VERAG_OffertenNr, tblUTAFakturierwarenarten.VERAG_LeistungsNr
HAVING((((SELECT tblUTALeistungen.Fakturierwarenart FROM tblUTALeistungen WHERE tblUTALeistungen.Fakturierwarenart=tblUTAImport.Fakturierwarenart And tblUTALeistungen.Lieferland=tblUTAImport.Lieferland)) Is Null))"
Select tblUTAImportNew.Fakturierwarenart, tblUTAImportNew.Lieferland, tblUTAFakturierwarenarten.VERAG_OffertenNr, tblUTAFakturierwarenarten.VERAG_LeistungsNr
From tblUTAImportNew INNER Join tblUTAFakturierwarenarten On tblUTAImportNew.Fakturierwarenart = tblUTAFakturierwarenarten.Fakturierwarenart
Group By tblUTAImportNew.Fakturierwarenart, tblUTAImportNew.Lieferland, tblUTAFakturierwarenarten.VERAG_OffertenNr, tblUTAFakturierwarenarten.VERAG_LeistungsNr
HAVING((((SELECT tblUTALeistungen.Fakturierwarenart FROM tblUTALeistungen WHERE tblUTALeistungen.Fakturierwarenart=tblUTAImportNew.Fakturierwarenart And tblUTALeistungen.Lieferland=tblUTAImportNew.Lieferland)) Is Null))"
Return SQL.doSQL(query, "FMZOLL")
@@ -72,7 +66,7 @@ Public Class cUTA
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblUTAHeader WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit) " &
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblUTAHeaderNew WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
" BEGIN " & getInsertCmd() & " End " &
@@ -85,7 +79,7 @@ Public Class cUTA
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("Select * FROM tblUTAHeader WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit", conn)
Using cmd As New SqlCommand("Select * FROM tblUTAHeaderNew WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit", conn)
cmd.Parameters.AddWithValue("@Übertragungsnummer", Übertragungsnummer)
cmd.Parameters.AddWithValue("@ErstellDatumUhrzeit", ErstellDatumUhrzeit)
Dim dr = cmd.ExecuteReader()
@@ -123,7 +117,7 @@ Public Class cUTA
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblUTAHeader] SET " & str & " WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit ")
Return (" UPDATE [tblUTAHeaderNew] SET " & str & " WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
@@ -145,7 +139,7 @@ Public Class cUTA
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblUTAHeader (" & str & ") VALUES(" & values & ") ")
Return (" INSERT INTO tblUTAHeaderNew (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
@@ -357,7 +351,7 @@ Public Class cUTA
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblUTAImport WHERE Übertragungsnummer=@Übertragungsnummer AND Übertragungsposition = @Übertragungsposition AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit) " &
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblUTAImportNew WHERE Übertragungsnummer=@Übertragungsnummer AND Übertragungsposition = @Übertragungsposition AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
" BEGIN " & getInsertCmd() & " End " &
@@ -370,7 +364,7 @@ Public Class cUTA
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("Select * FROM tblUTAImport WHERE Übertragungsnummer=@Übertragungsnummer AND Übertragungsposition = @Übertragungsposition AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit ", conn)
Using cmd As New SqlCommand("Select * FROM tblUTAImportNew WHERE Übertragungsnummer=@Übertragungsnummer AND Übertragungsposition = @Übertragungsposition AND ErstellDatumUhrzeit = @ErstellDatumUhrzeit ", conn)
cmd.Parameters.AddWithValue("@Übertragungsnummer", Übertragungsnummer)
cmd.Parameters.AddWithValue("@Übertragungsposition", Übertragungsposition)
cmd.Parameters.AddWithValue("@ErstellDatumUhrzeit", ErstellDatumUhrzeit)
@@ -409,7 +403,7 @@ Public Class cUTA
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblUTAImport] SET " & str & " WHERE Übertragungsnummer=@Übertragungsnummer AND Übertragungsposition = @Übertragungsposition")
Return (" UPDATE [tblUTAImportNew] SET " & str & " WHERE Übertragungsnummer=@Übertragungsnummer AND Übertragungsposition = @Übertragungsposition")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
@@ -431,7 +425,7 @@ Public Class cUTA
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblUTAImport (" & str & ") VALUES(" & values & ") ")
Return (" INSERT INTO tblUTAImportNew (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
@@ -752,7 +746,7 @@ Public Class cUTA
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblUTATrailer WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit=@ErstellDatumUhrzeit) " &
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblUTATrailerNew WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit=@ErstellDatumUhrzeit) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
" BEGIN " & getInsertCmd() & " End " &
@@ -765,7 +759,7 @@ Public Class cUTA
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("Select * FROM tblUTATrailer WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit=@ErstellDatumUhrzeit", conn)
Using cmd As New SqlCommand("Select * FROM tblUTATrailerNew WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit=@ErstellDatumUhrzeit", conn)
cmd.Parameters.AddWithValue("@Übertragungsnummer", Übertragungsnummer)
cmd.Parameters.AddWithValue("@ErstellDatumUhrzeit", ErstellDatumUhrzeit)
Dim dr = cmd.ExecuteReader()
@@ -803,7 +797,7 @@ Public Class cUTA
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblUTATrailer] SET " & str & " WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit=@ErstellDatumUhrzeit")
Return (" UPDATE [tblUTATrailerNew] SET " & str & " WHERE Übertragungsnummer=@Übertragungsnummer AND ErstellDatumUhrzeit=@ErstellDatumUhrzeit")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
@@ -825,7 +819,7 @@ Public Class cUTA
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblUTATrailer (" & str & ") VALUES(" & values & ") ")
Return (" INSERT INTO tblUTATrailerNew (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
@@ -949,7 +943,7 @@ Public Class cUTA
lngRecordCount = 0
'gleicher PKFileName wird nun aus CLFHeader gelöscht. CASCADE löscht dann zugehörige CLFBody und CLFTrailer.
'If Not SQL.doSQL("DELETE tblUTAHeader.ErstellDatumUhrzeit, tblUTAHeader.Übertragungsnummer FROM tblUTAHeader WHERE (((tblUTAHeader.ErstellDatumUhrzeit)=" & Format$(dtmErstellDatumUhrzeit, "\#mm\/dd\/yyyy hh\:nn\:ss AM/PM\#") & ") AND ((tblUTAHeader.Übertragungsnummer)=" & lngÜbertragungsnummer, "FMZOLL") Then
'If Not SQL.doSQL("DELETE tblUTAHeaderNew.ErstellDatumUhrzeit, tblUTAHeaderNew.Übertragungsnummer FROM tblUTAHeaderNew WHERE (((tblUTAHeaderNew.ErstellDatumUhrzeit)=" & Format$(dtmErstellDatumUhrzeit, "\#mm\/dd\/yyyy hh\:nn\:ss AM/PM\#") & ") AND ((tblUTAHeaderNew.Übertragungsnummer)=" & lngÜbertragungsnummer, "FMZOLL") Then
' MsgBox("Fehler beim Löschen des CLF-Headers")
' objFileRead.Close()
' Return False
@@ -1102,94 +1096,94 @@ Public Class cUTA
.SAVE()
Dim clfArchiv As New cUTA.UTAArchiv(.Belegdatum, .UTA_Beleg_ID)
clfArchiv.Übertragungsnummer = .Übertragungsnummer
clfArchiv.ErstellDatumUhrzeit = .ErstellDatumUhrzeit
clfArchiv.Übertragungsposition = .Übertragungsposition
clfArchiv.Abrechnungsnummer = .Abrechnungsnummer
clfArchiv.Datum_für_Lieferungen_und_Leistungen_bis = .Datum_für_Lieferungen_und_Leistungen_bis
clfArchiv.Rechnungsempfänger_Kundennummer = .Rechnungsempfänger_Kundennummer
clfArchiv.Abrechnungsdatum = .Abrechnungsdatum
clfArchiv.Kundennummer = .Kundennummer
clfArchiv.Kartennummer = .Kartennummer
clfArchiv.Akzeptanzstellennummer = .Akzeptanzstellennummer
clfArchiv.Standort_der_Akzeptanzstelle = .Standort_der_Akzeptanzstelle
clfArchiv.Lieferland = .Lieferland
clfArchiv.Belegnummer_des_Lieferanten = .Belegnummer_des_Lieferanten
clfArchiv.Kilometerstand = .Kilometerstand
clfArchiv.Fakturierwarenart = .Fakturierwarenart
clfArchiv.Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen = .Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen
clfArchiv.Menge = .Menge
clfArchiv.SB_BT = .SB_BT
clfArchiv.Umsatzsteuerprozentsatz = .Umsatzsteuerprozentsatz
clfArchiv.Lieferlandwährung_ISO = .Lieferlandwährung_ISO
clfArchiv.Einzelpreis_Netto_in_Lieferlandwährung = .Einzelpreis_Netto_in_Lieferlandwährung
clfArchiv.Einzelpreis_Brutto_in_Lieferlandwährung = .Einzelpreis_Brutto_in_Lieferlandwährung
clfArchiv.Einzelpreis_Netto_in_Lieferlandwährung = .Einzelpreis_Netto_in_Lieferlandwährung
clfArchiv.Betrag_Service_in_Lieferlandwährung = .Betrag_Service_in_Lieferlandwährung
clfArchiv.Betrag_Nachlass_in_Lieferlandwährung = .Betrag_Nachlass_in_Lieferlandwährung
clfArchiv.Gesamtbetrag_Netto_in_Lieferlandwährung = .Gesamtbetrag_Netto_in_Lieferlandwährung
clfArchiv.Gesamtbetrag_Brutto_in_Lieferlandwährung = .Gesamtbetrag_Brutto_in_Lieferlandwährung
clfArchiv.Darstellwährung_ISO = .Darstellwährung_ISO
clfArchiv.Betrag_Service_in_Darstellwährung = .Betrag_Service_in_Darstellwährung
clfArchiv.Betrag_Nachlass_in_Darstellwährung = .Betrag_Nachlass_in_Darstellwährung
clfArchiv.Gesamtbetrag_Netto_in_Darstellwährung = .Gesamtbetrag_Netto_in_Darstellwährung
clfArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung = .Gesamtbetrag_Umsatzsteuer_in_Darstellwährung
clfArchiv.Gesamtbetrag_Brutto_in_Darstellwährung = .Gesamtbetrag_Brutto_in_Darstellwährung
clfArchiv.Prägetext_i_d_R_KFZ_Kennzeichen = .Prägetext_i_d_R_KFZ_Kennzeichen
clfArchiv.Kunden_Kostenstelle_1 = .Kunden_Kostenstelle_1
clfArchiv.Kartentyp = .Kartentyp
clfArchiv.Filler_Feld_35 = .Filler_Feld_35
clfArchiv.Filler_Feld_36 = .Filler_Feld_36
clfArchiv.KZ_Autobahn = .KZ_Autobahn
clfArchiv.INFO_Feld = .INFO_Feld
clfArchiv.KFZ_Kennzeichen = .KFZ_Kennzeichen
clfArchiv.Filler_Feld_40 = .Filler_Feld_40
clfArchiv.Buchungsart = .Buchungsart
clfArchiv.Buchungsgrund = .Buchungsgrund
clfArchiv.Filler_Feld_43 = .Filler_Feld_43
clfArchiv.Informationsbeleg = .Informationsbeleg
clfArchiv.Belegherkunft = .Belegherkunft
clfArchiv.Filler_Feld_46 = .Filler_Feld_46
clfArchiv.Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen = .Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen
clfArchiv.Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen = .Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen
clfArchiv.Rechnungsdatum = .Rechnungsdatum
clfArchiv.Umsatzsteuerprozentsatz_informativ = .Umsatzsteuerprozentsatz_informativ
clfArchiv.Betrag_Nachlass_in_Lieferlandwährung = .Betrag_Nachlass_in_Lieferlandwährung
clfArchiv.Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ = .Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ
clfArchiv.Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ = .Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ
clfArchiv.Fälligkeitsdatum = .Fälligkeitsdatum
clfArchiv.Zahlungsziel_in_Tagen = .Zahlungsziel_in_Tagen
clfArchiv.Zahlungsart = .Zahlungsart
clfArchiv.TC_Rechnungsnummer_gegenüber_dem_Nutzer = .TC_Rechnungsnummer_gegenüber_dem_Nutzer
clfArchiv.TC_Rechnungsdatum = .TC_Rechnungsdatum
clfArchiv.Zahlungszielgruppe = .Zahlungszielgruppe
clfArchiv.Kunden_Kostenstelle_2 = .Kunden_Kostenstelle_2
clfArchiv.Lieferzeit = .Lieferzeit
clfArchiv.Fremdkartennummer = .Fremdkartennummer
clfArchiv.OnBoardUnitID = .OnBoardUnitID
clfArchiv.KFZ_Kennzeichen_komprimiert = .KFZ_Kennzeichen_komprimiert
clfArchiv.Kartenkategorie = .Kartenkategorie
clfArchiv.Rechnungsnummer_pro_Lieferland = .Rechnungsnummer_pro_Lieferland
clfArchiv.Autobahnauffahrt = .Autobahnauffahrt
clfArchiv.Autobahnausfahrt = .Autobahnausfahrt
clfArchiv.Rabattschlüssel_der_französischen_Autobahngesellschaften = .Rabattschlüssel_der_französischen_Autobahngesellschaften
clfArchiv.Nummer_Belastungsanzeige = .Nummer_Belastungsanzeige
clfArchiv.Betreuungsstelle = .Betreuungsstelle
clfArchiv.Filler_Feld_72 = .Filler_Feld_72
clfArchiv.Akzeptanz_Medium = .Akzeptanz_Medium
clfArchiv.Steuerkategorie = .Steuerkategorie
clfArchiv.UTA_Normalbeleg_ID = .UTA_Normalbeleg_ID
clfArchiv.Gebühren_Bescheinigung_von = .Gebühren_Bescheinigung_von
clfArchiv.Gebühren_Bescheinigung_bis = .Gebühren_Bescheinigung_bis
clfArchiv.Herausgeber_Nutzer_Nummer = .Herausgeber_Nutzer_Nummer
clfArchiv.Maßeinheit = .Maßeinheit
clfArchiv.Land_der_Akzeptanzstelle = .Land_der_Akzeptanzstelle
clfArchiv.Postleitzahl_der_Akzeptanzstelle = .Postleitzahl_der_Akzeptanzstelle
clfArchiv.Steuerliches_Lieferland = .Steuerliches_Lieferland
clfArchiv.Steuerliche_Produktgruppe = .Steuerliche_Produktgruppe
clfArchiv.Leistungsort_verlagerbar = .Leistungsort_verlagerbar
clfArchiv.SAVE()
'Dim clfArchiv As New cUTA.UTAArchiv(.Belegdatum, .UTA_Beleg_ID)
'clfArchiv.Übertragungsnummer = .Übertragungsnummer
'clfArchiv.ErstellDatumUhrzeit = .ErstellDatumUhrzeit
'clfArchiv.Übertragungsposition = .Übertragungsposition
'clfArchiv.Abrechnungsnummer = .Abrechnungsnummer
'clfArchiv.Datum_für_Lieferungen_und_Leistungen_bis = .Datum_für_Lieferungen_und_Leistungen_bis
'clfArchiv.Rechnungsempfänger_Kundennummer = .Rechnungsempfänger_Kundennummer
'clfArchiv.Abrechnungsdatum = .Abrechnungsdatum
'clfArchiv.Kundennummer = .Kundennummer
'clfArchiv.Kartennummer = .Kartennummer
'clfArchiv.Akzeptanzstellennummer = .Akzeptanzstellennummer
'clfArchiv.Standort_der_Akzeptanzstelle = .Standort_der_Akzeptanzstelle
'clfArchiv.Lieferland = .Lieferland
'clfArchiv.Belegnummer_des_Lieferanten = .Belegnummer_des_Lieferanten
'clfArchiv.Kilometerstand = .Kilometerstand
'clfArchiv.Fakturierwarenart = .Fakturierwarenart
'clfArchiv.Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen = .Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen
'clfArchiv.Menge = .Menge
'clfArchiv.SB_BT = .SB_BT
'clfArchiv.Umsatzsteuerprozentsatz = .Umsatzsteuerprozentsatz
'clfArchiv.Lieferlandwährung_ISO = .Lieferlandwährung_ISO
'clfArchiv.Einzelpreis_Netto_in_Lieferlandwährung = .Einzelpreis_Netto_in_Lieferlandwährung
'clfArchiv.Einzelpreis_Brutto_in_Lieferlandwährung = .Einzelpreis_Brutto_in_Lieferlandwährung
'clfArchiv.Einzelpreis_Netto_in_Lieferlandwährung = .Einzelpreis_Netto_in_Lieferlandwährung
'clfArchiv.Betrag_Service_in_Lieferlandwährung = .Betrag_Service_in_Lieferlandwährung
'clfArchiv.Betrag_Nachlass_in_Lieferlandwährung = .Betrag_Nachlass_in_Lieferlandwährung
'clfArchiv.Gesamtbetrag_Netto_in_Lieferlandwährung = .Gesamtbetrag_Netto_in_Lieferlandwährung
'clfArchiv.Gesamtbetrag_Brutto_in_Lieferlandwährung = .Gesamtbetrag_Brutto_in_Lieferlandwährung
'clfArchiv.Darstellwährung_ISO = .Darstellwährung_ISO
'clfArchiv.Betrag_Service_in_Darstellwährung = .Betrag_Service_in_Darstellwährung
'clfArchiv.Betrag_Nachlass_in_Darstellwährung = .Betrag_Nachlass_in_Darstellwährung
'clfArchiv.Gesamtbetrag_Netto_in_Darstellwährung = .Gesamtbetrag_Netto_in_Darstellwährung
'clfArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung = .Gesamtbetrag_Umsatzsteuer_in_Darstellwährung
'clfArchiv.Gesamtbetrag_Brutto_in_Darstellwährung = .Gesamtbetrag_Brutto_in_Darstellwährung
'clfArchiv.Prägetext_i_d_R_KFZ_Kennzeichen = .Prägetext_i_d_R_KFZ_Kennzeichen
'clfArchiv.Kunden_Kostenstelle_1 = .Kunden_Kostenstelle_1
'clfArchiv.Kartentyp = .Kartentyp
'clfArchiv.Filler_Feld_35 = .Filler_Feld_35
'clfArchiv.Filler_Feld_36 = .Filler_Feld_36
'clfArchiv.KZ_Autobahn = .KZ_Autobahn
'clfArchiv.INFO_Feld = .INFO_Feld
'clfArchiv.KFZ_Kennzeichen = .KFZ_Kennzeichen
'clfArchiv.Filler_Feld_40 = .Filler_Feld_40
'clfArchiv.Buchungsart = .Buchungsart
'clfArchiv.Buchungsgrund = .Buchungsgrund
'clfArchiv.Filler_Feld_43 = .Filler_Feld_43
'clfArchiv.Informationsbeleg = .Informationsbeleg
'clfArchiv.Belegherkunft = .Belegherkunft
'clfArchiv.Filler_Feld_46 = .Filler_Feld_46
'clfArchiv.Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen = .Einzelpreis_Brutto_in_Lieferlandwährung_mit_4_Nachkommastellen
'clfArchiv.Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen = .Einzelpreis_Netto_in_Lieferlandwährung_mit_4_Nachkommastellen
'clfArchiv.Rechnungsdatum = .Rechnungsdatum
'clfArchiv.Umsatzsteuerprozentsatz_informativ = .Umsatzsteuerprozentsatz_informativ
'clfArchiv.Betrag_Nachlass_in_Lieferlandwährung = .Betrag_Nachlass_in_Lieferlandwährung
'clfArchiv.Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ = .Betrag_Service_in_Lieferlandwährung_Umsatzsteuer_informativ
'clfArchiv.Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ = .Gesamtbetrag_in_Lieferlandwährung_Umsatzsteuer_informativ
'clfArchiv.Fälligkeitsdatum = .Fälligkeitsdatum
'clfArchiv.Zahlungsziel_in_Tagen = .Zahlungsziel_in_Tagen
'clfArchiv.Zahlungsart = .Zahlungsart
'clfArchiv.TC_Rechnungsnummer_gegenüber_dem_Nutzer = .TC_Rechnungsnummer_gegenüber_dem_Nutzer
'clfArchiv.TC_Rechnungsdatum = .TC_Rechnungsdatum
'clfArchiv.Zahlungszielgruppe = .Zahlungszielgruppe
'clfArchiv.Kunden_Kostenstelle_2 = .Kunden_Kostenstelle_2
'clfArchiv.Lieferzeit = .Lieferzeit
'clfArchiv.Fremdkartennummer = .Fremdkartennummer
'clfArchiv.OnBoardUnitID = .OnBoardUnitID
'clfArchiv.KFZ_Kennzeichen_komprimiert = .KFZ_Kennzeichen_komprimiert
'clfArchiv.Kartenkategorie = .Kartenkategorie
'clfArchiv.Rechnungsnummer_pro_Lieferland = .Rechnungsnummer_pro_Lieferland
'clfArchiv.Autobahnauffahrt = .Autobahnauffahrt
'clfArchiv.Autobahnausfahrt = .Autobahnausfahrt
'clfArchiv.Rabattschlüssel_der_französischen_Autobahngesellschaften = .Rabattschlüssel_der_französischen_Autobahngesellschaften
'clfArchiv.Nummer_Belastungsanzeige = .Nummer_Belastungsanzeige
'clfArchiv.Betreuungsstelle = .Betreuungsstelle
'clfArchiv.Filler_Feld_72 = .Filler_Feld_72
'clfArchiv.Akzeptanz_Medium = .Akzeptanz_Medium
'clfArchiv.Steuerkategorie = .Steuerkategorie
'clfArchiv.UTA_Normalbeleg_ID = .UTA_Normalbeleg_ID
'clfArchiv.Gebühren_Bescheinigung_von = .Gebühren_Bescheinigung_von
'clfArchiv.Gebühren_Bescheinigung_bis = .Gebühren_Bescheinigung_bis
'clfArchiv.Herausgeber_Nutzer_Nummer = .Herausgeber_Nutzer_Nummer
'clfArchiv.Maßeinheit = .Maßeinheit
'clfArchiv.Land_der_Akzeptanzstelle = .Land_der_Akzeptanzstelle
'clfArchiv.Postleitzahl_der_Akzeptanzstelle = .Postleitzahl_der_Akzeptanzstelle
'clfArchiv.Steuerliches_Lieferland = .Steuerliches_Lieferland
'clfArchiv.Steuerliche_Produktgruppe = .Steuerliche_Produktgruppe
'clfArchiv.Leistungsort_verlagerbar = .Leistungsort_verlagerbar
'clfArchiv.SAVE()
End With
@@ -1242,10 +1236,13 @@ Public Class cUTA
ERROR_PFAD = cUTA.Paramter.GET_PARAM_ByName("ERROR_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
ARCHIV_PFAD = cUTA.Paramter.GET_PARAM_ByName("ARCHIV_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
VERARBEITUNG_PFAD = cUTA.Paramter.GET_PARAM_ByName("VERARBEITUNGS_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
VERARBEITUNG_PFAD = cUTA.Paramter.GET_PARAM_ByName("VERARBEITUNG_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
ZIEL_PFAD = cUTA.Paramter.GET_PARAM_ByName("ZIEL_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
If Not System.IO.Directory.Exists(VERARBEITUNG_PFAD) Then
If Not System.IO.Directory.Exists(VERARBEITUNG_PFAD) AndAlso VERARBEITUNG_PFAD <> "" Then
System.IO.Directory.CreateDirectory(VERARBEITUNG_PFAD)
ElseIf VERARBEITUNG_PFAD = "" Then
MsgBox("Verabreitungspfad nicht gesetzt!")
End If
Return Paramter.getFTPConenction(API_STRING, API, programName)

View File

@@ -1,15 +1,7 @@
Imports System.IO
Imports System.Globalization
Imports System.Xml
Imports Renci.SshNet
Imports System.Net.Mail
Imports GrapeCity.Enterprise.Data.DataEngine.DataProcessing
Imports DocumentFormat.OpenXml.Wordprocessing
Imports DAKOSY_Worker
Imports Renci.SshNet.Messages
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Imports DocumentFormat.OpenXml.Drawing.Charts
Imports iTextSharp.text.xml.simpleparser
Imports Renci.SshNet
Public Class frmDYNachrichtenVerarbeitung
Dim cntDatenEingelesen As Integer = 0

View File

@@ -3,16 +3,13 @@ Imports System.Net
Imports System.Text
Imports System.Text.RegularExpressions
Imports System.Web
Imports io.konik
Imports io.konik.carriage.pdfbox.xmp
Imports io.konik.validation
Imports io.konik.zugferd
Imports java.nio.channels
Imports System.Xml
Imports Renci.SshNet
Imports Renci.SshNet.Sftp
Imports VERAG_PROG_ALLGEMEIN
Public Class frmNachrichtenVerarbeitung_MDM_divers
Dim cntDatenEingelesen As Integer = 0
Dim dsNichtErkannt As Integer = 0
@@ -412,29 +409,78 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
'PDFs über EEA und Zugpfrd
If fi.Extension.ToLower = ".pdf" Then
If Not System.IO.Directory.Exists(zielpfad & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\") Then System.IO.Directory.CreateDirectory(zielpfad & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
If True Then 'Not System.IO.Directory.Exists(zielpfad & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\") Then System.IO.Directory.CreateDirectory(zielpfad & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
If fi.Name.ToString.StartsWith("invoice_") Then
If fi.Name.ToString.StartsWith("invoice_") Then
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_DATEN", "UTA", Now.Year, Now.ToString("yyyyMMdd"), frmStartOptions.getFileName(d))
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_DATEN", "UTA", Now.Year, Now.ToString("yyyyMMdd"), frmStartOptions.getFileName(d))
DS.uploadDataToDATENSERVER(d,,,,,, True)
DS.uploadDataToDATENSERVER(d,,,,,, True)
'zugferd-Daten aus pdf auslesen!
Dim invoice As New Invoice(zugferd.profile.ConformanceLevel.BASIC)
Dim validator As InvoiceValidator = New InvoiceValidator()
Dim test = validator.validate(invoice)
'zugferd-Daten aus pdf auslesen!
'1 Read your PDF
'2 Get the catalog inside your PDF
'3 Get the Array with name AF from Catalog
'4 Get first element from AF array (should be file spec)
'5 From file spec get the dictionary named EF
'6 Get the stream content of EF
Try
Dim invoiceNr As String = ""
Dim invoiceDate As String = ""
Dim UTA_Beleg_ID As String = ""
Dim doc = New Spire.Pdf.PdfDocument()
doc.LoadFromFile(fi.FullName)
Dim pdfAtt = doc.Attachments(0)
If pdfAtt.FileName = "ZUGFeRD-invoice.xml" Then
Dim filename = Path.GetFileName(pdfAtt.FileName)
File.WriteAllBytes(filename, pdfAtt.Data)
Dim docxml As New XmlDocument()
docxml.Load(New XmlTextReader(filename))
If docxml.HasChildNodes Then
If docxml.GetElementsByTagName("rsm:ExchangedDocument").Count > 0 Then
Dim count As Integer = 1
For Each node As XmlElement In docxml.GetElementsByTagName("rsm:ExchangedDocument")
If node.HasChildNodes Then
For Each element As XmlElement In node.ChildNodes
If element.Name = "ram:ID" AndAlso element.InnerText <> "" Then invoiceNr = element.InnerText 'Rechnungsnummer
If element.Name = "ram:IssueDateTime" AndAlso element.InnerText <> "" Then invoiceDate = element.InnerText
Next
count = count + 1
End If
Next
End If
End If
End If
If UTA_Beleg_ID <> "" Then
'TO DO -> ÄNDERN----------------------
SQL.doSQL("Update [tblUTAImportNew] SET [daId]='" & DS.da_id & "' where [UTA_Beleg_ID] = '" & UTA_Beleg_ID & "' and [rmc_importDatum] > DATEADD(DAY,-4,getdate()) ", "FMZOLL")
'TO DO -> ÄNDERN----------------------
End If
'TO DO -> ÄNDERN----------------------
' SQL.doSQL("Update [tblUTAImport] SET [daId]='" & DS.da_id & "' where [rmc_pdfFileName] = '" & DS.da_name & "' and [rmc_importDatum] > DATEADD(DAY,-4,getdate()) ", "FMZOLL")
'TO DO -> ÄNDERN----------------------
Catch ex As System.Exception
End Try
End If
End If
End If
frmStartOptions.moveFile_DateBack(d, zielpfad & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
'frmStartOptions.moveFile_DateBack(d, zielpfad & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
If fi.Name.ToLower.Contains("pdf") Then addDGVEinarbeitung("PDF", fi.Name)
dgvEinarbeitung.Refresh()

View File

@@ -342,7 +342,7 @@ Public Class frmStartOptions
If (parameter.Count - 1) >= 3 Then 'Höher als 1 weil der index 0 der Pfad zum programm ist
'mdm_mail_attach %file% %subject% %datetimereceived% %from% - testsubject test@uta.com"
'mdm_mail_attach %file% %subject% %datetimereceived% %from%"
pfad = parameter(2)
betreff = parameter(3)
@@ -350,7 +350,7 @@ Public Class frmStartOptions
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
If von.Contains("@uta.com") Or betreff.ToLower.Contains("UTA") Then
If von.Contains("ebilling@uta.com") Then
'---------------------UTA----------------------
importFileFromUTAMailAnhang(pfad, betreff)
End If
@@ -4692,7 +4692,14 @@ Public Class frmStartOptions
Else
Dim totalPages = 1
Dim batchrequestNr = IIf(txtBatchNr.Text <> "", CInt(txtBatchNr.Text), CInt(cbxMSEBatchNr._value))
Dim batchrequestNr As Integer
If txtBatchNr.Text <> "" Then
batchrequestNr = CInt(txtBatchNr.Text)
Else
batchrequestNr = CInt(cbxMSEBatchNr._value)
End If
fehler = mse.getTransactionsFromBatchNrAndPage(token, transactions, batchrequestNr, totalPages, 0)
If fehler <> "" Then
@@ -4714,8 +4721,6 @@ Public Class frmStartOptions
End If
Next
End If
MsgBox("DONE")