From edc1a959cdcb80343e1dfb0abe335eb37c6304b8 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期一, 11 三月 2024 13:49:42 +0800
Subject: [PATCH] agv转运功能修改
---
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 64 +++++++++++++++++++++++++++++---
1 files changed, 58 insertions(+), 6 deletions(-)
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index a2bdd98..235c1e3 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -345,7 +345,7 @@
}
//鍑哄簱pda鎷h揣
- public void SoSetPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, int userId)
+ public void SoSetPick(string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, int userId)
{
Db.BeginTran();
try
@@ -363,6 +363,10 @@
if (string.IsNullOrWhiteSpace(palletNo))
{
throw new Exception("鎵樼洏鐮佷笉鑳戒负绌�");
+ }
+ if (!string.IsNullOrEmpty(boxNo3) && !string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)
+ {
+ throw new Exception("杩芥函鏉$爜鍜屾嫞璐ф暟閲忎笉鑳藉悓鏃惰緭鍏�");
}
//鍑哄簱鍗�
@@ -503,7 +507,7 @@
}
else
{
- var biaoShi = "0";//0锛氭暣绠辨嫞璐с��1锛氭暎鏀嫞璐�
+ var biaoShi = "0";//0锛氭暣绠辨嫞璐с��1锛氭暎鏀嫞璐с��2锛氭暟閲忔嫞璐�
List<DataBoxInfo> boxInfos;
var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo);
if (boxInfo.Count() == 0)
@@ -536,6 +540,24 @@
biaoShi = "1";
}
+ else if (!string.IsNullOrEmpty(pickQty1) && int.Parse(pickQty1) > 0)//鏁伴噺鎷h揣
+ {
+ if (boxInfo.Count() > 1)
+ {
+ throw new Exception("璇ョ鐮佸唴瀛樺湪鏀爜涓嶈兘杩涜鏁伴噺鎷h揣");
+ }
+ int boxQty = boxInfo.First().Qty;
+ if (Convert.ToInt32(pickQty1) > boxQty)
+ {
+ throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鏁伴噺");
+ }
+ if (Convert.ToInt32(pickQty1) > needQty)
+ {
+ throw new Exception("鎷h揣鏁伴噺涓嶈兘澶т簬鍓╀綑寰呮嫞鏁伴噺");
+ }
+
+ biaoShi = "2";
+ }
else //鏁寸鎷h揣
{
if (boxInfo.Count() == 0)
@@ -557,7 +579,7 @@
var comList = new List<BllCompleteDetail>();
foreach (var item in boxInfos)
{
- if (comDetailList.Any(m => m.BoxNo3 == item.BoxNo3))
+ if (biaoShi != "2" && comDetailList.Any(m => m.BoxNo3 == item.BoxNo3))
{
throw new Exception($"褰撳墠{item.BoxNo}涓瓄item.BoxNo3}宸叉嫞璐у畬鎴愶紝璇峰嬁閲嶅鎷h揣");
}
@@ -579,14 +601,31 @@
SkuName = allot.SkuName,
Standard = allot.Standard,
PalletNo = palletNo,
- CompleteQty = item.Qty,
+ CompleteQty = biaoShi == "2" ? int.Parse(pickQty1) : item.Qty,
CreateUser = userId
};
comList.Add(completeDetail);
- //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
- Db.Deleteable(item).ExecuteCommand();
+ if (biaoShi != "2")
+ {
+ //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
+ Db.Deleteable(item).ExecuteCommand();
+ }
+ else//鏁伴噺鎷h揣
+ {
+ if (int.Parse(pickQty1) == item.Qty)
+ {
+ //鍒犻櫎搴撳瓨绠辩爜鏄庣粏
+ Db.Deleteable(item).ExecuteCommand();
+ }
+ else
+ {
+ item.Qty -= int.Parse(pickQty1);
+ item.BitBoxMark = "1";//闆剁鏍囪瘑
+ Db.Updateable(item).ExecuteCommand();
+ }
+ }
pickQty += item.Qty;
}
//鏀瑰彉搴撳唴绠辩爜鏄惁闆剁淇℃伅
@@ -806,8 +845,21 @@
int isDel = 0;
//鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁�
+ stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇�
stockDetail.Qty -= int.Parse(PickQty);
stockDetail.LockQty -= int.Parse(PickQty);
+ if (stockDetail.Qty == stockDetail.LockQty)
+ {
+ stockDetail.Status = "2";
+ }
+ else if (stockDetail.Qty > stockDetail.LockQty && stockDetail.LockQty > 0)
+ {
+ stockDetail.Status = "1";
+ }
+ else
+ {
+ stockDetail.Status = "0";
+ }
if (stockDetail.Qty <= 0)
{
Db.Deleteable(stockDetail).ExecuteCommand();
--
Gitblit v1.8.0