|
|
@@ -45,17 +45,12 @@ namespace UAS_MES.Make
|
|
|
int ma_qty;
|
|
|
//存放所有关联信息的类型和录入的值
|
|
|
Hashtable hs;
|
|
|
- string startNo = "";//起始序列
|
|
|
-
|
|
|
- string endNo = "";//终止序列
|
|
|
-
|
|
|
- string system = "";//进制
|
|
|
|
|
|
string oMakecode = "";
|
|
|
+
|
|
|
string oMsid = "";
|
|
|
|
|
|
string siid="";//存储TSN对应的sninfo记录id
|
|
|
- bool onlyPass = false;
|
|
|
|
|
|
DataTable macRange;//记录macBT范围
|
|
|
|
|
|
@@ -68,6 +63,10 @@ namespace UAS_MES.Make
|
|
|
string macOrBt = "";//存储去掉":"或者"-"的mac和bt
|
|
|
|
|
|
string imeif = "";
|
|
|
+
|
|
|
+ bool hasSnList = false;//记录是否有转换后SN清单
|
|
|
+
|
|
|
+ bool hasMakeRule = false;//记录是否有工单防呆规则
|
|
|
public Make_SeqProgramTransform()
|
|
|
{
|
|
|
InitializeComponent();
|
|
|
@@ -108,7 +107,7 @@ namespace UAS_MES.Make
|
|
|
oMsid = dh.getFieldDataByCondition("makeserial", "max(ms_id)", "ms_sncode in (select '" + code.Text + "' from dual union select sn from makesnrelation where beforesn='" + code.Text + "' and sn<>' ' union select beforesn from makesnrelation where sn='" + code.Text + "' and beforesn<>' ')").ToString();
|
|
|
if (oMsid=="")
|
|
|
{
|
|
|
- OperateResult.AppendText(">>TSN号错误\n", Color.Red, code);
|
|
|
+ OperateResult.AppendText("<<TSN号错误\n", Color.Red, code);
|
|
|
return;
|
|
|
}
|
|
|
//根据ms_id查询
|
|
|
@@ -129,13 +128,13 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- OperateResult.AppendText(">>当前工序不允许重新转号\n", Color.Red, code);
|
|
|
+ OperateResult.AppendText("<<当前工序不允许重新转号\n", Color.Red, code);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- OperateResult.AppendText(">>TSN号" + code.Text + "当前状态不允许重新转号\n", Color.Red, code);
|
|
|
+ OperateResult.AppendText("<<TSN号" + code.Text + "当前状态不允许重新转号\n", Color.Red, code);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
@@ -156,7 +155,7 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- OperateResult.AppendText(">>TSN号" + code.Text + "不存在\n", Color.Red, code);
|
|
|
+ OperateResult.AppendText("<<TSN号" + code.Text + "不存在\n", Color.Red, code);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
@@ -167,8 +166,8 @@ namespace UAS_MES.Make
|
|
|
//没有获取到就提示错误请维护产品对应的关联采集信息
|
|
|
if (ListA.Rows.Count == 0)
|
|
|
{
|
|
|
- OperateResult.AppendText(">>请维护产品对应的关联采集信息\n", Color.Red, code);
|
|
|
- OperateResult.AppendText("<<请输入TSN\n", Color.Black);
|
|
|
+ OperateResult.AppendText("<<请维护产品对应的关联采集信息\n", Color.Red, code);
|
|
|
+ OperateResult.AppendText(">>请输入TSN\n", Color.Black);
|
|
|
if (ChangeResult.Checked)
|
|
|
{
|
|
|
clearInfo();
|
|
|
@@ -177,29 +176,10 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
if (ChangeResult.Checked)
|
|
|
{
|
|
|
- OperateResult.AppendText("<<请输入SN\n", Color.Green, code);
|
|
|
+ OperateResult.AppendText(">>请输入SN\n", Color.Green, code);
|
|
|
}
|
|
|
- //判断重新转换是否勾选了
|
|
|
- if (ChangeResult.Checked)
|
|
|
- {
|
|
|
- ////勾选了
|
|
|
- //if (dh.CheckExist("MakeSerial", "ms_beforesn='" + code.Text + "' and ms_id='" + oMsid + "'"))
|
|
|
- //{
|
|
|
- // step = 1;
|
|
|
-
|
|
|
- // TSN = code.Text;
|
|
|
- // //显示序列号
|
|
|
- // show_sncode.Text = TSN;
|
|
|
- // OperateResult.AppendText("<<请输入SN\n", Color.Green, code);
|
|
|
- // ChangeResult.Enabled = false;
|
|
|
- //}
|
|
|
- //else
|
|
|
- //{
|
|
|
- // OperateResult.AppendText(">>不存在该已转序列号:" + code.Text + "\n", Color.Red, code);
|
|
|
- // OperateResult.AppendText("<<请重新输入TSN\n", Color.Black);
|
|
|
- //}
|
|
|
- }
|
|
|
- else
|
|
|
+ //判断重新转换未勾选
|
|
|
+ if (!ChangeResult.Checked)
|
|
|
{
|
|
|
//没有勾选,只能修改一次
|
|
|
//核对TSN是否正确
|
|
|
@@ -212,7 +192,7 @@ namespace UAS_MES.Make
|
|
|
TSN = code.Text;
|
|
|
//显示之前的序列号
|
|
|
show_sncode.Text = TSN;
|
|
|
- OperateResult.AppendText("<<请输入SN\n", Color.Green, code);
|
|
|
+ OperateResult.AppendText(">>请输入SN\n", Color.Green, code);
|
|
|
ChangeResult.Enabled = false;
|
|
|
}
|
|
|
else
|
|
|
@@ -225,14 +205,13 @@ namespace UAS_MES.Make
|
|
|
TSN = code.Text;
|
|
|
//显示序列号
|
|
|
show_sncode.Text = TSN;
|
|
|
- OperateResult.AppendText("<<请输入SN\n", Color.Green, code);
|
|
|
+ OperateResult.AppendText(">>请输入SN\n", Color.Green, code);
|
|
|
ChangeResult.Enabled = false;
|
|
|
- onlyPass = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- OperateResult.AppendText(">>序列号:" + code.Text + "已转换过\n", Color.Red, code);
|
|
|
- OperateResult.AppendText("<<请重新输入TSN\n", Color.Black);
|
|
|
+ OperateResult.AppendText("<<序列号:" + code.Text + "已转换过\n", Color.Red, code);
|
|
|
+ OperateResult.AppendText(">>请重新输入TSN\n", Color.Black);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -240,60 +219,36 @@ namespace UAS_MES.Make
|
|
|
else if (step == 1)
|
|
|
{
|
|
|
OperateResult.AppendText(">>" + code.Text + "\n", Color.Black);
|
|
|
- //判断用户是否锁定输入SN长度,
|
|
|
- if (!checkLengthOrPre(SNLength_checkBox, SNLength, "长度", "SN"))
|
|
|
- {
|
|
|
- return;
|
|
|
- }
|
|
|
- //判断用户是否锁定输入SN前缀,
|
|
|
- if (!checkLengthOrPre(SNPre_checkBox, SNPre, "前缀", "SN"))
|
|
|
- {
|
|
|
- return;
|
|
|
- }
|
|
|
//判断工单是否导入了序列号清单
|
|
|
- if (dh.CheckExist("makesnlist", "msl_makecode='" + ms_macode.Text + "' and msl_type='after'"))
|
|
|
+ if (hasSnList)
|
|
|
{
|
|
|
if (!dh.CheckExist("makesnlist", "msl_sncode='" + code.Text + "' and msl_makecode='" + ms_macode.Text + "' and msl_type='after'"))
|
|
|
{
|
|
|
//有序列号清单,输入的序列号却不在范围内
|
|
|
- OperateResult.AppendText(">>SN号" + code.Text + "错误,不在工单设定的转换后序列号清单中\n", Color.Red, code);
|
|
|
+ OperateResult.AppendText("<<SN号" + code.Text + "错误,不在工单设定的转换后序列号清单中\n", Color.Red, code);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
- //判断转换后序列号的范围是否合法
|
|
|
- if (!checkStartAndEnd())
|
|
|
+ else if (hasMakeRule)//判断工单防呆
|
|
|
{
|
|
|
- OperateResult.AppendText(">>SN号" + code.Text + "校验错误,不在工单防呆规则指定范围内!\n", Color.Red, code);
|
|
|
- return;
|
|
|
+ if (!dh.CheckExist("makesnruledetail", "msd_sncode='" + code.Text + "' and msd_makecode='" + ms_macode.Text + "' and msd_type='after'"))
|
|
|
+ {
|
|
|
+ OperateResult.AppendText("<<SN号" + code.Text + "校验错误,不在工单防呆规则指定范围内!\n", Color.Red, code);
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
- //如果只是需要过站的序列号
|
|
|
- if (onlyPass)
|
|
|
+ else//判断产品防呆
|
|
|
{
|
|
|
- if (TSN == code.Text)
|
|
|
+ //判断用户是否锁定输入SN长度,
|
|
|
+ if (!checkLengthOrPre(SNLength_checkBox, SNLength, "长度", "SN"))
|
|
|
{
|
|
|
- //写入日志
|
|
|
- if (LogicHandler.SetStepResult(ms_macode.Text, User.UserSourceCode, code.Text, "序列转换", "序列转换成功", User.UserCode, out errorMessage))
|
|
|
- {
|
|
|
- //记录日志
|
|
|
- LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_macode.Text, User.UserLineCode, User.UserSourceCode, "序列转换", "转换成功", code.Text, "");
|
|
|
- OperateResult.AppendText(">>转换成功\n", Color.Green, code);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red, code);
|
|
|
- }
|
|
|
- if (errorMessage.Contains("AFTERSUCCESS"))
|
|
|
- OperateResult.AppendText(">>" + errorMessage + "\n");
|
|
|
- onlyPass = false;
|
|
|
- show_sncode.Text = "";
|
|
|
- ChangeResult.Enabled = true;
|
|
|
- step = 0;
|
|
|
+ return;
|
|
|
}
|
|
|
- else
|
|
|
+ //判断用户是否锁定输入SN前缀,
|
|
|
+ if (!checkLengthOrPre(SNPre_checkBox, SNPre, "前缀", "SN"))
|
|
|
{
|
|
|
- OperateResult.AppendText(">>输入一致才可过站\n", Color.Red, code);
|
|
|
+ return;
|
|
|
}
|
|
|
- return;
|
|
|
}
|
|
|
//开始录入SN
|
|
|
if ((ChangeResult.Checked && dh.CheckExist("makeserial", " ms_id='" + oMsid + "' and ms_sncode='" + code.Text + "'")) || !dh.CheckExist("makeserial", "ms_sncode='" + code.Text + "'") || (!ChangeResult.Checked && (TSN == code.Text)))
|
|
|
@@ -304,7 +259,7 @@ namespace UAS_MES.Make
|
|
|
//开始进行校验规则
|
|
|
if (ListA.Rows.Count > 0)
|
|
|
{
|
|
|
- OperateResult.AppendText("<<请输入" + ListA.Rows[0]["psr_type"] + "\n", Color.Green);
|
|
|
+ OperateResult.AppendText(">>请输入" + ListA.Rows[0]["psr_type"] + "\n", Color.Green);
|
|
|
|
|
|
//实例化hashTable的值
|
|
|
hs = new Hashtable();
|
|
|
@@ -317,7 +272,7 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- OperateResult.AppendText(">>序列号" + code.Text + "已存在或无该转换后序列号\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<序列号" + code.Text + "已存在或无该转换后序列号\n", Color.Red);
|
|
|
OperateResult.AppendText(">>请输入SN\n", Color.Black, code);
|
|
|
}
|
|
|
}
|
|
|
@@ -338,7 +293,7 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- OperateResult.AppendText(">>输入不能为空\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<输入不能为空\n", Color.Red);
|
|
|
}
|
|
|
code.Text = "";
|
|
|
}
|
|
|
@@ -356,7 +311,7 @@ namespace UAS_MES.Make
|
|
|
//如果勾选没有填值
|
|
|
if (textbox.Text == "")
|
|
|
{
|
|
|
- OperateResult.AppendText(">>勾选长度或者前缀需要填写内容\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<勾选长度或者前缀需要填写内容\n", Color.Red);
|
|
|
return false;
|
|
|
}
|
|
|
if (type == "长度")
|
|
|
@@ -365,8 +320,8 @@ namespace UAS_MES.Make
|
|
|
if (code.Text.Trim().Length != int.Parse(textbox.Text))
|
|
|
{
|
|
|
//序列号校验错误,长度错误
|
|
|
- OperateResult.AppendText(">>" + TSNorSN + ":" + code.Text + "校验错误,长度错误\n", Color.Red, code);
|
|
|
- OperateResult.AppendText("<<请重新输入" + TSNorSN + "\n", Color.Black);
|
|
|
+ OperateResult.AppendText("<<" + TSNorSN + ":" + code.Text + "校验错误,长度错误\n", Color.Red, code);
|
|
|
+ OperateResult.AppendText(">>请重新输入" + TSNorSN + "\n", Color.Black);
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
@@ -387,8 +342,8 @@ namespace UAS_MES.Make
|
|
|
if (!f)
|
|
|
{
|
|
|
//序列号校验错误,前缀错误
|
|
|
- OperateResult.AppendText(">>" + TSNorSN + ":" + code.Text + "校验错误,前缀错误\n", Color.Red, code);
|
|
|
- OperateResult.AppendText("<<请重新输入" + TSNorSN + "\n", Color.Black);
|
|
|
+ OperateResult.AppendText("<<" + TSNorSN + ":" + code.Text + "校验错误,前缀错误\n", Color.Red, code);
|
|
|
+ OperateResult.AppendText(">>请重新输入" + TSNorSN + "\n", Color.Black);
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
@@ -429,7 +384,7 @@ namespace UAS_MES.Make
|
|
|
//如果前缀和长度都满足的话
|
|
|
if ((ListA.Rows[step - 2]["psr_length"].ToString() == "0" ? false : code.Text.Length != int.Parse(ListA.Rows[step - 2]["psr_length"].ToString())))
|
|
|
{
|
|
|
- OperateResult.AppendText(">>" + ListA.Rows[step - 2]["psr_type"] + "长度校验不通过,请重新输入\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<" + ListA.Rows[step - 2]["psr_type"] + "长度需为"+ ListA.Rows[step - 2]["psr_length"].ToString() + "校验不通过,请重新输入\n", Color.Red);
|
|
|
OperateResult.AppendText(">>请重新输入" + ListA.Rows[step - 2]["psr_type"] + "\n", Color.Black, code);
|
|
|
return false;
|
|
|
}
|
|
|
@@ -448,7 +403,7 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
if (!isfit)
|
|
|
{
|
|
|
- OperateResult.AppendText(">>" + ListA.Rows[step - 2]["psr_type"] + "前缀校验不通过,请重新输入\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<" + ListA.Rows[step - 2]["psr_type"] + "前缀校验不通过,请重新输入\n", Color.Red);
|
|
|
OperateResult.AppendText(">>请重新输入" + ListA.Rows[step - 2]["psr_type"] + "\n", Color.Black, code);
|
|
|
return false;
|
|
|
}
|
|
|
@@ -457,10 +412,9 @@ namespace UAS_MES.Make
|
|
|
case "IMEI1":
|
|
|
case "IMEI2":
|
|
|
case "IMEI3":
|
|
|
- if (!ChangeResult.Checked && checkExist("(ms_imei1='" + imeif + "' or ms_imei2 = '" + imeif + "' or ms_imei3 = '" + imeif + "') and ms_status in (0,1,2,3)")
|
|
|
- || ChangeResult.Checked && checkExist("(ms_imei1='" + imeif + "' or ms_imei2 = '" + imeif + "' or ms_imei3 = '" + imeif + "') and ms_status in (0,1,2,3) and ms_id <> '" + oMsid + "'"))
|
|
|
+ if (checkExist("(ms_imei1='" + imeif + "' or ms_imei2 = '" + imeif + "' or ms_imei3 = '" + imeif + "') and ms_status in (0,1,2,3) and ms_id <> '" + oMsid + "'"))
|
|
|
{
|
|
|
- OperateResult.AppendText(">>" + type + ":" + imeif + "错误,不允许重复\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<" + type + ":" + imeif + "错误,不允许重复\n", Color.Red);
|
|
|
OperateResult.AppendText(">>请输入" + type + "\n", Color.Black, code);
|
|
|
return false;
|
|
|
}
|
|
|
@@ -468,14 +422,14 @@ namespace UAS_MES.Make
|
|
|
{ //校验sninfo中是否已经存在这个
|
|
|
if (dh.CheckExist("sninfo", "(si_imei1='" + imeif + "' or si_imei2 = '" + imeif + "' or si_imei3 = '" + imeif + "') and si_id <>'" + siid + "'"))
|
|
|
{
|
|
|
- OperateResult.AppendText(">>" + type + ":" + imeif + "错误,不允许重复\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<" + type + ":" + imeif + "错误,不允许重复\n", Color.Red);
|
|
|
OperateResult.AppendText(">>请输入" + type + "\n", Color.Black, code);
|
|
|
return false;
|
|
|
}
|
|
|
//判断IMEI1,IMEI2,IMEI3中是否已经有这个号了
|
|
|
if (imei.ToString().Contains(imeif))
|
|
|
{
|
|
|
- OperateResult.AppendText(">>" + type + ":" + imeif + "已录,请重新输入\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<" + type + ":" + imeif + "已录,请重新输入\n", Color.Red);
|
|
|
OperateResult.AppendText(">>请输入" + type + "\n", Color.Black, code);
|
|
|
return false;
|
|
|
}
|
|
|
@@ -492,15 +446,14 @@ namespace UAS_MES.Make
|
|
|
//验证是否符合合同防呆
|
|
|
if (!LogicHandler.checkMacOrBtRange(oMsid,macOrBt,type))
|
|
|
{
|
|
|
- OperateResult.AppendText(">>" + ListA.Rows[step - 2]["psr_type"].ToString() + ":" + code.Text + "错误,不在合同防呆范围内\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<" + ListA.Rows[step - 2]["psr_type"].ToString() + ":" + code.Text + "错误,不在合同防呆范围内\n", Color.Red);
|
|
|
OperateResult.AppendText(">>请输入" + ListA.Rows[step - 2]["psr_type"].ToString() + "\n", Color.Black, code);
|
|
|
return false;
|
|
|
}
|
|
|
//验证是否已被使用
|
|
|
- if (!ChangeResult.Checked && checkExist("MS_" + type + "='" + macOrBt + "' and ms_status in (0,1,2,3)")
|
|
|
- || ChangeResult.Checked && checkExist("MS_" + type + "='" + macOrBt + "' and ms_status in (0,1,2,3) and ms_id <> '" + oMsid + "'"))
|
|
|
+ if (checkExist("MS_" + type + "='" + macOrBt + "' and ms_status in (0,1,2,3) and ms_id <> '" + oMsid + "'"))
|
|
|
{
|
|
|
- OperateResult.AppendText(">>" + ListA.Rows[step - 2]["psr_type"].ToString() + ":" + code.Text + "错误,不允许重复\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<" + ListA.Rows[step - 2]["psr_type"].ToString() + ":" + code.Text + "错误,不允许重复\n", Color.Red);
|
|
|
OperateResult.AppendText(">>请输入" + ListA.Rows[step - 2]["psr_type"].ToString() + "\n", Color.Black, code);
|
|
|
return false;
|
|
|
}
|
|
|
@@ -509,7 +462,7 @@ namespace UAS_MES.Make
|
|
|
//校验在sninfo表中是否存在
|
|
|
if (dh.CheckExist("sninfo", "si_" + type + "='" + macOrBt + "' and si_id <>'" + siid + "'"))
|
|
|
{
|
|
|
- OperateResult.AppendText(">>" + ListA.Rows[step - 2]["psr_type"].ToString() + ":" + code.Text + "错误,不允许重复\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<" + ListA.Rows[step - 2]["psr_type"].ToString() + ":" + code.Text + "错误,不允许重复\n", Color.Red);
|
|
|
OperateResult.AppendText(">>请输入" + ListA.Rows[step - 2]["psr_type"].ToString() + "\n", Color.Black, code);
|
|
|
return false;
|
|
|
}
|
|
|
@@ -521,10 +474,9 @@ namespace UAS_MES.Make
|
|
|
toSi.Append("si_" + type + " = '" + macOrBt + "',");
|
|
|
break;
|
|
|
case "NETCODE":
|
|
|
- if (!ChangeResult.Checked && checkExist("MS_" + type + "='" + imeif + "' and ms_status in (0,1,2,3)")
|
|
|
- || ChangeResult.Checked && checkExist("MS_" + type + "='" + imeif + "' and ms_status in (0,1,2,3) and ms_id <> '" + oMsid + "'"))
|
|
|
+ if (checkExist("MS_" + type + "='" + imeif + "' and ms_status in (0,1,2,3) and ms_id <> '" + oMsid + "'"))
|
|
|
{
|
|
|
- OperateResult.AppendText(">>" + ListA.Rows[step - 2]["psr_type"].ToString() + ":" + imeif + "错误,不允许重复\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<" + ListA.Rows[step - 2]["psr_type"].ToString() + ":" + imeif + "错误,不允许重复\n", Color.Red);
|
|
|
OperateResult.AppendText(">>请输入" + ListA.Rows[step - 2]["psr_type"].ToString() + "\n", Color.Black, code);
|
|
|
return false;
|
|
|
}
|
|
|
@@ -533,7 +485,7 @@ namespace UAS_MES.Make
|
|
|
//校验在sninfo表中是否存在
|
|
|
if (dh.CheckExist("sninfo", "si_" + type + "='" + imeif + "' and si_id <>'" + siid + "'"))
|
|
|
{
|
|
|
- OperateResult.AppendText(">>" + ListA.Rows[step - 2]["psr_type"].ToString() + ":" + imeif + "错误,不允许重复\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<" + ListA.Rows[step - 2]["psr_type"].ToString() + ":" + imeif + "错误,不允许重复\n", Color.Red);
|
|
|
OperateResult.AppendText(">>请输入" + ListA.Rows[step - 2]["psr_type"].ToString() + "\n", Color.Black, code);
|
|
|
return false;
|
|
|
}
|
|
|
@@ -565,11 +517,10 @@ namespace UAS_MES.Make
|
|
|
//遍历判断已采集的信息是否已存在
|
|
|
foreach (DictionaryEntry de in hs)
|
|
|
{
|
|
|
- if (!ChangeResult.Checked && dh.CheckExist("makeserial", "MS_" + (de.Key.ToString()) + "='" + de.Value + "' and ms_status in (0,1,2,3)")
|
|
|
- || (ChangeResult.Checked && dh.CheckExist("makeserial", "MS_" + (de.Key.ToString()) + "='" + de.Value + "' and ms_status in (0,1,2,3) and ms_id <> '" + oMsid + "'")))
|
|
|
+ if (dh.CheckExist("makeserial", "MS_" + (de.Key.ToString()) + "='" + de.Value + "' and ms_status in (0,1,2,3) and ms_id <> '" + oMsid + "'"))
|
|
|
{
|
|
|
flag = false;
|
|
|
- OperateResult.AppendText(">>" + de.Key + "已被使用,请重新输入TSN,重新转换\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<" + de.Key + "已被使用,请重新输入TSN,重新转换\n", Color.Red);
|
|
|
//清空信息
|
|
|
clearInfo();
|
|
|
break;
|
|
|
@@ -580,7 +531,7 @@ namespace UAS_MES.Make
|
|
|
if (dh.CheckExist("sninfo", "si_" + (de.Key.ToString()) + "='" + de.Value + "' and si_id <>'" + siid + "'"))
|
|
|
{
|
|
|
flag = false;
|
|
|
- OperateResult.AppendText(">>" + de.Key + "已被使用,请重新输入TSN,重新转换\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<" + de.Key + "已被使用,请重新输入TSN,重新转换\n", Color.Red);
|
|
|
//清空信息
|
|
|
clearInfo();
|
|
|
break;
|
|
|
@@ -614,7 +565,7 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
string insertSql = "insert into makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + TSN + "','" + SN + "','" + firstsn + "','" + ms_macode.Text + "', sysdate ,'" + User.UserCode + "')";
|
|
|
dh.ExecuteSQLTran(updateSql, insertSql);
|
|
|
- OperateResult.AppendText(">>序列号转换成功\n>>关联采集成功\n", Color.Green);
|
|
|
+ OperateResult.AppendText("<<序列号转换成功\n<<关联采集成功\n", Color.Green);
|
|
|
//写入日志
|
|
|
LogManager.DoLog("修改序列号:" + TSN + "为" + SN + "成功!" + "操作人:" + User.UserCode);
|
|
|
//记录日志
|
|
|
@@ -623,11 +574,7 @@ namespace UAS_MES.Make
|
|
|
insert2Sninfo(SN);
|
|
|
//输出提示用户“>>序列号转换成功”,“>>关联采集成功”
|
|
|
//完成该道工序 setFinish
|
|
|
- if (LogicHandler.SetStepResult(ms_macode.Text, User.UserSourceCode, SN, "序列烧录转换", "序列烧录转换成功", User.UserCode, out errorMessage))
|
|
|
- {
|
|
|
-
|
|
|
- }
|
|
|
- else
|
|
|
+ if (!LogicHandler.SetStepResult(ms_macode.Text, User.UserSourceCode, SN, "序列烧录转换", "序列烧录转换成功", User.UserCode, out errorMessage))
|
|
|
{
|
|
|
OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red, code);
|
|
|
}
|
|
|
@@ -648,7 +595,7 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- OperateResult.AppendText(">>序列号" + SN + "已存在\n", Color.Red);
|
|
|
+ OperateResult.AppendText("<<序列号" + SN + "已存在\n", Color.Red);
|
|
|
OperateResult.AppendText(">>请重新输入TSN\n", Color.Black, code);
|
|
|
//清空信息
|
|
|
clearInfo();
|
|
|
@@ -658,7 +605,7 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- OperateResult.AppendText("<<请输入" + ListA.Rows[step - 1]["psr_type"] + "\n", Color.Green, code);
|
|
|
+ OperateResult.AppendText(">>请输入" + ListA.Rows[step - 1]["psr_type"] + "\n", Color.Green, code);
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
@@ -669,6 +616,8 @@ namespace UAS_MES.Make
|
|
|
/// <param name="e"></param>
|
|
|
private void ms_macode_TextChanged(object sender, EventArgs e)
|
|
|
{
|
|
|
+ hasSnList = false;
|
|
|
+ hasMakeRule = false;
|
|
|
//清空
|
|
|
TSNPre.Text = "";
|
|
|
TSNLength.Text = "";
|
|
|
@@ -694,82 +643,14 @@ namespace UAS_MES.Make
|
|
|
//判断工单是否导入了序列号清单
|
|
|
if (dh.CheckExist("makesnlist", "msl_makecode='" + ms_macode.Text + "' and msl_type='after'"))
|
|
|
{
|
|
|
+ hasSnList = true;
|
|
|
return;
|
|
|
}
|
|
|
//查询表工单序列号防呆规则表
|
|
|
rules = (DataTable)dh.ExecuteSql("select msr_startno,msr_endno,msr_system,msr_type, msr_prefix ,msr_length from makesnrule where msr_makecode='" + ms_macode.Text + "'", "select");
|
|
|
if (rules.Rows.Count > 0)
|
|
|
{
|
|
|
- foreach (DataRow dr in rules.Rows)
|
|
|
- {
|
|
|
- //如果有值,则这个字段自动勾选,并且不可编辑
|
|
|
- if (dr["msr_type"].ToString().ToLower() == "before")
|
|
|
- {
|
|
|
- //msr_type=before 的值赋值到转换前
|
|
|
-
|
|
|
- //临时变量记录
|
|
|
- string length = dr["msr_length"].ToString();
|
|
|
- string prefix = dr["msr_prefix"].ToString();
|
|
|
- //不为空
|
|
|
- if (prefix != "" && prefix != null)
|
|
|
- {
|
|
|
- //则赋值
|
|
|
- TSNPre.Text = prefix;
|
|
|
- //设置不可编辑
|
|
|
- TSNPre.Enabled = false;
|
|
|
- //勾选
|
|
|
- TSNPre_checkBox.Checked = true;
|
|
|
- TSNPre_checkBox.Enabled = false;
|
|
|
- }
|
|
|
- if (length != "" && length != null)
|
|
|
- {
|
|
|
- //赋值
|
|
|
- TSNLength.Text = length;
|
|
|
- //设置不可编辑
|
|
|
- TSNLength.Enabled = false;
|
|
|
- //勾选
|
|
|
- TSNLength_checkBox.Checked = true;
|
|
|
- TSNLength_checkBox.Enabled = false;
|
|
|
- }
|
|
|
- }
|
|
|
- else if (dr["msr_type"].ToString().ToLower() == "after")
|
|
|
- {
|
|
|
- //msr_type=after 的值赋值到转换后
|
|
|
-
|
|
|
- //临时变量记录
|
|
|
- string length = dr["msr_length"].ToString();
|
|
|
- string prefix = dr["msr_prefix"].ToString();
|
|
|
- //记录进制
|
|
|
- system = dr["msr_system"].ToString();
|
|
|
- //不为空
|
|
|
- if (prefix != "" && prefix != null)
|
|
|
- {
|
|
|
- //则赋值
|
|
|
- SNPre.Text = prefix;
|
|
|
- //设置不可编辑
|
|
|
- SNPre.Enabled = false;
|
|
|
- //勾选
|
|
|
- SNPre_checkBox.Checked = true;
|
|
|
- SNPre_checkBox.Enabled = false;
|
|
|
- }
|
|
|
- if (dr["msr_startno"].ToString() != "" && dr["msr_endno"].ToString() != "")
|
|
|
- {
|
|
|
- //记录起止序列号
|
|
|
- startNo = dr["msr_startno"].ToString().Substring(prefix.Length);
|
|
|
- endNo = dr["msr_endno"].ToString().Substring(prefix.Length);
|
|
|
- }
|
|
|
- if (length != "" && length != null)
|
|
|
- {
|
|
|
- //赋值
|
|
|
- SNLength.Text = length;
|
|
|
- //设置不可编辑
|
|
|
- SNLength.Enabled = false;
|
|
|
- //勾选
|
|
|
- SNLength_checkBox.Checked = true;
|
|
|
- SNLength_checkBox.Enabled = false;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ hasMakeRule = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
@@ -796,36 +677,6 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- /// <summary>
|
|
|
- /// 检测转换后的序列号是否满足起止序列号范围
|
|
|
- /// </summary>
|
|
|
- /// <returns></returns>
|
|
|
- private bool checkStartAndEnd()
|
|
|
- {
|
|
|
- if (system == "")
|
|
|
- {
|
|
|
- return true;
|
|
|
- }
|
|
|
- if (system == "decimal")
|
|
|
- {
|
|
|
- //十进制
|
|
|
- if (int.Parse(code.Text.Substring(SNPre.Text.Length)) >= int.Parse(startNo) && int.Parse(code.Text.Substring(SNPre.Text.Length)) <= int.Parse(endNo))
|
|
|
- {
|
|
|
- //满足
|
|
|
- return true;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- //十六进制
|
|
|
- if (int.Parse(code.Text.Substring(SNPre.Text.Length), System.Globalization.NumberStyles.HexNumber) >= int.Parse(startNo, System.Globalization.NumberStyles.HexNumber) && int.Parse(code.Text.Substring(SNPre.Text.Length), System.Globalization.NumberStyles.HexNumber) <= int.Parse(endNo, System.Globalization.NumberStyles.HexNumber))
|
|
|
- {
|
|
|
- //满足
|
|
|
- return true;
|
|
|
- }
|
|
|
- }
|
|
|
- return false;
|
|
|
- }
|
|
|
private bool checkExist(string fields)
|
|
|
{
|
|
|
//不存在
|
|
|
@@ -853,7 +704,6 @@ namespace UAS_MES.Make
|
|
|
s1.Clear();
|
|
|
show_sncode.Text = "";
|
|
|
ChangeResult.Enabled = true;
|
|
|
- onlyPass = false;
|
|
|
}
|
|
|
|
|
|
private void cancel_Click(object sender, EventArgs e)
|
|
|
@@ -861,22 +711,7 @@ namespace UAS_MES.Make
|
|
|
//清除已经采集的所有信息
|
|
|
clearInfo();
|
|
|
//提示用户输入TSN
|
|
|
- OperateResult.AppendText("<<请输入TSN\n", Color.Green);
|
|
|
- }
|
|
|
- private bool GetMakeInfo(string iSnCode, out string oMakeCode, out string oErrorMessage)
|
|
|
- {
|
|
|
- //取MakeProcess表中的执行记录ID最大的一个工单的号码
|
|
|
- oMakeCode = "";
|
|
|
- oErrorMessage = "";
|
|
|
- string ms_id = dh.getFieldDataByCondition("MakeSerial", "max(ms_id) ms_id", "ms_sncode='" + iSnCode + "' or ms_firstsn in (select firstsn from makesnrelation where beforesn='" + iSnCode + "')").ToString();
|
|
|
- oMakeCode = dh.getFieldDataByCondition("MakeSerial", "ms_makecode", "ms_id='" + ms_id + "'").ToString();
|
|
|
- if (oMakeCode != "")
|
|
|
- return true;
|
|
|
- else
|
|
|
- {
|
|
|
- oErrorMessage = "序列号:" + iSnCode + " 未归属工单";
|
|
|
- return false;
|
|
|
- }
|
|
|
+ OperateResult.AppendText(">>请输入TSN\n", Color.Green);
|
|
|
}
|
|
|
|
|
|
private void ChangeResult_CheckedChanged(object sender, EventArgs e)
|
|
|
@@ -884,7 +719,7 @@ namespace UAS_MES.Make
|
|
|
if (ChangeResult.Checked)
|
|
|
{
|
|
|
//勾选的时候提示输入TSN
|
|
|
- OperateResult.AppendText("<<请输入TSN号\n", Color.Black);
|
|
|
+ OperateResult.AppendText(">>请输入TSN号\n", Color.Black);
|
|
|
}
|
|
|
}
|
|
|
private void insert2Sninfo(string sn)
|