Эх сурвалжийг харах

Merge branch 'master' of ssh://10.10.101.21/source/mes-client

章政 8 жил өмнө
parent
commit
89f48f41be

+ 13 - 2
UAS-MES/FunctionCode/Make/Make_SeqProgramTransform.cs

@@ -317,11 +317,22 @@ namespace UAS_MES.Make
                 }
                 else if (type == "前缀")
                 {
+                    string[] pres = textbox.Text.Split('|');
+                    bool f = false;
+                    for (int i = 0; i < pres.Length; i++)
+                    {
+                        if (pres[i] == "" ? true : code.Text.StartsWith(pres[i]))
+                        {
+                            //满足其中一条即可
+                            f = true;
+                            break;
+                        }
+                    }
                     //则判断输入转换前的序列号前缀是否合法,不合法则提示
-                    if (!code.Text.StartsWith(textbox.Text.Trim()))
+                    if (!f)
                     {
                         //序列号校验错误,前缀错误
-                        OperateResult.AppendText(">>" + TSNorSN + ":" + code.Text + "校验错误,前缀错误\n", Color.Red,code);
+                        OperateResult.AppendText(">>" + TSNorSN + ":" + code.Text + "校验错误,前缀错误\n", Color.Red, code);
                         OperateResult.AppendText("<<请重新输入" + TSNorSN + "\n", Color.Black);
                         return false;
                     }

+ 38 - 26
UAS-MES/FunctionCode/Make/Make_SeqTransform.cs

@@ -31,7 +31,7 @@ namespace UAS_MES.Make
 
         string system = "";//进制
 
-        bool flag=false;//标识是否只是过站
+        bool flag = false;//标识是否只是过站
         //存放工单中数量
         int ma_qty;
         string oMakeCode = "";
@@ -87,7 +87,7 @@ namespace UAS_MES.Make
                             if (oMakeCode == "")
                             {
                                 OperateResult.AppendText(">>序列号:" + sncode.Text + " 未归属工单\n", Color.Red);
-                                OperateResult.AppendText(">>请输入转换前的序列号\n", Color.Black,sncode);
+                                OperateResult.AppendText(">>请输入转换前的序列号\n", Color.Black, sncode);
                                 return;
                             }
                             //用户填写了工单号,那么序列号必须要是该工单的,否则提示错误
@@ -101,7 +101,7 @@ namespace UAS_MES.Make
                                     sql.Append("select ma_code,ma_softversion,ma_prodcode,pr_detail,ma_qty,ma_qty-mcd_inqty as remain_qty ");
                                     sql.Append("from makeserial left join make on ms_makecode=ma_code left join product on ");
                                     sql.Append("ms_prodcode=pr_code left join makecraftdetail on ms_makecode=mcd_macode where ms_id=:msid and mcd_stepcode='" + User.CurrentStepCode + "'");
-                                    dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select",oMsId);
+                                    dt = (DataTable)dh.ExecuteSql(sql.GetString(), "select", oMsId);
                                     if (dt.Rows.Count > 0)
                                     {
                                         //记录数量
@@ -119,7 +119,7 @@ namespace UAS_MES.Make
                                             bsncode = sncode.Text;
                                             //显示序列号
                                             show_sncode.Text = bsncode;
-                                            OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green,sncode);
+                                            OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green, sncode);
                                             ChangeResult.Enabled = false;
                                         }
                                         else
@@ -151,13 +151,13 @@ namespace UAS_MES.Make
                                             bsncode = sncode.Text;
                                             //显示序列号
                                             show_sncode.Text = bsncode;
-                                            OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green,sncode);
+                                            OperateResult.AppendText("<<请输入转换后的序列号\n", Color.Green, sncode);
                                             ChangeResult.Enabled = false;
                                         }
                                         else
                                         //不为空,进行过转换。不勾选修改结果,就不能再修改
                                         {
-                                            OperateResult.AppendText(">>序列号" + sncode.Text + "已经转换过\n", Color.Red,sncode);
+                                            OperateResult.AppendText(">>序列号" + sncode.Text + "已经转换过\n", Color.Red, sncode);
                                             OperateResult.AppendText("<<请重新输入序列号\n", Color.Black);
                                         }
                                         break;
