Bladeren bron

初步完成所有接口及业务流程。

JeffWang 3 jaren geleden
bovenliggende
commit
824186dea0

+ 61 - 17
FactoryTool_CShare/Business/SanhuaMethod.cs

@@ -14,8 +14,9 @@ namespace MOKA_Factory_Tools
     {
         public static SanhuaMESLoginInfo sanhuaLoginInfo = new SanhuaMESLoginInfo();
 
-        public static bool CheckLogin()
+        public static bool CheckLogin(out string message)
         {
+            message = string.Empty;
             HttpHelper http = new HttpHelper();
             HttpItem item = new HttpItem() {URL = sanhuaLoginInfo.url + "api/MESTestCollect/CheckLogin", Encoding = Encoding.UTF8,Method = "post", PostEncoding = Encoding.UTF8, KeepAlive = false};
             item.ContentType = "application/json;charset=utf-8";
@@ -28,22 +29,33 @@ namespace MOKA_Factory_Tools
             }
 
             string ParseText = result.Html;
+            Log.WriteInfoLog(string.Format("CheckLogin Html:{0}", result.Html));
 
             try
             {
                 JObject jObject = JObject.Parse(ParseText);
+                bool success = jObject["success"].Value<bool>();
+                message = jObject["message"].Value<string>();
+
+                if (!success)
+                {
+                    Log.WriteErrorLog(string.Format("CheckLogin Error:{0}", message));
+                    return false;
+                }
             }
-            catch (Exception)
+            catch (Exception e)
             {
-
-                throw;
+                message = e.Message;
+                Log.WriteErrorLog(string.Format("CheckLogin Error:{0}", e.Message));
+                return false;
             }
 
             return true;
         }
 
-        public static bool ProductRouteCheck(string productSN)
+        public static bool ProductRouteCheck(string productSN, out string message)
         {
+            message = string.Empty;
             HttpHelper http = new HttpHelper();
             HttpItem item = new HttpItem() { URL = sanhuaLoginInfo.url + "api/MESTestCollect/ProductRouteCheck", Encoding = Encoding.UTF8, Method = "post", PostEncoding = Encoding.UTF8, KeepAlive = false };
             item.ContentType = "application/json;charset=utf-8";
@@ -57,26 +69,37 @@ namespace MOKA_Factory_Tools
             }
 
             string ParseText = result.Html;
+            Log.WriteInfoLog(string.Format("ProductRouteCheck Html:{0}", result.Html));
 
             try
             {
                 JObject jObject = JObject.Parse(ParseText);
+                bool success = jObject["success"].Value<bool>();
+                message = jObject["message"].Value<string>();
+
+                if (!success)
+                {
+                    Log.WriteErrorLog(string.Format("ProductRouteCheck Error:{0}", message));
+                    return false;
+                }
             }
-            catch (Exception)
+            catch (Exception e)
             {
-
-                throw;
+                message = e.Message;
+                Log.WriteErrorLog(string.Format("ProductRouteCheck Error:{0}", e.Message));
+                return false;
             }
 
             return true;
         }
 
-        public static bool UploadIdcData(string productSN, string acasId)
+        public static bool UploadIdcData(string productSN, string acasId, out string message)
         {
+            message = string.Empty;
             HttpHelper http = new HttpHelper();
             HttpItem item = new HttpItem() { URL = sanhuaLoginInfo.url + "api/MESTestCollect/UploadIdcData", Encoding = Encoding.UTF8, Method = "post", PostEncoding = Encoding.UTF8, KeepAlive = false };
             item.ContentType = "application/json;charset=utf-8";
-            item.Postdata = string.Format("{{\"jigEdition\":\"{0}\",\"resourceCode\":\"{1}\",\"staffCode\":\"{2}\",\"productSN\":\"{3}\",\"attr\":\"{{\"ACASID\",\"{4}\"}}\"}}",
+            item.Postdata = string.Format("{{\"jigEdition\":\"{0}\",\"resourceCode\":\"{1}\",\"staffCode\":\"{2}\",\"productSN\":\"{3}\",\"attr\":\"{{\"ACASID\":\"{4}\"}}\"}}",
                 sanhuaLoginInfo.jigEdtion, sanhuaLoginInfo.resourceCode, sanhuaLoginInfo.staffCode, productSN, acasId);
             HttpResult result = http.GetHtml(item);
             if (result.StatusCode != System.Net.HttpStatusCode.OK)
@@ -86,22 +109,33 @@ namespace MOKA_Factory_Tools
             }
 
             string ParseText = result.Html;
+            Log.WriteInfoLog(string.Format("UploadIdcData Html:{0}", result.Html));
 
             try
             {
                 JObject jObject = JObject.Parse(ParseText);
+                bool success = jObject["success"].Value<bool>();
+                message = jObject["message"].Value<string>();
+
+                if (!success)
+                {
+                    Log.WriteErrorLog(string.Format("UploadIdcData Error:{0}", message));
+                    return false;
+                }
             }
-            catch (Exception)
+            catch (Exception e)
             {
-
-                throw;
+                message = e.Message;
+                Log.WriteErrorLog(string.Format("UploadIdcData Error:{0}", e.Message));
+                return false;
             }
 
             return true;
         }
 
