From 260d6082a7e53e0f040365a763da9bcf952118bd Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期三, 04 九月 2024 16:51:46 +0800
Subject: [PATCH] 修改平库出库页面单据加载托盘位置功能
---
Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 111 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 94 insertions(+), 17 deletions(-)
diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 3a75010..2c65e4c 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -81,6 +81,24 @@
return allotList2;
}
+ //鑾峰彇鎵樼洏涓惈鏈夌殑鎵ц涓殑鍗曟嵁
+ public async Task<List<string>> GetRunNoticeList(string type)
+ {
+ if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁
+ {
+ var allotList = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "1" || m.Status =="0")).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync();
+ return allotList;
+ }
+ //鑾峰彇鐘舵�佷负寰呮嫞璐ф垨鑰呴儴鍒嗘嫞璐х殑鍑哄簱鍗�
+ var allotList2 = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && (m.Status == "2" || m.Status == "3")).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync();
+
+ //var allotList = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
+ //鑾峰彇鍑哄簱鍗曟嵁涓嶄负寰呮嫞璐� 鎵ц瀹屾瘯 璁㈠崟鍏抽棴 绛夊緟鎵ц鐨勫崟鎹�
+ //var export = Db.Queryable<BllExportNotice>().Where(a => a.IsDel == "0" && a.Status == "1" || a.Status == "2" || a.Status == "3").Select(a => a.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToList();
+
+ return allotList2;
+ }
+
//鑾峰彇鍑哄簱鎵樼洏涓婄殑鐗╂枡鎵规(鏍规嵁鎵樼洏鐮�)
public async Task<List<DetailIdSkuLotNo>> GetSoSkuLotNoListByPallet(string palletNo, string soNo)
{
@@ -960,6 +978,7 @@
catch (Exception e)
{
Db.RollbackTran();
+ throw e;
}
}
@@ -1175,18 +1194,64 @@
//鑾峰彇骞冲簱鎵樼洏淇℃伅
public async Task<List<BoxInfo>> GetPingKuInfoByPallet(string soNo, string palletNo)
{
- var info = Db.Queryable<BllExportAllot>().Where(m => m.SONo == soNo && m.PalletNo == palletNo && m.IsDel == "0");
- if (await info.CountAsync() == 0)
- {
- throw Oops.Bah("鏈煡璇㈠埌鎵樼洏鍒嗛厤涓嬪彂鐨勪俊鎭�");
- }
- var data = await info.GroupBy(m => new { m.SkuNo, m.SkuName, m.LotNo }).Select(m => new BoxInfo()
- {
- SkuNo = m.SkuNo,
- SkuName = m.SkuName,
- LotNo = m.LotNo
- }).ToListAsync();
+ var info = Db.Queryable<BllExportAllot>()
+ .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo)
+ .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo)
+ .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo}).Select((a,b) => new BoxInfo()
+ {
+ SkuNo = a.SkuNo,
+ SkuName = a.SkuName,
+ LotNo = a.LotNo
+ }).ToListAsync();
+ var data = await info;
+
+ /*v var info = Db.Queryable<BllExportAllot>()
+ .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo)
+ .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo)
+ .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo, a.PalletNo,b.LocatNo }).Select((a,b) => new BoxInfo()
+ {
+ PalletNo = a.PalletNo,
+ SkuNo = a.SkuNo,
+ SkuName = a.SkuName,
+ LotNo = a.LotNo,
+ LocatNo = b.LocatNo
+ }).ToListAsync();
+ var data = await info;*/
+
+ return data;
+ }
+
+ //鑾峰彇骞冲簱鍗曟嵁涓墭鐩樹綅缃俊鎭�
+ public async Task<List<BoxInfo>> GetPingKuLocationInfo(string soNo,string skuno,string lotno)
+ {
+
+ var info = Db.Queryable<BllExportAllot>()
+ .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo)
+ .LeftJoin<SysWareHouse>((a,b,c)=>b.WareHouseNo == c.WareHouseNo)
+ .LeftJoin<SysStorageArea>((a,b,c,d)=>b.AreaNo == d.AreaNo)
+ .Where(a => a.IsDel == "0" && (a.Status == "0" || a.Status == "1") && a.SONo == soNo && a.SkuNo == skuno && a.LotNo == lotno)
+ .GroupBy((a, b,c,d) => new { a.PalletNo, b.LocatNo,c.WareHouseName,d.AreaName }).Select((a, b,c,d) => new BoxInfo()
+ {
+ PalletNo = a.PalletNo,
+ LocatNo = b.LocatNo,
+ WareHouseName = c.WareHouseName,
+ AreaName = d.AreaName
+ }).ToListAsync();
+ var data = await info;
+
+ /*v var info = Db.Queryable<BllExportAllot>()
+ .LeftJoin<DataStockDetail>((a, b) => a.PalletNo == b.PalletNo)
+ .Where(a=>a.IsDel == "0" && (a.Status == "0"||a.Status =="1") && a.SONo == soNo)
+ .GroupBy((a,b) => new { a.SkuNo, a.SkuName, a.LotNo, a.PalletNo,b.LocatNo }).Select((a,b) => new BoxInfo()
+ {
+ PalletNo = a.PalletNo,
+ SkuNo = a.SkuNo,
+ SkuName = a.SkuName,
+ LotNo = a.LotNo,
+ LocatNo = b.LocatNo
+ }).ToListAsync();
+ var data = await info;*/
return data;
}
@@ -1328,6 +1393,7 @@
catch (Exception e)
{
Db.RollbackTran();
+ throw e;
}
}
@@ -1385,7 +1451,8 @@
}
//鍙栨牱鍑哄簱鎷h揣(鏍囩)
- public async Task SampleSoSetPick(string soType, string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3, string pickQty1, string asnNo, int userId)
+ public async Task SampleSoSetPick(string soType, string soNo, string soDetailId, string palletNo, string boxNo, string boxNo3,
+ string pickQty1, string asnNo, int userId)
{
Db.BeginTran();
try
@@ -2025,6 +2092,7 @@
catch (Exception e)
{
Db.RollbackTran();
+ throw e;
}
}
@@ -2497,6 +2565,7 @@
catch (Exception e)
{
Db.RollbackTran();
+ throw e;
}
}
@@ -3032,6 +3101,7 @@
catch (Exception e)
{
Db.RollbackTran();
+ throw e;
}
}
/// <summary>
@@ -3345,6 +3415,7 @@
catch (Exception e)
{
Db.RollbackTran();
+ throw e;
}
}
#endregion
@@ -3389,7 +3460,7 @@
var samplingQty = await Db.Queryable<BllSamplingDetails>().Where(m => m.IsDel == "0" && m.QcNo == qcNo).SumAsync(m => m.CompleteQty);
data.QcNo = qcNo;
- data.Sku = inspectionRequest.SkuNo;
+ data.Sku = inspectionRequest.SkuNo + "-" + inspectionRequest.SkuName;
data.LotNo = inspectionRequest.LotNo;
data.Qty = inspectionRequest.SamplingQty.ToString();
data.SamplingQty = samplingQty == null ? "0" : samplingQty.ToString();
@@ -3855,6 +3926,7 @@
catch (Exception e)
{
Db.RollbackTran();
+ throw e;
}
}
@@ -3899,14 +3971,20 @@
throw Oops.Bah("璇烽獙鍗曠姸鎬侀敊璇紝璇锋牳瀹�");
}
//搴撳瓨鏄庣粏淇℃伅
- var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNo && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo);
+ var stockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNo
+ && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo);
if (stockDetail == null)
{
throw Oops.Bah("鏈湪搴撳瓨涓煡璇㈠嚭褰撳墠鎵樼洏淇℃伅");
}
+ // 鍒ゆ柇鎵樼洏鏄惁鍦ㄥ簱鍐�
if (!string.IsNullOrWhiteSpace(stockDetail.LocatNo))
{
- throw Oops.Bah("褰撳墠鎵樼洏涓嶆槸搴撳鎵樼洏锛岃鏍稿疄");
+ var wareHouseData = await Db.Queryable<SysWareHouse>().FirstAsync(m => m.IsDel == "0" && m.WareHouseNo == stockDetail.WareHouseNo);
+ if (wareHouseData.Type != "2")
+ {
+ throw Oops.Bah("褰撳墠鎵樼洏涓嶆槸搴撳鎵樼洏锛岃鏍稿疄");
+ }
}
//搴撳瓨鎬昏〃
var stock = await Db.Queryable<DataStock>().FirstAsync(m => m.IsDel == "0" && m.SkuNo == inspecd.SkuNo && m.LotNo == inspecd.LotNo);
@@ -4033,8 +4111,6 @@
await Db.Updateable(inspecd).ExecuteCommandAsync();
#endregion
-
-
//娣诲姞鎿嶄綔鏃ュ織璁板綍
var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "鍙栨牱鎷h揣", qcNo, "鎷h揣", $"鍦≒DA涓婂璇烽獙鍗曞彿涓猴細{qcNo}鐨勬墭鐩樼爜涓猴細{palletNo}鐨勬嫞璐ф搷浣�", userId);
Db.CommitTran();
@@ -4042,6 +4118,7 @@
catch (Exception e)
{
Db.RollbackTran();
+ throw e;
}
}
--
Gitblit v1.8.0