Browse Source

添加排程细节与组合工艺

master
sc 10 months ago
parent
commit
f2eb7902d0
  1. 107
      View/ProductionPlanningEdit.xaml.cs
  2. 3
      View/ProductionPlanningView.xaml.cs

107
View/ProductionPlanningEdit.xaml.cs

@ -1,4 +1,5 @@
using Newtonsoft.Json.Linq;
using nGantt.GanttChart;
using SunlightCentralizedControlManagement_SCCM_.UserClass;
using SunlightCentralizedControlManagement_SCCM_.ViewModel;
using SunlightCentralizedControlManagement_SCCM_.WindowsView;
@ -76,7 +77,19 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
private void Button_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(comboBoxMachine.Text))
{
MessageBox.Show("Not Machine");
return;
}
if (string.IsNullOrEmpty(comboBoxProgram.Text))
{
MessageBox.Show("Not Program");
return;
}
string[] sArray = Regex.Split(comboBoxMachine.Text, @"\+", RegexOptions.IgnoreCase);
string[] pArray = Regex.Split(comboBoxProgram.Text, @"\+", RegexOptions.IgnoreCase);
if (sArray.Length <= 1)
{
//单机器信息写入
@ -84,8 +97,20 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
string StartTime_;
string WorkOrder_ = comboBoxMachine.Text + "_" + DateTime.Now.ToString("yyMMddHHmmss");
string ProgramName_ = comboBoxProgram.Text;
string ProgramID_ = ProgramName.Select("ProgramName='" + ProgramName_ + "'").
First().Field<object>("ProgramID").ToString();
string ProgramID_ =null;
for (int j = 0; j < pArray.Length; j++)
{
if (j == 0)
{
ProgramID_ = ProgramName.Select("ProgramName='" + pArray[j] + "'").
First().Field<object>("ProgramID").ToString();
}
else
{
ProgramID_ = ProgramID_ + "+" + ProgramName.Select("ProgramName='" + pArray[j] + "'").
First().Field<object>("ProgramID").ToString();
}
}
string Machines_ = comboBoxMachine.Text;
string State_ = "100";
string Dyelot_ = comboBoxDyelot.Text;
@ -110,10 +135,14 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
{
StartTime_= DateTime.Now.AddMinutes(1).ToString("yyyy/M/d HH:mm:ss");
}
SQLiteHelpers.Close(); //关闭连接
string Time_ = DateTime.Parse(ProgramName.Select("ProgramName='" + ProgramName_ + "'").
First().Field<object>("Time").ToString()).ToString("HH:mm:ss");
// SQLiteHelpers.Close(); //关闭连接
string Time_ ="0:00";
for (int k = 0; k < pArray.Length; k++)
{
string t = ProgramName.Select("ProgramName='" + pArray[k] + "'").
First().Field<object>("Time").ToString();
Time_ = (DateTime.Parse(Time_) + DateTime.Parse(t).TimeOfDay).ToString("HH:mm:ss");
}
string EndTime_ = (DateTime.Parse(StartTime_)+ DateTime.Parse(Time_).TimeOfDay).ToString("yyyy/M/d HH:mm:ss");
//插入数据信息
@ -129,10 +158,23 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
WorkOrder_new.Add("Dyelot", Dyelot_);
WorkOrder_new.Add("Remark", null);
WorkOrder_new.Add("lock", 0);
WorkOrder_new.Add("color", color_);
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
WorkOrder_new.Add("color", color_);
//SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
//SQLiteHelpers.Open(); //打开数据库
SQLiteHelpers.InsertData("WorkOrder", WorkOrder_new);// 执行插入
DataTable data_t = dat.Clone();
data_t.Columns.Add(new DataColumn() { ColumnName = "WorkOrder", DataType = typeof(String), DefaultValue = WorkOrder_ });
data_t.Columns.Add(new DataColumn() { ColumnName = "Dyelot", DataType = typeof(String), DefaultValue = Dyelot_ });
int a = dat.Rows.Count;
for (int x = 0; x < a; x++)
{
data_t.Clear();
DataRow dt = dat.Rows[x];//行转换
DataRow dr = data_t.NewRow();
dr.ItemArray = dt.ItemArray;
data_t.Rows.InsertAt(dr, 0);
SQLiteHelpers.InsertData("WorkorderSteps", SQLiteHelpers.DataTableToDictionary(data_t));//行插入
}
SQLiteHelpers.Close(); //关闭连接
}
else
@ -143,8 +185,20 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
string StartTime_;
string WorkOrder_ = sArray[i] + "_" + DateTime.Now.ToString("yyMMddHHmmss")+i;
string ProgramName_ = comboBoxProgram.Text;
string ProgramID_ = ProgramName.Select("ProgramName='" + ProgramName_ + "'").
First().Field<object>("ProgramID").ToString();
string ProgramID_ = null;
for (int j = 0; j < pArray.Length; j++)
{
if (j == 0)
{
ProgramID_ = ProgramName.Select("ProgramName='" + pArray[j] + "'").
First().Field<object>("ProgramID").ToString();
}
else
{
ProgramID_ = ProgramID_ + "+" + ProgramName.Select("ProgramName='" + pArray[j] + "'").
First().Field<object>("ProgramID").ToString();
}
}
string Machines_ = sArray[i];
string State_ = "100";
string Dyelot_ = comboBoxDyelot.Text;
@ -169,10 +223,14 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
{
StartTime_ = DateTime.Now.AddMinutes(1).ToString("yyyy/M/d HH:mm:ss");
}
SQLiteHelpers.Close(); //关闭连接
string Time_ = DateTime.Parse(ProgramName.Select("ProgramName='" + ProgramName_ + "'").
First().Field<object>("Time").ToString()).ToString("HH:mm:ss");
// SQLiteHelpers.Close(); //关闭连接
string Time_ = "0:00";
for (int k = 0; k < pArray.Length; k++)
{
string t = ProgramName.Select("ProgramName='" + pArray[k] + "'").
First().Field<object>("Time").ToString();
Time_ = (DateTime.Parse(Time_) + DateTime.Parse(t).TimeOfDay).ToString("HH:mm:ss");
}
string EndTime_ = (DateTime.Parse(StartTime_) + DateTime.Parse(Time_).TimeOfDay).ToString();
//插入数据信息
@ -189,9 +247,22 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
WorkOrder_new.Add("Remark", null);
WorkOrder_new.Add("lock", 0);
WorkOrder_new.Add("color", color_);
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
//SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
//SQLiteHelpers.Open(); //打开数据库
SQLiteHelpers.InsertData("WorkOrder", WorkOrder_new);// 执行插入
DataTable data_t = dat.Clone();
data_t.Columns.Add(new DataColumn() { ColumnName = "WorkOrder", DataType = typeof(String), DefaultValue = WorkOrder_ });
data_t.Columns.Add(new DataColumn() { ColumnName = "Dyelot", DataType = typeof(String), DefaultValue = Dyelot_ });
int a = dat.Rows.Count;
for (int x = 0; x < a ; x++)
{
data_t.Clear();
DataRow dt = dat.Rows[x];//行转换
DataRow dr = data_t.NewRow();
dr.ItemArray = dt.ItemArray;
data_t.Rows.InsertAt(dr, 0);
SQLiteHelpers.InsertData("WorkorderSteps", SQLiteHelpers.DataTableToDictionary(data_t));//行插入
}
SQLiteHelpers.Close(); //关闭连接
}
}
@ -260,7 +331,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
}
private void color_color_MouseDoubleClick(object sender, MouseButtonEventArgs e)
private void color_color_MouseDoubleClick(object sender, MouseButtonEventArgs e)//颜色
{
System.Windows.Forms.ColorDialog colorDialog = new System.Windows.Forms.ColorDialog();//使用调色盘控件ColorDialog
if (colorDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)//打开调色盘

3
View/ProductionPlanningView.xaml.cs

@ -110,6 +110,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
for (int j = 0; j < dataRows.Count(); j++) //列表排程
{
System.Windows.Media.Color colorBackground = (System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString("#FF336FA8");
System.Windows.Media.Color colorStatus = (System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString("#FF336FA8");
if (dataRows[j].Field<int>("State") == 100) colorStatus = (System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString("red");
try
{
colorBackground = (System.Windows.Media.Color)System.Windows.Media.ColorConverter.ConvertFromString(dataRows[j].Field<string>("color"));
@ -122,6 +124,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
End = DateTime.Parse(dataRows[j].Field<string>("EndTime")),
Name = Properties.Resources.ProcessName + ";" + dataRows[j].Field<string>("ProgramName"),
Background = colorBackground,
Status = colorStatus,
ID = dataRows[j].Field<string>("WorkOrder"),
TaskProgressVisibility = System.Windows.Visibility.Hidden
});

Loading…
Cancel
Save