diff --git a/AA-Forms/CustomInputBox.cs b/AA-Forms/CustomInputBox.cs index c626372..e70b45b 100644 --- a/AA-Forms/CustomInputBox.cs +++ b/AA-Forms/CustomInputBox.cs @@ -25,8 +25,9 @@ namespace Deckungsbeitrag.AA_Forms } public CustomInputBox(string Frage, string Title, string Eingabe, string numeric) : this() { - if (numeric == "isNumeric") this.isNumeric = true; - if (numeric == "isAlpha") this.isNumeric = false; + if (numeric == "isNumeric") { this.textBoxText.AccessibleName = "isNumeric"; this.isNumeric = true; } + if (numeric == "isAlpha") { this.textBoxText.AccessibleName = "isAlpha"; this.isNumeric = false; } + if (numeric == "isCalc") { this.textBoxText.AccessibleName = "isClac"; this.isNumeric = true; } this.labelFrage.Text = Frage; this.labelEingabe.Text = Eingabe + ":"; this.Text = Title; @@ -36,26 +37,23 @@ namespace Deckungsbeitrag.AA_Forms private void TextBoxText_Click(object sender, EventArgs e) { - this.textBoxText.Clear(); - if (Program.istTouch & Screen.PrimaryScreen.WorkingArea.Width > 0 & Screen.PrimaryScreen.WorkingArea.Width < 2000) - { - if (keyboard == null || keyboard.IsDisposed) - { - keyboard = new QwertzKeyboard(textBoxText, "isNumeric"); - keyboard.Show(); - } - else - { - keyboard.Close(); - keyboard = new QwertzKeyboard(textBoxText, "isNumeric"); - keyboard.Show(); - } - } + TextBox tb = (TextBox)sender; + tb.Clear(); + keyboard = Funktionen.OpenVirtualKeyboard(sender); } private void TextBoxText_Enter(object sender, EventArgs e) { - this.textBoxText.Clear(); - this.textBoxText.SelectAll(); + TextBox tb = (TextBox)sender; + keyboard = Funktionen.OpenVirtualKeyboard(sender); + + this.BeginInvoke(new Action(() => + { + if (!tb.IsDisposed && tb.CanFocus) + { + tb.Focus(); + tb.SelectAll(); + } + })); } private void ButtonAbbrechen_Click(object sender, EventArgs e) diff --git a/AA-Forms/FormAufleger.Designer.cs b/AA-Forms/FormAufleger.Designer.cs index d760a08..2f49c1e 100644 --- a/AA-Forms/FormAufleger.Designer.cs +++ b/AA-Forms/FormAufleger.Designer.cs @@ -325,6 +325,8 @@ this.textBoxScan.Size = new System.Drawing.Size(268, 46); this.textBoxScan.TabIndex = 25; this.textBoxScan.TextChanged += new System.EventHandler(this.TextBoxScan_TextChanged); + this.textBoxScan.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextBoxScan_KeyDown); + this.textBoxScan.Leave += new System.EventHandler(this.TextBoxScan_Leave); // // buttonCloseForm // diff --git a/AA-Forms/FormAufleger.cs b/AA-Forms/FormAufleger.cs index 30f80d3..102edbb 100644 --- a/AA-Forms/FormAufleger.cs +++ b/AA-Forms/FormAufleger.cs @@ -16,6 +16,7 @@ using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; +using static System.Net.Mime.MediaTypeNames; namespace Deckungsbeitrag { @@ -55,8 +56,6 @@ namespace Deckungsbeitrag { await GetAuftraege(); - - this.Invoke(new Action(() => { LoadPanel(); @@ -243,48 +242,10 @@ namespace Deckungsbeitrag { this.Cursor = Cursors.WaitCursor; timer.Stop(); // Timer stoppen - Kunde kunde; - string zusatz = string.Empty; if (string.IsNullOrEmpty(textBoxScan.Text)) { this.Cursor = Cursors.Default; return; } - if (int.TryParse(textBoxScan.Text, out _)) kunde = Kunde.GetKunde(textBoxScan.Text, null, null); - else - { - if (textBoxScan.Text.Contains(",")) - { - kunde = Kunde.GetKunde(textBoxScan.Text.Substring(0, textBoxScan.Text.IndexOf(',')), null, null); - zusatz = textBoxScan.Text.Substring(textBoxScan.Text.IndexOf(',') + 1); - } - else kunde = Kunde.GetKunde(null, null, textBoxScan.Text); - } - // Wenn kein Auftrag gefunden muss der Zettel zum Expedit gebracht werden. ÜBERGANGSZEIT FALLS AUFTRAG NICHT VON FAHRER ERFASST. - if (kunde == null) { MessageBox.Show("Der Auftrag konnte nicht gefunden werden. Bring die Karte zur Mirka.", "ACHTUNG", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } - - List auftList = Auftrag.FindeAuftragVonKunde(kunde, zusatz, null, (DateTime?)null); - if (auftList.Count == 0) { meldung.GetFehler(this, "Es konnte kein Auftrag zum eingescannten Kunden gefunden werden.\nBitte Informiere deinen Vorgesetzten."); return; } - - // Alten Auftrag Speichern (Status Gewaschen) wenn neuer Auftrag gefunden wurde. - if(auftrag != null) - { - if (AuftragSpeichern() == false) return; - iswechsel = true; - } - if (auftList.Count == 1) auftrag = auftList[0]; - if (auftList.Count > 1) - { - if (meldung.GetFrage(this, $"Es konnten mehrere Aufträge für den gescannten Kunden gefunden werden.\nIst auf der Containerkarte Auftrag 2 vermerkt?", false) == DialogResult.Yes) - { - auftrag = auftList.Find(a => a.ZusatzInfo.Contains("Auftrag 2")); - } - else - { - auftrag = auftList.Find(a => !a.ZusatzInfo.Contains("Auftrag 2")); - } - } - - SucheAuftrag(); - this.Cursor = Cursors.Default; + TextBoxScan_Leave(this.textBoxScan, null); } private void SucheAuftrag() { @@ -313,6 +274,7 @@ namespace Deckungsbeitrag private bool AuftragSpeichern() { auftrag.Status = AuftragStatus.Gewaschen; + auftrag.MaschineID = null; if (auftrag.Save()[0] == 1) auftrag = null; else { meldung.Speicherfehler(); return false; } @@ -320,8 +282,13 @@ namespace Deckungsbeitrag } private void FormAufleger_FormClosing(object sender, FormClosingEventArgs e) { - //if (auftrag == null) return; - //if (AuftragSpeichern() == false) e.Cancel = true; + if (this.auftrag != null) + { + if (this.auftrag.Status == AuftragStatus.Aufgelegt) + { + AuftragSpeichern(); + } + } } private void ButtonCloseForm_Click(object sender, EventArgs e) { @@ -349,5 +316,76 @@ namespace Deckungsbeitrag meldung.GetInfo(this, $"Die Waschzeiten für den gewünschten Tag lauten:\n\n[Eine Waschstraße] => {zeit[0]:F1} Stunden\n[Zwei Waschstraßen] => {zeit[1]:F1} Stunden", false); } + + private void TextBoxScan_KeyDown(object sender, KeyEventArgs e) + { + TextBox txtScan = (TextBox)sender; + if (e.KeyCode == Keys.Enter) + { + e.SuppressKeyPress = true; + string code = txtScan.Text.Trim(); + //txtScan.Clear(); + + if (!string.IsNullOrEmpty(code)) + TextBoxScan_Leave(txtScan, null); + } + + } + + private void TextBoxScan_Leave(object sender, EventArgs e) + { + TextBox textBox = (TextBox)sender; + Kunde _kunde; + string zusatz = string.Empty; + string text = string.Empty; + if (string.IsNullOrWhiteSpace(textBox.Text)) { this.Cursor = Cursors.Default; return; } + + if (textBox.Text.ToLower().StartsWith("scanhttps")) + { + int index = 1; + index += textBox.Text.IndexOf("=", index); + int i = textBox.Text.IndexOf("%", index); + text = textBox.Text.Substring(index, i - index); + textBox.Text = text; + } + else text = textBox.Text; + + if (int.TryParse(text, out int j)) _kunde = Kunde.GetKunde(text, null, null); + else _kunde = Kunde.GetKunde(null, null, text.ToLower()); + + // Wenn kein Auftrag gefunden muss der Zettel zum Expedit gebracht werden. ÜBERGANGSZEIT FALLS AUFTRAG NICHT VON FAHRER ERFASST. + if (_kunde == null) { MessageBox.Show("Der Auftrag konnte nicht gefunden werden. Bring die Karte zur Mirka.", "ACHTUNG", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } + + List auftList = Auftrag.FindeAuftragVonKunde(_kunde, zusatz, null, (DateTime?)null); + if (auftList.Count == 0) { meldung.GetFehler(this, "Es konnte kein Auftrag zugewünschten Kunden gefunden werden.\nBitte Informiere deinen Vorgesetzten."); return; } + + // Alten Auftrag Speichern (Status Gewaschen) wenn neuer Auftrag gefunden wurde. + if (auftrag != null) + { + if (!AuftragSpeichern()) return; + iswechsel = true; + } + if (auftList.Count == 1) auftrag = auftList[0]; + if (auftList.Count > 1) + { + if (meldung.GetFrage(this, $"Es konnten mehrere Aufträge für den gescannten Kunden gefunden werden.\nIst auf der Containerkarte Auftrag 2 vermerkt?", false) == DialogResult.Yes) + { + auftrag = auftList.Find(a => a.ZusatzInfo.Contains("Auftrag 2")); + } + else + { + auftrag = auftList.Find(a => !a.ZusatzInfo.Contains("Auftrag 2")); + } + } + + FormMSAuswahl auswahl = new FormMSAuswahl(); + if (auswahl.ShowDialog() == DialogResult.OK) + { + auftrag.MaschineID = auswahl.id; + } + + SucheAuftrag(); + this.Cursor = Cursors.Default; + } } } \ No newline at end of file diff --git a/AA-Forms/FormAuftragAuswahl.Designer.cs b/AA-Forms/FormAuftragAuswahl.Designer.cs index 2ac3142..2ae0ef3 100644 --- a/AA-Forms/FormAuftragAuswahl.Designer.cs +++ b/AA-Forms/FormAuftragAuswahl.Designer.cs @@ -31,6 +31,7 @@ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAuftragAuswahl)); this.panelAuswahl = new System.Windows.Forms.FlowLayoutPanel(); this.panelSuchen = new System.Windows.Forms.Panel(); + this.buttonAbbrechen = new System.Windows.Forms.Button(); this.textBoxKunde = new System.Windows.Forms.TextBox(); this.panelSuchen.SuspendLayout(); this.SuspendLayout(); @@ -41,37 +42,56 @@ | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.panelAuswahl.AutoScroll = true; - this.panelAuswahl.AutoScrollMargin = new System.Drawing.Size(20, 20); + this.panelAuswahl.AutoScrollMargin = new System.Drawing.Size(100, 100); this.panelAuswahl.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; this.panelAuswahl.Location = new System.Drawing.Point(0, 70); this.panelAuswahl.Margin = new System.Windows.Forms.Padding(0); this.panelAuswahl.Name = "panelAuswahl"; - this.panelAuswahl.Padding = new System.Windows.Forms.Padding(20); - this.panelAuswahl.Size = new System.Drawing.Size(1674, 928); + this.panelAuswahl.Padding = new System.Windows.Forms.Padding(20, 20, 133, 20); + this.panelAuswahl.Size = new System.Drawing.Size(1675, 928); this.panelAuswahl.TabIndex = 0; // // panelSuchen // this.panelSuchen.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(1)))), ((int)(((byte)(53)))), ((int)(((byte)(101))))); + this.panelSuchen.Controls.Add(this.buttonAbbrechen); this.panelSuchen.Controls.Add(this.textBoxKunde); this.panelSuchen.Dock = System.Windows.Forms.DockStyle.Top; this.panelSuchen.Location = new System.Drawing.Point(0, 0); this.panelSuchen.Margin = new System.Windows.Forms.Padding(5); this.panelSuchen.Name = "panelSuchen"; this.panelSuchen.Padding = new System.Windows.Forms.Padding(15); - this.panelSuchen.Size = new System.Drawing.Size(1674, 65); + this.panelSuchen.Size = new System.Drawing.Size(1675, 65); this.panelSuchen.TabIndex = 1; // + // buttonAbbrechen + // + this.buttonAbbrechen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.buttonAbbrechen.BackColor = System.Drawing.Color.Red; + this.buttonAbbrechen.FlatAppearance.BorderSize = 0; + this.buttonAbbrechen.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.buttonAbbrechen.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.buttonAbbrechen.ForeColor = System.Drawing.Color.Black; + this.buttonAbbrechen.Location = new System.Drawing.Point(1360, 10); + this.buttonAbbrechen.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.buttonAbbrechen.Name = "buttonAbbrechen"; + this.buttonAbbrechen.Size = new System.Drawing.Size(300, 46); + this.buttonAbbrechen.TabIndex = 2; + this.buttonAbbrechen.Text = "Eingabe Abbrechen"; + this.buttonAbbrechen.UseVisualStyleBackColor = false; + this.buttonAbbrechen.Click += new System.EventHandler(this.buttonAbbrechen_Click); + // // textBoxKunde // + this.textBoxKunde.AccessibleName = "isAlpha"; this.textBoxKunde.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.textBoxKunde.Font = new System.Drawing.Font("Microsoft Sans Serif", 19.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.textBoxKunde.ForeColor = System.Drawing.Color.Silver; - this.textBoxKunde.Location = new System.Drawing.Point(10, 10); - this.textBoxKunde.Margin = new System.Windows.Forms.Padding(10); + this.textBoxKunde.Location = new System.Drawing.Point(11, 10); + this.textBoxKunde.Margin = new System.Windows.Forms.Padding(11, 10, 11, 10); this.textBoxKunde.Name = "textBoxKunde"; - this.textBoxKunde.Size = new System.Drawing.Size(1654, 45); + this.textBoxKunde.Size = new System.Drawing.Size(1333, 45); this.textBoxKunde.TabIndex = 1; this.textBoxKunde.Text = "Kunde suchen"; this.textBoxKunde.Click += new System.EventHandler(this.TextBoxKunde_Click); @@ -81,13 +101,15 @@ // this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(1674, 998); + this.ClientSize = new System.Drawing.Size(1675, 998); this.Controls.Add(this.panelSuchen); this.Controls.Add(this.panelAuswahl); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); this.Name = "FormAuftragAuswahl"; this.Text = "Auftrag wählen"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormAuftragAuswahl_FormClosing); this.Load += new System.EventHandler(this.FormAuftragAuswahl_Load); this.Shown += new System.EventHandler(this.FormAuftragAuswahl_Shown); this.panelSuchen.ResumeLayout(false); @@ -101,5 +123,6 @@ private System.Windows.Forms.FlowLayoutPanel panelAuswahl; private System.Windows.Forms.Panel panelSuchen; private System.Windows.Forms.TextBox textBoxKunde; + private System.Windows.Forms.Button buttonAbbrechen; } } \ No newline at end of file diff --git a/AA-Forms/FormAuftragAuswahl.cs b/AA-Forms/FormAuftragAuswahl.cs index efc165b..f9674de 100644 --- a/AA-Forms/FormAuftragAuswahl.cs +++ b/AA-Forms/FormAuftragAuswahl.cs @@ -25,6 +25,33 @@ namespace Deckungsbeitrag.AA_Forms public Kunde kunde; public Auftrag auftrag; private Screen screen = Screen.PrimaryScreen; + private bool _keyboardVisible; + public bool KeyBoardVisible + { + get { return _keyboardVisible; } + set + { + _keyboardVisible = value; + if (KeyBoardVisible) + { + this.Width = screen.WorkingArea.Width; + this.Height = (int)(screen.WorkingArea.Height * 0.55); + this.Location = new Point(0, 0); + + this.panelAuswahl.Height = this.Bottom - this.panelSuchen.Bottom - 20; + + } + else + { + this.Width = screen.WorkingArea.Width; + this.Height = screen.WorkingArea.Height; + this.Location = new Point(0, 0); + + this.panelAuswahl.Height = this.Bottom - this.panelSuchen.Bottom - 20; + + } + } + } public FormAuftragAuswahl() { @@ -51,7 +78,6 @@ namespace Deckungsbeitrag.AA_Forms { this.Auftragliste = await View_Auftrag_Expedit.GetAuftragExpeditAsync(statusFilter: AuftragStatus.Gewaschen, kategorie: Abteilung); } - private async void Load_PanelAuswahl(List _liste) { this.panelAuswahl.Controls.Clear(); @@ -110,10 +136,12 @@ namespace Deckungsbeitrag.AA_Forms this.DialogResult = DialogResult.OK; this.Close(); } - private void TextBoxKunde_TextChanged(object sender, EventArgs e) + private async void TextBoxKunde_TextChanged(object sender, EventArgs e) { TextBox textbox = sender as TextBox; string text = textbox.Text.Trim().ToLower(); + this.Auftragliste = await View_Auftrag_Expedit.GetAuftragExpeditAsync(statusFilter: AuftragStatus.Gewaschen, kategorie: Abteilung, undFertig: true); + if (!string.IsNullOrWhiteSpace(text)) { var filtered = string.IsNullOrWhiteSpace(text) ? this.Auftragliste : this.Auftragliste.Where(x => x.KundeName != null && x.KundeName.ToLower().Contains(text)).ToList(); @@ -125,34 +153,56 @@ namespace Deckungsbeitrag.AA_Forms private void TextBoxKunde_Click(object sender, EventArgs e) { - TextBox textbox = sender as TextBox; - textbox.Clear(); - textbox.ForeColor = Color.Black; + TextBox tb = sender as TextBox; + tb.Clear(); + tb.ForeColor = Color.Black; - if (Program.istTouch & Screen.PrimaryScreen.WorkingArea.Width > 0 & Screen.PrimaryScreen.WorkingArea.Width < 2000) + keyboard = Funktionen.OpenVirtualKeyboard(sender); + keyboard.KeyBoardShown += KeyBoardShown; + keyboard.KeyBoardClosed += KeyBoardClosed; + + this.BeginInvoke(new Action(() => { - if (keyboard == null || keyboard.IsDisposed) + if (!tb.IsDisposed && tb.CanFocus) { - keyboard = new QwertzKeyboard(textBoxKunde, "isAlpha"); - keyboard.Show(); + tb.Focus(); + tb.SelectAll(); } - else - { - keyboard.Close(); - keyboard = new QwertzKeyboard(textBoxKunde, "isAlpha"); - if (keyboard.ShowDialog() == DialogResult.OK) this.ActiveControl.Focus(); - } - } + })); + } + + private void KeyBoardClosed(object sender, EventArgs e) + { + KeyBoardVisible = false; + } + + private void KeyBoardShown(object sender, EventArgs e) + { + KeyBoardVisible = true; } private void FormAuftragAuswahl_Shown(object sender, EventArgs e) { this.Width = screen.WorkingArea.Width; - this.Height = (int)(screen.WorkingArea.Height * 0.60); + this.Height = screen.WorkingArea.Height; this.Location = new Point(0, 0); this.panelAuswahl.Height = this.Bottom - this.panelSuchen.Bottom - 20; } + private async void buttonAbbrechen_Click(object sender, EventArgs e) + { + this.textBoxKunde.Clear(); + this.textBoxKunde.ForeColor = Color.Silver; + this.textBoxKunde.Text = "Kunde suchen"; + + await GetAuftragliste(); + Load_PanelAuswahl(this.Auftragliste); + } + + private void FormAuftragAuswahl_FormClosing(object sender, FormClosingEventArgs e) + { + if (this.kunde == null & this.auftrag == null) this.DialogResult = DialogResult.Cancel; + } } } diff --git a/AA-Forms/FormAuftragDetail.cs b/AA-Forms/FormAuftragDetail.cs index 94b8980..006ae8c 100644 --- a/AA-Forms/FormAuftragDetail.cs +++ b/AA-Forms/FormAuftragDetail.cs @@ -269,7 +269,19 @@ namespace Deckungsbeitrag } kndart.Save(); } - goto default; + if (auftragDictionary.Count > 0) + { + foreach (var kvp in auftragDictionary) + { + AuftragArtikel aufart = AuftragArtikel.GetArtikel(kvp.Key); + aufart.Gesamt -= (int)kvp.Value; + if (aufart.Gesamt == 0) aufart.Erledigt = true; + else { aufart.Erledigt = false; Toclose = false; } + aufart.Save(); + } + } + + break; } case AuftragTyp.SOLL_Verminderung: { @@ -353,7 +365,7 @@ namespace Deckungsbeitrag { if (MessageBox.Show("Möchtest du JETZT Etiketten für die erfolgten Änderung drucken?", "FRAGE", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { - if (Funktionen.SonderEtikett_Drucken(this.auftrag.KundeID, dictionary) == DialogResult.OK) + if (Funktionen.SonderEtikett_Drucken(this.auftrag.KundeID, dictionary, this.auftrag) == DialogResult.OK) { etikettgedruckt = true; } @@ -566,8 +578,15 @@ namespace Deckungsbeitrag if (item.Checked) { auftragArtikel.Erledigt = true; - int oldValue = auftragArtikel.Anzahl; + int oldValue = auftragArtikel.Gesamt; int newValue = 0; + if (this.auftrag.Typ == AuftragTyp.Inventur) + { + newValue = auftragArtikel.Gesamt; + oldValue = auftragArtikel.Anzahl; + } + + ChangeAnzahl(newValue, oldValue, auftragArtikel); } else auftragArtikel.Erledigt = false; @@ -689,7 +708,8 @@ namespace Deckungsbeitrag { KundeArtikel kndart; if (this.auftrag.Typ == AuftragTyp.SOLL_Verminderung) if (newValue > 0) newValue *= -1; - diff = oldvalue - (newValue); + if (this.auftrag.Typ != AuftragTyp.Inventur || (this.auftrag.Typ == AuftragTyp.Inventur && newValue == 0)) diff = oldvalue - (newValue); + else diff = newValue; if (diff != 0) Tosave = true; if (_artikel is AuftragArtikel auftragArtikel) @@ -746,34 +766,6 @@ namespace Deckungsbeitrag ChangeAnzahl(newValue, oldValue, auftragArtikel); - //if (this.auftrag.Typ == AuftragTyp.SOLL_Verminderung) if (newValue > 0) newValue = newValue * -1; - //if (e.Column.Text == "Anzahl") diff = (int)e.Value - (newValue); - //if (diff != 0) Tosave = true; - - //if (auftragDictionary.TryGetValue((int)auftragArtikel.AuftragArtikelID, out int val)) - //{ - // val = newValue; - // if (newValue == 0) e.ListViewItem.Checked = true; - //} - //else auftragDictionary.Add((int)auftragArtikel.AuftragArtikelID, newValue); - - //KundeArtikel kndart = KundeArtikel.GetKundeArtikelVonArtikelID(this.kunde.KundeID, auftragArtikel.ArtikelID); - - //int reklamation = kndart.Reklamation; - //int fehlmenge = kndart.Fehlmenge; - //int stand = kndart.Stand; - //int korrektur = kndart.Korrektur; - //KorrigiereBestand(diff, ref reklamation, ref fehlmenge, ref stand, ref korrektur); - - //if (dictionary.TryGetValue((int)kndart.KundeArtikelID, out int[] value)) - //{ - // for (int i = 0; i < value.Length; i++) - // { - // value[i] += bestand[i]; - // } - //} - //else dictionary.Add((int)kndart.KundeArtikelID, bestand); - ////WriteToCSV(kndart); this.ResumeLayout(); this.Cursor = Cursors.Default; diff --git a/AA-Forms/FormEinstellung.cs b/AA-Forms/FormEinstellung.cs index 8904abf..7aa9698 100644 --- a/AA-Forms/FormEinstellung.cs +++ b/AA-Forms/FormEinstellung.cs @@ -41,12 +41,38 @@ namespace Deckungsbeitrag if (x.GetType() == typeof(Benutzer)) { this.benutzer = (Benutzer)x; - if (benutzer.Rolle == BenutzerRolle.Expedit) + switch (this.benutzer.Rolle) { - foreach (TabPage tP in this.tabControlEinstellung.TabPages) - { - if (!tP.Name.Contains("Drucker")) this.tabControlEinstellung.Controls.Remove(tP); - } + case BenutzerRolle.Verwaltung: + break; + case BenutzerRolle.Fahrer: + goto default; + case BenutzerRolle.Admin: + break; + case BenutzerRolle.Waschstrasse: + goto default; + case BenutzerRolle.Master: + break; + case BenutzerRolle.Expedit: + foreach (TabPage tP in this.tabControlEinstellung.TabPages) + { + if (!tP.Name.Contains("Drucker") & !tP.Name.Contains("Allgemein")) this.tabControlEinstellung.Controls.Remove(tP); + } + break; + case BenutzerRolle.Frottee: + foreach (TabPage tP in this.tabControlEinstellung.TabPages) + { + if (!tP.Name.Contains("Drucker") & !tP.Name.Contains("Allgemein")) this.tabControlEinstellung.Controls.Remove(tP); + } + break; + case BenutzerRolle.Flach: + goto default; + default: + foreach (TabPage tP in this.tabControlEinstellung.TabPages) + { + this.tabControlEinstellung.Controls.Remove(tP); + } + break; } } } @@ -80,9 +106,9 @@ namespace Deckungsbeitrag this.textBoxRatingbild.Text = ConfigurationManager.AppSettings["BildPfad"]; // Ab hier wurde bereits auf UserSettingsManager umgebaut. - this.comboBoxEtikettDrucker.SelectedText = _settings.DruckerEtikett; - this.comboBoxTourenlisteDrucker.SelectedText = _settings.DruckerTourenListe; - this.comboBoxSWSDrucker.SelectedText = _settings.DruckerSWS; + this.comboBoxEtikettDrucker.Text = _settings.DruckerEtikett; + this.comboBoxTourenlisteDrucker.Text = _settings.DruckerTourenListe; + this.comboBoxSWSDrucker.Text = _settings.DruckerSWS; this.numericUpDownSWSKopien.Value = _settings.CopiesSWS; diff --git a/AA-Forms/FormExpedit.Designer.cs b/AA-Forms/FormExpedit.Designer.cs index 2824bd4..1e5ea59 100644 --- a/AA-Forms/FormExpedit.Designer.cs +++ b/AA-Forms/FormExpedit.Designer.cs @@ -60,6 +60,7 @@ this.kleinteileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.frotteeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.großteileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.spannleintuchBeendetToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.auftraginfoAnsehenToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.aufgabeErledigtToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.auftragVerschiebenToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -213,9 +214,9 @@ this.flowLayoutPanel1.Controls.Add(this.labelZusatz); this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; - this.flowLayoutPanel1.Location = new System.Drawing.Point(3, 26); + this.flowLayoutPanel1.Location = new System.Drawing.Point(3, 22); this.flowLayoutPanel1.Name = "flowLayoutPanel1"; - this.flowLayoutPanel1.Size = new System.Drawing.Size(287, 154); + this.flowLayoutPanel1.Size = new System.Drawing.Size(287, 158); this.flowLayoutPanel1.TabIndex = 0; // // labelAnmerkung @@ -225,7 +226,7 @@ this.labelAnmerkung.ForeColor = System.Drawing.Color.Red; this.labelAnmerkung.Location = new System.Drawing.Point(3, 0); this.labelAnmerkung.Name = "labelAnmerkung"; - this.labelAnmerkung.Size = new System.Drawing.Size(70, 25); + this.labelAnmerkung.Size = new System.Drawing.Size(57, 20); this.labelAnmerkung.TabIndex = 2; this.labelAnmerkung.Text = "label2"; // @@ -233,9 +234,9 @@ // this.labelAufgabe.AutoSize = true; this.labelAufgabe.Dock = System.Windows.Forms.DockStyle.Fill; - this.labelAufgabe.Location = new System.Drawing.Point(3, 25); + this.labelAufgabe.Location = new System.Drawing.Point(3, 20); this.labelAufgabe.Name = "labelAufgabe"; - this.labelAufgabe.Size = new System.Drawing.Size(70, 25); + this.labelAufgabe.Size = new System.Drawing.Size(57, 20); this.labelAufgabe.TabIndex = 3; this.labelAufgabe.Text = "label3"; // @@ -243,9 +244,9 @@ // this.labelZusatz.AutoSize = true; this.labelZusatz.Dock = System.Windows.Forms.DockStyle.Fill; - this.labelZusatz.Location = new System.Drawing.Point(3, 50); + this.labelZusatz.Location = new System.Drawing.Point(3, 40); this.labelZusatz.Name = "labelZusatz"; - this.labelZusatz.Size = new System.Drawing.Size(70, 25); + this.labelZusatz.Size = new System.Drawing.Size(57, 20); this.labelZusatz.TabIndex = 4; this.labelZusatz.Text = "label4"; // @@ -299,9 +300,9 @@ // tabPageRampe // this.tabPageRampe.Controls.Add(this.objectListViewRampe); - this.tabPageRampe.Location = new System.Drawing.Point(4, 39); + this.tabPageRampe.Location = new System.Drawing.Point(4, 34); this.tabPageRampe.Name = "tabPageRampe"; - this.tabPageRampe.Size = new System.Drawing.Size(1170, 579); + this.tabPageRampe.Size = new System.Drawing.Size(1170, 584); this.tabPageRampe.TabIndex = 3; this.tabPageRampe.Text = "Rampe"; this.tabPageRampe.UseVisualStyleBackColor = true; @@ -320,7 +321,7 @@ this.objectListViewRampe.Location = new System.Drawing.Point(0, 0); this.objectListViewRampe.Name = "objectListViewRampe"; this.objectListViewRampe.SelectColumnsOnRightClickBehaviour = BrightIdeasSoftware.ObjectListView.ColumnSelectBehaviour.Submenu; - this.objectListViewRampe.Size = new System.Drawing.Size(1170, 579); + this.objectListViewRampe.Size = new System.Drawing.Size(1170, 584); this.objectListViewRampe.Sorting = System.Windows.Forms.SortOrder.Ascending; this.objectListViewRampe.TabIndex = 2; this.objectListViewRampe.TintSortColumn = true; @@ -346,7 +347,7 @@ this.auftragVerschiebenToolStripMenuItem, this.auftragLöschenToolStripMenuItem}); this.contextMenuStripExpedit.Name = "contextMenuStripExpedit"; - this.contextMenuStripExpedit.Size = new System.Drawing.Size(240, 134); + this.contextMenuStripExpedit.Size = new System.Drawing.Size(204, 134); this.contextMenuStripExpedit.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripExpedit_Opening); // // bearbeitenToolStripMenuItem @@ -360,7 +361,7 @@ this.abteilungStatusToolStripMenuItem}); this.bearbeitenToolStripMenuItem.Image = global::Deckungsbeitrag.Properties.Resources.PenOne_16x; this.bearbeitenToolStripMenuItem.Name = "bearbeitenToolStripMenuItem"; - this.bearbeitenToolStripMenuItem.Size = new System.Drawing.Size(239, 26); + this.bearbeitenToolStripMenuItem.Size = new System.Drawing.Size(203, 26); this.bearbeitenToolStripMenuItem.Text = "Bearbeiten"; this.bearbeitenToolStripMenuItem.DropDownOpening += new System.EventHandler(this.ContextMenuStrip_DropDownOpening); // @@ -368,7 +369,7 @@ // this.liefertagToolStripMenuItem.AccessibleName = "Liefertag"; this.liefertagToolStripMenuItem.Name = "liefertagToolStripMenuItem"; - this.liefertagToolStripMenuItem.Size = new System.Drawing.Size(227, 26); + this.liefertagToolStripMenuItem.Size = new System.Drawing.Size(184, 22); this.liefertagToolStripMenuItem.Text = "Liefertag"; this.liefertagToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuStripBearbeiten_Click); // @@ -376,7 +377,7 @@ // this.statusToolStripMenuItem.AccessibleName = "Status"; this.statusToolStripMenuItem.Name = "statusToolStripMenuItem"; - this.statusToolStripMenuItem.Size = new System.Drawing.Size(227, 26); + this.statusToolStripMenuItem.Size = new System.Drawing.Size(184, 22); this.statusToolStripMenuItem.Text = "Status"; this.statusToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuStripBearbeiten_Click); // @@ -384,7 +385,7 @@ // this.containerSauberToolStripMenuItem.AccessibleName = "ContainerClean"; this.containerSauberToolStripMenuItem.Name = "containerSauberToolStripMenuItem"; - this.containerSauberToolStripMenuItem.Size = new System.Drawing.Size(227, 26); + this.containerSauberToolStripMenuItem.Size = new System.Drawing.Size(184, 22); this.containerSauberToolStripMenuItem.Text = "Container Sauber"; this.containerSauberToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuStripBearbeiten_Click); // @@ -392,7 +393,7 @@ // this.containerSchmutzigToolStripMenuItem.AccessibleName = "ContainerDirt"; this.containerSchmutzigToolStripMenuItem.Name = "containerSchmutzigToolStripMenuItem"; - this.containerSchmutzigToolStripMenuItem.Size = new System.Drawing.Size(227, 26); + this.containerSchmutzigToolStripMenuItem.Size = new System.Drawing.Size(184, 22); this.containerSchmutzigToolStripMenuItem.Text = "Container schmutzig"; this.containerSchmutzigToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuStripBearbeiten_Click); // @@ -400,7 +401,7 @@ // this.tourToolStripMenuItem.AccessibleName = "Tour"; this.tourToolStripMenuItem.Name = "tourToolStripMenuItem"; - this.tourToolStripMenuItem.Size = new System.Drawing.Size(227, 26); + this.tourToolStripMenuItem.Size = new System.Drawing.Size(184, 22); this.tourToolStripMenuItem.Text = "Tour"; this.tourToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuStripBearbeiten_Click); // @@ -409,16 +410,17 @@ this.abteilungStatusToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.kleinteileToolStripMenuItem, this.frotteeToolStripMenuItem, - this.großteileToolStripMenuItem}); + this.großteileToolStripMenuItem, + this.spannleintuchBeendetToolStripMenuItem}); this.abteilungStatusToolStripMenuItem.Name = "abteilungStatusToolStripMenuItem"; - this.abteilungStatusToolStripMenuItem.Size = new System.Drawing.Size(227, 26); + this.abteilungStatusToolStripMenuItem.Size = new System.Drawing.Size(184, 22); this.abteilungStatusToolStripMenuItem.Text = "Abteilung Status"; // // kleinteileToolStripMenuItem // this.kleinteileToolStripMenuItem.AccessibleName = "Kleinteile"; this.kleinteileToolStripMenuItem.Name = "kleinteileToolStripMenuItem"; - this.kleinteileToolStripMenuItem.Size = new System.Drawing.Size(224, 26); + this.kleinteileToolStripMenuItem.Size = new System.Drawing.Size(196, 22); this.kleinteileToolStripMenuItem.Text = "Kleinteile beendet"; this.kleinteileToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuStripAbteilungStatus_Click); // @@ -426,7 +428,7 @@ // this.frotteeToolStripMenuItem.AccessibleName = "Frottee"; this.frotteeToolStripMenuItem.Name = "frotteeToolStripMenuItem"; - this.frotteeToolStripMenuItem.Size = new System.Drawing.Size(224, 26); + this.frotteeToolStripMenuItem.Size = new System.Drawing.Size(196, 22); this.frotteeToolStripMenuItem.Text = "Frottee beendet"; this.frotteeToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuStripAbteilungStatus_Click); // @@ -434,15 +436,23 @@ // this.großteileToolStripMenuItem.AccessibleName = "Grossteile"; this.großteileToolStripMenuItem.Name = "großteileToolStripMenuItem"; - this.großteileToolStripMenuItem.Size = new System.Drawing.Size(224, 26); + this.großteileToolStripMenuItem.Size = new System.Drawing.Size(196, 22); this.großteileToolStripMenuItem.Text = "Großteile beendet"; this.großteileToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuStripAbteilungStatus_Click); // + // spannleintuchBeendetToolStripMenuItem + // + this.spannleintuchBeendetToolStripMenuItem.AccessibleName = "Spannleintuch"; + this.spannleintuchBeendetToolStripMenuItem.Name = "spannleintuchBeendetToolStripMenuItem"; + this.spannleintuchBeendetToolStripMenuItem.Size = new System.Drawing.Size(196, 22); + this.spannleintuchBeendetToolStripMenuItem.Text = "Spannleintuch beendet"; + this.spannleintuchBeendetToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuStripAbteilungStatus_Click); + // // auftraginfoAnsehenToolStripMenuItem // this.auftraginfoAnsehenToolStripMenuItem.Image = global::Deckungsbeitrag.Properties.Resources.InformationSymbol_16x; this.auftraginfoAnsehenToolStripMenuItem.Name = "auftraginfoAnsehenToolStripMenuItem"; - this.auftraginfoAnsehenToolStripMenuItem.Size = new System.Drawing.Size(239, 26); + this.auftraginfoAnsehenToolStripMenuItem.Size = new System.Drawing.Size(203, 26); this.auftraginfoAnsehenToolStripMenuItem.Text = "Auftraginfo ansehen"; this.auftraginfoAnsehenToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuStripAuftragInfo_Click); // @@ -450,7 +460,7 @@ // this.aufgabeErledigtToolStripMenuItem.Image = global::Deckungsbeitrag.Properties.Resources.Checkmark_blue_16x; this.aufgabeErledigtToolStripMenuItem.Name = "aufgabeErledigtToolStripMenuItem"; - this.aufgabeErledigtToolStripMenuItem.Size = new System.Drawing.Size(239, 26); + this.aufgabeErledigtToolStripMenuItem.Size = new System.Drawing.Size(203, 26); this.aufgabeErledigtToolStripMenuItem.Text = "Aufgabe erledigt"; this.aufgabeErledigtToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuStripAufgabeErledigt_Click); // @@ -458,7 +468,7 @@ // this.auftragVerschiebenToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("auftragVerschiebenToolStripMenuItem.Image"))); this.auftragVerschiebenToolStripMenuItem.Name = "auftragVerschiebenToolStripMenuItem"; - this.auftragVerschiebenToolStripMenuItem.Size = new System.Drawing.Size(239, 26); + this.auftragVerschiebenToolStripMenuItem.Size = new System.Drawing.Size(203, 26); this.auftragVerschiebenToolStripMenuItem.Text = "In Aufträge Verschieben"; this.auftragVerschiebenToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuStripAuftragVerschieben_Click); // @@ -466,17 +476,17 @@ // this.auftragLöschenToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("auftragLöschenToolStripMenuItem.Image"))); this.auftragLöschenToolStripMenuItem.Name = "auftragLöschenToolStripMenuItem"; - this.auftragLöschenToolStripMenuItem.Size = new System.Drawing.Size(239, 26); + this.auftragLöschenToolStripMenuItem.Size = new System.Drawing.Size(203, 26); this.auftragLöschenToolStripMenuItem.Text = "Auftrag Löschen"; this.auftragLöschenToolStripMenuItem.Click += new System.EventHandler(this.ContextMenuStripAuftragDelete_Click); // // tabPageSonder // this.tabPageSonder.Controls.Add(this.objectListViewSonder); - this.tabPageSonder.Location = new System.Drawing.Point(4, 39); + this.tabPageSonder.Location = new System.Drawing.Point(4, 34); this.tabPageSonder.Name = "tabPageSonder"; this.tabPageSonder.Padding = new System.Windows.Forms.Padding(3); - this.tabPageSonder.Size = new System.Drawing.Size(1170, 579); + this.tabPageSonder.Size = new System.Drawing.Size(1170, 584); this.tabPageSonder.TabIndex = 1; this.tabPageSonder.Text = "Sonderaufträge"; this.tabPageSonder.UseVisualStyleBackColor = true; @@ -496,7 +506,7 @@ this.objectListViewSonder.Location = new System.Drawing.Point(3, 3); this.objectListViewSonder.Name = "objectListViewSonder"; this.objectListViewSonder.SelectColumnsOnRightClickBehaviour = BrightIdeasSoftware.ObjectListView.ColumnSelectBehaviour.Submenu; - this.objectListViewSonder.Size = new System.Drawing.Size(1164, 573); + this.objectListViewSonder.Size = new System.Drawing.Size(1164, 578); this.objectListViewSonder.Sorting = System.Windows.Forms.SortOrder.Ascending; this.objectListViewSonder.TabIndex = 2; this.objectListViewSonder.TintSortColumn = true; @@ -515,10 +525,10 @@ // tabPageGeschaeft // this.tabPageGeschaeft.Controls.Add(this.objectListViewGeschaeft); - this.tabPageGeschaeft.Location = new System.Drawing.Point(4, 39); + this.tabPageGeschaeft.Location = new System.Drawing.Point(4, 34); this.tabPageGeschaeft.Name = "tabPageGeschaeft"; this.tabPageGeschaeft.Padding = new System.Windows.Forms.Padding(3); - this.tabPageGeschaeft.Size = new System.Drawing.Size(1170, 579); + this.tabPageGeschaeft.Size = new System.Drawing.Size(1170, 584); this.tabPageGeschaeft.TabIndex = 2; this.tabPageGeschaeft.Text = "Geschäft"; this.tabPageGeschaeft.UseVisualStyleBackColor = true; @@ -537,7 +547,7 @@ this.objectListViewGeschaeft.Location = new System.Drawing.Point(3, 3); this.objectListViewGeschaeft.Name = "objectListViewGeschaeft"; this.objectListViewGeschaeft.SelectColumnsOnRightClickBehaviour = BrightIdeasSoftware.ObjectListView.ColumnSelectBehaviour.Submenu; - this.objectListViewGeschaeft.Size = new System.Drawing.Size(1164, 573); + this.objectListViewGeschaeft.Size = new System.Drawing.Size(1164, 578); this.objectListViewGeschaeft.Sorting = System.Windows.Forms.SortOrder.Ascending; this.objectListViewGeschaeft.TabIndex = 2; this.objectListViewGeschaeft.TintSortColumn = true; @@ -560,10 +570,10 @@ // tabPageAll // this.tabPageAll.Controls.Add(this.objectListViewAuftrag); - this.tabPageAll.Location = new System.Drawing.Point(4, 39); + this.tabPageAll.Location = new System.Drawing.Point(4, 34); this.tabPageAll.Name = "tabPageAll"; this.tabPageAll.Padding = new System.Windows.Forms.Padding(3); - this.tabPageAll.Size = new System.Drawing.Size(1170, 579); + this.tabPageAll.Size = new System.Drawing.Size(1170, 584); this.tabPageAll.TabIndex = 0; this.tabPageAll.Text = "Aufträge heute"; this.tabPageAll.UseVisualStyleBackColor = true; @@ -582,7 +592,8 @@ this.objectListViewAuftrag.Location = new System.Drawing.Point(3, 3); this.objectListViewAuftrag.Name = "objectListViewAuftrag"; this.objectListViewAuftrag.SelectColumnsOnRightClickBehaviour = BrightIdeasSoftware.ObjectListView.ColumnSelectBehaviour.Submenu; - this.objectListViewAuftrag.Size = new System.Drawing.Size(1164, 573); + this.objectListViewAuftrag.ShowItemCountOnGroups = true; + this.objectListViewAuftrag.Size = new System.Drawing.Size(1164, 578); this.objectListViewAuftrag.Sorting = System.Windows.Forms.SortOrder.Ascending; this.objectListViewAuftrag.TabIndex = 1; this.objectListViewAuftrag.TintSortColumn = true; @@ -626,9 +637,9 @@ // tabPageVorbereitet // this.tabPageVorbereitet.Controls.Add(this.objectListViewVorbereitet); - this.tabPageVorbereitet.Location = new System.Drawing.Point(4, 39); + this.tabPageVorbereitet.Location = new System.Drawing.Point(4, 34); this.tabPageVorbereitet.Name = "tabPageVorbereitet"; - this.tabPageVorbereitet.Size = new System.Drawing.Size(1170, 579); + this.tabPageVorbereitet.Size = new System.Drawing.Size(1170, 584); this.tabPageVorbereitet.TabIndex = 4; this.tabPageVorbereitet.Text = "Vorbereitet"; this.tabPageVorbereitet.UseVisualStyleBackColor = true; @@ -648,7 +659,7 @@ this.objectListViewVorbereitet.Location = new System.Drawing.Point(0, 0); this.objectListViewVorbereitet.Name = "objectListViewVorbereitet"; this.objectListViewVorbereitet.SelectColumnsOnRightClickBehaviour = BrightIdeasSoftware.ObjectListView.ColumnSelectBehaviour.Submenu; - this.objectListViewVorbereitet.Size = new System.Drawing.Size(1170, 579); + this.objectListViewVorbereitet.Size = new System.Drawing.Size(1170, 584); this.objectListViewVorbereitet.Sorting = System.Windows.Forms.SortOrder.Ascending; this.objectListViewVorbereitet.TabIndex = 2; this.objectListViewVorbereitet.TintSortColumn = true; @@ -792,5 +803,6 @@ private System.Windows.Forms.ToolStripMenuItem frotteeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem kleinteileToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem großteileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem spannleintuchBeendetToolStripMenuItem; } } \ No newline at end of file diff --git a/AA-Forms/FormExpedit.cs b/AA-Forms/FormExpedit.cs index 0a19ca4..b76ab83 100644 --- a/AA-Forms/FormExpedit.cs +++ b/AA-Forms/FormExpedit.cs @@ -181,6 +181,7 @@ namespace Deckungsbeitrag } private void FormExpedit_FormClosing(object sender, FormClosingEventArgs e) { + _settings.Load(); // === SPEICHERN DES OLV-STATUS === _settings.OLV_State = this.objectListViewAuftrag.SaveState(); @@ -398,6 +399,7 @@ namespace Deckungsbeitrag if (item.AccessibleName == "Kleinteile") { _auftrag.Abteilungen |= AbteilungsStatus.KleinteileBeendet; _auftrag.Save(); } if (item.AccessibleName == "Grossteile") { _auftrag.Abteilungen |= AbteilungsStatus.GrossteileBeendet; _auftrag.Save(); } if (item.AccessibleName == "Frottee") { _auftrag.Abteilungen |= AbteilungsStatus.FrotteeBeendet; _auftrag.Save(); } + if (item.AccessibleName == "Spannleintuch") { _auftrag.Abteilungen |= AbteilungsStatus.SpannleintuchBeendet; _auftrag.Save(); } Neuladen_OLV(olv); } @@ -489,11 +491,11 @@ namespace Deckungsbeitrag GetUnvisibleColumns(olv); // === RESTORE OLV-STATUS === - if (olv.Name.Contains("Auftrag")) this.objectListViewAuftrag.RestoreState(_settings.OLV_State); - if (olv.Name.Contains("Rampe")) this.objectListViewRampe.RestoreState(_settings.OLV_Rampe_State); - if (olv.Name.Contains("Vorbereitet")) this.objectListViewVorbereitet.RestoreState(_settings.OLV_Vorbereitet_State); - if (olv.Name.Contains("Sonder")) this.objectListViewSonder.RestoreState(_settings.OLV_Sonder_State); - if (olv.Name.Contains("Geschaeft")) this.objectListViewGeschaeft.RestoreState(_settings.OLV_Geschaeft_State); + if (olv.Name.Contains("Auftrag") && _settings.OLV_State != null && _settings.OLV_State.Length > 0) this.objectListViewAuftrag.RestoreState(_settings.OLV_State); + if (olv.Name.Contains("Rampe") && _settings.OLV_Rampe_State != null && _settings.OLV_Rampe_State.Length > 0) this.objectListViewRampe.RestoreState(_settings.OLV_Rampe_State); + if (olv.Name.Contains("Vorbereitet") && _settings.OLV_Vorbereitet_State != null && _settings.OLV_Vorbereitet_State.Length > 0) this.objectListViewVorbereitet.RestoreState(_settings.OLV_Vorbereitet_State); + if (olv.Name.Contains("Sonder") && _settings.OLV_Sonder_State != null && _settings.OLV_Sonder_State.Length > 0) this.objectListViewSonder.RestoreState(_settings.OLV_Sonder_State); + if (olv.Name.Contains("Geschaeft") && _settings.OLV_Geschaeft_State != null && _settings.OLV_Geschaeft_State.Length > 0) this.objectListViewGeschaeft.RestoreState(_settings.OLV_Geschaeft_State); // === SPALTENBREITE ANPASSEN === olv = Funktionen.Columns_Resize(null, olv).olv; @@ -673,7 +675,7 @@ namespace Deckungsbeitrag } // Abteilungstatus wird farblich gekennzeichnet - if (e.Column.Text == "FR" || e.Column.Text == "KT" || e.Column.Text == "GT") + if (e.Column.Text == "FR" || e.Column.Text == "KT" || e.Column.Text == "GT" || e.Column.Text == "SL") { if (e.CellValue.ToString() == "☑") { @@ -706,6 +708,13 @@ namespace Deckungsbeitrag } + if (e.Column.Text == "Liefertag") + { + if (DateTime.TryParse(e.CellValue.ToString(), out DateTime dt)) + { + if (dt < DateTime.Today) e.SubItem.ForeColor = Color.Red; + } + } } private void ObjectListViewAuftrag_FormatRow(object sender, FormatRowEventArgs e) @@ -714,8 +723,8 @@ namespace Deckungsbeitrag ObjectListView olv = sender as ObjectListView; View_Auftrag_Expedit vwAuftrag = e.Model as View_Auftrag_Expedit; - if (vwAuftrag.FrotteeStatus > 1 & vwAuftrag.KleinteileStatus > 1 & vwAuftrag.GrossteileStatus > 1) isFertig = true; - if (vwAuftrag.FrotteeStatus > 2 & vwAuftrag.KleinteileStatus > 2 & vwAuftrag.GrossteileStatus > 2) isFertig = false; + if (vwAuftrag.FrotteeStatus > 1 & vwAuftrag.KleinteileStatus > 1 & vwAuftrag.GrossteileStatus > 1 & vwAuftrag.SpannleintuchStatus > 1) isFertig = true; + if (vwAuftrag.FrotteeStatus > 2 & vwAuftrag.KleinteileStatus > 2 & vwAuftrag.GrossteileStatus > 2 & vwAuftrag.SpannleintuchStatus > 2) isFertig = false; if (this.benutzer.Rolle != BenutzerRolle.Frottee & isFertig) { @@ -735,7 +744,7 @@ namespace Deckungsbeitrag else expAuftrag = (View_Auftrag_Expedit)e.Model; Auftrag _auftrag = Auftrag.GetAuftrag(expAuftrag.AuftragID); - if (expAuftrag.FrotteeStatus == 1 || expAuftrag.KleinteileStatus == 1 || expAuftrag.GrossteileStatus == 1) ToPrint = false; + if (expAuftrag.FrotteeStatus == 1 || expAuftrag.KleinteileStatus == 1 || expAuftrag.GrossteileStatus == 1 || expAuftrag.SpannleintuchStatus == 1) ToPrint = false; else ToPrint = true; if (_auftrag.Status != AuftragStatus.Fertig) @@ -912,16 +921,8 @@ namespace Deckungsbeitrag this.auftrag = auftrag; - if (this.auftrag.ContainerClean == 0 & this.auftrag.Typ < AuftragTyp.Inventur) - { - if (meldung.NoCleanContainer() == DialogResult.OK) - return; - } - else - { - if (!HandleContainerCleanChange()) - return; - } + if (!HandleContainerCleanChange()) + return; Auftrag_Fertig(); } @@ -1347,7 +1348,7 @@ namespace Deckungsbeitrag break; case BenutzerRolle.Frottee: this.buttonEtikettenDrucken.Visible = this.buttonNeuerAuftrag.Visible = this.buttonSWS_Drucken.Visible = false; - this.buttonStats.Visible = this.buttonEinstellung.Visible = false; // buttonReklamation einblenden wenn Frottee-Expedit auch Reklamation bearbeitet. + this.buttonStats.Visible = false; // buttonReklamation einblenden wenn Frottee-Expedit auch Reklamation bearbeitet. foreach(TabPage tab in this.tabControlAuftragList.TabPages) { if (tab.Text == "Vorbereitet" || tab.Text == "Rampe") tabControlAuftragList.TabPages.Remove(tab); @@ -1637,8 +1638,36 @@ namespace Deckungsbeitrag //TODO: Wie soll es weiter gehen? } - private void FormExpedit_MouseMove(object sender, MouseEventArgs e) + private void objectListViewAuftrag_ColumnClick(object sender, ColumnClickEventArgs e) { + var olv = (ObjectListView)sender; + var olvStatus = olv.AllColumns.Cast().FirstOrDefault(c => c.Text == "Status"); + var olvLiefertag = olv.AllColumns.Cast().FirstOrDefault(c => c.Text == "Liefertag"); + + // Wenn auf Status geklickt: nach Status gruppieren + if (e.Column == olvStatus.Index) + { + // Gruppierung nach Status ändern + olv.AlwaysGroupByColumn = olvStatus; // Fixierung entfernen + olv.AlwaysGroupBySortOrder = SortOrder.None; // Nach Status gruppieren + + // Innerhalb der Gruppen nach Liefertag ASC sortieren + olv.SecondarySortColumn = olvLiefertag; + olv.SecondarySortOrder = SortOrder.Ascending; + + // Sorting erzwingen + olv.BeginUpdate(); + olv.BuildGroups(); + olv.Sort(); + olv.EndUpdate(); + } + else + { + // Für andere Spalten: normale Sortierung, aber Liefertag als Tie-Breaker + olv.SecondarySortColumn = olvLiefertag; + olv.SecondarySortOrder = SortOrder.Ascending; + olv.Sort(e.Column); + } } } diff --git a/AA-Forms/FormFehlmengeCount.cs b/AA-Forms/FormFehlmengeCount.cs index f91a6ef..f6e63b1 100644 --- a/AA-Forms/FormFehlmengeCount.cs +++ b/AA-Forms/FormFehlmengeCount.cs @@ -65,7 +65,8 @@ namespace Deckungsbeitrag { if (userid.Contains("kleinteile")) { kategorie = ArtikelKategorie.Kleinteile; } if (userid.Contains("grossteile")) { kategorie = ArtikelKategorie.Grossteile; } - if (userid.Contains("frottee") || userid.Contains("spannleintuch")) { kategorie = ArtikelKategorie.Frottee; } + if (userid.Contains("frottee")) { kategorie = ArtikelKategorie.Frottee; } + if (userid.Contains("spannleintuch")) { kategorie = ArtikelKategorie.Spannleintuch; } } //Kunde wird durch Scan oder Handeingabe Ausgewählt. @@ -79,7 +80,12 @@ namespace Deckungsbeitrag this.kunde = auswahl.kunde; this.auftrag = auswahl.auftrag; } - else this.Close(); + else + { + this.kunde = null; + this.auftrag = null; + this.Close(); + } } @@ -141,9 +147,13 @@ namespace Deckungsbeitrag if (this.benutzer == null | (userid != null && !userid.Contains("reklamation"))) { // AbteilungsStatus Begonnen wird hier gesetzt. - if (userid.Contains("kleinteile")) { auftrag.Abteilungen |= AbteilungsStatus.KleinteileBegonnen; auftrag.Save(); } - if (userid.Contains("grossteile")) { auftrag.Abteilungen |= AbteilungsStatus.GrossteileBegonnen; auftrag.Save(); } - if (userid.Contains("frottee") || userid.Contains("spannleintuch")) { auftrag.Abteilungen |= AbteilungsStatus.FrotteeBegonnen; auftrag.Save(); } + if (userid.Contains("kleinteile")) { auftrag.Abteilungen |= AbteilungsStatus.KleinteileBegonnen; } + if (userid.Contains("grossteile")) { auftrag.Abteilungen |= AbteilungsStatus.GrossteileBegonnen; } + if (userid.Contains("frottee")) { auftrag.Abteilungen |= AbteilungsStatus.FrotteeBegonnen; } + if (userid.Contains("spannleintuch")) { auftrag.Abteilungen |= AbteilungsStatus.SpannleintuchBegonnen; } + + auftrag.MaschineID = Maschine.GetMaschine(null, userid).MaschineID; + auftrag.Save(); } } } @@ -172,7 +182,16 @@ namespace Deckungsbeitrag return; } - foreach (Button btn in this.tableLayoutPanelArtikel.Controls) btn.Tag = btn.Text = null; + for (int j = 0; j < artZahl.Length; j++) + { + artZahl[j] = 0; + } + foreach (Button btn in this.tableLayoutPanelArtikel.Controls) + { + btn.Tag = null; + if (int.TryParse(btn.Name.Substring(9, 1), out int x)) artZahl[x - 1]++; + btn.Text = AktualisiereButtonText(btn.Text, artZahl[x - 1]); + } this.groupBoxArtikel.Visible = true; this.tableLayoutPanelArtikel.Visible = true; // Buttons werden den Artikeln aus der Artikelliste zugewiesen. Unterschied zwischen Frotteewäsche, Spannleintüchern, Großteilen und Kleinteilen @@ -418,16 +437,20 @@ namespace Deckungsbeitrag Auftrag _auftrag = Auftrag.GetAuftrag(auftrag.AuftragID); auftrag = _auftrag; - foreach (Button btn in this.tableLayoutPanelArtikel.Controls.OfType