From 590ffa097029620655bf57947738df85dc8f5572 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期三, 13 八月 2025 09:22:56 +0800
Subject: [PATCH] 申请入库接口增加托盘重量
---
Admin.NET/WCS.Application/PLC/PLCService.cs | 45 ++++++++++++++++++++++++++++++---------------
Admin.NET/WCS.Application/Util/HttpService.cs | 7 +++++--
Admin.NET/WCS.Application/Model/TaskRequest.cs | 4 ++++
3 files changed, 39 insertions(+), 17 deletions(-)
diff --git a/Admin.NET/WCS.Application/Model/TaskRequest.cs b/Admin.NET/WCS.Application/Model/TaskRequest.cs
index 67d48b3..f09f3cd 100644
--- a/Admin.NET/WCS.Application/Model/TaskRequest.cs
+++ b/Admin.NET/WCS.Application/Model/TaskRequest.cs
@@ -106,6 +106,10 @@
/// 璧峰浣嶇疆
/// </summary>
public string StartLocat { get; set; } = "";
+ /// <summary>
+ /// 鎵樼洏閲嶉噺
+ /// </summary>
+ public string PalletWeight { get; set; } = "0";
}
diff --git a/Admin.NET/WCS.Application/PLC/PLCService.cs b/Admin.NET/WCS.Application/PLC/PLCService.cs
index 2edf5f7..596d1b2 100644
--- a/Admin.NET/WCS.Application/PLC/PLCService.cs
+++ b/Admin.NET/WCS.Application/PLC/PLCService.cs
@@ -94,7 +94,7 @@
if (modTask.TaskType == TaskTypeEnum.Move)
{
// 绉诲簱鐩爣鍦板潃
- taskInfo = PLCCommon.GetEndPai(modTask.EndRoadway.Substring(1, 2), modTask.EndLocate.Substring(2, 2),
+ taskInfo = PLCCommon.GetEndPai(modTask.EndLocate.Substring(0, 2), modTask.EndLocate.Substring(2, 2),
modTask.EndLocate.Substring(0, 2), modTask.EndLocate.Substring(4, 2),
modTask.EndLocate.Substring(6, 2));
@@ -265,7 +265,7 @@
// 鍐欏叆璺烘満浠诲姟涓嬪彂瀹屾垚
var ret = plcConn.SetPlcDBValue(modDevice.PosType, modDevice.DbNumber, modDevice.WcsPos, "830");
- // 灏嗕换鍔″緟鎵ц鏀逛负姝e湪鎵ц
+ // 灏嗙Щ搴撲换鍔″緟鎵ц鏀逛负姝e湪鎵ц
_db.Updateable<WcsTask>()
.SetColumns(s => s.Status == TaskStatusEnum.Doing)
.Where(s => s.Id == modTask.Id)
@@ -1481,7 +1481,7 @@
}
//鍚慦MS鐢宠宸烽亾
- strMsg = http.RequestRoadWay(palletVal, modDevice.StationNum, taskModel, louCeng, ref EndLocate, ref TaskNo, (int)palletHeightVal);
+ strMsg = http.RequestRoadWay(palletVal, modDevice.StationNum, taskModel, louCeng, ref EndLocate, ref TaskNo, (int)palletHeightVal, Convert.ToString(palletWeightVal));
if (!strMsg.Contains("-1"))
{
@@ -2211,6 +2211,13 @@
// 璺烘満闈炵┖闂茬瓑寰�
break;
}
+ //鍒ゆ柇璇ュ贩閬撴湁娌℃湁寰呮墽琛岀殑绉诲簱/鍑哄簱浠诲姟锛屼紭鍏堟墽琛岀Щ搴�/鍑哄簱浠诲姟鍐嶆墽琛屽叆搴撲换鍔�
+ var taskOutMove = _db.Queryable<WcsTask>().First(s => s.Status == TaskStatusEnum.Wait && (s.TaskType == TaskTypeEnum.Out || s.TaskType == TaskTypeEnum.Move)
+ && s.StartRoadway == modDevice.StationNum);
+ if (taskOutMove != null)
+ {
+ break;
+ }
// 缁橮LC鍐欏叆浠诲姟鏁版嵁
var listResult = new List<Result>();
@@ -2808,6 +2815,7 @@
var retVal = plcConn.SetPlcDBValue(modAddCode.PosType, modDevice.DbNumber, modAddCode.PlcPos, "2");
break;
}
+ int chaNum = 0;
for (int i = 1; i <= boxNum; i++)
{
// 鑾峰彇绠辨潯鐮�
@@ -2818,8 +2826,11 @@
if (string.IsNullOrEmpty(boxNo))
{
Log.Error(string.Format("鐮佸灈宸ヤ綅{0}锛岀鐮佷负null鎻掔爜澶辫触!璇蜂汉宸ュ己鍒剁粨鎵广��", modDevice.StationNum));
+ // 鍐欏叆鎻掑叆缁撴灉 2锛氭彃鐮佸け璐�
+ plcConn.SetPlcDBValue(modAddCode.PosType, modDevice.DbNumber, modAddCode.PlcPos, "2");
break;
}
+ Log.Information($"PLC璇锋眰鎻掔爜锛屾墭鐩樺彿锛歿palletNo}锛岀鐮侊細{boxNo}");
// 楠岃瘉绠辩爜琛ㄦ槸鍚﹀瓨鍦ㄦ绠辩爜
var boxInfo = _db.Queryable<WcsBoxInfo>().Where(w => w.IsDelete == false && w.BoxNo == boxNo).ToList();
if (boxInfo.Count == 0)
@@ -2844,20 +2855,24 @@
plcConn.SetPlcDBValue(modAddCode.PosType, modDevice.DbNumber, modAddCode.PlcPos, "2");
break;
}
+ chaNum++;
}
- // 鎻掔爜鎴愬姛
- var retVal2 = plcConn.SetPlcDBValue(modAddCode.PosType, modDevice.DbNumber, modAddCode.PlcPos, "1");
- if (retVal2.IsSucceed)
+ if (chaNum == boxNum)
{
- //鏇存柊宸叉彃鐮佹暟閲�
- checkTaskMedel.BoxCount += boxNum;
- _db.Updateable(checkTaskMedel).ExecuteCommand();
- }
- else
- {
- // 鍐欏叆澶辫触
- Log.Error(string.Format("鍐欏叆PLC鎻掔爜缁撴灉澶辫触锛岀爜鍨涘伐浣峽1}锛屾墭鐩樺彿{2}", modDevice.StationNum, palletNo));
- }
+ // 鎻掔爜鎴愬姛
+ var retVal2 = plcConn.SetPlcDBValue(modAddCode.PosType, modDevice.DbNumber, modAddCode.PlcPos, "1");
+ if (retVal2.IsSucceed)
+ {
+ //鏇存柊宸叉彃鐮佹暟閲�
+ checkTaskMedel.BoxCount += boxNum;
+ _db.Updateable(checkTaskMedel).ExecuteCommand();
+ }
+ else
+ {
+ // 鍐欏叆澶辫触
+ Log.Error(string.Format("鍐欏叆PLC鎻掔爜缁撴灉澶辫触锛岀爜鍨涘伐浣峽1}锛屾墭鐩樺彿{2}", modDevice.StationNum, palletNo));
+ }
+ }
}
break;
case "40":
diff --git a/Admin.NET/WCS.Application/Util/HttpService.cs b/Admin.NET/WCS.Application/Util/HttpService.cs
index d2e284f..8a24de8 100644
--- a/Admin.NET/WCS.Application/Util/HttpService.cs
+++ b/Admin.NET/WCS.Application/Util/HttpService.cs
@@ -32,8 +32,10 @@
/// <param name="ceng"></param>
/// <param name="endLocat"></param>
/// <param name="taskNo"></param>
+ /// <param name="palletHeight"></param>
+ /// <param name="palletWeight"></param>
/// <returns></returns>
- public string RequestRoadWay(string palletNo, string startLocat, string taskModel, string ceng, ref string endLocat, ref string taskNo, int palletHeight)
+ public string RequestRoadWay(string palletNo, string startLocat, string taskModel, string ceng, ref string endLocat, ref string taskNo, int palletHeight,string palletWeight)
{
Log.Information("璋冪敤WMS鎺ュ彛鍙嶉浠诲姟鎺ュ彛-鏄惁閲嶅鐢宠锛�" + palletNo);
lock (OLock)
@@ -51,7 +53,8 @@
HouseNo = "W01",
TaskModel = taskModel,
PalletHeight = palletHeight,
- StartLocat = startLocat
+ StartLocat = startLocat,
+ PalletWeight = palletWeight
};
string url = Urls.WMSAddress + ":" + Urls.WMSPort;
--
Gitblit v1.8.0