Imports System.Data.SqlClient Imports System.Reflection Public Class cPLOSE Property plose_Id As Integer Property plose_RechnungsDatum As Object = Nothing ' VARCHAR(3) NULL, Property plose_RechnungsNr As Object = Nothing ' VARCHAR(3) NULL, Property plose_SupplierRechnungsDatum As Object = Nothing ' VARCHAR(3) NULL, Property plose_SupplierRechnungsNr As Object = Nothing ' VARCHAR(3) NULL, Property plose_RechnungsJahr As Object = Nothing ' VARCHAR(3) NULL, Property plose_Lieferant As Object = Nothing ' VARCHAR(3) NULL, Property plose_LieferantCode As Object = Nothing ' VARCHAR(3) NULL, Property plose_Dateiname As Object = Nothing ' VARCHAR(3) NULL, Property plose_Einlesedatum As Date = Now ' VARCHAR(3) NULL, Property plose_Datensatztyp As Object = Nothing ' VARCHAR(3) NULL, Property plose_KodexMautTankstelle As Object = Nothing ' VARCHAR(7) NULL, Property plose_BeschreibungMautTankstelle As Object = Nothing ' VARCHAR(12) NULL, Property plose_KodexEinfahrt As Object = Nothing ' VARCHAR(7) NULL, Property plose_BeschreibungEinfahrt As Object = Nothing ' VARCHAR(12) NULL, Property plose_KodexAusfahrt As Object = Nothing ' VARCHAR(7) NULL, Property plose_BeschreibungAusfahrt As Object = Nothing ' VARCHAR(12) NULL, Property plose_Kartenkodex As Object = Nothing ' VARCHAR(7) NULL, Property plose_Kontonummer As Object = Nothing ' VARCHAR(13) NULL, Property plose_NummerKarteGeraet As Object = Nothing ' VARCHAR(20) NULL, Property plose_Kennzeichen As Object = Nothing ' VARCHAR(10) NULL, Property plose_InterneNrFahrzeug As Object = Nothing ' VARCHAR(6) NULL, Property plose_POLSEKundennummer As Object = Nothing ' VARCHAR(6) NULL, Property plose_Firmenname As Object = Nothing ' VARCHAR(35) NULL, Property plose_DatumTransaktion As Object = Nothing ' VARCHAR(8) NULL, Property plose_Produktbeschreibung As Object = Nothing ' VARCHAR(15) NULL, Property plose_Menge As Object = Nothing ' Decimal (9, 2) NULL, Property plose_Preis As Object = Nothing ' Decimal (9, 3) NULL, Property Einheitsrabatt As Object = Nothing ' VARCHAR(8) NULL, Property plose_NettobetragTransaktion As Object = Nothing ' Decimal (12, 2) NULL, Property plose_MWSTBetrag As Object = Nothing ' Decimal (12, 2) NULL, Property plose_BruttobetragTransaktion As Object = Nothing ' Decimal (12, 2) NULL, Property plose_NettobetragWaehrungAbbuchung As Object = Nothing ' Decimal (12, 2) NULL, Property plose_MWSTBetragWaehrungAbbuchung As Object = Nothing ' Decimal (12, 2) NULL, Property plose_BruttobetragWaehrungAbbuchung As Object = Nothing ' Decimal (12, 2) NULL, Property plose_WaehrungLandDiesntleistung As Object = Nothing ' VARCHAR(3) NULL, Property plose_WaehrungAbbuchung As Object = Nothing ' VARCHAR(3) NULL, Property plose_DokumentNrQuittungUhrzeit As Object = Nothing ' VARCHAR(7) NULL, Property plose_ArtTransaktion As Object = Nothing ' VARCHAR(1) NULL, Property plose_Fahrzeugklasse As Object = Nothing ' VARCHAR(2) NULL, Property plose_KlassenidentifikationEURO As Object = Nothing Property plose_ProduktbeschreibungShort As Object = Nothing Property plose_TransaktionUhrzeit As Object = Nothing Property plose_Geraetetyp As Object = Nothing Property plose_ProduktCode As Object = Nothing Property plose_ReferenzenBuchungMaut As Object = Nothing Property plose_Fakturiert As Boolean = False Property plose_FakturiertDatum As Object = Nothing Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Sub New() End Sub Sub New(plose_id) Me.plose_Id = plose_id LOAD() End Sub Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_id", plose_Id, , True, True)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_RechnungsDatum", plose_RechnungsDatum)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_RechnungsJahr", plose_RechnungsJahr)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_SupplierRechnungsDatum", plose_SupplierRechnungsDatum)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_SupplierRechnungsNr", plose_SupplierRechnungsNr)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_RechnungsNr", plose_RechnungsNr)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Lieferant", plose_Lieferant)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_LieferantCode", plose_LieferantCode)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Dateiname", plose_Dateiname)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Einlesedatum", plose_Einlesedatum)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Datensatztyp", plose_Datensatztyp)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_KodexMautTankstelle", plose_KodexMautTankstelle)) ' VARCHAR(7) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_BeschreibungMautTankstelle", plose_BeschreibungMautTankstelle)) ' VARCHAR(12) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_KodexEinfahrt", plose_KodexEinfahrt)) ' VARCHAR(7) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_BeschreibungEinfahrt", plose_BeschreibungEinfahrt)) ' VARCHAR(12) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_KodexAusfahrt", plose_KodexAusfahrt)) ' VARCHAR(7) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_BeschreibungAusfahrt", plose_BeschreibungAusfahrt)) ' VARCHAR(12) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Kartenkodex", plose_Kartenkodex)) ' VARCHAR(7) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Kontonummer", plose_Kontonummer)) ' VARCHAR(13) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_NummerKarteGeraet", plose_NummerKarteGeraet)) ' VARCHAR(20) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Kennzeichen", plose_Kennzeichen)) ' VARCHAR(10) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_InterneNrFahrzeug", plose_InterneNrFahrzeug)) ' VARCHAR(6) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_POLSEKundennummer", plose_POLSEKundennummer)) ' VARCHAR(6) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Firmenname", plose_Firmenname)) ' VARCHAR(35) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_DatumTransaktion", plose_DatumTransaktion)) ' VARCHAR(8) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Produktbeschreibung", plose_Produktbeschreibung)) ' VARCHAR(15) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Menge", plose_Menge)) ' Decimal (9, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Preis", plose_Preis)) ' Decimal (9, 3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Einheitsrabatt", Einheitsrabatt)) ' VARCHAR(8) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_NettobetragTransaktion", plose_NettobetragTransaktion)) ' Decimal (12, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_MWSTBetrag", plose_MWSTBetrag)) ' Decimal (12, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_BruttobetragTransaktion", plose_BruttobetragTransaktion)) ' Decimal (12, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_NettobetragWaehrungAbbuchung", plose_NettobetragWaehrungAbbuchung)) ' Decimal (12, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_MWSTBetragWaehrungAbbuchung", plose_MWSTBetragWaehrungAbbuchung)) ' Decimal (12, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_BruttobetragWaehrungAbbuchung", plose_BruttobetragWaehrungAbbuchung)) ' Decimal (12, 2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_WaehrungLandDiesntleistung", plose_WaehrungLandDiesntleistung)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_WaehrungAbbuchung", plose_WaehrungAbbuchung)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_DokumentNrQuittungUhrzeit", plose_DokumentNrQuittungUhrzeit)) ' VARCHAR(7) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_ArtTransaktion", plose_ArtTransaktion)) ' VARCHAR(1) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Fahrzeugklasse", plose_Fahrzeugklasse)) ' VARCHAR(2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_KlassenidentifikationEURO", plose_KlassenidentifikationEURO)) ' VARCHAR(2) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_ProduktbeschreibungShort", plose_ProduktbeschreibungShort)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_TransaktionUhrzeit", plose_TransaktionUhrzeit)) ' VARCHAR(4) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Geraetetyp", plose_Geraetetyp)) ' VARCHAR(3) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_ProduktCode", plose_ProduktCode)) ' VARCHAR(6) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_ReferenzenBuchungMaut", plose_ReferenzenBuchungMaut)) ' VARCHAR(33) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_Fakturiert", plose_Fakturiert)) ' VARCHAR(6) NULL, list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_FakturiertDatum", plose_FakturiertDatum)) ' VARCHAR(6) NULL, Return list End Function Public Function SAVE() As Boolean Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblPLOSE_Details WITH(updlock,serializable) WHERE plose_id=@plose_id) " & " BEGIN " & getUpdateCmd() & " End " & " Else " & " BEGIN " & getInsertCmd() & " End " & " commit tran " plose_Id = SQL.doSQLVarListID(plose_Id, sqlstr, "FMZOLL", , list) Return plose_Id > 0 End Function Public Sub LOAD() Try Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using cmd As New SqlCommand("Select * FROM tblPLOSE_Details WHERE plose_id=@plose_id ", conn) cmd.Parameters.AddWithValue("@plose_id", plose_Id) Dim dr = cmd.ExecuteReader() If dr.Read Then For Each l In getParameterList() Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable) If dr.Item(l.Text) Is DBNull.Value Then propInfo.SetValue(Me, Nothing) Else propInfo.SetValue(Me, dr.Item(l.Text)) End If Next End If dr.Close() End Using End Using Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try End Sub Shared Sub UPDATE_RGDatum(plose_RechnungsDatum As Date, plose_RechnungsNr As Integer, plose_POLSEKundennummer As Integer) Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL SQL.doSQL("UPDATE tblPLOSE_Details SET plose_RechnungsDatum='" & plose_RechnungsDatum.ToShortDateString & "' WHERE plose_RechnungsNr='" & plose_RechnungsNr & "' AND plose_POLSEKundennummer='" & plose_POLSEKundennummer & "' ", "FMZOLL") Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try End Sub Shared Sub UPDATE_Lieferant(plose_Lieferant As Date, plose_RechnungsNr As Integer, plose_POLSEKundennummer As Integer) Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL SQL.doSQL("UPDATE tblPLOSE_Details SET plose_Lieferant='" & plose_Lieferant & "' WHERE plose_RechnungsNr='" & plose_RechnungsNr & "' AND plose_POLSEKundennummer='" & plose_POLSEKundennummer & "' ", "FMZOLL") Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try End Sub Public Function getUpdateCmd() As String Try Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() Dim str As String = "" For Each i In list If Not i.isPrimaryParam Then str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," End If Next str = str.Substring(0, str.Length - 1) 'wg. ',' Return (" UPDATE [tblPLOSE_Details] SET " & str & " WHERE plose_id=@plose_id ") Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try Return "" End Function Public Function getInsertCmd() As String Try Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList() Dim str As String = "" Dim values As String = "" For Each i In list If Not i.isPrimaryParam Then str &= "[" & i.Text & "]," values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & "," End If Next str = str.Substring(0, str.Length - 1) 'wg. ',' values = values.Substring(0, values.Length - 1) 'wg. ',' Return (" INSERT INTO tblPLOSE_Details (" & str & ") VALUES(" & values & ") ") Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try Return "" End Function Public Function DELETE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean Dim sqlstr = " DELETE FROM [tblPLOSE_Details] WITH(updlock,serializable) WHERE plose_id=" & Me.plose_Id Return SQL.doSQL(sqlstr, "FMZOLL") End Function Public Shared Function GET_Antraege(von As Date, bis As Date, KundenNr As Integer, Land As String, Optional Archiv As Object = Nothing) As List(Of cPLOSE_USTV_ANTR) Dim LIST As New List(Of cPLOSE_USTV_ANTR) GET_Antraege_PLOSE(LIST, von, bis, KundenNr, Land, Archiv) GET_Antraege_ByLieferantCode(LIST, "'90'", von, bis, KundenNr, Land, Archiv) 'SOFICO GET_Antraege_ByLieferantCodeNULL(LIST, von, bis, KundenNr, Land, Archiv) 'SOFICO cPLOSE_USTV_ANTR.reOrderList(LIST) Return LIST End Function Public Shared Function GET_Antraege_ByLieferantCode(ByRef LIST As List(Of cPLOSE_USTV_ANTR), LieferantCode As String, von As Date, bis As Date, KundenNr As Integer, Land As String, Optional Archiv As Object = Nothing) As Boolean Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using cmd As New SqlCommand("SELECT [plose_SupplierRechnungsDatum],[plose_SupplierRechnungsNr],[plose_Lieferant],[plose_LieferantCode],sum([plose_NettobetragWaehrungAbbuchung])[plose_NettobetragWaehrungAbbuchung],sum([plose_MWSTBetragWaehrungAbbuchung])[plose_MWSTBetragWaehrungAbbuchung] ,sum([plose_BruttobetragWaehrungAbbuchung] )[plose_BruttobetragWaehrungAbbuchung], [plose_WaehrungAbbuchung] ,sum([plose_NettobetragTransaktion])[plose_NettobetragTransaktion],sum([plose_MWSTBetrag])[plose_MWSTBetrag] ,sum([plose_BruttobetragTransaktion] )[plose_BruttobetragTransaktion] FROM [tblPLOSE_Details] INNER JOIN Adressen on PLOSEKundenNr=plose_POLSEKundennummer INNER JOIN [tblPLOSE_Produktbeschreibung] ON [plp_ProductCode]=[plose_ProduktCode] where cast(plose_SupplierRechnungsDatum as date) between @von and @bis and AdressenNr=@AdressenNr AND plose_LieferantCode IN (" & LieferantCode & ") AND plp_Land ='" & Land & "' /* " & If(Archiv IsNot Nothing, " AND plose_Archiv=@Archiv ", "") & "*/ group by [plose_SupplierRechnungsDatum],[plose_SupplierRechnungsNr],[plose_LieferantCode],[plose_Lieferant],[plose_WaehrungAbbuchung] having sum(plose_MWSTBetrag)>0 order by plose_SupplierRechnungsDatum ", conn) cmd.Parameters.AddWithValue("@von", von) cmd.Parameters.AddWithValue("@bis", bis) cmd.Parameters.AddWithValue("@AdressenNr", KundenNr) If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) Dim dr = cmd.ExecuteReader() While dr.Read Dim cPLOSE_USTV_ANT As New cPLOSE_USTV_ANTR cPLOSE_USTV_ANT.plose_RechnungsDatum = dr.Item("plose_SupplierRechnungsDatum") cPLOSE_USTV_ANT.plose_RechnungsNr = dr.Item("plose_SupplierRechnungsNr") cPLOSE_USTV_ANT.plose_Lieferant = dr.Item("plose_Lieferant") cPLOSE_USTV_ANT.plose_LieferantCode = dr.Item("plose_LieferantCode") cPLOSE_USTV_ANT.plose_NettobetragTransaktion = dr.Item("plose_NettobetragTransaktion") cPLOSE_USTV_ANT.plose_MWSTBetrag = dr.Item("plose_MWSTBetrag") cPLOSE_USTV_ANT.plose_BruttobetragTransaktion = dr.Item("plose_BruttobetragTransaktion") cPLOSE_USTV_ANT.plose_NettobetragWaehrungAbbuchung = dr.Item("plose_NettobetragWaehrungAbbuchung") cPLOSE_USTV_ANT.plose_MWSTBetragWaehrungAbbuchung = dr.Item("plose_MWSTBetragWaehrungAbbuchung") cPLOSE_USTV_ANT.plose_BruttobetragWaehrungAbbuchung = dr.Item("plose_BruttobetragWaehrungAbbuchung") cPLOSE_USTV_ANT.plose_WaehrungAbbuchung = dr.Item("plose_WaehrungAbbuchung") LIST.Add(cPLOSE_USTV_ANT) End While dr.Close() End Using End Using Return True Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try Return False End Function Public Shared Function GET_Antraege_ByLieferantCodeNULL(ByRef LIST As List(Of cPLOSE_USTV_ANTR), von As Date, bis As Date, KundenNr As Integer, Land As String, Optional Archiv As Object = Nothing) As Boolean Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using cmd As New SqlCommand("SELECT [plose_SupplierRechnungsDatum],[plose_SupplierRechnungsNr],[plose_Lieferant],[plose_LieferantCode],sum([plose_NettobetragWaehrungAbbuchung])[plose_NettobetragWaehrungAbbuchung],sum([plose_MWSTBetragWaehrungAbbuchung])[plose_MWSTBetragWaehrungAbbuchung] ,sum([plose_BruttobetragWaehrungAbbuchung] )[plose_BruttobetragWaehrungAbbuchung], [plose_WaehrungAbbuchung] ,sum([plose_NettobetragTransaktion])[plose_NettobetragTransaktion],sum([plose_MWSTBetrag])[plose_MWSTBetrag] ,sum([plose_BruttobetragTransaktion] )[plose_BruttobetragTransaktion] FROM [tblPLOSE_Details] INNER JOIN Adressen on PLOSEKundenNr=plose_POLSEKundennummer INNER JOIN [tblPLOSE_Produktbeschreibung] ON [plp_ProductCode]=[plose_ProduktCode] where cast(plose_SupplierRechnungsDatum as date) between @von and @bis and AdressenNr=@AdressenNr AND plose_LieferantCode is null AND plp_Land ='" & Land & "' /* " & If(Archiv IsNot Nothing, " AND plose_Archiv=@Archiv ", "") & "*/ group by [plose_SupplierRechnungsDatum],[plose_SupplierRechnungsNr],[plose_LieferantCode],[plose_Lieferant],[plose_WaehrungAbbuchung] having sum(plose_MWSTBetrag)>0 order by plose_SupplierRechnungsDatum ", conn) cmd.Parameters.AddWithValue("@von", von) cmd.Parameters.AddWithValue("@bis", bis) cmd.Parameters.AddWithValue("@AdressenNr", KundenNr) If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) Dim dr = cmd.ExecuteReader() While dr.Read Dim cPLOSE_USTV_ANT As New cPLOSE_USTV_ANTR cPLOSE_USTV_ANT.plose_RechnungsDatum = dr.Item("plose_SupplierRechnungsDatum") cPLOSE_USTV_ANT.plose_RechnungsNr = dr.Item("plose_SupplierRechnungsNr") cPLOSE_USTV_ANT.plose_Lieferant = dr.Item("plose_Lieferant") cPLOSE_USTV_ANT.plose_LieferantCode = dr.Item("plose_LieferantCode") cPLOSE_USTV_ANT.plose_NettobetragTransaktion = dr.Item("plose_NettobetragTransaktion") cPLOSE_USTV_ANT.plose_MWSTBetrag = dr.Item("plose_MWSTBetrag") cPLOSE_USTV_ANT.plose_BruttobetragTransaktion = dr.Item("plose_BruttobetragTransaktion") cPLOSE_USTV_ANT.plose_NettobetragWaehrungAbbuchung = dr.Item("plose_NettobetragWaehrungAbbuchung") cPLOSE_USTV_ANT.plose_MWSTBetragWaehrungAbbuchung = dr.Item("plose_MWSTBetragWaehrungAbbuchung") cPLOSE_USTV_ANT.plose_BruttobetragWaehrungAbbuchung = dr.Item("plose_BruttobetragWaehrungAbbuchung") cPLOSE_USTV_ANT.plose_WaehrungAbbuchung = dr.Item("plose_WaehrungAbbuchung") LIST.Add(cPLOSE_USTV_ANT) End While dr.Close() End Using End Using Return True Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try Return False End Function Public Shared Function getWhereDblEntry() As String Return " AND (SELECT count(*) FROM [tblUStVAntrag] as ANTRAG2 inner join [tblUStVPositionen] as POS2 on ANTRAG2.UStVAn_ID= POS2.UStVAn_ID WHERE POS2.UStVPo_SchnittstellenNr=6 AND [plose_RechnungsNr] = POS2.UStVPo_ReNr AND [plose_RechnungsDatum]=POS2.UStVPo_ReDat ) = 0 " End Function Public Shared Function GET_Antraege_PLOSE(ByRef LIST As List(Of cPLOSE_USTV_ANTR), von As Date, bis As Date, KundenNr As Integer, Land As String, Optional Archiv As Object = Nothing) As Boolean Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using cmd As New SqlCommand("SELECT [plose_RechnungsDatum],[plose_RechnungsNr],[plose_Lieferant],[plose_LieferantCode],sum([plose_NettobetragWaehrungAbbuchung])[plose_NettobetragWaehrungAbbuchung],sum([plose_MWSTBetragWaehrungAbbuchung])[plose_MWSTBetragWaehrungAbbuchung] ,sum([plose_BruttobetragWaehrungAbbuchung] )[plose_BruttobetragWaehrungAbbuchung], [plose_WaehrungAbbuchung] ,sum([plose_NettobetragTransaktion])[plose_NettobetragTransaktion],sum([plose_MWSTBetrag])[plose_MWSTBetrag] ,sum([plose_BruttobetragTransaktion] )[plose_BruttobetragTransaktion] FROM [tblPLOSE_Details] INNER JOIN Adressen on PLOSEKundenNr=plose_POLSEKundennummer INNER JOIN [tblPLOSE_Produktbeschreibung] ON [plp_ProductCode]=[plose_ProduktCode] where cast(plose_RechnungsDatum as date) between @von and @bis and AdressenNr=@AdressenNr AND plose_LieferantCode IN (0,1,7,9) AND plp_Land ='" & Land & "' /* " & If(Archiv IsNot Nothing, " AND plose_Archiv=@Archiv ", "") & "*/ group by [plose_RechnungsDatum],[plose_RechnungsNr],[plose_LieferantCode],[plose_Lieferant],[plose_WaehrungAbbuchung] having sum(plose_MWSTBetrag)>0 order by plose_RechnungsDatum ", conn) cmd.Parameters.AddWithValue("@von", von) cmd.Parameters.AddWithValue("@bis", bis) cmd.Parameters.AddWithValue("@AdressenNr", KundenNr) If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) Dim dr = cmd.ExecuteReader() While dr.Read Dim cPLOSE_USTV_ANT As New cPLOSE_USTV_ANTR cPLOSE_USTV_ANT.plose_RechnungsDatum = dr.Item("plose_RechnungsDatum") cPLOSE_USTV_ANT.plose_RechnungsNr = dr.Item("plose_RechnungsNr") cPLOSE_USTV_ANT.plose_Lieferant = dr.Item("plose_Lieferant") cPLOSE_USTV_ANT.plose_LieferantCode = dr.Item("plose_LieferantCode") cPLOSE_USTV_ANT.plose_NettobetragTransaktion = dr.Item("plose_NettobetragTransaktion") cPLOSE_USTV_ANT.plose_MWSTBetrag = dr.Item("plose_MWSTBetrag") cPLOSE_USTV_ANT.plose_BruttobetragTransaktion = dr.Item("plose_BruttobetragTransaktion") cPLOSE_USTV_ANT.plose_NettobetragWaehrungAbbuchung = dr.Item("plose_NettobetragWaehrungAbbuchung") cPLOSE_USTV_ANT.plose_MWSTBetragWaehrungAbbuchung = dr.Item("plose_MWSTBetragWaehrungAbbuchung") cPLOSE_USTV_ANT.plose_BruttobetragWaehrungAbbuchung = dr.Item("plose_BruttobetragWaehrungAbbuchung") cPLOSE_USTV_ANT.plose_WaehrungAbbuchung = dr.Item("plose_WaehrungAbbuchung") LIST.Add(cPLOSE_USTV_ANT) End While dr.Close() End Using End Using Return True Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try Return False End Function 'Public Shared Function GET_Antraege_PLOSE(ByRef LIST As List(Of cPLOSE_USTV_ANTR), von As Date, bis As Date, KundenNr As Integer, Land As String, Optional Archiv As Object = Nothing) As Boolean ' Try ' Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL ' Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() ' Using cmd As New SqlCommand("SELECT [plose_RechnungsDatum],[plose_RechnungsNr],[plose_Lieferant],[plose_LieferantCode],sum([plose_NettobetragWaehrungAbbuchung])[plose_NettobetragWaehrungAbbuchung],sum([plose_MWSTBetragWaehrungAbbuchung])[plose_MWSTBetragWaehrungAbbuchung] ,sum([plose_BruttobetragWaehrungAbbuchung] )[plose_BruttobetragWaehrungAbbuchung], [plose_WaehrungAbbuchung] ' ,sum([plose_NettobetragTransaktion])[plose_NettobetragTransaktion],sum([plose_MWSTBetrag])[plose_MWSTBetrag] ,sum([plose_BruttobetragTransaktion] )[plose_BruttobetragTransaktion] ' FROM [tblPLOSE_Details] ' INNER JOIN Adressen on PLOSEKundenNr=plose_POLSEKundennummer ' INNER JOIN [tblPLOSE_Produktbeschreibung] ON [plp_ProductCode]=[plose_ProduktCode] ' where cast(plose_RechnungsDatum as date) between @von and @bis and AdressenNr=@AdressenNr ' AND plose_LieferantCode IN (0,1,7) ' AND plp_Land ='" & Land & "' ' /* " & If(Archiv IsNot Nothing, " AND plose_Archiv=@Archiv ", "") & "*/ ' group by [plose_RechnungsDatum],[plose_RechnungsNr],[plose_LieferantCode],[plose_Lieferant],[plose_WaehrungAbbuchung] ' having sum(plose_MWSTBetrag)>0 ' order by plose_RechnungsDatum ' ", conn) ' cmd.Parameters.AddWithValue("@von", von) ' cmd.Parameters.AddWithValue("@bis", bis) ' cmd.Parameters.AddWithValue("@AdressenNr", KundenNr) ' If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) ' Dim dr = cmd.ExecuteReader() ' While dr.Read ' Dim cPLOSE_USTV_ANT As New cPLOSE_USTV_ANTR ' cPLOSE_USTV_ANT.plose_RechnungsDatum = dr.Item("plose_RechnungsDatum") ' cPLOSE_USTV_ANT.plose_RechnungsNr = dr.Item("plose_RechnungsNr") ' cPLOSE_USTV_ANT.plose_Lieferant = dr.Item("plose_Lieferant") ' cPLOSE_USTV_ANT.plose_LieferantCode = dr.Item("plose_LieferantCode") ' cPLOSE_USTV_ANT.plose_NettobetragTransaktion = dr.Item("plose_NettobetragTransaktion") ' cPLOSE_USTV_ANT.plose_MWSTBetrag = dr.Item("plose_MWSTBetrag") ' cPLOSE_USTV_ANT.plose_BruttobetragTransaktion = dr.Item("plose_BruttobetragTransaktion") ' cPLOSE_USTV_ANT.plose_NettobetragWaehrungAbbuchung = dr.Item("plose_NettobetragWaehrungAbbuchung") ' cPLOSE_USTV_ANT.plose_MWSTBetragWaehrungAbbuchung = dr.Item("plose_MWSTBetragWaehrungAbbuchung") ' cPLOSE_USTV_ANT.plose_BruttobetragWaehrungAbbuchung = dr.Item("plose_BruttobetragWaehrungAbbuchung") ' cPLOSE_USTV_ANT.plose_WaehrungAbbuchung = dr.Item("plose_WaehrungAbbuchung") ' LIST.Add(cPLOSE_USTV_ANT) ' End While ' dr.Close() ' End Using ' End Using ' Return True ' Catch ex As Exception ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) ' End Try ' Return False 'End Function 'Public Shared Function GET_Antraege(von As Date, bis As Date, KundenNr As Integer, Optional Archiv As Object = Nothing) As List(Of cPLOSE_USTV_ANTR) ' Try ' Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL ' Dim LIST As New List(Of cPLOSE_USTV_ANTR) ' Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() ' Using cmd As New SqlCommand("SELECT [plose_RechnungsDatum],[plose_RechnungsNr],[plose_Lieferant],[plose_LieferantCode],sum([plose_NettobetragWaehrungAbbuchung])[plose_NettobetragWaehrungAbbuchung],sum([plose_MWSTBetragWaehrungAbbuchung])[plose_MWSTBetragWaehrungAbbuchung] ,sum([plose_BruttobetragWaehrungAbbuchung] )[plose_BruttobetragWaehrungAbbuchung], [plose_WaehrungAbbuchung] ' ,sum([plose_NettobetragTransaktion])[plose_NettobetragTransaktion],sum([plose_MWSTBetrag])[plose_MWSTBetrag] ,sum([plose_BruttobetragTransaktion] )[plose_BruttobetragTransaktion] ' FROM [tblPLOSE_Details] INNER JOIN Adressen on PLOSEKundenNr=plose_POLSEKundennummer ' where cast(plose_RechnungsDatum as date) between @von and @bis and AdressenNr=@AdressenNr ' " & If(Archiv IsNot Nothing, " AND plose_Archiv=@Archiv ", "") & " ' group by [plose_RechnungsDatum],[plose_RechnungsNr],[plose_LieferantCode],[plose_Lieferant],[plose_WaehrungAbbuchung] ' having sum(plose_MWSTBetrag)>0 ' ", conn) ' cmd.Parameters.AddWithValue("@von", von) ' cmd.Parameters.AddWithValue("@bis", bis) ' cmd.Parameters.AddWithValue("@AdressenNr", KundenNr) ' If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0)) ' Dim dr = cmd.ExecuteReader() ' While dr.Read ' Dim cPLOSE_USTV_ANT As New cPLOSE_USTV_ANTR ' cPLOSE_USTV_ANT.plose_RechnungsDatum = dr.Item("plose_RechnungsDatum") ' cPLOSE_USTV_ANT.plose_RechnungsNr = dr.Item("plose_RechnungsNr") ' cPLOSE_USTV_ANT.plose_Lieferant = dr.Item("plose_Lieferant") ' cPLOSE_USTV_ANT.plose_LieferantCode = dr.Item("plose_LieferantCode") ' cPLOSE_USTV_ANT.plose_NettobetragTransaktion = dr.Item("plose_NettobetragTransaktion") ' cPLOSE_USTV_ANT.plose_MWSTBetrag = dr.Item("plose_MWSTBetrag") ' cPLOSE_USTV_ANT.plose_BruttobetragTransaktion = dr.Item("plose_BruttobetragTransaktion") ' cPLOSE_USTV_ANT.plose_NettobetragWaehrungAbbuchung = dr.Item("plose_NettobetragWaehrungAbbuchung") ' cPLOSE_USTV_ANT.plose_MWSTBetragWaehrungAbbuchung = dr.Item("plose_MWSTBetragWaehrungAbbuchung") ' cPLOSE_USTV_ANT.plose_BruttobetragWaehrungAbbuchung = dr.Item("plose_BruttobetragWaehrungAbbuchung") ' cPLOSE_USTV_ANT.plose_WaehrungAbbuchung = dr.Item("plose_WaehrungAbbuchung") ' LIST.Add(cPLOSE_USTV_ANT) ' End While ' dr.Close() ' End Using ' End Using ' Return LIST ' Catch ex As Exception ' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) ' End Try ' Return Nothing 'End Function Public Shared Function UPDATE_ARCHIV(von As Date, bis As Date, KundenNr As Integer) As Boolean Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("von", von)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bis", bis)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr)) Return SQL.doSQLVarList(" UPDATE [tblPLOSE_Details] set plose_Archiv=1, [plose_ArchiviertDatum]=GETDATE() FROM [tblPLOSE_Details] INNER JOIN Adressen on PLOSEKundenNr=plose_POLSEKundennummer INNER JOIN [tblPLOSE_Produktbeschreibung] ON [plp_ProductCode]=[plose_ProduktCode] WHERE cast(plose_RechnungsDatum as date) between @von and @bis and AdressenNr=@KundenNr AND plose_LieferantCode IN (0,1,7) --AND plp_Land ='IT' ", "FMZOLL",, list) 'warum nur IT??? Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try Return "" End Function End Class Public Class cPLOSE_USTV_ANTR Property plose_RechnungsDatum As Object = Nothing ' VARCHAR(3) NULL, Property plose_RechnungsNr As Object = Nothing ' VARCHAR(3) NULL, Property plose_Lieferant As Object = Nothing ' VARCHAR(3) NULL, Property plose_LieferantCode As Object = Nothing ' VARCHAR(3) NULL, Property plose_NettobetragWaehrungAbbuchung As Object = Nothing ' Decimal (12, 2) NULL, Property plose_MWSTBetragWaehrungAbbuchung As Object = Nothing ' Decimal (12, 2) NULL, Property plose_BruttobetragWaehrungAbbuchung As Object = Nothing ' Decimal (12, 2) NULL, Property plose_WaehrungAbbuchung As Object = Nothing ' VARCHAR(3) NULL, Property plose_NettobetragTransaktion As Object = Nothing ' Decimal (12, 2) NULL, Property plose_MWSTBetrag As Object = Nothing ' Decimal (12, 2) NULL, Property plose_BruttobetragTransaktion As Object = Nothing ' Decimal (12, 2) NULL, Public Shared Sub reOrderList(ByRef LIST As List(Of cPLOSE_USTV_ANTR)) LIST.Sort(Function(x, y) x.plose_RechnungsDatum.CompareTo(y.plose_RechnungsDatum)) End Sub End Class