From 428c09cb12be9c1d9f803681f34d9a33dfa8a8f3 Mon Sep 17 00:00:00 2001
From: czw <selecti@yeah.net>
Date: 星期二, 03 六月 2025 15:33:53 +0800
Subject: [PATCH] wms mes

---
 S7/Scripts/Custom.json  |   35 +++
 S7/Net/Conn.json        |   85 +++++++++
 S7/Scripts/Script.json  |   77 ++++++++
 S7/RunTime/Code/自定义类.cs |  183 ++++++++++++++++++++
 S7/S7.json              |    6 
 S7/Static/config.json   |  106 ++++++-----
 6 files changed, 427 insertions(+), 65 deletions(-)

diff --git a/S7/Net/Conn.json b/S7/Net/Conn.json
index 6737914..4fcd363 100644
--- a/S7/Net/Conn.json
+++ b/S7/Net/Conn.json
@@ -12,7 +12,8 @@
       "Password": "aux!123",
       "Timeout": 3,
       "IsDefault": true,
-      "Type": "SqlServer"
+      "Type": "SqlServer",
+      "Special": []
     }
   ],
   "Redis": [
@@ -224,10 +225,90 @@
           "ContentType": "application/json",
           "ReqParamStr": "System.String requestJson",
           "ReqParamTypeStr": "System.String"
+        },
+        {
+          "ID": "20250531151614198",
+          "Name": "CreateTask",
+          "Desc": "MES 浠诲姟涓嬪彂",
+          "Method": "POST",
+          "RawUrl": "/api/Wcs/CreateTask",
+          "Response": "System.String",
+          "Request": [
+            {
+              "ID": "1",
+              "Name": "requestJson",
+              "Desc": "璇锋眰鎶ユ枃json",
+              "Type": "System.String"
+            }
+          ],
+          "Content": "\r\n                                        LogHelper.Info(\"/api/Wcs/CreateTask锛歕" + requestJson);\r\n                                        var model = JsonConvert.DeserializeObject<ToWMSMES.CreateTask>(requestJson);\r\n                                        var res = ToWMSMES.CreateTask.CreatemesTask(model);\r\n                                        return JsonConvert.SerializeObject(res);",
+          "ContentType": "application/json",
+          "ReqParamStr": "System.String requestJson",
+          "ReqParamTypeStr": "System.String"
+        },
+        {
+          "ID": "20250531151746358",
+          "Name": "TestRequestTask",
+          "Desc": "鏈烘鍙h姹備换鍔℃帴鍙�,
+          "Method": "POST",
+          "RawUrl": "/api/Wcs/TestRequestTask",
+          "Response": "System.String",
+          "Request": [
+            {
+              "ID": "1",
+              "Name": "requestJson",
+              "Desc": "璇锋眰鎶ユ枃json",
+              "Type": "System.String"
+            }
+          ],
+          "Content": "LogHelper.Info(\"/api/Wcs/TestRequestTask锛歕" + requestJson);\r\nvar str = Settings.apiHelper.Post(Settings.WMSbaseUrl + \"mom-basic/dataTransmission/json/service/200\", requestJson);\r\nreturn str;",
+          "ContentType": "application/json",
+          "ReqParamStr": "System.String requestJson",
+          "ReqParamTypeStr": "System.String"
+        },
+        {
+          "ID": "20250531151956740",
+          "Name": "updateStatus",
+          "Desc": "浠诲姟鐘舵�涓婃姤鎺ュ彛",
+          "Method": "POST",
+          "RawUrl": "/api/Wcs/updateStatus",
+          "Response": "System.String",
+          "Request": [
+            {
+              "ID": "1",
+              "Name": "requestJson",
+              "Desc": "璇锋眰鎶ユ枃json",
+              "Type": "System.String"
+            }
+          ],
+          "Content": "LogHelper.Info(\"/api/Wcs/updateStatus锛歕" + requestJson);\r\nvar str = Settings.apiHelper.Post(Settings.WMSbaseUrl + \"mom-basic/dataTransmission/json/service/200\", requestJson);\r\nreturn str;",
+          "ContentType": "application/json",
+          "ReqParamStr": "System.String requestJson",
+          "ReqParamTypeStr": "System.String"
+        },
+        {
+          "ID": "20250531152110369",
+          "Name": "toMes",
+          "Desc": "鎵樼洏涓婃姤鏍¢獙鎺ュ彛锛堝寘鍚墭鐩樻牎楠屻�缁戞嫋鍜岃繃璐︼級",
+          "Method": "POST",
+          "RawUrl": "/api/Wcs/toMes",
+          "Response": "System.String",
+          "Request": [
+            {
+              "ID": "1",
+              "Name": "requestJson",
+              "Desc": "璇锋眰鎶ユ枃json",
+              "Type": "System.String"
+            }
+          ],
+          "Content": "\r\n                                        LogHelper.Info(\"/api/Wcs/toMes锛歕" + requestJson);\r\n                                        var str = Settings.apiHelper.Post(Settings.MESbaseUrl + \"mom-basic/dataTransmission/json/service/202\", requestJson);\r\n                                        return str;",
+          "ContentType": "application/json",
+          "ReqParamStr": "System.String requestJson",
+          "ReqParamTypeStr": "System.String"
         }
       ]
     }
   ],
   "CreationTime": "2025-02-26 15:31:23",
-  "LastWriteTime": "2025-04-18 10:41:51"
+  "LastWriteTime": "2025-05-31 16:36:28"
 }
\ No newline at end of file
diff --git "a/S7/RunTime/Code/\350\207\252\345\256\232\344\271\211\347\261\273.cs" "b/S7/RunTime/Code/\350\207\252\345\256\232\344\271\211\347\261\273.cs"
index 265d273..9a1363e 100644
--- "a/S7/RunTime/Code/\350\207\252\345\256\232\344\271\211\347\261\273.cs"
+++ "b/S7/RunTime/Code/\350\207\252\345\256\232\344\271\211\347\261\273.cs"
@@ -38,6 +38,8 @@
         
         public static List<deviceInfo> deviceInfos { get; set; } = new List<deviceInfo>();
         public static string HKbaseUrl { get; set; }
+        public static string MESbaseUrl { get; set; }
+        public static string WMSbaseUrl { get; set; }
         public static readonly HttpHelper apiHelper = new HttpHelper();
         
         public static string GetTimeStamp(DateTime? time = null)
@@ -430,6 +432,9 @@
     if (sessionId != "") {
         request.Headers.Set("ASP.NET_SessionId", sessionId);
     }
+    
+            //Authorization: UApGP6WW9FsBUqAlzxRGOw ==
+            request.Headers.Set("Authorization", "UApGP6WW9FsBUqAlzxRGOw==");
     StreamReader reader = null;
     Stream stream = null;
     WebResponse rsp = null;
@@ -608,4 +613,182 @@
 	
 #endregion [鑷畾涔夌被][20250417094750211][Utils]
 }
