|
|
@@ -39,8 +39,6 @@ namespace UAS_MES.Make
|
|
|
//存放包含IMEI的规则的值,方便拼接
|
|
|
StringBuilder imei = new StringBuilder();
|
|
|
LogStringBuilder logsql = new LogStringBuilder();
|
|
|
- //存储最后插入数据库的赋值语句部分
|
|
|
- StringBuilder s1 = new StringBuilder();
|
|
|
//存放工单中数量
|
|
|
int ma_qty;
|
|
|
//存放所有关联信息的类型和录入的值
|
|
|
@@ -54,12 +52,6 @@ namespace UAS_MES.Make
|
|
|
|
|
|
DataTable macRange;//记录macBT范围
|
|
|
|
|
|
- StringBuilder insertSninfoFields;//存插入sninfo的字段
|
|
|
-
|
|
|
- StringBuilder insertSninfoValues;//存插入sninfo的值
|
|
|
-
|
|
|
- StringBuilder toSi;//存更新sninfo的值
|
|
|
-
|
|
|
string macOrBt = "";//存储去掉":"或者"-"的mac和bt
|
|
|
|
|
|
string imeif = "";
|
|
|
@@ -266,9 +258,6 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
//step+1
|
|
|
step = 2;
|
|
|
- insertSninfoFields = new StringBuilder();
|
|
|
- insertSninfoValues = new StringBuilder();
|
|
|
- toSi = new StringBuilder();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
@@ -436,10 +425,6 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
//通过校验,将包含IMEI的值拼接
|
|
|
imei.Append("'" + imeif + "',");
|
|
|
- s1.Append("MS_" + type + " = '" + imeif + "',");
|
|
|
- insertSninfoFields.Append("si_" + type + ",");
|
|
|
- insertSninfoValues.Append("'" + imeif + "',");
|
|
|
- toSi.Append("si_" + type + " = '" + imeif + "',");
|
|
|
break;
|
|
|
case "BT":
|
|
|
case "MAC":
|
|
|
@@ -467,11 +452,6 @@ namespace UAS_MES.Make
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
- //通过校验,将包含IMEI的值拼接
|
|
|
- s1.Append("MS_" + type + " = '" + macOrBt + "',");
|
|
|
- insertSninfoFields.Append("si_" + type + ",");
|
|
|
- insertSninfoValues.Append("'" + macOrBt + "',");
|
|
|
- toSi.Append("si_" + type + " = '" + macOrBt + "',");
|
|
|
break;
|
|
|
case "NETCODE":
|
|
|
if (checkExist("MS_" + type + "='" + imeif + "' and ms_status in (0,1,2,3) and ms_id <> '" + oMsid + "'"))
|
|
|
@@ -490,11 +470,6 @@ namespace UAS_MES.Make
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
- //通过校验,将包含IMEI的值拼接
|
|
|
- s1.Append("MS_" + type + " = '" + imeif + "',");
|
|
|
- insertSninfoFields.Append("si_" + type + ",");
|
|
|
- insertSninfoValues.Append("'" + imeif + "',");
|
|
|
- toSi.Append("si_" + type + " = '" + imeif + "',");
|
|
|
break;
|
|
|
}
|
|
|
//满足规则,则采集
|
|
|
@@ -509,95 +484,33 @@ namespace UAS_MES.Make
|
|
|
//说明已经是最后一个校验规则
|
|
|
if (step == ListA.Rows.Count + 1)
|
|
|
{
|
|
|
- //校验已经完成,此时要再次校验之前的SN和关联采集信息
|
|
|
- //再次校验SN
|
|
|
- if ((ChangeResult.Checked && dh.CheckExist("makeserial", "ms_id='" + oMsid + "' and ms_sncode='" + SN + "'")) || !dh.CheckExist("makeserial", "ms_sncode='" + SN + "'") || (!ChangeResult.Checked && (TSN == SN)))
|
|
|
+ //通过存储过程二次校验
|
|
|
+ if (LogicHandler.snChangeAndBurn(TSN,SN,User.UserSourceCode,User.UserCode,ms_macode.Text,ChangeResult.Checked?1:0,(hs.ContainsKey("IMEI1")?hs["IMEI1"].ToString():""), (hs.ContainsKey("IMEI2") ? hs["IMEI2"].ToString() : ""), (hs.ContainsKey("IMEI3") ? hs["IMEI3"].ToString() : ""),"", (hs.ContainsKey("NETCODE") ? hs["NETCODE"].ToString() : ""),"","","","", (hs.ContainsKey("MAC") ? hs["MAC"].ToString() : ""), (hs.ContainsKey("BT") ? hs["BT"].ToString() : ""),"","","",out errorMessage))
|
|
|
{
|
|
|
- bool flag = true;
|
|
|
- //遍历判断已采集的信息是否已存在
|
|
|
- foreach (DictionaryEntry de in hs)
|
|
|
+ OperateResult.AppendText("<<序列号转换成功\n<<关联采集成功\n", Color.Green);
|
|
|
+ //写入日志
|
|
|
+ LogManager.DoLog("修改序列号:" + TSN + "为" + SN + "成功!" + "操作人:" + User.UserCode);
|
|
|
+ //记录日志
|
|
|
+ LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_macode.Text, User.UserLineCode, User.UserSourceCode, "序列烧录转换", "转换成功", TSN, "");
|
|
|
+ //获取剩余数,刷新页面
|
|
|
+ sql.Clear();
|
|
|
+ sql.Append("select mcd_inqty from makecraftdetail where mcd_macode='" + ms_macode.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
|
|
|
+ dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
+ if (dt.Rows.Count > 0)
|
|
|
{
|
|
|
- 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);
|
|
|
- //清空信息
|
|
|
- clearInfo();
|
|
|
- break;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- //校验sninfo中是否存在
|
|
|
- if (dh.CheckExist("sninfo", "si_" + (de.Key.ToString()) + "='" + de.Value + "' and si_id <>'" + siid + "'"))
|
|
|
- {
|
|
|
- flag = false;
|
|
|
- OperateResult.AppendText("<<" + de.Key + "已被使用,请重新输入TSN,重新转换\n", Color.Red);
|
|
|
- //清空信息
|
|
|
- clearInfo();
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- //根据flag判断关联采集信息二次校验结果
|
|
|
- if (flag == true)
|
|
|
- {
|
|
|
- //说明SN和关联采集信息二次校验通过,则进行转换和采集信息绑定
|
|
|
- string firstsn = "";
|
|
|
- string updateSql = "";
|
|
|
- //勾选了修改转换结果
|
|
|
- if (ChangeResult.Checked)
|
|
|
- {
|
|
|
- //查询ms_firstsn
|
|
|
- firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_id='" + oMsid + "' and ms_beforesn='" + TSN + "'").ToString();
|
|
|
- //记录本次修改,存入makesnrelation表中
|
|
|
- updateSql = "update makeserial set ms_sncode='" + SN + "'," + s1.Remove(s1.Length - 1, 1).ToString() + " where ms_id='" + oMsid + "' and ms_beforesn='" + TSN + "'";
|
|
|
- //删除最近一条转换记录
|
|
|
- dh.ExecuteSql("delete from makesnrelation where BEFORESN='" + TSN + "' and makecode='" + ms_macode.Text + "'", "delete");
|
|
|
- }
|
|
|
- //未勾选修改转换结果
|
|
|
- else
|
|
|
- {
|
|
|
- //查询ms_firstsn
|
|
|
- firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", " ms_id='" + oMsid + "' and ms_sncode='" + TSN + "'").ToString();
|
|
|
- //记录本次修改,存入makesnrelation表中
|
|
|
- updateSql = "update makeserial set ms_sncode='" + SN + "', ms_beforesn='" + TSN + "'," + s1.Remove(s1.Length - 1, 1).ToString() + " where ms_id='" + oMsid + "' and ms_sncode='" + TSN + "'";
|
|
|
- }
|
|
|
- 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);
|
|
|
- //写入日志
|
|
|
- LogManager.DoLog("修改序列号:" + TSN + "为" + SN + "成功!" + "操作人:" + User.UserCode);
|
|
|
- //记录日志
|
|
|
- LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, ms_macode.Text, User.UserLineCode, User.UserSourceCode, "序列烧录转换", "转换成功", TSN, "");
|
|
|
- //写入sninfo表
|
|
|
- insert2Sninfo(SN);
|
|
|
- //输出提示用户“>>序列号转换成功”,“>>关联采集成功”
|
|
|
- //完成该道工序 setFinish
|
|
|
- if (!LogicHandler.SetStepResult(ms_macode.Text, User.UserSourceCode, SN, "序列烧录转换", "序列烧录转换成功", User.UserCode, out errorMessage))
|
|
|
- {
|
|
|
- OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red, code);
|
|
|
- }
|
|
|
- //获取剩余数,刷新页面
|
|
|
- sql.Clear();
|
|
|
- sql.Append("select mcd_inqty from makecraftdetail where mcd_macode='" + ms_macode.Text + "' and mcd_stepcode='" + User.CurrentStepCode + "'");
|
|
|
- dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select");
|
|
|
- if (dt.Rows.Count > 0)
|
|
|
- {
|
|
|
- remain_qty.Text = ma_qty - int.Parse(dt.Rows[0]["mcd_inqty"].ToString()) + "";
|
|
|
- }
|
|
|
- //更新页面计数+1
|
|
|
- count.Text = int.Parse(count.Text) + 1 + "";
|
|
|
- //完成之后,清除信息
|
|
|
- clearInfo();
|
|
|
- OperateResult.AppendText(">>请输入TSN号\n", Color.Black);
|
|
|
+ remain_qty.Text = ma_qty - int.Parse(dt.Rows[0]["mcd_inqty"].ToString()) + "";
|
|
|
}
|
|
|
+ //更新页面计数+1
|
|
|
+ count.Text = int.Parse(count.Text) + 1 + "";
|
|
|
+ //完成之后,清除信息
|
|
|
+ clearInfo();
|
|
|
+ OperateResult.AppendText(">>请输入TSN号\n", Color.Black);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- OperateResult.AppendText("<<序列号" + SN + "已存在\n", Color.Red);
|
|
|
+ OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red, code);
|
|
|
OperateResult.AppendText(">>请重新输入TSN\n", Color.Black, code);
|
|
|
- //清空信息
|
|
|
+ // //清空信息
|
|
|
clearInfo();
|
|
|
}
|
|
|
code.Text = "";
|
|
|
@@ -647,7 +560,7 @@ namespace UAS_MES.Make
|
|
|
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");
|
|
|
+ rules = (DataTable)dh.ExecuteSql("select msr_startno from makesnrule where msr_makecode='" + ms_macode.Text + "' and msr_type='after'", "select");
|
|
|
if (rules.Rows.Count > 0)
|
|
|
{
|
|
|
hasMakeRule = true;
|
|
|
@@ -701,7 +614,6 @@ namespace UAS_MES.Make
|
|
|
}
|
|
|
imei.Clear();
|
|
|
logsql.Clear();
|
|
|
- s1.Clear();
|
|
|
show_sncode.Text = "";
|
|
|
ChangeResult.Enabled = true;
|
|
|
}
|
|
|
@@ -722,27 +634,6 @@ namespace UAS_MES.Make
|
|
|
OperateResult.AppendText(">>请输入TSN号\n", Color.Black);
|
|
|
}
|
|
|
}
|
|
|
- private void insert2Sninfo(string sn)
|
|
|
- {
|
|
|
- //是否为空
|
|
|
- if (siid == "")
|
|
|
- {
|
|
|
- //插入新的数据
|
|
|
- sql.Clear();
|
|
|
- sql.Append("insert into sninfo(si_id,si_sn," + insertSninfoFields.ToString().Substring(0, insertSninfoFields.ToString().Length - 1) + ") values ");
|
|
|
- sql.Append("(sninfo_seq.nextval,'" + sn + "'," + insertSninfoValues.ToString().Substring(0, insertSninfoValues.ToString().Length - 1) + ")");
|
|
|
- dh.ExecuteSql(sql.GetString(), "insert");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- //更新sninfo
|
|
|
- sql.Clear();
|
|
|
- sql.Append("update sninfo set "+(ChangeResult.Checked?("si_sn='"+sn+"',"):""));
|
|
|
- sql.Append(toSi.ToString().Substring(0, toSi.ToString().Length - 1));
|
|
|
- sql.Append(" where si_id='" + siid + "'");
|
|
|
- dh.ExecuteSql(sql.GetString(), "update");
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
private void Make_SeqProgramTransform_SizeChanged(object sender, EventArgs e)
|
|
|
{
|