835 lines
57 KiB
C#
835 lines
57 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.Collections.Specialized;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
using System.Windows.Data;
|
|
using System.Windows.Documents;
|
|
using System.Windows.Input;
|
|
using System.Windows.Media;
|
|
using System.Windows.Media.Imaging;
|
|
using System.Windows.Shapes;
|
|
//using Xceed.Wpf.Toolkit;
|
|
|
|
namespace PEP_Tool
|
|
{
|
|
/// <summary>
|
|
/// Interaktionslogik für Zugzuweisung.xaml
|
|
/// </summary>
|
|
public partial class Zugzuweisung : Window, INotifyPropertyChanged
|
|
{
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
|
|
|
|
private DataTable mACombo = new DataTable();
|
|
public DataTable MACombo
|
|
{
|
|
get { return mACombo; }
|
|
set { mACombo = value; OnPropertyChanged(); }
|
|
}
|
|
|
|
|
|
private List<Gewerk> mAView = new List<Gewerk>();
|
|
public List<Gewerk> MAView
|
|
{
|
|
get { return mAView; }
|
|
set { mAView = value; OnPropertyChanged(); }
|
|
}
|
|
|
|
DataTable schaltList = new DataTable("SchaltList");
|
|
DataTable schaltListGewerk = new DataTable("SchaltListGewerk");
|
|
DataTable schaltListTag = new DataTable("SchaltListTag");
|
|
|
|
//public sWork work { get; set; }
|
|
private List<sWork> sworks = new List<sWork>();
|
|
public List<sWork> sWorks
|
|
{
|
|
get { return sworks; }
|
|
set { sworks = value; OnPropertyChanged(); }
|
|
}
|
|
|
|
int lastSelectedIndex = 0;
|
|
|
|
|
|
public Zugzuweisung(Button sender = null)
|
|
{
|
|
this.DataContext = this;
|
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
|
|
|
if (sender != null)
|
|
ZuweisungFromList(sender);
|
|
else
|
|
ZuweisungFromMenu();
|
|
|
|
dGSchaltList.DataContext = schaltList;
|
|
dGSchaltListGewerk.DataContext = schaltListGewerk;
|
|
dGSchaltListTag.DataContext = schaltListTag;
|
|
|
|
sWorks = Reader.ReadsWork();
|
|
}
|
|
|
|
private void ZuweisungFromMenu()
|
|
{
|
|
lbl1.Visibility = Visibility.Visible;
|
|
//lbl2.Visibility = Visibility.Collapsed;
|
|
//btnAddMitarbeiter.Visibility = Visibility.Visible;
|
|
dPMAFilter.Visibility = Visibility.Visible;
|
|
//cBGewerke.Visibility = Visibility.Visible;
|
|
|
|
|
|
dPSchaltVon.ValueChanged += DPSchaltVon_ValueChanged;
|
|
dPSchaltBis.ValueChanged += DPSchaltBis_ValueChanged;
|
|
}
|
|
|
|
object sending;
|
|
object buttonDatum;
|
|
private async void ZuweisungFromList(Button sender)
|
|
{
|
|
|
|
dPSchaltVon.ValueChanged -= DPSchaltVon_ValueChanged;
|
|
dPSchaltBis.ValueChanged -= DPSchaltBis_ValueChanged;
|
|
|
|
lbl1.Visibility = Visibility.Visible;
|
|
//lbl2.Visibility = Visibility.Collapsed;
|
|
//btnAddMitarbeiter.Visibility = Visibility.Visible;
|
|
dPMAFilter.Visibility = Visibility.Visible;
|
|
//cBGewerke.Visibility = Visibility.Visible;
|
|
|
|
dPMAFilter.SelectedDate = ((DateTime)((sender.DataContext as System.Data.DataRowView).Row.ItemArray[4]));
|
|
|
|
|
|
|
|
#region old
|
|
//sending = sender;
|
|
|
|
//dPMAFilter.Visibility = Visibility.Collapsed;
|
|
////cBGewerke.Visibility = Visibility.Collapsed;
|
|
////btnAddMitarbeiter.Visibility = Visibility.Collapsed;
|
|
//lbl1.Visibility = Visibility.Visible;
|
|
//lbl2.Visibility = Visibility.Visible;
|
|
|
|
//var x = (sender);
|
|
//var y = x.DataContext as System.Data.DataRowView;
|
|
//var z = y.Row.ItemArray[0];
|
|
//buttonDatum = y.Row.ItemArray[4];
|
|
//var schicht = y.Row.ItemArray[8].ToString().Substring(0, 2);
|
|
|
|
//lblDate.Text = Convert.ToDateTime(buttonDatum).ToShortDateString();
|
|
|
|
//switch (schicht)
|
|
//{
|
|
// case "MF":
|
|
// cBSchicht.SelectedIndex = 0;
|
|
// break;
|
|
// case "MT":
|
|
// cBSchicht.SelectedIndex = 0;
|
|
// break;
|
|
// case "MS":
|
|
// cBSchicht.SelectedIndex = 1;
|
|
// break;
|
|
// case "MN":
|
|
// cBSchicht.SelectedIndex = 2;
|
|
// break;
|
|
// default:
|
|
// cBSchicht.SelectedIndex = 0;
|
|
// break;
|
|
//}
|
|
|
|
//if (schicht == "MF" || schicht == "MT")
|
|
// FillComboAndView(Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd"), "$$", dPSchaltVon.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"), dPSchaltBis.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
//else
|
|
// FillComboAndView(Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd"), schicht, dPSchaltVon.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"), dPSchaltBis.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
////var s = $"SELECT Abteilung, MIN(DISTINCT (COUNT(*) - IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung),0) - IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND Zuweisung != '' AND m.Abteilung = Abteilung),0)),COUNT(*),IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung),0) + IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND Zuweisung != '' AND m.Abteilung = Abteilung),0) From pep_tool.mitarbeiter_static `m` left join pep_tool.mitarbeiter_change `c` ON m.PersNr = c.mitarbeiter_static_PersNr WHERE (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung";
|
|
////if (schicht == "MF" || schicht == "MT")
|
|
//// MACombo = await SQL.ReadSQL($"SELECT Abteilung, MIN(DISTINCT (COUNT(*) - IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung),0) - IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND Zuweisung != '' AND m.Abteilung = Abteilung),0)),COUNT(*),IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung),0) + IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND Zuweisung != '' AND m.Abteilung = Abteilung),0) From pep_tool.mitarbeiter_static `m` left join pep_tool.mitarbeiter_change `c` ON m.PersNr = c.mitarbeiter_static_PersNr WHERE (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
//////MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END,COUNT(*),CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END From pep_too.mitarbeiter_static m left join pep_tool.mitarbeiter_change [c] ON m.PersNr = c.mitarbeiter_static_PersNr WHERE (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
////else
|
|
//// MACombo = await SQL.ReadSQL($"SELECT Abteilung, MIN(DISTINCT (COUNT(*) - IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung),0) - IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND Zuweisung != '' AND m.Abteilung = Abteilung),0)),COUNT(*),IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung),0) + IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND Zuweisung != '' AND m.Abteilung = Abteilung),0) From pep_tool.mitarbeiter_static `m` left join pep_tool.mitarbeiter_change `c` ON m.PersNr = c.mitarbeiter_static_PersNr WHERE c.Arbeitsmuster like '%{schicht}%' AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
//////MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END,COUNT(*),CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END From pep_too.mitarbeiter_static m left join pep_tool.mitarbeiter_change [c] ON m.PersNr = c.mitarbeiter_static_PersNr WHERE c.Arbeitsmuster like '%{schicht}%' AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
|
|
////schaltList = await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.schaltung s WHERE ZugName = '{tbName.Text}'", schaltList);
|
|
////schaltListTag = await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.schaltung s WHERE Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}'", schaltListTag);
|
|
//schaltListTag = await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.schaltung `s` WHERE Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}'", schaltListTag);
|
|
|
|
////MAView = Helper.DataTableToGewerk(MACombo);
|
|
|
|
|
|
//dPSchaltVon.ValueChanged += DPSchaltVon_ValueChanged;
|
|
//dPSchaltBis.ValueChanged += DPSchaltBis_ValueChanged;
|
|
#endregion
|
|
}
|
|
|
|
bool resultChanged = false;
|
|
private void BtnOK_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private async void BtnAdd_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
DateTime date = DateTime.Now;
|
|
if (dPSchaltVon.Value.HasValue)
|
|
{
|
|
date = dPSchaltVon.Value.Value;
|
|
|
|
if (dPSchaltVon.Value.Value >= dPSchaltBis.Value.Value)
|
|
{
|
|
MessageBox.Show("Startzeit größer als Endzeit", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Kein gültiges Datum gewählt", "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
|
return;
|
|
}
|
|
|
|
|
|
li.Visibility = Visibility.Visible;
|
|
|
|
await Task.Delay(50);
|
|
|
|
|
|
//await SQL.WriteSQL($"INSERT INTO pep_tool.schaltung (ZugName,Datum,Start,Ende,Zustand,Grund,AnzahlMA,Abteilung) VALUES ('{tbName.Text}','{date.ToString("yyyy-MM-dd")}','{dPSchaltVon.Text}','{dPSchaltBis.Text}','{cbSchaltzustand.Text}','{tbGrund.Text}','{cBAnzahlMA.SelectedValue.ToString()}','{(((Gewerk)((ItemCollection)(dGMAView.Items))[dGMAView.SelectedIndex]).Abteilung)}')");
|
|
|
|
|
|
//schaltList = await SQL.ReadSQL($"Select Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.schaltung s WHERE ZugName = '{tbName.Text}'", schaltList);
|
|
//schaltListGewerk = await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.schaltung s WHERE Abteilung = '{(((Gewerk)((ItemCollection)(dGMAView.Items))[dGMAView.SelectedIndex]).Abteilung)}' AND Start like '{Convert.ToDateTime(buttonDatum).ToString("dd.MM.")}%'", schaltListGewerk);
|
|
//schaltListTag = await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.schaltung s WHERE Start like '{Convert.ToDateTime(buttonDatum).ToString("dd.MM.")}%'", schaltListTag);
|
|
|
|
if (cBAnzahlMA.SelectedValue != null && cBAnzahlMA.SelectedIndex != -1 && cBAnzahlMA.SelectedValue.ToString() != "Keine MA verfügbar")
|
|
await SQL.WriteSQL($"INSERT INTO pep_tool.schaltung (ZugName,Datum,Start,Ende,Zustand,Grund,AnzahlMA,Abteilung,StartEx,EndEx) VALUES ('{tbName.Text}','{date.ToString("yyyy-MM-dd")}','{dPSchaltVon.Text}','{dPSchaltBis.Text}','{cbSchaltzustand.Text}','{tbGrund.Text}','{cBAnzahlMA.SelectedValue.ToString()}','{(((Gewerk)((ItemCollection)(dGMAView.Items))[lastSelectedIndex]).Abteilung)}','{dPSchaltVon.Value.Value.ToString("yyyy-MM-dd HH:mm")}','{dPSchaltBis.Value.Value.ToString("yyyy-MM-dd HH:mm")}')");
|
|
else
|
|
MessageBox.Show(this, "Anzahl Mitarbeiter auswählen!", "Fehler", MessageBoxButton.OK, MessageBoxImage.Warning);
|
|
|
|
schaltList = await SQL.ReadSQL($"Select Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.schaltung `s` WHERE ZugName = '{tbName.Text}'", schaltList);
|
|
schaltListGewerk = await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.schaltung `s` WHERE Abteilung = '{(((Gewerk)((ItemCollection)(dGMAView.Items))[lastSelectedIndex]).Abteilung)}' AND Start like '{Convert.ToDateTime(buttonDatum).ToString("dd.MM.")}%'", schaltListGewerk);
|
|
schaltListTag = await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.schaltung `s` WHERE Start like '{Convert.ToDateTime(buttonDatum).ToString("dd.MM.")}%'", schaltListTag);
|
|
|
|
var schicht = "";
|
|
|
|
switch (cBSchicht.SelectedIndex)
|
|
{
|
|
case 0:
|
|
schicht = "MF";
|
|
break;
|
|
case 1:
|
|
schicht = "MS";
|
|
break;
|
|
case 2:
|
|
schicht = "MN";
|
|
break;
|
|
default:
|
|
schicht = "MF";
|
|
break;
|
|
}
|
|
|
|
|
|
if (schicht == "MF" || schicht == "MT")
|
|
FillComboAndView(Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd"), "$$", dPSchaltVon.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"), dPSchaltBis.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
else
|
|
FillComboAndView(Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd"), schicht, dPSchaltVon.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"), dPSchaltBis.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
//if (schicht == "MF" || schicht == "MT")
|
|
// MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung),0) - IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND Zuweisung != '' AND m.Abteilung = Abteilung),0),COUNT(*),IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung),0) + IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND Zuweisung != '' AND m.Abteilung = Abteilung),0) From pep_tool.mitarbeiter_static `m` left join pep_tool.mitarbeiter_change `c` ON m.PersNr = c.mitarbeiter_static_PersNr WHERE (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
////MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END,COUNT(*),CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END From pep_too.mitarbeiter_static m left join pep_tool.mitarbeiter_change [c] ON m.PersNr = c.mitarbeiter_static_PersNr WHERE (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
//else
|
|
// MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung),0) - IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND Zuweisung != '' AND m.Abteilung = Abteilung),0),COUNT(*),IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung),0) + IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND Zuweisung != '' AND m.Abteilung = Abteilung),0) From pep_tool.mitarbeiter_static `m` left join pep_tool.mitarbeiter_change `c` ON m.PersNr = c.mitarbeiter_static_PersNr WHERE c.Arbeitsmuster like '%{schicht}%' AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
////MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END,COUNT(*),CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END From pep_too.mitarbeiter_static m left join pep_tool.mitarbeiter_change [c] ON m.PersNr = c.mitarbeiter_static_PersNr WHERE c.Arbeitsmuster like '%{schicht}%' AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
|
|
//MAView = Helper.DataTableToGewerk(MACombo);
|
|
|
|
dPSchaltVon.ValueChanged -= DPSchaltVon_ValueChanged;
|
|
dPSchaltBis.ValueChanged -= DPSchaltBis_ValueChanged;
|
|
dPMAFilter.SelectedDateChanged -= DPMAFilter_SelectedDateChanged;
|
|
cBSchicht.SelectionChanged -= CBSchicht_SelectionChanged;
|
|
tbName.TextChanged -= TbName_TextChanged;
|
|
dGMAView.SelectionChanged -= DGMAView_SelectionChanged;
|
|
cBsWork.SelectionChanged -= cBsWork_SelectionChanged;
|
|
tbGrund.TextChanged -= tbGrund_TextChanged;
|
|
cbSchaltzustand.SelectionChanged -= cbSchaltzustand_SelectionChanged;
|
|
cBAnzahlMA.SelectionChanged -= cBAnzahlMA_SelectionChanged;
|
|
|
|
li.Visibility = Visibility.Collapsed;
|
|
|
|
dPSchaltVon.Value = null;
|
|
dPSchaltBis.Value = null;
|
|
cBSchicht.SelectedIndex = -1;
|
|
cbSchaltzustand.SelectedIndex = -1;
|
|
cBAnzahlMA.SelectedIndex = -1;
|
|
cBsWork.SelectedIndex = -1;
|
|
dPMAFilter.SelectedDate = null;
|
|
tbName.Text = "Tz ";
|
|
tbGrund.Text = "";
|
|
|
|
tbName.IsEnabled = false;
|
|
dPSchaltBis.IsEnabled = false;
|
|
dPSchaltVon.IsEnabled = false;
|
|
dGMAView.IsEnabled = false;
|
|
cbSchaltzustand.IsEnabled = false;
|
|
cBsWork.IsEnabled = false;
|
|
tbGrund.IsEnabled = false;
|
|
cbSchaltzustand.IsEnabled = false;
|
|
cBAnzahlMA.IsEnabled = false;
|
|
btnAdd.IsEnabled = false;
|
|
|
|
arrow6MAView.Visibility = Visibility.Collapsed;
|
|
arrow10MA.Visibility = Visibility.Collapsed;
|
|
arrow11Add.Visibility = Visibility.Collapsed;
|
|
|
|
arrow1Date.Visibility = Visibility.Visible;
|
|
|
|
dPSchaltVon.ValueChanged += DPSchaltVon_ValueChanged;
|
|
dPSchaltBis.ValueChanged += DPSchaltBis_ValueChanged;
|
|
dPMAFilter.SelectedDateChanged += DPMAFilter_SelectedDateChanged;
|
|
cBSchicht.SelectionChanged += CBSchicht_SelectionChanged;
|
|
tbName.TextChanged += TbName_TextChanged;
|
|
dGMAView.SelectionChanged += DGMAView_SelectionChanged;
|
|
cBsWork.SelectionChanged += cBsWork_SelectionChanged;
|
|
tbGrund.TextChanged += tbGrund_TextChanged;
|
|
cbSchaltzustand.SelectionChanged += cbSchaltzustand_SelectionChanged;
|
|
cBAnzahlMA.SelectionChanged += cBAnzahlMA_SelectionChanged;
|
|
}
|
|
|
|
|
|
|
|
private void DPMAFilter_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
buttonDatum = dPMAFilter.SelectedDate;
|
|
lblDate.Text = Convert.ToDateTime(buttonDatum).ToShortDateString();
|
|
GetDates();
|
|
|
|
if (buttonDatum.ToString() != "")
|
|
{
|
|
cBSchicht.IsEnabled = true;
|
|
arrow2Schicht.Visibility = Visibility.Visible;
|
|
arrow1Date.Visibility = Visibility.Collapsed;
|
|
}
|
|
else
|
|
{
|
|
cBSchicht.IsEnabled = false;
|
|
arrow2Schicht.Visibility = Visibility.Collapsed;
|
|
arrow1Date.Visibility = Visibility.Visible;
|
|
}
|
|
}
|
|
|
|
private async void DGSchaltList_PreviewKeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
var dg = sender as DataGrid;
|
|
var row = dg.SelectedItem as DataRowView;
|
|
var arr = row.Row.ItemArray;
|
|
|
|
if (e.Key == Key.Delete)
|
|
{
|
|
li.Visibility = Visibility.Visible;
|
|
|
|
await Task.Delay(50);
|
|
|
|
|
|
await SQL.WriteSQL($"UPDATE pep_tool.mitarbeiter_change `m` left join pep_tool.schaltung `s` ON m.mitarbeiter_static_PersNr = s.mitarbeiter_static_PersNr AND s.Datum = m.Datum SET ZugNameB = (select s.ZugName WHERE s.mitarbeiter_static_PersNr = '{arr[8]}' AND s.Start > DATE_FORMAT(NOW(), '%d.%m. %H:%i')) WHERE (s.ZugName = '{arr[1]}' AND s.Datum = '{Convert.ToDateTime(arr[3]).ToString("yyyy-MM-dd")}' AND s.Start = '{arr[4]}' AND s.Ende = '{arr[5]}' AND s.Zustand = '{arr[6]}' AND s.Grund = '{arr[7]}')");
|
|
await SQL.WriteSQL($"DELETE FROM pep_tool.schaltung WHERE (Abteilung = '{arr[0]}' AND ZugName = '{arr[2]}' AND Datum = '{Convert.ToDateTime(arr[3].ToString().Split(' ')[0] + "." + DateTime.Now.Year).ToString("yyyy-MM-dd")}' AND Start = '{arr[3]}' AND Ende = '{arr[4]}' AND Zustand = '{arr[5]}' AND Grund = '{arr[6]}')");
|
|
//await SQL.WriteSQL($"DELETE FROM [pep_tool.schaltung] WHERE ([Abteilung] = '{arr[0]}' AND [ZugName] = '{arr[2]}' AND [Datum] = '{Convert.ToDateTime(arr[3].ToString().Split(' ')[0] + "." + DateTime.Now.Year).ToString("yyyy-MM-dd")}' AND [Start] = '{arr[3]}' AND [Ende] = '{arr[4]}' AND [Zustand] = '{arr[5]}' AND [Grund] = '{arr[6]}')");
|
|
|
|
//schaltList = await SQL.ReadSQL($"Select Name,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.mitarbeiter_static m left join pep_tool.schaltung s ON m.PersNr = s.mitarbeiter_static_PersNr WHERE {pers}", schaltList);
|
|
li.Visibility = Visibility.Collapsed;
|
|
}
|
|
}
|
|
|
|
private async void DGMAView_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
if (dGMAView.SelectedIndex != -1)
|
|
{
|
|
lastSelectedIndex = dGMAView.SelectedIndex;
|
|
|
|
var i = Convert.ToInt16((((Gewerk)((ItemCollection)(dGMAView.Items))[dGMAView.SelectedIndex]).MAVerfuegbar));
|
|
//var a = new int[i];
|
|
var a = new List<int>();
|
|
|
|
|
|
if (i <= 0) { a.Clear(); a.Add(0); }
|
|
else
|
|
{
|
|
for (var j = 1; j != i + 1; ++j)
|
|
{
|
|
//a[j - 1] = j;
|
|
a.Add(j);
|
|
}
|
|
}
|
|
|
|
if (a.Count == 1 && a[0] == 0)
|
|
{
|
|
cBAnzahlMA.ItemsSource = new string[1] { "Keine MA verfügbar" };
|
|
}
|
|
else
|
|
{
|
|
cBAnzahlMA.ItemsSource = a;
|
|
}
|
|
|
|
lblPlanungGewerk.Text = $"Planung für Gewerk '{(((Gewerk)((ItemCollection)(dGMAView.Items))[dGMAView.SelectedIndex]).Abteilung)}' am {Convert.ToDateTime(buttonDatum).ToShortDateString()}:";
|
|
schaltListGewerk = await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.schaltung `s` WHERE Abteilung = '{(((Gewerk)((ItemCollection)(dGMAView.Items))[dGMAView.SelectedIndex]).Abteilung)}' AND Start like '{Convert.ToDateTime(buttonDatum).ToString("dd.MM.")}%'", schaltListGewerk);
|
|
|
|
cbSchaltzustand.IsEnabled = true;
|
|
cBsWork.IsEnabled = true;
|
|
tbGrund.IsEnabled = true;
|
|
cbSchaltzustand.IsEnabled = true;
|
|
//cBAnzahlMA.IsEnabled = true;
|
|
//btnAdd.IsEnabled = true;
|
|
|
|
arrow6MAView.Visibility = Visibility.Collapsed;
|
|
|
|
arrow7sWork.Visibility = Visibility.Visible;
|
|
arrow8Grund.Visibility = Visibility.Visible;
|
|
arrow9Schaltzustand.Visibility = Visibility.Visible;
|
|
//arrow10MA.Visibility = Visibility.Visible;
|
|
|
|
|
|
}
|
|
else
|
|
{
|
|
cbSchaltzustand.IsEnabled = false;
|
|
cBsWork.IsEnabled = false;
|
|
tbGrund.IsEnabled = false;
|
|
cbSchaltzustand.IsEnabled = false;
|
|
//cBAnzahlMA.IsEnabled = false;
|
|
btnAdd.IsEnabled = false;
|
|
|
|
arrow6MAView.Visibility = Visibility.Visible;
|
|
|
|
arrow7sWork.Visibility = Visibility.Collapsed;
|
|
arrow8Grund.Visibility = Visibility.Collapsed;
|
|
arrow9Schaltzustand.Visibility = Visibility.Collapsed;
|
|
//arrow10MA.Visibility = Visibility.Collapsed;
|
|
}
|
|
}
|
|
|
|
|
|
private async void TbName_TextChanged(object sender, TextChangedEventArgs e)
|
|
{
|
|
if (tbName.Text != "" && char.IsDigit(tbName.Text[0]))
|
|
{
|
|
tbName.Text = "Tz " + tbName.Text;
|
|
tbName.CaretIndex = tbName.Text.Length;
|
|
}
|
|
|
|
if (System.Text.RegularExpressions.Regex.IsMatch(tbName.Text, @".{1,3}\d\d\d+"))
|
|
{
|
|
schaltList = await SQL.ReadSQL($"Select Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.schaltung `s` WHERE ZugName = '{tbName.Text}'", schaltList);
|
|
lblPlanungTz.Text = $"Planung für Triebzug '{tbName.Text}':";
|
|
|
|
dPSchaltVon.IsEnabled = true;
|
|
arrow4Von.Visibility = Visibility.Visible;
|
|
arrow3Name.Visibility = Visibility.Collapsed;
|
|
}
|
|
else
|
|
{
|
|
schaltList.Clear();
|
|
lblPlanungTz.Text = $"Planung für Triebzug:";
|
|
|
|
dPSchaltVon.IsEnabled = false;
|
|
arrow4Von.Visibility = Visibility.Collapsed;
|
|
if(tbName.Text != "Tz ") arrow3Name.Visibility = Visibility.Visible;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
private void CBAnzahlMA_DropDownOpened(object sender, EventArgs e)
|
|
{
|
|
if (cBAnzahlMA.Items.Count == 0) cBAnzahlMA.ItemsSource = new string[1] { "Bitte zuerst Gewerk wählen" };
|
|
}
|
|
|
|
private async void CBSchicht_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
GetDates();
|
|
|
|
if ((sender as ComboBox).SelectedIndex != -1)
|
|
{
|
|
tbName.IsEnabled = true;
|
|
arrow3Name.Visibility = Visibility.Visible;
|
|
arrow2Schicht.Visibility = Visibility.Collapsed;
|
|
}
|
|
else
|
|
{
|
|
tbName.IsEnabled = false;
|
|
arrow3Name.Visibility = Visibility.Collapsed;
|
|
arrow2Schicht.Visibility = Visibility.Visible;
|
|
}
|
|
|
|
|
|
dPSchaltVon.ValueChanged += DPSchaltVon_ValueChanged;
|
|
dPSchaltBis.ValueChanged += DPSchaltBis_ValueChanged;
|
|
}
|
|
|
|
private async void GetDates ()
|
|
{
|
|
dPSchaltVon.ValueChanged -= DPSchaltVon_ValueChanged;
|
|
dPSchaltBis.ValueChanged -= DPSchaltBis_ValueChanged;
|
|
|
|
var schicht = "";//((DataRowView)((Button)sending).DataContext).Row.ItemArray[8].ToString().Substring(0, 2);
|
|
|
|
switch (cBSchicht.SelectedIndex)
|
|
{
|
|
case 0:
|
|
schicht = "MF";
|
|
break;
|
|
case 1:
|
|
schicht = "MS";
|
|
break;
|
|
case 2:
|
|
schicht = "MN";
|
|
break;
|
|
default:
|
|
schicht = "MF";
|
|
break;
|
|
}
|
|
|
|
DataTable dt = null;
|
|
if (schicht == "MF" || schicht == "MT")
|
|
dt = await SQL.ReadSQL($"SELECT Min(str_to_date(REPLACE(Beginn, '*', ':'), '%H:%i')), max(str_to_date(REPLACE(Gehen, '*', ':'), '%H:%i')) from pep_tool.mitarbeiter_change where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (Arbeitsmuster like '%MF%' OR Arbeitsmuster like '%MT%')");
|
|
else
|
|
dt = await SQL.ReadSQL($"SELECT Min(str_to_date(REPLACE(Beginn, '*', ':'), '%H:%i')), max(str_to_date(REPLACE(Gehen, '*', ':'), '%H:%i')) from pep_tool.mitarbeiter_change where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND Arbeitsmuster like '%{schicht}%'");
|
|
|
|
var from = dt.Rows[0].ItemArray[0].ToString();
|
|
var until = dt.Rows[0].ItemArray[1].ToString();
|
|
|
|
dPSchaltVon.Value = null;
|
|
dPSchaltBis.Value = null;
|
|
dPSchaltVon.Minimum = null;
|
|
dPSchaltBis.Maximum = DateTime.MaxValue;
|
|
|
|
if (!(string.IsNullOrEmpty(from) || string.IsNullOrEmpty(until)))
|
|
{
|
|
if (TimeSpan.Parse(from) > TimeSpan.Parse(until))
|
|
{
|
|
dPSchaltVon.Minimum = Convert.ToDateTime(buttonDatum) + TimeSpan.Parse(from);
|
|
dPSchaltBis.Maximum = Convert.ToDateTime(buttonDatum) + TimeSpan.FromDays(1) + TimeSpan.Parse(until);
|
|
}
|
|
else
|
|
{
|
|
dPSchaltVon.Minimum = Convert.ToDateTime(buttonDatum) + TimeSpan.Parse(from);
|
|
dPSchaltBis.Maximum = Convert.ToDateTime(buttonDatum) + TimeSpan.Parse(until);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
dPSchaltVon.Minimum = Convert.ToDateTime(buttonDatum);
|
|
dPSchaltBis.Maximum = Convert.ToDateTime(buttonDatum) + TimeSpan.FromDays(2);
|
|
}
|
|
|
|
dPSchaltVon.Value = dPSchaltVon.Minimum.Value;
|
|
dPSchaltBis.Value = dPSchaltBis.Maximum.Value;
|
|
|
|
|
|
if (schicht == "MF" || schicht == "MT")
|
|
FillComboAndView(Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd"), "$$", dPSchaltVon.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"), dPSchaltBis.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
else
|
|
FillComboAndView(Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd"), schicht, dPSchaltVon.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"), dPSchaltBis.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
schaltListTag = await SQL.ReadSQL($"SELECT Abteilung,AnzahlMA,ZugName,Start,Ende,Zustand,Grund FROM pep_tool.schaltung `s` WHERE Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}'", schaltListTag);
|
|
|
|
|
|
MAView = Helper.DataTableToGewerk(MACombo);
|
|
|
|
|
|
//dPSchaltVon.ValueChanged += DPSchaltVon_ValueChanged;
|
|
//dPSchaltBis.ValueChanged += DPSchaltBis_ValueChanged;
|
|
}
|
|
|
|
|
|
|
|
|
|
private void OnPropertyChanged([CallerMemberName] string propertyName = null)
|
|
{
|
|
System.Diagnostics.Debug.WriteLine("PropertyChanged " + propertyName);
|
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
|
}
|
|
|
|
private async void DPSchaltVon_ValueChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
|
|
{
|
|
if (dPSchaltVon.Value.HasValue && dPSchaltBis.Value.HasValue)
|
|
{
|
|
var schicht = "";//((DataRowView)((Button)sending).DataContext).Row.ItemArray[8].ToString().Substring(0, 2);
|
|
|
|
switch (cBSchicht.SelectedIndex)
|
|
{
|
|
case 0:
|
|
schicht = "MF";
|
|
break;
|
|
case 1:
|
|
schicht = "MS";
|
|
break;
|
|
case 2:
|
|
schicht = "MN";
|
|
break;
|
|
default:
|
|
schicht = "MF";
|
|
break;
|
|
}
|
|
|
|
if (schicht == "MF" || schicht == "MT")
|
|
FillComboAndView(Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd"), "$$", dPSchaltVon.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"), dPSchaltBis.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
else
|
|
FillComboAndView(Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd"), schicht, dPSchaltVon.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"), dPSchaltBis.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
|
|
//if (schicht == "MF" || schicht == "MT")
|
|
// MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung),0) - IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND Zuweisung != '' AND m.Abteilung = Abteilung),0),COUNT(*),IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung),0) + IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND Zuweisung != '' AND m.Abteilung = Abteilung),0) From pep_tool.mitarbeiter_static `m` left join pep_tool.mitarbeiter_change `c` ON m.PersNr = c.mitarbeiter_static_PersNr WHERE (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
////MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END,COUNT(*),CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END From pep_too.mitarbeiter_static m left join pep_tool.mitarbeiter_change [c] ON m.PersNr = c.mitarbeiter_static_PersNr WHERE (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
//else
|
|
// MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung),0) - IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND Zuweisung != '' AND m.Abteilung = Abteilung),0),COUNT(*),IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung),0) + IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND Zuweisung != '' AND m.Abteilung = Abteilung),0) From pep_tool.mitarbeiter_static `m` left join pep_tool.mitarbeiter_change `c` ON m.PersNr = c.mitarbeiter_static_PersNr WHERE c.Arbeitsmuster like '%{schicht}%' AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
////MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END,COUNT(*),CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END From pep_too.mitarbeiter_static m left join pep_tool.mitarbeiter_change [c] ON m.PersNr = c.mitarbeiter_static_PersNr WHERE c.Arbeitsmuster like '%{schicht}%' AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
|
|
MAView = Helper.DataTableToGewerk(MACombo);
|
|
}
|
|
|
|
if ((sender as Xceed.Wpf.Toolkit.DateTimePicker).Value.HasValue)
|
|
{
|
|
dPSchaltBis.IsEnabled = true;
|
|
arrow5Bis.Visibility = Visibility.Visible;
|
|
arrow4Von.Visibility = Visibility.Collapsed;
|
|
}
|
|
else
|
|
{
|
|
dPSchaltBis.IsEnabled = false;
|
|
arrow5Bis.Visibility = Visibility.Collapsed;
|
|
arrow4Von.Visibility = Visibility.Visible;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private async void DPSchaltBis_ValueChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
|
|
{
|
|
if (dPSchaltVon.Value.HasValue && dPSchaltBis.Value.HasValue)
|
|
{
|
|
var schicht = "";//((DataRowView)((Button)sending).DataContext).Row.ItemArray[8].ToString().Substring(0, 2);
|
|
|
|
switch (cBSchicht.SelectedIndex)
|
|
{
|
|
case 0:
|
|
schicht = "MF";
|
|
break;
|
|
case 1:
|
|
schicht = "MS";
|
|
break;
|
|
case 2:
|
|
schicht = "MN";
|
|
break;
|
|
default:
|
|
schicht = "MF";
|
|
break;
|
|
}
|
|
|
|
if (schicht == "MF" || schicht == "MT")
|
|
FillComboAndView(Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd"), "$$", dPSchaltVon.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"), dPSchaltBis.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
else
|
|
FillComboAndView(Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd"), schicht, dPSchaltVon.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"), dPSchaltBis.Value.Value.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
|
|
// MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung),0) - IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND Zuweisung != '' AND m.Abteilung = Abteilung),0),COUNT(*),IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung),0) + IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND Zuweisung != '' AND m.Abteilung = Abteilung),0) From pep_tool.mitarbeiter_static `m` left join pep_tool.mitarbeiter_change `c` ON m.PersNr = c.mitarbeiter_static_PersNr WHERE (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
////MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END,COUNT(*),CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END From pep_too.mitarbeiter_static m left join pep_tool.mitarbeiter_change [c] ON m.PersNr = c.mitarbeiter_static_PersNr WHERE (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
//else
|
|
// MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung),0) - IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND Zuweisung != '' AND m.Abteilung = Abteilung),0),COUNT(*),IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung),0) + IFNULL((SELECT count(*) from mitarbeiter_change join mitarbeiter_static on PersNr = mitarbeiter_static_PersNr where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND Zuweisung != '' AND m.Abteilung = Abteilung),0) From pep_tool.mitarbeiter_static `m` left join pep_tool.mitarbeiter_change `c` ON m.PersNr = c.mitarbeiter_static_PersNr WHERE c.Arbeitsmuster like '%{schicht}%' AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
////MACombo = await SQL.ReadSQL($"SELECT Abteilung, COUNT(*) - CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END,COUNT(*),CASE WHEN (SELECT SUM(AnzahlMA) from pep_tool.schaltung s where Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' AND c.Arbeitsmuster like '%{schicht}%' AND s.Abteilung = m.Abteilung) IS NULL THEN 0 ELSE NULL END From pep_too.mitarbeiter_static m left join pep_tool.mitarbeiter_change [c] ON m.PersNr = c.mitarbeiter_static_PersNr WHERE c.Arbeitsmuster like '%{schicht}%' AND c.Datum = '{Convert.ToDateTime(buttonDatum).ToString("yyyy-MM-dd")}' group by m.Abteilung order by Abteilung");
|
|
|
|
MAView = Helper.DataTableToGewerk(MACombo);
|
|
}
|
|
|
|
if ((sender as Xceed.Wpf.Toolkit.DateTimePicker).Value.HasValue)
|
|
{
|
|
dGMAView.IsEnabled = true;
|
|
arrow6MAView.Visibility = Visibility.Visible;
|
|
arrow5Bis.Visibility = Visibility.Collapsed;
|
|
}
|
|
else
|
|
{
|
|
dGMAView.IsEnabled = false;
|
|
arrow6MAView.Visibility = Visibility.Collapsed;
|
|
arrow5Bis.Visibility = Visibility.Visible;
|
|
}
|
|
}
|
|
|
|
|
|
private void cBsWork_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
var x = sender as ComboBox;
|
|
|
|
tbGrund.Text = (x.SelectedItem as sWork).Work != "" ? (x.SelectedItem as sWork).Work : (x.SelectedItem as sWork).Title;
|
|
cbSchaltzustand.SelectedIndex = Helper.returnIndexForString((x.SelectedItem as sWork).Schaltzustand);
|
|
|
|
arrow7sWork.Visibility = Visibility.Collapsed;
|
|
arrow8Grund.Visibility = Visibility.Collapsed;
|
|
arrow9Schaltzustand.Visibility = cbSchaltzustand.SelectedIndex != -1 ? Visibility.Collapsed : Visibility.Visible;
|
|
arrow10MA.Visibility= cbSchaltzustand.SelectedIndex != -1 ? Visibility.Visible : Visibility.Collapsed;
|
|
cBAnzahlMA.IsEnabled = cbSchaltzustand.SelectedIndex != -1 ? true : false;
|
|
}
|
|
|
|
|
|
|
|
|
|
private async void FillComboAndView(string date, string arbeitsmuster, string starttime, string endtime)
|
|
{
|
|
var s = $"SELECT Abteilung, count(*) - max(IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{date}' AND (((CAST('{starttime}' AS DATETIME) BETWEEN StartEx AND EndEx) OR (CAST('{endtime}' AS DATETIME) BETWEEN StartEx AND EndEx)) OR ((StartEx BETWEEN CAST('{starttime}' AS DATETIME) AND CAST('{endtime}' AS DATETIME)) OR (EndEx BETWEEN CAST('{starttime}' AS DATETIME) AND CAST('{endtime}' AS DATETIME)))) AND c.Arbeitsmuster like '%{arbeitsmuster}%' AND s.Abteilung = m.Abteilung),0)) as verfügbar, count(*) as anwesend, max(IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{date}' AND (((CAST('{starttime}' AS DATETIME) BETWEEN StartEx AND EndEx) OR (CAST('{endtime}' AS DATETIME) BETWEEN StartEx AND EndEx)) OR ((StartEx BETWEEN CAST('{starttime}' AS DATETIME) AND CAST('{endtime}' AS DATETIME)) OR (EndEx BETWEEN CAST('{starttime}' AS DATETIME) AND CAST('{endtime}' AS DATETIME)))) AND c.Arbeitsmuster like '%{arbeitsmuster}%' AND s.Abteilung = m.Abteilung),0)) as verplant From pep_tool.mitarbeiter_static `m` left join pep_tool.mitarbeiter_change `c` ON m.PersNr = c.mitarbeiter_static_PersNr WHERE c.Arbeitsmuster like '%{arbeitsmuster}%' AND c.Datum = '{date}' group by m.Abteilung order by Abteilung";
|
|
|
|
if (arbeitsmuster == "$$")
|
|
MACombo = await SQL.ReadSQL($"SELECT Abteilung, count(*) - max(IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{date}' AND (((CAST('{starttime}' AS DATETIME) BETWEEN StartEx AND EndEx) OR (CAST('{endtime}' AS DATETIME) BETWEEN StartEx AND EndEx)) OR ((StartEx BETWEEN CAST('{starttime}' AS DATETIME) AND CAST('{endtime}' AS DATETIME)) OR (EndEx BETWEEN CAST('{starttime}' AS DATETIME) AND CAST('{endtime}' AS DATETIME)))) AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung),0)) as verfügbar, count(*) as anwesend, max(IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{date}' AND (((CAST('{starttime}' AS DATETIME) BETWEEN StartEx AND EndEx) OR (CAST('{endtime}' AS DATETIME) BETWEEN StartEx AND EndEx)) OR ((StartEx BETWEEN CAST('{starttime}' AS DATETIME) AND CAST('{endtime}' AS DATETIME)) OR (EndEx BETWEEN CAST('{starttime}' AS DATETIME) AND CAST('{endtime}' AS DATETIME)))) AND (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND s.Abteilung = m.Abteilung),0)) as verplant From pep_tool.mitarbeiter_static `m` left join pep_tool.mitarbeiter_change `c` ON m.PersNr = c.mitarbeiter_static_PersNr WHERE (c.Arbeitsmuster like '%MF%' OR c.Arbeitsmuster like '%MT%') AND c.Datum = '{date}' group by m.Abteilung order by Abteilung");
|
|
else
|
|
MACombo = await SQL.ReadSQL($"SELECT Abteilung, count(*) - max(IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{date}' AND (((CAST('{starttime}' AS DATETIME) BETWEEN StartEx AND EndEx) OR (CAST('{endtime}' AS DATETIME) BETWEEN StartEx AND EndEx)) OR ((StartEx BETWEEN CAST('{starttime}' AS DATETIME) AND CAST('{endtime}' AS DATETIME)) OR (EndEx BETWEEN CAST('{starttime}' AS DATETIME) AND CAST('{endtime}' AS DATETIME)))) AND c.Arbeitsmuster like '%{arbeitsmuster}%' AND s.Abteilung = m.Abteilung),0)) as verfügbar, count(*) as anwesend, max(IFNULL((SELECT SUM(AnzahlMA) from pep_tool.schaltung `s` where Datum = '{date}' AND (((CAST('{starttime}' AS DATETIME) BETWEEN StartEx AND EndEx) OR (CAST('{endtime}' AS DATETIME) BETWEEN StartEx AND EndEx)) OR ((StartEx BETWEEN CAST('{starttime}' AS DATETIME) AND CAST('{endtime}' AS DATETIME)) OR (EndEx BETWEEN CAST('{starttime}' AS DATETIME) AND CAST('{endtime}' AS DATETIME)))) AND c.Arbeitsmuster like '%{arbeitsmuster}%' AND s.Abteilung = m.Abteilung),0)) as verplant From pep_tool.mitarbeiter_static `m` left join pep_tool.mitarbeiter_change `c` ON m.PersNr = c.mitarbeiter_static_PersNr WHERE c.Arbeitsmuster like '%{arbeitsmuster}%' AND c.Datum = '{date}' group by m.Abteilung order by Abteilung");
|
|
|
|
|
|
MAView = Helper.DataTableToGewerk(MACombo);
|
|
|
|
|
|
|
|
var dgGewerk = Helper.GetDataGridRows(dGSchaltListGewerk) != null && Helper.GetDataGridRows(dGSchaltListGewerk).Count() != 0 ? Helper.GetDataGridRows(dGSchaltListGewerk) : Enumerable.Empty<DataGridRow>();
|
|
var dgTag = Helper.GetDataGridRows(dGSchaltListTag) != null && Helper.GetDataGridRows(dGSchaltListTag).Count() != 0 ? Helper.GetDataGridRows(dGSchaltListTag) : Enumerable.Empty<DataGridRow>();
|
|
var start = Convert.ToDateTime(starttime);
|
|
var end = Convert.ToDateTime(endtime);
|
|
|
|
SolidColorBrush w = new SolidColorBrush(Colors.White);
|
|
SolidColorBrush r = new SolidColorBrush(Colors.LightSalmon);
|
|
|
|
foreach(DataGridRow DGrow in dgGewerk)
|
|
{
|
|
var rView = DGrow.DataContext as DataRowView;
|
|
var row = rView.Row;
|
|
var von = DateTime.ParseExact(row.ItemArray[3].ToString(), "dd.MM. HH:mm", null);
|
|
var bis = DateTime.ParseExact(row.ItemArray[4].ToString(), "dd.MM. HH:mm", null);
|
|
|
|
|
|
if (((start >= von && start <= bis) || (end >= von && end <= bis)) || ((von >= start && von <= end) || (bis >= start && bis <= end)))
|
|
{
|
|
DGrow.Background = r;
|
|
}
|
|
else DGrow.Background = w;
|
|
}
|
|
|
|
foreach (DataGridRow DGrow in dgTag)
|
|
{
|
|
var rView = DGrow.DataContext as DataRowView;
|
|
var row = rView.Row;
|
|
var von = DateTime.ParseExact(row.ItemArray[3].ToString(), "dd.MM. HH:mm", null);
|
|
var bis = DateTime.ParseExact(row.ItemArray[4].ToString(), "dd.MM. HH:mm", null);
|
|
|
|
|
|
if (((start >= von && start <= bis) || (end >= von && end <= bis)) || ((von >= start && von <= end) || (bis >= start && bis <= end)))
|
|
{
|
|
DGrow.Background = r;
|
|
}
|
|
else DGrow.Background = w;
|
|
}
|
|
}
|
|
|
|
private void tbGrund_TextChanged(object sender, TextChangedEventArgs e)
|
|
{
|
|
arrow8Grund.Visibility = Visibility.Collapsed;
|
|
arrow7sWork.Visibility = Visibility.Collapsed;
|
|
|
|
arrow10MA.Visibility = cbSchaltzustand.SelectedIndex != -1 ? Visibility.Visible : Visibility.Collapsed;
|
|
cBAnzahlMA.IsEnabled = cbSchaltzustand.SelectedIndex != -1 ? true : false;
|
|
}
|
|
|
|
private void cbSchaltzustand_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
if (cbSchaltzustand.SelectedIndex != -1)
|
|
{
|
|
arrow9Schaltzustand.Visibility = Visibility.Collapsed;
|
|
arrow7sWork.Visibility = Visibility.Collapsed;
|
|
|
|
arrow10MA.Visibility = Visibility.Visible;
|
|
cBAnzahlMA.IsEnabled = true;
|
|
}
|
|
else
|
|
{
|
|
arrow9Schaltzustand.Visibility = Visibility.Visible;
|
|
arrow7sWork.Visibility = Visibility.Visible;
|
|
|
|
arrow10MA.Visibility = Visibility.Collapsed;
|
|
cBAnzahlMA.IsEnabled = false;
|
|
}
|
|
}
|
|
|
|
private void cBAnzahlMA_SelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
if (cBAnzahlMA.SelectedIndex != -1)
|
|
{
|
|
arrow10MA.Visibility = Visibility.Collapsed;
|
|
arrow11Add.Visibility = Visibility.Visible;
|
|
btnAdd.IsEnabled = true;
|
|
}
|
|
else
|
|
{
|
|
arrow10MA.Visibility = Visibility.Visible;
|
|
arrow11Add.Visibility = Visibility.Collapsed;
|
|
btnAdd.IsEnabled = false;
|
|
}
|
|
}
|
|
|
|
private void dPSchaltVon_PreviewTextInput(object sender, TextCompositionEventArgs e)
|
|
{
|
|
arrow4Von.Visibility = Visibility.Collapsed;
|
|
dPSchaltBis.IsEnabled = true;
|
|
arrow5Bis.Visibility = Visibility.Visible;
|
|
}
|
|
|
|
private void dPSchaltBis_PreviewTextInput(object sender, TextCompositionEventArgs e)
|
|
{
|
|
arrow5Bis.Visibility = Visibility.Collapsed;
|
|
dGMAView.IsEnabled = true;
|
|
arrow6MAView.Visibility = Visibility.Visible;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class SearchFilterConverter : IMultiValueConverter
|
|
{
|
|
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
|
|
{
|
|
return $"{values[0].ToString()} {values[1].ToString()}";
|
|
}
|
|
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
public class Gewerk
|
|
{
|
|
public string Abteilung { get; set; }
|
|
public string MAAnwesend { get; set; }
|
|
public string MAVerplant { get; set; }
|
|
public string MAVerfuegbar { get; set; }
|
|
}
|
|
|
|
|
|
public class sWork
|
|
{
|
|
public string Title { get; set; }
|
|
public string Work { get; set; }
|
|
public string Schaltzustand { get; set; }
|
|
public string Display { get { return Schaltzustand != "" ? $"'{Title}' bei '{Schaltzustand}'" : Title; } }
|
|
}
|
|
}
|