+public class ToWMSMES
+{
+#region    [鑷畾涔夌被][20250531152402452][ToWMSMES]
+	//2 wms  mes 
+
+
+        public class CreateTask
+        {
+            public string taskType { get; set; }
+            public string startBit { get; set; }
+            public string endBit { get; set; }
+            public string reqCode { get; set; }
+            public string cntrCode { get; set; }
+
+            internal static ReturnMsg CreatemesTask(CreateTask model)
+            {
+                ITaskRepository taskservice = new TaskRepository();
+                var task = taskservice.FindEntity(x => x.S_TASK_NO == model.reqCode);
+                if (task == null)
+                {
+                    //var i = TaskProcess.CreateTask("", model.startBit, model.endBit, string.IsNullOrEmpty(model.taskType) ? "Mes涓嬪彂" : model.taskType, 5, new List<string> { model.cntrCode });
+                    TaskEntity wmsTask = new TaskEntity()
+                    {
+                        S_ID = Guid.NewGuid().ToString(),
+                        S_STATE = "缂栬緫",
+                        T_CREATE = DateTime.Now,
+                        T_MODIFY = DateTime.Now,
+
+                        S_TASK_NO = model.reqCode,
+                        S_START_LAREA = "",
+                        S_END_LAREA = "",
+                        S_DEPART_NAME = "",
+                        S_START_LOC = model.startBit,
+                        S_END_LOC = model.endBit,
+                        S_TYPE = model.reqCode,
+                        S_SRC_NO = "",//
+                        N_PRIORITY = -1,
+                        S_WORK_MODE = "agv",
+                        S_B_STATE = "MES",
+                        S_CNTRS = model.cntrCode,
+                        N_START_LAYER = 1,
+                        N_END_LAYER = 1,
+                        N_CNTR_COUNT = 1
+                    };
+                    ITaskRepository taskserice = new TaskRepository();
+                    var i = taskserice.Insert(wmsTask) > 0;
+                    return new ReturnMsg { resultCode = (i ? 0 : -1), resultMsg = i ? "" : "浠诲姟鐢熸垚澶辫触銆� };
+                }
+                else
+                {
+                    return new ReturnMsg { resultCode = -1, resultMsg = "浠诲姟閲嶅涓嬪彂銆� };
+                }
+            }
+        }
+        public class ReturnMsg
+        {
+            public int resultCode { get; set; }
+            public string resultMsg { get; set; }
+        }
+        
+        
+        public static void ResMesTask()
+        {
+            ///1.
+            TaskRepository taskservice = new TaskRepository();
+            var tasks = taskservice.FindList(x => x.S_B_STATE == "MES" && x.N_PRIORITY == -88);
+            var VERXs = Settings.deviceInfos?.FindAll(x => x.deviceName.Contains("鎹风灛鎶撹噦"));
+            if (VERXs.Any())
+                foreach (var task in tasks)
+                {
+                    var sx = VERXs?.Find(x => x.location.Contains(task.S_END_LOC));
+                    if (sx == null)
+                    {
+                        //鐩存帴鐢熸垚瀵瑰簲浠诲姟銆�+                        var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, task.S_END_LOC, task.S_TYPE, 6, task.S_CNTRS.Split(',').ToList());
+                        if (res)
+                        {
+                            //task.N_PRIORITY = 0;
+                            taskservice.dbcontext.Set<TaskEntity>().Attach(task);
+                            taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).CurrentValue = 0;
+                            taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).IsModified = true;
+                            taskservice.dbcontext.SaveChanges();
+                        }
+                    }
+                    else
+                    {
+                        LocRepository locRepository = new LocRepository();
+                        //鐢熸垚璺宠穬浠诲姟銆� -- 鎵樼洏璐т綅琛ㄣ� 
+                        var t1s = taskservice.FindList(x => x.S_SRC_NO == task.S_TASK_NO);
+                        if (t1s.Any())
+                        {
+                            var t1 = t1s.OrderBy(x => x.T_CREATE).LastOrDefault();
+                            if (t1.S_END_LOC == task.S_END_LOC)
+                            {
+                                task.N_PRIORITY = 0;
+                                task.S_B_STATE = "MES_瀹屾垚";
+                                taskservice.Update(task);
+                            }
+                            if (t1.S_B_STATE == "瀹屾垚")
+                            {
+                                //1.缁堢偣鏄惁鏈夋墭鐩樸� 渚濇嵁鏄粓鐐圭殑浠诲姟鏄�浣滀负缁堢偣锛岃繕鏄捣鐐广�
+                                var ec = taskservice.FindList(x => (x.S_START_LOC == task.S_START_LOC || x.S_END_LOC == task.S_END_LOC) /*&& DateTime.Now.Subtract(x.T_CREATE).TotalHours < 5*/).OrderByDescending(x => x.T_CREATE).FirstOrDefault();//($"select top 1 * from TN_TASK WHERE S_START_LOC='{task.S_END_LOC}' OR S_END_LOC='{task.S_END_LOC}' ORDER BY T_CREATE DESC");
+
+                                if (ec != null && ec.S_END_LOC == task.S_END_LOC)
+                                {
+                                    //涓婃鏄叆搴撲换鍔°� 鍒欏嚭搴撱� 鍚﹀垯杩涜浜屾銆�
+                                    LocEntity endLoc = null;
+                                    var di = sx;
+                                    if (di != null)
+                                    {
+                                        foreach (var ssloc in di.deviceNo)
+                                        {
+                                            var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc);
+                                            if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "鏃�)
+                                            {
+                                                endLoc = endloc;
+                                                break;
+                                            }
+                                        }
+                                        if (endLoc != null)
+                                        {
+                                            var res = TaskProcess.CreateTask("", task.S_END_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "涓嬬┖", 7, t1.S_CNTRS.Split(',').ToList());
+                                            if (res)
+                                            {
+                                                task.N_PRIORITY = 0; taskservice.Update(task);
+                                            }
+                                        }
+                                    }
+                                }
+                                else
+                                {
+                                    var res = TaskProcess.CreateTask(task.S_TASK_NO, t1.S_END_LOC, task.S_END_LOC, task.S_TYPE + "琛ユ弧", 6, task.S_CNTRS.Split(',').ToList());
+                                    if (res)
+                                    {
+                                        task.N_PRIORITY = 0; taskservice.Update(task);
+                                    }
+                                }
+                            }
+                        }
+                        else
+                        {
+                            //鐢熸垚绗竴娈点�
+                            LocEntity endLoc = null;
+                            var di = sx;
+                            if (di != null)
+                            {
+                                foreach (var ssloc in di.deviceNo)
+                                {
+                                    var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc);
+                                    if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == "鏃�)
+                                    {
+                                        endLoc = endloc;
+                                        break;
+                                    }
+                                }
+                                if (endLoc != null)
+                                {
+                                    var res = TaskProcess.CreateTask("", task.S_START_LOC, endLoc.S_LOC_CODE, task.S_TYPE + "婊¤浆", 8, task.S_CNTRS.Split(',').ToList());
+                                    if (res)
+                                    {
+                                        task.N_PRIORITY = 0; taskservice.Update(task);
+                                    }
+                                }
+                            }
+                        }
+
+                    }
+                }
+            //var VERX = Settings.deviceInfos?.FindAll(x => x.deviceName.Contains("鎹风灛鎶撹噦"));
+            //if ()
+            ///2  鐪嬬紦瀛樺尯銆�娌℃弧鐨勩�
+
+
+        }
+        
+        
+#endregion [鑷畾涔夌被][20250531152402452][ToWMSMES]
+}
 }
