Browse Source

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

章政 8 years ago
parent
commit
bbdec061a7

+ 34 - 14
UAS-MES/FunctionCode/Make/Make_SeqProgramTransform.cs

@@ -30,6 +30,8 @@ namespace UAS_MES.Make
         DataTable ListA;
         //存放工单信息
         DataTable dt;
+        //存放序列号防呆规则
+        DataTable rules;
         //step  记录检验规则的进度
         int step = 0;
         //存放关联信息类型
@@ -174,6 +176,16 @@ namespace UAS_MES.Make
                         else if (step == 1)
                         {
                             OperateResult.AppendText(">>" + code.Text + "\n", Color.Black);
+                            //判断工单是否导入了序列号清单
+                            if (dh.CheckExist("makesnlist", "msl_makecode='" + oMakecode + "' and msl_type='after'"))
+                            {
+                                if (!dh.CheckExist("makesnlist", "msl_makecode='" + oMakecode + "' and msl_sncode='" + code.Text + "'  and msl_type='after'"))
+                                {
+                                    //有序列号清单,输入的序列号却不在范围内
+                                    OperateResult.AppendText(">>序列号" + code.Text + "错误,不在工单设定的序列号范围内\n", Color.Red, code);
+                                    return;
+                                }
+                            }
                             //判断用户是否锁定输入SN长度,
                             if (!checkLengthOrPre(SNLength_checkBox, SNLength, "长度", "SN"))
                             {
@@ -470,10 +482,10 @@ namespace UAS_MES.Make
             SNLength_checkBox.Enabled = true;
 
             //查询表工单序列号防呆规则表
-            dt = (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 (dt.Rows.Count > 0)
+            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 dt.Rows)
+                foreach (DataRow dr in rules.Rows)
                 {
                     //如果有值,则这个字段自动勾选,并且不可编辑
                     if (dr["msr_type"].ToString().ToLower() == "before")
@@ -548,17 +560,25 @@ namespace UAS_MES.Make
             {
                 /*	如果转换前没有值,则取 select productsnrule where psr_prodcode=? 产品编号,
                  *	有值则赋值到 转换前,并且自动勾选不可编辑。*/
-                //dt = (DataTable)dh.ExecuteSql("select psr_prefix ,psr_length from productsnrule where psr_prodcode = " + ma_prodcode.Text, "select");
-                //if (dt.Rows.Count > 0)
-                //{
-                //    //将产品序列号防呆规则查出的数据填充
-                //    beforeTransSNPre.Text = dt.Rows[0]["psr_prefix"].ToString();
-                //    beforeTransSNPre.ReadOnly = true;
-                //    beforeTransSNPre_checkBox.Checked = true;
-                //    beforeTransSNLength.Text = dt.Rows[0]["psr_length"].ToString();
-                //    beforeTransSNLength.ReadOnly = true;
-                //    beforeTransSNLength_checkBox.Checked = true;
-                //}
+                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() != "")
+                    {
+                        SNPre.Text = rules.Rows[0]["psr_prefix"].ToString();
+                        SNPre.Enabled = false;
+                        SNPre_checkBox.Checked = true;
+                        SNPre_checkBox.Enabled = false;
+                    }
+                    if (rules.Rows[0]["psr_length"].ToString() != "")
+                    {
+                        TSNLength.Text = rules.Rows[0]["psr_length"].ToString();
+                        TSNLength.Enabled = false;
+                        TSNLength_checkBox.Checked = true;
+                        TSNLength_checkBox.Enabled = false;
+                    }
+                }
             }
         }
         /// <summary>

+ 33 - 15
UAS-MES/FunctionCode/Make/Make_SeqTransform.cs

@@ -17,7 +17,7 @@ namespace UAS_MES.Make
 
         DataTable dt;
 
-        DataTable Dbfind;
+        DataTable rules;
 
         LogStringBuilder sql = new LogStringBuilder();
 
@@ -159,6 +159,16 @@ namespace UAS_MES.Make
                         //bsncode不为空,说明输入的是转换后的序列号
                         else
                         {
+                            //判断工单是否导入了序列号清单
+                            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'"))
+                                {
+                                    //有序列号清单,输入的序列号却不在范围内
+                                    OperateResult.AppendText(">>序列号"+sncode.Text+"错误,不在工单设定的序列号范围内\n", Color.Red, sncode);
+                                    return;
+                                }
+                            }
                             //判断用户是否锁定输入转换后序列号长度,
                             if (!checkLengthOrPre(afterTransSNLength_checkBox, afterTransSNLength, "长度"))
                                 return;
@@ -300,10 +310,10 @@ namespace UAS_MES.Make
             afterTransSNPre_checkBox.Enabled = true;
             afterTransSNLength_checkBox.Enabled = true;
             //查询表工单序列号防呆规则表
-            dt = (DataTable)dh.ExecuteSql("select msr_startno,msr_endno,msr_system,msr_type, msr_prefix ,msr_length from makesnrule where msr_makecode='" + ma_code.Text + "'", "select");
-            if (dt.Rows.Count > 0)
+            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 dt.Rows)
+                foreach (DataRow dr in rules.Rows)
                 {
                     //如果有值,则这个字段自动勾选,并且不可编辑
                     if (dr["msr_type"].ToString().ToLower() == "before")
@@ -378,17 +388,25 @@ namespace UAS_MES.Make
             {
                 /*	如果转换前没有值,则取 select productsnrule where psr_prodcode=? 产品编号,
                  *	有值则赋值到 转换前,并且自动勾选不可编辑。*/
-                //dt = (DataTable)dh.ExecuteSql("select psr_prefix ,psr_length from productsnrule where psr_prodcode = " + ma_prodcode.Text, "select");
-                //if (dt.Rows.Count > 0)
-                //{
-                //    //将产品序列号防呆规则查出的数据填充
-                //    beforeTransSNPre.Text = dt.Rows[0]["psr_prefix"].ToString();
-                //    beforeTransSNPre.ReadOnly = true;
-                //    beforeTransSNPre_checkBox.Checked = true;
-                //    beforeTransSNLength.Text = dt.Rows[0]["psr_length"].ToString();
-                //    beforeTransSNLength.ReadOnly = true;
-                //    beforeTransSNLength_checkBox.Checked = true;
-                //}
+                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()!="")
+                    {
+                        afterTransSNPre.Text = rules.Rows[0]["psr_prefix"].ToString();
+                        afterTransSNPre.Enabled = false;
+                        afterTransSNPre_checkBox.Checked = true;
+                        afterTransSNPre_checkBox.Enabled = false;
+                    }
+                    if (rules.Rows[0]["psr_length"].ToString() != "")
+                    {
+                        afterTransSNLength.Text = rules.Rows[0]["psr_length"].ToString();
+                        afterTransSNLength.Enabled = false;
+                        afterTransSNLength_checkBox.Checked = true;
+                        afterTransSNLength_checkBox.Enabled = false;
+                    }
+                }
             }
         }
         /// <summary>