-        public static bool ProductMoveNext(string productSN, string result, string defectCode)
+        public static bool ProductMoveNext(string productSN, string result, string defectCode, out string message)
         {
+            message = string.Empty;
             HttpHelper http = new HttpHelper();
             HttpItem item = new HttpItem() { URL = sanhuaLoginInfo.url + "api/MESTestCollect/ProductMoveNext", Encoding = Encoding.UTF8, Method = "post", PostEncoding = Encoding.UTF8, KeepAlive = false };
             item.ContentType = "application/json;charset=utf-8";
@@ -115,15 +149,25 @@ namespace MOKA_Factory_Tools
             }
 
             string ParseText = hResult.Html;
+            Log.WriteInfoLog(string.Format("ProductMoveNext Html:{0}", hResult.Html));
 
             try
             {
                 JObject jObject = JObject.Parse(ParseText);
+                bool success = jObject["success"].Value<bool>();
+                message = jObject["message"].Value<string>();
+
+                if (!success)
+                {
+                    Log.WriteErrorLog(string.Format("ProductMoveNext Error:{0}", message));
+                    return false;
+                }
             }
-            catch (Exception)
+            catch (Exception e)
             {
-
-                throw;
+                message = e.Message;
+                Log.WriteErrorLog(string.Format("ProductMoveNext Error:{0}", e.Message));
+                return false;
             }
 
             return true;

+ 19 - 10
FactoryTool_CShare/Views/OperationPanel.cs

@@ -833,9 +833,13 @@ namespace MOKA_Factory_Tools
 
                 if ( FunctionSettingNow.ExportSNACASID )
                 {
-                    if ( !SanhuaMethod.ProductRouteCheck(SN) )
+                    string message = string.Empty;
+                    if ( !SanhuaMethod.ProductRouteCheck(SN, out message) )
                     {
-                        MessageBox.Show(string.Format("ProductRouteCheck faild {0}", SN));
+                        Verify dlg = new Verify(string.Format("{0} ProductRouteCheck faild: {1} ", SN, message));
+                        dlg.ShowDialog();
+                        SNText.Enabled = true;
+                        SNText.Text = "";
                         return;
                     }
                 }
@@ -4722,21 +4726,26 @@ namespace MOKA_Factory_Tools
             }
 
             if (FunctionSettingNow.ExportSNACASID)
-            {
+            {// 只有抄写成功,才输出ACASID;
                 if (SerialCMD.ReadJapaneseACASID(TVPort, out result, out data, out error, SerailDelay))
                 {
-                    CommonMethod.ExportSNACASID(orderNow, SN, Encoding.ASCII.GetString(data));
+                     CommonMethod.ExportSNACASID(orderNow, SN, Encoding.ASCII.GetString(data));
 
-                    if (!SanhuaMethod.UploadIdcData(SN, Encoding.ASCII.GetString(data)))
+                    if (!SanhuaMethod.UploadIdcData(SN, Encoding.ASCII.GetString(data), out error))
                     {
-                        MessageBox.Show(string.Format("UploadIdcData faild {0}", SN));
-                        return;
+                        TestResult = 0;
+                        ErrMsg = string.Format("{0}  UploadIdcData fail! {1}", SN, error);
+                        Log.WriteErrorLog(ErrMsg);
+                        goto end;
                     }
 
-                    if (!SanhuaMethod.ProductMoveNext(SN, "", ""))
+                    // 由于抄写成功才会输出ACASID,所以result参数在此固定为OK/PASS
+                    if (!SanhuaMethod.ProductMoveNext(SN, "OK", "", out error))
                     {
-                        MessageBox.Show(string.Format("ProductMoveNext faild {0}", SN));
-                        return;
+                        TestResult = 0;
+                        ErrMsg = string.Format("{0}  ProductMoveNext fail! {1}", SN, error);
+                        Log.WriteErrorLog(ErrMsg);
+                        goto end;
                     }
                 }
             }

+ 3 - 2
FactoryTool_CShare/Views/SanhuaMES.cs

@@ -45,13 +45,14 @@ namespace MOKA_Factory_Tools
 
             SaveLoginInfo();
 
-            if ( SanhuaMethod.CheckLogin() )
+            string message = string.Empty;
+            if ( SanhuaMethod.CheckLogin(out message) )
             {
                 DialogResult = DialogResult.OK;
             }
             else
             {
-                MessageBox.Show("登录失败,原因请查看日志");
+                MessageBox.Show(string.Format("登录失败:{0}", message));
                 DialogResult = DialogResult.Cancel;
             }
         }