Browse Source

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

Hcsy 8 years ago
parent
commit
75a08e8e29
1 changed files with 21 additions and 2 deletions
  1. 21 2
      UAS-MES/PublicMethod/LogicHandler.cs

+ 21 - 2
UAS-MES/PublicMethod/LogicHandler.cs

@@ -1346,18 +1346,37 @@ namespace UAS_MES.PublicMethod
             return param[4];
         }
 
-        public static bool CheckSNBeforeLoad(string iSN, string iSonCode, string iRule, string iPrefix, string iLength, out string ErrMessage)
+        public static bool CheckSNBeforeLoad(string iMakeCode, string iSN, string iSonCode, string iRule, string iPrefix, string iLength, out string ErrMessage)
         {
             DataTable dt;
             ErrMessage = "";
             switch (iRule)
             {
                 case "TSN":
-                    dt = (DataTable)dh.ExecuteSql("select ms_id,ms_prodcode from makeserial where ms_sncode='" + iSN + "' order by ms_id desc", "select");
+                    dt = (DataTable)dh.ExecuteSql("select ms_id,ms_prodcode,ms_nextmacode,ms_salecode,ms_downstatus from makeserial where ms_sncode='" + iSN + "' order by ms_id desc", "select");
                     if (dt.Rows.Count > 0)
                     {
+                        if (dt.Rows[0]["ms_downstatus"].ToString() != "0")
+                        {
+                            ErrMessage = "序列号:" + iSonCode + "已下地,请先取消下地";
+                            return false ;
+                        }
+                        if (dt.Rows[0]["ms_nextmacode"].ToString() != "")
+                        {
+                            ErrMessage = "序列号:" + iSonCode + "已被工单" + dt.Rows[0]["ms_nextmacode是否为空"].ToString() + "使用";
+                            return false;
+                        }
+                        if (dt.Rows[0]["ms_salecode"].ToString() != dh.getFieldDataByCondition("make", "ma_salecode", "ma_code='" + iMakeCode + "'").ToString())
+                        {
+                            ErrMessage = "序列号对应销售订单与工单不符";
+                            return false;
+                        }
+                        //ms_salecode是否等于工单的SaleCode
                         if (iSonCode != dt.Rows[0]["ms_prodcode"].ToString())
+                        {
                             ErrMessage = "序列号对应的物料不是:" + iSonCode;
+                            return false;
+                        }
                         else
                             return true;
                     }