From b9f7560cbe0e562a40e9515a0559a3e951f0fee6 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期一, 07 四月 2025 09:16:01 +0800
Subject: [PATCH] 问题修改

---
 Wms/WMS.BLL/DataServer/StockServer.cs |   90 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 89 insertions(+), 1 deletions(-)

diff --git a/Wms/WMS.BLL/DataServer/StockServer.cs b/Wms/WMS.BLL/DataServer/StockServer.cs
index 958fa07..9c802dc 100644
--- a/Wms/WMS.BLL/DataServer/StockServer.cs
+++ b/Wms/WMS.BLL/DataServer/StockServer.cs
@@ -90,9 +90,27 @@
 
             //搴撳瓨鎬婚噺
             List<MateDataStockDto> StockListDto = new List<MateDataStockDto>();
+            DataStockDetail detail = new DataStockDetail();
 
             foreach (var item in StockList)
             {
+
+                detail = Db.Queryable<DataStockDetail>().First(w => w.SkuNo == item.SkuNo && w.LotNo == item.LotNo && w.IsDel == "0");
+                if (detail != null)
+                {
+                    if (!string.IsNullOrEmpty(detail.ProductionTime.ToString()))
+                    {
+                        item.ProductionTime = (DateTime)detail.ProductionTime;
+                    }
+                    if (!string.IsNullOrEmpty(detail.ExpirationTime.ToString()))
+                    {
+                        item.ExpirationTime = (DateTime)detail.ExpirationTime;
+                    }
+                    item.InspectStatus = detail.InspectStatus;
+                }
+                
+
+                
                 StockListDto.Add(item);
                 ////鍒ゆ柇搴撳瓨鎬婚噺鏄惁鎷ユ湁鐗╂枡
                 //if (StockListDto.Count > 0)
@@ -238,10 +256,70 @@
                 categoryNo = categoryNo,                //閫昏緫搴撳尯
                 type = type
             });
+            foreach (var item in stockDetailsList)
+            {
+                if (!string.IsNullOrEmpty(item.LocatNo))
+                {
+                    if (item.WareHouseNo == "W01") 
+                    { 
+                        item.PLCLocatNo = GetDjAdress(item.LocatNo.Substring(1, 2), item.LocatNo.Substring(0, 2), item.LocatNo.Substring(6, 2)).ToString() + item.LocatNo.Substring(2, 2) + item.LocatNo.Substring(4, 2);
+                    }
+                }
+               
+            }
             return stockDetailsList;
         }
 
         #endregion
+
+        /// <summary>
+        /// 鏍规嵁鍌ㄤ綅鎺掕幏鍙栬泛鏈哄搴旂殑鍦板潃鎺�03010302
+        /// </summary>
+        /// <param name="road">鎺�02</param>
+        /// <param name="pai">鎺�03</param>
+        /// <param name="dept">娣卞害02</param>
+        /// <returns></returns>
+        public static int GetDjAdress(string road, string pai, string dept)
+        {
+            var roadNum = int.Parse(road);
+            var paiNum = int.Parse(pai);
+            var deptNum = int.Parse(dept);
+
+            var paiVal = 0;
+
+            // 鍒ゆ柇鎺掑鍋舵暟
+            if (paiNum % 2 == 0)
+            {
+                if (deptNum == 1)
+                {
+                    paiVal = 3;
+                }
+                else
+                {
+                    paiVal = 4;
+                }
+            }
+            else
+            {
+                if (deptNum == 1)
+                {
+                    paiVal = 2;
+
+                }
+                else
+                {
+                    paiVal = 1;
+
+                }
+            }
+
+            if (paiVal == 0)
+            {
+                throw new Exception("鎺掕浆鎹㈠け璐�");
+            }
+            return paiVal;
+
+        }
 
         #region 浣庡簱瀛橀璀�
 
@@ -365,9 +443,12 @@
                 //startTime = startTime,
                 //endTime = endTime
             });
+            DataStock stock = new DataStock();
+            stock = Db.Queryable<DataStock>().First();
 
             //鍚堝苟鏁版嵁
             int a = 0;
+            decimal qty = 0;
             foreach (var h in totalHListData)
             {
                 if (a >= totalCListData.Count)
@@ -376,16 +457,23 @@
                 }
                 foreach (var c in totalCListData)
                 {
+                    
                     //鍒ゆ柇鍑哄簱鏄惁鎷ユ湁鐩稿悓鎵规 涓旂墿鏂欑浉鍚�
                     if (h.LotNo == c.LotNo)
                     {
                         if (h.SkuNo == c.SkuNo && h.SkuName == c.SkuName)
                         {
+                            stock = Db.Queryable<DataStock>().First(w=>w.SkuNo == h.SkuNo && w.SkuName == h.SkuName && w.LotNo == h.LotNo && w.IsDel == "0");
+                            if (stock != null)
+                            {
+                                qty = stock.Qty;
+                            }
                             h.CQty = c.CQty; //鍑哄簱鏁伴噺
                             h.CAllotQty = c.CAllotQty; //鍒嗛厤鏁伴噺
                             h.CFactQty = c.CFactQty; //涓嬫灦鏁伴噺
                             h.CompleteQty = c.CompleteQty; //鎷h揣鏁伴噺
-                            //h.SONo = c.SONo; //鍑哄簱鍗曞彿
+                            h.Qty = qty;  //褰撳墠搴撳瓨
+
 
                             a += 1;
 

--
Gitblit v1.8.0