\ No newline at end of file
diff --git a/S7/S7.json b/S7/S7.json
index b711f97..f8148c1 100644
--- a/S7/S7.json
+++ b/S7/S7.json
@@ -2,12 +2,12 @@
   "Name": "S7",
   "Desc": "",
   "SN": "03d560ed-fd80-4d8a-a514-d992e07894b0",
-  "Directory": "C:\\Users\\Administrator\\Desktop\\S7",
+  "Directory": "G:\\1AGIT\\HH-0167_WuHuAoKeSi\\S7",
   "UpdateTime": "2025-02-26 15:31:01",
   "Version": "1.0.0.0",
-  "PlatformVersion": "1.0.4.1",
+  "PlatformVersion": "1.0.4.2",
   "DevelopVersion": "1.0.2.0",
   "Encode": "Ij/zvOgkqNT5SmHrFKCAVQ==",
   "CreationTime": "0001-01-01 00:00:00",
-  "LastWriteTime": "2025-04-18 10:45:51"
+  "LastWriteTime": "2025-05-31 16:38:12"
 }
\ No newline at end of file
diff --git a/S7/Scripts/Custom.json b/S7/Scripts/Custom.json
index e411d64..52bc184 100644
--- a/S7/Scripts/Custom.json
+++ b/S7/Scripts/Custom.json
@@ -36,8 +36,8 @@
       "Type": "ClassCode",
       "Level": "Item",
       "Statement": "public class Settings",
