{ "ProjectSn": "", "Directory": "", "Snippets": [ { "ID": "20250226153120175", "Name": "业务逻辑", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "", "Children": [ { "ID": "20250312161912180", "Name": "Program1", "Desc": "", "Content": "if(Tag.PLC1.Param111111){\r\n\tvar msg = \"\";\r\n\tGZ.Modular.Redis.WriteGroupEntity group = new GZ.Modular.Redis.WriteGroupEntity();\r\n\tgroup.groupName = \"PLC1.jss1捷瞬输送1\";\r\n\tgroup.queueStatus = 1;\r\n\tgroup.queueTime = DateTime.Now;\r\n\t\r\n\tgroup.writeList = new List();\r\n\tGZ.Modular.Redis.ParamData barcodeData = new GZ.Modular.Redis.ParamData();\r\n\tbarcodeData.paramName = \"PLC1.Param2\";\r\n\tbarcodeData.paramValue = \"false\";\r\n\t\r\n\tGZ.Modular.Redis.ParamData sendData = new GZ.Modular.Redis.ParamData();\r\n\tsendData.paramName = \"PLC1.Param3\";\r\n\tsendData.paramValue = \"false\";\r\n\t\r\n\tgroup.writeList.Add(barcodeData);\r\n\tgroup.writeList.Add(sendData);\r\n\t\r\n\tmsg += $\"\\r\\n\\t[WriteSend][{DateTime.Now.ToString(\"yyyy/MM/dd HH:mm:ss:fff\")}]写PLC:\";\r\n\tmsg += Conn.默认Redis.SetQueue(group, \"PLC1Queue\",\"PLC1.Param1_LAST\", \"0\") ? \"--成功\" : \"--失败\";\r\n\t\r\n\tConsole.WriteLine( msg);\r\n\r\n\r\n ITaskRepository MainMissionService = new TaskRepository();\r\n var vv = MainMissionService.FindList(x => string.IsNullOrEmpty(x.S_END_LOC));\r\n if (!vv.Any())\r\n {\r\n TaskEntity t = new TaskEntity()\r\n {\r\n S_ID = Guid.NewGuid().ToString(),\r\n S_STATE = \"\",\r\n S_TASK_NO = \"1111\",\r\n T_CREATE = DateTime.Now,\r\n T_MODIFY = DateTime.Now,\r\n };\r\n MainMissionService.Insert(t);\r\n }\r\n else\r\n {\r\n //MainMissionService.dbcontext.Database.BeginTransaction();\r\n var v = vv.FirstOrDefault();\r\n v.T_MODIFY = DateTime.Now;\r\n MainMissionService.Update(v);\r\n }\r\n}", "ContentCopy": "if(Tag.PLC1.Param111111){\r\n\tvar msg = \"\";\r\n\tGZ.Modular.Redis.WriteGroupEntity group = new GZ.Modular.Redis.WriteGroupEntity();\r\n\tgroup.groupName = \"PLC1.jss1捷瞬输送1\";\r\n\tgroup.queueStatus = 1;\r\n\tgroup.queueTime = DateTime.Now;\r\n\t\r\n\tgroup.writeList = new List();\r\n\tGZ.Modular.Redis.ParamData barcodeData = new GZ.Modular.Redis.ParamData();\r\n\tbarcodeData.paramName = \"PLC1.Param2\";\r\n\tbarcodeData.paramValue = \"false\";\r\n\t\r\n\tGZ.Modular.Redis.ParamData sendData = new GZ.Modular.Redis.ParamData();\r\n\tsendData.paramName = \"PLC1.Param3\";\r\n\tsendData.paramValue = \"false\";\r\n\t\r\n\tgroup.writeList.Add(barcodeData);\r\n\tgroup.writeList.Add(sendData);\r\n\t\r\n\tmsg += $\"\\r\\n\\t[WriteSend][{DateTime.Now.ToString(\"yyyy/MM/dd HH:mm:ss:fff\")}]写PLC:\";\r\n\tmsg += Conn.默认Redis.SetQueue(group, \"PLC1Queue\",\"PLC1.Param1_LAST\", \"0\") ? \"--成功\" : \"--失败\";\r\n\t\r\n\tConsole.WriteLine( msg);\r\n\r\n\r\n ITaskRepository MainMissionService = new TaskRepository();\r\n var vv = MainMissionService.FindList(x => string.IsNullOrEmpty(x.S_END_LOC));\r\n if (!vv.Any())\r\n {\r\n TaskEntity t = new TaskEntity()\r\n {\r\n S_ID = Guid.NewGuid().ToString(),\r\n S_STATE = \"\",\r\n S_TASK_NO = \"1111\",\r\n T_CREATE = DateTime.Now,\r\n T_MODIFY = DateTime.Now,\r\n };\r\n MainMissionService.Insert(t);\r\n }\r\n else\r\n {\r\n //MainMissionService.dbcontext.Database.BeginTransaction();\r\n var v = vv.FirstOrDefault();\r\n v.T_MODIFY = DateTime.Now;\r\n MainMissionService.Update(v);\r\n }\r\n}", "ParentID": "20250226153120175", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.Program1", "ParentFullName": "业务逻辑", "Enabled": "Enabled" }, { "ID": "20250313134354359", "Name": "Program2", "Desc": "", "Content": "if(Tag.PLC1.Param111111){\r\n\tvar msg = \"\";\r\n\tGZ.Modular.Redis.WriteGroupEntity group = new GZ.Modular.Redis.WriteGroupEntity();\r\n\tgroup.groupName = \"PLC1.ssx2Xplc\";\r\n\tgroup.queueStatus = 1;\r\n\tgroup.queueTime = DateTime.Now;\r\n\t\r\n\tgroup.writeList = new List();\r\n\tGZ.Modular.Redis.ParamData barcodeData = new GZ.Modular.Redis.ParamData();\r\n\tbarcodeData.paramName = \"PLC1.Param4\";\r\n\tbarcodeData.paramValue = Tag.PLC1.Param4+1+\"\";\r\n\t\r\n\tGZ.Modular.Redis.ParamData sendData = new GZ.Modular.Redis.ParamData();\r\n\tsendData.paramName = \"PLC1.Param5\";\r\n\tsendData.paramValue = Tag.PLC1.Param5+2+\"\";\r\n\t\r\n\tgroup.writeList.Add(barcodeData);\r\n\tgroup.writeList.Add(sendData);\r\n\t\r\n\tmsg += $\"\\r\\n\\t[WriteSend][{DateTime.Now.ToString(\"yyyy/MM/dd HH:mm:ss:fff\")}]写PLC:\";\r\n\tmsg += Conn.默认Redis.SetQueue(group, \"PLC1Queue\", \"PLC1.Param1_LAST\", \"1\") ? \"--成功\" : \"--失败\";\r\n\t\r\n\tConsole.WriteLine( msg);\r\n\r\n}", "ContentCopy": "if(Tag.PLC1.Param111111){\r\n\tvar msg = \"\";\r\n\tGZ.Modular.Redis.WriteGroupEntity group = new GZ.Modular.Redis.WriteGroupEntity();\r\n\tgroup.groupName = \"PLC1.ssx2Xplc\";\r\n\tgroup.queueStatus = 1;\r\n\tgroup.queueTime = DateTime.Now;\r\n\t\r\n\tgroup.writeList = new List();\r\n\tGZ.Modular.Redis.ParamData barcodeData = new GZ.Modular.Redis.ParamData();\r\n\tbarcodeData.paramName = \"PLC1.Param4\";\r\n\tbarcodeData.paramValue = Tag.PLC1.Param4+1+\"\";\r\n\t\r\n\tGZ.Modular.Redis.ParamData sendData = new GZ.Modular.Redis.ParamData();\r\n\tsendData.paramName = \"PLC1.Param5\";\r\n\tsendData.paramValue = Tag.PLC1.Param5+2+\"\";\r\n\t\r\n\tgroup.writeList.Add(barcodeData);\r\n\tgroup.writeList.Add(sendData);\r\n\t\r\n\tmsg += $\"\\r\\n\\t[WriteSend][{DateTime.Now.ToString(\"yyyy/MM/dd HH:mm:ss:fff\")}]写PLC:\";\r\n\tmsg += Conn.默认Redis.SetQueue(group, \"PLC1Queue\", \"PLC1.Param1_LAST\", \"1\") ? \"--成功\" : \"--失败\";\r\n\t\r\n\tConsole.WriteLine( msg);\r\n\r\n}", "ParentID": "20250226153120175", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.Program2", "ParentFullName": "业务逻辑", "Enabled": "Enabled" }, { "ID": "20250323111613779", "Name": "初始化配置", "Desc": "", "Content": "SettingInit();\r\n", "ContentCopy": "SettingInit();\r\n", "ParentID": "20250226153120175", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 10000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.初始化配置", "ParentFullName": "业务逻辑", "Enabled": "Enabled" }, { "ID": "20250323151832119", "Name": "Program4", "Desc": "", "Content": "//Conn.默认Redis.SetValue(\"西门子2.Param3\",\"300\",\"西门子2Queue\");\r\n\r\n List locs = new List() { \"vxr1l\", \"vx1r\", \"vxr1c1\", \"vxr1c2\", \"vxr2l\", \"vxr2r\", \"vxr2c1\", \"vxr2c2\" };\r\n List sites = new List() { \"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 { \"test\" }, 1, 1, 1);\r\n", "ContentCopy": "//Conn.默认Redis.SetValue(\"西门子2.Param3\",\"300\",\"西门子2Queue\");\r\n\r\n List locs = new List() { \"vxr1l\", \"vx1r\", \"vxr1c1\", \"vxr1c2\", \"vxr2l\", \"vxr2r\", \"vxr2c1\", \"vxr2c2\" };\r\n List sites = new List() { \"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 { \"test\" }, 1, 1, 1);\r\n", "ParentID": "20250226153120175", "Children": [], "Type": "Program", "Property": { "SyncExec": "True", "RepeatExec": "Count", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.Program4", "ParentFullName": "业务逻辑", "Enabled": "Enabled" }, { "ID": "20250325083047245", "Name": "第三标段", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250226153120175", "Children": [ { "ID": "20250325083149366", "Name": "维希尔抓臂1", "Desc": "", "Content": "\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 emptyLoc = new List();\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().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 { 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 exclist = new List();\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 { 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 == \"维希尔抓臂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 emptyLoc = new List();\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().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 { 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 exclist = new List();\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 { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n}", "ParentID": "20250325083047245", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第三标段.维希尔抓臂1", "ParentFullName": "业务逻辑.第三标段", "Enabled": "Enabled" }, { "ID": "20250325083315503", "Name": "维希尔抓臂2", "Desc": "", "Content": "//vrx2维希尔抓臂2\r\nvar VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"维希尔抓臂2\");\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 emptyLoc = new List();\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.wxr2.R44)\r\n {\r\n startLoc = v1l;\r\n }\r\n else if (Tag.wxr2.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().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, \"vxr2下料\", 6, new List { 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 exclist = new List();\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, \"vxr2上空托盘\", 7, new List { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n}", "ContentCopy": "//vrx2维希尔抓臂2\r\nvar VERX = Settings.deviceInfos?.Find(x => x.deviceName == \"维希尔抓臂2\");\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 emptyLoc = new List();\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.wxr2.R44)\r\n {\r\n startLoc = v1l;\r\n }\r\n else if (Tag.wxr2.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().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, \"vxr2下料\", 6, new List { 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 exclist = new List();\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, \"vxr2上空托盘\", 7, new List { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n}", "ParentID": "20250325083047245", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第三标段.维希尔抓臂2", "ParentFullName": "业务逻辑.第三标段", "Enabled": "Enabled" }, { "ID": "20250325083324489", "Name": "捷瞬输送2", "Desc": "", "Content": "//jss2捷瞬输送2", "ContentCopy": "//jss2捷瞬输送2", "ParentID": "20250325083047245", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "None", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第三标段.捷瞬输送2", "ParentFullName": "业务逻辑.第三标段", "Enabled": "Enabled" }, { "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 emptyLoc = new List();\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().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 { 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 exclist = new List();\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 { 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 emptyLoc = new List();\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().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 { 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 exclist = new List();\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 { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n}", "ParentID": "20250325083047245", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第三标段.捷瞬抓臂1", "ParentFullName": "业务逻辑.第三标段", "Enabled": "Enabled" }, { "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 emptyLoc = new List();\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().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 { 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 exclist = new List();\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 { 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 emptyLoc = new List();\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().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 { 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 exclist = new List();\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 { c?.S_CODE }, 1, 1, 1);\r\n }\r\n if (emptyLoc.Any()) goto next;\r\n }\r\n }", "ParentID": "20250325083047245", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第三标段.捷瞬抓臂2", "ParentFullName": "业务逻辑.第三标段", "Enabled": "Enabled" }, { "ID": "20250325085810885", "Name": "自流转流程", "Desc": "", "Content": "foreach(var di in Settings.deviceInfos)\r\n\tif (di.deviceType == 2 || di.deviceType == 1)\r\n\tRunafterMac(di,true);", "ContentCopy": "foreach(var di in Settings.deviceInfos)\r\n\tif (di.deviceType == 2 || di.deviceType == 1)\r\n\tRunafterMac(di,true);", "ParentID": "20250325083047245", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第三标段.自流转流程", "ParentFullName": "业务逻辑.第三标段", "Enabled": "Enabled" }, { "ID": "20250325083323322", "Name": "捷瞬输送1", "Desc": "", "Content": "//jss1捷瞬输送1Tag.vrx2维希尔抓臂2", "ContentCopy": "//jss1捷瞬输送1Tag.vrx2维希尔抓臂2", "ParentID": "20250325083047245", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "None", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第三标段.捷瞬输送1", "ParentFullName": "业务逻辑.第三标段", "Enabled": "Enabled" } ], "Type": "Group", "Property": { "SyncExec": "False", "RepeatExec": "None", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第三标段", "ParentFullName": "业务逻辑", "Enabled": "Enabled" }, { "ID": "20250407133254772", "Name": "第一标段", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250226153120175", "Children": [ { "ID": "20250407134010436", "Name": "P3005部件下线", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250407133254772", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第一标段.P3005部件下线", "ParentFullName": "业务逻辑.第一标段", "Enabled": "Enabled" }, { "ID": "20250407134052636", "Name": "P3010部件下线", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250407133254772", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第一标段.P3010部件下线", "ParentFullName": "业务逻辑.第一标段", "Enabled": "Enabled" }, { "ID": "20250407135423962", "Name": "P1023定空下线", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250407133254772", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第一标段.P1023定空下线", "ParentFullName": "业务逻辑.第一标段", "Enabled": "Enabled" }, { "ID": "20250407135424914", "Name": "P1020转空下线", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250407133254772", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第一标段.P1020转空下线", "ParentFullName": "业务逻辑.第一标段", "Enabled": "Enabled" }, { "ID": "20250407135527834", "Name": "P1010定满下线", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250407133254772", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第一标段.P1010定满下线", "ParentFullName": "业务逻辑.第一标段", "Enabled": "Enabled" }, { "ID": "20250407135528735", "Name": "P1016定满下线", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250407133254772", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第一标段.P1016定满下线", "ParentFullName": "业务逻辑.第一标段", "Enabled": "Enabled" }, { "ID": "20250407135612507", "Name": "P1002转满下线", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250407133254772", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第一标段.P1002转满下线", "ParentFullName": "业务逻辑.第一标段", "Enabled": "Enabled" }, { "ID": "20250407135613444", "Name": "P1008转满下线", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250407133254772", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第一标段.P1008转满下线", "ParentFullName": "业务逻辑.第一标段", "Enabled": "Enabled" }, { "ID": "20250407140005762", "Name": "P1019转满下线", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250407133254772", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第一标段.P1019转满下线", "ParentFullName": "业务逻辑.第一标段", "Enabled": "Enabled" }, { "ID": "20250407140038970", "Name": "P1030定空转换", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250407133254772", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第一标段.P1030定空转换", "ParentFullName": "业务逻辑.第一标段", "Enabled": "Enabled" }, { "ID": "20250407140823434", "Name": "P2000定满出炉下线", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250407133254772", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第一标段.P2000定满出炉下线", "ParentFullName": "业务逻辑.第一标段", "Enabled": "Enabled" } ], "Type": "Group", "Property": { "SyncExec": "False", "RepeatExec": "None", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.第一标段", "ParentFullName": "业务逻辑", "Enabled": "Enabled" }, { "ID": "20250325085542733", "Name": "任务下发", "Desc": "", "Content": "ITaskRepository taskservice = new TaskRepository();\r\nvar tklist = taskservice.FindList(x => x.S_B_STATE == \"未执行\");\r\nforeach (var tk in tklist.GroupBy(item =>\r\n{\r\n var ticks = item.T_CREATE.Ticks;\r\n return new DateTime(ticks - ticks % (10 * TimeSpan.TicksPerMinute));\r\n}).OrderBy(x => x.Key))\r\n{\r\n var ts = tk.OrderByDescending(x => x.N_PRIORITY).ToList();\r\n foreach (var t in ts)\r\n {\r\n var b = RunTask(t);\r\n if (b)\r\n {\r\n t.S_B_STATE = \"已推送\";\r\n taskservice.Update(t);\r\n }\r\n }\r\n break;\r\n}", "ContentCopy": "ITaskRepository taskservice = new TaskRepository();\r\nvar tklist = taskservice.FindList(x => x.S_B_STATE == \"未执行\");\r\nforeach (var tk in tklist.GroupBy(item =>\r\n{\r\n var ticks = item.T_CREATE.Ticks;\r\n return new DateTime(ticks - ticks % (10 * TimeSpan.TicksPerMinute));\r\n}).OrderBy(x => x.Key))\r\n{\r\n var ts = tk.OrderByDescending(x => x.N_PRIORITY).ToList();\r\n foreach (var t in ts)\r\n {\r\n var b = RunTask(t);\r\n if (b)\r\n {\r\n t.S_B_STATE = \"已推送\";\r\n taskservice.Update(t);\r\n }\r\n }\r\n break;\r\n}", "ParentID": "20250226153120175", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.任务下发", "ParentFullName": "业务逻辑", "Enabled": "Enabled" }, { "ID": "20250531163653189", "Name": "处理线程", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250226153120175", "Children": [ { "ID": "20250531163716255", "Name": "ResolveMesTask", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "20250531163653189", "Children": [], "Type": "Program", "Property": { "SyncExec": "False", "RepeatExec": "Until", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "View", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": { "20250306140515428": [ "Open" ] } }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.处理线程.ResolveMesTask", "ParentFullName": "业务逻辑.处理线程", "Enabled": "Enabled" } ], "Type": "Group", "Property": { "SyncExec": "False", "RepeatExec": "None", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑.处理线程", "ParentFullName": "业务逻辑", "Enabled": "Enabled" } ], "Type": "Group", "Property": { "SyncExec": "False", "RepeatExec": "None", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "业务逻辑", "ParentFullName": "", "Enabled": "Enabled" }, { "ID": "20250226153120181", "Name": "界面处理", "Desc": "", "Content": "", "ContentCopy": "", "ParentID": "", "Children": [], "Type": "Group", "Property": { "SyncExec": "False", "RepeatExec": "None", "ExceCount": 1, "ExceInternal": 3000, "StartCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} }, "EndCondition": { "Type": "None", "Event": "", "Expression": "", "Judge": "", "Command": {}, "HmiEvent": {} } }, "FullName": "界面处理", "ParentFullName": "", "Enabled": "Enabled" } ], "CreationTime": "2025-02-26 15:31:20", "LastWriteTime": "2025-05-31 16:38:12", "HasSaved": true }