Browse Source

主页面排队的信息显示逻辑修改

master
sc 4 months ago
parent
commit
5c56e2978f
  1. 4
      ConvertMoels/StatenConvert.cs
  2. 9
      Properties/Resources.Designer.cs
  3. 3
      Properties/Resources.en-US.resx
  4. 3
      Properties/Resources.resx
  5. 3
      Properties/Resources.zh-CN.resx
  6. 3
      Properties/Resources.zh-TW.resx
  7. 8
      View/TechnologicalProcessView.xaml
  8. 12
      View/WorkOrderView.xaml
  9. 25
      View/WorkOrderView.xaml.cs
  10. 45
      ViewModel/MainWindowViewModel.cs

4
ConvertMoels/StatenConvert.cs

@ -21,11 +21,13 @@ namespace DyeingComputer.ConvertMoels
string Staten = null;
string i = value.ToString();
if (i == "101") Staten = Properties.Resources.Ready;
if (i == "100") Staten = Properties.Resources.Ready;
else if (i == "101") Staten = Properties.Resources.Ready;
else if (i == "102") Staten = Properties.Resources.Measure;
else if (i == "201") Staten = Properties.Resources.Auto;
else if (i == "202") Staten = Properties.Resources.LineUp;
else if (i == "203") Staten = Properties.Resources.Await;
else if (i == "205") Staten = Properties.Resources.RUN;
else if (i == "301") Staten = Properties.Resources.Finish;
else if (i == "309") Staten = Properties.Resources.Abnormal;
else if (i == "800") Staten = Properties.Resources.Notimplementation;

9
Properties/Resources.Designer.cs

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

3
Properties/Resources.en-US.resx

@ -546,4 +546,7 @@
<data name="ProductName" xml:space="preserve">
<value>Product Name</value>
</data>
<data name="RUN" xml:space="preserve">
<value>RUN</value>
</data>
</root>

3
Properties/Resources.resx

@ -546,4 +546,7 @@
<data name="ProductName" xml:space="preserve">
<value>ProductName</value>
</data>
<data name="RUN" xml:space="preserve">
<value>RUN</value>
</data>
</root>

3
Properties/Resources.zh-CN.resx

@ -546,4 +546,7 @@
<data name="ProductName" xml:space="preserve">
<value>原料名</value>
</data>
<data name="RUN" xml:space="preserve">
<value>运行</value>
</data>
</root>

3
Properties/Resources.zh-TW.resx

@ -546,4 +546,7 @@
<data name="ProductName" xml:space="preserve">
<value>原料名</value>
</data>
<data name="RUN" xml:space="preserve">
<value>運行</value>
</data>
</root>

8
View/TechnologicalProcessView.xaml

@ -135,7 +135,13 @@
<DataGrid.Columns>
<!--列信息绑定-->
<DataGridTextColumn Header="{x:Static lang:Resources.Step}" Binding="{Binding Step}" Width="30"/>
<DataGridTextColumn Header="{x:Static lang:Resources.State}" Width="50" Binding="{Binding State}"/>
<DataGridTextColumn Header="{x:Static lang:Resources.State}" Width="50" >
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Setter Property="Text" Value="{Binding Path=State,Converter={StaticResource StatenConvert}}"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="{x:Static lang:Resources.ProductName}" Width="180" Binding="{Binding ProductName}"/>
<DataGridTextColumn Header="{x:Static lang:Resources.Grams}" Width="*" Binding="{Binding Grams}"/>
<DataGridTextColumn Header="{x:Static lang:Resources.Amount}" Width="*" Binding="{Binding Amount}"/>

12
View/WorkOrderView.xaml

@ -47,6 +47,12 @@
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="#FFF0F0F0" />
</Trigger>
<DataTrigger Binding ="{Binding State}" Value="205">
<Setter Property="IsHitTestVisible" Value="False" />
</DataTrigger>
<DataTrigger Binding ="{Binding State}" Value="301">
<Setter Property="IsHitTestVisible" Value="False" />
</DataTrigger>
<Trigger Property="IsMouseOver" Value="False"/>
</Style.Triggers>
</Style>
@ -61,6 +67,12 @@
<Setter Property="BorderBrush" Value="#FFC0C0C0"/>
<Setter Property="Foreground" Value="Black"/>
</Trigger>
<DataTrigger Binding="{Binding State}" Value="205">
<Setter Property="Background" Value="#FF00D6FF"/>
</DataTrigger>
<DataTrigger Binding="{Binding State}" Value="301">
<Setter Property="Foreground" Value="#FFA0A0A0"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>

25
View/WorkOrderView.xaml.cs

