Browse Source

添加资源,新建页面添加信息,收发逻辑调整

master
sc 2 months ago
parent
commit
206204711b
  1. 9
      Properties/Resources.Designer.cs
  2. 3
      Properties/Resources.en-US.resx
  3. 3
      Properties/Resources.resx
  4. 3
      Properties/Resources.zh-CN.resx
  5. 7
      Properties/Resources.zh-TW.resx
  6. 25
      View/DyeingPlanView.xaml
  7. 10
      View/DyeingPlanView.xaml.cs
  8. 32
      ViewModel/MainWindowViewModel.cs

9
Properties/Resources.Designer.cs

@ -2499,6 +2499,15 @@ namespace SunlightCentralizedControlManagement_SCCM_.Properties {
} }
} }
/// <summary>
/// 查找类似 Swing 的本地化字符串。
/// </summary>
public static string Swing {
get {
return ResourceManager.GetString("Swing", resourceCulture);
}
}
/// <summary> /// <summary>
/// 查找类似 SystemDataLoss 的本地化字符串。 /// 查找类似 SystemDataLoss 的本地化字符串。
/// </summary> /// </summary>

3
Properties/Resources.en-US.resx

@ -1080,4 +1080,7 @@
<data name="_Auto" xml:space="preserve"> <data name="_Auto" xml:space="preserve">
<value>Manual/Automatic</value> <value>Manual/Automatic</value>
</data> </data>
<data name="Swing" xml:space="preserve">
<value>Swing</value>
</data>
</root> </root>

3
Properties/Resources.resx

@ -1080,4 +1080,7 @@
<data name="_Auto" xml:space="preserve"> <data name="_Auto" xml:space="preserve">
<value>Manual/Automatic</value> <value>Manual/Automatic</value>
</data> </data>
<data name="Swing" xml:space="preserve">
<value>Swing</value>
</data>
</root> </root>

3
Properties/Resources.zh-CN.resx

@ -1080,4 +1080,7 @@
<data name="_Auto" xml:space="preserve"> <data name="_Auto" xml:space="preserve">
<value>手/自动</value> <value>手/自动</value>
</data> </data>
<data name="Swing" xml:space="preserve">
<value>摆布</value>
</data>
</root> </root>

7
Properties/Resources.zh-TW.resx

@ -1080,4 +1080,11 @@
<data name="_Auto" xml:space="preserve"> <data name="_Auto" xml:space="preserve">
<value>手/自動</value> <value>手/自動</value>
</data> </data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Swing" type="System.Resources.ResXNullRef, System.Windows.Forms">
<value />
</data>
<data name="Swing" xml:space="preserve">
<value>擺佈</value>
</data>
</root> </root>

25
View/DyeingPlanView.xaml