@@ -167,19 +167,19 @@ namespace UAS_MES.Make
                             }
                             else
                             {
-                                OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red,sncode);
+                                OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red, sncode);
                             }
                         }
                         //bsncode不为空,说明输入的是转换后的序列号
                         else
                         {
                             //判断工单是否导入了序列号清单
-                            if (dh.CheckExist("makesnlist", "msl_makecode='"+oMakeCode+"' and msl_type='after'"))
+                            if (dh.CheckExist("makesnlist", "msl_makecode='" + oMakeCode + "' and msl_type='after'"))
                             {
-                                if (!dh.CheckExist("makesnlist", "msl_makecode='"+oMakeCode+"' and msl_sncode='"+sncode.Text+"'  and msl_type='after'"))
+                                if (!dh.CheckExist("makesnlist", "msl_makecode='" + oMakeCode + "' and msl_sncode='" + sncode.Text + "'  and msl_type='after'"))
                                 {
                                     //有序列号清单,输入的序列号却不在范围内
-                                    OperateResult.AppendText(">>序列号"+sncode.Text+"错误,不在工单设定的序列号范围内\n", Color.Red, sncode);
+                                    OperateResult.AppendText(">>序列号" + sncode.Text + "错误,不在工单设定的序列号范围内\n", Color.Red, sncode);
                                     return;
                                 }
                             }
@@ -192,7 +192,7 @@ namespace UAS_MES.Make
                             //判断输入的转换后序列号是否符合起始终止
                             if (!checkStartAndEnd())
                             {
-                                OperateResult.AppendText(">>序列号" + sncode.Text + "校验错误,不在工单防呆规则指定范围内!\n", Color.Red,sncode);
+                                OperateResult.AppendText(">>序列号" + sncode.Text + "校验错误,不在工单防呆规则指定范围内!\n", Color.Red, sncode);
                                 return;
                             }
                             //如果只是需要过站的序列号
@@ -206,14 +206,14 @@ namespace UAS_MES.Make
                                         OperateResult.AppendText(">>" + errorMessage + "\n");
                                     //记录日志
                                     LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "序列转换", "转换成功", sncode.Text, "");
-                                    OperateResult.AppendText(">>转换成功\n", Color.Green,sncode);
+                                    OperateResult.AppendText(">>转换成功\n", Color.Green, sncode);
                                     flag = false;
                                     ChangeResult.Enabled = true;
                                     bsncode = "";
                                 }
                                 else
                                 {
-                                    OperateResult.AppendText(">>输入一致才可过站\n", Color.Red,sncode);
+                                    OperateResult.AppendText(">>输入一致才可过站\n", Color.Red, sncode);
                                 }
                                 return;
                             }
@@ -232,7 +232,7 @@ namespace UAS_MES.Make
                                         //记录本次修改,存入makesnrelation表中
                                         updateSql = "update makeserial set ms_sncode='" + sncode.Text + "' where ms_beforesn='" + bsncode + "' and ms_id='" + oMsId + "'";
                                         //删除最近一条转换记录
-                                        dh.ExecuteSql("delete from makesnrelation where BEFORESN='"+bsncode+"' and makecode='"+oMakeCode+"'", "delete");
+                                        dh.ExecuteSql("delete from makesnrelation where BEFORESN='" + bsncode + "' and makecode='" + oMakeCode + "'", "delete");
                                     }
                                     //未勾选修改转换结果
                                     else
@@ -246,7 +246,7 @@ namespace UAS_MES.Make
                                     dh.ExecuteSQLTran(updateSql, insertSql);
                                     OperateResult.AppendText(">>转换成功\n", Color.Green);
                                     //写入日志
-                                    LogicHandler.SetStepResult( ma_code.Text, User.UserSourceCode, sncode.Text, "序列转换", "序列转换成功", User.UserCode, out errorMessage);
+                                    LogicHandler.SetStepResult(ma_code.Text, User.UserSourceCode, sncode.Text, "序列转换", "序列转换成功", User.UserCode, out errorMessage);
                                     //记录日志
                                     LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, oMakeCode, User.UserLineCode, User.UserSourceCode, "序列转换", "转换成功", sncode.Text, "");
                                     LogManager.DoLog("修改序列号:" + bsncode + "为" + sncode.Text + "成功!" + "操作人:" + User.UserCode);