@ -87,7 +87,7 @@ namespace DyeingComputer.View
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
string sql_script = "select * from WorkOrder where EndTime > '" + DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") + "'";
string sql_script = "select * from WorkOrder where EndTime > '" + DateTime.Now.AddHours(-8).ToString("yyyy/MM/dd HH:mm:ss") + "'";
if (sql != null) sql.Clear(); //清空缓存
sql = SQLiteHelpers.ExecuteDataSet(sql_script, null); //读取计划表写入缓存
@ -247,11 +247,12 @@ namespace DyeingComputer.View
DataTable data_t = new DataTable();
int a;
/*检查并写入run信息*/
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
int R_D = SQLiteHelpers.ExecuteDataSet( "select * from RUN", null).Tables[0].Rows.Count; //读取表写入缓存
if (R_D > 0)
if (R_D > 0)//判断是否有运行中工艺
{
SQLiteHelpers.Close(); //关闭连接
@ -264,14 +265,13 @@ namespace DyeingComputer.View
System.Windows.MessageBox.Show(Properties.Resources.refuse, "800", MessageBoxButton.OK);
return;
}
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
}
}
updata_temp.Clear(); //使用前清缓存
updata_temp.Add("State", 101);
updata_temp.Add("State", 205);
SQLiteHelpers.Update("WorkOrder", updata_temp, "WorkOrder='" + WorkOrder_Numder + "'", null);
WorkorderSteps = SQLiteHelpers.ExecuteDataSet(
@ -294,13 +294,26 @@ namespace DyeingComputer.View
SQLiteHelpers.InsertData("RUN", SQLiteHelpers.DataTableToDictionary(data_t));//行插入
}
updata_temp.Clear(); //使用前清缓存
updata_temp.Add("RUN", 1);
SQLiteHelpers.Update("RUN", updata_temp, "Step=1", null);
SQLiteHelpers.Close(); //关闭连接
/*触发启动*/
string Numder = WorkorderSteps.Select("Step = 1").First().Field<string>("StepID");//
double P1 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter1");
double P2 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter2");
double P3 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter3");
double P4 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter4");
double P5 = WorkorderSteps.Select("Step = 1").First().Field<double>("Parameter5");
MainWindowViewModel.RUN_STEPID = Convert.ToInt16(1);//插入步骤号
MainWindowViewModel.STEP_START(Numder, Convert.ToDouble(P1), Convert.ToDouble(P2), Convert.ToDouble(P3),
Convert.ToDouble(P4), Convert.ToDouble(P5));
MainWindowViewModel.WORK_RUN =2;
APILog.LOGlog(MainWindowViewModel.WorkNumder.ToString(), "UserActions", "Jump", "STEP = " +
MainWindowViewModel.RUN_STEPID +";StepID=" + Numder + ";P1=" + P1 + ";P2=" + P2 + ";P3=" + P3 + ";P4=" + P4 + ";P5=" + P5);
/*选定工艺有效跳转准备 */
if (Process_id != null) //选定工艺有效跳转准备
{
MainWindowViewModel.WorkNumder = WorkOrder_Numder;

45
ViewModel/MainWindowViewModel.cs

@ -237,6 +237,8 @@ namespace DyeingComputer.ViewModel
SM01 = Convert.ToInt16(Selet_sys("SM01"));//FG
SM02 = Convert.ToInt16(Selet_sys("SM02"));//FG
SM03 = Convert.ToInt16(Selet_sys("SM03"));//FG
SK5 = Selet_sys("SK5");//
}
private void ProgramgroupView_run_()////运行/暂停
{
@ -612,28 +614,24 @@ namespace DyeingComputer.ViewModel
STEP_P2 = Convert.ToDouble(P2);
STEP_P3 = Convert.ToDouble(P3);
TEMP_tar = STEP_P1;
double t_t = Convert.ToDouble(Selet_dtm("1010"));
if (STEP_P1 > t_t) { THL_mode = 1; }
else if (STEP_P1 < t_t) { THL_mode = 2; }
TEMP_co = t_t;
Updata_dtm("1003", STEP_P2 / 600);
STEP_TIME = Convert.ToInt16(STEP_P3) * 60;
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;//功能模块001温度控制开始
case "007":
STEP_P1 = Convert.ToDouble(P1);
STEP_P2 = Convert.ToDouble(P2);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;
case "008":
STEP_P1 = Convert.ToDouble(P1);
STEP_P2 = Convert.ToDouble(P2);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;
@ -650,7 +648,6 @@ namespace DyeingComputer.ViewModel
STEP_P1 = Convert.ToDouble(P1);
STEP_P2 = Convert.ToDouble(P2);
STEP_TIME = Convert.ToInt16(MT05); //排水倒计时
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;
@ -658,55 +655,46 @@ namespace DyeingComputer.ViewModel
STEP_P1 = Convert.ToDouble(P1);
STEP_P2 = Convert.ToDouble(P2);
STEP_TIME = Convert.ToInt16(MT06); //动力排水倒计时
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;
case "031":
STEP_TIME = Convert.ToInt16(P1) * 60;
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;
case "035":
STEP_TIME = Convert.ToInt32(MU01);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;
case "036":
STEP_TIME = Convert.ToInt32(MU01);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;
case "039":
STEP_TIME = Convert.ToInt32(MU01);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;
case "040":
STEP_TIME = Convert.ToInt32(MU01);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;
case "041":
WORK_RUN = 2;
SETP_runtime = false;
STEP_finish = false;
break;
case "049":
STEP_TIME = Convert.ToInt32(MU01);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;
case "050":
STEP_P1 = Convert.ToDouble(P1);
STEP_P2 = Convert.ToDouble(P2);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;//主缸加压
@ -720,18 +708,15 @@ namespace DyeingComputer.ViewModel
STEP_P1 = Convert.ToDouble(P1);
STEP_P2 = Convert.ToDouble(P2);
STEP_P3 = Convert.ToDouble(P3);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;//主泵/风机速度
case "055":
STEP_TIME = 10;
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;//主泵启动
case "056":
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;//主泵停止
@ -741,7 +726,6 @@ namespace DyeingComputer.ViewModel
STEP_P3 = Convert.ToDouble(P3);
STEP_P4 = Convert.ToDouble(P4);
STEP_P5 = Convert.ToDouble(P5);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;//药缸备药
@ -749,7 +733,6 @@ namespace DyeingComputer.ViewModel
STEP_P1 = Convert.ToDouble(P1);
STEP_P2 = Convert.ToDouble(P2);
STEP_P3 = Convert.ToDouble(P3);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;//药缸加药
@ -757,7 +740,6 @@ namespace DyeingComputer.ViewModel
STEP_P1 = Convert.ToDouble(P1);
STEP_P2 = Convert.ToDouble(P2);
STEP_P3 = Convert.ToDouble(P3);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;//呼叫输送
@ -765,14 +747,12 @@ namespace DyeingComputer.ViewModel
STEP_P1 = Convert.ToDouble(P1);
STEP_P2 = Convert.ToDouble(P2);
STEP_P3 = Convert.ToDouble(P3);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;//呼叫输送
case "090":
STEP_P1 = Convert.ToDouble(P1);
STEP_P2 = Convert.ToDouble(P2);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;//快速加酸
@ -780,7 +760,6 @@ namespace DyeingComputer.ViewModel
STEP_P1 = Convert.ToDouble(P1);
STEP_P2 = Convert.ToDouble(P2);
STEP_P3 = Convert.ToDouble(P3);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;//PH温度控制
@ -793,7 +772,6 @@ namespace DyeingComputer.ViewModel
case "094":
STEP_P1 = Convert.ToDouble(P1);
STEP_P2 = Convert.ToDouble(P2);
WORK_RUN = 2;
SETP_runtime = true;
STEP_finish = false;
break;//PH控制
@ -1658,9 +1636,11 @@ namespace DyeingComputer.ViewModel
}
}
public static bool CALL_FR = false;
public static bool CALL_FR = false;//呼叫状态
string SK5;
void FeedingRecords(string WorkOrder,string Dyelot,int TANK,int STEP,int Type) //呼叫输送
{
int SQLI = 0;
Dictionary<string, object> dat_FR = new Dictionary<string, object>();
dat_FR.Add("State", "201");
dat_FR.Add("Tank", TANK.ToString());
@ -1669,9 +1649,18 @@ namespace DyeingComputer.ViewModel
SQLiteHelpers = new SQLiteHelper(DBAddress); //数据库连接路径
SQLiteHelpers.Open(); //打开数据库
int SQLI = SQLiteHelpers.ExecuteDataSet("select * from Dyelot where " +
"Dyelot = '"+Dyelot+ "' AND Step = '"+STEP+ "' AND Redye ='"+SYS_REDYE+"' AND State = '101'", null).Tables[0].Rows.Count;
if(SQLI>0) SQLiteHelpers.Update("Dyelot", dat_FR, "Dyelot = '"+Dyelot+ "' AND Step = '"+STEP+ "' AND Redye ='"+SYS_REDYE+"'", null);//行更新
if (SK5 == "1")//是否检查原料类型
{
SQLI = SQLiteHelpers.ExecuteDataSet("select * from Dyelot where " +
"Dyelot = '" + Dyelot + "' AND Step = '" + STEP + "' AND Redye ='" + SYS_REDYE + "' AND State = '101' AND ProductType='" + Type + "'", null).Tables[0].Rows.Count;
}
else
{
SQLI = SQLiteHelpers.ExecuteDataSet("select * from Dyelot where " +
"Dyelot = '" + Dyelot + "' AND Step = '" + STEP + "' AND Redye ='" + SYS_REDYE + "' AND State = '101'", null).Tables[0].Rows.Count;
}
if (SQLI > 0) SQLiteHelpers.Update("Dyelot", dat_FR, "Dyelot = '" + Dyelot + "' AND Step = '" + STEP + "' AND Redye ='" + SYS_REDYE + "'", null);//行更新
SQLiteHelpers.Close(); //关闭连接
}

Loading…
Cancel
Save