@ -62,6 +62,27 @@
<TextBox HorizontalAlignment="Left" Height="30" Margin="140,530,10,0" x:Name="TEXTUSER" VerticalAlignment="Top" Width="270" <TextBox HorizontalAlignment="Left" Height="30" Margin="140,530,10,0" x:Name="TEXTUSER" VerticalAlignment="Top" Width="270"
FontSize="15" BorderBrush="#FF673AB7" /> FontSize="15" BorderBrush="#FF673AB7" />
<TextBlock HorizontalAlignment="Right" Height="40" Margin="10,80,480,0" TextWrapping="Wrap" Text="{x:Static lang:Resources.Pump}"
VerticalAlignment="Top" Width="120" FontSize="25"/>
<TextBox HorizontalAlignment="Right" Height="30" Margin="140,80,380,0" x:Name="PumpSpeed" VerticalAlignment="Top" Width="100"
FontSize="15" BorderBrush="#FF673AB7" />
<TextBlock HorizontalAlignment="Right" Height="40" Margin="240,80,150,0" TextWrapping="Wrap" Text="{x:Static lang:Resources.Blower}"
VerticalAlignment="Top" Width="120" FontSize="25"/>
<TextBox HorizontalAlignment="Right" Height="30" Margin="360,80,50,0" x:Name="Blower" VerticalAlignment="Top" Width="100"
FontSize="15" BorderBrush="#FF673AB7" />
<TextBlock HorizontalAlignment="Right" Height="40" Margin="10,130,480,0" TextWrapping="Wrap" Text="{x:Static lang:Resources.Swing}"
VerticalAlignment="Top" Width="120" FontSize="25"/>
<TextBox HorizontalAlignment="Right" Height="30" Margin="140,130,380,0" x:Name="Swing" VerticalAlignment="Top" Width="100"
FontSize="15" BorderBrush="#FF673AB7" />
<TextBlock HorizontalAlignment="Right" Height="40" Margin="240,130,150,0" TextWrapping="Wrap" Text="{x:Static lang:Resources.ClothWheel}"
VerticalAlignment="Top" Width="120" FontSize="25"/>
<TextBox HorizontalAlignment="Right" Height="30" Margin="360,130,50,0" x:Name="ClothWheel" VerticalAlignment="Top" Width="100"
FontSize="15" BorderBrush="#FF673AB7" />
<TextBlock HorizontalAlignment="Right" Height="40" Margin="10,180,480,0" TextWrapping="Wrap" Text="{x:Static lang:Resources.Nozzle}"
VerticalAlignment="Top" Width="120" FontSize="25"/>
<TextBox HorizontalAlignment="Right" Height="30" Margin="140,180,380,0" x:Name="Nozzle" VerticalAlignment="Top" Width="100"
FontSize="15" BorderBrush="#FF673AB7" />
<ComboBox HorizontalAlignment="Right" Height="30" Margin="150,30,50,0" x:Name="comboBoxProgram" VerticalAlignment="Top" Width="470" <ComboBox HorizontalAlignment="Right" Height="30" Margin="150,30,50,0" x:Name="comboBoxProgram" VerticalAlignment="Top" Width="470"
FontSize="15" IsEditable="True" BorderBrush="#FF673AB7" DropDownClosed="comboBoxProgram_DropDownClosed" FontSize="15" IsEditable="True" BorderBrush="#FF673AB7" DropDownClosed="comboBoxProgram_DropDownClosed"
TextBoxBase.TextChanged="comboBoxProgram_TextChanged"/> TextBoxBase.TextChanged="comboBoxProgram_TextChanged"/>
@ -72,7 +93,7 @@
GridLinesVisibility="All" ColumnHeaderHeight="40" MouseDoubleClick="Grid_data_MouseDoubleClick" GridLinesVisibility="All" ColumnHeaderHeight="40" MouseDoubleClick="Grid_data_MouseDoubleClick"
Grid.ColumnSpan="2" CanUserResizeRows="False" AutoGenerateColumns="False" MinColumnWidth="30" Grid.ColumnSpan="2" CanUserResizeRows="False" AutoGenerateColumns="False" MinColumnWidth="30"
CanUserAddRows="False" CanUserDeleteRows="False" HeadersVisibility ="Column" SelectionMode="Single" CanUserAddRows="False" CanUserDeleteRows="False" HeadersVisibility ="Column" SelectionMode="Single"
Margin="0,100,10,60" Width="600" HorizontalAlignment="Right" BorderBrush="#FFC9C9C9" FontSize="16" BorderThickness="5,5,5,5" > Margin="0,250,10,60" Width="600" HorizontalAlignment="Right" BorderBrush="#FFC9C9C9" FontSize="16" BorderThickness="5,5,5,5" >
<DataGrid.RowStyle > <DataGrid.RowStyle >
<Style TargetType="{x:Type DataGridRow}"> <Style TargetType="{x:Type DataGridRow}">
<Setter Property="Height" Value="100" /> <Setter Property="Height" Value="100" />
@ -190,7 +211,7 @@ MaxWidth="0" Binding="{Binding ParameterName}" IsReadOnly="True"/>
<materialDesign:PackIcon Kind="ArrowRight" Foreground="#FF00204E" HorizontalAlignment="Center" VerticalAlignment="Center" Width="50" Height="35" /> <materialDesign:PackIcon Kind="ArrowRight" Foreground="#FF00204E" HorizontalAlignment="Center" VerticalAlignment="Center" Width="50" Height="35" />
</Button> </Button>
<Grid Background="White" Margin="10,500,300,60" HorizontalAlignment="Left" VerticalAlignment="Bottom" Height="250" Width="400"> <Grid Background="White" Margin="10,500,300,45" HorizontalAlignment="Left" VerticalAlignment="Bottom" Height="250" Width="400">
<ContentControl x:Name="Picture"/> <ContentControl x:Name="Picture"/>
</Grid> </Grid>
</Grid> </Grid>