-      "EditCode": "\t\tpublic static bool FirstG {get;set;}=false;\r\n        public static string HostToAgvServerUrl { get; set; }\r\n        \r\n        public static List<deviceInfo> deviceInfos { get; set; } = new List<deviceInfo>();\r\n        public static string HKbaseUrl { get; set; }\r\n        public static readonly HttpHelper apiHelper = new HttpHelper();\r\n        \r\n        public static string GetTimeStamp(DateTime? time = null)\r\n\t\t{\r\n\t\t    TimeSpan ts = DateTime.UtcNow - (time ?? new DateTime(1970, 1, 1, 0, 0, 0, 0));\r\n\t\t    return Convert.ToInt64(ts.TotalMilliseconds).ToString();\r\n\t\t}",
-      "Code": "public class Settings\r\n{\t\tpublic static bool FirstG {get;set;}=false;\r\n        public static string HostToAgvServerUrl { get; set; }\r\n        \r\n        public static List<deviceInfo> deviceInfos { get; set; } = new List<deviceInfo>();\r\n        public static string HKbaseUrl { get; set; }\r\n        public static readonly HttpHelper apiHelper = new HttpHelper();\r\n        \r\n        public static string GetTimeStamp(DateTime? time = null)\r\n\t\t{\r\n\t\t    TimeSpan ts = DateTime.UtcNow - (time ?? new DateTime(1970, 1, 1, 0, 0, 0, 0));\r\n\t\t    return Convert.ToInt64(ts.TotalMilliseconds).ToString();\r\n\t\t}\r\n}",
+      "EditCode": "\t\tpublic static bool FirstG {get;set;}=false;\r\n        public static string HostToAgvServerUrl { get; set; }\r\n        \r\n        public static List<deviceInfo> deviceInfos { get; set; } = new List<deviceInfo>();\r\n        public static string HKbaseUrl { get; set; }\r\n        public static string MESbaseUrl { get; set; }\r\n        public static string WMSbaseUrl { get; set; }\r\n        public static readonly HttpHelper apiHelper = new HttpHelper();\r\n        \r\n        public static string GetTimeStamp(DateTime? time = null)\r\n\t\t{\r\n\t\t    TimeSpan ts = DateTime.UtcNow - (time ?? new DateTime(1970, 1, 1, 0, 0, 0, 0));\r\n\t\t    return Convert.ToInt64(ts.TotalMilliseconds).ToString();\r\n\t\t}",
+      "Code": "public class Settings\r\n{\t\tpublic static bool FirstG {get;set;}=false;\r\n        public static string HostToAgvServerUrl { get; set; }\r\n        \r\n        public static List<deviceInfo> deviceInfos { get; set; } = new List<deviceInfo>();\r\n        public static string HKbaseUrl { get; set; }\r\n        public static string MESbaseUrl { get; set; }\r\n        public static string WMSbaseUrl { get; set; }\r\n        public static readonly HttpHelper apiHelper = new HttpHelper();\r\n        \r\n        public static string GetTimeStamp(DateTime? time = null)\r\n\t\t{\r\n\t\t    TimeSpan ts = DateTime.UtcNow - (time ?? new DateTime(1970, 1, 1, 0, 0, 0, 0));\r\n\t\t    return Convert.ToInt64(ts.TotalMilliseconds).ToString();\r\n\t\t}\r\n}",
       "CusMethod": {
         "Name": "",
         "Params": [],
@@ -57,8 +57,8 @@
       "Type": "MethodCode",
       "Level": "Item",
       "Statement": "public void SettingInit()",
-      "EditCode": "try\r\n{\r\n    var jsonFile = System.AppDomain.CurrentDomain.BaseDirectory + \"/Static/config.json\";\r\n    using (System.IO.StreamReader file = System.IO.File.OpenText(jsonFile))\r\n    {\r\n        using (JsonTextReader reader = new JsonTextReader(file))\r\n        {\r\n            JObject o = (JObject)JToken.ReadFrom(reader);\r\n            foreach (Newtonsoft.Json.Linq.JProperty keyValue in o.Properties())\r\n            {\r\n                Console.WriteLine(keyValue.Name);\r\n                if (keyValue.Name == \"HostToAgvServerUrl\")\r\n                {\r\n                    Settings.HostToAgvServerUrl = keyValue.Value.ToString();\r\n                }\r\n                if (keyValue.Name == \"deviceInfo\") {\r\n                      Settings.deviceInfos = JsonConvert.DeserializeObject<List<deviceInfo>>(keyValue.Value.ToString());\r\n                }\r\n                if (keyValue.Name == \"HKbaseUrl\") {\r\n                      Settings.HKbaseUrl = keyValue.Value.ToString();\r\n                }\r\n            }\r\n        }\r\n    }\r\n    //if(!Settings.FirstG)\r\n    \t//LogHelper.Info(\"鍔犺浇閰嶇疆鏂囦欢淇℃伅 瀹屾垚\");\r\n}\r\ncatch (Exception ex)\r\n{\r\n    LogHelper.Error(\"鍔犺浇閰嶇疆鏂囦欢澶辫触锛乗" + ex.Message, ex);\r\n}",
-      "Code": "public void SettingInit()\r\n{try\r\n{\r\n    var jsonFile = System.AppDomain.CurrentDomain.BaseDirectory + \"/Static/config.json\";\r\n    using (System.IO.StreamReader file = System.IO.File.OpenText(jsonFile))\r\n    {\r\n        using (JsonTextReader reader = new JsonTextReader(file))\r\n        {\r\n            JObject o = (JObject)JToken.ReadFrom(reader);\r\n            foreach (Newtonsoft.Json.Linq.JProperty keyValue in o.Properties())\r\n            {\r\n                Console.WriteLine(keyValue.Name);\r\n                if (keyValue.Name == \"HostToAgvServerUrl\")\r\n                {\r\n                    Settings.HostToAgvServerUrl = keyValue.Value.ToString();\r\n                }\r\n                if (keyValue.Name == \"deviceInfo\") {\r\n                      Settings.deviceInfos = JsonConvert.DeserializeObject<List<deviceInfo>>(keyValue.Value.ToString());\r\n                }\r\n                if (keyValue.Name == \"HKbaseUrl\") {\r\n                      Settings.HKbaseUrl = keyValue.Value.ToString();\r\n                }\r\n            }\r\n        }\r\n    }\r\n    //if(!Settings.FirstG)\r\n    \t//LogHelper.Info(\"鍔犺浇閰嶇疆鏂囦欢淇℃伅 瀹屾垚\");\r\n}\r\ncatch (Exception ex)\r\n{\r\n    LogHelper.Error(\"鍔犺浇閰嶇疆鏂囦欢澶辫触锛乗" + ex.Message, ex);\r\n}\r\n}",
+      "EditCode": "try\r\n{\r\n    var jsonFile = System.AppDomain.CurrentDomain.BaseDirectory + \"/Static/config.json\";\r\n    using (System.IO.StreamReader file = System.IO.File.OpenText(jsonFile))\r\n    {\r\n        using (JsonTextReader reader = new JsonTextReader(file))\r\n        {\r\n            JObject o = (JObject)JToken.ReadFrom(reader);\r\n            foreach (Newtonsoft.Json.Linq.JProperty keyValue in o.Properties())\r\n            {\r\n                Console.WriteLine(keyValue.Name);\r\n                if (keyValue.Name == \"HostToAgvServerUrl\")\r\n                {\r\n                    Settings.HostToAgvServerUrl = keyValue.Value.ToString();\r\n                }\r\n                if (keyValue.Name == \"deviceInfo\") {\r\n                      Settings.deviceInfos = JsonConvert.DeserializeObject<List<deviceInfo>>(keyValue.Value.ToString());\r\n                }\r\n                if (keyValue.Name == \"HKbaseUrl\") {\r\n                      Settings.HKbaseUrl = keyValue.Value.ToString();\r\n                }\r\n                            if (keyValue.Name == \"MESbaseUrl\")\r\n                            {\r\n                                Settings.MESbaseUrl = keyValue.Value.ToString();\r\n                            }\r\n                            if (keyValue.Name == \"WMSbaseUrl\")\r\n                            {\r\n                                Settings.WMSbaseUrl = keyValue.Value.ToString();\r\n                            }\r\n            }\r\n        }\r\n    }\r\n    //if(!Settings.FirstG)\r\n    \t//LogHelper.Info(\"鍔犺浇閰嶇疆鏂囦欢淇℃伅 瀹屾垚\");\r\n}\r\ncatch (Exception ex)\r\n{\r\n    LogHelper.Error(\"鍔犺浇閰嶇疆鏂囦欢澶辫触锛乗" + ex.Message, ex);\r\n}",
+      "Code": "public void SettingInit()\r\n{try\r\n{\r\n    var jsonFile = System.AppDomain.CurrentDomain.BaseDirectory + \"/Static/config.json\";\r\n    using (System.IO.StreamReader file = System.IO.File.OpenText(jsonFile))\r\n    {\r\n        using (JsonTextReader reader = new JsonTextReader(file))\r\n        {\r\n            JObject o = (JObject)JToken.ReadFrom(reader);\r\n            foreach (Newtonsoft.Json.Linq.JProperty keyValue in o.Properties())\r\n            {\r\n                Console.WriteLine(keyValue.Name);\r\n                if (keyValue.Name == \"HostToAgvServerUrl\")\r\n                {\r\n                    Settings.HostToAgvServerUrl = keyValue.Value.ToString();\r\n                }\r\n                if (keyValue.Name == \"deviceInfo\") {\r\n                      Settings.deviceInfos = JsonConvert.DeserializeObject<List<deviceInfo>>(keyValue.Value.ToString());\r\n                }\r\n                if (keyValue.Name == \"HKbaseUrl\") {\r\n                      Settings.HKbaseUrl = keyValue.Value.ToString();\r\n                }\r\n                            if (keyValue.Name == \"MESbaseUrl\")\r\n                            {\r\n                                Settings.MESbaseUrl = keyValue.Value.ToString();\r\n                            }\r\n                            if (keyValue.Name == \"WMSbaseUrl\")\r\n                            {\r\n                                Settings.WMSbaseUrl = keyValue.Value.ToString();\r\n                            }\r\n            }\r\n        }\r\n    }\r\n    //if(!Settings.FirstG)\r\n    \t//LogHelper.Info(\"鍔犺浇閰嶇疆鏂囦欢淇℃伅 瀹屾垚\");\r\n}\r\ncatch (Exception ex)\r\n{\r\n    LogHelper.Error(\"鍔犺浇閰嶇疆鏂囦欢澶辫触锛乗" + ex.Message, ex);\r\n}\r\n}",
       "CusMethod": {
         "Name": "SettingInit",
         "Params": [],
@@ -412,8 +412,8 @@
       "Type": "ClassCode",
       "Level": "Item",
       "Statement": "public class HttpHelper",
-      "EditCode": "public string Post(string url, string postData, string contentType = \"application/json\", string sessionId = \"\") {\r\n    Console.WriteLine(url);\r\n    WebRequest request = WebRequest.Create(url);\r\n    request.Method = \"POST\";\r\n    byte[] byteArray = Encoding.UTF8.GetBytes(postData);\r\n    request.ContentType = contentType;\r\n    request.ContentLength = byteArray.Length;\r\n    request.Timeout = 3000;\r\n    if (sessionId != \"\") {\r\n        request.Headers.Set(\"ASP.NET_SessionId\", sessionId);\r\n    }\r\n    StreamReader reader = null;\r\n    Stream stream = null;\r\n    WebResponse rsp = null;\r\n    try {\r\n        stream = request.GetRequestStream();\r\n        stream.Write(byteArray, 0, byteArray.Length);\r\n        stream.Close();\r\n        rsp = request.GetResponse();\r\n        stream = rsp.GetResponseStream();\r\n        reader = new StreamReader(stream);\r\n        return reader.ReadToEnd();\r\n    }\r\n    catch (Exception ex) {\r\n        Console.WriteLine($\"{url} err={ex.Message}\");\r\n        return \"\";\r\n    }\r\n    finally {\r\n        // 閲婃斁璧勬簮\r\n        if (reader != null) reader.Close();\r\n        if (stream != null) stream.Close();\r\n        if (rsp != null) rsp.Close();\r\n    }\r\n\r\n}",
-      "Code": "public class HttpHelper\r\n{public string Post(string url, string postData, string contentType = \"application/json\", string sessionId = \"\") {\r\n    Console.WriteLine(url);\r\n    WebRequest request = WebRequest.Create(url);\r\n    request.Method = \"POST\";\r\n    byte[] byteArray = Encoding.UTF8.GetBytes(postData);\r\n    request.ContentType = contentType;\r\n    request.ContentLength = byteArray.Length;\r\n    request.Timeout = 3000;\r\n    if (sessionId != \"\") {\r\n        request.Headers.Set(\"ASP.NET_SessionId\", sessionId);\r\n    }\r\n    StreamReader reader = null;\r\n    Stream stream = null;\r\n    WebResponse rsp = null;\r\n    try {\r\n        stream = request.GetRequestStream();\r\n        stream.Write(byteArray, 0, byteArray.Length);\r\n        stream.Close();\r\n        rsp = request.GetResponse();\r\n        stream = rsp.GetResponseStream();\r\n        reader = new StreamReader(stream);\r\n        return reader.ReadToEnd();\r\n    }\r\n    catch (Exception ex) {\r\n        Console.WriteLine($\"{url} err={ex.Message}\");\r\n        return \"\";\r\n    }\r\n    finally {\r\n        // 閲婃斁璧勬簮\r\n        if (reader != null) reader.Close();\r\n        if (stream != null) stream.Close();\r\n        if (rsp != null) rsp.Close();\r\n    }\r\n\r\n}\r\n}",
+      "EditCode": "public string Post(string url, string postData, string contentType = \"application/json\", string sessionId = \"\") {\r\n    Console.WriteLine(url);\r\n    WebRequest request = WebRequest.Create(url);\r\n    request.Method = \"POST\";\r\n    byte[] byteArray = Encoding.UTF8.GetBytes(postData);\r\n    request.ContentType = contentType;\r\n    request.ContentLength = byteArray.Length;\r\n    request.Timeout = 3000;\r\n    if (sessionId != \"\") {\r\n        request.Headers.Set(\"ASP.NET_SessionId\", sessionId);\r\n    }\r\n    \r\n            //Authorization: UApGP6WW9FsBUqAlzxRGOw ==\r\n            request.Headers.Set(\"Authorization\", \"UApGP6WW9FsBUqAlzxRGOw==\");\r\n    StreamReader reader = null;\r\n    Stream stream = null;\r\n    WebResponse rsp = null;\r\n    try {\r\n        stream = request.GetRequestStream();\r\n        stream.Write(byteArray, 0, byteArray.Length);\r\n        stream.Close();\r\n        rsp = request.GetResponse();\r\n        stream = rsp.GetResponseStream();\r\n        reader = new StreamReader(stream);\r\n        return reader.ReadToEnd();\r\n    }\r\n    catch (Exception ex) {\r\n        Console.WriteLine($\"{url} err={ex.Message}\");\r\n        return \"\";\r\n    }\r\n    finally {\r\n        // 閲婃斁璧勬簮\r\n        if (reader != null) reader.Close();\r\n        if (stream != null) stream.Close();\r\n        if (rsp != null) rsp.Close();\r\n    }\r\n\r\n}",
+      "Code": "public class HttpHelper\r\n{public string Post(string url, string postData, string contentType = \"application/json\", string sessionId = \"\") {\r\n    Console.WriteLine(url);\r\n    WebRequest request = WebRequest.Create(url);\r\n    request.Method = \"POST\";\r\n    byte[] byteArray = Encoding.UTF8.GetBytes(postData);\r\n    request.ContentType = contentType;\r\n    request.ContentLength = byteArray.Length;\r\n    request.Timeout = 3000;\r\n    if (sessionId != \"\") {\r\n        request.Headers.Set(\"ASP.NET_SessionId\", sessionId);\r\n    }\r\n    \r\n            //Authorization: UApGP6WW9FsBUqAlzxRGOw ==\r\n            request.Headers.Set(\"Authorization\", \"UApGP6WW9FsBUqAlzxRGOw==\");\r\n    StreamReader reader = null;\r\n    Stream stream = null;\r\n    WebResponse rsp = null;\r\n    try {\r\n        stream = request.GetRequestStream();\r\n        stream.Write(byteArray, 0, byteArray.Length);\r\n        stream.Close();\r\n        rsp = request.GetResponse();\r\n        stream = rsp.GetResponseStream();\r\n        reader = new StreamReader(stream);\r\n        return reader.ReadToEnd();\r\n    }\r\n    catch (Exception ex) {\r\n        Console.WriteLine($\"{url} err={ex.Message}\");\r\n        return \"\";\r\n    }\r\n    finally {\r\n        // 閲婃斁璧勬簮\r\n        if (reader != null) reader.Close();\r\n        if (stream != null) stream.Close();\r\n        if (rsp != null) rsp.Close();\r\n    }\r\n\r\n}\r\n}",
       "CusMethod": {
         "Name": "",
         "Params": [],
@@ -626,9 +626,30 @@
         "InheritClass": "",
         "Inherits": []
       }
+    },
+    {
+      "ID": "20250531152402452",
+      "Name": "ToWMSMES",
+      "Desc": "",
+      "ParentID": "",
+      "Type": "ClassCode",
+      "Level": "Item",
+      "Statement": "public class ToWMSMES",
+      "EditCode": "//2 wms  mes \r\n\r\n\r\n        public class CreateTask\r\n        {\r\n            public string taskType { get; set; }\r\n            public string startBit { get; set; }\r\n            public string endBit { get; set; }\r\n            public string reqCode { get; set; }\r\n            public string cntrCode { get; set; }\r\n\r\n            internal static ReturnMsg CreatemesTask(CreateTask model)\r\n            {\r\n                ITaskRepository taskservice = new TaskRepository();\r\n                var task = taskservice.FindEntity(x => x.S_TASK_NO == model.reqCode);\r\n                if (task == null)\r\n                {\r\n                    //var i = TaskProcess.CreateTask(\"\", model.startBit, model.endBit, string.IsNullOrEmpty(model.taskType) ? \"Mes涓嬪彂\" : model.taskType, 5, new List<string> { model.cntrCode });\r\n                    TaskEntity wmsTask = new TaskEntity()\r\n                    {\r\n                        S_ID = Guid.NewGuid().ToString(),\r\n                        S_STATE = \"缂栬緫\",\r\n                        T_CREATE = DateTime.Now,\r\n                        T_MODIFY = DateTime.Now,\r\n\r\n                        S_TASK_NO = model.reqCode,\r\n                        S_START_LAREA = \"\",\r\n                        S_END_LAREA = \"\",\r\n                        S_DEPART_NAME = \"\",\r\n                        S_START_LOC = model.startBit,\r\n                        S_END_LOC = model.endBit,\r\n                        S_TYPE = model.reqCode,\r\n                        S_SRC_NO = \"\",//\r\n                        N_PRIORITY = -1,\r\n                        S_WORK_MODE = \"agv\",\r\n                        S_B_STATE = \"MES\",\r\n                        S_CNTRS = model.cntrCode,\r\n                        N_START_LAYER = 1,\r\n                        N_END_LAYER = 1,\r\n                        N_CNTR_COUNT = 1\r\n                    };\r\n                    ITaskRepository taskserice = new TaskRepository();\r\n                    var i = taskserice.Insert(wmsTask) > 0;\r\n                    return new ReturnMsg { resultCode = (i ? 0 : -1), resultMsg = i ? \"\" : \"浠诲姟鐢熸垚澶辫触銆俓" };\r\n                }\r\n                else\r\n                {\r\n                    return new ReturnMsg { resultCode = -1, resultMsg = \"浠诲姟閲嶅涓嬪彂銆俓" };\r\n                }\r\n            }\r\n        }\r\n        public class ReturnMsg\r\n        {\r\n            public int resultCode { get; set; }\r\n            public string resultMsg { get; set; }\r\n        }\r\n        \r\n        \r\n        public static void ResMesTask()\r\n        {\r\n            ///1.\r\n            TaskRepository taskservice = new TaskRepository();\r\n            var tasks = taskservice.FindList(x => x.S_B_STATE == \"MES\" && x.N_PRIORITY == -88);\r\n            var VERXs = Settings.deviceInfos?.FindAll(x => x.deviceName.Contains(\"鎹风灛鎶撹噦\"));\r\n            if (VERXs.Any())\r\n                foreach (var task in tasks)\r\n                {\r\n                    var sx = VERXs?.Find(x => x.location.Contains(task.S_END_LOC));\r\n                    if (sx == null)\r\n                    {\r\n                        //鐩存帴鐢熸垚瀵瑰簲浠诲姟銆俓r\n                        var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, task.S_END_LOC, task.S_TYPE, 6, task.S_CNTRS.Split(',').ToList());\r\n                        if (res)\r\n                        {\r\n                            //task.N_PRIORITY = 0;\r\n                            taskservice.dbcontext.Set<TaskEntity>().Attach(task);\r\n                            taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).CurrentValue = 0;\r\n                            taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).IsModified = true;\r\n                            taskservice.dbcontext.SaveChanges();\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        LocRepository locRepository = new LocRepository();\r\n                        //鐢熸垚璺宠穬浠诲姟銆� -- 鎵樼洏璐т綅琛ㄣ� \r\n                        var t1s = taskservice.FindList(x => x.S_SRC_NO == task.S_TASK_NO);\r\n                        if (t1s.Any())\r\n                        {\r\n                            var t1 = t1s.OrderBy(x => x.T_CREATE).LastOrDefault();\r\n                            if (t1.S_END_LOC == task.S_END_LOC)\r\n                            {\r\n                                task.N_PRIORITY = 0;\r\n                                task.S_B_STATE = \"MES_瀹屾垚\";\r\n                                taskservice.Update(task);\r\n                            }\r\n                            if (t1.S_B_STATE == \"瀹屾垚\")\r\n                            {\r\n                                //1.缁堢偣鏄惁鏈夋墭鐩樸� 渚濇嵁鏄粓鐐圭殑浠诲姟鏄�浣滀负缁堢偣锛岃繕鏄捣鐐广�\r\n                                var ec = taskservice.FindList(x => (x.S_START_LOC == task.S_START_LOC || x.S_END_LOC == task.S_END_LOC) /*&& DateTime.Now.Subtract(x.T_CREATE).TotalHours < 5*/).OrderByDescending(x => x.T_CREATE).FirstOrDefault();//($\"select top 1 * from TN_TASK WHERE S_START_LOC='{task.S_END_LOC}' OR S_END_LOC='{task.S_END_LOC}' ORDER BY T_CREATE DESC\");\r\n\r\n                                if (ec != null && ec.S_END_LOC == task.S_END_LOC)\r\n                                {\r\n                                    //涓婃鏄叆搴撲换鍔°� 鍒欏嚭搴撱� 鍚﹀垯杩涜浜屾銆�\r\n                                    LocEntity endLoc = null;\r\n                                    var di = sx;\r\n                                    if (di != null)\r\n                                    {\r\n                                        foreach (var ssloc in di.deviceNo)\r\n                                        {\r\n                                            var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc);\r\n                                            if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == \"鏃燶")\r\n                                            {\r\n                                                endLoc = endloc;\r\n                                                break;\r\n                                            }\r\n                                        }\r\n                                        if (endLoc != null)\r\n                                        {\r\n                                            var res = TaskProcess.CreateTask(\"\", task.S_END_LOC, endLoc.S_LOC_CODE, task.S_TYPE + \"涓嬬┖\", 7, t1.S_CNTRS.Split(',').ToList());\r\n                                            if (res)\r\n                                            {\r\n                                                task.N_PRIORITY = 0; taskservice.Update(task);\r\n                                            }\r\n                                        }\r\n                                    }\r\n                                }\r\n                                else\r\n                                {\r\n                                    var res = TaskProcess.CreateTask(task.S_TASK_NO, t1.S_END_LOC, task.S_END_LOC, task.S_TYPE + \"琛ユ弧\", 6, task.S_CNTRS.Split(',').ToList());\r\n                                    if (res)\r\n                                    {\r\n                                        task.N_PRIORITY = 0; taskservice.Update(task);\r\n                                    }\r\n                                }\r\n                            }\r\n                        }\r\n                        else\r\n                        {\r\n                            //鐢熸垚绗竴娈点�\r\n                            LocEntity endLoc = null;\r\n                            var di = sx;\r\n                            if (di != null)\r\n                            {\r\n                                foreach (var ssloc in di.deviceNo)\r\n                                {\r\n                                    var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc);\r\n                                    if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == \"鏃燶")\r\n                                    {\r\n                                        endLoc = endloc;\r\n                                        break;\r\n                                    }\r\n                                }\r\n                                if (endLoc != null)\r\n                                {\r\n                                    var res = TaskProcess.CreateTask(\"\", task.S_START_LOC, endLoc.S_LOC_CODE, task.S_TYPE + \"婊¤浆\", 8, task.S_CNTRS.Split(',').ToList());\r\n                                    if (res)\r\n                                    {\r\n                                        task.N_PRIORITY = 0; taskservice.Update(task);\r\n                                    }\r\n                                }\r\n                            }\r\n                        }\r\n\r\n                    }\r\n                }\r\n            //var VERX = Settings.deviceInfos?.FindAll(x => x.deviceName.Contains(\"鎹风灛鎶撹噦\"));\r\n            //if ()\r\n            ///2  鐪嬬紦瀛樺尯銆�娌℃弧鐨勩�\r\n\r\n\r\n        }\r\n        \r\n        ",
+      "Code": "public class ToWMSMES\r\n{//2 wms  mes \r\n\r\n\r\n        public class CreateTask\r\n        {\r\n            public string taskType { get; set; }\r\n            public string startBit { get; set; }\r\n            public string endBit { get; set; }\r\n            public string reqCode { get; set; }\r\n            public string cntrCode { get; set; }\r\n\r\n            internal static ReturnMsg CreatemesTask(CreateTask model)\r\n            {\r\n                ITaskRepository taskservice = new TaskRepository();\r\n                var task = taskservice.FindEntity(x => x.S_TASK_NO == model.reqCode);\r\n                if (task == null)\r\n                {\r\n                    //var i = TaskProcess.CreateTask(\"\", model.startBit, model.endBit, string.IsNullOrEmpty(model.taskType) ? \"Mes涓嬪彂\" : model.taskType, 5, new List<string> { model.cntrCode });\r\n                    TaskEntity wmsTask = new TaskEntity()\r\n                    {\r\n                        S_ID = Guid.NewGuid().ToString(),\r\n                        S_STATE = \"缂栬緫\",\r\n                        T_CREATE = DateTime.Now,\r\n                        T_MODIFY = DateTime.Now,\r\n\r\n                        S_TASK_NO = model.reqCode,\r\n                        S_START_LAREA = \"\",\r\n                        S_END_LAREA = \"\",\r\n                        S_DEPART_NAME = \"\",\r\n                        S_START_LOC = model.startBit,\r\n                        S_END_LOC = model.endBit,\r\n                        S_TYPE = model.reqCode,\r\n                        S_SRC_NO = \"\",//\r\n                        N_PRIORITY = -1,\r\n                        S_WORK_MODE = \"agv\",\r\n                        S_B_STATE = \"MES\",\r\n                        S_CNTRS = model.cntrCode,\r\n                        N_START_LAYER = 1,\r\n                        N_END_LAYER = 1,\r\n                        N_CNTR_COUNT = 1\r\n                    };\r\n                    ITaskRepository taskserice = new TaskRepository();\r\n                    var i = taskserice.Insert(wmsTask) > 0;\r\n                    return new ReturnMsg { resultCode = (i ? 0 : -1), resultMsg = i ? \"\" : \"浠诲姟鐢熸垚澶辫触銆俓" };\r\n                }\r\n                else\r\n                {\r\n                    return new ReturnMsg { resultCode = -1, resultMsg = \"浠诲姟閲嶅涓嬪彂銆俓" };\r\n                }\r\n            }\r\n        }\r\n        public class ReturnMsg\r\n        {\r\n            public int resultCode { get; set; }\r\n            public string resultMsg { get; set; }\r\n        }\r\n        \r\n        \r\n        public static void ResMesTask()\r\n        {\r\n            ///1.\r\n            TaskRepository taskservice = new TaskRepository();\r\n            var tasks = taskservice.FindList(x => x.S_B_STATE == \"MES\" && x.N_PRIORITY == -88);\r\n            var VERXs = Settings.deviceInfos?.FindAll(x => x.deviceName.Contains(\"鎹风灛鎶撹噦\"));\r\n            if (VERXs.Any())\r\n                foreach (var task in tasks)\r\n                {\r\n                    var sx = VERXs?.Find(x => x.location.Contains(task.S_END_LOC));\r\n                    if (sx == null)\r\n                    {\r\n                        //鐩存帴鐢熸垚瀵瑰簲浠诲姟銆俓r\n                        var res = TaskProcess.CreateTask(task.S_TASK_NO, task.S_START_LOC, task.S_END_LOC, task.S_TYPE, 6, task.S_CNTRS.Split(',').ToList());\r\n                        if (res)\r\n                        {\r\n                            //task.N_PRIORITY = 0;\r\n                            taskservice.dbcontext.Set<TaskEntity>().Attach(task);\r\n                            taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).CurrentValue = 0;\r\n                            taskservice.dbcontext.Entry(task).Property(x => x.N_PRIORITY).IsModified = true;\r\n                            taskservice.dbcontext.SaveChanges();\r\n                        }\r\n                    }\r\n                    else\r\n                    {\r\n                        LocRepository locRepository = new LocRepository();\r\n                        //鐢熸垚璺宠穬浠诲姟銆� -- 鎵樼洏璐т綅琛ㄣ� \r\n                        var t1s = taskservice.FindList(x => x.S_SRC_NO == task.S_TASK_NO);\r\n                        if (t1s.Any())\r\n                        {\r\n                            var t1 = t1s.OrderBy(x => x.T_CREATE).LastOrDefault();\r\n                            if (t1.S_END_LOC == task.S_END_LOC)\r\n                            {\r\n                                task.N_PRIORITY = 0;\r\n                                task.S_B_STATE = \"MES_瀹屾垚\";\r\n                                taskservice.Update(task);\r\n                            }\r\n                            if (t1.S_B_STATE == \"瀹屾垚\")\r\n                            {\r\n                                //1.缁堢偣鏄惁鏈夋墭鐩樸� 渚濇嵁鏄粓鐐圭殑浠诲姟鏄�浣滀负缁堢偣锛岃繕鏄捣鐐广�\r\n                                var ec = taskservice.FindList(x => (x.S_START_LOC == task.S_START_LOC || x.S_END_LOC == task.S_END_LOC) /*&& DateTime.Now.Subtract(x.T_CREATE).TotalHours < 5*/).OrderByDescending(x => x.T_CREATE).FirstOrDefault();//($\"select top 1 * from TN_TASK WHERE S_START_LOC='{task.S_END_LOC}' OR S_END_LOC='{task.S_END_LOC}' ORDER BY T_CREATE DESC\");\r\n\r\n                                if (ec != null && ec.S_END_LOC == task.S_END_LOC)\r\n                                {\r\n                                    //涓婃鏄叆搴撲换鍔°� 鍒欏嚭搴撱� 鍚﹀垯杩涜浜屾銆�\r\n                                    LocEntity endLoc = null;\r\n                                    var di = sx;\r\n                                    if (di != null)\r\n                                    {\r\n                                        foreach (var ssloc in di.deviceNo)\r\n                                        {\r\n                                            var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc);\r\n                                            if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == \"鏃燶")\r\n                                            {\r\n                                                endLoc = endloc;\r\n                                                break;\r\n                                            }\r\n                                        }\r\n                                        if (endLoc != null)\r\n                                        {\r\n                                            var res = TaskProcess.CreateTask(\"\", task.S_END_LOC, endLoc.S_LOC_CODE, task.S_TYPE + \"涓嬬┖\", 7, t1.S_CNTRS.Split(',').ToList());\r\n                                            if (res)\r\n                                            {\r\n                                                task.N_PRIORITY = 0; taskservice.Update(task);\r\n                                            }\r\n                                        }\r\n                                    }\r\n                                }\r\n                                else\r\n                                {\r\n                                    var res = TaskProcess.CreateTask(task.S_TASK_NO, t1.S_END_LOC, task.S_END_LOC, task.S_TYPE + \"琛ユ弧\", 6, task.S_CNTRS.Split(',').ToList());\r\n                                    if (res)\r\n                                    {\r\n                                        task.N_PRIORITY = 0; taskservice.Update(task);\r\n                                    }\r\n                                }\r\n                            }\r\n                        }\r\n                        else\r\n                        {\r\n                            //鐢熸垚绗竴娈点�\r\n                            LocEntity endLoc = null;\r\n                            var di = sx;\r\n                            if (di != null)\r\n                            {\r\n                                foreach (var ssloc in di.deviceNo)\r\n                                {\r\n                                    var endloc = locRepository.FindEntity(x => x.S_LOC_CODE == ssloc);\r\n                                    if (endloc != null && endloc.N_CURRENT_NUM == 0 && endloc.S_LOCK_STATE == \"鏃燶")\r\n                                    {\r\n                                        endLoc = endloc;\r\n                                        break;\r\n                                    }\r\n                                }\r\n                                if (endLoc != null)\r\n                                {\r\n                                    var res = TaskProcess.CreateTask(\"\", task.S_START_LOC, endLoc.S_LOC_CODE, task.S_TYPE + \"婊¤浆\", 8, task.S_CNTRS.Split(',').ToList());\r\n                                    if (res)\r\n                                    {\r\n                                        task.N_PRIORITY = 0; taskservice.Update(task);\r\n                                    }\r\n                                }\r\n                            }\r\n                        }\r\n\r\n                    }\r\n                }\r\n            //var VERX = Settings.deviceInfos?.FindAll(x => x.deviceName.Contains(\"鎹风灛鎶撹噦\"));\r\n            //if ()\r\n            ///2  鐪嬬紦瀛樺尯銆�娌℃弧鐨勩�\r\n\r\n\r\n        }\r\n        \r\n        \r\n}",
+      "CusMethod": {
+        "Name": "",
+        "Params": [],
+        "ReturnType": ""
+      },
+      "CusClass": {
+        "Name": "ToWMSMES",
+        "InheritClass": "",
+        "Inherits": []
+      }
     }
   ],
   "CreationTime": "2025-02-26 15:31:23",
