yhluo 1 долоо хоног өмнө
parent
commit
fe971b2bfc

+ 92 - 66
UAS_MES_HYSX/FunctionCode/Make/Make_ListenSocket.cs

@@ -120,36 +120,86 @@ namespace UAS_MES_NEW.Make
             this.Invoke(new Action(() =>
             this.Invoke(new Action(() =>
             {
             {
                 currCount += 1;
                 currCount += 1;
-
-                //ShowMsg(1, $"第{currCount}次接收,收到来自 {e.ClientId} 的消息: {e.Message}");
-
-                JObject outerObj = JObject.Parse(e.Message);
-
-                string name = outerObj["Name"].ToString();
-                string dataString = outerObj["Data"].ToString();
-
-                JObject dataObj = JObject.Parse(dataString);
-                string serial = dataObj["Serial"].ToString();
-
-                ShowMsg(1, $"第{currCount}次接收,客户端:{e.ClientId}, {name}类型信息, 序列号: {serial}");
-
                 string omakeCode, oMsid, oErrorMessage = "";
                 string omakeCode, oMsid, oErrorMessage = "";
-                if (LogicHandler.CheckStepSNAndMacode(ma_code.Text, User.UserSourceCode, serial, User.UserCode, out omakeCode, out oMsid, out oErrorMessage))
+                try
                 {
                 {
-                    if (LogicHandler.SetStepResult(omakeCode, User.UserSourceCode, serial, "产测软件对接", "OK", User.UserCode, out oErrorMessage))
+                    JObject outerObj = JObject.Parse(e.Message);
+                    string name = outerObj["Name"].ToString();
+                    string dataString = outerObj["Data"].ToString();
+                    JObject dataObj = JObject.Parse(dataString);
+                    string serial = dataObj["Serial"].ToString();
+
+                    ShowMsg(1, $"第{currCount}次接收,客户端:{e.ClientId}, {name}类型信息, 序列号: {serial}");
+                    if (LogicHandler.CheckStepSNAndMacode(ma_code.Text, User.UserSourceCode, serial, User.UserCode, out omakeCode, out oMsid, out oErrorMessage))
                     {
                     {
-                        LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, omakeCode, User.UserLineCode, User.UserSourceCode, "产测软件对接", "产测软件对接成功", serial, "");
-                        ShowMsg(1, $"序列号: {serial} 过站处理成功");
+                        if (LogicHandler.SetStepResult(omakeCode, User.UserSourceCode, serial, "产测软件对接", "OK", User.UserCode, out oErrorMessage))
+                        {
+                            LogicHandler.DoCommandLog(Tag.ToString(), User.UserCode, omakeCode, User.UserLineCode, User.UserSourceCode, "产测软件对接", "产测软件对接成功", serial, "");
+
+                            ShowMsg(1, $"序列号: {serial} 过站处理成功");
+                            FirstStepPaseJSON(e.ClientId, currCount, serial, "0", "");
+                        }
+                        else
+                        {
+                            ShowMsg(0, $"NG,序列号: {serial} 过站失败,{oErrorMessage}");
+                            FirstStepPaseJSON(e.ClientId, currCount, serial, "1", oErrorMessage);
+                        }
+                    }
+                    else
+                    {
+                        ShowMsg(0, $"NG,序列号: {serial} 归属核对失败,{oErrorMessage}");
+                        FirstStepPaseJSON(e.ClientId, currCount, serial, "1", oErrorMessage);
                     }
                     }
+
+                    #region
+                    /*if (currCount == 1)
+                    {
+
+                    }
+                    else
+                    {
+                        ShowMsg(1, $"第{currCount}次接收,客户端:{e.ClientId}, {name}类型信息, 序列号: {serial} 已处理过");
+                        FirstStepPaseJSON(e.ClientId, currCount, serial, "0", "已处理过");
+                    }*/
+                    #endregion
+                }
+                catch (Exception ex) 
+                {
+                    ShowMsg(0, $"NG,序列号: 产测软件解析失败,{ex.Message}");
+                    FirstStepPaseJSON(e.ClientId, currCount, "", "2", "产测软件返回信息解析错误,未知序列号");
                 }
                 }
 
 
-                //string newJsonData = "{\"Name\":\"VerifyResult\",\"Data\":\"{\"ErrorCode\":\"0\",\"ErrorMsg\":\"\",\"Serial\":\"" + serial + "\"}\"}";
+                //currCount = currCount == 2 ? 0 : currCount;
+            }));
+        }
+
+        private void FirstStepPaseJSON(string cliId, int currCount, string sn, string errCode, string msg)
+        {
+            var dataObject = new
+            {
+                ErrorCode = errCode,
+                ErrorMsg = msg,
+                Serial = sn
+            };
+            string dataJson = JsonConvert.SerializeObject(dataObject, Formatting.None);
+            VerifyResultMessage message = new VerifyResultMessage
+            {
+                Name = "VerifyResult",
+                Data = dataJson
+            };
+
+            string jsonMessage = JsonConvert.SerializeObject(message, Formatting.None);
+            string sendMsg = _server.SendMessage(cliId, jsonMessage);
+            ShowMsg(sendMsg.StartsWith("OK") ? 1 : 0, sendMsg);
 
 
+            #region
+            /*if (currCount == 1)
+            {
                 var dataObject = new
                 var dataObject = new
                 {
                 {
-                    ErrorCode = "0",
-                    ErrorMsg = "PD111111",
-                    Serial = "123456789"
+                    ErrorCode = errCode,
+                    ErrorMsg = msg,
+                    Serial = sn
                 };
                 };
                 string dataJson = JsonConvert.SerializeObject(dataObject, Formatting.None);
                 string dataJson = JsonConvert.SerializeObject(dataObject, Formatting.None);
                 VerifyResultMessage message = new VerifyResultMessage
                 VerifyResultMessage message = new VerifyResultMessage
@@ -157,54 +207,30 @@ namespace UAS_MES_NEW.Make
                     Name = "VerifyResult",
                     Name = "VerifyResult",
                     Data = dataJson
                     Data = dataJson
                 };
                 };
-                string jsonMessage = JsonConvert.SerializeObject(message, Formatting.None);
-                string sendMsg = _server.SendMessage(e.ClientId, jsonMessage);
 
 
+                string jsonMessage = JsonConvert.SerializeObject(message, Formatting.None);
+                string sendMsg = _server.SendMessage(cliId, jsonMessage);
                 ShowMsg(sendMsg.StartsWith("OK") ? 1 : 0, sendMsg);
                 ShowMsg(sendMsg.StartsWith("OK") ? 1 : 0, sendMsg);
 
 
-                #region
-                //if (currCount == 1)
-                //{
-                //    VerifyResultMessage message = new VerifyResultMessage
-                //    {
-                //        Name = "VerifyResult",
-                //        Data = new VerifyResultData
-                //        {
-                //            ErrorCode = "0",
-                //            ErrorMsg = "",
-                //            Serial = "BG7349116"
-                //        }
-                //    };
-                //    string jsonMessage = JsonConvert.SerializeObject(message, Formatting.None);
-
-                //    string sendMsg = _server.SendMessage(e.ClientId, jsonMessage);
-
-                //    ShowMsg(sendMsg.StartsWith("OK") ? 1 : 0, sendMsg);
-                //}
-
-                //if(currCount == 2)
-                //{
-                //    SubmitResponseMessage message = new SubmitResponseMessage
-                //    {
-                //        Name = "SubmitResponse",
-                //        Data = new SubmitResponseData
-                //        {
-                //            Serial = "BG7349116",
-                //            SubmitResult = "0",
-                //            ErrorMessage = ""
-                //        }
-                //    };
-                //    string jsonMessage = JsonConvert.SerializeObject(message, Formatting.None);
-
-                //    string sendMsg = _server.SendMessage(e.ClientId, jsonMessage);
-
-                //    ShowMsg(sendMsg.StartsWith("OK") ? 1 : 0, sendMsg);
-                //}
-                #endregion
-
-                currCount = currCount == 2 ? 0 : currCount;
-            }));
+            }
+            else if (currCount == 2)
+            {
+                var dataObject = new
+                {
+                    Serial = sn,
+                    SubmitResult = "0",
+                    ErrorMessage = msg
+                };
+                string dataJson = JsonConvert.SerializeObject(dataObject, Formatting.None);
+                SubmitResponseMessage message = new SubmitResponseMessage
+                {
+                    Name = "SubmitResponse",
+                    Data = dataJson
+                };
+            }*/
+            #endregion
         }
         }
+
         private void SocketServer_ReceivedMsg(object sender, ReceivedMsgEventArgs e)
         private void SocketServer_ReceivedMsg(object sender, ReceivedMsgEventArgs e)
         {
         {
             this.Invoke(new Action(() =>
             this.Invoke(new Action(() =>
@@ -340,7 +366,7 @@ namespace UAS_MES_NEW.Make
             public string Name { get; set; } = "SubmitResponse";
             public string Name { get; set; } = "SubmitResponse";
 
 
             [JsonProperty("Data")]
             [JsonProperty("Data")]
-            public SubmitResponseData Data { get; set; }
+            public string Data { get; set; }
         }
         }