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.Domain/Models/WmsRawOutstock.cs b/src/Khd.Core.Domain/Models/WmsRawOutstock.cs index 3e49031..c9d9e84 100644 --- a/src/Khd.Core.Domain/Models/WmsRawOutstock.cs +++ b/src/Khd.Core.Domain/Models/WmsRawOutstock.cs @@ -21,6 +21,7 @@ namespace Khd.Core.Domain.Models public long? saleOrderId { get; set; } [Key] + [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Column("raw_outstock_id")] public long? rawOutstockId { get; set; } diff --git a/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs b/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs index b832837..457815b 100644 --- a/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs +++ b/src/Khd.Core.Wcs/Wcs/FiveFloorCTU.cs @@ -20,6 +20,7 @@ namespace Khd.Core.Wcs.Wcs /// public class FiveFloorCTU { + List ScanPoint { get; set; }//点位信息 private readonly IHost _host; private readonly LoggerUtils _logger = new LoggerUtils(); private readonly BasePlcpoint LineRFID; @@ -150,10 +151,13 @@ 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(); - dbContext.RemoveRange(outTasks); + dbContext.WcsTask.Where(t => t.objid == task.objid).Delete(); + #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 a64b341..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"> - + - + - + - +