#250926 术鹏修改为将耗时操作修改为后台线程

This commit is contained in:
HM-CN\zhengxuan.zhang
2025-10-16 11:48:30 +08:00
parent 4f952f932e
commit 974b68b8d6
37 changed files with 4130 additions and 3741 deletions
+124 -35
View File
@@ -25,6 +25,7 @@ namespace NSAnalysis
private DataTable dtVINData = new DataTable();
private string strLastVIN = "";
CenterControl gCC = null;
private BackgroundWorker m_bgwRefreshCar = new BackgroundWorker();
#endregion
#region
@@ -96,7 +97,9 @@ namespace NSAnalysis
InitNextSenseControl();
labVIN.Text = "";
tmrRefreshData.Interval = 1100;
tmrRefreshData.Start();
//tmrRefreshData.Start();
m_bgwRefreshCar.DoWork += new DoWorkEventHandler(m_bgwRefreshCar_DoWork);
m_bgwRefreshCar.RunWorkerAsync();
SpecifyScreenDisplay1();
}
@@ -155,6 +158,83 @@ namespace NSAnalysis
}
}
}
private void m_bgwRefreshCar_DoWork(object sender, DoWorkEventArgs e)
{
while (true)
{
try
{
string strVIN = tmdal.SelectMaintenanceStation7VIN();
if (strLastVIN != strVIN)
{
if (strVIN.ToLower().Contains("empty"))
{
Invoke((MethodInvoker)(() =>
{
labVIN.Text = "VIN码为空";
}));
InitNextSenseControl();
}
else
{
if (strVIN.Length == 17)
{
string strSubVIN = strVIN;//.Substring(0, strVIN.Length - 2);
dtVINData.Clear();
Invoke((MethodInvoker)(() => { labVIN.Text = strSubVIN; })) ;
string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN);
if (strCarType.ToUpper().Contains("EHY"))
{
MyBase.TraceWriteLine("Right EHY UI Refresh m_bgwRefreshCar_DoWork (strVIN.Length==17)strLastVIN" + strLastVIN + " ;VIN: " + strSubVIN);
SpecifyScreenDisplay1();
dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R");
if (dtVINData.Rows.Count > 0)
{
refreshCarUIData(dtVINData);
analysisTitleColor();
}
else
{
InitNextSenseControl();
}
gCC.ShowCarMeasureDataByCarType(2);
}
}
if (strVIN.Length == 21)
{
string strSubVIN = strVIN.Substring(0, 17);
dtVINData.Clear();
Invoke((MethodInvoker)(() => { labVIN.Text = strSubVIN; }));
string strCarType = strVIN.Substring(18, 3);
if (strCarType.ToUpper().Contains("EHY"))
{
MyBase.TraceWriteLine("Right EHY UI Refresh m_bgwRefreshCar_DoWork (strVIN.Length==21)strLastVIN" + strLastVIN + " ;VIN: " + strSubVIN);
SpecifyScreenDisplay1();
dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R");
if (dtVINData.Rows.Count > 0)
{
refreshCarUIData(dtVINData);
analysisTitleColor();
}
else
{
InitNextSenseControl();
}
gCC.ShowCarMeasureDataByCarType(2);
}
}
}
}
strLastVIN = strVIN;
}
catch (Exception ex)
{
MyBase.TraceWriteLine("Left EHY UI Refresh m_bgwRefreshCar_DoWork Error:" + ex.Message);
}
}
}
private void tmrRefreshData_Tick(object sender, EventArgs e)
{
@@ -179,9 +259,10 @@ namespace NSAnalysis
dtVINData.Clear();
labVIN.Text = strSubVIN;
string strCarType = tmdal.SelectCarTypeByVIN(strSubVIN);
MyBase.TraceWriteLine("Right EHY UI Refresh tmrRefreshData (strVIN.Length==17)CarType" + strCarType + " ;VIN: " + strSubVIN);
if (strCarType.ToUpper().Contains("EHY"))
{
MyBase.TraceWriteLine("Right EHY UI Refresh tmrRefreshData (strVIN.Length==17)strLastVIN" + strLastVIN + " ;VIN: " + strSubVIN);
SpecifyScreenDisplay1();
dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R");
if (dtVINData.Rows.Count > 0)
@@ -202,9 +283,10 @@ namespace NSAnalysis
dtVINData.Clear();
labVIN.Text = strSubVIN;
string strCarType = strVIN.Substring(18, 3);
MyBase.TraceWriteLine("Right EHY UI Refresh tmrRefreshData (strVIN.Length==21)CarType" + strCarType + " ;VIN: " + strSubVIN);
if (strCarType.ToUpper().Contains("EHY"))
{
MyBase.TraceWriteLine("Right EHY UI Refresh tmrRefreshData (strVIN.Length==21)strLastVIN" + strLastVIN + " ;VIN: " + strSubVIN);
SpecifyScreenDisplay1();
dtVINData = tmdal.SelectTMeasureDataByCarIDAndMPN(strSubVIN, "R");
if (dtVINData.Rows.Count > 0)
@@ -229,10 +311,10 @@ namespace NSAnalysis
MyBase.TraceWriteLine("Left EHY UI Refresh tmrRefreshData Error:" + ex.Message);
}
finally
{
tmrRefreshData.Start();
}
//finally
//{
// tmrRefreshData.Start();
//}
}
private Color analysisColorbyStatus(string strStatus)
@@ -276,25 +358,28 @@ namespace NSAnalysis
strNSName = "R" + i.ToString();
}
ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
if (ucns != null)
Invoke((MethodInvoker)(() =>
{
if (ucns.tlpFBackColor == Color.Red || ucns.tlpGBackColor == Color.Red)
if (ucns != null)
{
ucns.tlpBackColor = Color.Red;
if (ucns.tlpFBackColor == Color.Red || ucns.tlpGBackColor == Color.Red)
{
ucns.tlpBackColor = Color.Red;
}
else if (ucns.tlpFBackColor == Color.LightGray && ucns.tlpGBackColor == Color.LightGray)
{
ucns.tlpBackColor = Color.LightGray;
}
else if (ucns.tlpFBackColor == Color.Yellow && ucns.tlpGBackColor == Color.Yellow)
{
ucns.tlpBackColor = Color.Yellow;
}
else
{
ucns.tlpBackColor = Color.Lime;
}
}
else if (ucns.tlpFBackColor == Color.LightGray && ucns.tlpGBackColor == Color.LightGray)
{
ucns.tlpBackColor = Color.LightGray;
}
else if (ucns.tlpFBackColor == Color.Yellow && ucns.tlpGBackColor == Color.Yellow)
{
ucns.tlpBackColor = Color.Yellow;
}
else
{
ucns.tlpBackColor = Color.Lime;
}
}
}));
}
}
@@ -308,21 +393,25 @@ namespace NSAnalysis
strNSName = dtData.Rows[i]["MeasPointName"].ToString().Replace("-", "");
strFGName = dtData.Rows[i]["DimensionName"].ToString();
ucns = ((UCVWNextSense)MyBase.GetChildControl(this, strNSName));
if (ucns != null)
Invoke((MethodInvoker)(() =>
{
if (strFGName == "F")
if (ucns != null)
{
ucns.labFVal = dtData.Rows[i]["MeasureValue"].ToString();
ucns.labFLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString();
ucns.tlpFBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString());
if (strFGName == "F")
{
ucns.labFVal = dtData.Rows[i]["MeasureValue"].ToString();
ucns.labFLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString();
ucns.tlpFBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString());
}
else
{
ucns.labGVal = dtData.Rows[i]["MeasureValue"].ToString();
ucns.labGLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString();
ucns.tlpGBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString());
}
}
else
{
ucns.labGVal = dtData.Rows[i]["MeasureValue"].ToString();
ucns.labGLowerUpper = dtData.Rows[i]["LowerTolVal"].ToString() + "/" + dtData.Rows[i]["UpperTolVal"].ToString();
ucns.tlpGBackColor = analysisColorbyStatus(dtData.Rows[i]["MeasureItemResult"].ToString());
}
}
}));
}
}