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 ++++++++++++++++++++++++++++-------
 1 files changed, 28 insertions(+), 7 deletions(-)

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

--
Gitblit v1.9.1