From 77cc6eec0a892a0bbc4a29f05867d48ddbd14cbf Mon Sep 17 00:00:00 2001 From: ms Date: Mon, 31 Jan 2022 08:21:52 +0100 Subject: [PATCH] Anpassung Auswertung aus Ansicht --- DISPOUpdater/UPDATERfrm.vb | 4 +- LicxGenerator.exe | Bin 0 -> 14224 bytes UID/DISPO.vbproj | 18 +++- UID/My Project/Resources.Designer.vb | 14 ++- UID/My Project/Resources.resx | 5 +- UID/Resources/aviso_messenger.png | Bin 0 -> 16647 bytes UID/cSQL.vb | 128 ++++++++++++++++++++++++++ UID/cUsersettings.vb | 45 ++++++++++ UID/frmMain/frmMainV2.Designer.vb | 68 +++++++++++++- UID/frmMain/frmMainV2.resx | 6 ++ UID/frmMain/frmMainV2.vb | 101 ++++++++++++++++++++- UID/frmMain/usrcntlAuftraege.vb | 17 +++- UID/frmNotify.Designer.vb | 129 +++++++++++++++++++++++++++ UID/frmNotify.resx | 123 +++++++++++++++++++++++++ UID/frmNotify.vb | 113 +++++++++++++++++++++++ 15 files changed, 760 insertions(+), 11 deletions(-) create mode 100644 LicxGenerator.exe create mode 100644 UID/Resources/aviso_messenger.png create mode 100644 UID/cSQL.vb create mode 100644 UID/cUsersettings.vb create mode 100644 UID/frmNotify.Designer.vb create mode 100644 UID/frmNotify.resx create mode 100644 UID/frmNotify.vb diff --git a/DISPOUpdater/UPDATERfrm.vb b/DISPOUpdater/UPDATERfrm.vb index e2b9415..4165f16 100644 --- a/DISPOUpdater/UPDATERfrm.vb +++ b/DISPOUpdater/UPDATERfrm.vb @@ -15,11 +15,11 @@ Public Class UPDATERfrm Dim F As String = "F:\Programme\DISPO\" ' WDH TERM - Dim F_PROD As String = "\\192.168.0.91\f\Programme\DISPO\" ' VERAG + Dim F_PROD As String = "\\install.verag.ost.dmn\Programme\DISPO\" ' VERAG ' Dim F As String = "\\192.168.0.90\f\Programme\DISPO\" 'DEVELOPER ' Dim F_ATILLA As String = "\\172.16.0.99\Daten\Programme\DISPO\" ' ATILLA - + Public Sub Main() Dim FIRMA = "VERAG" diff --git a/LicxGenerator.exe b/LicxGenerator.exe new file mode 100644 index 0000000000000000000000000000000000000000..385fedc4f60222fc4f3c036662f06502db3b8bb0 GIT binary patch literal 14224 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 literal 0 HcmV?d00001 diff --git a/UID/DISPO.vbproj b/UID/DISPO.vbproj index 4befd43..5f0ae55 100644 --- a/UID/DISPO.vbproj +++ b/UID/DISPO.vbproj @@ -75,7 +75,7 @@ true - 443CA3745EE904EED98572A89099259301BA06D1 + 4BDC042C7E79547CFC124EDDCBA8A805E84C6BDB @@ -92,6 +92,10 @@ + + False + bin\Debug\DISPO.exe.GrapeCity.Licenses.dll + @@ -184,9 +188,11 @@ + + True True @@ -249,6 +255,12 @@ UserControl + + frmNotify.vb + + + Form + True True @@ -500,6 +512,9 @@ usrcntlTrips.vb + + frmNotify.vb + frmAuswertung.vb @@ -743,6 +758,7 @@ + diff --git a/UID/My Project/Resources.Designer.vb b/UID/My Project/Resources.Designer.vb index 02c0aca..717c46f 100644 --- a/UID/My Project/Resources.Designer.vb +++ b/UID/My Project/Resources.Designer.vb @@ -22,7 +22,7 @@ Namespace My.Resources ''' ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. ''' - _ @@ -79,6 +79,16 @@ Namespace My.Resources End Get End Property + ''' + ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + ''' + Friend ReadOnly Property aviso_messenger() As System.Drawing.Bitmap + Get + Dim obj As Object = ResourceManager.GetObject("aviso_messenger", resourceCulture) + Return CType(obj,System.Drawing.Bitmap) + End Get + End Property + ''' ''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. ''' @@ -424,7 +434,7 @@ Namespace My.Resources End Property ''' - ''' Sucht eine lokalisierte Zeichenfolge, die 1.0.10.1 ähnelt. + ''' Sucht eine lokalisierte Zeichenfolge, die 1.0.10.5 ähnelt. ''' Friend ReadOnly Property Version() As String Get diff --git a/UID/My Project/Resources.resx b/UID/My Project/Resources.resx index fed7945..63af155 100644 --- a/UID/My Project/Resources.resx +++ b/UID/My Project/Resources.resx @@ -155,7 +155,7 @@ ..\Resources\uid.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - 1.0.10.1 + 1.0.10.5 ..\Resources\del.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -228,4 +228,7 @@ [sqlguide01.verag.ost.dmn].DISPO.dbo.tblAuftraege + + ..\Resources\aviso_messenger.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/UID/Resources/aviso_messenger.png b/UID/Resources/aviso_messenger.png new file mode 100644 index 0000000000000000000000000000000000000000..756a2aca6f305e9b9d79993b26aea6246bb30c6e GIT binary patch literal 16647 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 literal 0 HcmV?d00001 diff --git a/UID/cSQL.vb b/UID/cSQL.vb new file mode 100644 index 0000000..59e869f --- /dev/null +++ b/UID/cSQL.vb @@ -0,0 +1,128 @@ +Imports System.Data.SqlClient + +Public Class cSQL + + Public Shared Sub SQL2DS(ByRef selector As String, ByRef ds As DataSet, Optional ByRef DBConnect As String = "") + If DBConnect = "" Then DBConnect = My.Resources.connStringDISPO + Dim con As New SqlConnection + Dim cmd As New SqlCommand + con.ConnectionString = DBConnect 'My.Resources.connStringDISPO + cmd.Connection = con + + Dim dataadapter As New SqlDataAdapter(selector, con) + con.Open() + dataadapter.Fill(ds) + con.Close() + End Sub + + Public Shared Sub UpdateSQL(ByRef table As String, ByRef values As String, ByRef where As String, Optional ByRef DBConnect As String = "") + If DBConnect = "" Then DBConnect = My.Resources.connStringDISPO + Dim con As New SqlConnection + Dim cmd As New SqlCommand + con.ConnectionString = DBConnect ' My.Resources.connStringDISPO + cmd.Connection = con + + con.Open() + cmd.CommandText = "UPDATE " & table & " SET " & values & " WHERE " & where & "" + cmd.ExecuteNonQuery() + con.Close() + End Sub + + Public Shared Sub InsertSQL(ByRef table As String, ByRef insert As String, Optional ByRef DBConnect As String = "") + If DBConnect = "" Then DBConnect = My.Resources.connStringDISPO + Dim con As New SqlConnection + Dim cmd As New SqlCommand + con.ConnectionString = DBConnect ' My.Resources.connStringDISPO + cmd.Connection = con + + con.Open() + cmd.CommandText = "INSERT INTO " & table & " " & insert & "" + cmd.ExecuteNonQuery() + con.Close() + End Sub + + Public Shared Sub DeleteSQL(ByRef table As String, ByRef where As String, Optional ByRef DBConnect As String = "") + If DBConnect = "" Then DBConnect = My.Resources.connStringDISPO + Dim con As New SqlConnection + Dim cmd As New SqlCommand + con.ConnectionString = DBConnect ' My.Resources.connStringDISPO + cmd.Connection = con + + con.Open() + cmd.CommandText = "DELETE FROM " & table & " WHERE " & where & "" + cmd.ExecuteNonQuery() + con.Close() + End Sub + + Public Shared Sub SQLCommand(command As String, Optional ByRef DBConnect As String = "") + If DBConnect = "" Then DBConnect = My.Resources.connStringDISPO + Dim con As New SqlConnection + Dim cmd As New SqlCommand + con.ConnectionString = DBConnect ' My.Resources.connStringDISPO + cmd.Connection = con + + con.Open() + cmd.CommandText = command + cmd.ExecuteNonQuery() + con.Close() + End Sub + + Public Shared Function getUpdateCmd(ByVal list As List(Of SQLVariable), ByVal WhereObject As String, ByRef update As String, ByRef where As String) + + ' Dim list As List(Of SQLVariable) = getparameterlist() + 'Dim str As String + + For Each i In list + If Not i.SQLText = WhereObject Then + update &= "[" & i.SQLText & "]='" & i.SQLValue & "'," + Else + where &= WhereObject & " = '" & i.SQLValue & "'" + End If + Next + update = update.Substring(0, update.Length - 1) 'wg. ',' + ' Return str + + End Function + + Public Shared Function getInsertCmd(ByVal list As List(Of SQLVariable), ByRef insert As String) + + ' Dim list As List(Of SQLVariable) = getparameterlist() + Dim text, value As String + + For Each i In list + text &= i.SQLText & ", " + value &= "'" & i.SQLValue & "', " + Next + text = text.Substring(0, text.Length - 2) + value = value.Substring(0, value.Length - 2) + + insert = "(" & text & ") VALUES (" & value & ")" + + End Function + +End Class + +'Public Class SQLVariable +' Private Text, Value As String +' Private prim As Boolean + +' Public Sub New(ByVal btext As String, ByVal bvalue As String, Optional bprim As Boolean = False) +' Me.Value = bvalue +' Me.Text = btext + +' End Sub + +' Public ReadOnly Property SQLText() As String +' Get +' Return Text +' End Get +' End Property + +' Public ReadOnly Property SQLValue() As Object +' Get +' Return Value +' End Get +' End Property + +'End Class + diff --git a/UID/cUsersettings.vb b/UID/cUsersettings.vb new file mode 100644 index 0000000..9f63b13 --- /dev/null +++ b/UID/cUsersettings.vb @@ -0,0 +1,45 @@ +Imports System.Reflection +Public Class cUsersettings + + Property ChatEnabled As Boolean = True + Property Username As String = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + + + Function GetParaMeterList() As List(Of SQLVariable) + Dim List As New List(Of SQLVariable) + List.Add(New SQLVariable("Username", Username)) + List.Add(New SQLVariable("ChatEnabled", ChatEnabled)) + + Return List + End Function + + Function save() + Dim ds As New DataSet + cSQL.SQL2DS("select * from tblUsersettings where Username = '" & Username & "'", ds) + If ds.Tables(0).Rows.Count > 0 Then + Dim update, where As String + cSQL.getUpdateCmd(GetParaMeterList(), "Username", update, where) + cSQL.UpdateSQL("dbo.tblusersettings", update, where) + Else + Dim insert As String + cSQL.getInsertCmd(GetParaMeterList(), insert) + cSQL.InsertSQL("dbo.tblusersettings", insert) + End If + End Function + + Function load() + Dim ds As New DataSet + cSQL.SQL2DS("select * from tblUsersettings where Username = '" & Username & "'", ds) + If ds.Tables(0).Rows.Count > 0 Then + For Each c As DataColumn In ds.Tables(0).Columns + Dim propInfo As PropertyInfo = Me.GetType.GetProperty(c.ColumnName) + If propInfo IsNot Nothing Then + If Not IsDBNull(c.Table.Rows(0).Item(c)) Then + propInfo.SetValue(Me, c.Table.Rows(0).Item(c)) + End If + End If + Next + End If + End Function + +End Class diff --git a/UID/frmMain/frmMainV2.Designer.vb b/UID/frmMain/frmMainV2.Designer.vb index 1696ec2..73a0c34 100644 --- a/UID/frmMain/frmMainV2.Designer.vb +++ b/UID/frmMain/frmMainV2.Designer.vb @@ -1,9 +1,9 @@ - _ + Partial Class frmMainV2 Inherits System.Windows.Forms.Form 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. - _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then @@ -20,15 +20,20 @@ Partial Class frmMainV2 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. - _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMainV2)) Me.PictureBox1 = New System.Windows.Forms.PictureBox() + Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components) + Me.ChatANAUSToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.PanOben = New System.Windows.Forms.Panel() Me.btnFrachtkosten = New System.Windows.Forms.Button() Me.btnAuftraege = New System.Windows.Forms.Button() Me.btnFirmen = New System.Windows.Forms.Button() Me.PanUnten = New System.Windows.Forms.Panel() + Me.Label20 = New System.Windows.Forms.Label() + Me.picAVISOMessenger = New System.Windows.Forms.PictureBox() Me.btnSchliessen = New System.Windows.Forms.Button() Me.lblVersion = New System.Windows.Forms.Label() Me.btnUpdate = New System.Windows.Forms.Button() @@ -37,9 +42,12 @@ Partial Class frmMainV2 Me.btnKasse = New System.Windows.Forms.Button() Me.PanMain = New System.Windows.Forms.Panel() Me.UidDataSet1 = New DISPO.UIDDataSet() + Me.Timer_Refresh = New System.Windows.Forms.Timer(Me.components) CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.ContextMenuStrip1.SuspendLayout() Me.PanOben.SuspendLayout() Me.PanUnten.SuspendLayout() + CType(Me.picAVISOMessenger, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.UidDataSet1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' @@ -47,12 +55,25 @@ Partial Class frmMainV2 ' Me.PictureBox1.BackgroundImage = Global.DISPO.My.Resources.Resources.dispo Me.PictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.PictureBox1.ContextMenuStrip = Me.ContextMenuStrip1 Me.PictureBox1.Location = New System.Drawing.Point(3, 3) Me.PictureBox1.Name = "PictureBox1" Me.PictureBox1.Size = New System.Drawing.Size(209, 41) Me.PictureBox1.TabIndex = 14 Me.PictureBox1.TabStop = False ' + 'ContextMenuStrip1 + ' + Me.ContextMenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ChatANAUSToolStripMenuItem}) + Me.ContextMenuStrip1.Name = "ContextMenuStrip1" + Me.ContextMenuStrip1.Size = New System.Drawing.Size(147, 26) + ' + 'ChatANAUSToolStripMenuItem + ' + Me.ChatANAUSToolStripMenuItem.Name = "ChatANAUSToolStripMenuItem" + Me.ChatANAUSToolStripMenuItem.Size = New System.Drawing.Size(146, 22) + Me.ChatANAUSToolStripMenuItem.Text = "Chat AN/AUS" + ' 'PanOben ' Me.PanOben.Controls.Add(Me.btnFrachtkosten) @@ -112,6 +133,8 @@ Partial Class frmMainV2 ' 'PanUnten ' + Me.PanUnten.Controls.Add(Me.Label20) + Me.PanUnten.Controls.Add(Me.picAVISOMessenger) Me.PanUnten.Controls.Add(Me.btnSchliessen) Me.PanUnten.Controls.Add(Me.lblVersion) Me.PanUnten.Controls.Add(Me.btnUpdate) @@ -124,6 +147,33 @@ Partial Class frmMainV2 Me.PanUnten.Size = New System.Drawing.Size(1587, 62) Me.PanUnten.TabIndex = 16 ' + 'Label20 + ' + Me.Label20.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.Label20.BackColor = System.Drawing.Color.Red + Me.Label20.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.Label20.ForeColor = System.Drawing.Color.White + Me.Label20.Location = New System.Drawing.Point(1425, 4) + Me.Label20.Name = "Label20" + Me.Label20.Size = New System.Drawing.Size(28, 19) + Me.Label20.TabIndex = 43 + Me.Label20.Text = "99" + Me.Label20.TextAlign = System.Drawing.ContentAlignment.MiddleCenter + Me.Label20.Visible = False + ' + 'picAVISOMessenger + ' + Me.picAVISOMessenger.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.picAVISOMessenger.BackgroundImage = Global.DISPO.My.Resources.Resources.aviso_messenger + Me.picAVISOMessenger.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom + Me.picAVISOMessenger.Cursor = System.Windows.Forms.Cursors.Hand + Me.picAVISOMessenger.Image = Global.DISPO.My.Resources.Resources.aviso_messenger + Me.picAVISOMessenger.Location = New System.Drawing.Point(1394, 4) + Me.picAVISOMessenger.Name = "picAVISOMessenger" + Me.picAVISOMessenger.Size = New System.Drawing.Size(59, 55) + Me.picAVISOMessenger.TabIndex = 42 + Me.picAVISOMessenger.TabStop = False + ' 'btnSchliessen ' Me.btnSchliessen.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) @@ -203,6 +253,11 @@ Partial Class frmMainV2 Me.UidDataSet1.DataSetName = "UIDDataSet" Me.UidDataSet1.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema ' + 'Timer_Refresh + ' + Me.Timer_Refresh.Enabled = True + Me.Timer_Refresh.Interval = 5000 + ' 'frmMainV2 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -217,9 +272,11 @@ Partial Class frmMainV2 Me.Name = "frmMainV2" Me.Text = "DISPO" CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit() + Me.ContextMenuStrip1.ResumeLayout(False) Me.PanOben.ResumeLayout(False) Me.PanUnten.ResumeLayout(False) Me.PanUnten.PerformLayout() + CType(Me.picAVISOMessenger, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.UidDataSet1, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) @@ -239,4 +296,9 @@ Partial Class frmMainV2 Friend WithEvents lblVersion As Label Friend WithEvents btnSchliessen As Button Friend WithEvents UidDataSet1 As UIDDataSet + Friend WithEvents picAVISOMessenger As PictureBox + Friend WithEvents Timer_Refresh As Timer + Friend WithEvents Label20 As Label + Friend WithEvents ContextMenuStrip1 As ContextMenuStrip + Friend WithEvents ChatANAUSToolStripMenuItem As ToolStripMenuItem End Class diff --git a/UID/frmMain/frmMainV2.resx b/UID/frmMain/frmMainV2.resx index 13eb942..c56a8d2 100644 --- a/UID/frmMain/frmMainV2.resx +++ b/UID/frmMain/frmMainV2.resx @@ -117,6 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + 265, 17 + @@ -186,6 +189,9 @@ 17, 17 + + 137, 17 + AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA diff --git a/UID/frmMain/frmMainV2.vb b/UID/frmMain/frmMainV2.vb index bb76594..efd9287 100644 --- a/UID/frmMain/frmMainV2.vb +++ b/UID/frmMain/frmMainV2.vb @@ -1,6 +1,7 @@ Public Class frmMainV2 - + Private Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As IntPtr + Public Shared cUserSettings As New cUsersettings Private Sub UserPanelSwitcher_Click(sender As Button, e As EventArgs) Handles btnFirmen.Click, btnAuftraege.Click, btnFrachtkosten.Click btnFirmen.BackColor = Color.White @@ -46,6 +47,8 @@ Private Sub frmMainV2_Load(sender As Object, e As EventArgs) Handles MyBase.Load lblVersion.Text = "Version: " & My.Resources.Version + cUserSettings.load() + ShowChat() btnAuftraege.PerformClick() End Sub @@ -57,5 +60,101 @@ frmLogin.UpdateDISPO() End Sub + Dim Timer_REFRESH_firstTime = True + Private Sub Timer_REFRESH_Tick(sender As Object, e As EventArgs) Handles Timer_Refresh.Tick + If Timer_REFRESH_firstTime Then + Timer_REFRESH_firstTime = False + Exit Sub + End If + Try + If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_ChatBenutzer And picAVISOMessenger.Visible Then + Dim newMsg = VERAG_PROG_ALLGEMEIN.cMessenger.GET_NewMSG_COUNT() + ' MsgBox(newMsg) + Label20.Text = newMsg + Label20.Visible = (newMsg > 0) + If newMsg Then + ' Me.Icon = My.Resources.avisoNewMsg + + Dim isshown = False + For Each openForm In Application.OpenForms() + If TypeOf (openForm) Is frmNotify Then + isshown = True + End If + Next + + Dim isInFront = False + For Each openForm In Application.OpenForms() + If TypeOf (openForm) Is VERAG_PROG_ALLGEMEIN.frmMessenger Then + ' If DirectCast(openForm, VERAG_PROG_ALLGEMEIN.frmMessenger).Focused Then + If GetActiveWindow = DirectCast(openForm, VERAG_PROG_ALLGEMEIN.frmMessenger).Handle Then + isInFront = True + End If + End If + Next + If Not isshown And Not isInFront Then newNotify(frmNotify.cNotify_ART.NEUER_CHAT, 0, "Neue Chat-Nachricht!", -1) + Else + ' Me.Icon = My.Resources.Aviso + End If + If Label20.Visible Then Label20.BringToFront() + End If + + Catch ex As Exception + + End Try + End Sub + Sub newNotify(art As frmNotify.cNotify_ART, title As Integer, text As String, id As Integer) + ' Exit Sub 'NICHT AKTIV + Dim formTmp = Me.ActiveForm + Dim frmNotify As New frmNotify(art, title, text, id) + frmNotify.TimerInterval = 1200000 ' 20min + + + Dim tmpY As Integer = Me.Height + If tmpY <= 0 Then tmpY = My.Computer.Screen.WorkingArea.Height + + For Each ft As Form In Application.OpenForms + ' MsgBox(ft.GetType.ToString) + If ft.GetType.ToString = "frmNotify" Then + If ft.Location.Y < tmpY Then tmpY = ft.Location.Y + End If + Next + frmNotify.Y = tmpY - frmNotify.Height - 10 + frmNotify.Show() + + ' If formTmp IsNot Nothing Then formTmp.Focus() + End Sub + Private Sub picAVISOMessenger_Click(sender As Object, e As EventArgs) Handles picAVISOMessenger.Click + For Each openForm In Application.OpenForms() + If TypeOf (openForm) Is VERAG_PROG_ALLGEMEIN.frmMessenger Then + CType(openForm, VERAG_PROG_ALLGEMEIN.frmMessenger).WindowState = FormWindowState.Normal + CType(openForm, VERAG_PROG_ALLGEMEIN.frmMessenger).BringToFront() + Exit Sub + End If + Next + + Dim f As New VERAG_PROG_ALLGEMEIN.frmMessenger + f.Location = Cursor.Position + f.Show(Me) + End Sub + + Private Sub ShowChat() + + picAVISOMessenger.Enabled = cUserSettings.ChatEnabled + picAVISOMessenger.Visible = cUserSettings.ChatEnabled + Timer_Refresh.Enabled = cUserSettings.ChatEnabled + End Sub + + 'Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) + ' cUserSettings.ChatEnabled = CheckBox1.Checked + ' picAVISOMessenger.Enabled = CheckBox1.Checked + ' picAVISOMessenger.Visible = CheckBox1.Checked + 'End Sub + + Private Sub ChatANAUSToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ChatANAUSToolStripMenuItem.Click + cUserSettings.ChatEnabled = Not cUserSettings.ChatEnabled + cUserSettings.save() + ShowChat() + End Sub + End Class \ No newline at end of file diff --git a/UID/frmMain/usrcntlAuftraege.vb b/UID/frmMain/usrcntlAuftraege.vb index e5cc8df..c40bc7a 100644 --- a/UID/frmMain/usrcntlAuftraege.vb +++ b/UID/frmMain/usrcntlAuftraege.vb @@ -17,6 +17,21 @@ atr_frachtfab_firma, atr_frachtf_firma, atr_Auftragsart, atr_TransportauftragArt, +Anzahl, +Frächter, +ShortAuftragsart, +(Rechnungen/Anzahl) as Rechnungen, +(Vorkosten/Anzahl) as Vorkosten, +(Marge/Anzahl) as Marge + +from (select +atr_frachtpos, +atr_auftr_firma, +atr_ladest_firma, +atr_frachtfab_firma, +atr_frachtf_firma, +atr_Auftragsart, +atr_TransportauftragArt, count(*) As Anzahl, case when atr_TransportauftragArt = 'NACH' then atr_frachtfab_firma @@ -673,7 +688,7 @@ WHERE " & where & "" Private Sub btnSuchAuswertung_Click(sender As Object, e As EventArgs) Handles btnSuchAuswertung.Click Dim frmAus As New frmAuswertung SQLAuswerungAusAnsicht = Core_SQLAuswertungAusAnsicht & WhereInator3000() & " group by atr_frachtpos, atr_auftr_firma, atr_frachtfAb_firma, atr_frachtf_firma, atr_ladest_firma, atr_Auftragsart, atr_TransportauftragArt--, Anzahl -ORDER BY atr_frachtpos" + ) as db1 ORDER BY atr_frachtpos" frmAus.Niederlassung = returnfil() frmAus.chkStandard.Checked = False frmAus.chkAusSuchererg.Checked = True diff --git a/UID/frmNotify.Designer.vb b/UID/frmNotify.Designer.vb new file mode 100644 index 0000000..4e5cbb3 --- /dev/null +++ b/UID/frmNotify.Designer.vb @@ -0,0 +1,129 @@ + _ +Partial Class frmNotify + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.Timer = New System.Windows.Forms.Timer() + Me.pnl = New System.Windows.Forms.Panel() + Me.lblText = New System.Windows.Forms.Label() + Me.Header = New System.Windows.Forms.Panel() + Me.lblTitle = New System.Windows.Forms.Label() + Me.btnClose = New System.Windows.Forms.Button() + Me.pnl.SuspendLayout() + Me.Header.SuspendLayout() + Me.SuspendLayout() + ' + 'Timer + ' + Me.Timer.Enabled = True + Me.Timer.Interval = 5000 + ' + 'pnl + ' + Me.pnl.BackColor = System.Drawing.Color.White + Me.pnl.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.pnl.Controls.Add(Me.lblText) + Me.pnl.Controls.Add(Me.Header) + Me.pnl.Dock = System.Windows.Forms.DockStyle.Fill + Me.pnl.Location = New System.Drawing.Point(0, 0) + Me.pnl.Name = "pnl" + Me.pnl.Size = New System.Drawing.Size(300, 70) + Me.pnl.TabIndex = 1 + ' + 'lblText + ' + Me.lblText.Cursor = System.Windows.Forms.Cursors.Hand + Me.lblText.Dock = System.Windows.Forms.DockStyle.Fill + Me.lblText.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblText.Location = New System.Drawing.Point(0, 25) + Me.lblText.Name = "lblText" + Me.lblText.Size = New System.Drawing.Size(298, 43) + Me.lblText.TabIndex = 0 + Me.lblText.Text = "Der LKW SD 13 AS steht bereits seit über 2 Stunden! " + Me.lblText.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'Header + ' + Me.Header.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.Header.Controls.Add(Me.lblTitle) + Me.Header.Controls.Add(Me.btnClose) + Me.Header.Dock = System.Windows.Forms.DockStyle.Top + Me.Header.Location = New System.Drawing.Point(0, 0) + Me.Header.Name = "Header" + Me.Header.Size = New System.Drawing.Size(298, 25) + Me.Header.TabIndex = 87 + ' + 'lblTitle + ' + Me.lblTitle.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblTitle.ForeColor = System.Drawing.Color.White + Me.lblTitle.Location = New System.Drawing.Point(3, 0) + Me.lblTitle.Name = "lblTitle" + Me.lblTitle.Size = New System.Drawing.Size(241, 24) + Me.lblTitle.TabIndex = 88 + Me.lblTitle.Text = "LKW Standzeit Benachrichtigung" + Me.lblTitle.TextAlign = System.Drawing.ContentAlignment.MiddleLeft + ' + 'btnClose + ' + Me.btnClose.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnClose.BackColor = System.Drawing.Color.Red + Me.btnClose.FlatAppearance.BorderColor = System.Drawing.Color.White + Me.btnClose.FlatAppearance.BorderSize = 0 + Me.btnClose.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnClose.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnClose.ForeColor = System.Drawing.Color.White + Me.btnClose.Location = New System.Drawing.Point(264, -1) + Me.btnClose.Name = "btnClose" + Me.btnClose.RightToLeft = System.Windows.Forms.RightToLeft.Yes + Me.btnClose.Size = New System.Drawing.Size(35, 25) + Me.btnClose.TabIndex = 86 + Me.btnClose.Text = "X" + Me.btnClose.UseVisualStyleBackColor = False + ' + 'frmNotify + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.AutoSize = True + Me.ClientSize = New System.Drawing.Size(300, 70) + Me.Controls.Add(Me.pnl) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None + Me.MaximumSize = New System.Drawing.Size(300, 300) + Me.MinimumSize = New System.Drawing.Size(100, 70) + Me.Name = "frmNotify" + Me.ShowIcon = False + Me.ShowInTaskbar = False + Me.Text = "frmNotify" + Me.TopMost = True + Me.pnl.ResumeLayout(False) + Me.Header.ResumeLayout(False) + Me.ResumeLayout(False) + + End Sub + Friend WithEvents Timer As System.Windows.Forms.Timer + Friend WithEvents pnl As System.Windows.Forms.Panel + Friend WithEvents btnClose As System.Windows.Forms.Button + Friend WithEvents Header As System.Windows.Forms.Panel + Public WithEvents lblText As System.Windows.Forms.Label + Public WithEvents lblTitle As System.Windows.Forms.Label +End Class diff --git a/UID/frmNotify.resx b/UID/frmNotify.resx new file mode 100644 index 0000000..7ed5960 --- /dev/null +++ b/UID/frmNotify.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/UID/frmNotify.vb b/UID/frmNotify.vb new file mode 100644 index 0000000..927ef4a --- /dev/null +++ b/UID/frmNotify.vb @@ -0,0 +1,113 @@ +Public Class frmNotify + Public Y As Integer = 0 + Public AvisoID As Integer = 0 + + Public TimerInterval = 5000 + + + Public Notify_ART As cNotify_ART + + + Enum cNotify_ART + AVISO_2H + NEUER_CHAT + End Enum + + Protected Overrides ReadOnly Property ShowWithoutActivation() As Boolean + Get + Return True + End Get + End Property + + Sub New(title As String, text As String) + Me.InitializeComponent() + Me.lblTitle.Text = title + Me.lblText.Text = text + End Sub + + Sub New(art As cNotify_ART, typ As Integer, text As String, Optional id As Integer = -1) + Me.InitializeComponent() + Me.Notify_ART = art + + Select Case Notify_ART + Case cNotify_ART.AVISO_2H + + Me.AvisoID = id + Select Case typ + Case 1 + Me.lblTitle.Text = "LKW Standzeit Benachrichtigung" + Me.lblText.Text = "Der LKW '" & text & "' ist vor über 2 Stunden eingetroffen." + Case 2 + Me.lblTitle.Text = "LKW Standzeit - Vermerk eintragen" + Me.lblText.Text = "Der LKW '" & text & "' ist vor über 2 Stunden eingetroffen." & + "Bitte VERMERK eintragen!" + Case 3 + Me.lblTitle.Text = "LKW Standzeit Benachrichtigung" + Me.lblText.Text = "Der LKW '" & text & "' steht bereits über 24 Stunden!" + Me.Header.BackColor = Color.Red + End Select + Case cNotify_ART.NEUER_CHAT + Me.lblTitle.Text = "CHAT Nachricht" + Me.lblText.Text = text + + End Select + + + End Sub + + Private Sub Timer_Tick(sender As Object, e As EventArgs) Handles Timer.Tick + Me.Close() + End Sub + + Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click + Me.Close() + End Sub + + Private Sub frmNotify_Load(sender As Object, e As EventArgs) Handles Me.Load + Timer.Interval = TimerInterval + lblText.Cursor = IIf(AvisoID > 0, Cursors.Hand, Cursors.Default) + 'If Y = 0 Then + 'Me.Location = New Point(Me.Owner.Width - Me.Width - 10, Me.Owner.Height - Me.Height - 10) + ' Else + ' Me.Location = New Point(Me.Owner.Width - Me.Width - 10, Y) + ' End If + Dim WIDTH = Screen.FromRectangle(Me.Bounds).WorkingArea.Size.Width + Dim hEIGHT = Screen.FromRectangle(Me.Bounds).WorkingArea.Size.Width + 'RECHTS UNTEN: + 'If Y = 0 Then + ' Me.Location = New Point(WIDTH - Me.Width - 10, hEIGHT - Me.Height - 10) + 'Else + ' Me.Location = New Point(WIDTH - Me.Width - 10, Y) + 'End If + + If Y = 0 Then + Me.Location = New Point(10, hEIGHT - Me.Height - 10) + Else + Me.Location = New Point(10, Y) + End If + + End Sub + + Private Sub lblText_Click(sender As Object, e As EventArgs) Handles lblText.Click + Select Case Notify_ART + Case cNotify_ART.AVISO_2H + ' frmMain.Details_anzeigen(AvisoID) + Me.Close() + Case cNotify_ART.NEUER_CHAT + For Each openForm In Application.OpenForms() + If TypeOf (openForm) Is VERAG_PROG_ALLGEMEIN.frmMessenger Then + CType(openForm, VERAG_PROG_ALLGEMEIN.frmMessenger).WindowState = FormWindowState.Normal + CType(openForm, VERAG_PROG_ALLGEMEIN.frmMessenger).BringToFront() + Exit Sub + End If + Next + + Dim f As New VERAG_PROG_ALLGEMEIN.frmMessenger + f.Location = Cursor.Position + f.Show() + Me.Close() + End Select + + + End Sub +End Class \ No newline at end of file