From d239f2cccb5b84d52c8c202557ea8e75cc6ab984 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期六, 14 九月 2024 16:51:17 +0800 Subject: [PATCH] 任务管理新增功能增加分配拆垛工位功能;调整分拣码垛页面,更改拆垛机器人属性 --- Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs | 69 ++++++++++++++++++++-------------- 1 files changed, 41 insertions(+), 28 deletions(-) diff --git a/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs b/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs index d0e0afe..736bb52 100644 --- a/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs +++ b/Admin.NET/WCS.Application/Service/WcsTask/WcsTaskService.cs @@ -1,9 +1,11 @@ 锘� using AngleSharp.Dom; +using COSXML.Network; using Elastic.Clients.Elasticsearch.Tasks; using Furion.DatabaseAccessor; using Microsoft.AspNetCore.SignalR; using WCS.Application.Entity; +using WCS.Application.Service.WcsTask.Dto; namespace WCS.Application; @@ -73,38 +75,25 @@ } var entity = input.Adapt<WcsTask>(); entity.Origin = "WCS"; - await _wcsTaskRep.InsertAsync(entity); - #region 缁戝畾鍨涙満 - - //鐗╂枡鍝佺淇℃伅 - var skuInfo = await _wcsMateialPzInfoRep.Context.Queryable<WcsMateialPzInfo>().Where(w => w.SkuNo == input.SkuNo).FirstAsync(); - if (skuInfo == null) - { - throw Oops.Oh("鐗╂枡鍝佺淇℃伅涓嶅瓨鍦�"); - } + #region 鍒嗛厤鎷嗗灈宸ヤ綅 //鍒嗘嫞浠诲姟淇℃伅 - var checkTaskInfo = await _wcsCheckTaskRep.Context.Queryable<WcsCheckTask>().Where(w => w.Status == "0" && w.RoboatType == "0").OrderBy(o => o.LineNo).FirstAsync(); - if (checkTaskInfo == null) + List<TaskPortDto> taskPortList = await _wcsCheckTaskRep.Context.Queryable<WcsCheckTask>().Where(w => w.RoboatType == PLCTypeEnum.StackingRobot).Select<TaskPortDto>().ToListAsync(); + if (taskPortList.Count<=0) { - throw Oops.Oh("鍒嗘嫞浠诲姟淇℃伅涓嶅瓨鍦�"); + throw Oops.Bah("鎷嗗灈宸ヤ綅寮傚父"); } - if (checkTaskInfo.Status != "0") - { - throw Oops.Oh("璇ュ伐浣嶅凡缁戝畾浠诲姟锛岃鍕垮啀娆$粦瀹�"); + var taskList = await _wcsTaskRep.Context.Queryable<WcsTask>().Where(w => w.Status == 0 && w.IsBind == 0 && w.TaskType == TaskTypeEnum.Out).ToListAsync(); + foreach (var item in taskPortList) + { + item.PortCount= taskList.Where(w=>w.StationNum==item.Port).Count(); } - checkTaskInfo.OrderNo = ""; - checkTaskInfo.TaskNo = entity.TaskNo; - checkTaskInfo.LotNo = entity.LotNo; - checkTaskInfo.SkuNo = entity.SkuNo; - checkTaskInfo.SkuName = entity.SkuName; - checkTaskInfo.BoxType = ""; - checkTaskInfo.Qty = entity.Qty; - checkTaskInfo.Status = "1";//宸茬粦瀹� - checkTaskInfo.PZNo = skuInfo.PZNo; - //鏇存柊鍒嗘嫞浠诲姟 - await _wcsCheckTaskRep.AsUpdateable(checkTaskInfo).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); + var portInfo = taskPortList.OrderBy(o => o.PortCount).ThenBy(o => o.LineNO).First(); + //鎷嗗灈宸ヤ綅鍙� + entity.StationNum = portInfo.Port; #endregion + + await _wcsTaskRep.InsertAsync(entity); return entity.Id; } @@ -233,6 +222,30 @@ } } - - + public async Task UploadTask(UpdateWcsTaskInput input) + { + var modTask = await _wcsTaskRep.GetByIdAsync(input.Id); + if (modTask.Status != TaskStatusEnum.Complete) + { + throw Oops.Oh("浠诲姟鐘舵�佸紓甯�"); + } + if (modTask.Origin != "WMS") + { + throw Oops.Oh("璇ヤ换鍔℃潵婧愪笉鏄疻MS"); + } + // 鍙嶉WMS + //var requestMode = new TaskRequest() + //{ + // TaskNo = modTask.TaskNo, + // PalletNo = modTask.PalletNo, + // TaskType = (TaskTypeEnum)modTask.TaskType,//TaskTypeEnum.In, + // TaskStatus = TaskStatusEnum.Complete + //}; + //HttpService httpService = new HttpService(); + //var modResponseTask = httpService.RequestTask(requestMode).Result; + //if (modResponseTask.StatusCode == "0") + //{ + // modcTaskMonitor.InteractiveMsg = "浠诲姟瀹屾垚锛岃繑鍥炵粰WMS浠诲姟瀹屾垚"; + //} + } } -- Gitblit v1.8.0