10
View/DyeingPlanView.xaml.cs

@ -173,6 +173,16 @@ namespace SunlightCentralizedControlManagement_SCCM_.View
WorkOrder_new.Add("ColorName", TEXTColorName.Text); WorkOrder_new.Add("ColorName", TEXTColorName.Text);
SQLiteHelpers.InsertData("WorkOrder", WorkOrder_new);// 执行插入 SQLiteHelpers.InsertData("WorkOrder", WorkOrder_new);// 执行插入
//插入信息
Dictionary<string, object> WorkOrder_set = new Dictionary<string, object>();//缓存函数
WorkOrder_set.Add("WorkOrder", WorkOrder_);
WorkOrder_set.Add("PumpSpeed", PumpSpeed.Text);
WorkOrder_set.Add("Blower", Blower.Text);
WorkOrder_set.Add("Swing", Swing.Text);
WorkOrder_set.Add("ClothWheel", ClothWheel.Text);
WorkOrder_set.Add("Nozzle", Nozzle.Text);
SQLiteHelpers.InsertData("WorkOrderSet", WorkOrder_set);// 执行插入
Dictionary<string, object> WorkOrder_DAT = new Dictionary<string, object>();//缓存函数 Dictionary<string, object> WorkOrder_DAT = new Dictionary<string, object>();//缓存函数
for (int x = 0; x < dat.Rows.Count; x++) for (int x = 0; x < dat.Rows.Count; x++)
{ {

32
ViewModel/MainWindowViewModel.cs

@ -185,7 +185,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
dis1s.Start();//计时开始 dis1s.Start();//计时开始
DispatcherTimer dis50ms = new DispatcherTimer DispatcherTimer dis50ms = new DispatcherTimer
{ {
Interval = TimeSpan.FromMilliseconds(20) //毫秒 Interval = TimeSpan.FromMilliseconds(100) //毫秒
}; };
dis50ms.Tick += new EventHandler(DisTimer_50MS);//每执行的方法 dis50ms.Tick += new EventHandler(DisTimer_50MS);//每执行的方法
dis50ms.Start();//计时开始 dis50ms.Start();//计时开始
@ -193,18 +193,26 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
int Time5 = 0, Time30 = 0; int Time5 = 0, Time30 = 0;
void DisTimer_50MS(object sender, EventArgs e)//Tick_Event周期执行事件50MS void DisTimer_50MS(object sender, EventArgs e)//Tick_Event周期执行事件50MS
{ {
int _id=-1;
if (stringQueue.Count > 0) //信息发送队列 if (stringQueue.Count > 0) //信息发送队列
{ {
QueueString t = stringQueue.Dequeue(); QueueString t = stringQueue.Dequeue();
MachiensTcpClient[t.ID].SendAsync(t.DAT); MachiensTcpClient[t.ID].SendAsync(t.DAT);
_id = t.ID;
}
if (stringQueueinf.Count > 0)
{
QueueString inf = stringQueueinf.Dequeue();
if (_id != inf.ID) MachiensTcpClient[inf.ID].SendAsync(inf.DAT);
} }
} }
void Tick_Main_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S void Tick_Main_1S(object sender, EventArgs e)//Tick_Event周期执行事件1S
{ {
//下传工单信息 int mid;
/*下传工单信息*/
SQLiteHelper WorkOrderSQL = new SQLiteHelper(DBAddress); //数据库连接路径 SQLiteHelper WorkOrderSQL = new SQLiteHelper(DBAddress); //数据库连接路径
WorkOrderSQL.Open(); //打开数据库 WorkOrderSQL.Open(); //打开数据库
DataTable WorkOrderstepdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='111'" + DataTable WorkOrderstepdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='111' or State='112'" +
"AND EndTime >'" + DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存 "AND EndTime >'" + DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存
for (int k = 0; k < WorkOrderstepdata.Rows.Count; k++) for (int k = 0; k < WorkOrderstepdata.Rows.Count; k++)
{ {
@ -220,8 +228,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
WorkOrderSQL.Update("WorkOrder", new Dictionary<string, object> { { "State", 112 } }, WorkOrderSQL.Update("WorkOrder", new Dictionary<string, object> { { "State", 112 } },
"WorkOrder ='" + WorkOrderstepdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null); "WorkOrder ='" + WorkOrderstepdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null);
} }
//下传工单总览 /*下传工单总览*/
DataTable WorkOrderdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='100' " + DataTable WorkOrderdata = WorkOrderSQL.ExecuteDataSet("select * from WorkOrder where State='100' or State='110'" +
"AND EndTime >'" + DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存 "AND EndTime >'" + DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'", null).Tables[0]; //读取表写入缓存
for (int k = 0; k < WorkOrderdata.Rows.Count; k++) for (int k = 0; k < WorkOrderdata.Rows.Count; k++)
{ {
@ -244,6 +252,16 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
ID = index, ID = index,
DAT = "SC810" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + DataTableToDictionary(dataTable).ToJsonString() DAT = "SC810" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + DataTableToDictionary(dataTable).ToJsonString()
}); });
DataTable WorkOrderset = WorkOrderSQL.ExecuteDataSet("select * from WorkOrderSet where WorkOrder='" +
dt_temp["WorkOrder"] + "'", null).Tables[0]; //读取表写入缓存
if (WorkOrderset.Rows.Count > 0) {
stringQueue.Enqueue(new QueueString
{
ID = index,
DAT = "SC812" + Selet_Machines(Machines, "SYSKEY", "ID='" + index + "'") + DataTableToDictionary(WorkOrderset).ToJsonString()
});
}
WorkOrderSQL.Update("WorkOrder", new Dictionary<string, object> { { "State", 110 } }, WorkOrderSQL.Update("WorkOrder", new Dictionary<string, object> { { "State", 110 } },
"WorkOrder ='" + WorkOrderdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null); "WorkOrder ='" + WorkOrderdata.Select()[k].Field<object>("WorkOrder").ToString() + "'", null);
} }
@ -306,7 +324,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
string mac_s = Selet_Machines(Machines, "State", "ID='" + i + "'").ToString(); string mac_s = Selet_Machines(Machines, "State", "ID='" + i + "'").ToString();
if ((mac_s == "101") || (mac_s == "201") || (mac_s == "202") || (mac_s == "301") || (mac_s == "309"))//获取信息 if ((mac_s == "101") || (mac_s == "201") || (mac_s == "202") || (mac_s == "301") || (mac_s == "309"))//获取信息
{ {
stringQueue.Enqueue(new QueueString stringQueueinf.Enqueue(new QueueString
{ {
ID = i, ID = i,
DAT = "SC830" + Selet_Machines(Machines, "SYSKEY", "ID='" + i + "'").ToString() DAT = "SC830" + Selet_Machines(Machines, "SYSKEY", "ID='" + i + "'").ToString()
@ -746,6 +764,8 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel
} }
// 创建一个字符串类型的队列 // 创建一个字符串类型的队列
public static Queue<QueueString> stringQueue = new Queue<QueueString>(); public static Queue<QueueString> stringQueue = new Queue<QueueString>();
public static Queue<QueueString> stringQueueinf = new Queue<QueueString>();
/// <summary> /// <summary>
/// 将 DataTable 转换为 Dictionary 类型数据 /// 将 DataTable 转换为 Dictionary 类型数据
/// </summary> /// </summary>

Loading…
Cancel
Save