Imports System.Data.SqlClient Public Class cAllgemein Public Shared FIRMA As String Public Shared NIEDERLASSUNG As String 'SUB, WAI, ... Public Shared ABTEILUNG As String 'QS ZOLL ... Public Shared STAMMFILIALE As String 'IMEX,UNISPED;ATILLA... ' Public Shared SPECIFIC As cSPECIFIC = New cSPECIFIC Public Shared ERR_OP_GLOBAL As String = ERROR_OP.SHOW Public Shared BÜRO As String Public Shared dpi As Integer Public Shared TESTSYSTEM As Boolean = True Public Shared PROGNAME = "" Public Shared PROGID As Integer Public Shared PROGVERSION As String = "" Public Shared USRNAME As String 'Public Shared USRBER As Integer Public Shared USRID As Integer Public Shared USR_VNAME As String Public Shared USR_NNAME As String Public Shared USRKURZNAME As String Public Shared USR_HrFrNAME As String Public Shared FIRMA_ID As Integer Public Shared FIRMA_NAME As String Public Shared AUTO_ABF_NR As Boolean = True Public Shared BENUTZER_BERECHTIGUNGS_GRUPPEN As cBerechtigungenBenutzerGruppenZuordnung_List = Nothing Public Shared PARAMS As cParameterList = Nothing Public Shared SESSION As New cSession Shared SQL As New SQL Public Shared MITARBEITER As cMitarbeiter Public Shared Sub LOAD_DATA() MITARBEITER = New cMitarbeiter If MITARBEITER.LOAD(USRID) Then USR_NNAME = MITARBEITER.mit_nname USR_VNAME = MITARBEITER.mit_vname USR_HrFrNAME = "" Select Case MITARBEITER.mit_geschlecht Case "m" : USR_HrFrNAME = "Herr " Case "w" : USR_HrFrNAME = "Frau " End Select USR_HrFrNAME &= MITARBEITER.mit_nname If FIRMA = "" Then FIRMA = If(MITARBEITER.mit_firma = "BEIDE", "VERAG", MITARBEITER.mit_firma) cSPECIFIC.FIRMA_BgColor = Drawing.Color.FromArgb(0, 54, 128) Select Case FIRMA 'Case "VERAG" Case "IMEX" STAMMFILIALE = "5501" Case "UNISPED" STAMMFILIALE = "5601" cSPECIFIC.FIRMA_BgColor = Drawing.Color.FromArgb(200, 0, 0) Case "AMBAR" STAMMFILIALE = "5701" End Select USRNAME = (MITARBEITER.mit_vname & " " & MITARBEITER.mit_nname) If NIEDERLASSUNG = "" Then NIEDERLASSUNG = MITARBEITER.mit_niederlassung If ABTEILUNG = "" Then ABTEILUNG = MITARBEITER.mit_abteilung Else MITARBEITER = Nothing End If LOAD_PARAM() End Sub Public Shared Sub LOAD_BER() BENUTZER_BERECHTIGUNGS_GRUPPEN = New cBerechtigungenBenutzerGruppenZuordnung_List(USRID) End Sub Public Shared Sub LOAD_PARAM() PARAMS = New cParameterList(PROGID, FIRMA) End Sub Public Shared Function getMaxPosNrIncrement(FilialeNr As Integer, year As Integer) As Integer Dim cnt = 0 Dim returnValue = -1 Dim newMaxwert = CInt(year.ToString.Substring(2, 2) & "000000") '16000000 Do Dim conn As SqlConnection = VERAG_PROG_ALLGEMEIN.SQL.GetNewOpenConnectionFMZOLL Dim sql As String = " begin tran" & " if exists (select * from tblPosNr with (updlock,serializable) WHERE FilialeNr = @FilialeNr AND Jahr = @Jahr) " & " begin " & " UPDATE tblPosNr " & " SET wert=(select MAX(wert) FROM tblPosNr WHERE FilialeNr = @FilialeNr AND Jahr = @Jahr)+1 " & " WHERE FilialeNr = @FilialeNr AND Jahr = @Jahr " & " End " & " Else " & " begin " & " INSERT INTO tblPosNr " & " (wert,FilialeNr,Jahr) " & " VALUES(@newMaxwert, @FilialeNr,@Jahr) " & " End " & " commit tran " & " SELECT isnull(wert,-1) FROM tblPosNr WHERE FilialeNr = @FilialeNr AND Jahr = @Jahr" Dim dr As SqlDataReader Using cmd As New SqlCommand(sql, conn) cmd.Parameters.AddWithValue("@FilialeNr", FilialeNr) cmd.Parameters.AddWithValue("@Jahr", year) cmd.Parameters.AddWithValue("@newMaxwert", newMaxwert) Try dr = cmd.ExecuteReader() If dr.Read Then returnValue = CInt(dr.Item(0)) Catch ex As Exception MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler") Finally dr.Close() End Try End Using cnt += 1 Loop While (SpedBuchExists(FilialeNr, returnValue) And cnt < 100000) ' conn.Close() Return returnValue End Function Public Shared Function SpedBuchExists(FilialenNr As Integer, AbfertigungsNr As Integer) As Boolean Return (CInt(SQL.getValueTxtBySql("SELECT count(*) FROM Speditionsbuch WHERE FilialenNr=" & FilialenNr & " AND AbfertigungsNr=" & AbfertigungsNr & " ", "FMZOLL")) > 0) End Function Class cSPECIFIC Public Shared FIRMA_BgColor As System.Drawing.Color = Drawing.Color.FromArgb(0, 54, 128) Public Shared FIRMA_ForeColor As System.Drawing.Color = Drawing.Color.White End Class Public Shared Sub buildConnectionDATENARCHIV() Try Dim netuse As New System.Diagnostics.ProcessStartInfo() netuse.FileName = "C:\Windows\system32\net" netuse.Arguments = "use \\192.168.0.91\Datenarchiv /User:VERAGOST\AVISOSMB BmWr501956" netuse.CreateNoWindow = True netuse.WindowStyle = ProcessWindowStyle.Hidden System.Diagnostics.Process.Start(netuse) Catch ex As Exception MsgBox("ERR: DATENARCHIV Netzwerkzugriff fehlgeschlagen...") End Try End Sub End Class