@@ -278,7 +278,7 @@ namespace UAS_MES.Make
                     }
                     else
                     {
-                        OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red,sncode);
+                        OperateResult.AppendText(">>" + errorMessage + "\n", Color.Red, sncode);
                     }
                 }
                 else
@@ -303,7 +303,7 @@ namespace UAS_MES.Make
         private void ReCall_Click(object sender, EventArgs e)
         {
             bsncode = "";
-            OperateResult.AppendText(">>请输需要转换的序列号\n", Color.Green,show_sncode);
+            OperateResult.AppendText(">>请输需要转换的序列号\n", Color.Green, show_sncode);
             ChangeResult.Enabled = true;
             flag = false;
         }
@@ -351,8 +351,8 @@ 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='" + oMakeCode + "'", "select");
+            //查询表工单序列号防呆规则表
+            rules = (DataTable)dh.ExecuteSql("select msr_startno,msr_endno,msr_system,msr_type, msr_prefix ,msr_length from makesnrule where msr_makecode='" + oMakeCode + "'", "select");
             if (rules.Rows.Count > 0)
             {
                 foreach (DataRow dr in rules.Rows)
@@ -430,11 +430,11 @@ namespace UAS_MES.Make
             {
                 /*	如果转换前没有值,则取 select productsnrule where psr_prodcode=? 产品编号,
                  *	有值则赋值到 转换前,并且自动勾选不可编辑。*/
-                rules = (DataTable)dh.ExecuteSql("select psr_prefix ,psr_length from productsnrule where psr_prodcode = '"+ dt.Rows[0]["ma_prodcode"].ToString()+"' and psr_type='after'", "select");
+                rules = (DataTable)dh.ExecuteSql("select psr_prefix ,psr_length from productsnrule where psr_prodcode = '" + dt.Rows[0]["ma_prodcode"].ToString() + "' and psr_type='after'", "select");
                 if (rules.Rows.Count > 0)
                 {
                     //将产品序列号防呆规则查出的数据填充
-                    if (rules.Rows[0]["psr_prefix"].ToString()!="")
+                    if (rules.Rows[0]["psr_prefix"].ToString() != "")
                     {
                         afterTransSNPre.Text = rules.Rows[0]["psr_prefix"].ToString();
                         afterTransSNPre.Enabled = false;
@@ -462,7 +462,8 @@ namespace UAS_MES.Make
             if (checkbox.Checked == true)
             {
                 //如果勾选没有填值
-                if (textbox.Text=="") {
+                if (textbox.Text == "")
+                {
                     OperateResult.AppendText(">>勾选长度或者前缀需要填写内容\n", Color.Red);
                     return false;
                 }
@@ -472,18 +473,29 @@ namespace UAS_MES.Make
                     if (sncode.Text.Trim().Length != int.Parse(textbox.Text))
                     {
                         //序列号校验错误,长度错误
-                        OperateResult.AppendText(">>序列号" + sncode.Text + "校验错误,长度错误\n", Color.Red,sncode);
+                        OperateResult.AppendText(">>序列号" + sncode.Text + "校验错误,长度错误\n", Color.Red, sncode);
                         OperateResult.AppendText("<<请重新输入序列号\n", Color.Black);
                         return false;
                     }
                 }
                 else if (type == "前缀")
                 {
+                    string[] pres = textbox.Text.Split('|');
+                    bool f = false;
+                    for (int i = 0; i < pres.Length; i++)
+                    {
+                        if (pres[i] == "" ? true : sncode.Text.StartsWith(pres[i]))
+                        {
+                            //满足其中一条即可
+                            f = true;
+                            break;
+                        }
+                    }
                     //则判断输入转换前的序列号前缀是否合法,不合法则提示
-                    if (!sncode.Text.StartsWith(textbox.Text.Trim()))
+                    if (!f)
                     {
                         //序列号校验错误,前缀错误
-                        OperateResult.AppendText(">>序列号" + sncode.Text + "校验错误,前缀错误\n", Color.Red,sncode);
+                        OperateResult.AppendText(">>序列号" + sncode.Text + "校验错误,前缀错误\n", Color.Red, sncode);
                         OperateResult.AppendText("<<请重新输入序列号\n", Color.Black);
                         return false;
                     }
@@ -498,7 +510,7 @@ namespace UAS_MES.Make
         /// <returns></returns>
         private bool checkStartAndEnd()
         {
-            if (system=="")
+            if (system == "")
             {
                 return true;
             }