Files
ADMIN/MDM_Worker/cPLOSE.vb
2023-01-17 21:26:54 +01:00

584 lines
40 KiB
VB.net

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
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
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
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
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
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
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
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
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
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
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
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
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
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
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
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
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
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
' 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
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
' 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)
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
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