-  "LastWriteTime": "2025-04-18 10:41:31",
+  "LastWriteTime": "2025-05-31 17:56:35",
   "HasSaved": true
 }
\ No newline at end of file
diff --git a/S7/Scripts/Script.json b/S7/Scripts/Script.json
index 1e2e745..5585981 100644
--- a/S7/Scripts/Script.json
+++ b/S7/Scripts/Script.json
@@ -966,6 +966,81 @@
           "FullName": "涓氬姟閫昏緫.浠诲姟涓嬪彂",
           "ParentFullName": "涓氬姟閫昏緫",
           "Enabled": "Enabled"
+        },
+        {
+          "ID": "20250531163653189",
+          "Name": "澶勭悊绾跨▼",
+          "Desc": "",
+          "Content": "",
+          "ContentCopy": "",
+          "ParentID": "20250226153120175",
+          "Children": [
+            {
+              "ID": "20250531163716255",
+              "Name": "ResolveMesTask",
+              "Desc": "",
+              "Content": "",
+              "ContentCopy": "",
+              "ParentID": "20250531163653189",
+              "Children": [],
+              "Type": "Program",
+              "Property": {
+                "SyncExec": "False",
+                "RepeatExec": "Until",
+                "ExceCount": 1,
+                "ExceInternal": 3000,
+                "StartCondition": {
+                  "Type": "View",
+                  "Event": "",
+                  "Expression": "",
+                  "Judge": "",
+                  "Command": {},
+                  "HmiEvent": {
+                    "20250306140515428": [
+                      "Open"
+                    ]
+                  }
+                },
+                "EndCondition": {
+                  "Type": "None",
+                  "Event": "",
+                  "Expression": "",
+                  "Judge": "",
+                  "Command": {},
+                  "HmiEvent": {}
+                }
+              },
+              "FullName": "涓氬姟閫昏緫.澶勭悊绾跨▼.ResolveMesTask",
+              "ParentFullName": "涓氬姟閫昏緫.澶勭悊绾跨▼",
+              "Enabled": "Enabled"
+            }
+          ],
+          "Type": "Group",
+          "Property": {
+            "SyncExec": "False",
+            "RepeatExec": "None",
+            "ExceCount": 1,
+            "ExceInternal": 3000,
+            "StartCondition": {
+              "Type": "None",
+              "Event": "",
+              "Expression": "",
+              "Judge": "",
+              "Command": {},
+              "HmiEvent": {}
+            },
+            "EndCondition": {
+              "Type": "None",
+              "Event": "",
+              "Expression": "",
+              "Judge": "",
+              "Command": {},
+              "HmiEvent": {}
+            }
+          },
+          "FullName": "涓氬姟閫昏緫.澶勭悊绾跨▼",
+          "ParentFullName": "涓氬姟閫昏緫",
+          "Enabled": "Enabled"
         }
       ],
       "Type": "Group",
