diff --git a/ViewModel/MainWindowViewModel.cs b/ViewModel/MainWindowViewModel.cs index 30c3e51..7c47dbd 100644 --- a/ViewModel/MainWindowViewModel.cs +++ b/ViewModel/MainWindowViewModel.cs @@ -25,6 +25,7 @@ using System.Threading.Tasks; using System.Timers; using System.Windows.Controls; using System.Windows.Forms; +using System.Windows.Markup; using System.Windows.Media; using System.Windows.Threading; using System.Xml.Linq; @@ -349,7 +350,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel MainWindow.InfData.Select("ID='" + i + "'").First().Delete(); } } - catch (Exception) { } + catch (Exception EX) { LogGing.ERRDATA(EX); } /**染机呼叫状态**/ try { @@ -362,9 +363,9 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel }); } } - catch (Exception) { } + catch (Exception EX) { LogGing.ERRDATA(EX); } try - {//处理呼叫请求列表 + {//处理呼叫请求列表(202》203) if (Dyelot_CALL.Select("State='202'").Count() > 0) { DataRow row = Dyelot_CALL.Select("State='202'").First(); @@ -392,17 +393,15 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel } } } - catch (Exception) { } + catch (Exception EX) { LogGing.ERRDATA(EX); } try - {//检查呼叫回复列表 + {//检查呼叫回复列表(203=>301) if (Dyelot_CALL.Select("State='203'").Count() > 0) { DataTable dt = new DataTable(); - int ri = 0; // DataRow[] dataRows = Dyelot_CALL.Select("State='203'"); foreach (DataRow dataRow in Dyelot_CALL.Select("State='203'")) { - ri++; if ((dataRow["State"].ToString() != "301") && (dataRow["State"].ToString() != "309")) { if (dataRow.Field("Type") == 2) @@ -414,29 +413,52 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel { if (dt.Select("DyeState = 301").Count() > 0) { - Dyelot_CALL.Rows.Remove(dataRow); + // Dyelot_CALL.Rows.Remove(dataRow); DataTable dr = await bDCSqlHelper.SELECT("DyelotsBulkedRecipe", "Dyelot = '" + dataRow.Field("Dyelot") + "' AND ReDye = " + dataRow.Field("ReDye") + - " AND StepNumber = " + dataRow.Field("StepNumber")); + " AND StepNumber = " + dataRow.Field("Step")); - foreach (DataRow Row in dr.Rows) + foreach (DataRow Row in Dyelot_CALL.Select("Dyelot='"+ dataRow["Dyelot"]+ "' and Redye ='"+ + dataRow["Redye"]+ "' AND Step = '"+ dataRow["Step"] + "'")) { - DataRow data = Dyelot_CALL.Select("ProductCode='" + Row.Field("ProductCode") + "'").First(); - data.BeginEdit(); - data["Amount"] = Row.Field("Amount"); - data["DispenseEndTime"] = Row.Field("DispenseEndTime").ToString("yyyy/MM/dd HH:mm:ss"); - data.EndEdit(); + if (dr.Rows.Count > 0) + { + DataRow data = dr.Select("ProductCode='" + Row.Field("ProductCode") + "'").First(); + Row.BeginEdit(); + Row["State"] = 301; + Row["Amount"] = data.Field("Amount"); + Row["DispenseEndTime"] = data.Field("DispenseEndTime").ToString("yyyy/MM/dd HH:mm:ss"); + Row.EndEdit(); + } + else + { + Row.BeginEdit(); + Row["State"] = 301; + Row["Amount"] = 0; + Row["DispenseEndTime"] = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); + Row.EndEdit(); + } } } - else + else if(dt.Select("DyeState = 309").Count() > 0) { - MainWindow.InfData.Rows.Add(new object[] { dataRow["Machine"], - Resources.Dyelot + dataRow["Dyelot"] + Resources.Step + dataRow["Step"]+ - Resources.DispenseException, - Selet_Machines(Machines, "SYSKEY", "Name='" + dataRow["Machine"] + "'"), - Selet_Machines(Machines, "ID", "Name='" + dataRow["Machine"] + "'")}); + foreach (DataRow Row in Dyelot_CALL.Select("Dyelot='" + dataRow["Dyelot"] + "' and Redye ='" + + dataRow["Redye"] + "' AND Step = '" + dataRow["Step"] + "'")) + { + Row.BeginEdit(); + Row["State"] = 301; + Row["Amount"] = 0; + Row["DispenseEndTime"] = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); + Row.EndEdit(); + } + + // MainWindow.InfData.Rows.Add(new object[] { dataRow["Machine"], + // Resources.Dyelot + dataRow["Dyelot"] + Resources.Step + dataRow["Step"]+ + // Resources.DispenseException, + // Selet_Machines(Machines, "SYSKEY", "Name='" + dataRow["Machine"] + "'"), + // Selet_Machines(Machines, "ID", "Name='" + dataRow["Machine"] + "'")}); } } @@ -449,29 +471,45 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel { if (dt.Select("PowderState = 301").Count() > 0) { - Dyelot_CALL.Rows.Remove(dataRow); + // Dyelot_CALL.Rows.Remove(dataRow); DataTable dr = await bDCSqlHelper.SELECT("DyelotsBulkedRecipe", "Dyelot = '" + dataRow.Field("Dyelot") + "' AND ReDye = " + dataRow.Field("ReDye") + - " AND StepNumber = " + dataRow.Field("StepNumber")); + " AND StepNumber = " + dataRow.Field("Step")); - foreach (DataRow Row in dr.Rows) + foreach (DataRow Row in Dyelot_CALL.Select("Dyelot='" + dataRow["Dyelot"] + "' and Redye ='" + + dataRow["Redye"] + "' AND Step = '" + dataRow["Step"] + "'")) { - DataRow data = Dyelot_CALL.Select("ProductCode='" + Row.Field("ProductCode") + "'").First(); - data.BeginEdit(); - data["Amount"] = Row.Field("Amount"); - data["DispenseEndTime"] = Row.Field("DispenseEndTime").ToString("yyyy/MM/dd HH:mm:ss"); - data.EndEdit(); + if (dr.Rows.Count > 0) + { + DataRow data = dr.Select("ProductCode='" + Row.Field("ProductCode") + "'").First(); + Row.BeginEdit(); + Row["State"] = 301; + Row["Amount"] = data.Field("Amount"); + Row["DispenseEndTime"] = data.Field("DispenseEndTime").ToString("yyyy/MM/dd HH:mm:ss"); + Row.EndEdit(); + } + else + { + Row.BeginEdit(); + Row["State"] = 301; + Row["Amount"] = 0; + Row["DispenseEndTime"] = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); + Row.EndEdit(); + } } } - else + else if (dt.Select("DyeState = 309").Count() > 0) { - MainWindow.InfData.Rows.Add(new object[] { dataRow["Machine"], - Resources.Dyelot + dataRow["Dyelot"] + Resources.Step + dataRow["Step"]+ - Resources.DispenseException, - Selet_Machines(Machines, "SYSKEY", "Name='" + dataRow["Machine"] + "'"), - Selet_Machines(Machines, "ID", "Name='" + dataRow["Machine"] + "'")}); - + foreach (DataRow Row in Dyelot_CALL.Select("Dyelot='" + dataRow["Dyelot"] + "' and Redye ='" + + dataRow["Redye"] + "' AND Step = '" + dataRow["Step"] + "'")) + { + Row.BeginEdit(); + Row["State"] = 301; + Row["Amount"] = 0; + Row["DispenseEndTime"] = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); + Row.EndEdit(); + } } } } @@ -481,31 +519,47 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel "' AND (ChemicalState = 301 OR ChemicalState = 309)"); if (dt.Rows.Count > 0) { - if (dt.Select("PowderState = 301").Count() > 0) + if (dt.Select("ChemicalState = 301").Count() > 0) { - Dyelot_CALL.Rows.Remove(dataRow); + // Dyelot_CALL.Rows.Remove(dataRow); DataTable dr = await bDCSqlHelper.SELECT("DyelotsBulkedRecipe", "Dyelot = '" + dataRow.Field("Dyelot") + "' AND ReDye = " + dataRow.Field("ReDye") + - " AND StepNumber = " + dataRow.Field("StepNumber")); + " AND StepNumber = " + dataRow.Field("Step")); - foreach (DataRow Row in dr.Rows) + foreach (DataRow Row in Dyelot_CALL.Select("Dyelot='" + dataRow["Dyelot"] + "' and Redye ='" + + dataRow["Redye"] + "' AND Step = '" + dataRow["Step"] + "'")) { - DataRow data = Dyelot_CALL.Select("ProductCode='" + Row.Field("ProductCode") + "'").First(); - data.BeginEdit(); - data["Amount"] = Row.Field("Amount"); - data["DispenseEndTime"] = Row.Field("DispenseEndTime").ToString("yyyy/MM/dd HH:mm:ss"); - data.EndEdit(); + if (dr.Rows.Count > 0) + { + DataRow data = dr.Select("ProductCode='" + Row.Field("ProductCode") + "'").First(); + Row.BeginEdit(); + Row["State"] = 301; + Row["Amount"] = data.Field("Amount"); + Row["DispenseEndTime"] = data.Field("DispenseEndTime").ToString("yyyy/MM/dd HH:mm:ss"); + Row.EndEdit(); + } + else + { + Row.BeginEdit(); + Row["State"] = 301; + Row["Amount"] = 0; + Row["DispenseEndTime"] = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); + Row.EndEdit(); + } } } - else + else if (dt.Select("DyeState = 309").Count() > 0) { - MainWindow.InfData.Rows.Add(new object[] { dataRow["Machine"], - Resources.Dyelot + dataRow["Dyelot"] + Resources.Step + dataRow["Step"]+ - Resources.DispenseException, - Selet_Machines(Machines, "SYSKEY", "Name='" + dataRow["Machine"] + "'"), - Selet_Machines(Machines, "ID", "Name='" + dataRow["Machine"] + "'")}); - + foreach (DataRow Row in Dyelot_CALL.Select("Dyelot='" + dataRow["Dyelot"] + "' and Redye ='" + + dataRow["Redye"] + "' AND Step = '" + dataRow["Step"] + "'")) + { + Row.BeginEdit(); + Row["State"] = 301; + Row["Amount"] = 0; + Row["DispenseEndTime"] = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"); + Row.EndEdit(); + } } } } @@ -514,7 +568,7 @@ namespace SunlightCentralizedControlManagement_SCCM_.ViewModel } } } - catch (Exception) { } + catch (Exception EX) { LogGing.ERRDATA(EX); } }