378 lines
16 KiB
VB.net
378 lines
16 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_SERVER As String = "[FMZOLL\SQLFMZOLL]" '"[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 = 16
|
|
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 TRANSLATE As cTranslate_LIST = Nothing
|
|
Public Shared _LAN As String = "DE" '"EN"
|
|
|
|
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
|
|
_LAN = MITARBEITER.mit_sprache
|
|
|
|
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()
|
|
LOAD_TRANSLATE()
|
|
If TESTSYSTEM Then
|
|
AVISO_SERVER = "[DEVELOPER\DEVSQL]"
|
|
FMZOLL_SERVER = "[DEVELOPER\DEVSQL]"
|
|
End If
|
|
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 Sub LOAD_TRANSLATE()
|
|
TRANSLATE = New cTranslate_LIST(PROGID)
|
|
End Sub
|
|
|
|
Public Shared Sub _TRANSLATE(o As System.Windows.Forms.Control)
|
|
_TRANSLATE(o, o, _LAN)
|
|
End Sub
|
|
|
|
Public Shared Sub _TRANSLATE(o As System.Windows.Forms.Control, lan As String)
|
|
_TRANSLATE(o, o, lan)
|
|
End Sub
|
|
Public Shared Sub _TRANSLATE(o As System.Windows.Forms.Control, s As System.Windows.Forms.Control, lan As String)
|
|
If lan = "" Then Exit Sub
|
|
If lan = "DE" Then Exit Sub
|
|
'o... Form
|
|
's... SubContainer
|
|
'c... Control
|
|
' MsgBox(o.GetType.ToString & " - " & o.name)
|
|
Dim TextTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.FindAll(Function(x) x.trs_object = o.Name And x.trs_sprache = lan)
|
|
If TextTmp IsNot Nothing Then
|
|
For Each TXT As cTranslate In TextTmp
|
|
Dim found = o.Controls.Find(TXT.trs_control, True)
|
|
|
|
' MsgBox(TXT.trs_control)
|
|
If found IsNot Nothing AndAlso found.Count > 0 Then
|
|
' MsgBox("JA")
|
|
Dim obj As System.Windows.Forms.Control = found(0)
|
|
If obj IsNot Nothing Then
|
|
If (TypeOf obj Is System.Windows.Forms.Label) Then
|
|
DirectCast(obj, System.Windows.Forms.Label).Text = TXT.trs_text
|
|
End If
|
|
If (TypeOf obj Is System.Windows.Forms.Button) Or (TypeOf obj Is VERAG_PROG_ALLGEMEIN.FlatButton) Then
|
|
DirectCast(obj, System.Windows.Forms.Button).Text = TXT.trs_text
|
|
End If
|
|
If (TypeOf obj Is System.Windows.Forms.TabPage) Then
|
|
DirectCast(obj, System.Windows.Forms.TabPage).Text = TXT.trs_text
|
|
End If
|
|
If (TypeOf obj Is System.Windows.Forms.RadioButton) Or (TypeOf obj Is VERAG_PROG_ALLGEMEIN.MyRadioButton) Then
|
|
DirectCast(obj, System.Windows.Forms.RadioButton).Text = TXT.trs_text
|
|
End If
|
|
If (TypeOf obj Is System.Windows.Forms.GroupBox) Then
|
|
DirectCast(obj, System.Windows.Forms.GroupBox).Text = TXT.trs_text
|
|
End If
|
|
'If (TypeOf obj Is System.Windows.Forms.TabControl) Then -->in Tabpage geregelt
|
|
' For Each tb As System.Windows.Forms.TabPage In DirectCast(obj, System.Windows.Forms.TabControl).TabPages
|
|
' If tb.Name = TXT.trs_subControl Then
|
|
' tb.Text = TXT.trs_text
|
|
' End If
|
|
' Next
|
|
'End If
|
|
|
|
If (TypeOf obj Is System.Windows.Forms.ComboBox) Or (TypeOf obj Is VERAG_PROG_ALLGEMEIN.MyComboBox) Then
|
|
'DirectCast(obj, System.Windows.Forms.Label).Text = TXT.trs_text
|
|
|
|
End If
|
|
'If (TypeOf obj Is VERAG_PROG_ALLGEMEIN.MyComboBox) Then
|
|
|
|
' Dim cboItems = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.FindAll(Function(x) x.trs_object = o.Name And x.trs_sprache = lan And x.trs_control = TXT.trs_control)
|
|
|
|
' For Each item As VERAG_PROG_ALLGEMEIN.MyListItem In DirectCast(obj, VERAG_PROG_ALLGEMEIN.MyComboBox).Items
|
|
' For Each sitem As cTranslate In cboItems
|
|
' If item.Text = sitem.trs_subControl Then
|
|
' Dim index = DirectCast(obj, VERAG_PROG_ALLGEMEIN.MyComboBox).Items(0).Equals
|
|
' DirectCast(DirectCast(obj, VERAG_PROG_ALLGEMEIN.MyComboBox).Items(item), VERAG_PROG_ALLGEMEIN.MyListItem).Text = sitem.trs_text
|
|
' End If
|
|
' Next
|
|
' Next
|
|
'End If
|
|
End If
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
|
|
|
|
'Exit Sub
|
|
'If lan = "DE" Then Exit Sub
|
|
'For Each c As System.Windows.Forms.Control In s.Controls
|
|
' If c.Controls.Count > 0 Then
|
|
' _TRANSLATE(o, c, lan)
|
|
' Else
|
|
|
|
' 'MsgBox(o.Name & " - " & c.Name & " - " & lan)
|
|
' Dim TextTmp = VERAG_PROG_ALLGEMEIN.cAllgemein.TRANSLATE.list.Find(Function(x) x.trs_object = o.Name And x.trs_control = c.Name And x.trs_sprache = lan)
|
|
|
|
' If TextTmp IsNot Nothing Then
|
|
' MsgBox(TextTmp.trs_text)
|
|
' If (TypeOf c Is System.Windows.Forms.Label) Then
|
|
|
|
' DirectCast(c, System.Windows.Forms.Label).Text = TextTmp.trs_text
|
|
' End If
|
|
' End If
|
|
' End If
|
|
'Next
|
|
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
|