From 1975f9e8547d6a5710408487ee1f557a68e61313 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期二, 15 十月 2024 08:43:31 +0800 Subject: [PATCH] 工作台页面增加出库锁定和入库锁定开关,任务管理页面增加置顶任务功能 --- Admin.NET/WCS.Application/PLC/PLCService.cs | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 51 insertions(+), 5 deletions(-) diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs index ae1bd5a..2d0be31 100644 --- a/Admin.NET/WCS.Application/PLC/PLCService.cs +++ b/Admin.NET/WCS.Application/PLC/PLCService.cs @@ -64,12 +64,17 @@ // 璺烘満绌洪棽锛岃幏鍙栧嚭搴撲换鍔°�佺Щ搴撲换鍔� { // 鑾峰彇浠诲姟淇℃伅 - var modTask = _db.Queryable<WcsTask>().OrderBy(m => m.CreateTime).OrderBy(m => m.Levels, OrderByType.Desc) + var modTask = _db.Queryable<WcsTask>().OrderBy(m => m.CreateTime).OrderBy(m => m.Levels, OrderByType.Asc) .First(s => s.Status == TaskStatusEnum.Wait && (s.TaskType == TaskTypeEnum.Out || s.TaskType == TaskTypeEnum.Move) && s.StartRoadway == modDevice.StationNum); if (modTask == null) { break; + } + //鍒ゆ柇鍑哄簱閿佸畾鏄惁鎵撳紑 + if (PLCTaskAction.boOutLock) + { + break;//鍑哄簱閿佸畾鎵撳紑鍒欎笉鎵ц鍑哄簱浠诲姟 } PlcTaskInfo taskInfo = new PlcTaskInfo(); @@ -498,7 +503,7 @@ // 鏍规嵁浠诲姟鍙疯幏鍙栬捣濮嬪伐浣嶅湴鍧�锛屾牴鎹捣濮嬪伐浣嶅湴鍧�鑾峰彇LEDIP 鎺ㄩ�佸埌LED灞忓箷銆� var taskModel = _db.Queryable<WcsTask>().First(w => w.TaskNo == modTask.TaskNo); - modDevice.LedIP = _db.Queryable<WcsDevice>().Where(w => w.StationNum == taskModel.StartLocate).Select(s => s.LedIP).First(); + modDevice.LedIP = _db.Queryable<WcsDevice>().Where(w => w.StationNum == taskModel.EndLocate).Select(s => s.LedIP).First(); // led鏄剧ず鍐呭 LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modDevice.StationNum, "鍑哄簱涓� ", "鎵樼洏鍙�:" + modTask.PalletNo); @@ -529,6 +534,7 @@ // 鏀瑰彉浠诲姟鐘舵�� modTask.Status = TaskStatusEnum.Complete; modTask.FinishDate = DateTime.Now; + modTask.Levels = 999; _db.Updateable(modTask).ExecuteCommand(); //涓嬪彂浠诲姟鏃ュ織 HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>()); @@ -950,7 +956,6 @@ break; case "330": { - // 鍐欏叆浠诲姟 鎵樼洏绉诲姩 340 // 鑾峰彇宸ヤ綅鎵樼洏鐮佷俊鎭� @@ -967,6 +972,11 @@ { // 姝ゆ墭鐩樻病鏈夊搴旂殑杞Щ浠诲姟 led鏄剧ず break; + } + //鍒ゆ柇鍏ュ簱閿佸畾鏄惁鎵撳紑 + if (PLCTaskAction.boEnterLock) + { + break;//鍏ュ簱閿佸畾鎵撳紑鍒欎笉鎵ц鍏ュ簱浠诲姟 } // 鑾峰彇宸烽亾鍙e叆搴撳伐浣� @@ -1279,7 +1289,7 @@ // 鏍规嵁浠诲姟鍙疯幏鍙栬捣濮嬪伐浣嶅湴鍧�锛屾牴鎹捣濮嬪伐浣嶅湴鍧�鑾峰彇LEDIP 鎺ㄩ�佸埌LED灞忓箷銆� var taskInfo = _db.Queryable<WcsTask>().First(w => w.TaskNo == modInsertTaskMonitor.TaskNo); - modDevice.LedIP = _db.Queryable<WcsDevice>().Where(w => w.StationNum == taskInfo.StartLocate).Select(s => s.LedIP).First(); + modDevice.LedIP = _db.Queryable<WcsDevice>().Where(w => w.StationNum == taskInfo.EndLocate).Select(s => s.LedIP).First(); // led鏄剧ず鍐呭 LedDisplay(modDevice.LedIP, "鍒拌揪宸ヤ綅:" + modDevice.StationNum, "鍑哄簱瀹屾垚 " + $"鍌ㄤ綅鍦板潃锛歿modInsertTaskMonitor.StartLocat}", "鎵樼洏鍙�:" + palletVal); @@ -1317,6 +1327,7 @@ // 鏀瑰彉浠诲姟鐘舵�� modTask.Status = TaskStatusEnum.Complete; modTask.FinishDate = DateTime.Now; + modTask.Levels = 999; _db.Updateable(modTask).ExecuteCommand(); HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>()); // 鎻掑叆浠诲姟鏄庣粏 @@ -1359,7 +1370,7 @@ // 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈� HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>()); // led鏄剧ず鍐呭 - modDevice.LedIP = _db.Queryable<WcsDevice>().Where(w => w.StationNum == modTask.StartLocate).Select(s => s.LedIP).First(); + modDevice.LedIP = _db.Queryable<WcsDevice>().Where(w => w.StationNum == modTask.EndLocate).Select(s => s.LedIP).First(); LedDisplay(modDevice.LedIP, "宸ヤ綅:" + modTask.StartLocate, $"鎷i�夊畬鎴愶紝鎵樼洏绂诲紑宸ヤ綅", "鎵樼洏鍙�:" + modTask.PalletNo); } #endregion @@ -1419,6 +1430,7 @@ // 鏀瑰彉浠诲姟鐘舵�� modTask.Status = TaskStatusEnum.Complete; modTask.FinishDate = DateTime.Now; + modTask.Levels = 999; _db.Updateable(modTask).ExecuteCommand(); HubUtil.PublicTask(modTask.Adapt<WcsTaskOutput>()); @@ -1793,6 +1805,23 @@ // 灏嗗叆搴撲换鍔$敱姝e湪鎵ц鏀逛负姝e湪鎵ц taskModel.Status = TaskStatusEnum.Doing; _db.Updateable(taskModel).ExecuteCommand(); + + // 鎻掑叆浠诲姟鏄庣粏 + var modInsertTaskMonitor = new WcsTaskMonitor() + { + TaskNo = TaskNo, + PlcId = modDevice.Id, + PlcName = modDevice.Text, + InteractiveMsg = $"鍐欏叆鎸囦护50锛氱敵璇峰贩閬撴垚鍔�", + PalletNo = palletNo, + Status = TaskStatusEnum.Complete, + StartLocat = modDevice.StationNum, + EndLocat = strMsg, + }; + // 鎻掑叆浜や簰鏃ュ織 + _db.Insertable(modInsertTaskMonitor).ExecuteCommand(); + // 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈� + HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>()); } } @@ -1871,6 +1900,23 @@ // 灏嗗叆搴撲换鍔$敱姝e湪鎵ц鏀逛负姝e湪鎵ц taskModel.Status = TaskStatusEnum.Doing; _db.Updateable(taskModel).ExecuteCommand(); + + // 鎻掑叆浠诲姟鏄庣粏 + var modInsertTaskMonitor = new WcsTaskMonitor() + { + TaskNo = TaskNo, + PlcId = modDevice.Id, + PlcName = modDevice.Text, + InteractiveMsg = $"鍐欏叆鎸囦护50锛氱敵璇峰贩閬撴垚鍔�", + PalletNo = palletNo, + Status = TaskStatusEnum.Complete, + StartLocat = modDevice.StationNum, + EndLocat = strMsg, + }; + // 鎻掑叆浜や簰鏃ュ織 + _db.Insertable(modInsertTaskMonitor).ExecuteCommand(); + // 閫氱煡浠诲姟鐣岄潰浠诲姟宸插瓨鍦ㄦ洿鏂� 璇锋洿鏂扮晫闈� + HubUtil.PublicTaskMonitor(modInsertTaskMonitor.Adapt<WcsTaskMonitorOutput>()); } } } -- Gitblit v1.8.0