From 06d50c0f77ccf01ebe751a819e9ad06b871d8e90 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期四, 26 九月 2024 14:59:15 +0800 Subject: [PATCH] 增加WCS接收WMS下发的入库单任务;修改分拣码垛绑定和结批功能 --- Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs | 45 ++++++++++++++ Admin.NET/WCS.Application/Service/WcsCheckTask/WcsCheckTaskService.cs | 61 ++++++++++++++------ Admin.NET/WCS.Application/Model/TaskRequest.cs | 44 ++++++++++++++ 3 files changed, 130 insertions(+), 20 deletions(-) diff --git a/Admin.NET/WCS.Application/Model/TaskRequest.cs b/Admin.NET/WCS.Application/Model/TaskRequest.cs index 0fb9341..0f41063 100644 --- a/Admin.NET/WCS.Application/Model/TaskRequest.cs +++ b/Admin.NET/WCS.Application/Model/TaskRequest.cs @@ -233,3 +233,47 @@ } +public class ResponseOrderTaskModel +{ + /// <summary> + /// WMS涓嬪彂鍗曞彿 + /// </summary> + public string? OrderNo { get; set; } + + /// <summary> + /// 浠诲姟鍙� + /// </summary> + public string? TaskNo { get; set; } + + /// <summary> + /// 鎵规鍙� + /// </summary> + public string? LotNo { get; set; } + + /// <summary> + /// 鐗╂枡缂栫爜 + /// </summary> + public string? SkuNo { get; set; } + + /// <summary> + /// 鐗╂枡鍚嶇О + /// </summary> + public string? SkuName { get; set; } + + /// <summary> + /// 瑙勬牸 + /// </summary> + public string? BoxType { get; set; } + + /// <summary> + /// 鎬荤鏁�/璁″垝绠辨暟/棰勪及绠辨暟 + /// </summary> + public int? Qty { get; set; } + + /// <summary> + /// 浠诲姟绫诲瀷 + /// </summary> + public int TaskType { get; set; } +} + + diff --git a/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs b/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs index b423607..bc403f1 100644 --- a/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs +++ b/Admin.NET/WCS.Application/OpenApi/DemoOpenApi.cs @@ -1,5 +1,8 @@ -锘縰sing System.Diagnostics.CodeAnalysis; +锘縰sing Elastic.Clients.Elasticsearch; +using System.Diagnostics.CodeAnalysis; +using System.Linq; using System.Text; +using WCS.Application.Entity; namespace WCS.Application; @@ -114,4 +117,44 @@ return new ResponseModel() { StatusCode = -1, Msg = ex.Message }; } } + + /// <summary> + /// WCS鎺ユ敹WMS涓嬪彂鐨勫叆搴撳崟浠诲姟 + /// </summary> + /// <param name="models"></param> + /// <returns></returns> + [AllowAnonymous] + public ResponseModel AddOrderTask(List<ResponseOrderTaskModel> models) + { + ResponseModel result = new ResponseModel(); + try + { + foreach (var item in models) + { + // 楠岃瘉浠诲姟鏄惁宸插瓨鍦� + //var taskInfo = _db.Queryable<WcsOderTask>().First(w => w.OrderNo == item.OrderNo && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo); + //if (taskInfo == null) + //{ + var orderAdd = new WcsOderTask() + { + OrderNo = item.OrderNo, + TaskNo = "", + LotNo = item.LotNo, + SkuNo = item.SkuNo, + SkuName = item.SkuName, + BoxType = item.BoxType, + Qty = item.Qty, + TaskType = (TaskTypeEnum)item.TaskType, + }; + _db.Insertable(orderAdd).ExecuteCommand(); + //} + } + return new ResponseModel() { StatusCode = 0, Msg = "鎻掑叆鎴愬姛" }; + } + catch (Exception ex) + { + return new ResponseModel() { StatusCode = -1, Msg = ex.Message }; + } + } + } \ No newline at end of file diff --git a/Admin.NET/WCS.Application/Service/WcsCheckTask/WcsCheckTaskService.cs b/Admin.NET/WCS.Application/Service/WcsCheckTask/WcsCheckTaskService.cs index 154209a..2033a79 100644 --- a/Admin.NET/WCS.Application/Service/WcsCheckTask/WcsCheckTaskService.cs +++ b/Admin.NET/WCS.Application/Service/WcsCheckTask/WcsCheckTaskService.cs @@ -203,11 +203,22 @@ throw Oops.Bah("鎵句笉鍒癙LC淇℃伅"); } PLCUtil modUtil = new PLCUtil(modPlc); - var ret= modUtil.SetPlcDBValue(checkTaskInfo.PosType, checkTaskInfo.DbNumber, checkTaskInfo.PlcPos, checkTaskInfo.PZNo); - if (ret.IsSucceed) + if (modUtil.Connected) { - //鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鍒嗘嫞浠诲姟 - await _wcsCheckTaskRep.AsUpdateable(checkTaskInfo).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); + var ret = modUtil.SetPlcDBValue(checkTaskInfo.PosType, checkTaskInfo.DbNumber, checkTaskInfo.PlcPos, checkTaskInfo.PZNo); + if (ret.IsSucceed) + { + //鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鍒嗘嫞浠诲姟 + await _wcsCheckTaskRep.AsUpdateable(checkTaskInfo).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); + } + else + { + throw Oops.Bah("涓嶱CL浜や簰澶辫触锛岀粦瀹氬け璐ワ紒"); + } + } + else + { + throw Oops.Bah("PCL鏈繛鎺ワ紝缁戝畾澶辫触锛�"); } #endregion } @@ -242,23 +253,35 @@ throw Oops.Bah($"鎵句笉鍒板伐浣嶅彿锛歿item.Port} 鐨勮澶囦俊鎭�"); } PLCUtil modUtil = new PLCUtil(modPlc); - var ret = modUtil.SetPlcDBValue(item.PosType, item.DbNumber, item.PlcPos, item.PZNo); - if (ret.IsSucceed) + if (modUtil.Connected) { - //鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鍒嗘嫞浠诲姟 - item.OrderNo = ""; - item.TaskNo = ""; - item.LotNo = ""; - item.SkuNo = ""; - item.SkuName = ""; - item.BoxType = ""; - item.Qty = 0; - item.PZNo = ""; - item.Status = "0";//鏈粦瀹� + var ret = modUtil.SetPlcDBValue(item.PosTypeLot, item.DbNumber, item.PosLot, "1"); + if (ret.IsSucceed) + { + //鍐欏叆娴佺▼瀛楁垚鍔熷悗鏇存柊鍒嗘嫞浠诲姟 + item.OrderNo = ""; + item.TaskNo = ""; + item.LotNo = ""; + item.SkuNo = ""; + item.SkuName = ""; + item.BoxType = ""; + item.Qty = 0; + item.PZNo = ""; + item.Status = "0";//鏈粦瀹� - //鏇存柊鍒嗘嫞浠诲姟 - await _wcsCheckTaskRep.AsUpdateable(item).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); + //鏇存柊鍒嗘嫞浠诲姟 + await _wcsCheckTaskRep.AsUpdateable(item).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); + } + else + { + throw Oops.Bah("涓嶱CL浜や簰澶辫触锛岀粨鎵瑰け璐ワ紒"); + } } + else + { + throw Oops.Bah("PCL鏈繛鎺ワ紝缁撴壒澶辫触锛�"); + } + //Service.WcsDevice.Dto.WcsDeviceTaskOrderDto order= await _wcsDeviceRep.Context.Queryable<WcsDevice>() // .InnerJoin<WcsPlc>((device, plc) => device.PlcId == plc.Id) @@ -284,7 +307,7 @@ ////涓嬪彂鍒嗘嫞浠诲姟 //HubUtil.PublicCheckTask(order.Adapt<Service.WcsDevice.Dto.WcsDeviceTaskOrderDto>()); - #endregion + #endregion } } } -- Gitblit v1.8.0