Browse Source

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

章政 7 years ago
parent
commit
ed7d726b78

+ 16 - 4
UAS-MES/FunctionCode/Make/Make_SmtTestCollection.cs

@@ -48,6 +48,7 @@ namespace UAS_MES.Make
         bool AutoCut = false;
         bool AutoCut = false;
 
 
         bool LockSn = false;
         bool LockSn = false;
+        string ms_nextstepcode;
 
 
         DataTable Dbfind;
         DataTable Dbfind;
 
 
@@ -247,6 +248,7 @@ namespace UAS_MES.Make
                             }
                             }
                         }
                         }
                         dt = (DataTable)dh.ExecuteSql("select ms_nextstepcode,ms_sncode,ms_reworkstatus,nvl(ms_ifrework,0)ms_ifrework,ms_stepcode,ms_status,nvl(st_ifrepair,0) st_ifrepair from makeserial left join step on ms_stepcode=st_code where ms_id='" + oMSID + "'", "select");
                         dt = (DataTable)dh.ExecuteSql("select ms_nextstepcode,ms_sncode,ms_reworkstatus,nvl(ms_ifrework,0)ms_ifrework,ms_stepcode,ms_status,nvl(st_ifrepair,0) st_ifrepair from makeserial left join step on ms_stepcode=st_code where ms_id='" + oMSID + "'", "select");
+                         ms_nextstepcode = dt.Rows[0]["ms_nextstepcode"].ToString();
                         string status = dt.Rows[0]["ms_status"].ToString();
                         string status = dt.Rows[0]["ms_status"].ToString();
                         reworkstatus = dt.Rows[0]["ms_reworkstatus"].ToString();
                         reworkstatus = dt.Rows[0]["ms_reworkstatus"].ToString();
                         string stepcode = dt.Rows[0]["ms_stepcode"].ToString();
                         string stepcode = dt.Rows[0]["ms_stepcode"].ToString();
@@ -657,15 +659,25 @@ namespace UAS_MES.Make
                         }
                         }
                     }
                     }
                     dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_id","nvl(ms_ifrework,0) ms_ifrework", "ms_paststep" }, "ms_sncode='" + ms_sncode.Text + "' and ms_makecode='" + ma_code.Text + "' ");
                     dt = dh.getFieldsDataByCondition("makeserial", new string[] { "ms_id","nvl(ms_ifrework,0) ms_ifrework", "ms_paststep" }, "ms_sncode='" + ms_sncode.Text + "' and ms_makecode='" + ma_code.Text + "' ");
