271 lines
11 KiB
VB.net
271 lines
11 KiB
VB.net
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 CLUSTER As String = "" 'Firmenverbund
|
|
' Public Shared SPECIFIC As cSPECIFIC = New cSPECIFIC
|
|
|
|
Public Shared ERR_OP_GLOBAL As String = ERROR_OP.SHOW
|
|
|
|
' Public Shared AVISO_SERVER As String = "[BUCHHALTUNG\SQLEXPRESS]"
|
|
'Public Shared AVISO_SERVER As String = "[SQL01.verag.ost.dmn\VERAG]"
|
|
'Public Shared AVISO_SERVER As String = "[SQLGUIDE.verag.ost.dmn\VERAG]"
|
|
Public Shared AVISO_SERVER As String = "[SQLGUIDE01.verag.ost.dmn]" '"[SQLGUIDE01.verag.ost.dmn]"
|
|
'Public Shared FMZOLL_ATLAS_Datensicherung As String = "\\192.168.0.91\f\FMZoll\Datensicherung\atlas\atlas\fssouzb"
|
|
Public Shared FMZOLL_ATLAS_Datensicherung As String = "\\share01\F\FMZoll\Datensicherung\atlas\atlas\fssouzb"
|
|
|
|
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 Const LeerDatum As Date = #12/30/1899# 'wird als leerer Datumswert verwendet, da sonst Probleme bei Null/Date
|
|
|
|
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"
|
|
CLUSTER = "FRONTOFFICE"
|
|
Case "IMEX"
|
|
STAMMFILIALE = "5501"
|
|
CLUSTER = "FRONTOFFICE"
|
|
Case "UNISPED"
|
|
STAMMFILIALE = "5601"
|
|
cSPECIFIC.FIRMA_BgColor = Drawing.Color.FromArgb(200, 0, 0)
|
|
CLUSTER = "FRONTOFFICE"
|
|
Case "AMBAR"
|
|
STAMMFILIALE = "5701"
|
|
CLUSTER = "FRONTOFFICE"
|
|
Case "ATILLA"
|
|
STAMMFILIALE = "4801"
|
|
Case "FRONTOFFICE"
|
|
STAMMFILIALE = "5801"
|
|
CLUSTER = "FRONTOFFICE"
|
|
|
|
Case "VERIMEX"
|
|
STAMMFILIALE = "6001"
|
|
CLUSTER = "FRONTOFFICE"
|
|
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 isCLUSTER() As Boolean
|
|
Return (FIRMA = CLUSTER)
|
|
End Function
|
|
|
|
Public Shared Function getFirmaFromFiliale2(FilialenNr As Object, Optional usedefaultFirma As Boolean = True, Optional defaultFIRMA As String = "VERAG") As String
|
|
Dim FirmaTMP = ""
|
|
If FilialenNr IsNot Nothing AndAlso IsNumeric(FilialenNr) Then
|
|
FirmaTMP = SQL.getValueTxtBySql("SELECT TOP 1 [Firma] FROM [Filialen] WHERE FilialenNr='" & FilialenNr & "' ", "FMZOLL")
|
|
End If
|
|
If usedefaultFirma AndAlso FirmaTMP = "" Then FirmaTMP = defaultFIRMA
|
|
Return FirmaTMP
|
|
End Function
|
|
|
|
|
|
Public Shared Function getFirmaFromFiliale(FilialenNr As Object, Optional defaultVERAG As Boolean = True) As String
|
|
Dim FirmaTMP = ""
|
|
If FilialenNr IsNot Nothing AndAlso IsNumeric(FilialenNr) Then
|
|
FirmaTMP = SQL.getValueTxtBySql("SELECT TOP 1 [Firma] FROM [Filialen] WHERE FilialenNr='" & FilialenNr & "' AND ( Firma='" & FIRMA & "' OR Cluster='" & CLUSTER & "')", "FMZOLL")
|
|
End If
|
|
If defaultVERAG AndAlso FirmaTMP = "" Then FirmaTMP = "VERAG"
|
|
Return FirmaTMP
|
|
End Function
|
|
Public Shared Function getFirmaFromKdNr(KundenNr As Integer, Optional defaultVERAG As Boolean = True) As String
|
|
Dim FirmaTMP = SQL.getValueTxtBySql("SELECT TOP 1 [Firma] FROM [Filialen] inner join Kunden ON Kunden.FilialenNr=Filialen.FilialenNr WHERE KundenNr='" & KundenNr & "' ", "FMZOLL")
|
|
If defaultVERAG AndAlso FirmaTMP = "" Then FirmaTMP = "VERAG"
|
|
Return FirmaTMP
|
|
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()
|
|
Exit Sub
|
|
|
|
buildConnectionDATENARCHIV_NEW()
|
|
' buildConnectionDATENARCHIV_OLD()
|
|
End Sub
|
|
|
|
Public Shared Sub buildConnectionDATENARCHIV_OLD()
|
|
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"
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "UNISPED" Then
|
|
netuse.Arguments = "use \\192.168.0.91\Datenarchiv /User:VERAGOST\AVISOSMB BmWr501956"
|
|
Else
|
|
netuse.Arguments = "use \\192.168.0.91\Datenarchiv /User:VERAGOST\AVISOSMB BmWr501956"
|
|
End If
|
|
|
|
|
|
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
|
|
Public Shared Sub buildConnectionDATENARCHIV_NEW()
|
|
Try
|
|
Dim netuse As New System.Diagnostics.ProcessStartInfo()
|
|
|
|
netuse.FileName = "C:\Windows\system32\net"
|
|
' netuse.Arguments = "use \\datenarchiv.verag.ost.dmn\Datenarchiv /User:VERAGOST\AVISOSMB BmWr501956"
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "UNISPED" Then
|
|
netuse.Arguments = "use " & VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir(False) & " /User:VERAGOST\AVISOSMB BmWr501956"
|
|
Else
|
|
netuse.Arguments = "use " & VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir(False) & " /User:VERAGOST\AVISOSMB BmWr501956"
|
|
End If
|
|
|
|
|
|
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
|
|
Public Shared Function getSTAMMFILIALE() As String
|
|
If IsNumeric(VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE) Then
|
|
Return VERAG_PROG_ALLGEMEIN.cAllgemein.STAMMFILIALE
|
|
Else
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "VERAG"
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG
|
|
Case "SUB" : Return 4803
|
|
Case "SBG" : Return 5003
|
|
Case "WAI" : Return 5103
|
|
Case "NKD" : Return 5303
|
|
Case "NEU" : Return 4819
|
|
End Select
|
|
Case "IMEX" : Return 5501
|
|
Case "UNISPED" : Return 5601
|
|
Case "AMBAR" : Return 5701
|
|
Case "ATILLA" : Return 4801
|
|
Case "FRONTOFFICE" : Return 5801
|
|
End Select
|
|
End If
|
|
Return ""
|
|
End Function
|
|
End Class
|