This commit is contained in:
2020-03-12 14:49:31 +01:00
parent f4c1a74870
commit cc28d5a6cf
197 changed files with 37402 additions and 4503 deletions

View File

@@ -859,6 +859,7 @@ Public Class cAviso
Property Frächter As String
Property Frächter_KdNr As String = ""
Property letzterMitarbeiter As String
Property LetzterMitarbeiterId As Object = Nothing
Property Ankunft As Date
Property Freigabe As Date
Property Vorbereitet As Date
@@ -896,6 +897,12 @@ Public Class cAviso
Property Freigabe_Info As String = ""
Property KdAuftragsNr_Avisierer As Object = Nothing
Property KdAuftragsNr_Frachtfuehrer As Object = Nothing
Property FreigabeFiliale As Object = Nothing
Property VoraussichtlichesEintreffen As Object = Nothing
Shared Function getAvisoById(hID, Optional hSQL = "") As cAviso
Dim AVISODAL As New cAvisoDAL
@@ -920,6 +927,10 @@ Public Class cAviso
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
SQL.doSQL("UPDATE AVISO SET Freigabe_Info='" & Freigabe_Info & "' WHERE AvisoId=" & AvisoID, "AVISO")
End Sub
End Class
Public Class cDruckAviso
@@ -1003,9 +1014,15 @@ Public Class cAvisoDAL
daten.FahrerHandy = VarToStr(dr.Item("FahrerHandy"))
daten.LKW_Nationalitaet = VarToStr(dr.Item("LKW_Nationalitaet"))
daten.DakosyRef = VarToStr(dr.Item("DakosyRef"))
daten.LetzterMitarbeiterId = If(dr.Item("letzterMitarbeiterid") Is DBNull.Value, Nothing, dr.Item("letzterMitarbeiterid"))
daten.TeamId = If(dr.Item("TeamId") Is DBNull.Value, Nothing, dr.Item("TeamId"))
daten.Cluster = If(dr.Item("Cluster") Is DBNull.Value, Nothing, dr.Item("Cluster"))
daten.Freigabe_Info = VarToStr(dr.Item("Freigabe_Info"))
daten.KdAuftragsNr_Frachtfuehrer = If(dr.Item("KdAuftragsNr_Frachtfuehrer") Is DBNull.Value, Nothing, dr.Item("KdAuftragsNr_Frachtfuehrer"))
daten.KdAuftragsNr_Avisierer = If(dr.Item("KdAuftragsNr_Avisierer") Is DBNull.Value, Nothing, dr.Item("KdAuftragsNr_Avisierer"))
daten.FreigabeFiliale = If(dr.Item("FreigabeFiliale") Is DBNull.Value, Nothing, dr.Item("FreigabeFiliale"))
daten.VoraussichtlichesEintreffen = If(dr.Item("VoraussichtlichesEintreffen") Is DBNull.Value, Nothing, dr.Item("VoraussichtlichesEintreffen"))
End If
@@ -1263,7 +1280,7 @@ Public Class cAvisoDAL
conn.Close()
End Sub
Public Function SpeichernAviso(ByVal d As cAviso) As Integer
Public Function SpeichernAviso(ByVal d As cAviso, Optional letzerMaIdAuto As Boolean = True) As Integer
Dim hAuswahl As String
Dim id As Integer = -1
If d.AvisoID <= 0 Then
@@ -1271,17 +1288,17 @@ Public Class cAvisoDAL
hAuswahl = "INSERT INTO Aviso " &
"(Datum, LKW_Nr, Telefonisch, Änderungen, Info, Status, Auftraggeber, Frächter, letzterMitarbeiter, " &
"Vorbereitet,Vorgeschrieben, Ankunft, Freigabe, Dauer, AvisoEingang, Grenzstelle, LKW_fertig,letzterMitarbeiterId,Handling,Sendungen_Gesamtanzahl,Sammelakt,Frächter_KdNr,Auftraggeber_KdNr,AvisoTVHinweis,Buero,Imex,Abgeschlossen,FIRMA, " &
" Durchgangszollstelle1,Durchgangszollstelle2,Durchgangszollstelle3,Durchgangszollstelle4,Durchgangszollstelle5,Durchgangszollstelle6,Ausgangszollstelle,Zollstelle,TransportTemperatur,Zugmaschine,FahrerHandy,LKW_Nationalitaet,DakosyRef,TeamId,Cluster,Freigabe_Info) VALUES (" &
" Durchgangszollstelle1,Durchgangszollstelle2,Durchgangszollstelle3,Durchgangszollstelle4,Durchgangszollstelle5,Durchgangszollstelle6,Ausgangszollstelle,Zollstelle,TransportTemperatur,Zugmaschine,FahrerHandy,LKW_Nationalitaet,DakosyRef,TeamId,Cluster,Freigabe_Info,KdAuftragsNr_Frachtfuehrer,KdAuftragsNr_Avisierer,FreigabeFiliale,VoraussichtlichesEintreffen) VALUES (" &
"@Datum, @LKW_Nr, @Telefonisch, @Änderungen, @Info, @Status, @Auftraggeber, @Frächter, @letzterMitarbeiter, " &
"@Vorbereitet, @Vorgeschrieben, @Ankunft, @Freigabe, @Dauer, @AvisoEingang, @Grenzstelle, @LKW_fertig,@letzterMitarbeiterId,@Handling,@Sendungen_Gesamtanzahl,@Sammelakt,@Frächter_KdNr,@Auftraggeber_KdNr,@AvisoTVHinweis,@Buero,@Imex,@Abgeschlossen,@FIRMA," &
"@Durchgangszollstelle1,@Durchgangszollstelle2,@Durchgangszollstelle3,@Durchgangszollstelle4,@Durchgangszollstelle5,@Durchgangszollstelle6,@Ausgangszollstelle,@Zollstelle,@TransportTemperatur,@Zugmaschine,@FahrerHandy,@LKW_Nationalitaet,@DakosyRef,@TeamId,@Cluster,@Freigabe_Info); SELECT CAST(scope_identity() AS int);"
"@Durchgangszollstelle1,@Durchgangszollstelle2,@Durchgangszollstelle3,@Durchgangszollstelle4,@Durchgangszollstelle5,@Durchgangszollstelle6,@Ausgangszollstelle,@Zollstelle,@TransportTemperatur,@Zugmaschine,@FahrerHandy,@LKW_Nationalitaet,@DakosyRef,@TeamId,@Cluster,@Freigabe_Info,@KdAuftragsNr_Frachtfuehrer,@KdAuftragsNr_Avisierer,@FreigabeFiliale,@VoraussichtlichesEintreffen); SELECT CAST(scope_identity() AS int);"
Else
id = d.AvisoID
'Änderung
hAuswahl = String.Format(
"UPDATE Aviso SET Datum = @Datum, LKW_Nr = @LKW_Nr, Telefonisch=@Telefonisch, Änderungen=@Änderungen, Info=@Info, Status=@Status, Auftraggeber=@Auftraggeber, Frächter=@Frächter, " &
" letzterMitarbeiter = @letzterMitarbeiter, Vorbereitet=@Vorbereitet,Vorgeschrieben=@Vorgeschrieben, Ankunft = @Ankunft, Freigabe = @Freigabe, Dauer = @Dauer, AvisoEingang = @AvisoEingang, Grenzstelle=@Grenzstelle, LKW_fertig=@LKW_fertig, letzterMitarbeiterId=@letzterMitarbeiterId, Handling=@Handling,Sendungen_Gesamtanzahl=@Sendungen_Gesamtanzahl,Sammelakt=@Sammelakt,Frächter_KdNr=@Frächter_KdNr,Auftraggeber_KdNr=@Auftraggeber_KdNr,AvisoTVHinweis=@AvisoTVHinweis,Buero=@Buero,Imex=@Imex,Abgeschlossen=@Abgeschlossen, " &
" Durchgangszollstelle1=@Durchgangszollstelle1,Durchgangszollstelle2=@Durchgangszollstelle2,Durchgangszollstelle3=@Durchgangszollstelle3,Durchgangszollstelle4=@Durchgangszollstelle4,Durchgangszollstelle5=@Durchgangszollstelle5,Durchgangszollstelle6=@Durchgangszollstelle6,Ausgangszollstelle=@Ausgangszollstelle,Zollstelle=@Zollstelle,TransportTemperatur=@TransportTemperatur,Zugmaschine=@Zugmaschine,FahrerHandy=@FahrerHandy, LKW_Nationalitaet=@LKW_Nationalitaet, DakosyRef=@DakosyRef,TeamId=@TeamId,Cluster=@Cluster,Freigabe_Info=@Freigabe_Info " &
" Durchgangszollstelle1=@Durchgangszollstelle1,Durchgangszollstelle2=@Durchgangszollstelle2,Durchgangszollstelle3=@Durchgangszollstelle3,Durchgangszollstelle4=@Durchgangszollstelle4,Durchgangszollstelle5=@Durchgangszollstelle5,Durchgangszollstelle6=@Durchgangszollstelle6,Ausgangszollstelle=@Ausgangszollstelle,Zollstelle=@Zollstelle,TransportTemperatur=@TransportTemperatur,Zugmaschine=@Zugmaschine,FahrerHandy=@FahrerHandy, LKW_Nationalitaet=@LKW_Nationalitaet, DakosyRef=@DakosyRef,TeamId=@TeamId,Cluster=@Cluster,Freigabe_Info=@Freigabe_Info,KdAuftragsNr_Frachtfuehrer =@KdAuftragsNr_Frachtfuehrer,KdAuftragsNr_Avisierer=@KdAuftragsNr_Avisierer , FreigabeFiliale=@FreigabeFiliale,VoraussichtlichesEintreffen=@VoraussichtlichesEintreffen" &
" WHERE AvisoID = @AvisoID")
End If
@@ -1316,7 +1333,7 @@ Public Class cAvisoDAL
cmd.Parameters.AddWithValue("@Grenzstelle", d.Grenzstelle)
cmd.Parameters.AddWithValue("@LKW_fertig", d.LKW_fertig)
cmd.Parameters.AddWithValue("@AvisoID", d.AvisoID)
cmd.Parameters.AddWithValue("@letzterMitarbeiterId", cGlobal.AktiverMitarbeiter.MitarbeiterID)
cmd.Parameters.AddWithValue("@letzterMitarbeiterId", If(letzerMaIdAuto, cGlobal.AktiverMitarbeiter.MitarbeiterID, IIf(IsNumeric(d.LetzterMitarbeiterId), d.LetzterMitarbeiterId, DBNull.Value)))
cmd.Parameters.AddWithValue("@Handling", d.Handling)
cmd.Parameters.AddWithValue("@Sendungen_Gesamtanzahl", d.Sendungen_Gesamtanzahl)
cmd.Parameters.AddWithValue("@Sammelakt", d.Sammelakt)
@@ -1346,6 +1363,11 @@ Public Class cAvisoDAL
cmd.Parameters.AddWithValue("@Cluster", If(d.Cluster Is Nothing, DBNull.Value, d.Cluster))
cmd.Parameters.AddWithValue("@Freigabe_Info", d.Freigabe_Info)
cmd.Parameters.AddWithValue("@KdAuftragsNr_Frachtfuehrer", If(d.KdAuftragsNr_Frachtfuehrer Is Nothing, DBNull.Value, d.KdAuftragsNr_Frachtfuehrer))
cmd.Parameters.AddWithValue("@KdAuftragsNr_Avisierer", If(d.KdAuftragsNr_Avisierer Is Nothing, DBNull.Value, d.KdAuftragsNr_Avisierer))
cmd.Parameters.AddWithValue("@FreigabeFiliale", If(d.FreigabeFiliale Is Nothing, DBNull.Value, d.FreigabeFiliale))
cmd.Parameters.AddWithValue("@VoraussichtlichesEintreffen", If(d.VoraussichtlichesEintreffen Is Nothing, DBNull.Value, d.VoraussichtlichesEintreffen))
Try
If d.AvisoID <= 0 Then
@@ -1689,10 +1711,13 @@ Public Class cVermerk
Property Hinweis_Vermerk As String
Property VermerkCodeId As Integer
Property Beschreibung As String = ""
End Class
Public Class cVermerkeDAL
Public Function LesenVermerk(hID As Integer, hSQL As String) As cVermerk
'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
Dim sql As String
@@ -1858,7 +1883,9 @@ Public Class cVermerkeDAL
End Function
Public Sub SpeichernVermerk(ByVal d As cVermerk)
Public Function SpeichernVermerk(ByVal d As cVermerk) As Integer
SpeichernVermerk = -1
Dim hAuswahl As String
If d.VermerkID = 0 Then
'Neuanlage
@@ -1885,16 +1912,42 @@ Public Class cVermerkeDAL
Try
cmd.ExecuteNonQuery()
Dim newcmd As New SqlCommand("SELECT @@IDENTITY", conn)
SpeichernVermerk = CInt(newcmd.ExecuteScalar)
Catch ex As SqlException
MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Vermerk")
End Try
End Using
conn.Close()
End Sub
End Function
Public Function SpeichernVermerkIDAufgehoben(VermerkID, VermerkIDAufgehoben) As Boolean
Dim SQLstr As String = " UPDATE Vermerke SET VermerkIDAufgehoben = @VermerkIDAufgehoben WHERE VermerkID = @VermerkID"
'MsgBox("UPDATE Vermerke SET VermerkIDAufgehoben = " & VermerkIDAufgehoben & " WHERE VermerkID = " & VermerkID & "")
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(SQLstr, conn)
cmd.Parameters.AddWithValue("@VermerkID", VermerkID)
cmd.Parameters.AddWithValue("@VermerkIDAufgehoben", VermerkIDAufgehoben)
Try
cmd.ExecuteNonQuery()
Return True
Catch ex As SqlException
MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Vermerk")
End Try
End Using
conn.Close()
Return False
End Function
Public Sub UpdateLKW(ByVal avisoID As Integer, ByVal LKW_fertig As Boolean)
Dim sql = "UPDATE Aviso SET [LKW_fertig]= @LKW_fertig WHERE AvisoID = @AvisoID"
Dim sql = "UPDATE Aviso Set [LKW_fertig]= @LKW_fertig WHERE AvisoID = @AvisoID"
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@LKW_fertig", LKW_fertig)
@@ -1910,7 +1963,7 @@ Public Class cVermerkeDAL
Public Sub UpdateSendungVorbereitet(ByVal AvisoID As Integer, ByVal sendungsId As Integer, ByVal MaId As Integer, ByVal inBearbeitung As Boolean)
Dim sql = "UPDATE tblSendungen SET tblSnd_inBearbeitung= @inBearbeitung,tblSnd_Bearbeitung_MaId= @MaId WHERE tblSnd_SendungID = @sendungsId"
Dim sql = "UPDATE tblSendungen Set tblSnd_inBearbeitung= @inBearbeitung, tblSnd_Bearbeitung_MaId = @MaId WHERE tblSnd_SendungID = @sendungsId"
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@inBearbeitung", inBearbeitung)
@@ -1929,7 +1982,7 @@ Public Class cVermerkeDAL
Public Sub SetInBearbeitungAVISO(ByVal AvisoID As Integer)
Dim sql = "UPDATE Aviso SET inBearbeitung= (SELECT CASE WHEN count([tblSnd_inBearbeitung])>0 THEN '1' ELSE '0' END FROM [tblSendungen] where [tblSnd_AvisoID]=@AvisoID) WHERE AvisoID = @AvisoID "
Dim sql = "UPDATE Aviso SET inBearbeitung= (SELECT CASE WHEN count([tblSnd_inBearbeitung])>0 Then '1' ELSE '0' END FROM [tblSendungen] where [tblSnd_AvisoID]=@AvisoID) WHERE AvisoID = @AvisoID "
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@AvisoID", AvisoID)
@@ -2508,7 +2561,7 @@ Public Class StatDB
' cn.ConnectionString = "Data Source=BUCHHALTUNG\SQLEXPRESS;Initial Catalog=AVISO;Integrated Security=false;User ID=sa;Password=BmWr501956;"
' cn.Open()
cn = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand("SELECT COUNT(*) FROM [Aviso] where " & art & " between @DatVon and @DatBis and Grenzstelle='SUB' AND Firma='" & If(firma <> "", firma, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA) & "' ", cn)
Using cmd As New SqlCommand("SELECT COUNT(*) FROM [Aviso] where " & art & " between @DatVon and @DatBis and AND Firma='" & If(firma <> "", firma, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA) & "' ", cn)
'DATEADD(dd, 0, DATEDIFF(dd, 0, [Ankunft]))=DATEADD(dd, 0, DATEDIFF(dd, 0, [Freigabe])) AND
Dim VonStr = ""
Dim BisStr = ""
@@ -2543,6 +2596,40 @@ Public Class StatDB
Return 0
End Function
Public Function getAnzahlLkwAnkunft(art As String, ByVal datTmp As Date, firma As String) As Integer
Dim lkws As Integer = 0
Try
Dim cn As New SqlConnection()
' cn.ConnectionString = "Data Source=BUCHHALTUNG\SQLEXPRESS;Initial Catalog=AVISO;Integrated Security=false;User ID=sa;Password=BmWr501956;"
' cn.Open()
cn = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand("SELECT COUNT(*) FROM [Aviso] where " & art & " between @DatVon and @DatBis AND Firma='" & If(firma <> "", firma, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA) & "' ", cn)
'DATEADD(dd, 0, DATEDIFF(dd, 0, [Ankunft]))=DATEADD(dd, 0, DATEDIFF(dd, 0, [Freigabe])) AND
Dim VonStr = ""
Dim BisStr = ""
VonStr = datTmp.ToString("yyyy-MM-dd ") & "00:00:00"
BisStr = datTmp.ToString("yyyy-MM-dd ") & "23:59:59"
cmd.Parameters.AddWithValue("@DatVon", VonStr)
cmd.Parameters.AddWithValue("@DatBis", BisStr)
' MsgBox(VonStr)
Dim dr = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
lkws = CInt(dr.Item(0))
End If
dr.Close()
cn.Close()
End Using
Return lkws
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return 0
End Function
Public Function getAnzahlLkwDauer(ByVal datumVon As DateTime, ByVal datumBis As DateTime, ByVal DauerVon As String, ByVal DauerBis As String, ByVal DauerEinschrVon As String, ByVal DauerEinschrBis As String, Optional where As String = "") As Integer
Dim sql As String = "SELECT count(*) as count " &

