|
|
@@ -53,7 +53,7 @@ namespace UAS_MES.Query
|
|
|
{
|
|
|
if (e.KeyCode == Keys.Enter)
|
|
|
{
|
|
|
- dt = (DataTable)dh.ExecuteSql("select ms_status,ms_paststep,ms_stepcode from makeserial where ms_sncode='" + sn_code.Text + "'", "select");
|
|
|
+ dt = (DataTable)dh.ExecuteSql("select ms_status,ms_paststep,ms_stepcode,NVL(ms_ifrework, 0) ms_ifrework,NVL(ms_reworkstatus, 0) ms_reworkstatus from makeserial where ms_sncode='" + sn_code.Text + "'", "select");
|
|
|
if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
if (Step != null && Step.Count > 0)
|
|
|
@@ -62,18 +62,38 @@ namespace UAS_MES.Query
|
|
|
SerialPanel.Controls.Clear();
|
|
|
PaintColor.Clear();
|
|
|
}
|
|
|
+ string ifRework = dt.Rows[0]["ms_ifrework"].ToString();
|
|
|
//执行过的步骤
|
|
|
PastStep = dt.Rows[0]["ms_paststep"].ToString();
|
|
|
//如果为不良的时候
|
|
|
string BadStep = "";
|
|
|
string RejectStep = "";
|
|
|
- if (dt.Rows[0]["ms_status"].ToString() == "3")
|
|
|
+ string reworkStep ="";
|
|
|
+ //先判断是否是返工的
|
|
|
+ if (ifRework!= "0")
|
|
|
{
|
|
|
- BadStep = dt.Rows[0]["ms_stepcode"].ToString();
|
|
|
+ //是返工的
|
|
|
+ if (dt.Rows[0]["ms_reworkstatus"].ToString() == "3")
|
|
|
+ {
|
|
|
+ BadStep = dt.Rows[0]["ms_stepcode"].ToString();
|
|
|
+ }
|
|
|
+ else if (dt.Rows[0]["ms_reworkstatus"].ToString() == "4")
|
|
|
+ {
|
|
|
+ RejectStep = dt.Rows[0]["ms_stepcode"].ToString();
|
|
|
+ }
|
|
|
+ reworkStep = dt.Rows[0]["ms_stepcode"].ToString();
|
|
|
}
|
|
|
- else if (dt.Rows[0]["ms_status"].ToString() == "4")
|
|
|
+ else
|
|
|
{
|
|
|
- RejectStep = dt.Rows[0]["ms_stepcode"].ToString();
|
|
|
+ //不是返工的
|
|
|
+ if (dt.Rows[0]["ms_status"].ToString() == "3")
|
|
|
+ {
|
|
|
+ BadStep = dt.Rows[0]["ms_stepcode"].ToString();
|
|
|
+ }
|
|
|
+ else if (dt.Rows[0]["ms_status"].ToString() == "4")
|
|
|
+ {
|
|
|
+ RejectStep = dt.Rows[0]["ms_stepcode"].ToString();
|
|
|
+ }
|
|
|
}
|
|
|
//查询执行过的步骤
|
|
|
sql.Clear();
|
|
|
@@ -93,44 +113,101 @@ namespace UAS_MES.Query
|
|
|
//添加开始节点绿色
|
|
|
PaintColor.Add(Brushes.Green);
|
|
|
//添加中间节点
|
|
|
+ bool passed = true;
|
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
|
{
|
|
|
- //包含说明是线内工序
|
|
|
- if (PastStep.Contains(dt.Rows[i]["CD_STEPCODE"].ToString()))
|
|
|
+ //如果是返工的,根据工序里的步骤判断,如果cd_detno大于当前步骤的cd_detno时候就显示白色
|
|
|
+ if (ifRework != "0")
|
|
|
{
|
|
|
- if (BadStep == dt.Rows[i]["CD_STEPCODE"].ToString())
|
|
|
- {
|
|
|
- PaintColor.Add(Brushes.Red);
|
|
|
+ //还未开始返工
|
|
|
+ if (reworkStep=="") {
|
|
|
+ passed = false;
|
|
|
}
|
|
|
- else
|
|
|
+ //passed==true;说明经过了这一步
|
|
|
+ if (passed)
|
|
|
{
|
|
|
- if (!PastStep.Contains(dt.Rows[i]["CD_STEPCODE"].ToString() + "," + RejectStep) || RejectStep == "")
|
|
|
- PaintColor.Add(Brushes.Green);
|
|
|
+ if (BadStep == dt.Rows[i]["CD_STEPCODE"].ToString())
|
|
|
+ {
|
|
|
+ PaintColor.Add(Brushes.Red);
|
|
|
+ }
|
|
|
else
|
|
|
{
|
|
|
- //判断之前有没有添加过黑色
|
|
|
- if (PaintColor.Contains(Brushes.Black))
|
|
|
+ if (!PastStep.Contains(dt.Rows[i]["CD_STEPCODE"].ToString() + "," + RejectStep) || RejectStep == "")
|
|
|
+ PaintColor.Add(Brushes.Green);
|
|
|
+ else
|
|
|
{
|
|
|
- //移除之前的,
|
|
|
- int index = PaintColor.IndexOf(Brushes.Black);
|
|
|
- PaintColor.RemoveAt(PaintColor.IndexOf(Brushes.Black));
|
|
|
- PaintColor.Insert(index, Brushes.Green);
|
|
|
+ //判断之前有没有添加过黑色
|
|
|
+ if (PaintColor.Contains(Brushes.Black))
|
|
|
+ {
|
|
|
+ //移除之前的,
|
|
|
+ int index = PaintColor.IndexOf(Brushes.Black);
|
|
|
+ PaintColor.RemoveAt(PaintColor.IndexOf(Brushes.Black));
|
|
|
+ PaintColor.Insert(index, Brushes.Green);
|
|
|
+ }
|
|
|
+ PaintColor.Add(Brushes.Black);
|
|
|
}
|
|
|
- PaintColor.Add(Brushes.Black);
|
|
|
}
|
|
|
}
|
|
|
+ //还没经过
|
|
|
+ else {
|
|
|
+ PaintColor.Add(Brushes.White);
|
|
|
+ }
|
|
|
+ //如果返工执行到了当前步
|
|
|
+ if (reworkStep == dt.Rows[i]["CD_STEPCODE"].ToString())
|
|
|
+ {
|
|
|
+ passed = false;
|
|
|
+ }
|
|
|
}
|
|
|
- //不包含说明是线外工序
|
|
|
else
|
|
|
+ //非返工,是正常
|
|
|
{
|
|
|
- PaintColor.Add(Brushes.White);
|
|
|
+ //包含说明是线内工序
|
|
|
+ if (PastStep.Contains(dt.Rows[i]["CD_STEPCODE"].ToString()))
|
|
|
+ {
|
|
|
+ if (BadStep == dt.Rows[i]["CD_STEPCODE"].ToString())
|
|
|
+ {
|
|
|
+ PaintColor.Add(Brushes.Red);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (!PastStep.Contains(dt.Rows[i]["CD_STEPCODE"].ToString() + "," + RejectStep) || RejectStep == "")
|
|
|
+ PaintColor.Add(Brushes.Green);
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //判断之前有没有添加过黑色
|
|
|
+ if (PaintColor.Contains(Brushes.Black))
|
|
|
+ {
|
|
|
+ //移除之前的,
|
|
|
+ int index = PaintColor.IndexOf(Brushes.Black);
|
|
|
+ PaintColor.RemoveAt(PaintColor.IndexOf(Brushes.Black));
|
|
|
+ PaintColor.Insert(index, Brushes.Green);
|
|
|
+ }
|
|
|
+ PaintColor.Add(Brushes.Black);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //不包含说明是线外工序
|
|
|
+ else
|
|
|
+ {
|
|
|
+ PaintColor.Add(Brushes.White);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- //完工添加绿色,未完工添加红色
|
|
|
- if (dh.CheckExist("Makeserial", "ms_sncode='" + sn_code.Text + "' and ms_status=2"))
|
|
|
- PaintColor.Add(Brushes.Green);
|
|
|
+ if (ifRework != "0") {
|
|
|
+ //完工添加绿色,未完工添加红色
|
|
|
+ if (dh.CheckExist("Makeserial", "ms_sncode='" + sn_code.Text + "' and ms_reworkstatus='2'"))
|
|
|
+ PaintColor.Add(Brushes.Green);
|
|
|
+ else
|
|
|
+ PaintColor.Add(Brushes.White);
|
|
|
+ }
|
|
|
else
|
|
|
- PaintColor.Add(Brushes.White);
|
|
|
+ {
|
|
|
+ //完工添加绿色,未完工添加红色
|
|
|
+ if (dh.CheckExist("Makeserial", "ms_sncode='" + sn_code.Text + "' and ms_status='2'"))
|
|
|
+ PaintColor.Add(Brushes.Green);
|
|
|
+ else
|
|
|
+ PaintColor.Add(Brushes.White);
|
|
|
+ }
|
|
|
Refresh();
|
|
|
SerialPanel.Refresh();
|
|
|
sql.Clear();
|