Ver código fonte

序列号不唯一的情况

shim 8 anos atrás
pai
commit
a5d7fb392a

+ 9 - 8
UAS-MES/FunctionCode/Make/Make_SeqProgramTransform.cs

@@ -50,6 +50,9 @@ namespace UAS_MES.Make
         string endNo = "";//终止序列
 
         string system = "";//进制
+
+        string oMakecode = "";
+        string oMsid = "";
         public Make_SeqProgramTransform()
         {
             InitializeComponent();
@@ -82,8 +85,6 @@ namespace UAS_MES.Make
                         {
                             OperateResult.AppendText(">>序列号:" + code.Text + " , 发送请求\n", Color.Black);
 
-                            string oMakecode = "";
-                            string oMsid = "";
                             //记录当前序列号查出来的工单
                             if (GetMakeInfo(code.Text, out makecode, out errorMessage))
                             {
@@ -192,7 +193,7 @@ namespace UAS_MES.Make
                         {
                             OperateResult.AppendText(">>" + code.Text + "\n", Color.Black);
                             //开始录入SN
-                            if (ChangeResult.Checked||!dh.CheckExist("makeserial", "ms_sncode='" + code.Text + "'"))
+                            if (ChangeResult.Checked||!dh.CheckExist("makeserial", "ms_sncode='" + code.Text + "' and ms_status='1'"))
                             {
                                 //判断用户是否锁定输入SN长度,
                                 if (!checkLengthOrPre(SNLength_checkBox, SNLength, "长度", "SN"))
@@ -380,7 +381,7 @@ namespace UAS_MES.Make
             {
                 //校验已经完成,此时要再次校验之前的SN和关联采集信息
                 //再次校验SN
-                if (!dh.CheckExist("makeserial", "ms_sncode='" + SN + "'"))
+                if (!dh.CheckExist("makeserial", "ms_sncode='" + SN + "' and ms_status='1'"))
                 {
                     bool flag = true;
                     if (!ChangeResult.Checked)
@@ -409,9 +410,9 @@ namespace UAS_MES.Make
                         if (ChangeResult.Checked)
                         {
                             //查询ms_firstsn
-                            firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_beforesn='" + TSN + "'").ToString();
+                            firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_beforesn='" + TSN + "' and ms_id='" + oMsid + "'").ToString();
                             //记录本次修改,存入makesnrelation表中
-                            updateSql = "update makeserial set ms_sncode='" + SN + "'," + s1.Remove(s1.Length - 1, 1).ToString() + " where ms_beforesn='" + TSN + "'";
+                            updateSql = "update makeserial set ms_sncode='" + SN + "'," + s1.Remove(s1.Length - 1, 1).ToString() + " where ms_beforesn='" + TSN + "' and ms_id='" + oMsid + "'";
                             //删除最近一条转换记录
                             dh.ExecuteSql("delete from makesnrelation where BEFORESN='" + TSN + "'", "delete");
                         }
@@ -419,9 +420,9 @@ namespace UAS_MES.Make
                         else
                         {
                             //查询ms_firstsn
-                            firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + TSN + "'").ToString();
+                            firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + TSN + "' and ms_id='" + oMsid + "'").ToString();
                             //记录本次修改,存入makesnrelation表中
-                            updateSql = "update makeserial set ms_sncode='" + SN + "', ms_beforesn='" + TSN + "'," + s1.Remove(s1.Length - 1, 1).ToString() + " where ms_sncode='" + TSN + "'";
+                            updateSql = "update makeserial set ms_sncode='" + SN + "', ms_beforesn='" + TSN + "'," + s1.Remove(s1.Length - 1, 1).ToString() + " where ms_sncode='" + TSN + "' and ms_id='" + oMsid + "'";
                         }
                         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);

+ 7 - 8
UAS-MES/FunctionCode/Make/Make_SeqTransform.cs

@@ -33,7 +33,8 @@ namespace UAS_MES.Make
 
         //存放工单中数量
         int ma_qty;
-
+        string oMakeCode = "";
+        string oMsId = "";
         public Make_SeqTransform()
         {
             InitializeComponent();
@@ -80,8 +81,6 @@ namespace UAS_MES.Make
                         if (bsncode == "")
                         {
                             //定义传入方法的变量
-                            string oMakeCode = "";
-                            string oMsId = "";
                             string ms_id = dh.getFieldDataByCondition("MakeSerial", "max(ms_id) ms_id", "upper(ms_sncode)='" + sncode.Text.ToUpper() + "' or ms_firstsn in (select firstsn from makesnrelation where upper(beforesn)='" + sncode.Text.ToUpper() + "')").ToString();
                             oMakeCode = dh.getFieldDataByCondition("MakeSerial", "ms_makecode", "ms_id='" + ms_id + "'").ToString();
                             if (oMakeCode == "")
@@ -188,7 +187,7 @@ namespace UAS_MES.Make
                             //如果两次输入的序列号相同进行提示,不相同则进行下一步
                             if (bsncode != sncode.Text)
                             {
-                                if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "'"))
+                                if (!dh.CheckExist("makeserial", "ms_sncode='" + sncode.Text + "' and ms_status='1'"))
                                 {
                                     string firstsn = "";
                                     string updateSql = "";
@@ -196,9 +195,9 @@ namespace UAS_MES.Make
                                     if (ChangeResult.Checked)
                                     {
                                         //查询ms_firstsn
-                                        firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_beforesn='" + bsncode + "'").ToString();
+                                        firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_beforesn='" + bsncode + "' and ms_id='" + oMsId + "'").ToString();
                                         //记录本次修改,存入makesnrelation表中
-                                        updateSql = "update makeserial set ms_sncode='" + sncode.Text + "' where ms_beforesn='" + bsncode + "'";
+                                        updateSql = "update makeserial set ms_sncode='" + sncode.Text + "' where ms_beforesn='" + bsncode + "' and ms_id='" + oMsId + "'";
                                         //删除最近一条转换记录
                                         dh.ExecuteSql("delete from makesnrelation where BEFORESN='"+bsncode+"'", "delete");
                                     }
@@ -206,9 +205,9 @@ namespace UAS_MES.Make
                                     else
                                     {
                                         //查询ms_firstsn
-                                        firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + bsncode + "'").ToString();
+                                        firstsn = dh.getFieldDataByCondition("makeserial", "ms_firstsn", "ms_sncode='" + bsncode + "' and ms_id='" + oMsId + "'").ToString();
                                         //记录本次修改,存入makesnrelation表中
-                                        updateSql = "update makeserial set ms_sncode='" + sncode.Text + "', ms_beforesn='" + bsncode + "' where ms_sncode='" + bsncode + "'";
+                                        updateSql = "update makeserial set ms_sncode='" + sncode.Text + "', ms_beforesn='" + bsncode + "' where ms_sncode='" + bsncode + "' and ms_id='" + oMsId + "'";
                                     }
                                     string insertSql = "insert into  makesnrelation (BEFORESN,SN,FIRSTSN,MAKECODE,msr_indate, msr_inman)values('" + bsncode + "','" + sncode.Text + "','" + firstsn + "','" + ma_code.Text + "', sysdate ,'" + User.UserCode + "')";
                                     dh.ExecuteSQLTran(updateSql, insertSql);