From 602888646252d790854bbe70fdcfe3348486cb88 Mon Sep 17 00:00:00 2001
From: admin <qiutairan163@163.com>
Date: 星期四, 13 十一月 2025 17:00:51 +0800
Subject: [PATCH] B010201-B010209九个地码分配出库

---
 Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs |   25 ++++++++++++++++---------
 1 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
index 00f9118..08a6537 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaCrServer.cs
@@ -424,28 +424,35 @@
         /// <returns></returns>
         public async Task<List<StockDetailWithQtyDto>> GetStockQueryList(string locatNo, string palletNo, string boxNo)
         {
-            string dataSql = "";
+            string dataSql = "", whereStr = "";
 
             if (string.IsNullOrWhiteSpace(boxNo))
             {
-                dataSql = $@"select SkuName,SkuNo,LotNo,sum(isnull(Qty,0)) as Qty,sum(isnull(LockQty,0)) as LockQty,sum(isnull(LockQty,0)) as FrozenQty
+                whereStr = string.IsNullOrWhiteSpace(locatNo) ? "1=1" : $@"LocatNo='{locatNo}'";
+
+                dataSql = $@"select SkuName,SkuNo,LotNo,LocatNo,PalletNo,sum(isnull(Qty,0)) as Qty,sum(isnull(LockQty,0)) as LockQty,sum(isnull(LockQty,0)) as FrozenQty
 	from DataStockDetail
-	where IsDel='0' and (PalletNo='{palletNo}' or LocatNo='{locatNo}')
-	group by SkuName,SkuNo,LotNo
+	where IsDel='0' and PalletNo='{palletNo}' and {whereStr}
+	group by SkuName,SkuNo,LotNo,LocatNo,PalletNo
 	order by SkuNo,LotNo";
             }
             else
             {
-                dataSql = $@"select SkuName,SkuNo,LotNo,sum(isnull(Qty,0)) as Qty,0 as LockQty,0 as FrozenQty
-	from DataBoxInfo
-	where IsDel='0' and BoxNo='{boxNo}' and PalletNo='{palletNo}'
-	group by SkuName,SkuNo,LotNo
-	order by SkuNo,LotNo";
+                whereStr = string.IsNullOrWhiteSpace(palletNo) ? "1=1" : $@"a.PalletNo='{palletNo}'";
+
+                dataSql = $@"select a.SkuName,a.SkuNo,a.LotNo,b.LocatNo,a.PalletNo,sum(isnull(a.Qty,0)) as Qty,0 as LockQty,0 as FrozenQty
+	from DataBoxInfo a
+	left join DataStockDetail b on b.Id=a.StockDetailId
+	where a.IsDel='0' and a.BoxNo='{boxNo}' and {whereStr}
+	group by a.SkuName,a.SkuNo,a.LotNo,b.LocatNo,a.PalletNo
+	order by a.SkuNo,a.LotNo";
             }
             DataTable dataDt = await Db.Ado.GetDataTableAsync(dataSql);
 
             var result = dataDt.Rows.Cast<DataRow>().Select(e => new StockDetailWithQtyDto
             {
+                LocatNo = e["LocatNo"] + "",
+                PalletNo = e["PalletNo"] + "",
                 SkuNo = e["SkuNo"] + "",
                 SkuName = e["SkuName"] + "",
                 LotNo = e["LotNo"] + "",

--
Gitblit v1.8.0