From 55d8f37346f9ede0b318edc57f2e1d1f116045d3 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期一, 17 十一月 2025 16:47:45 +0800
Subject: [PATCH] 修改入库单和出库单回传处理sap返回结果
---
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs | 107 +++++++++++++++++++++++++++++++++--------------------
1 files changed, 66 insertions(+), 41 deletions(-)
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index f854f15..2bbd99e 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -151,8 +151,8 @@
{
throw new Exception("褰撳墠鐗╂枡鍖呰淇℃伅涓嶅瓨鍦紝璇锋牳瀹�!");
}
- var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
- var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
+ var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺
+ var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺
//鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
@@ -274,19 +274,8 @@
// 鍒ゆ柇搴撳瓨鏄庣粏鏄惁宸叉湁姝ゆ墭鐩樹俊鎭�
var sd1 = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo && m.LotNo == detail.LotNo && m.SkuNo == detail.SkuNo);// && m.ASNDetailNo == bind.ASNDetailNo
var sdId1 = 0;
- if (sd1 != null)
+ if (sd1 == null)
{
- sdId1 = sd1.Id;
- // 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁
- sd1.Qty += bind.Qty;
- sd1.CompleteTime = comTime;
- sd1.UpdateUser = userId;
- sd1.UpdateTime = comTime;
-
- Db.Updateable(sd1).ExecuteCommand();
- }
- else
- {
// 搴撳瓨涓嶅瓨鍦� 鎻掑叆鏁版嵁
sd1 = new DataStockDetail()
{
@@ -296,7 +285,7 @@
SkuNo = sku.SkuNo,
SkuName = sku.SkuName,
Standard = sku.Standard,
- Qty = bind.Qty,
+ Qty = 0,
LockQty = 0,
FrozenQty = 0,
InspectQty = 0,
@@ -317,7 +306,7 @@
InspectMark = bind.InspectMark,
InspectStatus = sku.IsInspect,
BitPalletMark = bind.BitPalletMark,
- PackagNo = sku.PackagNo,
+ PackagNo = sku.PackagNo,
IsBale = bind.IsBale,
IsBelt = bind.IsBelt,
@@ -325,6 +314,14 @@
CreateUser = 0,
CreateTime = comTime
};
+ if (!string.IsNullOrEmpty(detail.Lot1))
+ {
+ sd1.ProductionTime = Convert.ToDateTime(detail.Lot1);//鐢熶骇鏃ユ湡
+ }
+ if (!string.IsNullOrEmpty(detail.Lot2))
+ {
+ sd1.ExpirationTime = Convert.ToDateTime(detail.Lot2);//鍒版湡鏃ユ湡
+ }
var palletData = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == sd1.PalletNo && !string.IsNullOrEmpty(w.LocatNo));
if (palletData != null)
{
@@ -350,20 +347,19 @@
//淇敼鍚堟牸涓嶅悎鏍兼暟閲�
if (quality.IsQualified == "1") //鍚堟牸
{
- //澧炲姞鍚堟牸鏁伴噺
- quality.PassQty += bind.Qty;
sd1.InspectStatus = "1";
}
else if (quality.IsQualified == "0") //涓嶅悎鏍�
{
- //澧炲姞涓嶅悎鏍兼暟閲�
- quality.FailQty += bind.Qty;
sd1.InspectStatus = "2";
}
- Db.Updateable(quality).ExecuteCommand(); //淇敼璐ㄦ淇℃伅
}
//娣诲姞搴撳瓨鏄庣粏
sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity();
+ }
+ else
+ {
+ sdId1 = sd1.Id;
}
#endregion
@@ -516,10 +512,13 @@
#endregion
#region 搴撳瓨鏄庣粏
- if (sd1.Qty <= 0)
- {
- sd1.Qty = bind.Qty;
- }
+
+ // 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁
+ sd1.Qty += bind.Qty;
+ sd1.CompleteTime = comTime;
+ sd1.UpdateUser = userId;
+ sd1.UpdateTime = comTime;
+
//鏇存敼搴撳瓨鏄庣粏鏁伴噺
Db.Updateable(sd1).Where(m => m.Id == sdId1).ExecuteCommand();
#endregion
@@ -1188,7 +1187,15 @@
throw new Exception("鏈煡璇㈠埌鎵樼洏淇℃伅锛岃鏍稿疄锛�");
}
// 楠岃瘉鍏ュ簱鍗曟槑缁嗘槸鍚﹀瓨鍦�
- var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo && m.LotNo.Contains(model.LotNo));
+ var detail = new BllArrivalNoticeDetail();
+ if (string.IsNullOrEmpty(model.LotNo))
+ {
+ detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo);
+ }
+ else
+ {
+ detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailId && m.ASNNo == model.AsnNo && m.LotNo.Contains(model.LotNo));
+ }
if (detail == null)
{
throw new Exception("褰撳墠鐗╂枡鍙婃壒娆′笌鍗曟嵁鏃犲叧鑱旓紝璇锋牳瀹�!");
@@ -1219,8 +1226,8 @@
throw new Exception("鏈煡璇㈠埌璇ョ墿鏂欏寘瑁呬俊鎭紝璇锋牳瀹烇紒");
}
- var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
- var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
+ var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺
+ var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺
//鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
@@ -1327,14 +1334,23 @@
throw new Exception("褰撳墠鎵樼洏鍚湁璐存爣鐗╂枡淇℃伅锛屼笉鑳界粍鎵�");
}
// 鍒ゆ柇搴撳瓨鏄庣粏鏄惁宸叉湁姝ゆ墭鐩樹俊鎭�
- var sd1 = Db.Queryable<DataStockDetail>()
- .First(m => m.IsDel == "0" && m.ASNDetailNo == bind.ASNDetailNo && m.PalletNo == model.PalletNo && m.SkuNo == detail.SkuNo && m.LotNo == bind.LotNo);
+ var sd1 = new DataStockDetail();
+ if (!string.IsNullOrEmpty(bind.LotNo))
+ {
+ sd1 = Db.Queryable<DataStockDetail>()
+ .First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo && m.SkuNo == detail.SkuNo && m.LotNo == bind.LotNo);//&& m.ASNDetailNo == bind.ASNDetailNo
+ }
+ else
+ {
+ sd1 = Db.Queryable<DataStockDetail>()
+ .First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo && m.SkuNo == detail.SkuNo);// && m.ASNDetailNo == bind.ASNDetailNo
+ }
var sdId1 = 0;
if (sd1 != null)
{
sdId1 = sd1.Id;
// 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁
- sd1.Qty = bind.Qty;
+ sd1.Qty += bind.Qty;
sd1.CompleteTime = comTime;
sd1.UpdateUser = userId;
sd1.UpdateTime = comTime;
@@ -1961,8 +1977,8 @@
var addComBox = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allotId).ToList();
var addComList = addComBox.GroupBy(m => m.BoxNo).ToList();
var sku = Db.Queryable<SysMaterials>().First(m => m.SkuNo == addComBox.First().SkuNo);
- var pNum = 0;
- var bNum = 0;
+ var pNum = 0m;
+ var bNum = 0m;
new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
var boxList = new List<BllBoxInfo>();
foreach (var com in addComList)
@@ -2236,8 +2252,8 @@
throw new Exception($"鏈煡璇㈠埌鐗╂枡{obj.Data.SkuNo}淇℃伅");
}
- var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
- var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
+ var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺
+ var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺
//鑾峰彇鍖呰淇℃伅
new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
if (pNum == 0 || bNum == 0)
@@ -2667,8 +2683,8 @@
var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == boxInfoOne.SkuNo);
var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == sku.PackagNo);
- var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
- var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
+ var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺
+ var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺
//鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
new Common().GetPackQtyInfo(pack.PackagNo, ref pNum, ref bNum);
@@ -2933,8 +2949,8 @@
var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == skuInfo.PackagNo);
- var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺
- var bNum = 0;//绠辩爜鐗╁搧鏁伴噺
+ var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺
+ var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺
//鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
new Common().GetPackQtyInfo(pack.PackagNo, ref pNum, ref bNum);
@@ -3280,8 +3296,8 @@
}
//鑾峰彇鎵樼洏淇℃伅
var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == "100099");
- var pNum = 0;
- var bNum = 0;
+ var pNum = 0m;
+ var bNum = 0m;
new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
@@ -6272,6 +6288,10 @@
{
throw new Exception("鍌ㄤ綅淇℃伅涓嶅瓨锛岃鏍告煡!");
}
+ if (storageLocat.WareHouseNo != "W04")
+ {
+ throw new Exception("璇ュ偍浣嶄笉鏄钩搴撳偍浣嶏紝璇锋鏌�!");
+ }
if (storageLocat.Status != "0")
{
var detailInfo=Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == storageLocat.LocatNo);
@@ -6279,6 +6299,11 @@
{
throw new Exception("鍌ㄤ綅涓嶆槸绌洪棽鐘舵�侊紝璇锋牳鏌�!");
}
+ var logIng = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.EndLocat == storageLocat.LocatNo && w.Status == "1" && w.PalletNo != model.PalletNo);
+ if (logIng != null)
+ {
+ throw new Exception("璇ュ偍浣嶆湁姝e湪鎵ц鐨勫叆搴撲换鍔★紝璇锋牳鏌�!");
+ }
}
#endregion
--
Gitblit v1.8.0