From 3ffc9e207b22b4fff12e601aeb512b8d373e5a9d Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期四, 30 十月 2025 17:01:05 +0800
Subject: [PATCH] 修改问题
---
Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 46 +++++++++++++++++++---
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 21 ++++++++--
Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs | 11 ++---
3 files changed, 61 insertions(+), 17 deletions(-)
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
index b056793..c0ec622 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
@@ -1871,14 +1871,13 @@
throw new Exception("搴撳瓨鎵樼洏娌℃湁淇℃伅");
}
var locate = stockDetail.First().LocatNo;
- //var locatList = Db.Queryable<SysStorageLocat>().Where(m=>m.WareHouseNo == "W04" && (m.AreaNo == "B06" || m.AreaNo == "B07" || m.AreaNo == "B09") && m.IsDel == "0").ToList();
- var locatList = Db.Queryable<SysStorageLocat>().Where(m => m.WareHouseNo == "W04" && m.IsDel == "0").ToList();
+ var locatList = Db.Queryable<SysStorageLocat>().Where(m=>m.WareHouseNo == "W04" && (m.AreaNo == "B06" || m.AreaNo == "B07" || m.AreaNo == "B09" || m.AreaNo == "B24") && m.IsDel == "0").ToList();
var locat = locatList.FirstOrDefault(m => m.LocatNo == locate);
//鍒ゆ柇鎵樼洏鍌ㄤ綅鏄惁鍦ㄨ溅闂�
- //if (locat == null)
- //{
- // throw new Exception("鍌ㄤ綅淇℃伅娌℃湁鍦ㄨ溅闂村伐浣嶄笂");
- //}
+ if (locat == null)
+ {
+ throw new Exception("鍌ㄤ綅淇℃伅娌℃湁鍦ㄨ溅闂村伐浣嶄笂");
+ }
locat.Status = "0";
Db.Updateable(locat).ExecuteCommand();
//鍒ゆ柇鎵樼洏淇℃伅
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index a559ce4..ecce9ae 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -303,6 +303,19 @@
}
else
{
+ var locateStr = stockDetail.LocatNo;
+ //鏇存敼鍌ㄤ綅鐘舵�佷负绌哄偍浣�
+ var locate = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.LocatNo == locateStr);
+ if (locate != null)
+ {
+ locate.Status = "0";
+ Db.Updateable(locate).ExecuteCommand();
+ }
+ stockDetail.WareHouseNo = "";
+ stockDetail.RoadwayNo = "";
+ stockDetail.AreaNo = "";
+ stockDetail.LocatNo = "";
+
stockDetail.SONo = soNo;
stockDetail.UDF5 = "1";
await Db.Updateable(stockDetail).ExecuteCommandAsync();
@@ -481,7 +494,7 @@
pinStockDetail.LockQty += pickQty;
await Db.Updateable(pinStockDetail).ExecuteCommandAsync();
}
- }
+ }
//娣诲姞鎿嶄綔鏃ュ織璁板綍
var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鎷h揣鎷兼墭", soNo, "鎷h揣", $"鍦≒DA涓婂鍑哄簱鍗曞彿涓猴細{soNo}鐨勫師鎵樼洏鐮佷负锛歿palletNo}锛屾柊鎵樼洏鐮佷负锛歿palletNoNew}鐨勬嫞璐ф嫾鎵樻搷浣�", userId);
@@ -1519,7 +1532,7 @@
string skuName = boxInfos.First().SkuName;
// 楠岃瘉鏄惁杞﹂棿绾胯竟浠撳簱
- var areaList = new List<string>() { "B06", "B07", "B09" };
+ var areaList = new List<string>() { "B06", "B07", "B09", "B24" };
if (!areaList.Contains(stockDetail.AreaNo))
{
throw Oops.Bah("鎵樼洏涓嶆槸杞﹂棿鎵樼洏锛�");
@@ -1565,7 +1578,7 @@
await Db.Updateable(stockDetail).ExecuteCommandAsync();
}
stock.Qty -= pickQty;
- //stock.LockQty -= pickQty;
+ stock.LockQty -= pickQty;
if (stock.Qty <= 0)
{
await Db.Deleteable(stock).ExecuteCommandAsync();
@@ -1677,7 +1690,7 @@
}
// 楠岃瘉鏄惁杞﹂棿绾胯竟浠撳簱
- var areaList = new List<string>() { "B06", "B07", "B09" };
+ var areaList = new List<string>() { "B06", "B07", "B09", "B24" };
if (!areaList.Contains(stockDetail.AreaNo))
{
throw Oops.Bah("鎵樼洏涓嶆槸杞﹂棿鎵樼洏锛�");
diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 6d6f545..fd465ab 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -1097,7 +1097,7 @@
skuList = skuList.Where(m => m.SkuNo == "100088").ToList();
}
skuStrList = skuList.Select(m => m.SkuNo).ToList();
- var areaStr = new List<string>() { "B06", "B07", "B09" };
+ var areaStr = new List<string>() { "B06", "B07", "B09", "B24" };
var stockRst = new StockServer();
var stockDetailRst = new StockDetailServer();
Expression<Func<DataStockDetail, bool>> item = Expressionable.Create<DataStockDetail>()
@@ -1194,6 +1194,12 @@
//}
break;
case "W02"://鍘熸枡搴�
+ if (skuList.Any(m => m.Type == "2"))
+ {
+ throw new Exception("浠撳簱涓庡嚭搴撶墿鏂欎笉绗�");
+ }
+ break;
+ case "W04"://骞冲簱
if (skuList.Any(m => m.Type == "2"))
{
throw new Exception("浠撳簱涓庡嚭搴撶墿鏂欎笉绗�");
@@ -2774,7 +2780,8 @@
//鍙栧悎閫傚簱瀛樺晢鍝�
Dictionary<int, decimal> stockQtyDic = new Dictionary<int, decimal>();//鎵樺嚭搴撶墿鍝佹暟
- var qty = 0m;
+ var qty = 0m;//鍒嗛厤鏁伴噺
+ var xQty = 0m;//涓嬫灦鏁伴噺
var house = "";
//鍒嗛厤璐х墿
@@ -2810,6 +2817,11 @@
CreateUser = userId,
CreateTime = DateTime.Now
};
+ if (s.WareHouseNo == "W04")
+ {
+ allot.Status = "2";//寰呮嫞璐�
+ xQty += allot.Qty;
+ }
exAllotList.Add(allot);
s.LockQty += stockQtyDic[s.Id];
@@ -2822,11 +2834,12 @@
{
s.Status = "1";
}
-
+
var sd = Db.Updateable(s).UpdateColumns(it => new { it.LockQty, it.Status }).ExecuteCommand();
}
- detail.AllotQty += qty;
+ detail.AllotQty += qty;//鍒嗛厤鏁伴噺
+ detail.FactQty += xQty;//涓嬫灦鏁伴噺
detail.UpdateUser = userId;
detail.UpdateTime = DateTime.Now;
if (detail.Status == "0")
@@ -2892,8 +2905,13 @@
//璇佹槑鎵�鏈夊垎閰嶆暟閲忓叏閮ㄥ皬浜庣瓑浜庡嚭搴撴暟閲� 涓嶅仛淇敼
break;
}
-
+ var outPalletCount = exAllotList.Where(w => w.Status == "0").Count();//鏌ユ壘鏈夋棤闇�瑕佸嚭搴撶殑鎵樼洏
+ if (outPalletCount <= 0)
+ {
+ notice.Status = "3";//姝e湪鎵ц
+ }
}
+
notice.UpdateUser = userId;
notice.UpdateTime = DateTime.Now;
var zd = Db.Updateable(notice).ExecuteCommand();
@@ -3005,6 +3023,7 @@
soDetailList.Add(soDetail);
}
d.AllotQty = 0;
+ d.FactQty = 0;
d.Status = "0";
d.UpdateUser = userId;
d.UpdateTime = DateTime.Now;
@@ -3210,7 +3229,8 @@
//var stockz = Db.Queryable<DataStock>().First(d => d.IsDel == "0" && d.SkuNo == detail.SkuNo && d.LotNo == detail.LotNo);
var allotList = new List<BllExportAllot>();
- decimal outQtys = 0;
+ decimal outQtys = 0;//鍒嗛厤鏁伴噺
+ decimal xQty = 0;//涓嬫灦鏁伴噺
foreach (var st in model.StockList)
{
var stock = stockList.First(a => a.Id == st.StockId);
@@ -3252,6 +3272,11 @@
CreateUser = userId,
CreateTime = DateTime.Now
};
+ if (stock.WareHouseNo == "W04")
+ {
+ allot.Status = "2";//寰呮嫞璐�
+ xQty += allot.Qty;
+ }
allotList.Add(allot);
}
else
@@ -3274,7 +3299,8 @@
}
Db.Insertable(allotList).ExecuteCommand();
//淇敼鍗曟嵁鏄庣粏
- detail.AllotQty += outQtys;
+ detail.AllotQty += outQtys;//鍒嗛厤鏁伴噺
+ detail.FactQty += xQty;//涓嬫灦鏁伴噺
detail.UpdateUser = userId;
detail.UpdateTime = DateTime.Now;
if (detail.Status == "0")
@@ -3304,6 +3330,12 @@
{
notice.Status = "1";//璇佹槑鍒嗛厤鏁伴噺灏忎簬绛変簬鍑哄簱鏁伴噺 淇敼涓洪儴鍒嗗垎閰�
}
+
+ var outPalletCount = allotList.Where(w => w.Status == "0").Count();//鏌ユ壘鏈夋棤闇�瑕佸嚭搴撶殑鎵樼洏
+ if (outPalletCount <= 0)
+ {
+ notice.Status = "3";//姝e湪鎵ц
+ }
Db.Updateable(notice).ExecuteCommand();
}
//娣诲姞鎿嶄綔鏃ュ織璁板綍
--
Gitblit v1.8.0