@@ -1032,6 +1107,6 @@
     }
   ],
   "CreationTime": "2025-02-26 15:31:20",
-  "LastWriteTime": "2025-04-17 09:48:04",
+  "LastWriteTime": "2025-05-31 16:38:12",
   "HasSaved": true
 }
\ No newline at end of file
diff --git a/S7/Static/config.json b/S7/Static/config.json
index a41a6d8..4b5077b 100644
--- a/S7/Static/config.json
+++ b/S7/Static/config.json
@@ -1,54 +1,56 @@
 {
-    "HostToAgvServerUrl": "vvvvvvvvvvvv",
-    "HKbaseUrl": "http://10.221.55.249:8181/",
-    "deviceInfo": [
-      {
-        "address": "0",
-        "deviceName": "缁村笇灏旀姄鑷�",
-        "deviceNo": [],
-        "location": [ "VXR1L", "VXR1R" ],
-        "deviceType": 1,
-        "enable": 1
-      },
-        {
-            "address": "0",
-            "deviceName": "缁村笇灏旀姄鑷�",
-            "deviceNo": [],
-            "location": [ "韪㈣涪韪� ],
-            "deviceType": 1,
-            "enable": 1
-        },
-        {
-            "address": "0",
-            "deviceName": "鎹风灛杈撻�1",
-            "deviceNo": [],
-            "location": [ "韪㈣涪韪� ],
-            "deviceType": 3,
-            "enable": 1
-        },
-        {
-            "address": "0",
-            "deviceName": "鎹风灛杈撻�2",
-            "deviceNo": [],
-            "location": [ "韪㈣涪韪� ],
-            "deviceType": 3,
-            "enable": 1
-        },
-        {
-            "address": "0",
-            "deviceName": "鎹风灛鎶撹噦1",
-            "deviceNo": [],
-            "location": [ "韪㈣涪韪� ],
-            "deviceType": 2,
-            "enable": 1
-        },
-        {
-            "address": "0",
-            "deviceName": "鎹风灛鎶撹噦2",
-            "deviceNo": [],
-            "location": [ "韪㈣涪韪� ],
-            "deviceType": 2,
-            "enable": 1
-        }
-    ]
+  "HostToAgvServerUrl": "vvvvvvvvvvvv",
+  "HKbaseUrl": "http://10.221.55.249:8181/",
+  "MESbaseUrl": "http://10.80.2.45:32630/",
+  "WMESbaseUrl": "http://10.80.2.45:32630/",
+  "deviceInfo": [
+    {
+      "address": "0",
+      "deviceName": "缁村笇灏旀姄鑷�",
+      "deviceNo": [],
+      "location": [ "VXR1L", "VXR1R" ],
+      "deviceType": 1,
+      "enable": 1
+    },
+    {
+      "address": "0",
+      "deviceName": "缁村笇灏旀姄鑷�",
+      "deviceNo": [],
+      "location": [ "韪㈣涪韪� ],
+      "deviceType": 1,
+      "enable": 1
+    },
+    {
+      "address": "0",
+      "deviceName": "鎹风灛杈撻�1",
+      "deviceNo": [],
+      "location": [ "韪㈣涪韪� ],
+      "deviceType": 3,
+      "enable": 1
+    },
+    {
+      "address": "0",
+      "deviceName": "鎹风灛杈撻�2",
+      "deviceNo": [],
+      "location": [ "韪㈣涪韪� ],
+      "deviceType": 3,
+      "enable": 1
+    },
+    {
+      "address": "0",
+      "deviceName": "鎹风灛鎶撹噦1",
+      "deviceNo": [],
+      "location": [ "韪㈣涪韪� ],
+      "deviceType": 2,
+      "enable": 1
+    },
+    {
+      "address": "0",
+      "deviceName": "鎹风灛鎶撹噦2",
+      "deviceNo": [],
+      "location": [ "韪㈣涪韪� ],
+      "deviceType": 2,
+      "enable": 1
+    }
+  ]
 }
\ No newline at end of file

--
Gitblit v1.9.1