From 9d75dde1a2db0ce2ba603a5a60974f8ed18aeaff Mon Sep 17 00:00:00 2001 From: liuwf Date: Fri, 16 Aug 2024 10:40:32 +0800 Subject: [PATCH] =?UTF-8?q?change-=E4=BF=AE=E6=94=B9=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=E3=80=81=E5=A2=9E=E5=8A=A0=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E9=A2=84=E8=B0=83=E5=BA=A6=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/RecieveRcsController.cs | 12 ++++ .../Interface/IWcsTaskApplication.cs | 3 + .../WcsTaskApplication.cs | 28 ++++++++ src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs | 12 ++-- src/Khd.Core.Wpf/Form/FormBoardT.xaml | 65 ++++++++++--------- src/Khd.Core.Wpf/Form/FormBoardT.xaml.cs | 40 +++++++++--- 6 files changed, 114 insertions(+), 46 deletions(-) diff --git a/src/Khd.Core.Api/Controllers/RecieveRcsController.cs b/src/Khd.Core.Api/Controllers/RecieveRcsController.cs index 4b50591..8e68c16 100644 --- a/src/Khd.Core.Api/Controllers/RecieveRcsController.cs +++ b/src/Khd.Core.Api/Controllers/RecieveRcsController.cs @@ -100,5 +100,17 @@ namespace Khd.Core.Api.Controllers LogManager.Info($"AGVStopOrStart 接口收到消息: {agvStopOrStart.ToJsonString()}"); return _application.CallAgvStopOrStart(agvStopOrStart); } + + /// + /// 取消CTU预调度接口,WPF界面使用 + /// + /// + [HttpPost("CancelPreScheduling")] + public ReponseMessage CancelPreScheduling() + { + LogManager.Info($"CancelPreScheduling 接口收到消息"); + return _application.CancelPreScheduling(); + } + } } \ No newline at end of file diff --git a/src/Khd.Core.Application/Interface/IWcsTaskApplication.cs b/src/Khd.Core.Application/Interface/IWcsTaskApplication.cs index 285e52c..0eb8045 100644 --- a/src/Khd.Core.Application/Interface/IWcsTaskApplication.cs +++ b/src/Khd.Core.Application/Interface/IWcsTaskApplication.cs @@ -33,5 +33,8 @@ namespace Khd.Core.Application.Interface ReponseMessage CallMaterial(CallMaterial callMaterial); ReponseMessage AGVTaskComplete(); ReponseMessage CallAgvStopOrStart(CallAgvStopOrStart agvStopOrStart); + + + ReponseMessage CancelPreScheduling(); } } \ No newline at end of file diff --git a/src/Khd.Core.Application/WcsTaskApplication.cs b/src/Khd.Core.Application/WcsTaskApplication.cs index 0e4912a..f8de10a 100644 --- a/src/Khd.Core.Application/WcsTaskApplication.cs +++ b/src/Khd.Core.Application/WcsTaskApplication.cs @@ -479,5 +479,33 @@ namespace Khd.Core.Application return new ReponseMessage() { code = "1", message = "调用失败" }; } } + + + /// + /// 取消预调度 + /// + /// + public ReponseMessage CancelPreScheduling() + { + try + { + _dbContext.ChangeTracker.Entries().ToList().ForEach(e => e.Reload()); + var baseEquip = _dbContext.BaseEquip.FirstOrDefault(x => x.objid == 11); + var executeTask = new + { + reqCode = new JcSnowId().NextId().ToString(), + positionCode = "CTU_IN", + nextTask = -1 + }; + string executeMessage = JsonConvert.SerializeObject(executeTask); + string executeResult = HttpHelper.SendPostMessage(baseEquip.serverIp, baseEquip.serverPort.Value, "rcms/services/rest/hikRpcService/genPreScheduleTask", executeMessage); + ReponseMessage reponseMessage = JsonConvert.DeserializeObject(executeResult); + return reponseMessage; + + }catch (Exception ex) + { + return new ReponseMessage() { code = "1", message = "调用失败" }; + } + } } } \ No newline at end of file diff --git a/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs b/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs index 61b0787..457815b 100644 --- a/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs +++ b/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs @@ -152,12 +152,12 @@ namespace Khd.Core.Wcs.Wcs if (task.taskType == StaticTaskType.FiveAccessoryOut || task.taskType == StaticTaskType.FiveAccessoryRemove) { dbContext.WcsTask.Where(t => t.objid == task.objid).Delete(); - #region 如果已经开始入库,还有出库任务,删除出库任务 - List outTasks = dbContext.WcsTask.Where(t => t.taskType == StaticTaskType.FiveAccessoryOut && t.taskStatus == 6).ToList(); - if(outTasks!=null && outTasks.Count > 0) - { - dbContext.RemoveRange(outTasks); - } + #region 暂不使用-因为删除之后ctu无法知道还有几个箱子///如果已经开始入库,还有出库任务,删除出库任务 + //List outTasks = dbContext.WcsTask.Where(t => t.taskType == StaticTaskType.FiveAccessoryOut && t.taskStatus == 6).ToList(); + //if(outTasks!=null && outTasks.Count > 0) + //{ + // dbContext.RemoveRange(outTasks); + //} #endregion //根据rfid找到库位 //生成入库任务 diff --git a/src/Khd.Core.Wpf/Form/FormBoardT.xaml b/src/Khd.Core.Wpf/Form/FormBoardT.xaml index d07b2bd..c46253b 100644 --- a/src/Khd.Core.Wpf/Form/FormBoardT.xaml +++ b/src/Khd.Core.Wpf/Form/FormBoardT.xaml @@ -1058,7 +1058,7 @@ MinWidth="10" Header=" 序号" IsReadOnly="True"> - + - + - + - +