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