From 2f8fc989f339a936b01092caebd4c46e6109da1b Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期二, 16 十二月 2025 11:29:37 +0800
Subject: [PATCH] 代码提交

---
 WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs |   37 ++++++++++++++++++++++++++-----------
 1 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs
index c1920c5..029a2cd 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs
@@ -80,6 +80,13 @@
             return BaseDal.GetStockInfos(materielCode, locationCodes);
         }
 
+        //public List<Dt_StockInfo> GetUseableStocks(string materielCode, string batchNo, int warehoseId)
+        //{
+        //    List<string> locationCodes = _basicRepository.LocationInfoRepository.GetCanOutLocationCodes(warehoseId);
+
+        //    return BaseDal.GetStockInfos(materielCode, batchNo, locationCodes);
+        //}
+
         public List<StockSelectViewDTO> GetStockSelectViews(string materielCode)
         {
             List<string> roadways = _basicRepository.RoadwayInfoRepository.CanOutRoadwayNos;
@@ -204,19 +211,19 @@
                 List<Dt_StockInfodt> stolist= new List<Dt_StockInfodt>();
                 for (int i = 0; i < entities.Count; i++)
                 {
-                    Dt_StockInfoDetail dt_StockIndet = detdata.Where(x => x.StockId == entities[i].Id).FirstOrDefault();
+                    List<Dt_StockInfoDetail> dt_StockIndet = detdata.Where(x => x.StockId == entities[i].Id).ToList();
                     string MaterialTypet = "鍘熸潗鏂�";
                     if (entities[i].MaterialType == (int)InventoryMaterialType.鎴愬搧)
                     {
                         MaterialTypet = "鎴愬搧";
                     }
-                    else if(entities[i].MaterialType == (int)InventoryMaterialType.绌烘墭)
+                    else if (entities[i].MaterialType == (int)InventoryMaterialType.绌烘墭)
                     {
                         MaterialTypet = "绌烘墭";
                     }
 
                     string Wlstatust = "寰呮";
-                    if (entities[i].Wlstatus== (int)InventoryMaterialStatus.鍚堟牸)
+                    if (entities[i].Wlstatus == (int)InventoryMaterialStatus.鍚堟牸)
                     {
                         Wlstatust = "鍚堟牸";
                     }
@@ -247,14 +254,14 @@
                         MaterialType = MaterialTypet,
                         LocationCode = entities[i].LocationCode,
                         Wlstatus = Wlstatust,
-                        MaterielCode = dt_StockIndet?.MaterielCode ?? "", // 濡傛灉 dt_StockIndet 涓� null锛屼娇鐢ㄧ┖瀛楃涓蹭綔涓洪粯璁ゅ��
-                        MaterielName = dt_StockIndet?.MaterielName ?? "",
-                        OrderNo = dt_StockIndet?.OrderNo ?? "",
-                        BatchNo = dt_StockIndet?.BatchNo ?? "",
-                        SerialNumber = dt_StockIndet?.SerialNumber ?? "",
-                        StockQuantity = dt_StockIndet?.StockQuantity ?? 0, // 鍋囪 StockQuantity 鏄暟鍊肩被鍨嬶紝浣跨敤 0 浣滀负榛樿鍊�
-                        BatchNoName = dt_StockIndet?.BatchNoName ?? "",
-                        CreateDate = dt_StockIndet?.CreateDate ?? DateTime.MinValue, // 鍋囪 CreateDate 鏄棩鏈熺被鍨嬶紝浣跨敤榛樿鏃堕棿
+                        MaterielCode = dt_StockIndet?.FirstOrDefault()?.MaterielCode ?? "",
+                        MaterielName = dt_StockIndet?.FirstOrDefault()?.MaterielName ?? "",
+                        OrderNo = dt_StockIndet?.FirstOrDefault()?.OrderNo ?? "",
+                        BatchNo = dt_StockIndet?.FirstOrDefault()?.BatchNo ?? "",
+                        SerialNumber = dt_StockIndet?.FirstOrDefault()?.SerialNumber ?? "",
+                        StockQuantity = dt_StockIndet?.Sum(item => item.StockQuantity) ?? 0,
+                        BatchNoName = dt_StockIndet?.FirstOrDefault()?.BatchNoName ?? "",
+                        CreateDate = dt_StockIndet?.FirstOrDefault()?.CreateDate ?? DateTime.MinValue,
                         Remark = entities[i].Remark,
                     };
                     stolist.Add(dt_);
@@ -289,5 +296,13 @@
             [ExporterHeader(DisplayName = "鐗╂枡鐘舵��")]
             public string Wlstatus { get; set; }
         }
+
+
+        public List<Dt_StockInfo> GetUseableStocks(string materielCode, string batchNo, List<Dt_Warehouse> warehouse)
+        {
+            List<string> locationCodes = _basicRepository.LocationInfoRepository.GetCanOutLocationCodes(warehouse);
+
+            return BaseDal.GetStockInfos(materielCode, batchNo, locationCodes);
+        }
     }
 }

--
Gitblit v1.9.3