View File

@@ -146,6 +146,9 @@ Public Class cMeineFunktionenAVISO
End Function
Public Shared Function Minuten_auf_Text(hMinuten As Long) As String
If hMinuten <= 0 Then Return ""
Dim hStunden As Long
Dim hMinus As Boolean
Dim hMin As Long
@@ -179,6 +182,77 @@ Public Class cMeineFunktionenAVISO
Return VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(FilialeNr, CInt(IIf(Year > 0, Year, Now.Year)))
End Function
Public Shared Function LKWFertig(AvisoID, Optional newLKWOK = Nothing) As Boolean
Dim AvisoDAL As New VERAG_PROG_ALLGEMEIN.cAvisoDAL
Dim VermerkeDAL As New VERAG_PROG_ALLGEMEIN.cVermerkeDAL
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
MsgBox("Keine Berechtigung!")
Return False
End If
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
If AvisoID <= 0 Then
MsgBox("Kein Aviso ausgewählt!")
Return False
End If
'jetzt ausgewählten Datensatz einlesen
Dim Aviso As New cAviso
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
If Aviso Is Nothing Then Return False
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereichts abgeschlossen.", vbInformation) : Return False
If newLKWOK Is Nothing Then
newLKWOK = Not Aviso.LKW_fertig
Else
If newLKWOK = Aviso.LKW_fertig Then Return True 'Wenn schon OK ist
End If
Dim msg As String
Dim antwort As MsgBoxResult
'Taste LKW ist fertig
If Aviso.Status <> VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft Then
MsgBox("Es kann nur ein LKW mit Status ANKUNFT auf 'FERTIG/nicht FERTIG' gesetzt werden.", vbInformation)
Return False
End If
Dim aendArt As String = ""
Dim aendText As String = ""
'Status ist Ankunft - LKW wird je nach Eintrag auf Fertig/nicht fertig gesetzt
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
Dim hVermerk As New cVermerk 'bei Fertig zusätzlich einen Vermerk setzen
hVermerk.AvisoID = Aviso.AvisoID
hVermerk.Datum = Now
hVermerk.Mitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
hVermerk.MitarbeiterId = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.MitarbeiterID
If newLKWOK Then
Aviso.LKW_fertig = True
Aviso.Änderungen = "LKW ist fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
hVermerk.Hinweis_Vermerk = "LKW ist fertig!"
hVermerk.VermerkCodeId = 26
VermerkeDAL.SpeichernVermerk(hVermerk)
aendArt = "LKW ist fertig - gesetzt"
aendText = "LKW ist fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm")
Else
Aviso.LKW_fertig = False
Aviso.Änderungen = "LKW ist nicht fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
hVermerk.Hinweis_Vermerk = "LKW ist nicht fertig."
hVermerk.VermerkCodeId = 27
VermerkeDAL.SpeichernVermerk(hVermerk)
aendArt = "LKW ist nicht fertig - gesetzt"
aendText = "LKW ist nicht fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm")
End If
Dim tmpid = AvisoDAL.SpeichernAviso(Aviso)
AvisoDAL.addAenderung(tmpid, aendArt, aendText)
Return (tmpid > 0)
End Function
End Class