+                    string St_ifqccheck = dh.getFieldDataByCondition("source LEFT JOIN STEP on st_code=sc_stepcode", "nvl(St_ifqccheck,0)", "sc_code='" + User.UserSourceCode + "'").ToString();
                     List<string> SQLS = new List<string>();
                     List<string> SQLS = new List<string>();
                     if (dt.Rows.Count > 0)
                     if (dt.Rows.Count > 0)
                     {
                     {
                         string ms_id = dt.Rows[0]["ms_id"].ToString();
                         string ms_id = dt.Rows[0]["ms_id"].ToString();
                         string ms_ifrework = dt.Rows[0]["ms_ifrework"].ToString();
                         string ms_ifrework = dt.Rows[0]["ms_ifrework"].ToString();
-                        if (ms_ifrework == "0")
-                            SQLS.Add("update makeserial set ms_checkno='', ms_nextstepcode ='" + User.CurrentStepCode + "',ms_status=1,ms_stepcode='SMT_REPAIR' where ms_id='" + ms_id + "'");
-                        else
-                            SQLS.Add("update makeserial set ms_checkno='', ms_nextstepcode ='" + User.CurrentStepCode + "',ms_reworkstatus=1,ms_stepcode='SMT_REPAIR' where ms_id='" + ms_id + "'");
+                        if (St_ifqccheck != "-1")
+                        {
+                            if (ms_ifrework == "0")
+                                SQLS.Add("update makeserial set ms_checkno='', ms_nextstepcode ='" + User.CurrentStepCode + "',ms_status=1,ms_stepcode='SMT_REPAIR' where ms_id='" + ms_id + "'");
+                            else
+                                SQLS.Add("update makeserial set ms_checkno='', ms_nextstepcode ='" + User.CurrentStepCode + "',ms_reworkstatus=1,ms_stepcode='SMT_REPAIR' where ms_id='" + ms_id + "'");
+                        }
+                        else {
+                            if (ms_ifrework == "0")
+                                SQLS.Add("update makeserial set ms_checkno='', ms_nextstepcode ='" + ms_nextstepcode + "',ms_status=1,ms_stepcode='SMT_REPAIR',ms_paststep = REPLACE(ms_paststep,','||'"+ ms_nextstepcode + "') where ms_id='" + ms_id + "'");
+                            else
+                                SQLS.Add("update makeserial set ms_checkno='', ms_nextstepcode ='" + ms_nextstepcode + "',ms_reworkstatus=1,ms_stepcode='SMT_REPAIR',ms_paststep = REPLACE(ms_paststep,','||'" + ms_nextstepcode + "')  where ms_id='" + ms_id + "'");
+                        }
                     }
                     }
                     SQLS.Add("update makebad set mb_status=-1 where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ma_code.Text + "' and MB_STEPCODE = '" + User.CurrentStepCode + "'");
                     SQLS.Add("update makebad set mb_status=-1 where mb_sncode='" + ms_sncode.Text + "' and mb_makecode='" + ma_code.Text + "' and MB_STEPCODE = '" + User.CurrentStepCode + "'");
                     dh.ExecuteSQLTran(SQLS.ToArray());
                     dh.ExecuteSQLTran(SQLS.ToArray());

+ 20 - 4
UAS-MES/PublicMethod/LogicHandler.cs

@@ -685,13 +685,17 @@ namespace UAS_MES.PublicMethod
             }
             }
             else
             else
             {
             {
-                return CS_SetResult(iMakeCode, iSourceCode, iSN, iUserCode, iResult, out oErrorMessage);
+                return SetStepResult(iMakeCode, iSourceCode, iSN, iMPKind, iResult,iUserCode,out oErrorMessage);
             }
             }
         }
         }
 
 
         public static bool SetStepResult(string iMakeCode, string iSourceCode, string iSN, string iMPKind, string iResult, string iUserCode, out string oErrorMessage)
         public static bool SetStepResult(string iMakeCode, string iSourceCode, string iSN, string iMPKind, string iResult, string iUserCode, out string oErrorMessage)
         {
         {
-            return CS_SetResult(iMakeCode, iSourceCode, iSN, iUserCode, iResult, out oErrorMessage);
+            if (dh.getFieldDataByCondition("source LEFT JOIN STEP on st_code=sc_stepcode", "nvl(St_ifqccheck,0)", "sc_code='" + iSourceCode + "'").ToString() != "-1")
+            {
+                return CS_SetResult(iMakeCode, iSourceCode, iSN, iUserCode, iResult, out oErrorMessage);
+            }else
+                return CS_OQCSetResult(iMakeCode, iSourceCode, iSN, iUserCode, iResult, out oErrorMessage);
         }
         }
 
 
         public static bool CS_SetResult(string iMakeCode, string iSourceCode, string iSN, string iUserCode, string iResult, out string oErrorMessage)
         public static bool CS_SetResult(string iMakeCode, string iSourceCode, string iSN, string iUserCode, string iResult, out string oErrorMessage)
@@ -705,6 +709,18 @@ namespace UAS_MES.PublicMethod
             else
             else
                 return false;
                 return false;
         }
         }
+
+        public static bool CS_OQCSetResult(string iMakeCode, string iSourceCode, string iSN, string iUserCode, string iResult, out string oErrorMessage)
+        {
+            oErrorMessage = "";
+            string[] param = new string[] { iMakeCode, iSourceCode, iSN, iUserCode, iResult, oErrorMessage };
+            dh.CallProcedure("CS_QCCHECKSTEPRESULT", ref param);
+            oErrorMessage = param[5];
+            if (oErrorMessage == "" || oErrorMessage == null || oErrorMessage == "null" || oErrorMessage.Contains("AFTERSUCCESS"))
+                return true;
+            else
+                return false;
+        }
         /// <summary>
         /// <summary>
         /// 设置测试结果
         /// 设置测试结果
         /// </summary>
         /// </summary>
@@ -798,9 +814,9 @@ namespace UAS_MES.PublicMethod
                 else
                 else
                 {
                 {
                     if (ifrework == "0")
                     if (ifrework == "0")
-                        dh.UpdateByCondition("makeserial", "ms_nextstepcode='',ms_status=3", "ms_sncode='" + iSnCode + "' and ms_makecode='" + iMakeCode + "' ");
+                        dh.UpdateByCondition("makeserial", "ms_status=3", "ms_sncode='" + iSnCode + "' and ms_makecode='" + iMakeCode + "' ");
                     else
                     else
-                        dh.UpdateByCondition("makeserial", "ms_nextstepcode='',ms_paststep = ms_paststep ||'," + StepCode + "',ms_reworkstatus=3", "ms_sncode='" + iSnCode + "' and ms_makecode='" + iMakeCode + "'");
+                        dh.UpdateByCondition("makeserial", "ms_paststep = ms_paststep ||'," + StepCode + "',ms_reworkstatus=3", "ms_sncode='" + iSnCode + "' and ms_makecode='" + iMakeCode + "'");
                     SetTestResult(iMakeCode, iSourceCode, iSnCode, "不良采集", "NG", iUserCode, out oErrorMessage);
                     SetTestResult(iMakeCode, iSourceCode, iSnCode, "不良采集", "NG", iUserCode, out oErrorMessage);
                 }
                 }
             }
             }