MDM -> IDS, etc.

This commit is contained in:
2026-05-12 17:31:19 +02:00
parent 71bb4278eb
commit afdc1c3822
6 changed files with 547 additions and 496 deletions

View File

@@ -1,4 +1,6 @@
Imports System.Data.OleDb
Imports System.Configuration
Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.IO
Imports System.Runtime.InteropServices
Imports itextsharp.text.pdf
@@ -94,7 +96,7 @@ Public Class frmMDMDatenverarbetiung
btnDatenLaden.Text = "Daten laden"
Case "IDS" : checkImport(LIEFERANT) : initDgv_IDS()
btnDatenLaden.Text = "Daten laden"
Button1.Enabled = False
'Button1.Enabled = False
Case "MSE" : checkImport(LIEFERANT) : initDgv_MSE()
btnDatenLaden.Text = "Daten laden"
End Select
@@ -2013,36 +2015,30 @@ Public Class frmMDMDatenverarbetiung
Dim displayFilter = False
Dim sqlstr As String = ""
sqlstr &= " SELECT 'PLOSE',AdressenNr,plose_Kennzeichen,plose_DatumTransaktion,plp_Land,isnull([tblPLOSE_Produktbeschreibung].plp_Description_EN,plose_Produktbeschreibung) as plose_Produktbeschreibung ,isnull(plose_NummerKarteGeraet,plose_Kontonummer) as plose_NummerKarteGeraet ,plose_BeschreibungEinfahrt,case when plose_BeschreibungAusfahrt is null and plose_BeschreibungMautTankstelle = 'Bregana' then 'Bregana' else isnull(plose_BeschreibungAusfahrt,'') end as plose_BeschreibungAusfahrt,plose_NettobetragWaehrungAbbuchung,(plose_BruttobetragWaehrungAbbuchung-plose_NettobetragWaehrungAbbuchung) as Steuer,plose_BruttobetragWaehrungAbbuchung "
sqlstr &= " SELECT 'PLOSE' as ,AdressenNr,plose_Kennzeichen,plose_DatumTransaktion,plp_Land,isnull([tblPLOSE_Produktbeschreibung].plp_Description_EN,plose_Produktbeschreibung) as plose_Produktbeschreibung ,isnull(plose_NummerKarteGeraet,plose_Kontonummer) as plose_NummerKarteGeraet ,plose_BeschreibungEinfahrt,case when plose_BeschreibungAusfahrt is null and plose_BeschreibungMautTankstelle = 'Bregana' then 'Bregana' else isnull(plose_BeschreibungAusfahrt,'') end as plose_BeschreibungAusfahrt,plose_NettobetragWaehrungAbbuchung,(plose_BruttobetragWaehrungAbbuchung-plose_NettobetragWaehrungAbbuchung) as Steuer,plose_BruttobetragWaehrungAbbuchung "
sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode INNER JOIN Adressen on plose_POLSEKundennummer=PLOSEKundenNr and plp_LeistungsNr is not null "
sqlstr &= " WHERE 1=1 "
'sqlstr &= " AND plose_Fakturiert=0 AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plp_Land NOT IN ('AT','DE') "
sqlstr &= " AND cast(plose_FakturiertDatum as date) = '20.04.2026' AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plp_Land NOT IN ('AT','DE') "
sqlstr &= " AND plose_Fakturiert=0 AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plp_Land NOT IN ('AT','DE') "
'sqlstr &= " AND cast(plose_FakturiertDatum as date) = '06.05.2026' AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plp_Land NOT IN ('AT','DE') "
sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
sqlstr &= " order by plp_Land, plose_DatumTransaktion"
' sqlstr &= " group by plose_ProduktCode"
' MsgBox(sqlstr)
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
Dim sqlstrAT As String = ""
sqlstrAT &= " SELECT 'PLOSE',AdressenNr,plose_Kennzeichen,plose_DatumTransaktion,plp_Land,'' as plose_Produktbeschreibung ,plose_NummerKarteGeraet as plose_NummerKarteGeraet ,'' as plose_BeschreibungEinfahrt,'' as plose_BeschreibungAusfahrt,sum(plose_NettobetragWaehrungAbbuchung) as plose_NettobetragWaehrungAbbuchung,sum(plose_BruttobetragWaehrungAbbuchung-plose_NettobetragWaehrungAbbuchung) as Steuer,sum(plose_BruttobetragWaehrungAbbuchung ) as plose_BruttobetragWaehrungAbbuchung "
sqlstrAT &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode INNER JOIN Adressen on plose_POLSEKundennummer=PLOSEKundenNr and plp_LeistungsNr is not null "
sqlstrAT &= " WHERE 1=1 "
'sqlstrAT &= " AND plose_Fakturiert=0 AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plp_Land IN ('AT','DE') "
sqlstrAT &= " AND plose_Fakturiert=0 AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plp_Land IN ('AT','DE') "
sqlstr &= " AND cast(plose_FakturiertDatum as date) = '20.04.2026' AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plp_Land NOT IN ('AT','DE') "
'sqlstr &= " AND cast(plose_FakturiertDatum as date) = '06.05.2026' AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plp_Land NOT IN ('AT','DE') "
sqlstrAT &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
sqlstrAT &= " group by plp_Land, AdressenNr, plose_Kennzeichen,plose_DatumTransaktion,plose_NummerKarteGeraet"
sqlstrAT &= " order by plp_Land"
' sqlstr &= " group by plose_ProduktCode"
' MsgBox(sqlstr)
Dim dtAT As DataTable = SQL.loadDgvBySql_Param(sqlstrAT, "FMZOLL")
@@ -2057,21 +2053,6 @@ Public Class frmMDMDatenverarbetiung
End If
End If
'Dim connectionString = ""
'If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
' connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD_Test.accd"
'Else
' connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
'End If
'Dim con As New OleDbConnection(connectionString)
Dim cmd As New OleDbCommand
Dim var1 As String
Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
Dim reader As OleDbDataReader = Nothing
If dt IsNot Nothing Then
@@ -2082,34 +2063,11 @@ Public Class frmMDMDatenverarbetiung
SQL.doSQL("INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Net Amount],[VAT Amount],[Total Amount], [BillingDate]) VALUES ('" &
r(0) & "'," & r(1) & ",'" & r(2) & "','" & r(3) & "','" & r(4) & "','" & r(5).ToString.Replace("'", " ") & "','" & r(6) & "','" & r(7).ToString.Replace("'", " ") & "','" & r(8).ToString.Replace("'", " ") & "'," & CDbl(r(9)).ToString.Replace(",", ".") & "," & CDbl(r(10)).ToString.Replace(",", ".") & "," & CDbl(r(11)).ToString.Replace(",", ".") & ",'" & datPloseAnhang.Text & "')", "FMZOLL")
'Zeitstempel
'Dim SQLQuery = "INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Nett Amount],[VAT Amount],[Total Amount]) VALUES (@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10,@P11,@P12) "
'' "SELECT * FROM DBParent WHERE P_ID = " & UniqeID & ";"
'Using Command As New OleDbCommand(SQLQuery, con)
' Command.Parameters.AddWithValue("@P1", r(0))
' Command.Parameters.AddWithValue("@P2", r(1))
' Command.Parameters.AddWithValue("@P3", r(2))
' Command.Parameters.AddWithValue("@P4", r(3))
' Command.Parameters.AddWithValue("@P5", r(4))
' Command.Parameters.AddWithValue("@P6", r(5))
' Command.Parameters.AddWithValue("@P7", r(6))
' Command.Parameters.AddWithValue("@P8", r(7))
' Command.Parameters.AddWithValue("@P9", r(8))
' Command.Parameters.AddWithValue("@P10", CDbl(r(9)))
' Command.Parameters.AddWithValue("@P11", CDbl(r(10)))
' Command.Parameters.AddWithValue("@P12", CDbl(r(11)))
' If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Command.ExecuteNonQuery()
' Command.Dispose()
'End Using
Catch ex2 As System.Exception
MsgBox("err: " & ex2.Message & ex2.StackTrace)
Finally
If reader IsNot Nothing Then reader.Close()
End Try
@@ -2127,6 +2085,109 @@ Public Class frmMDMDatenverarbetiung
End Function
Function genPLOSEInsertMautD_NEW(von As Date, bis As Date) As Boolean
Try
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
pic.Visible = False
Dim SQL_String_OHNE_DE_AT = "SELECT
'PLOSE' AS Datenquelle,
AdressenNr AS [Customer No],
plose_Kennzeichen AS [Licence Plate Number],
plp_Land AS [Transaction Country],
cast(plose_DatumTransaktion as Date) AS [Transaction Date],
ISNULL(tblPLOSE_Produktbeschreibung.plp_Description_EN, plose_Produktbeschreibung) AS [Product description],
ISNULL(plose_NummerKarteGeraet, plose_Kontonummer) AS [Card number],
ISNULL(plose_BeschreibungEinfahrt, '') AS [Entry Terminal],
CASE
WHEN plose_BeschreibungAusfahrt IS NULL
AND plose_BeschreibungMautTankstelle = 'Bregana'
THEN 'Bregana'
ELSE ISNULL(plose_BeschreibungAusfahrt, '')
END AS [Exit Terminal],
plose_NettobetragWaehrungAbbuchung AS [Net Amount],
(plose_BruttobetragWaehrungAbbuchung - plose_NettobetragWaehrungAbbuchung) AS [VAT Amount],
plose_BruttobetragWaehrungAbbuchung AS [Total Amount]
FROM tblPLOSE_Details INNER JOIN tblPLOSE_Produktbeschreibung ON plose_ProduktCode = plp_ProductCode
INNER JOIN Adressen ON plose_POLSEKundennummer = PLOSEKundenNr AND plp_LeistungsNr IS NOT NULL
WHERE
plose_Fakturiert=0 AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & ") AND plp_Land NOT IN ('AT','DE') AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
Dim SQL_String_MIT_DE_AT = " SELECT 'PLOSE' AS Datenquelle,
AdressenNr AS [Customer No],
plose_Kennzeichen AS [Licence Plate Number],
plp_Land AS [Transaction Country],
cast(plose_DatumTransaktion as Date) AS [Transaction Date],
'' AS [Product description],
plose_NummerKarteGeraet AS [Card number],
'' AS [Entry Terminal],
'' AS [Exit Terminal],
SUM(plose_NettobetragWaehrungAbbuchung) AS [Net Amount],
SUM(plose_BruttobetragWaehrungAbbuchung - plose_NettobetragWaehrungAbbuchung) AS [VAT Amount],
SUM(plose_BruttobetragWaehrungAbbuchung) AS [Total Amount]
FROM tblPLOSE_Details
INNER JOIN tblPLOSE_Produktbeschreibung ON plose_ProduktCode = plp_ProductCode
INNER JOIN Adressen ON plose_POLSEKundennummer = PLOSEKundenNr AND plp_LeistungsNr IS NOT NULL
WHERE
plose_Fakturiert=0 AND plose_ProduktCode NOT IN ( " & ProduktCode_NOT_IN & ") AND plp_Land IN ('AT','DE') AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "'
GROUP BY plp_Land,AdressenNr,plose_Kennzeichen,plose_DatumTransaktion,plose_NummerKarteGeraet"
Dim sqlstr As String = "SELECT *, cast( '" & datPloseAnhang.Text & "' as date) as Billingdate FROM ( " & SQL_String_OHNE_DE_AT & " UNION ALL " & SQL_String_MIT_DE_AT & " ) AS TEMP ORDER BY TEMP.[Licence Plate Number];"
Dim updated As Boolean = False
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
If dt.Rows.Count > 0 Then
Dim InsertSatement As String = " INSERT INTO tblMautbericht
(
Datenquelle,
[Customer No],
[Licence Plate Number],
[Transaction Country],
[Transaction Date],
[Product description],
[Card Number],
[Entry Terminal],
[Exit Terminal],
[Net Amount],
[VAT Amount],
[Total Amount],
[Billingdate]
)"
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
updated = SQL.doSQL(InsertSatement & sqlstr, "FMZOLL",,,, 500)
End If
End If
pic.Visible = updated
Return updated
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return False
End Function
Function genASFINAGInsertMautAT(kdNr) As Boolean
Try
pic.Visible = False
@@ -2140,16 +2201,16 @@ Public Class frmMDMDatenverarbetiung
sqlstr = " select
'AT'
,Adressen.AdressenNr
,licenceplate
,turnoverdate
,'AT'
,contractPartner as ProductCode
,[cardnumber] as CardNumber
,[netAmount] as Netamount
,[VATamount] as VATAmount
,[totalAmount] as totalAmount
'AT' as Datenquelle
,Adressen.AdressenNr as [Customer No]
,licenceplate as [Licence Plate Number]
,'AT' as [Transaction Country]
,turnoverdate as [Transaction Date]
,contractPartner as [Product description]
,[cardnumber] as [Card Number]
,[netAmount] as [Net Amount]
,[VATamount] as [VAT Amount]
,[totalAmount] as [Total Amount]
FROM [VERAG].[dbo].[tblAsfinagMaut]
INNER JOIN [VERAG].[dbo].Kreditkarten ON cardnumber = Kreditkarten.KartenNr
INNER JOIN [VERAG].[dbo].Adressen ON Adressen.AdressenNr = Kreditkarten.AdressenNr
@@ -2159,93 +2220,40 @@ Public Class frmMDMDatenverarbetiung
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
Dim sqlstrAT As String = ""
sqlstrAT &= "select 'AT'
,Adressen.AdressenNr
,licenceplate
,turnoverdate
,'AT' as land
,'' as ProductCode
,[cardnumber] as CardNumber
,sum([netAmount]) as Netamount
,sum([VATamount]) as VATAmount
,sum([totalAmount]) as totalAmount
FROM [VERAG].[dbo].[tblAsfinagMaut]
INNER JOIN [VERAG].[dbo].Kreditkarten ON cardnumber = Kreditkarten.KartenNr
INNER JOIN [VERAG].[dbo].Adressen ON Adressen.AdressenNr = Kreditkarten.AdressenNr
WHERE 1 = 1 " & sqlWhere & "
group by Adressen.AdressenNr, licenceplate,turnoverdate,CardNumber
order by Adressen.AdressenNr"
Dim dtAT As DataTable = SQL.loadDgvBySql_Param(sqlstrAT, "FMZOLL")
'AT ---> Gruppiert
'If dtAT IsNot Nothing AndAlso dtAT.Rows.Count > 0 Then
' If dt Is Nothing OrElse dt.Rows.Count = 0 Then
' dt = dtAT
' Else
' For Each r In dtAT.Rows
' dt.Rows.Add({r(0), r(1), r(2), r(3), r(4), r(5), r(6), r(7), r(8), r(9)})
' Next
' End If
'End If
'Dim connectionString = ""
'If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
' connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD_Test.accdb"
'Else
' connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
'End If
'Dim con As New OleDbConnection(connectionString)
'Dim cmd As New OleDbCommand
'Dim var1 As String
'Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
'Dim reader As OleDbDataReader = Nothing
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
If dt IsNot Nothing Then
For Each r In dt.Rows
Try
'Zeitstempel
SQL.doSQL("INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Net Amount],[VAT Amount],[Total Amount], [BillingDate]) VALUES ('" &
r(0) & "'," & r(1) & ",'" & r(2) & "','" & r(3) & "','" & r(4) & "','" & r(5).ToString.Replace("'", " ") & "','" & r(6) & "'," & CDbl(r(7)).ToString.Replace(",", ".") & "," & CDbl(r(8)).ToString.Replace(",", ".") & "," & CDbl(r(9)).ToString.Replace(",", ".") & ",'" & datPloseAnhang.Text & "')", "FMZOLL")
Dim sqlstrBULKIMPORT As String = "SELECT *, cast( '" & datPloseAnhang.Text & "' as date) as Billingdate FROM ( " & sqlstr & " ) AS TEMP ORDER BY TEMP.[Customer No];"
Dim updated As Boolean = False
'Dim SQLQuery = "INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Nett Amount],[VAT Amount],[Total Amount]) VALUES (@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10) "
'' "SELECT * FROM DBParent WHERE P_ID = " & UniqeID & ";"
'Using Command As New OleDbCommand(SQLQuery, con)
Dim InsertSatement As String = " INSERT INTO tblMautbericht
(
Datenquelle,
[Customer No],
[Licence Plate Number],
[Transaction Country],
[Transaction Date],
[Product description],
[Card Number],
[Entry Terminal],
[Exit Terminal],
[Net Amount],
[VAT Amount],
[Total Amount],
[Billingdate]
)"
' Command.Parameters.AddWithValue("@P1", r(0))
' Command.Parameters.AddWithValue("@P2", r(1))
' Command.Parameters.AddWithValue("@P3", r(2))
' Command.Parameters.AddWithValue("@P4", r(3))
' Command.Parameters.AddWithValue("@P5", r(4))
' Command.Parameters.AddWithValue("@P6", r(5))
' Command.Parameters.AddWithValue("@P7", r(6))
' Command.Parameters.AddWithValue("@P8", CDbl(r(7)))
' Command.Parameters.AddWithValue("@P9", CDbl(r(8)))
' Command.Parameters.AddWithValue("@P10", CDbl(r(9)))
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
' If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Command.ExecuteNonQuery()
' Command.Dispose()
'End Using
updated = SQL.doSQL(InsertSatement & sqlstrBULKIMPORT, "FMZOLL",,,, 500)
Catch ex2 As System.Exception
' MsgBox("err: " & ex2.Message & ex2.StackTrace)
'Finally
' If reader IsNot Nothing Then reader.Close()
End Try
End If
Next
End If
pic.Visible = True
@@ -2271,15 +2279,16 @@ Public Class frmMDMDatenverarbetiung
End If
sqlstr = "SELECT 'UTA',qryUTA_Fakturierungspositionen.KundenNr AS [Customer No],
isnull([KFZ_Kennzeichen_komprimiert],isnull([KFZ_Kennzeichen],isnull([Prägetext_i_d_R_KFZ_Kennzeichen],''))) AS LicencePlateNumber,
sqlstr = "SELECT 'UTA' as Datenquelle,
qryUTA_Fakturierungspositionen.KundenNr AS [Customer No],
isnull([KFZ_Kennzeichen_komprimiert],isnull([KFZ_Kennzeichen],isnull([Prägetext_i_d_R_KFZ_Kennzeichen],''))) AS [Licence Plate Number],
cast([Belegdatum] as datetime) AS [Transaction Date],
qryUTA_Fakturierungspositionen.Lieferland AS [Transaction Country],
qryUTA_Fakturierungspositionen.Warenart AS [Product description],
qryUTA_Fakturierungspositionen.Kartennummer AS [Card number],
qryUTA_Fakturierungspositionen.Kartennummer AS [Card Number],
qryUTA_Fakturierungspositionen.Autobahnauffahrt AS [Entry Terminal],
qryUTA_Fakturierungspositionen.Autobahnausfahrt AS [Exit Terminal],
qryUTA_Fakturierungspositionen.Gesamtbetrag_Netto_in_Darstellwährung AS [Nett Amount],
qryUTA_Fakturierungspositionen.Gesamtbetrag_Netto_in_Darstellwährung AS [Net Amount],
qryUTA_Fakturierungspositionen.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung AS [VAT Amount],
qryUTA_Fakturierungspositionen.Gesamtbetrag_Brutto_in_Darstellwährung AS [Total Amount]
@@ -2295,67 +2304,35 @@ Public Class frmMDMDatenverarbetiung
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL", 60)
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
Dim sqlstrBULKIMPORT As String = "SELECT *, cast( '" & datPloseAnhang.Text & "' as date) as Billingdate FROM ( " & sqlstr & " ) AS TEMP ORDER BY TEMP.[Customer No];"
Dim updated As Boolean = False
Dim InsertSatement As String = " INSERT INTO tblMautbericht
(
Datenquelle,
[Customer No],
[Licence Plate Number],
[Transaction Country],
[Transaction Date],
[Product description],
[Card Number],
[Entry Terminal],
[Exit Terminal],
[Net Amount],
[VAT Amount],
[Total Amount],
[Billingdate]
)"
'Dim connectionString = ""
'If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
' connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD_Test.accdb"
'Else
' connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
'End If
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
'Dim con As New OleDbConnection(connectionString)
'Dim cmd As New OleDbCommand
'Dim var1 As String
updated = SQL.doSQL(InsertSatement & sqlstrBULKIMPORT, "FMZOLL",,,, 500)
'Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
'Dim reader As OleDbDataReader = Nothing
End If
If dt IsNot Nothing Then
'con.Open()
For Each r In dt.Rows
Try
'Zeitstempel
SQL.doSQL("INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Net Amount],[VAT Amount],[Total Amount], [BillingDate]) VALUES ('" &
r(0) & "'," & r(1) & ",'" & r(2) & "','" & r(3) & "','" & r(4) & "','" & r(5).ToString.Replace("'", " ") & "','" & r(6) & "','" & r(7).ToString.Replace("'", " ") & "','" & r(8).ToString.Replace("'", " ") & "'," & CDbl(r(9)).ToString.Replace(",", ".") & "," & CDbl(r(10)).ToString.Replace(",", ".") & "," & CDbl(r(11)).ToString.Replace(",", ".") & ",'" & datPloseAnhang.Text & "')", "FMZOLL")
'Dim SQLQuery = "INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Nett Amount],[VAT Amount],[Total Amount]) VALUES (@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10,@P11,@P12) "
'' "SELECT * FROM DBParent WHERE P_ID = " & UniqeID & ";"
'Using Command As New OleDbCommand(SQLQuery, con)
' Command.Parameters.AddWithValue("@P1", r(0))
' Command.Parameters.AddWithValue("@P2", r(1))
' Command.Parameters.AddWithValue("@P3", r(2))
' Command.Parameters.AddWithValue("@P4", r(3))
' Command.Parameters.AddWithValue("@P5", r(4))
' Command.Parameters.AddWithValue("@P6", r(5))
' Command.Parameters.AddWithValue("@P7", r(6))
' Command.Parameters.AddWithValue("@P8", r(7))
' Command.Parameters.AddWithValue("@P9", r(8))
' Command.Parameters.AddWithValue("@P10", CDbl(r(9)))
' Command.Parameters.AddWithValue("@P11", CDbl(r(10)))
' Command.Parameters.AddWithValue("@P12", CDbl(r(11)))
' If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Command.ExecuteNonQuery()
' Command.Dispose()
'End Using
Catch ex2 As System.Exception
MsgBox("err: " & ex2.Message & ex2.StackTrace)
'Finally
' If reader IsNot Nothing Then reader.Close()
End Try
Next
'con.Close()
End If
pic.Visible = True
Return True
@@ -2380,10 +2357,12 @@ Public Class frmMDMDatenverarbetiung
End If
sqlstr = " Select 'MSE',adressen.AdressenNr As [Customer No],
sqlstr = " Select 'MSE' as Datenquelle,
adressen.AdressenNr As [Customer No],
trans.license_plate_number as [Licence Plate Number],
cast(trans.[purchase_datetime] as Date) as [Transaction Date],
trans.transaction_country As [Transaction Country],trans.device_product_type As [Product description],
trans.transaction_country As [Transaction Country],
trans.device_product_type As [Product description],
trans.device_product_number as [Card Number],
trans.entry_point_name as [Entry Terminal],
trans.exit_point_name as [Exit Terminal],
@@ -2400,64 +2379,118 @@ Public Class frmMDMDatenverarbetiung
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
'Dim connectionString = ""
'If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
' connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD_Test.accdb"
'Else
' connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
'End If
'Dim con As New OleDbConnection(connectionString)
'Dim cmd As New OleDbCommand
'Dim var1 As String
'Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
'Dim reader As OleDbDataReader = Nothing
If dt IsNot Nothing Then
'con.Open()
For Each r In dt.Rows
Try
'Zeitstempel
SQL.doSQL("INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Net Amount],[VAT Amount],[Total Amount], [BillingDate]) VALUES ('" &
r(0) & "'," & r(1) & ",'" & r(2) & "','" & r(3) & "','" & r(4) & "','" & r(5).ToString.Replace("'", " ") & "','" & r(6) & "','" & r(7).ToString.Replace("'", " ") & "','" & r(8).ToString.Replace("'", " ") & "'," & CDbl(r(9)).ToString.Replace(",", ".") & "," & CDbl(r(10)).ToString.Replace(",", ".") & "," & CDbl(r(11)).ToString.Replace(",", ".") & ",'" & datPloseAnhang.Text & "')", "FMZOLL")
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
Dim sqlstrBULKIMPORT As String = "SELECT *, cast( '" & datPloseAnhang.Text & "' as date) as Billingdate FROM ( " & sqlstr & " ) AS TEMP ORDER BY TEMP.[Customer No];"
Dim updated As Boolean = False
Dim InsertSatement As String = " INSERT INTO tblMautbericht
(
Datenquelle,
[Customer No],
[Licence Plate Number],
[Transaction Country],
[Transaction Date],
[Product description],
[Card Number],
[Entry Terminal],
[Exit Terminal],
[Net Amount],
[VAT Amount],
[Total Amount],
[Billingdate]
)"
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
updated = SQL.doSQL(InsertSatement & sqlstrBULKIMPORT, "FMZOLL",,,, 500)
End If
End If
pic.Visible = True
Return True
Catch ex As System.Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return False
End Function
Function genIDSInsertMaut(kdNr, IDS) As Boolean
Try
pic.Visible = False
Dim displayFilter = False
Dim sqlstr As String = ""
Dim sqlWhere As String = ""
If kdNr <> "" Then
sqlWhere &= " AND Adressen.AdressenNr=" & kdNr
End If
Dim SQL_IDS = "SELECT 'IDS' as Datenquelle,
trans.KdNrVERAG As [Customer No],
isnull(det.LicencePlateNumber,'-') as [Licence Plate Number],
land.Lieferland_ISO2 As [Transaction Country],
det.Transactiondate as [Transaction Date] ,
'' AS [Product description],
det.CardNumber as [Card Number] ,
'' as [Entry Terminal],
'' as [Exit Terminal],
sum(det.[TotalNetAmount]) AS [Nett Amount],
sum(det.[VATAmount]) AS[VAT Amount],
sum(det.[AmminclVAT]) AS [Total Amount]
FROM [VERAG].[dbo].[tblIDSTransactionsNew_Details] as det
inner join [tblIDSTransactionsNew] as trans on det.[YearMonthDay] = trans.[YearMonthDay] and det.[CustomerCode] = trans.[CustomerCode] and det.[OutletCountryCode] = trans.[OutletCountryCode] and det.[OutletCode] = trans.[OutletCode] and det.[ProductTypeCode] = trans.[ProductTypeCode]
inner join [VERAG].[dbo].[tbl_IDS_Länder] as land on det.OutletCountryCode = land.OutletCountryCode
where cast(det.[YearMonthDay] as date) = '" & DateTimePicker2.Text & "' and trans.charged = 0
group by trans.KdNrVERAG,det.CustomerCode, det.[YearMonthDay], det.CardNumber, land.Lieferland_ISO2, det.LicencePlateNumber,det.Transactiondate "
Dim dt As DataTable = SQL.loadDgvBySql_Param(SQL_IDS, "FMZOLL")
' Dim SQLQuery = "INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Nett Amount],[VAT Amount],[Total Amount]) VALUES (@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10,@P11,@P12) "
' ' "SELECT * FROM DBParent WHERE P_ID = " & UniqeID & ";"
' Using Command As New OleDbCommand(SQLQuery, con)
' Command.Parameters.AddWithValue("@P1", r(0))
' Command.Parameters.AddWithValue("@P2", r(1))
' Command.Parameters.AddWithValue("@P3", r(2))
' Command.Parameters.AddWithValue("@P4", r(3))
' Command.Parameters.AddWithValue("@P5", r(4))
' Command.Parameters.AddWithValue("@P6", r(5))
' Command.Parameters.AddWithValue("@P7", r(6))
' Command.Parameters.AddWithValue("@P8", r(7))
' Command.Parameters.AddWithValue("@P9", r(8))
' Command.Parameters.AddWithValue("@P10", CDbl(r(9)))
' Command.Parameters.AddWithValue("@P11", CDbl(r(10)))
' Command.Parameters.AddWithValue("@P12", CDbl(r(11)))
' If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Command.ExecuteNonQuery()
' Command.Dispose()
' End Using
Catch ex2 As System.Exception
MsgBox("err: " & ex2.Message & ex2.StackTrace)
'Finally
' If reader IsNot Nothing Then reader.Close()
End Try
Next
'con.Close()
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
Dim sqlstrBULKIMPORT As String = "SELECT *, cast( '" & datPloseAnhang.Text & "' as date) as Billingdate FROM ( " & SQL_IDS & " ) AS TEMP ORDER BY TEMP.[Customer No];"
Dim updated As Boolean = False
Dim InsertSatement As String = " INSERT INTO tblMautbericht
(
Datenquelle,
[Customer No],
[Licence Plate Number],
[Transaction Country],
[Transaction Date],
[Product description],
[Card Number],
[Entry Terminal],
[Exit Terminal],
[Net Amount],
[VAT Amount],
[Total Amount],
[Billingdate]
)"
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
updated = SQL.doSQL(InsertSatement & sqlstrBULKIMPORT, "FMZOLL",,,, 500)
End If
End If
pic.Visible = True
Return True
@@ -2471,42 +2504,6 @@ Public Class frmMDMDatenverarbetiung
Function deleteMautD(Datenquelle As String) As Boolean
Try
'Dim connectionString = ""
'If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
' connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD_Test.accdb"
'Else
' connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
'End If
'Dim con As New OleDbConnection(connectionString)
'Dim cmd As New OleDbCommand
'Dim var1 As String
'Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
'Dim reader As OleDbDataReader = Nothing
'FMZOLL-Tabelle
'Try
' con.Open()
' 'Zeitstempel
' Dim SQLQuery = "DELETE FROM tblMautbericht WHERE Datenquelle='" & Datenquelle & "' "
' Using Command As New OleDbCommand(SQLQuery, con)
' If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Command.ExecuteNonQuery()
' Command.Dispose()
' End Using
'Catch ex2 As System.Exception
' MsgBox("err: " & ex2.Message & ex2.StackTrace)
' 'Finally
' ' If reader IsNot Nothing Then reader.Close()
'End Try
'con.Close()
Return SQL.doSQL("DELETE FROM tblMautbericht WHERE Datenquelle='" & Datenquelle & "' AND cast(Billingdate as Date)= '" & datPloseAnhang.Text & "'", "FMZOLL")
@@ -4766,10 +4763,12 @@ Public Class frmMDMDatenverarbetiung
Function MautD_Befuellen(Optional kdNr = "", Optional _Lieferant = "") As Boolean
Select Case LIEFERANT
Case "PLOSE" : deleteMautD("PLOSE") : Return genPLOSEInsertMautD(dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString)
Case "PLOSE" : deleteMautD("PLOSE") : Return genPLOSEInsertMautD_NEW(dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString)
Case "ASFINAG" : deleteMautD("AT") : Return genASFINAGInsertMautAT(kdNr)
Case "UTA" : deleteMautD("UTA") : Return genUTAInsertMaut(kdNr)
Case "MSE" : deleteMautD("MSE") : Return genMSEInsertMaut(kdNr)
Case "IDS" : deleteMautD("IDS") : Return genIDSInsertMaut(kdNr, LIEFERANT)
End Select
Return False
End Function
@@ -5304,7 +5303,7 @@ RabattBerechnen:
Dim idsParam As New cIDS()
idsParam.initImportPfade("IDS")
If genRGAtt_IDS(item.Name, idsParam) Then
If Not test Then
If Not test AndAlso MautD_Befuellen() Then
setFakturiert(item.Name)
End If
End If