From c6f52253a482e866640dd075fd3dcbb56687f4f2 Mon Sep 17 00:00:00 2001 From: czw <selecti@yeah.net> Date: 星期六, 31 五月 2025 12:38:17 +0800 Subject: [PATCH] New --- S7/Dlls/GZ.DB.Map.OIDATABASE.dll | 0 S7/NDP461-KB3102436-x86-x64-AllOS-ENU.exe | 0 S7/Scripts/Custom.json | 39 + S7/Net/Conn.json | 14 S7/Devices/PlcConfig | 424 ++++++++++++++++++++--- .gitignore | 2 S7/RunTime/Code/变量数据库.cs | 144 ++++++++ S7/Robot_S7_WCS.pdf | 0 S7/Scripts/Script.json | 28 S7/RunTime/Code/自定义类.cs | 29 + S7/S7.json | 4 S7/MX Component 4.16S.zip | 0 S7/Static/config.json | 2 S7/Dlls/GZ.DB.Repository.OIDATABASE.dll | 0 S7/Dlls/GZ.DB.Entity.OIDATABASE.dll | 0 S7/Devices/设备通信.json | 2 S7/Variable/变量数据库.json | 319 +++++++++++++---- S7/Dlls/GZ.DB.IRepository.OIDATABASE.dll | 0 S7/ndp461-devpack-kb3105179-enu.exe | 0 S7/RunTime/Code/设备通信.cs | 34 + S7/Dlls/GZ.DB.App.OIDATABASE.dll | 0 21 files changed, 871 insertions(+), 170 deletions(-) diff --git a/.gitignore b/.gitignore index 23ea317..f6cdeea 100644 --- a/.gitignore +++ b/.gitignore @@ -185,3 +185,5 @@ # Microsoft Fakes FakesAssemblies/ /S7/History +/S7/MX Component 4.16S +/S7/redis-desktop-manager-2019.5.20.0.exe diff --git a/S7/Devices/PlcConfig b/S7/Devices/PlcConfig index 88dba4d..56b7903 100644 --- a/S7/Devices/PlcConfig +++ b/S7/Devices/PlcConfig @@ -1651,7 +1651,7 @@ "Brand": "Siemens", "Model": "S7_1500", "Comm": "S7Net", - "IP": "10.221.55.110[0,1][v1.0]", + "IP": "10.221.55.110:102[0,1][v1.0]", "RedisQueueName": "缁村笇灏旀姄鑷�Queue", "IsSimulate": false, "Reserve1": "", @@ -2059,7 +2059,7 @@ "Brand": "Siemens", "Model": "S7_1500", "Comm": "S7Net", - "IP": "10.221.55.120[0,1][v1.0]", + "IP": "10.221.55.120:102[0,1][v1.0]", "RedisQueueName": "缁村笇灏旀姄鑷�Queue", "IsSimulate": false, "Reserve1": "", @@ -2079,7 +2079,7 @@ "Address": "M0", "AddrType": "", "Length": 1, - "Desc": "宸︿晶鍏夋爡杩涘叆鐢宠", + "Desc": "宸︿晶灞忚斀鍏夋爡", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2096,7 +2096,7 @@ "Address": "M1", "AddrType": "", "Length": 1, - "Desc": "鍙充晶鍏夋爡杩涘叆鐢宠", + "Desc": "鍙充晶灞忚斀鍏夋爡", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2113,7 +2113,7 @@ "Address": "M2", "AddrType": "", "Length": 1, - "Desc": "agv 鍒拌揪宸﹁竟鏂欏彴", + "Desc": "宸︿晶寮�惎鍏夋爡", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2130,7 +2130,7 @@ "Address": "M3", "AddrType": "", "Length": 1, - "Desc": "agv 鍒拌揪鍙宠竟鏂欏彴", + "Desc": "鍙充晶寮�惎鍏夋爡", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2147,7 +2147,7 @@ "Address": "M4", "AddrType": "", "Length": 1, - "Desc": "AGV宸﹁竟鎵樼洏宸叉斁濂�, + "Desc": "宸︿晶鎵樼洏鍒颁綅", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2164,7 +2164,7 @@ "Address": "M5", "AddrType": "", "Length": 1, - "Desc": "AGV鍙宠竟鎵樼洏宸叉斁濂�, + "Desc": "鍙充晶鎵樼洏鍒颁綅", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2181,7 +2181,7 @@ "Address": "M6", "AddrType": "", "Length": 1, - "Desc": "AGV宸茬寮�乏杈规枡鍙�, + "Desc": "agv 涓诲姩鎶ヨ", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2198,7 +2198,7 @@ "Address": "M7", "AddrType": "", "Length": 1, - "Desc": "AGV宸茬寮�彸杈规枡鍙�, + "Desc": "", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2215,7 +2215,7 @@ "Address": "M32", "AddrType": "", "Length": 1, - "Desc": "M0鍏佽", + "Desc": "宸︿晶鍏夋爡鐘舵�", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2232,7 +2232,7 @@ "Address": "M33", "AddrType": "", "Length": 1, - "Desc": "M1", + "Desc": "鍙充晶鍏夋爡鐘舵�", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2249,7 +2249,7 @@ "Address": "M34", "AddrType": "", "Length": 1, - "Desc": "M2", + "Desc": "宸︿晶鍏佽鍙栫┖", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2266,7 +2266,7 @@ "Address": "M35", "AddrType": "", "Length": 1, - "Desc": "M3", + "Desc": "鍙充晶鍏佽鍙栫┖", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2283,7 +2283,7 @@ "Address": "M36", "AddrType": "", "Length": 1, - "Desc": "M4", + "Desc": "鏈哄櫒浜烘殏鍋滅姸鎬�, "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2300,7 +2300,7 @@ "Address": "M37", "AddrType": "", "Length": 1, - "Desc": "M5", + "Desc": "", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2317,7 +2317,7 @@ "Address": "M38", "AddrType": "", "Length": 1, - "Desc": "M6", + "Desc": "", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2334,7 +2334,7 @@ "Address": "M39", "AddrType": "", "Length": 1, - "Desc": "M7", + "Desc": "", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2351,7 +2351,7 @@ "Address": "M40", "AddrType": "", "Length": 1, - "Desc": "宸﹁竟鎵樼洏鎷嗗灈瀹屾垚锛屽厑璁窤GV宸﹁竟鍙栨墭鐩�, + "Desc": "", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2368,7 +2368,7 @@ "Address": "M41", "AddrType": "", "Length": 1, - "Desc": "鍙宠竟鎵樼洏鎷嗗灈瀹屾垚锛屽厑璁窤GV鍙宠竟鍙栨墭鐩�, + "Desc": "", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2382,7 +2382,7 @@ "Brand": "Melsec", "Model": "Q10UDEH", "Comm": "MXComponent", - "IP": "127.0.0.1", + "IP": "1", "RedisQueueName": "鎹风灛鎶撹噦1Queue", "IsSimulate": false, "Reserve1": "", @@ -2392,7 +2392,7 @@ { "ParamList": [ { - "Id": "20250411091128147", + "Id": "20250417142024140", "Order": 1, "Name": "M0", "FullName": "鎹风灛鎶撹噦2.M0", @@ -2402,14 +2402,14 @@ "Address": "M0", "AddrType": "", "Length": 1, - "Desc": "宸︿晶鍏夋爡杩涘叆鐢宠", + "Desc": "宸︿晶灞忚斀鍏夋爡", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128163", + "Id": "20250417142024155", "Order": 2, "Name": "M1", "FullName": "鎹风灛鎶撹噦2.M1", @@ -2419,14 +2419,14 @@ "Address": "M1", "AddrType": "", "Length": 1, - "Desc": "鍙充晶鍏夋爡杩涘叆鐢宠", + "Desc": "鍙充晶灞忚斀鍏夋爡", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128179", + "Id": "20250417142024170", "Order": 3, "Name": "M2", "FullName": "鎹风灛鎶撹噦2.M2", @@ -2436,14 +2436,14 @@ "Address": "M2", "AddrType": "", "Length": 1, - "Desc": "agv 鍒拌揪宸﹁竟鏂欏彴", + "Desc": "宸︿晶寮�惎鍏夋爡", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128194", + "Id": "20250417142024186", "Order": 4, "Name": "M3", "FullName": "鎹风灛鎶撹噦2.M3", @@ -2453,14 +2453,14 @@ "Address": "M3", "AddrType": "", "Length": 1, - "Desc": "agv 鍒拌揪鍙宠竟鏂欏彴", + "Desc": "鍙充晶寮�惎鍏夋爡", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128209", + "Id": "20250417142024201", "Order": 5, "Name": "M4", "FullName": "鎹风灛鎶撹噦2.M4", @@ -2470,14 +2470,14 @@ "Address": "M4", "AddrType": "", "Length": 1, - "Desc": "AGV宸﹁竟鎵樼洏宸叉斁濂�, + "Desc": "宸︿晶鎵樼洏鍒颁綅", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128225", + "Id": "20250417142024217", "Order": 6, "Name": "M5", "FullName": "鎹风灛鎶撹噦2.M5", @@ -2487,14 +2487,14 @@ "Address": "M5", "AddrType": "", "Length": 1, - "Desc": "AGV鍙宠竟鎵樼洏宸叉斁濂�, + "Desc": "鍙充晶鎵樼洏鍒颁綅", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128240", + "Id": "20250417142024232", "Order": 7, "Name": "M6", "FullName": "鎹风灛鎶撹噦2.M6", @@ -2504,14 +2504,14 @@ "Address": "M6", "AddrType": "", "Length": 1, - "Desc": "AGV宸茬寮�乏杈规枡鍙�, + "Desc": "agv 涓诲姩鎶ヨ", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128255", + "Id": "20250417142024248", "Order": 8, "Name": "M7", "FullName": "鎹风灛鎶撹噦2.M7", @@ -2521,14 +2521,14 @@ "Address": "M7", "AddrType": "", "Length": 1, - "Desc": "AGV宸茬寮�彸杈规枡鍙�, + "Desc": "", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128270", + "Id": "20250417142024263", "Order": 9, "Name": "M32", "FullName": "鎹风灛鎶撹噦2.M32", @@ -2538,14 +2538,14 @@ "Address": "M32", "AddrType": "", "Length": 1, - "Desc": "M0鍏佽", + "Desc": "宸︿晶鍏夋爡鐘舵�", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128286", + "Id": "20250417142024279", "Order": 10, "Name": "M33", "FullName": "鎹风灛鎶撹噦2.M33", @@ -2555,14 +2555,14 @@ "Address": "M33", "AddrType": "", "Length": 1, - "Desc": "M1", + "Desc": "鍙充晶鍏夋爡鐘舵�", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128301", + "Id": "20250417142024295", "Order": 11, "Name": "M34", "FullName": "鎹风灛鎶撹噦2.M34", @@ -2572,14 +2572,14 @@ "Address": "M34", "AddrType": "", "Length": 1, - "Desc": "M2", + "Desc": "宸︿晶鍏佽鍙栫┖", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128317", + "Id": "20250417142024311", "Order": 12, "Name": "M35", "FullName": "鎹风灛鎶撹噦2.M35", @@ -2589,14 +2589,14 @@ "Address": "M35", "AddrType": "", "Length": 1, - "Desc": "M3", + "Desc": "鍙充晶鍏佽鍙栫┖", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128332", + "Id": "20250417142024326", "Order": 13, "Name": "M36", "FullName": "鎹风灛鎶撹噦2.M36", @@ -2606,14 +2606,14 @@ "Address": "M36", "AddrType": "", "Length": 1, - "Desc": "M4", + "Desc": "鏈哄櫒浜烘殏鍋滅姸鎬�, "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128348", + "Id": "20250417142024341", "Order": 14, "Name": "M37", "FullName": "鎹风灛鎶撹噦2.M37", @@ -2623,14 +2623,14 @@ "Address": "M37", "AddrType": "", "Length": 1, - "Desc": "M5", + "Desc": "", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128364", + "Id": "20250417142024357", "Order": 15, "Name": "M38", "FullName": "鎹风灛鎶撹噦2.M38", @@ -2640,14 +2640,14 @@ "Address": "M38", "AddrType": "", "Length": 1, - "Desc": "M6", + "Desc": "", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128379", + "Id": "20250417142024372", "Order": 16, "Name": "M39", "FullName": "鎹风灛鎶撹噦2.M39", @@ -2657,14 +2657,14 @@ "Address": "M39", "AddrType": "", "Length": 1, - "Desc": "M7", + "Desc": "", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128394", + "Id": "20250417142024388", "Order": 17, "Name": "M40", "FullName": "鎹风灛鎶撹噦2.M40", @@ -2674,14 +2674,14 @@ "Address": "M40", "AddrType": "", "Length": 1, - "Desc": "宸﹁竟鎵樼洏鎷嗗灈瀹屾垚锛屽厑璁窤GV宸﹁竟鍙栨墭鐩�, + "Desc": "", "Trigger": false, "Reserve1": "", "Reserve2": "", "Reserve3": "" }, { - "Id": "20250411091128410", + "Id": "20250417142024403", "Order": 18, "Name": "M41", "FullName": "鎹风灛鎶撹噦2.M41", @@ -2691,7 +2691,7 @@ "Address": "M41", "AddrType": "", "Length": 1, - "Desc": "鍙宠竟鎵樼洏鎷嗗灈瀹屾垚锛屽厑璁窤GV鍙宠竟鍙栨墭鐩�, + "Desc": "", "Trigger": false, "Reserve1": "", "Reserve2": "", @@ -2705,8 +2705,314 @@ "Brand": "Melsec", "Model": "Q10UDEH", "Comm": "MXComponent", - "IP": "127.0.0.1", + "IP": "2", "RedisQueueName": "鎹风灛鎶撹噦2Queue", + "IsSimulate": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "ParamList": [ + { + "Id": "20250417170750831", + "Order": 1, + "Name": "Param1", + "FullName": "PLC3.Param1", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "M0", + "AddrType": "04", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250417170818158", + "Order": 2, + "Name": "Param2", + "FullName": "PLC3.Param2", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "M1", + "AddrType": "04", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250417170818315", + "Order": 3, + "Name": "Param3", + "FullName": "PLC3.Param3", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "M2", + "AddrType": "04", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250417170818484", + "Order": 4, + "Name": "Param4", + "FullName": "PLC3.Param4", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "M3", + "AddrType": "04", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250417170832254", + "Order": 5, + "Name": "Param5", + "FullName": "PLC3.Param5", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "M32", + "AddrType": "04", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250417170832400", + "Order": 6, + "Name": "Param6", + "FullName": "PLC3.Param6", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "M33", + "AddrType": "04", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250417170832568", + "Order": 7, + "Name": "Param7", + "FullName": "PLC3.Param7", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "M36", + "AddrType": "04", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250417171011198", + "Order": 8, + "Name": "Param8", + "FullName": "PLC3.Param8", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "0x0001", + "AddrType": "04", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250417171011393", + "Order": 9, + "Name": "Param9", + "FullName": "PLC3.Param9", + "DataType": "System.Boolean", + "DataValue": "", + "SetValue": "", + "Address": "1", + "AddrType": "04", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250418103545732", + "Order": 10, + "Name": "Param10", + "FullName": "PLC3.Param10", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "1", + "AddrType": "04", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + } + ], + "GroupList": [], + "Id": "0000003", + "Name": "PLC3", + "Desc": "", + "Brand": "AB", + "Model": "AB", + "Comm": "MODBUSTCP", + "IP": "10.221.50.200:3000", + "RedisQueueName": "PLC3Queue", + "IsSimulate": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "ParamList": [ + { + "Id": "20250418104411735", + "Order": 1, + "Name": "Param1", + "FullName": "PLC4.Param1", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "M0", + "AddrType": "", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250418104411883", + "Order": 2, + "Name": "Param2", + "FullName": "PLC4.Param2", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "M1", + "AddrType": "", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250418104412027", + "Order": 3, + "Name": "Param3", + "FullName": "PLC4.Param3", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "0x0001", + "AddrType": "", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250418104412140", + "Order": 4, + "Name": "Param4", + "FullName": "PLC4.Param4", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "1", + "AddrType": "", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250418104412252", + "Order": 5, + "Name": "Param5", + "FullName": "PLC4.Param5", + "DataType": "System.UInt16", + "DataValue": "", + "SetValue": "", + "Address": "0x1", + "AddrType": "", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + }, + { + "Id": "20250418104412341", + "Order": 6, + "Name": "Param6", + "FullName": "PLC4.Param6", + "DataType": "System.Boolean", + "DataValue": "", + "SetValue": "", + "Address": "0x0001", + "AddrType": "", + "Length": 1, + "Desc": "", + "Trigger": false, + "Reserve1": "", + "Reserve2": "", + "Reserve3": "" + } + ], + "GroupList": [], + "Id": "0000004", + "Name": "PLC4", + "Desc": "", + "Brand": "Siemens", + "Model": "S7_1500", + "Comm": "MODBUSTCP", + "IP": "10.221.50.200:3000", + "RedisQueueName": "PLC4Queue", "IsSimulate": false, "Reserve1": "", "Reserve2": "", @@ -2714,5 +3020,5 @@ } ], "CreationTime": "2025-02-26 15:31:23", - "LastWriteTime": "2025-04-11 09:11:42" + "LastWriteTime": "2025-04-18 10:45:48" } \ No newline at end of file diff --git "a/S7/Devices/\350\256\276\345\244\207\351\200\232\344\277\241.json" "b/S7/Devices/\350\256\276\345\244\207\351\200\232\344\277\241.json" index 86b7555..379c5f7 100644 --- "a/S7/Devices/\350\256\276\345\244\207\351\200\232\344\277\241.json" +++ "b/S7/Devices/\350\256\276\345\244\207\351\200\232\344\277\241.json" @@ -2,5 +2,5 @@ "ProjectSn": "1", "DeviceList": [], "CreationTime": "2025-02-26 15:31:23", - "LastWriteTime": "2025-04-11 09:11:42" + "LastWriteTime": "2025-04-18 10:45:51" } \ No newline at end of file diff --git a/S7/Dlls/GZ.DB.App.OIDATABASE.dll b/S7/Dlls/GZ.DB.App.OIDATABASE.dll index 5837dba..e5be98b 100644 --- a/S7/Dlls/GZ.DB.App.OIDATABASE.dll +++ b/S7/Dlls/GZ.DB.App.OIDATABASE.dll Binary files differ diff --git a/S7/Dlls/GZ.DB.Entity.OIDATABASE.dll b/S7/Dlls/GZ.DB.Entity.OIDATABASE.dll index 7a753b6..954a271 100644 --- a/S7/Dlls/GZ.DB.Entity.OIDATABASE.dll +++ b/S7/Dlls/GZ.DB.Entity.OIDATABASE.dll Binary files differ diff --git a/S7/Dlls/GZ.DB.IRepository.OIDATABASE.dll b/S7/Dlls/GZ.DB.IRepository.OIDATABASE.dll index 798a86d..df54db9 100644 --- a/S7/Dlls/GZ.DB.IRepository.OIDATABASE.dll +++ b/S7/Dlls/GZ.DB.IRepository.OIDATABASE.dll Binary files differ diff --git a/S7/Dlls/GZ.DB.Map.OIDATABASE.dll b/S7/Dlls/GZ.DB.Map.OIDATABASE.dll index 5b0f926..b55e516 100644 --- a/S7/Dlls/GZ.DB.Map.OIDATABASE.dll +++ b/S7/Dlls/GZ.DB.Map.OIDATABASE.dll Binary files differ diff --git a/S7/Dlls/GZ.DB.Repository.OIDATABASE.dll b/S7/Dlls/GZ.DB.Repository.OIDATABASE.dll index a2e9074..dbff4aa 100644 --- a/S7/Dlls/GZ.DB.Repository.OIDATABASE.dll +++ b/S7/Dlls/GZ.DB.Repository.OIDATABASE.dll Binary files differ diff --git a/S7/MX Component 4.16S.zip b/S7/MX Component 4.16S.zip new file mode 100644 index 0000000..fd75591 --- /dev/null +++ b/S7/MX Component 4.16S.zip Binary files differ diff --git a/S7/NDP461-KB3102436-x86-x64-AllOS-ENU.exe b/S7/NDP461-KB3102436-x86-x64-AllOS-ENU.exe new file mode 100644 index 0000000..cfa946e --- /dev/null +++ b/S7/NDP461-KB3102436-x86-x64-AllOS-ENU.exe Binary files differ diff --git a/S7/Net/Conn.json b/S7/Net/Conn.json index 6a14569..6737914 100644 --- a/S7/Net/Conn.json +++ b/S7/Net/Conn.json @@ -6,10 +6,10 @@ "ID": "20250324101838895", "Name": "sql", "Desc": "", - "DataSource": "DESKTOP-DSS9VVU", + "DataSource": "10.221.55.116", "Database": "OIDATABASE", "UserID": "sa", - "Password": "123456", + "Password": "aux!123", "Timeout": 3, "IsDefault": true, "Type": "SqlServer" @@ -180,10 +180,10 @@ "Code": "cddc17eb-398d-4781-b24a-62baec9f680b", "Name": "he", "Desc": "", - "IP": "127.0.0.1", + "IP": "10.221.55.116", "Port": "8808", - "EndPoint": "127.0.0.1:8808", - "Url": "http://127.0.0.1:8808/", + "EndPoint": "10.221.55.116:8808", + "Url": "http://10.221.55.116:8808/", "Interface": [ { "ID": "20250323130424925", @@ -200,7 +200,7 @@ "Type": "System.String" } ], - "Content": "\r\n var model = JsonConvert.DeserializeObject<HaiKangOrderInfo>(requestJson);\r\n LogHelper.Info(\"ExecuteState Request-haikang锛歕" + JsonConvert.SerializeObject(model), \"agv鏉弶浜や簰鏃ュ織\");\r\n OperateHKTaskStatus(model);\r\n return JsonConvert.SerializeObject(new HkReturnResult { reqCode = model.reqCode });", + "Content": "\r\n LogHelper.Info(\"ExecuteState Request-haikang锛歕" + requestJson);\r\n var model = JsonConvert.DeserializeObject<HaiKangOrderInfo>(requestJson);\r\n OperateHKTaskStatus(model);\r\n return JsonConvert.SerializeObject(new HkReturnResult { reqCode = model.reqCode });", "ContentType": "application/json", "ReqParamStr": "System.String requestJson", "ReqParamTypeStr": "System.String" @@ -229,5 +229,5 @@ } ], "CreationTime": "2025-02-26 15:31:23", - "LastWriteTime": "2025-04-11 15:46:06" + "LastWriteTime": "2025-04-18 10:41:51" } \ No newline at end of file diff --git a/S7/Robot_S7_WCS.pdf b/S7/Robot_S7_WCS.pdf new file mode 100644 index 0000000..9fe6652 --- /dev/null +++ b/S7/Robot_S7_WCS.pdf Binary files differ diff --git "a/S7/RunTime/Code/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.cs" "b/S7/RunTime/Code/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.cs" index b24251a..80365ea 100644 --- "a/S7/RunTime/Code/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.cs" +++ "b/S7/RunTime/Code/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.cs" @@ -57,6 +57,8 @@ public Tagjs1 js1 { get { return _js1; } set { _js1=value; RaisePropertyChanged("js1"); } } private Tagjs2 _js2 = new Tagjs2(); public Tagjs2 js2 { get { return _js2; } set { _js2=value; RaisePropertyChanged("js2"); } } + private TagGlobal _Global = new TagGlobal(); + public TagGlobal Global { get { return _Global; } set { _Global=value; RaisePropertyChanged("Global"); } } #endregion #region 鍐呴儴绫�@@ -916,6 +918,58 @@ RaisePropertyChanged("R52"); } } + private System.Int16 _wl=0; + public System.Int16 wl + { + get + { + return _wl; + } + set + { + _wl = value; + RaisePropertyChanged("wl"); + } + } + private System.Boolean _w143=false; + public System.Boolean w143 + { + get + { + return _w143; + } + set + { + _w143 = value; + RaisePropertyChanged("w143"); + } + } + private System.Int16 _w2=0; + public System.Int16 w2 + { + get + { + return _w2; + } + set + { + _w2 = value; + RaisePropertyChanged("w2"); + } + } + private System.Boolean _w245=false; + public System.Boolean w245 + { + get + { + return _w245; + } + set + { + _w245 = value; + RaisePropertyChanged("w245"); + } + } #endregion #region 鍙橀噺缁�@@ -1277,6 +1331,58 @@ { _R52 = value; RaisePropertyChanged("R52"); + } + } + private System.Int16 _wl=0; + public System.Int16 wl + { + get + { + return _wl; + } + set + { + _wl = value; + RaisePropertyChanged("wl"); + } + } + private System.Boolean _w143=false; + public System.Boolean w143 + { + get + { + return _w143; + } + set + { + _w143 = value; + RaisePropertyChanged("w143"); + } + } + private System.Int16 _w2=0; + public System.Int16 w2 + { + get + { + return _w2; + } + set + { + _w2 = value; + RaisePropertyChanged("w2"); + } + } + private System.Boolean _w245=false; + public System.Boolean w245 + { + get + { + return _w245; + } + set + { + _w245 = value; + RaisePropertyChanged("w245"); } } #endregion @@ -1819,6 +1925,44 @@ #endregion } + public class TagGlobal : System.ComponentModel.INotifyPropertyChanged + { + #region 鍙橀噺 + private System.UInt16 _SettingsOver=0; + public System.UInt16 SettingsOver + { + get + { + return _SettingsOver; + } + set + { + _SettingsOver = value; + RaisePropertyChanged("SettingsOver"); + } + } + #endregion + + #region 鍙橀噺缁�+ #endregion + + #region 鍐呴儴绫�+ + #endregion + + #region 灞炴�鍙樻洿 + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + public void RaisePropertyChanged(string propertyName) + { + System.ComponentModel.PropertyChangedEventHandler handler = PropertyChanged; + if (handler != null) + { + handler(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } + } + #endregion + } + #endregion 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 8d414d3..265d273 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" @@ -491,19 +491,30 @@ int result = 0; lock (locker) { - ISYSRepository sysservice = new SYSRepository(); + SYSRepository sysservice = new SYSRepository(); var sId = sysservice.FindEntity(a => a.CN_S_TYPE.Trim() == snType && a.CN_S_PRE.Trim() == prefix + Vend); if (sId != null) { - sId.CN_N_MAX++; - sId.CN_T_LAST = DateTime.Now; - sysservice.Update(sId); - result = sId.CN_N_MAX; + + sId.CN_N_MAX++; + sId.CN_T_LAST = DateTime.Now; + //sysservice.Update(sId); + + sysservice.dbcontext.Set<SYSEntity>().Attach(sId); + sysservice.dbcontext.Entry(sId).Property(x => x.CN_N_MAX).CurrentValue = sId.CN_N_MAX; + + sysservice.dbcontext.Entry(sId).Property(x => x.CN_N_MAX).IsModified = true; + sysservice.dbcontext.Entry(sId).Property(x=>x.CN_T_LAST).CurrentValue = sId.CN_T_LAST; + + sysservice.dbcontext.Entry(sId).Property(x=>x.CN_T_LAST).IsModified = true; + + sysservice.dbcontext.SaveChanges(); + result = sId.CN_N_MAX; } else { - sId = new SYSEntity { CN_S_TYPE = snType, CN_T_LAST = DateTime.Now, CN_S_PRE = prefix + Vend, CN_N_MAX = 0 }; + sId = new SYSEntity { CN_S_TYPE = snType, CN_T_LAST = DateTime.Now, CN_S_PRE = prefix + Vend, CN_N_MAX = 0,CN_S_APP_TYPE="WCS" }; sysservice.Insert(sId); } } @@ -591,4 +602,10 @@ } #endregion [鑷畾涔夌被][20250325152141671][TaskProcess] } +public class Utils +{ +#region [鑷畾涔夌被][20250417094750211][Utils] + +#endregion [鑷畾涔夌被][20250417094750211][Utils] +} } \ No newline at end of file diff --git "a/S7/RunTime/Code/\350\256\276\345\244\207\351\200\232\344\277\241.cs" "b/S7/RunTime/Code/\350\256\276\345\244\207\351\200\232\344\277\241.cs" index 53be932..bd6814a 100644 --- "a/S7/RunTime/Code/\350\256\276\345\244\207\351\200\232\344\277\241.cs" +++ "b/S7/RunTime/Code/\350\256\276\345\244\207\351\200\232\344\277\241.cs" @@ -48,6 +48,8 @@ public GZ.Device.PLC.PlcBase 缁村笇灏旀姄鑷�=null; public GZ.Device.PLC.PlcBase 鎹风灛鎶撹噦1=null; public GZ.Device.PLC.PlcBase 鎹风灛鎶撹噦2=null; + public GZ.Device.PLC.PlcBase PLC3=null; + public GZ.Device.PLC.PlcBase PLC4=null; public Device() { PLC1 = GZ.Device.PLC.PlcFactory.CreateInstanceByFile @@ -110,6 +112,16 @@ System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "鎹风灛鎶撹噦2"), null ); + PLC3 = GZ.Device.PLC.PlcFactory.CreateInstanceByFile + ( + System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "PLC3"), + null + ); + PLC4 = GZ.Device.PLC.PlcFactory.CreateInstanceByFile + ( + System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "PLC4"), + null + ); if(System.Configuration.ConfigurationManager.AppSettings["AutoRunPLC"]=="1") { if(PLC1!=null){PLC1.Run();} @@ -124,6 +136,8 @@ if(缁村笇灏旀姄鑷�!=null){缁村笇灏旀姄鑷�.Run();} if(鎹风灛鎶撹噦1!=null){鎹风灛鎶撹噦1.Run();} if(鎹风灛鎶撹噦2!=null){鎹风灛鎶撹噦2.Run();} + if(PLC3!=null){PLC3.Run();} + if(PLC4!=null){PLC4.Run();} } } } @@ -284,6 +298,26 @@ } #endregion + #region PLC3 + public _PLC3 PLC3 = new _PLC3(); + /// <summary> + /// + /// </summary> + public class _PLC3 + { + } + #endregion + + #region PLC4 + public _PLC4 PLC4 = new _PLC4(); + /// <summary> + /// + /// </summary> + public class _PLC4 + { + } + #endregion + } #endregion diff --git a/S7/S7.json b/S7/S7.json index 29cd8b3..b711f97 100644 --- a/S7/S7.json +++ b/S7/S7.json @@ -2,12 +2,12 @@ "Name": "S7", "Desc": "", "SN": "03d560ed-fd80-4d8a-a514-d992e07894b0", - "Directory": "G:\\1AGIT\\S7", + "Directory": "C:\\Users\\Administrator\\Desktop\\S7", "UpdateTime": "2025-02-26 15:31:01", "Version": "1.0.0.0", "PlatformVersion": "1.0.4.1", "DevelopVersion": "1.0.2.0", "Encode": "Ij/zvOgkqNT5SmHrFKCAVQ==", "CreationTime": "0001-01-01 00:00:00", - "LastWriteTime": "2025-04-11 20:39:15" + "LastWriteTime": "2025-04-18 10:45:51" } \ No newline at end of file diff --git a/S7/Scripts/Custom.json b/S7/Scripts/Custom.json index f58aa65..e411d64 100644 --- a/S7/Scripts/Custom.json +++ b/S7/Scripts/Custom.json @@ -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 \tLogHelper.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 \tLogHelper.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 }\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}", "CusMethod": { "Name": "SettingInit", "Params": [], @@ -120,8 +120,8 @@ "Type": "MethodCode", "Level": "Item", "Statement": "public void OperateHKTaskStatus(System.Object param1)", - "EditCode": "HaiKangOrderInfo model = (HaiKangOrderInfo)param1;\r\nif (string.IsNullOrEmpty(model.taskCode))\r\n\treturn;\r\n// 鏌ヨ浠诲姟锛氭牴鎹换鍔″彿\r\n//var wcsTask = WCSHelper.GetTask(model.taskCode);\r\nITaskRepository MainMissionService = new TaskRepository();\r\nvar wcsTask = MainMissionService.FindEntity(x => model.taskCode == x.S_TASK_NO);\r\nif (wcsTask != null)\r\n{\r\n if (!string.IsNullOrWhiteSpace(model.method))\r\n {\r\n ILocRepository locrep = new LocRepository();\r\n var startloc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_START_LOC);\r\n var endLoc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_END_LOC);\r\n\r\n switch (model.method)\r\n {\r\n case \"start\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负鎵ц锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n if (wcsTask.S_B_STATE.Trim() == \"宸叉帹閫乗")\r\n {\r\n wcsTask.S_B_STATE = \"鎵ц涓璡";\r\n wcsTask.T_START_TIME = DateTime.Now;\r\n MainMissionService.Update(wcsTask);\r\n }\r\n break;\r\n case \"outbin\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负鍙栬揣瀹屾垚锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n wcsTask.S_B_STATE = \"鍙栬揣瀹屾垚\";\r\n startloc.S_LOCK_STATE = \"鏃燶";\r\n startloc.T_MODIFY = DateTime.Now;\r\n MainMissionService.Update(wcsTask);\r\n locrep.Update(startloc);\r\n //LocationHelper.UnLockLoc(wcsTask.S_START_LOC);\r\n break;\r\n case \"end\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负瀹屾垚锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n wcsTask.S_B_STATE = \"瀹屾垚\";\r\n wcsTask.T_END_TIME = DateTime.Now;\r\n endLoc.S_LOCK_STATE = \"鏃燶";\r\n endLoc.T_MODIFY = DateTime.Now;\r\n MainMissionService.Update(wcsTask);\r\n locrep.Update(endLoc);\r\n //LocationMethod.JudgeLocation(wcsTask);\r\n break;\r\n case \"cancel\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负鍙栨秷锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n wcsTask.S_B_STATE = \"鍙栨秷\";\r\n startloc.S_LOCK_STATE = \"鏃燶";\r\n endLoc.S_LOCK_STATE = \"鏃燶";\r\n MainMissionService.Update(wcsTask);\r\n locrep.Update(startloc);\r\n locrep.Update(endLoc);\r\n //TaskProcess.OperateStatus(wcsTask, 7);\r\n //WCSHelper.Fail(wcsTask);\r\n break;\r\n case \"apply\":\r\n // 鍒ゆ柇璇ヤ换鍔$殑鎺ラ┏浣嶆槸鍚︽湁鍏朵粬鍏ュ簱鎴栧嚭搴撲换鍔★紝濡傛灉鏈夛紝鍒欏湪绛変綅绛夊緟锛屽鏋滄病鏈夛紝鍒欏叆\r\n TaskisOk(wcsTask);\r\n break;\r\n }\r\n\r\n TaskProcess.AddActionRecord(model.taskCode, model.method, model.eqpCode, model.data);\r\n //WCSHelper.AddActionRecord(model.taskCode, wcsTask.N_B_STATE, model.eqpCode, model.data);\r\n //璋冪敤绗笁鏂规帴鍙o紙濡傛灉鏈夛級TaskProcess.ReportStatus\r\n }\r\n else\r\n {\r\n // 鏆傛椂璁惧畾涓�\r\n wcsTask.S_B_STATE = \"涓婃姤鐘舵�绌篭";\r\n MainMissionService.Update(wcsTask);\r\n //瀹夊叏璇锋眰绛塡r\n //TaskProcess.OperateReq(model.taskCode, wcsTask.N_B_STATE, model.eqpCode, model.data);\r\n }\r\n}\r\nelse\r\n{\r\n LogHelper.Info($\"褰撳墠浠诲姟鍙蜂换鍔′笉瀛樺湪{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n}", - "Code": "public void OperateHKTaskStatus(System.Object param1)\r\n{HaiKangOrderInfo model = (HaiKangOrderInfo)param1;\r\nif (string.IsNullOrEmpty(model.taskCode))\r\n\treturn;\r\n// 鏌ヨ浠诲姟锛氭牴鎹换鍔″彿\r\n//var wcsTask = WCSHelper.GetTask(model.taskCode);\r\nITaskRepository MainMissionService = new TaskRepository();\r\nvar wcsTask = MainMissionService.FindEntity(x => model.taskCode == x.S_TASK_NO);\r\nif (wcsTask != null)\r\n{\r\n if (!string.IsNullOrWhiteSpace(model.method))\r\n {\r\n ILocRepository locrep = new LocRepository();\r\n var startloc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_START_LOC);\r\n var endLoc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_END_LOC);\r\n\r\n switch (model.method)\r\n {\r\n case \"start\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负鎵ц锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n if (wcsTask.S_B_STATE.Trim() == \"宸叉帹閫乗")\r\n {\r\n wcsTask.S_B_STATE = \"鎵ц涓璡";\r\n wcsTask.T_START_TIME = DateTime.Now;\r\n MainMissionService.Update(wcsTask);\r\n }\r\n break;\r\n case \"outbin\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负鍙栬揣瀹屾垚锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n wcsTask.S_B_STATE = \"鍙栬揣瀹屾垚\";\r\n startloc.S_LOCK_STATE = \"鏃燶";\r\n startloc.T_MODIFY = DateTime.Now;\r\n MainMissionService.Update(wcsTask);\r\n locrep.Update(startloc);\r\n //LocationHelper.UnLockLoc(wcsTask.S_START_LOC);\r\n break;\r\n case \"end\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负瀹屾垚锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n wcsTask.S_B_STATE = \"瀹屾垚\";\r\n wcsTask.T_END_TIME = DateTime.Now;\r\n endLoc.S_LOCK_STATE = \"鏃燶";\r\n endLoc.T_MODIFY = DateTime.Now;\r\n MainMissionService.Update(wcsTask);\r\n locrep.Update(endLoc);\r\n //LocationMethod.JudgeLocation(wcsTask);\r\n break;\r\n case \"cancel\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负鍙栨秷锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n wcsTask.S_B_STATE = \"鍙栨秷\";\r\n startloc.S_LOCK_STATE = \"鏃燶";\r\n endLoc.S_LOCK_STATE = \"鏃燶";\r\n MainMissionService.Update(wcsTask);\r\n locrep.Update(startloc);\r\n locrep.Update(endLoc);\r\n //TaskProcess.OperateStatus(wcsTask, 7);\r\n //WCSHelper.Fail(wcsTask);\r\n break;\r\n case \"apply\":\r\n // 鍒ゆ柇璇ヤ换鍔$殑鎺ラ┏浣嶆槸鍚︽湁鍏朵粬鍏ュ簱鎴栧嚭搴撲换鍔★紝濡傛灉鏈夛紝鍒欏湪绛変綅绛夊緟锛屽鏋滄病鏈夛紝鍒欏叆\r\n TaskisOk(wcsTask);\r\n break;\r\n }\r\n\r\n TaskProcess.AddActionRecord(model.taskCode, model.method, model.eqpCode, model.data);\r\n //WCSHelper.AddActionRecord(model.taskCode, wcsTask.N_B_STATE, model.eqpCode, model.data);\r\n //璋冪敤绗笁鏂规帴鍙o紙濡傛灉鏈夛級TaskProcess.ReportStatus\r\n }\r\n else\r\n {\r\n // 鏆傛椂璁惧畾涓�\r\n wcsTask.S_B_STATE = \"涓婃姤鐘舵�绌篭";\r\n MainMissionService.Update(wcsTask);\r\n //瀹夊叏璇锋眰绛塡r\n //TaskProcess.OperateReq(model.taskCode, wcsTask.N_B_STATE, model.eqpCode, model.data);\r\n }\r\n}\r\nelse\r\n{\r\n LogHelper.Info($\"褰撳墠浠诲姟鍙蜂换鍔′笉瀛樺湪{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n}\r\n}", + "EditCode": "HaiKangOrderInfo model = (HaiKangOrderInfo)param1;\r\nif (string.IsNullOrEmpty(model.taskCode))\r\n return;\r\n// 鏌ヨ浠诲姟锛氭牴鎹换鍔″彿\r\n//var wcsTask = WCSHelper.GetTask(model.taskCode);\r\nITaskRepository MainMissionService = new TaskRepository();\r\nvar wcsTask = MainMissionService.FindEntity(x => model.taskCode == x.S_TASK_NO);\r\nif (wcsTask != null)\r\n{\r\n if (!string.IsNullOrWhiteSpace(model.method))\r\n {\r\n ILocRepository locrep = new LocRepository();\r\n var startloc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_START_LOC);\r\n var endLoc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_END_LOC);\r\n\r\n List<string> cntrs = wcsTask.S_CNTRS.Split(',').ToList();\r\n switch (model.method)\r\n {\r\n case \"start\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负鎵ц锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n if (wcsTask.S_B_STATE.Trim() == \"宸叉帹閫乗")\r\n {\r\n wcsTask.S_B_STATE = \"鎵ц涓璡";\r\n wcsTask.T_START_TIME = DateTime.Now;\r\n MainMissionService.Update(wcsTask);\r\n }\r\n break;\r\n case \"outbin\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负鍙栬揣瀹屾垚锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n wcsTask.S_B_STATE = \"鍙栬揣瀹屾垚\";\r\n\r\n startloc.N_CURRENT_NUM = 0;\r\n startloc.S_LOCK_STATE = \"鏃燶";\r\n startloc.T_MODIFY = DateTime.Now;\r\n ILocContainerRepository locContainerRepository = new LocContainerRepository();\r\n //var cnr = locContainerRepository.FindList(x => cntrs.Contains(x.S_CNTR_CODE.Trim()) && x.S_LOC_CODE == wcsTask.S_START_LOC);\r\n locContainerRepository.Delete(x => cntrs.Contains(x.S_CNTR_CODE.Trim()) && x.S_LOC_CODE == wcsTask.S_START_LOC);\r\n MainMissionService.Update(wcsTask);\r\n locrep.Update(startloc);\r\n\r\n var device = Settings.deviceInfos.Find(x => x.location.Contains(wcsTask.S_START_LOC));\r\n if (device != null)\r\n {\r\n if (device.deviceType == 1)\r\n {\r\n if (device.deviceName.Contains(\"缁村笇灏旀姄鑷俓"))\r\n {\r\n string V = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0 ? \"R05\" : \"R06\";\r\n Conn.榛樿Redis.SetValue(device.deviceName + \".\" + V, \"true\", device.deviceName + \"Queue\");\r\n }\r\n }\r\n //else if(device.deviceType == 2)\r\n // if (device.deviceName.Contains(\"鎹风灛鎶撹噦\"))\r\n // Conn.榛樿Redis.SetValue(device.deviceName + \".R10\", \"true\", device.deviceName + \"Queue\");\r\n }\r\n //LocationHelper.UnLockLoc(wcsTask.S_START_LOC);\r\n break;\r\n case \"end\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负瀹屾垚锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n wcsTask.S_B_STATE = \"瀹屾垚\";\r\n wcsTask.T_END_TIME = DateTime.Now;\r\n\r\n ILocContainerRepository locContainerRepository2 = new LocContainerRepository();\r\n List<LocContainerEntity> llls = new List<LocContainerEntity>();\r\n foreach (var c in cntrs)\r\n {\r\n var action = new LocContainerEntity()\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_LOC_CODE = endLoc.S_LOC_CODE,\r\n S_CNTR_CODE = c,\r\n S_TYPE = \"\",\r\n };\r\n llls.Add(action);\r\n }\r\n\r\n endLoc.S_LOCK_STATE = \"鏃燶";\r\n startloc.N_CURRENT_NUM = 1;\r\n endLoc.T_MODIFY = DateTime.Now;\r\n MainMissionService.Update(wcsTask);\r\n locrep.Update(endLoc);\r\n locContainerRepository2.Insert(llls);\r\n\r\n var device2 = Settings.deviceInfos.Find(x => x.location.Contains(wcsTask.S_END_LOC));\r\n if (device2 != null)\r\n {\r\n if (device2.deviceType == 1)\r\n {\r\n if (device2.deviceName.Contains(\"缁村笇灏旀姄鑷俓"))\r\n {\r\n string V = device2.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0 ? \"R10\" : \"R11\";\r\n Conn.榛樿Redis.SetValue(device2.deviceName + \".\" + V, \"true\", device2.deviceName + \"Queue\");\r\n }\r\n }\r\n //else if(device.deviceType == 2)\r\n // if (device.deviceName.Contains(\"鎹风灛鎶撹噦\"))\r\n // Conn.榛樿Redis.SetValue(device.deviceName + \".R10\", \"true\", device.deviceName + \"Queue\");\r\n }\r\n\r\n //LocationMethod.JudgeLocation(wcsTask);\r\n break;\r\n case \"cancel\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负鍙栨秷锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n wcsTask.S_B_STATE = \"鍙栨秷\";\r\n startloc.S_LOCK_STATE = \"鏃燶";\r\n endLoc.S_LOCK_STATE = \"鏃燶";\r\n MainMissionService.Update(wcsTask);\r\n locrep.Update(startloc);\r\n locrep.Update(endLoc);\r\n //TaskProcess.OperateStatus(wcsTask, 7);\r\n //WCSHelper.Fail(wcsTask);\r\n break;\r\n case \"apply\":\r\n // 鍒ゆ柇璇ヤ换鍔$殑鎺ラ┏浣嶆槸鍚︽湁鍏朵粬鍏ュ簱鎴栧嚭搴撲换鍔★紝濡傛灉鏈夛紝鍒欏湪绛変綅绛夊緟锛屽鏋滄病鏈夛紝鍒欏叆\r\n TaskisOk(wcsTask);\r\n break;\r\n }\r\n\r\n TaskProcess.AddActionRecord(model.taskCode, model.method, model.eqpCode, model.data);\r\n //璋冪敤绗笁鏂规帴鍙o紙濡傛灉鏈夛級TaskProcess.ReportStatus\r\n }\r\n else\r\n {\r\n // 鏆傛椂璁惧畾涓�\r\n wcsTask.S_B_STATE = \"涓婃姤鐘舵�绌篭";\r\n //瀹夊叏璇锋眰绛塡r\n //TaskProcess.OperateReq(model.taskCode, wcsTask.N_B_STATE, model.eqpCode, model.data);\r\n }\r\n}\r\nelse\r\n{\r\n LogHelper.Info($\"褰撳墠浠诲姟鍙蜂换鍔′笉瀛樺湪{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n}", + "Code": "public void OperateHKTaskStatus(System.Object param1)\r\n{HaiKangOrderInfo model = (HaiKangOrderInfo)param1;\r\nif (string.IsNullOrEmpty(model.taskCode))\r\n return;\r\n// 鏌ヨ浠诲姟锛氭牴鎹换鍔″彿\r\n//var wcsTask = WCSHelper.GetTask(model.taskCode);\r\nITaskRepository MainMissionService = new TaskRepository();\r\nvar wcsTask = MainMissionService.FindEntity(x => model.taskCode == x.S_TASK_NO);\r\nif (wcsTask != null)\r\n{\r\n if (!string.IsNullOrWhiteSpace(model.method))\r\n {\r\n ILocRepository locrep = new LocRepository();\r\n var startloc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_START_LOC);\r\n var endLoc = locrep.FindEntity(x => x.S_LOC_CODE == wcsTask.S_END_LOC);\r\n\r\n List<string> cntrs = wcsTask.S_CNTRS.Split(',').ToList();\r\n switch (model.method)\r\n {\r\n case \"start\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负鎵ц锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n if (wcsTask.S_B_STATE.Trim() == \"宸叉帹閫乗")\r\n {\r\n wcsTask.S_B_STATE = \"鎵ц涓璡";\r\n wcsTask.T_START_TIME = DateTime.Now;\r\n MainMissionService.Update(wcsTask);\r\n }\r\n break;\r\n case \"outbin\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负鍙栬揣瀹屾垚锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n wcsTask.S_B_STATE = \"鍙栬揣瀹屾垚\";\r\n\r\n startloc.N_CURRENT_NUM = 0;\r\n startloc.S_LOCK_STATE = \"鏃燶";\r\n startloc.T_MODIFY = DateTime.Now;\r\n ILocContainerRepository locContainerRepository = new LocContainerRepository();\r\n //var cnr = locContainerRepository.FindList(x => cntrs.Contains(x.S_CNTR_CODE.Trim()) && x.S_LOC_CODE == wcsTask.S_START_LOC);\r\n locContainerRepository.Delete(x => cntrs.Contains(x.S_CNTR_CODE.Trim()) && x.S_LOC_CODE == wcsTask.S_START_LOC);\r\n MainMissionService.Update(wcsTask);\r\n locrep.Update(startloc);\r\n\r\n var device = Settings.deviceInfos.Find(x => x.location.Contains(wcsTask.S_START_LOC));\r\n if (device != null)\r\n {\r\n if (device.deviceType == 1)\r\n {\r\n if (device.deviceName.Contains(\"缁村笇灏旀姄鑷俓"))\r\n {\r\n string V = device.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0 ? \"R05\" : \"R06\";\r\n Conn.榛樿Redis.SetValue(device.deviceName + \".\" + V, \"true\", device.deviceName + \"Queue\");\r\n }\r\n }\r\n //else if(device.deviceType == 2)\r\n // if (device.deviceName.Contains(\"鎹风灛鎶撹噦\"))\r\n // Conn.榛樿Redis.SetValue(device.deviceName + \".R10\", \"true\", device.deviceName + \"Queue\");\r\n }\r\n //LocationHelper.UnLockLoc(wcsTask.S_START_LOC);\r\n break;\r\n case \"end\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负瀹屾垚锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n wcsTask.S_B_STATE = \"瀹屾垚\";\r\n wcsTask.T_END_TIME = DateTime.Now;\r\n\r\n ILocContainerRepository locContainerRepository2 = new LocContainerRepository();\r\n List<LocContainerEntity> llls = new List<LocContainerEntity>();\r\n foreach (var c in cntrs)\r\n {\r\n var action = new LocContainerEntity()\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_LOC_CODE = endLoc.S_LOC_CODE,\r\n S_CNTR_CODE = c,\r\n S_TYPE = \"\",\r\n };\r\n llls.Add(action);\r\n }\r\n\r\n endLoc.S_LOCK_STATE = \"鏃燶";\r\n startloc.N_CURRENT_NUM = 1;\r\n endLoc.T_MODIFY = DateTime.Now;\r\n MainMissionService.Update(wcsTask);\r\n locrep.Update(endLoc);\r\n locContainerRepository2.Insert(llls);\r\n\r\n var device2 = Settings.deviceInfos.Find(x => x.location.Contains(wcsTask.S_END_LOC));\r\n if (device2 != null)\r\n {\r\n if (device2.deviceType == 1)\r\n {\r\n if (device2.deviceName.Contains(\"缁村笇灏旀姄鑷俓"))\r\n {\r\n string V = device2.location.ToList().FindIndex(x => x == wcsTask.S_START_LOC) == 0 ? \"R10\" : \"R11\";\r\n Conn.榛樿Redis.SetValue(device2.deviceName + \".\" + V, \"true\", device2.deviceName + \"Queue\");\r\n }\r\n }\r\n //else if(device.deviceType == 2)\r\n // if (device.deviceName.Contains(\"鎹风灛鎶撹噦\"))\r\n // Conn.榛樿Redis.SetValue(device.deviceName + \".R10\", \"true\", device.deviceName + \"Queue\");\r\n }\r\n\r\n //LocationMethod.JudgeLocation(wcsTask);\r\n break;\r\n case \"cancel\":\r\n LogHelper.Info($\"娴峰悍杞︿换鍔$姸鎬佸彉鏇翠负鍙栨秷锛屼换鍔″彿涓猴細{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n wcsTask.S_B_STATE = \"鍙栨秷\";\r\n startloc.S_LOCK_STATE = \"鏃燶";\r\n endLoc.S_LOCK_STATE = \"鏃燶";\r\n MainMissionService.Update(wcsTask);\r\n locrep.Update(startloc);\r\n locrep.Update(endLoc);\r\n //TaskProcess.OperateStatus(wcsTask, 7);\r\n //WCSHelper.Fail(wcsTask);\r\n break;\r\n case \"apply\":\r\n // 鍒ゆ柇璇ヤ换鍔$殑鎺ラ┏浣嶆槸鍚︽湁鍏朵粬鍏ュ簱鎴栧嚭搴撲换鍔★紝濡傛灉鏈夛紝鍒欏湪绛変綅绛夊緟锛屽鏋滄病鏈夛紝鍒欏叆\r\n TaskisOk(wcsTask);\r\n break;\r\n }\r\n\r\n TaskProcess.AddActionRecord(model.taskCode, model.method, model.eqpCode, model.data);\r\n //璋冪敤绗笁鏂规帴鍙o紙濡傛灉鏈夛級TaskProcess.ReportStatus\r\n }\r\n else\r\n {\r\n // 鏆傛椂璁惧畾涓�\r\n wcsTask.S_B_STATE = \"涓婃姤鐘舵�绌篭";\r\n //瀹夊叏璇锋眰绛塡r\n //TaskProcess.OperateReq(model.taskCode, wcsTask.N_B_STATE, model.eqpCode, model.data);\r\n }\r\n}\r\nelse\r\n{\r\n LogHelper.Info($\"褰撳墠浠诲姟鍙蜂换鍔′笉瀛樺湪{model.taskCode}\", \"agv鏉弶浜や簰鏃ュ織\");\r\n}\r\n}", "CusMethod": { "Name": "OperateHKTaskStatus", "Params": [ @@ -356,8 +356,8 @@ "Type": "MethodCode", "Level": "Item", "Statement": "public System.Boolean RunTask(GZ.DB.Entity.OIDATABASE.TaskEntity task)", - "EditCode": "\r\n ILocRepository locrep = new LocRepository();\r\n var startloc = locrep.FindEntity(x => x.S_LOC_CODE == task.S_START_LOC);\r\n var endLoc = locrep.FindEntity(x => x.S_LOC_CODE == task.S_END_LOC);\r\n if (startloc == null || endLoc == null)\r\n {\r\n LogHelper.Info($\"{task.S_TASK_NO}-浠诲姟璧�缁堢偣 娌℃壘鍒版暟鎹�\");\r\n return false;\r\n }\r\n var start = startloc.S_AGV_SITE;\r\n var end = endLoc.S_AGV_SITE;\r\n\r\n // 鍒涘缓涓や釜璺緞\r\n var positions = new List<positionCodePath>(){\r\n new positionCodePath()\r\n {\r\n positionCode = start,\r\n Type = \"00\"\r\n },\r\n new positionCodePath()\r\n {\r\n positionCode = end,\r\n Type = \"00\"\r\n }\r\n };\r\n\r\n //璋冪涓夋柟鎺ュ彛\r\n var model = new HaiKangOrderInfo\r\n {\r\n taskCode = task.S_TASK_NO,\r\n ctnrCode = task.S_CNTRS,\r\n taskTyp = \"F02\",\r\n positionCodePath = positions\r\n };\r\n\r\n return CreateOrder(model);", - "Code": "public System.Boolean RunTask(GZ.DB.Entity.OIDATABASE.TaskEntity task)\r\n{\r\n ILocRepository locrep = new LocRepository();\r\n var startloc = locrep.FindEntity(x => x.S_LOC_CODE == task.S_START_LOC);\r\n var endLoc = locrep.FindEntity(x => x.S_LOC_CODE == task.S_END_LOC);\r\n if (startloc == null || endLoc == null)\r\n {\r\n LogHelper.Info($\"{task.S_TASK_NO}-浠诲姟璧�缁堢偣 娌℃壘鍒版暟鎹�\");\r\n return false;\r\n }\r\n var start = startloc.S_AGV_SITE;\r\n var end = endLoc.S_AGV_SITE;\r\n\r\n // 鍒涘缓涓や釜璺緞\r\n var positions = new List<positionCodePath>(){\r\n new positionCodePath()\r\n {\r\n positionCode = start,\r\n Type = \"00\"\r\n },\r\n new positionCodePath()\r\n {\r\n positionCode = end,\r\n Type = \"00\"\r\n }\r\n };\r\n\r\n //璋冪涓夋柟鎺ュ彛\r\n var model = new HaiKangOrderInfo\r\n {\r\n taskCode = task.S_TASK_NO,\r\n ctnrCode = task.S_CNTRS,\r\n taskTyp = \"F02\",\r\n positionCodePath = positions\r\n };\r\n\r\n return CreateOrder(model);\r\n}", + "EditCode": "\r\n ILocRepository locrep = new LocRepository();\r\n var startloc = locrep.FindEntity(x => x.S_LOC_CODE == task.S_START_LOC);\r\n var endLoc = locrep.FindEntity(x => x.S_LOC_CODE == task.S_END_LOC);\r\n if (startloc == null || endLoc == null)\r\n {\r\n LogHelper.Info($\"{task.S_TASK_NO}-浠诲姟璧�缁堢偣 娌℃壘鍒版暟鎹�\");\r\n return false;\r\n }\r\n var start = startloc.S_AGV_SITE.Trim();\r\n var end = endLoc.S_AGV_SITE.Trim();\r\n\r\n // 鍒涘缓涓や釜璺緞\r\n var positions = new List<positionCodePath>(){\r\n new positionCodePath()\r\n {\r\n positionCode = start,\r\n Type = \"00\"\r\n },\r\n new positionCodePath()\r\n {\r\n positionCode = end,\r\n Type = \"00\"\r\n }\r\n };\r\n\r\n //璋冪涓夋柟鎺ュ彛\r\n var model = new HaiKangOrderInfo\r\n {\r\n reqCode=task.S_TASK_NO.Trim(),\r\n reqTime=DateTime.Now.ToString(\"yyyy-MM-dd HH:mm:ss\"),\r\n taskCode = task.S_TASK_NO.Trim(),\r\n ctnrCode = task.S_CNTRS,\r\n taskTyp = \"F01\",\r\n positionCodePath = positions\r\n };\r\n\r\n return CreateOrder(model);", + "Code": "public System.Boolean RunTask(GZ.DB.Entity.OIDATABASE.TaskEntity task)\r\n{\r\n ILocRepository locrep = new LocRepository();\r\n var startloc = locrep.FindEntity(x => x.S_LOC_CODE == task.S_START_LOC);\r\n var endLoc = locrep.FindEntity(x => x.S_LOC_CODE == task.S_END_LOC);\r\n if (startloc == null || endLoc == null)\r\n {\r\n LogHelper.Info($\"{task.S_TASK_NO}-浠诲姟璧�缁堢偣 娌℃壘鍒版暟鎹�\");\r\n return false;\r\n }\r\n var start = startloc.S_AGV_SITE.Trim();\r\n var end = endLoc.S_AGV_SITE.Trim();\r\n\r\n // 鍒涘缓涓や釜璺緞\r\n var positions = new List<positionCodePath>(){\r\n new positionCodePath()\r\n {\r\n positionCode = start,\r\n Type = \"00\"\r\n },\r\n new positionCodePath()\r\n {\r\n positionCode = end,\r\n Type = \"00\"\r\n }\r\n };\r\n\r\n //璋冪涓夋柟鎺ュ彛\r\n var model = new HaiKangOrderInfo\r\n {\r\n reqCode=task.S_TASK_NO.Trim(),\r\n reqTime=DateTime.Now.ToString(\"yyyy-MM-dd HH:mm:ss\"),\r\n taskCode = task.S_TASK_NO.Trim(),\r\n ctnrCode = task.S_CNTRS,\r\n taskTyp = \"F01\",\r\n positionCodePath = positions\r\n };\r\n\r\n return CreateOrder(model);\r\n}", "CusMethod": { "Name": "RunTask", "Params": [ @@ -572,8 +572,8 @@ "Type": "ClassCode", "Level": "Item", "Statement": "public class SYSHelper", - "EditCode": "private static object locker = new object();\r\ninternal static int GetSerialNumber(string snType, string prefix, string Vend = \"0\")\r\n{\r\n if (Vend == \"1\")\r\n Vend = DateTime.Now.ToString(\"yyMMdd\");\r\n int result = 0;\r\n lock (locker)\r\n {\r\n ISYSRepository sysservice = new SYSRepository();\r\n var sId = sysservice.FindEntity(a => a.CN_S_TYPE.Trim() == snType && a.CN_S_PRE.Trim() == prefix + Vend);\r\n\r\n if (sId != null)\r\n {\r\n sId.CN_N_MAX++;\r\n sId.CN_T_LAST = DateTime.Now;\r\n sysservice.Update(sId);\r\n result = sId.CN_N_MAX;\r\n }\r\n else\r\n {\r\n sId = new SYSEntity { CN_S_TYPE = snType, CN_T_LAST = DateTime.Now, CN_S_PRE = prefix + Vend, CN_N_MAX = 0 };\r\n sysservice.Insert(sId);\r\n }\r\n }\r\n return result;\r\n}", - "Code": "public class SYSHelper\r\n{private static object locker = new object();\r\ninternal static int GetSerialNumber(string snType, string prefix, string Vend = \"0\")\r\n{\r\n if (Vend == \"1\")\r\n Vend = DateTime.Now.ToString(\"yyMMdd\");\r\n int result = 0;\r\n lock (locker)\r\n {\r\n ISYSRepository sysservice = new SYSRepository();\r\n var sId = sysservice.FindEntity(a => a.CN_S_TYPE.Trim() == snType && a.CN_S_PRE.Trim() == prefix + Vend);\r\n\r\n if (sId != null)\r\n {\r\n sId.CN_N_MAX++;\r\n sId.CN_T_LAST = DateTime.Now;\r\n sysservice.Update(sId);\r\n result = sId.CN_N_MAX;\r\n }\r\n else\r\n {\r\n sId = new SYSEntity { CN_S_TYPE = snType, CN_T_LAST = DateTime.Now, CN_S_PRE = prefix + Vend, CN_N_MAX = 0 };\r\n sysservice.Insert(sId);\r\n }\r\n }\r\n return result;\r\n}\r\n}", + "EditCode": "private static object locker = new object();\r\ninternal static int GetSerialNumber(string snType, string prefix, string Vend = \"0\")\r\n{\r\n if (Vend == \"1\")\r\n Vend = DateTime.Now.ToString(\"yyMMdd\");\r\n int result = 0;\r\n lock (locker)\r\n {\r\n SYSRepository sysservice = new SYSRepository();\r\n var sId = sysservice.FindEntity(a => a.CN_S_TYPE.Trim() == snType && a.CN_S_PRE.Trim() == prefix + Vend);\r\n\r\n if (sId != null)\r\n {\r\n \r\n sId.CN_N_MAX++;\r\n sId.CN_T_LAST = DateTime.Now;\r\n //sysservice.Update(sId);\r\n\r\n sysservice.dbcontext.Set<SYSEntity>().Attach(sId);\r\n sysservice.dbcontext.Entry(sId).Property(x => x.CN_N_MAX).CurrentValue = sId.CN_N_MAX;\r\n\r\n sysservice.dbcontext.Entry(sId).Property(x => x.CN_N_MAX).IsModified = true;\r\n sysservice.dbcontext.Entry(sId).Property(x=>x.CN_T_LAST).CurrentValue = sId.CN_T_LAST;\r\n\r\n sysservice.dbcontext.Entry(sId).Property(x=>x.CN_T_LAST).IsModified = true;\r\n \r\n sysservice.dbcontext.SaveChanges();\r\n result = sId.CN_N_MAX;\r\n }\r\n else\r\n {\r\n sId = new SYSEntity { CN_S_TYPE = snType, CN_T_LAST = DateTime.Now, CN_S_PRE = prefix + Vend, CN_N_MAX = 0,CN_S_APP_TYPE=\"WCS\" };\r\n sysservice.Insert(sId);\r\n }\r\n }\r\n return result;\r\n}", + "Code": "public class SYSHelper\r\n{private static object locker = new object();\r\ninternal static int GetSerialNumber(string snType, string prefix, string Vend = \"0\")\r\n{\r\n if (Vend == \"1\")\r\n Vend = DateTime.Now.ToString(\"yyMMdd\");\r\n int result = 0;\r\n lock (locker)\r\n {\r\n SYSRepository sysservice = new SYSRepository();\r\n var sId = sysservice.FindEntity(a => a.CN_S_TYPE.Trim() == snType && a.CN_S_PRE.Trim() == prefix + Vend);\r\n\r\n if (sId != null)\r\n {\r\n \r\n sId.CN_N_MAX++;\r\n sId.CN_T_LAST = DateTime.Now;\r\n //sysservice.Update(sId);\r\n\r\n sysservice.dbcontext.Set<SYSEntity>().Attach(sId);\r\n sysservice.dbcontext.Entry(sId).Property(x => x.CN_N_MAX).CurrentValue = sId.CN_N_MAX;\r\n\r\n sysservice.dbcontext.Entry(sId).Property(x => x.CN_N_MAX).IsModified = true;\r\n sysservice.dbcontext.Entry(sId).Property(x=>x.CN_T_LAST).CurrentValue = sId.CN_T_LAST;\r\n\r\n sysservice.dbcontext.Entry(sId).Property(x=>x.CN_T_LAST).IsModified = true;\r\n \r\n sysservice.dbcontext.SaveChanges();\r\n result = sId.CN_N_MAX;\r\n }\r\n else\r\n {\r\n sId = new SYSEntity { CN_S_TYPE = snType, CN_T_LAST = DateTime.Now, CN_S_PRE = prefix + Vend, CN_N_MAX = 0,CN_S_APP_TYPE=\"WCS\" };\r\n sysservice.Insert(sId);\r\n }\r\n }\r\n return result;\r\n}\r\n}", "CusMethod": { "Name": "", "Params": [], @@ -605,9 +605,30 @@ "InheritClass": "", "Inherits": [] } + }, + { + "ID": "20250417094750211", + "Name": "Utils", + "Desc": "", + "ParentID": "", + "Type": "ClassCode", + "Level": "Item", + "Statement": "public class Utils", + "EditCode": "", + "Code": "public class Utils\r\n{\r\n}", + "CusMethod": { + "Name": "", + "Params": [], + "ReturnType": "" + }, + "CusClass": { + "Name": "Utils", + "InheritClass": "", + "Inherits": [] + } } ], "CreationTime": "2025-02-26 15:31:23", - "LastWriteTime": "2025-04-11 20:40:37", + "LastWriteTime": "2025-04-18 10:41:31", "HasSaved": true } \ No newline at end of file diff --git a/S7/Scripts/Script.json b/S7/Scripts/Script.json index 2951f77..1e2e745 100644 --- a/S7/Scripts/Script.json +++ b/S7/Scripts/Script.json @@ -131,14 +131,14 @@ "ID": "20250323151832119", "Name": "Program4", "Desc": "", - "Content": "Conn.榛樿Redis.SetValue(\"瑗块棬瀛�.Param3\",\"300\",\"瑗块棬瀛�Queue\");", - "ContentCopy": "Conn.榛樿Redis.SetValue(\"瑗块棬瀛�.Param3\",\"300\",\"瑗块棬瀛�Queue\");", + "Content": "//Conn.榛樿Redis.SetValue(\"瑗块棬瀛�.Param3\",\"300\",\"瑗块棬瀛�Queue\");\r\n\r\n List<string> locs = new List<string>() { \"vxr1l\", \"vx1r\", \"vxr1c1\", \"vxr1c2\", \"vxr2l\", \"vxr2r\", \"vxr2c1\", \"vxr2c2\" };\r\n List<string> sites = new List<string>() { \"196365BB283162\", \"193841BB283149\", \"198756BB287300\", \"198767BB286133\", \"206987BB282931\", \"204460BB282975\", \"209405BB287057\", \"209377BB285899\" };\r\n\r\n LocRepository locservice = new LocRepository();\r\n for (int i = 0; i < locs.Count; i++)\r\n {\r\n string loccode = locs[i];\r\n string sitesss = sites[i];\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == loccode);\r\n if (loc == null)\r\n {\r\n locservice.Insert(new LocEntity\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 S_DEEP = \"vxr\",\r\n\r\n S_LOC_CODE = loccode,\r\n S_AGV_SITE = sitesss,\r\n\r\n S_LOCK_STATE = \"鏃燶",\r\n N_ROW = 1,\r\n N_COL = 1,\r\n N_AGV_CODE = 0,\r\n N_AGV_SITE_LAYER = 0,\r\n N_CAPACITY = 1,\r\n N_CURRENT_NUM = 0,\r\n S_TYPE = \"\",\r\n\r\n });\r\n }\r\n }\r\n // TaskProcess.CreateTask(\"\", locs[6], locs[7], \"test\", 9, new List<string> { \"test\" }, 1, 1, 1);\r\n", + "ContentCopy": "//Conn.榛樿Redis.SetValue(\"瑗块棬瀛�.Param3\",\"300\",\"瑗块棬瀛�Queue\");\r\n\r\n List<string> locs = new List<string>() { \"vxr1l\", \"vx1r\", \"vxr1c1\", \"vxr1c2\", \"vxr2l\", \"vxr2r\", \"vxr2c1\", \"vxr2c2\" };\r\n List<string> sites = new List<string>() { \"196365BB283162\", \"193841BB283149\", \"198756BB287300\", \"198767BB286133\", \"206987BB282931\", \"204460BB282975\", \"209405BB287057\", \"209377BB285899\" };\r\n\r\n LocRepository locservice = new LocRepository();\r\n for (int i = 0; i < locs.Count; i++)\r\n {\r\n string loccode = locs[i];\r\n string sitesss = sites[i];\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == loccode);\r\n if (loc == null)\r\n {\r\n locservice.Insert(new LocEntity\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 S_DEEP = \"vxr\",\r\n\r\n S_LOC_CODE = loccode,\r\n S_AGV_SITE = sitesss,\r\n\r\n S_LOCK_STATE = \"鏃燶",\r\n N_ROW = 1,\r\n N_COL = 1,\r\n N_AGV_CODE = 0,\r\n N_AGV_SITE_LAYER = 0,\r\n N_CAPACITY = 1,\r\n N_CURRENT_NUM = 0,\r\n S_TYPE = \"\",\r\n\r\n });\r\n }\r\n }\r\n // TaskProcess.CreateTask(\"\", locs[6], locs[7], \"test\", 9, new List<string> { \"test\" }, 1, 1, 1);\r\n", "ParentID": "20250226153120175", "Children": [], "Type": "Program", "Property": { - "SyncExec": "False", - "RepeatExec": "None", + "SyncExec": "True", + "RepeatExec": "Count", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { @@ -147,7 +147,11 @@ "Expression": "", "Judge": "", "Command": {}, - "HmiEvent": {} + "HmiEvent": { + "20250306140515428": [ + "Open" + ] + } }, "EndCondition": { "Type": "None", @@ -174,8 +178,8 @@ "ID": "20250325083149366", "Name": "缁村笇灏旀姄鑷�", "Desc": "", - "Content": "\r\nvar VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"缁村笇灏旀姄鑷�\");\r\n\r\nif (VERX != null)\r\n{\r\nLocRepository locservice = new LocRepository();\r\nLocContainerRepository loccontainerservice = new LocContainerRepository();\r\nLocEntity v1l = null;\r\nLocEntity v1r = null;\r\nLocEntity startLoc = null;\r\nLocEntity endLoc = null;\r\nList<LocEntity> emptyLoc = new List<LocEntity>();\r\n if (!string.IsNullOrEmpty(VERX.location[0]))\r\n {\r\n v1l = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[0]);\r\n //if (startLoc == null && startLoc.S_LOCK_STATE == \"鏃燶")\r\n if (v1l != null && v1l.N_CURRENT_NUM == 0 && v1l.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1l);\r\n }\r\n if (!string.IsNullOrEmpty(VERX.location[1]))\r\n {\r\n v1r = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[1]);\r\n if (v1r != null && v1r.N_CURRENT_NUM == 0 && v1r.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1r);\r\n }\r\n if (Tag.wxr1.R44)\r\n {\r\n startLoc = v1l;\r\n }\r\n else if (Tag.wxr1.R46)\r\n {\r\n startLoc = v1r;\r\n }\r\n\r\n ContainerRepository containerservice = new ContainerRepository();\r\n if (startLoc != null)\r\n {\r\n if (startLoc.N_CURRENT_NUM == 1)\r\n {\r\n if (startLoc.T_FULL_TIME == null)\r\n {\r\n //locservice.dbcontext.Set<LocEntity>().Attach(startLoc);\r\n startLoc.T_FULL_TIME = DateTime.Now;\r\n locservice.Update(startLoc);\r\n //locservice.dbcontext.Entry(startLoc).Property(x => x.T_FULL_TIME).IsModified = true;\r\n //locservice.dbcontext.SaveChanges();\r\n }\r\n if (startLoc.T_FULL_TIME != null && DateTime.Now.Subtract(startLoc.T_FULL_TIME ?? DateTime.Now).TotalSeconds > 30)\r\n {\r\n LocContainerEntity ent = loccontainerservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n foreach (var item in VERX.deviceNo)\r\n {\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n if (loc != null)\r\n {\r\n if (loc.N_CURRENT_NUM == 0)\r\n {\r\n endLoc = loc;\r\n break;\r\n }\r\n }\r\n }\r\n if (endLoc != null && ent != null)\r\n {\r\n var c = containerservice.FindEntity(x => x.S_CODE == ent.S_CNTR_CODE);\r\n c.S_TYPE = \"F\";\r\n containerservice.Update(c);\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"vxr1涓嬫枡\", 6, new List<string> { ent?.S_CNTR_CODE ?? \"TP\" + Settings.GetTimeStamp() }, 1, 1, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (emptyLoc.Any())\r\n {\r\n List<string> exclist = new List<string>();\r\n next:\r\n endLoc = emptyLoc.First();\r\n emptyLoc.Remove(endLoc);\r\n startLoc = null;\r\n ContainerEntity c = null;\r\n foreach (var lcode in VERX.deviceNo)\r\n {\r\n if (exclist.Contains(lcode))\r\n continue;\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == lcode && x.S_LOCK_STATE == \"鏃燶" && x.N_CURRENT_NUM == 1);\r\n if (loc != null)\r\n {\r\n var cntr = loccontainerservice.FindEntity(x => x.S_LOC_CODE == lcode);\r\n if (cntr != null)\r\n {\r\n c = containerservice.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE);\r\n if (c != null && c.S_TYPE == \"E\")\r\n {\r\n startLoc = loc;\r\n }\r\n }\r\n }\r\n exclist.Add(lcode);\r\n if (startLoc != null)\r\n break;\r\n }\r\n if (startLoc != null)\r\n {\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"vxr1涓婄┖鎵樼洏\", 7, new List<string> { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n}", - "ContentCopy": "\r\nvar VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"缁村笇灏旀姄鑷�\");\r\n\r\nif (VERX != null)\r\n{\r\nLocRepository locservice = new LocRepository();\r\nLocContainerRepository loccontainerservice = new LocContainerRepository();\r\nLocEntity v1l = null;\r\nLocEntity v1r = null;\r\nLocEntity startLoc = null;\r\nLocEntity endLoc = null;\r\nList<LocEntity> emptyLoc = new List<LocEntity>();\r\n if (!string.IsNullOrEmpty(VERX.location[0]))\r\n {\r\n v1l = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[0]);\r\n //if (startLoc == null && startLoc.S_LOCK_STATE == \"鏃燶")\r\n if (v1l != null && v1l.N_CURRENT_NUM == 0 && v1l.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1l);\r\n }\r\n if (!string.IsNullOrEmpty(VERX.location[1]))\r\n {\r\n v1r = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[1]);\r\n if (v1r != null && v1r.N_CURRENT_NUM == 0 && v1r.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1r);\r\n }\r\n if (Tag.wxr1.R44)\r\n {\r\n startLoc = v1l;\r\n }\r\n else if (Tag.wxr1.R46)\r\n {\r\n startLoc = v1r;\r\n }\r\n\r\n ContainerRepository containerservice = new ContainerRepository();\r\n if (startLoc != null)\r\n {\r\n if (startLoc.N_CURRENT_NUM == 1)\r\n {\r\n if (startLoc.T_FULL_TIME == null)\r\n {\r\n //locservice.dbcontext.Set<LocEntity>().Attach(startLoc);\r\n startLoc.T_FULL_TIME = DateTime.Now;\r\n locservice.Update(startLoc);\r\n //locservice.dbcontext.Entry(startLoc).Property(x => x.T_FULL_TIME).IsModified = true;\r\n //locservice.dbcontext.SaveChanges();\r\n }\r\n if (startLoc.T_FULL_TIME != null && DateTime.Now.Subtract(startLoc.T_FULL_TIME ?? DateTime.Now).TotalSeconds > 30)\r\n {\r\n LocContainerEntity ent = loccontainerservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n foreach (var item in VERX.deviceNo)\r\n {\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n if (loc != null)\r\n {\r\n if (loc.N_CURRENT_NUM == 0)\r\n {\r\n endLoc = loc;\r\n break;\r\n }\r\n }\r\n }\r\n if (endLoc != null && ent != null)\r\n {\r\n var c = containerservice.FindEntity(x => x.S_CODE == ent.S_CNTR_CODE);\r\n c.S_TYPE = \"F\";\r\n containerservice.Update(c);\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"vxr1涓嬫枡\", 6, new List<string> { ent?.S_CNTR_CODE ?? \"TP\" + Settings.GetTimeStamp() }, 1, 1, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (emptyLoc.Any())\r\n {\r\n List<string> exclist = new List<string>();\r\n next:\r\n endLoc = emptyLoc.First();\r\n emptyLoc.Remove(endLoc);\r\n startLoc = null;\r\n ContainerEntity c = null;\r\n foreach (var lcode in VERX.deviceNo)\r\n {\r\n if (exclist.Contains(lcode))\r\n continue;\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == lcode && x.S_LOCK_STATE == \"鏃燶" && x.N_CURRENT_NUM == 1);\r\n if (loc != null)\r\n {\r\n var cntr = loccontainerservice.FindEntity(x => x.S_LOC_CODE == lcode);\r\n if (cntr != null)\r\n {\r\n c = containerservice.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE);\r\n if (c != null && c.S_TYPE == \"E\")\r\n {\r\n startLoc = loc;\r\n }\r\n }\r\n }\r\n exclist.Add(lcode);\r\n if (startLoc != null)\r\n break;\r\n }\r\n if (startLoc != null)\r\n {\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"vxr1涓婄┖鎵樼洏\", 7, new List<string> { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n}", + "Content": "\r\nvar VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"缁村笇灏旀姄鑷�\");\r\n\r\nif (VERX != null)\r\n{\r\nLocRepository locservice = new LocRepository();\r\nLocContainerRepository loccontainerservice = new LocContainerRepository();\r\nLocEntity v1l = null;\r\nLocEntity v1r = null;\r\nLocEntity startLoc = null;\r\nLocEntity endLoc = null;\r\nList<LocEntity> emptyLoc = new List<LocEntity>();\r\n if (!string.IsNullOrEmpty(VERX.location[0]))\r\n {\r\n v1l = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[0]);\r\n //if (startLoc == null && startLoc.S_LOCK_STATE == \"鏃燶")\r\n if (v1l != null && v1l.N_CURRENT_NUM == 0 && v1l.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1l);\r\n }\r\n if (!string.IsNullOrEmpty(VERX.location[1]))\r\n {\r\n v1r = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[1]);\r\n if (v1r != null && v1r.N_CURRENT_NUM == 0 && v1r.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1r);\r\n }\r\n if (Tag.wxr1.R44&&Tag.wxr1.R10)\r\n {\r\n startLoc = v1l;\r\n }\r\n else if (Tag.wxr1.R46&&Tag.wxr1.R11)\r\n {\r\n startLoc = v1r;\r\n }\r\n\r\n ContainerRepository containerservice = new ContainerRepository();\r\n if (startLoc != null)\r\n {\r\n if (startLoc.N_CURRENT_NUM == 1)\r\n {\r\n if (startLoc.T_FULL_TIME == null)\r\n {\r\n //locservice.dbcontext.Set<LocEntity>().Attach(startLoc);\r\n startLoc.T_FULL_TIME = DateTime.Now;\r\n locservice.Update(startLoc);\r\n //locservice.dbcontext.Entry(startLoc).Property(x => x.T_FULL_TIME).IsModified = true;\r\n //locservice.dbcontext.SaveChanges();\r\n }\r\n if (startLoc.T_FULL_TIME != null && DateTime.Now.Subtract(startLoc.T_FULL_TIME ?? DateTime.Now).TotalSeconds > 30)\r\n {\r\n LocContainerEntity ent = loccontainerservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n foreach (var item in VERX.deviceNo)\r\n {\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n if (loc != null)\r\n {\r\n if (loc.N_CURRENT_NUM == 0)\r\n {\r\n endLoc = loc;\r\n break;\r\n }\r\n }\r\n }\r\n if (endLoc != null && ent != null)\r\n {\r\n var c = containerservice.FindEntity(x => x.S_CODE == ent.S_CNTR_CODE);\r\n c.S_TYPE = \"F\";\r\n containerservice.Update(c);\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"vxr1涓嬫枡\", 6, new List<string> { ent?.S_CNTR_CODE ?? \"TP\" + Settings.GetTimeStamp() }, 1, 1, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (emptyLoc.Any())\r\n {\r\n List<string> exclist = new List<string>();\r\n next:\r\n endLoc = emptyLoc.First();\r\n emptyLoc.Remove(endLoc);\r\n startLoc = null;\r\n ContainerEntity c = null;\r\n foreach (var lcode in VERX.deviceNo)\r\n {\r\n if (exclist.Contains(lcode))\r\n continue;\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == lcode && x.S_LOCK_STATE == \"鏃燶" && x.N_CURRENT_NUM == 1);\r\n if (loc != null)\r\n {\r\n var cntr = loccontainerservice.FindEntity(x => x.S_LOC_CODE == lcode);\r\n if (cntr != null)\r\n {\r\n c = containerservice.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE);\r\n if (c != null && c.S_TYPE == \"E\")\r\n {\r\n startLoc = loc;\r\n }\r\n }\r\n }\r\n exclist.Add(lcode);\r\n if (startLoc != null)\r\n break;\r\n }\r\n if (startLoc != null)\r\n {\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"vxr1涓婄┖鎵樼洏\", 7, new List<string> { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n}", + "ContentCopy": "\r\nvar VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"缁村笇灏旀姄鑷�\");\r\n\r\nif (VERX != null)\r\n{\r\nLocRepository locservice = new LocRepository();\r\nLocContainerRepository loccontainerservice = new LocContainerRepository();\r\nLocEntity v1l = null;\r\nLocEntity v1r = null;\r\nLocEntity startLoc = null;\r\nLocEntity endLoc = null;\r\nList<LocEntity> emptyLoc = new List<LocEntity>();\r\n if (!string.IsNullOrEmpty(VERX.location[0]))\r\n {\r\n v1l = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[0]);\r\n //if (startLoc == null && startLoc.S_LOCK_STATE == \"鏃燶")\r\n if (v1l != null && v1l.N_CURRENT_NUM == 0 && v1l.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1l);\r\n }\r\n if (!string.IsNullOrEmpty(VERX.location[1]))\r\n {\r\n v1r = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[1]);\r\n if (v1r != null && v1r.N_CURRENT_NUM == 0 && v1r.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1r);\r\n }\r\n if (Tag.wxr1.R44&&Tag.wxr1.R10)\r\n {\r\n startLoc = v1l;\r\n }\r\n else if (Tag.wxr1.R46&&Tag.wxr1.R11)\r\n {\r\n startLoc = v1r;\r\n }\r\n\r\n ContainerRepository containerservice = new ContainerRepository();\r\n if (startLoc != null)\r\n {\r\n if (startLoc.N_CURRENT_NUM == 1)\r\n {\r\n if (startLoc.T_FULL_TIME == null)\r\n {\r\n //locservice.dbcontext.Set<LocEntity>().Attach(startLoc);\r\n startLoc.T_FULL_TIME = DateTime.Now;\r\n locservice.Update(startLoc);\r\n //locservice.dbcontext.Entry(startLoc).Property(x => x.T_FULL_TIME).IsModified = true;\r\n //locservice.dbcontext.SaveChanges();\r\n }\r\n if (startLoc.T_FULL_TIME != null && DateTime.Now.Subtract(startLoc.T_FULL_TIME ?? DateTime.Now).TotalSeconds > 30)\r\n {\r\n LocContainerEntity ent = loccontainerservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n foreach (var item in VERX.deviceNo)\r\n {\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n if (loc != null)\r\n {\r\n if (loc.N_CURRENT_NUM == 0)\r\n {\r\n endLoc = loc;\r\n break;\r\n }\r\n }\r\n }\r\n if (endLoc != null && ent != null)\r\n {\r\n var c = containerservice.FindEntity(x => x.S_CODE == ent.S_CNTR_CODE);\r\n c.S_TYPE = \"F\";\r\n containerservice.Update(c);\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"vxr1涓嬫枡\", 6, new List<string> { ent?.S_CNTR_CODE ?? \"TP\" + Settings.GetTimeStamp() }, 1, 1, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (emptyLoc.Any())\r\n {\r\n List<string> exclist = new List<string>();\r\n next:\r\n endLoc = emptyLoc.First();\r\n emptyLoc.Remove(endLoc);\r\n startLoc = null;\r\n ContainerEntity c = null;\r\n foreach (var lcode in VERX.deviceNo)\r\n {\r\n if (exclist.Contains(lcode))\r\n continue;\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == lcode && x.S_LOCK_STATE == \"鏃燶" && x.N_CURRENT_NUM == 1);\r\n if (loc != null)\r\n {\r\n var cntr = loccontainerservice.FindEntity(x => x.S_LOC_CODE == lcode);\r\n if (cntr != null)\r\n {\r\n c = containerservice.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE);\r\n if (c != null && c.S_TYPE == \"E\")\r\n {\r\n startLoc = loc;\r\n }\r\n }\r\n }\r\n exclist.Add(lcode);\r\n if (startLoc != null)\r\n break;\r\n }\r\n if (startLoc != null)\r\n {\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"vxr1涓婄┖鎵樼洏\", 7, new List<string> { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n}", "ParentID": "20250325083047245", "Children": [], "Type": "Program", @@ -291,8 +295,8 @@ "ID": "20250325083325390", "Name": "鎹风灛鎶撹噦1", "Desc": "", - "Content": "//jsz1鎹风灛鎶撹噦1\r\nvar VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"鎹风灛鎶撹噦1\");\r\n\r\nif (VERX != null)\r\n{\r\nLocRepository locservice = new LocRepository();\r\nLocContainerRepository loccontainerservice = new LocContainerRepository();\r\nLocEntity v1l = null;\r\nLocEntity v1r = null;\r\nLocEntity startLoc = null;\r\nLocEntity endLoc = null;\r\nList<LocEntity> emptyLoc = new List<LocEntity>();\r\n if (!string.IsNullOrEmpty(VERX.location[0]))\r\n {\r\n v1l = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[0]);\r\n //if (startLoc == null && startLoc.S_LOCK_STATE == \"鏃燶")\r\n if (v1l != null && v1l.N_CURRENT_NUM == 0 && v1l.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1l);\r\n }\r\n if (!string.IsNullOrEmpty(VERX.location[1]))\r\n {\r\n v1r = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[1]);\r\n if (v1r != null && v1r.N_CURRENT_NUM == 0 && v1r.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1r);\r\n }\r\n if (Tag.js1.M40)\r\n {\r\n startLoc = v1l;\r\n }\r\n else if (Tag.js1.M41)\r\n {\r\n startLoc = v1r;\r\n }\r\n\r\n ContainerRepository containerservice = new ContainerRepository();\r\n if (startLoc != null)\r\n {\r\n if (startLoc.N_CURRENT_NUM == 1)\r\n {\r\n if (startLoc.T_FULL_TIME == null)\r\n {\r\n //locservice.dbcontext.Set<LocEntity>().Attach(startLoc);\r\n startLoc.T_FULL_TIME = DateTime.Now;\r\n locservice.Update(startLoc);\r\n //locservice.dbcontext.Entry(startLoc).Property(x => x.T_FULL_TIME).IsModified = true;\r\n //locservice.dbcontext.SaveChanges();\r\n }\r\n if (startLoc.T_FULL_TIME != null && DateTime.Now.Subtract(startLoc.T_FULL_TIME ?? DateTime.Now).TotalSeconds > 30)\r\n {\r\n LocContainerEntity ent = loccontainerservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n foreach (var item in VERX.deviceNo)\r\n {\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n if (loc != null)\r\n {\r\n if (loc.N_CURRENT_NUM == 0)\r\n {\r\n endLoc = loc;\r\n break;\r\n }\r\n }\r\n }\r\n if (endLoc != null && ent != null)\r\n {\r\n var c = containerservice.FindEntity(x => x.S_CODE == ent.S_CNTR_CODE);\r\n c.S_TYPE = \"E\";\r\n containerservice.Update(c);\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS1涓嬬┖\", 6, new List<string> { ent?.S_CNTR_CODE ?? \"TP\" + Settings.GetTimeStamp() }, 1, 1, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (emptyLoc.Any())\r\n {\r\n List<string> exclist = new List<string>();\r\n next:\r\n endLoc = emptyLoc.First();\r\n emptyLoc.Remove(endLoc);\r\n startLoc = null;\r\n ContainerEntity c = null;\r\n foreach (var lcode in VERX.deviceNo)\r\n {\r\n if (exclist.Contains(lcode))\r\n continue;\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == lcode && x.S_LOCK_STATE == \"鏃燶" && x.N_CURRENT_NUM == 1);\r\n if (loc != null)\r\n {\r\n var cntr = loccontainerservice.FindEntity(x => x.S_LOC_CODE == lcode);\r\n if (cntr != null)\r\n {\r\n c = containerservice.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE);\r\n if (c != null && c.S_TYPE == \"F\")\r\n {\r\n startLoc = loc;\r\n }\r\n }\r\n }\r\n exclist.Add(lcode);\r\n if (startLoc != null)\r\n break;\r\n }\r\n if (startLoc != null)\r\n {\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS1涓婃枡\", 7, new List<string> { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n}", - "ContentCopy": "//jsz1鎹风灛鎶撹噦1\r\nvar VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"鎹风灛鎶撹噦1\");\r\n\r\nif (VERX != null)\r\n{\r\nLocRepository locservice = new LocRepository();\r\nLocContainerRepository loccontainerservice = new LocContainerRepository();\r\nLocEntity v1l = null;\r\nLocEntity v1r = null;\r\nLocEntity startLoc = null;\r\nLocEntity endLoc = null;\r\nList<LocEntity> emptyLoc = new List<LocEntity>();\r\n if (!string.IsNullOrEmpty(VERX.location[0]))\r\n {\r\n v1l = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[0]);\r\n //if (startLoc == null && startLoc.S_LOCK_STATE == \"鏃燶")\r\n if (v1l != null && v1l.N_CURRENT_NUM == 0 && v1l.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1l);\r\n }\r\n if (!string.IsNullOrEmpty(VERX.location[1]))\r\n {\r\n v1r = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[1]);\r\n if (v1r != null && v1r.N_CURRENT_NUM == 0 && v1r.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1r);\r\n }\r\n if (Tag.js1.M40)\r\n {\r\n startLoc = v1l;\r\n }\r\n else if (Tag.js1.M41)\r\n {\r\n startLoc = v1r;\r\n }\r\n\r\n ContainerRepository containerservice = new ContainerRepository();\r\n if (startLoc != null)\r\n {\r\n if (startLoc.N_CURRENT_NUM == 1)\r\n {\r\n if (startLoc.T_FULL_TIME == null)\r\n {\r\n //locservice.dbcontext.Set<LocEntity>().Attach(startLoc);\r\n startLoc.T_FULL_TIME = DateTime.Now;\r\n locservice.Update(startLoc);\r\n //locservice.dbcontext.Entry(startLoc).Property(x => x.T_FULL_TIME).IsModified = true;\r\n //locservice.dbcontext.SaveChanges();\r\n }\r\n if (startLoc.T_FULL_TIME != null && DateTime.Now.Subtract(startLoc.T_FULL_TIME ?? DateTime.Now).TotalSeconds > 30)\r\n {\r\n LocContainerEntity ent = loccontainerservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n foreach (var item in VERX.deviceNo)\r\n {\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n if (loc != null)\r\n {\r\n if (loc.N_CURRENT_NUM == 0)\r\n {\r\n endLoc = loc;\r\n break;\r\n }\r\n }\r\n }\r\n if (endLoc != null && ent != null)\r\n {\r\n var c = containerservice.FindEntity(x => x.S_CODE == ent.S_CNTR_CODE);\r\n c.S_TYPE = \"E\";\r\n containerservice.Update(c);\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS1涓嬬┖\", 6, new List<string> { ent?.S_CNTR_CODE ?? \"TP\" + Settings.GetTimeStamp() }, 1, 1, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (emptyLoc.Any())\r\n {\r\n List<string> exclist = new List<string>();\r\n next:\r\n endLoc = emptyLoc.First();\r\n emptyLoc.Remove(endLoc);\r\n startLoc = null;\r\n ContainerEntity c = null;\r\n foreach (var lcode in VERX.deviceNo)\r\n {\r\n if (exclist.Contains(lcode))\r\n continue;\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == lcode && x.S_LOCK_STATE == \"鏃燶" && x.N_CURRENT_NUM == 1);\r\n if (loc != null)\r\n {\r\n var cntr = loccontainerservice.FindEntity(x => x.S_LOC_CODE == lcode);\r\n if (cntr != null)\r\n {\r\n c = containerservice.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE);\r\n if (c != null && c.S_TYPE == \"F\")\r\n {\r\n startLoc = loc;\r\n }\r\n }\r\n }\r\n exclist.Add(lcode);\r\n if (startLoc != null)\r\n break;\r\n }\r\n if (startLoc != null)\r\n {\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS1涓婃枡\", 7, new List<string> { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n}", + "Content": "//jsz1鎹风灛鎶撹噦1\r\nvar VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"鎹风灛鎶撹噦1\");\r\n\r\nif (VERX != null)\r\n{\r\nLocRepository locservice = new LocRepository();\r\nLocContainerRepository loccontainerservice = new LocContainerRepository();\r\nLocEntity v1l = null;\r\nLocEntity v1r = null;\r\nLocEntity startLoc = null;\r\nLocEntity endLoc = null;\r\nList<LocEntity> emptyLoc = new List<LocEntity>();\r\n if (!string.IsNullOrEmpty(VERX.location[0]))\r\n {\r\n v1l = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[0]);\r\n //if (startLoc == null && startLoc.S_LOCK_STATE == \"鏃燶")\r\n if (v1l != null && v1l.N_CURRENT_NUM == 0 && v1l.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1l);\r\n }\r\n if (!string.IsNullOrEmpty(VERX.location[1]))\r\n {\r\n v1r = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[1]);\r\n if (v1r != null && v1r.N_CURRENT_NUM == 0 && v1r.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1r);\r\n }\r\n if (Tag.js1.M40==1)\r\n {\r\n startLoc = v1l;\r\n }\r\n else if (Tag.js1.M41==1)\r\n {\r\n startLoc = v1r;\r\n }\r\n\r\n ContainerRepository containerservice = new ContainerRepository();\r\n if (startLoc != null)\r\n {\r\n if (startLoc.N_CURRENT_NUM == 1)\r\n {\r\n if (startLoc.T_FULL_TIME == null)\r\n {\r\n //locservice.dbcontext.Set<LocEntity>().Attach(startLoc);\r\n startLoc.T_FULL_TIME = DateTime.Now;\r\n locservice.Update(startLoc);\r\n //locservice.dbcontext.Entry(startLoc).Property(x => x.T_FULL_TIME).IsModified = true;\r\n //locservice.dbcontext.SaveChanges();\r\n }\r\n if (startLoc.T_FULL_TIME != null && DateTime.Now.Subtract(startLoc.T_FULL_TIME ?? DateTime.Now).TotalSeconds > 30)\r\n {\r\n LocContainerEntity ent = loccontainerservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n foreach (var item in VERX.deviceNo)\r\n {\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n if (loc != null)\r\n {\r\n if (loc.N_CURRENT_NUM == 0)\r\n {\r\n endLoc = loc;\r\n break;\r\n }\r\n }\r\n }\r\n if (endLoc != null && ent != null)\r\n {\r\n var c = containerservice.FindEntity(x => x.S_CODE == ent.S_CNTR_CODE);\r\n c.S_TYPE = \"E\";\r\n containerservice.Update(c);\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS1涓嬬┖\", 6, new List<string> { ent?.S_CNTR_CODE ?? \"TP\" + Settings.GetTimeStamp() }, 1, 1, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (emptyLoc.Any())\r\n {\r\n List<string> exclist = new List<string>();\r\n next:\r\n endLoc = emptyLoc.First();\r\n emptyLoc.Remove(endLoc);\r\n startLoc = null;\r\n ContainerEntity c = null;\r\n foreach (var lcode in VERX.deviceNo)\r\n {\r\n if (exclist.Contains(lcode))\r\n continue;\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == lcode && x.S_LOCK_STATE == \"鏃燶" && x.N_CURRENT_NUM == 1);\r\n if (loc != null)\r\n {\r\n var cntr = loccontainerservice.FindEntity(x => x.S_LOC_CODE == lcode);\r\n if (cntr != null)\r\n {\r\n c = containerservice.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE);\r\n if (c != null && c.S_TYPE == \"F\")\r\n {\r\n startLoc = loc;\r\n }\r\n }\r\n }\r\n exclist.Add(lcode);\r\n if (startLoc != null)\r\n break;\r\n }\r\n if (startLoc != null)\r\n {\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS1涓婃枡\", 7, new List<string> { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n}", + "ContentCopy": "//jsz1鎹风灛鎶撹噦1\r\nvar VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"鎹风灛鎶撹噦1\");\r\n\r\nif (VERX != null)\r\n{\r\nLocRepository locservice = new LocRepository();\r\nLocContainerRepository loccontainerservice = new LocContainerRepository();\r\nLocEntity v1l = null;\r\nLocEntity v1r = null;\r\nLocEntity startLoc = null;\r\nLocEntity endLoc = null;\r\nList<LocEntity> emptyLoc = new List<LocEntity>();\r\n if (!string.IsNullOrEmpty(VERX.location[0]))\r\n {\r\n v1l = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[0]);\r\n //if (startLoc == null && startLoc.S_LOCK_STATE == \"鏃燶")\r\n if (v1l != null && v1l.N_CURRENT_NUM == 0 && v1l.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1l);\r\n }\r\n if (!string.IsNullOrEmpty(VERX.location[1]))\r\n {\r\n v1r = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[1]);\r\n if (v1r != null && v1r.N_CURRENT_NUM == 0 && v1r.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1r);\r\n }\r\n if (Tag.js1.M40==1)\r\n {\r\n startLoc = v1l;\r\n }\r\n else if (Tag.js1.M41==1)\r\n {\r\n startLoc = v1r;\r\n }\r\n\r\n ContainerRepository containerservice = new ContainerRepository();\r\n if (startLoc != null)\r\n {\r\n if (startLoc.N_CURRENT_NUM == 1)\r\n {\r\n if (startLoc.T_FULL_TIME == null)\r\n {\r\n //locservice.dbcontext.Set<LocEntity>().Attach(startLoc);\r\n startLoc.T_FULL_TIME = DateTime.Now;\r\n locservice.Update(startLoc);\r\n //locservice.dbcontext.Entry(startLoc).Property(x => x.T_FULL_TIME).IsModified = true;\r\n //locservice.dbcontext.SaveChanges();\r\n }\r\n if (startLoc.T_FULL_TIME != null && DateTime.Now.Subtract(startLoc.T_FULL_TIME ?? DateTime.Now).TotalSeconds > 30)\r\n {\r\n LocContainerEntity ent = loccontainerservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n foreach (var item in VERX.deviceNo)\r\n {\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n if (loc != null)\r\n {\r\n if (loc.N_CURRENT_NUM == 0)\r\n {\r\n endLoc = loc;\r\n break;\r\n }\r\n }\r\n }\r\n if (endLoc != null && ent != null)\r\n {\r\n var c = containerservice.FindEntity(x => x.S_CODE == ent.S_CNTR_CODE);\r\n c.S_TYPE = \"E\";\r\n containerservice.Update(c);\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS1涓嬬┖\", 6, new List<string> { ent?.S_CNTR_CODE ?? \"TP\" + Settings.GetTimeStamp() }, 1, 1, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (emptyLoc.Any())\r\n {\r\n List<string> exclist = new List<string>();\r\n next:\r\n endLoc = emptyLoc.First();\r\n emptyLoc.Remove(endLoc);\r\n startLoc = null;\r\n ContainerEntity c = null;\r\n foreach (var lcode in VERX.deviceNo)\r\n {\r\n if (exclist.Contains(lcode))\r\n continue;\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == lcode && x.S_LOCK_STATE == \"鏃燶" && x.N_CURRENT_NUM == 1);\r\n if (loc != null)\r\n {\r\n var cntr = loccontainerservice.FindEntity(x => x.S_LOC_CODE == lcode);\r\n if (cntr != null)\r\n {\r\n c = containerservice.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE);\r\n if (c != null && c.S_TYPE == \"F\")\r\n {\r\n startLoc = loc;\r\n }\r\n }\r\n }\r\n exclist.Add(lcode);\r\n if (startLoc != null)\r\n break;\r\n }\r\n if (startLoc != null)\r\n {\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS1涓婃枡\", 7, new List<string> { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n}", "ParentID": "20250325083047245", "Children": [], "Type": "Program", @@ -330,8 +334,8 @@ "ID": "20250325083326611", "Name": "鎹风灛鎶撹噦2", "Desc": "", - "Content": "//jsz2鎹风灛鎶撹噦2\r\n\r\n var VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"鎹风灛鎶撹噦2\");\r\n\r\n if (VERX != null)\r\n {\r\nLocRepository locservice = new LocRepository();\r\nLocContainerRepository loccontainerservice = new LocContainerRepository();\r\nLocEntity v1l = null;\r\nLocEntity v1r = null;\r\nLocEntity startLoc = null;\r\nLocEntity endLoc = null;\r\nList<LocEntity> emptyLoc = new List<LocEntity>();\r\n if (!string.IsNullOrEmpty(VERX.location[0]))\r\n {\r\n v1l = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[0]);\r\n //if (startLoc == null && startLoc.S_LOCK_STATE == \"鏃燶")\r\n if (v1l != null && v1l.N_CURRENT_NUM == 0 && v1l.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1l);\r\n }\r\n if (!string.IsNullOrEmpty(VERX.location[1]))\r\n {\r\n v1r = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[1]);\r\n if (v1r != null && v1r.N_CURRENT_NUM == 0 && v1r.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1r);\r\n }\r\n if (Tag.js2.M40)\r\n\t\t\t\t {\r\n\t\t\t\t startLoc = v1l;\r\n\t\t\t\t }\r\n\t\t\t\t else if (Tag.js2.M41)\r\n {\r\n startLoc = v1r;\r\n }\r\n\r\n ContainerRepository containerservice = new ContainerRepository();\r\n if (startLoc != null)\r\n {\r\n if (startLoc.N_CURRENT_NUM == 1)\r\n {\r\n if (startLoc.T_FULL_TIME == null)\r\n {\r\n //locservice.dbcontext.Set<LocEntity>().Attach(startLoc);\r\n startLoc.T_FULL_TIME = DateTime.Now;\r\n locservice.Update(startLoc);\r\n //locservice.dbcontext.Entry(startLoc).Property(x => x.T_FULL_TIME).IsModified = true;\r\n //locservice.dbcontext.SaveChanges();\r\n }\r\n if (startLoc.T_FULL_TIME != null && DateTime.Now.Subtract(startLoc.T_FULL_TIME ?? DateTime.Now).TotalSeconds > 30)\r\n {\r\n LocContainerEntity ent = loccontainerservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n foreach (var item in VERX.deviceNo)\r\n {\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n if (loc != null)\r\n {\r\n if (loc.N_CURRENT_NUM == 0)\r\n {\r\n endLoc = loc;\r\n break;\r\n }\r\n }\r\n }\r\n if (endLoc != null && ent != null)\r\n {\r\n var c = containerservice.FindEntity(x => x.S_CODE == ent.S_CNTR_CODE);\r\n c.S_TYPE = \"E\";\r\n containerservice.Update(c);\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS2涓嬬┖\", 6, new List<string> { ent?.S_CNTR_CODE ?? \"TP\" + Settings.GetTimeStamp() }, 1, 1, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (emptyLoc.Any())\r\n {\r\n List<string> exclist = new List<string>();\r\n next:\r\n endLoc = emptyLoc.First();\r\n emptyLoc.Remove(endLoc);\r\n startLoc = null;\r\n ContainerEntity c = null;\r\n foreach (var lcode in VERX.deviceNo)\r\n {\r\n if (exclist.Contains(lcode))\r\n continue;\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == lcode && x.S_LOCK_STATE == \"鏃燶" && x.N_CURRENT_NUM == 1);\r\n if (loc != null)\r\n {\r\n var cntr = loccontainerservice.FindEntity(x => x.S_LOC_CODE == lcode);\r\n if (cntr != null)\r\n {\r\n c = containerservice.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE);\r\n if (c != null && c.S_TYPE == \"F\")\r\n {\r\n startLoc = loc;\r\n }\r\n }\r\n }\r\n exclist.Add(lcode);\r\n if (startLoc != null)\r\n break;\r\n }\r\n if (startLoc != null)\r\n {\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS2涓婃枡\", 7, new List<string> { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n }", - "ContentCopy": "//jsz2鎹风灛鎶撹噦2\r\n\r\n var VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"鎹风灛鎶撹噦2\");\r\n\r\n if (VERX != null)\r\n {\r\nLocRepository locservice = new LocRepository();\r\nLocContainerRepository loccontainerservice = new LocContainerRepository();\r\nLocEntity v1l = null;\r\nLocEntity v1r = null;\r\nLocEntity startLoc = null;\r\nLocEntity endLoc = null;\r\nList<LocEntity> emptyLoc = new List<LocEntity>();\r\n if (!string.IsNullOrEmpty(VERX.location[0]))\r\n {\r\n v1l = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[0]);\r\n //if (startLoc == null && startLoc.S_LOCK_STATE == \"鏃燶")\r\n if (v1l != null && v1l.N_CURRENT_NUM == 0 && v1l.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1l);\r\n }\r\n if (!string.IsNullOrEmpty(VERX.location[1]))\r\n {\r\n v1r = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[1]);\r\n if (v1r != null && v1r.N_CURRENT_NUM == 0 && v1r.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1r);\r\n }\r\n if (Tag.js2.M40)\r\n\t\t\t\t {\r\n\t\t\t\t startLoc = v1l;\r\n\t\t\t\t }\r\n\t\t\t\t else if (Tag.js2.M41)\r\n {\r\n startLoc = v1r;\r\n }\r\n\r\n ContainerRepository containerservice = new ContainerRepository();\r\n if (startLoc != null)\r\n {\r\n if (startLoc.N_CURRENT_NUM == 1)\r\n {\r\n if (startLoc.T_FULL_TIME == null)\r\n {\r\n //locservice.dbcontext.Set<LocEntity>().Attach(startLoc);\r\n startLoc.T_FULL_TIME = DateTime.Now;\r\n locservice.Update(startLoc);\r\n //locservice.dbcontext.Entry(startLoc).Property(x => x.T_FULL_TIME).IsModified = true;\r\n //locservice.dbcontext.SaveChanges();\r\n }\r\n if (startLoc.T_FULL_TIME != null && DateTime.Now.Subtract(startLoc.T_FULL_TIME ?? DateTime.Now).TotalSeconds > 30)\r\n {\r\n LocContainerEntity ent = loccontainerservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n foreach (var item in VERX.deviceNo)\r\n {\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n if (loc != null)\r\n {\r\n if (loc.N_CURRENT_NUM == 0)\r\n {\r\n endLoc = loc;\r\n break;\r\n }\r\n }\r\n }\r\n if (endLoc != null && ent != null)\r\n {\r\n var c = containerservice.FindEntity(x => x.S_CODE == ent.S_CNTR_CODE);\r\n c.S_TYPE = \"E\";\r\n containerservice.Update(c);\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS2涓嬬┖\", 6, new List<string> { ent?.S_CNTR_CODE ?? \"TP\" + Settings.GetTimeStamp() }, 1, 1, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (emptyLoc.Any())\r\n {\r\n List<string> exclist = new List<string>();\r\n next:\r\n endLoc = emptyLoc.First();\r\n emptyLoc.Remove(endLoc);\r\n startLoc = null;\r\n ContainerEntity c = null;\r\n foreach (var lcode in VERX.deviceNo)\r\n {\r\n if (exclist.Contains(lcode))\r\n continue;\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == lcode && x.S_LOCK_STATE == \"鏃燶" && x.N_CURRENT_NUM == 1);\r\n if (loc != null)\r\n {\r\n var cntr = loccontainerservice.FindEntity(x => x.S_LOC_CODE == lcode);\r\n if (cntr != null)\r\n {\r\n c = containerservice.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE);\r\n if (c != null && c.S_TYPE == \"F\")\r\n {\r\n startLoc = loc;\r\n }\r\n }\r\n }\r\n exclist.Add(lcode);\r\n if (startLoc != null)\r\n break;\r\n }\r\n if (startLoc != null)\r\n {\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS2涓婃枡\", 7, new List<string> { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n }", + "Content": "//jsz2鎹风灛鎶撹噦2\r\n\r\n var VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"鎹风灛鎶撹噦2\");\r\n\r\n if (VERX != null)\r\n {\r\nLocRepository locservice = new LocRepository();\r\nLocContainerRepository loccontainerservice = new LocContainerRepository();\r\nLocEntity v1l = null;\r\nLocEntity v1r = null;\r\nLocEntity startLoc = null;\r\nLocEntity endLoc = null;\r\nList<LocEntity> emptyLoc = new List<LocEntity>();\r\n if (!string.IsNullOrEmpty(VERX.location[0]))\r\n {\r\n v1l = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[0]);\r\n //if (startLoc == null && startLoc.S_LOCK_STATE == \"鏃燶")\r\n if (v1l != null && v1l.N_CURRENT_NUM == 0 && v1l.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1l);\r\n }\r\n if (!string.IsNullOrEmpty(VERX.location[1]))\r\n {\r\n v1r = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[1]);\r\n if (v1r != null && v1r.N_CURRENT_NUM == 0 && v1r.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1r);\r\n }\r\n if (Tag.js2.M40==1)\r\n\t\t\t\t {\r\n\t\t\t\t startLoc = v1l;\r\n\t\t\t\t }\r\n\t\t\t\t else if (Tag.js2.M41==1)\r\n {\r\n startLoc = v1r;\r\n }\r\n\r\n ContainerRepository containerservice = new ContainerRepository();\r\n if (startLoc != null)\r\n {\r\n if (startLoc.N_CURRENT_NUM == 1)\r\n {\r\n if (startLoc.T_FULL_TIME == null)\r\n {\r\n //locservice.dbcontext.Set<LocEntity>().Attach(startLoc);\r\n startLoc.T_FULL_TIME = DateTime.Now;\r\n locservice.Update(startLoc);\r\n //locservice.dbcontext.Entry(startLoc).Property(x => x.T_FULL_TIME).IsModified = true;\r\n //locservice.dbcontext.SaveChanges();\r\n }\r\n if (startLoc.T_FULL_TIME != null && DateTime.Now.Subtract(startLoc.T_FULL_TIME ?? DateTime.Now).TotalSeconds > 30)\r\n {\r\n LocContainerEntity ent = loccontainerservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n foreach (var item in VERX.deviceNo)\r\n {\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n if (loc != null)\r\n {\r\n if (loc.N_CURRENT_NUM == 0)\r\n {\r\n endLoc = loc;\r\n break;\r\n }\r\n }\r\n }\r\n if (endLoc != null && ent != null)\r\n {\r\n var c = containerservice.FindEntity(x => x.S_CODE == ent.S_CNTR_CODE);\r\n c.S_TYPE = \"E\";\r\n containerservice.Update(c);\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS2涓嬬┖\", 6, new List<string> { ent?.S_CNTR_CODE ?? \"TP\" + Settings.GetTimeStamp() }, 1, 1, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (emptyLoc.Any())\r\n {\r\n List<string> exclist = new List<string>();\r\n next:\r\n endLoc = emptyLoc.First();\r\n emptyLoc.Remove(endLoc);\r\n startLoc = null;\r\n ContainerEntity c = null;\r\n foreach (var lcode in VERX.deviceNo)\r\n {\r\n if (exclist.Contains(lcode))\r\n continue;\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == lcode && x.S_LOCK_STATE == \"鏃燶" && x.N_CURRENT_NUM == 1);\r\n if (loc != null)\r\n {\r\n var cntr = loccontainerservice.FindEntity(x => x.S_LOC_CODE == lcode);\r\n if (cntr != null)\r\n {\r\n c = containerservice.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE);\r\n if (c != null && c.S_TYPE == \"F\")\r\n {\r\n startLoc = loc;\r\n }\r\n }\r\n }\r\n exclist.Add(lcode);\r\n if (startLoc != null)\r\n break;\r\n }\r\n if (startLoc != null)\r\n {\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS2涓婃枡\", 7, new List<string> { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n }", + "ContentCopy": "//jsz2鎹风灛鎶撹噦2\r\n\r\n var VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"鎹风灛鎶撹噦2\");\r\n\r\n if (VERX != null)\r\n {\r\nLocRepository locservice = new LocRepository();\r\nLocContainerRepository loccontainerservice = new LocContainerRepository();\r\nLocEntity v1l = null;\r\nLocEntity v1r = null;\r\nLocEntity startLoc = null;\r\nLocEntity endLoc = null;\r\nList<LocEntity> emptyLoc = new List<LocEntity>();\r\n if (!string.IsNullOrEmpty(VERX.location[0]))\r\n {\r\n v1l = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[0]);\r\n //if (startLoc == null && startLoc.S_LOCK_STATE == \"鏃燶")\r\n if (v1l != null && v1l.N_CURRENT_NUM == 0 && v1l.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1l);\r\n }\r\n if (!string.IsNullOrEmpty(VERX.location[1]))\r\n {\r\n v1r = locservice.FindEntity(x => x.S_LOC_CODE == VERX.location[1]);\r\n if (v1r != null && v1r.N_CURRENT_NUM == 0 && v1r.S_LOCK_STATE == \"鏃燶")\r\n emptyLoc.Add(v1r);\r\n }\r\n if (Tag.js2.M40==1)\r\n\t\t\t\t {\r\n\t\t\t\t startLoc = v1l;\r\n\t\t\t\t }\r\n\t\t\t\t else if (Tag.js2.M41==1)\r\n {\r\n startLoc = v1r;\r\n }\r\n\r\n ContainerRepository containerservice = new ContainerRepository();\r\n if (startLoc != null)\r\n {\r\n if (startLoc.N_CURRENT_NUM == 1)\r\n {\r\n if (startLoc.T_FULL_TIME == null)\r\n {\r\n //locservice.dbcontext.Set<LocEntity>().Attach(startLoc);\r\n startLoc.T_FULL_TIME = DateTime.Now;\r\n locservice.Update(startLoc);\r\n //locservice.dbcontext.Entry(startLoc).Property(x => x.T_FULL_TIME).IsModified = true;\r\n //locservice.dbcontext.SaveChanges();\r\n }\r\n if (startLoc.T_FULL_TIME != null && DateTime.Now.Subtract(startLoc.T_FULL_TIME ?? DateTime.Now).TotalSeconds > 30)\r\n {\r\n LocContainerEntity ent = loccontainerservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n foreach (var item in VERX.deviceNo)\r\n {\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == startLoc.S_LOC_CODE);\r\n if (loc != null)\r\n {\r\n if (loc.N_CURRENT_NUM == 0)\r\n {\r\n endLoc = loc;\r\n break;\r\n }\r\n }\r\n }\r\n if (endLoc != null && ent != null)\r\n {\r\n var c = containerservice.FindEntity(x => x.S_CODE == ent.S_CNTR_CODE);\r\n c.S_TYPE = \"E\";\r\n containerservice.Update(c);\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS2涓嬬┖\", 6, new List<string> { ent?.S_CNTR_CODE ?? \"TP\" + Settings.GetTimeStamp() }, 1, 1, 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (emptyLoc.Any())\r\n {\r\n List<string> exclist = new List<string>();\r\n next:\r\n endLoc = emptyLoc.First();\r\n emptyLoc.Remove(endLoc);\r\n startLoc = null;\r\n ContainerEntity c = null;\r\n foreach (var lcode in VERX.deviceNo)\r\n {\r\n if (exclist.Contains(lcode))\r\n continue;\r\n var loc = locservice.FindEntity(x => x.S_LOC_CODE == lcode && x.S_LOCK_STATE == \"鏃燶" && x.N_CURRENT_NUM == 1);\r\n if (loc != null)\r\n {\r\n var cntr = loccontainerservice.FindEntity(x => x.S_LOC_CODE == lcode);\r\n if (cntr != null)\r\n {\r\n c = containerservice.FindEntity(x => x.S_CODE == cntr.S_CNTR_CODE);\r\n if (c != null && c.S_TYPE == \"F\")\r\n {\r\n startLoc = loc;\r\n }\r\n }\r\n }\r\n exclist.Add(lcode);\r\n if (startLoc != null)\r\n break;\r\n }\r\n if (startLoc != null)\r\n {\r\n TaskProcess.CreateTask(\"\", startLoc.S_LOC_CODE, endLoc.S_LOC_CODE, \"JS2涓婃枡\", 7, new List<string> { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n }", "ParentID": "20250325083047245", "Children": [], "Type": "Program", @@ -1028,6 +1032,6 @@ } ], "CreationTime": "2025-02-26 15:31:20", - "LastWriteTime": "2025-04-11 20:39:15", + "LastWriteTime": "2025-04-17 09:48:04", "HasSaved": true } \ No newline at end of file diff --git a/S7/Static/config.json b/S7/Static/config.json index 299e9e7..a41a6d8 100644 --- a/S7/Static/config.json +++ b/S7/Static/config.json @@ -1,6 +1,6 @@ { "HostToAgvServerUrl": "vvvvvvvvvvvv", - "HKbaseUrl": "http://172.16.10.42:8182/", + "HKbaseUrl": "http://10.221.55.249:8181/", "deviceInfo": [ { "address": "0", diff --git "a/S7/Variable/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.json" "b/S7/Variable/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.json" index c9da503..fe327c4 100644 --- "a/S7/Variable/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.json" +++ "b/S7/Variable/\345\217\230\351\207\217\346\225\260\346\215\256\345\272\223.json" @@ -1080,6 +1080,78 @@ "GroupID": "20250411091213369", "GroupFullName": "Tag.wxr1", "FullName": "Tag.wxr1.R52" + }, + { + "ID": "20250415152407780", + "Name": "wl", + "Desc": "1鍙锋暟閲�, + "Type": "System.Int16", + "ShortType": "", + "MinVal": "0", + "MaxVal": "", + "DefaultVal": "0", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", + "Converter": "", + "GroupID": "20250411091213369", + "GroupFullName": "Tag.wxr1", + "FullName": "Tag.wxr1.wl" + }, + { + "ID": "20250415152457283", + "Name": "w143", + "Desc": "1鍙蜂笂娆″崟娆℃姄鍙栦俊鍙凤紝涓嬫涓簍rue 涓旇繖涓负false 灏眞1 鍔�", + "Type": "System.Boolean", + "ShortType": "", + "MinVal": "0", + "MaxVal": "", + "DefaultVal": "false", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", + "Converter": "", + "GroupID": "20250411091213369", + "GroupFullName": "Tag.wxr1", + "FullName": "Tag.wxr1.w143" + }, + { + "ID": "20250415152710952", + "Name": "w2", + "Desc": "2鍙锋暟閲�, + "Type": "System.Int16", + "ShortType": "", + "MinVal": "0", + "MaxVal": "", + "DefaultVal": "0", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", + "Converter": "", + "GroupID": "20250411091213369", + "GroupFullName": "Tag.wxr1", + "FullName": "Tag.wxr1.w2" + }, + { + "ID": "20250415152711420", + "Name": "w245", + "Desc": "2鍙蜂笂娆″崟娆℃姄鍙栦俊鍙凤紝涓嬫涓簍rue 涓旇繖涓负false 灏眞2 鍔�", + "Type": "System.Boolean", + "ShortType": "", + "MinVal": "", + "MaxVal": "", + "DefaultVal": "false", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", + "Converter": "", + "GroupID": "20250411091213369", + "GroupFullName": "Tag.wxr1", + "FullName": "Tag.wxr1.w245" } ], "Children": [] @@ -1559,6 +1631,78 @@ "GroupID": "20250411091232150", "GroupFullName": "Tag.wxr2", "FullName": "Tag.wxr2.R52" + }, + { + "ID": "202504151524077801", + "Name": "wl", + "Desc": "1鍙锋暟閲�, + "Type": "System.Int16", + "ShortType": "", + "MinVal": "0", + "MaxVal": "", + "DefaultVal": "0", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", + "Converter": "", + "GroupID": "20250411091232150", + "GroupFullName": "Tag.wxr1", + "FullName": "Tag.wxr1.wl" + }, + { + "ID": "202504151524572831", + "Name": "w143", + "Desc": "1鍙蜂笂娆″崟娆℃姄鍙栦俊鍙凤紝涓嬫涓簍rue 涓旇繖涓负false 灏眞1 鍔�", + "Type": "System.Boolean", + "ShortType": "", + "MinVal": "0", + "MaxVal": "", + "DefaultVal": "false", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", + "Converter": "", + "GroupID": "20250411091232150", + "GroupFullName": "Tag.wxr1", + "FullName": "Tag.wxr1.w143" + }, + { + "ID": "202504151527109521", + "Name": "w2", + "Desc": "2鍙锋暟閲�, + "Type": "System.Int16", + "ShortType": "", + "MinVal": "0", + "MaxVal": "", + "DefaultVal": "0", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", + "Converter": "", + "GroupID": "20250411091232150", + "GroupFullName": "Tag.wxr1", + "FullName": "Tag.wxr1.w2" + }, + { + "ID": "202504151527114201", + "Name": "w245", + "Desc": "2鍙蜂笂娆″崟娆℃姄鍙栦俊鍙凤紝涓嬫涓簍rue 涓旇繖涓负false 灏眞2 鍔�", + "Type": "System.Boolean", + "ShortType": "", + "MinVal": "", + "MaxVal": "", + "DefaultVal": "false", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", + "Converter": "", + "GroupID": "20250411091232150", + "GroupFullName": "Tag.wxr1", + "FullName": "Tag.wxr1.w245" } ], "Children": [] @@ -1915,10 +2059,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M0", - "Map": "鎹风灛鎶撹噦2.M0", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -1933,10 +2077,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M4", - "Map": "鎹风灛鎶撹噦2.M4", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -1951,10 +2095,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M1", - "Map": "鎹风灛鎶撹噦2.M1", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -1969,10 +2113,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M2", - "Map": "鎹风灛鎶撹噦2.M2", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -1987,10 +2131,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M3", - "Map": "鎹风灛鎶撹噦2.M3", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2005,10 +2149,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M5", - "Map": "鎹风灛鎶撹噦2.M5", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2023,10 +2167,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M6", - "Map": "鎹风灛鎶撹噦2.M6", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2041,10 +2185,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M7", - "Map": "鎹风灛鎶撹噦2.M7", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2059,10 +2203,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M32", - "Map": "鎹风灛鎶撹噦2.M32", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2077,10 +2221,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M33", - "Map": "鎹风灛鎶撹噦2.M33", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2095,10 +2239,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M34", - "Map": "鎹风灛鎶撹噦2.M34", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2113,10 +2257,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M35", - "Map": "鎹风灛鎶撹噦2.M35", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2131,10 +2275,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M36", - "Map": "鎹风灛鎶撹噦2.M36", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2149,10 +2293,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M37", - "Map": "鎹风灛鎶撹噦2.M37", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2167,10 +2311,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M38", - "Map": "鎹风灛鎶撹噦2.M38", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2185,10 +2329,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M39", - "Map": "鎹风灛鎶撹噦2.M39", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2203,10 +2347,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M40", - "Map": "鎹风灛鎶撹噦2.M40", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2221,10 +2365,10 @@ "MinVal": "", "MaxVal": "", "DefaultVal": "", - "MapDevice": "鎹风灛鎶撹噦2", - "MapParam": "M41", - "Map": "鎹风灛鎶撹噦2.M41", - "Queue": "鎹风灛鎶撹噦2Queue", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", "Converter": "", "GroupID": "20250411091247262", "GroupFullName": "Tag.js2", @@ -2232,11 +2376,40 @@ } ], "Children": [] + }, + { + "ID": "20250415152100836", + "Name": "Global", + "Desc": "", + "ParentID": "20250226153123812", + "ParentFullName": "Tag", + "FullName": "Tag.Global", + "Vars": [ + { + "ID": "20250415152113172", + "Name": "SettingsOver", + "Desc": "鍒濆鍖栨垚鍔熷悗涓�.1浠ュ悗鑷銆傝揪鍒版煇浜涙潯浠跺氨閲嶈浇", + "Type": "System.UInt16", + "ShortType": "", + "MinVal": "0", + "MaxVal": "1000", + "DefaultVal": "0", + "MapDevice": "", + "MapParam": "", + "Map": "", + "Queue": "", + "Converter": "", + "GroupID": "20250415152100836", + "GroupFullName": "Tag.Global", + "FullName": "Tag.Global.SettingsOver" + } + ], + "Children": [] } ] }, "CreationTime": "2025-02-26 15:31:23", - "LastWriteTime": "2025-04-11 11:32:53", + "LastWriteTime": "2025-04-17 14:19:39", "Sample": { "ID": "", "Name": "Tag", diff --git a/S7/ndp461-devpack-kb3105179-enu.exe b/S7/ndp461-devpack-kb3105179-enu.exe new file mode 100644 index 0000000..a79de72 --- /dev/null +++ b/S7/ndp461-devpack-kb3105179-enu.exe Binary files differ -- Gitblit v1.9.1