View File

@@ -0,0 +1,187 @@

Imports System.Data.SqlClient
Imports System.Reflection
Public Class cVermerkeCodes_LIST
Dim LIST As New List(Of cVermerkeCodes)
Sub New()
LOAD_LIST()
End Sub
Public Sub LOAD_LIST()
Try
LIST.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
Using cmd As New SqlCommand("SELECT * FROM VermerkeCodes ", conn)
' cmd.Parameters.AddWithValue("@OffertenNr", OffertenNr)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim l As New cVermerkeCodes
For Each i In l.getParameterList()
Dim propInfo As PropertyInfo = l.GetType.GetProperty(i.Scalarvariable)
If dr.Item(i.Text) Is DBNull.Value Then
propInfo.SetValue(l, Nothing)
Else
propInfo.SetValue(l, dr.Item(i.Text))
End If
Next
LIST.Add(l)
End While
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
Public Function getTxt(VermerkCodeId, language) As String
For Each l In LIST
If l.VermerkCodeId = VermerkCodeId Then
Select Case language
Case "EN" : If l.Beschreibung_EN <> "" Then Return l.Beschreibung_EN
Case "TR" : If l.Beschreibung_TR <> "" Then Return l.Beschreibung_TR
Case "SRB", "YU" : If l.Beschreibung_SRB <> "" Then Return l.Beschreibung_SRB
Case "RO" : If l.Beschreibung_RO <> "" Then Return l.Beschreibung_RO
Case "BG" : If l.Beschreibung_BG <> "" Then Return l.Beschreibung_BG
Case "HU" : If l.Beschreibung_HU <> "" Then Return l.Beschreibung_HU
Case Else : If l.Beschreibung_DE <> "" Then Return l.Beschreibung_DE
End Select
Return l.Bezeichnung
End If
Next
Return ""
End Function
End Class
Public Class cVermerkeCodes
Property VermerkCodeId As Integer
Property Bezeichnung As String = ""
Property LKW_Vermerk As Boolean
Property Kunde_Vermerk As Boolean
Property Beschreibung_DE As String = ""
Property Beschreibung_EN As String = ""
Property Beschreibung_TR As String = ""
Property Beschreibung_SRB As String = ""
Property Beschreibung_RO As String = ""
Property Beschreibung_BG As String = ""
Property Beschreibung_HU As String = ""
Dim SQL As New SQL
Sub New()
End Sub
Sub New(VermerkCodeId)
Me.VermerkCodeId = VermerkCodeId
LOAD()
End Sub
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("VermerkCodeId", VermerkCodeId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Bezeichnung", Bezeichnung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKW_Vermerk", LKW_Vermerk))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kunde_Vermerk", Kunde_Vermerk))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_DE", Beschreibung_DE))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_EN", Beschreibung_EN))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_TR", Beschreibung_TR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_SRB", Beschreibung_SRB))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_RO", Beschreibung_RO))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_BG", Beschreibung_BG))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Beschreibung_HU", Beschreibung_HU))
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 VermerkeCodes WHERE VermerkCodeId=@VermerkCodeId) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "AVISO", , list)
End Function
Public Sub LOAD()
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
Using cmd As New SqlCommand("SELECT * FROM VermerkeCodes WHERE VermerkCodeId=@VermerkCodeId ", conn)
cmd.Parameters.AddWithValue("@VermerkCodeId", VermerkCodeId)
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
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 [VermerkeCodes] SET " & str & " WHERE VermerkCodeId=@VermerkCodeId ")
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 VermerkeCodes (" & 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
End Class