From 5dc410803c593d1166b73f2b4a4a2e2b515ef09c Mon Sep 17 00:00:00 2001
From: hudong <Administrator@PC-20250329JZUF>
Date: 星期三, 04 六月 2025 08:31:48 +0800
Subject: [PATCH] 1.所有入库接口 增加最大库存判断逻辑 2.空托出入库 半托 先进先出

---
 api/WmsSpaHelper.cs |   87 +++++++++++++++++++++++++++++++++----------
 1 files changed, 67 insertions(+), 20 deletions(-)

diff --git a/api/WmsSpaHelper.cs b/api/WmsSpaHelper.cs
index 4f9ea2b..a677c7d 100644
--- a/api/WmsSpaHelper.cs
+++ b/api/WmsSpaHelper.cs
@@ -451,17 +451,17 @@
                             }
                             foreach (var item in items.ITEM)
                             {
-                              //bool v=  MaterPanduan(item.WLBM, item.SL);
-                              //  if (!v)
-                              //  {
-                              //      result.resultMsg = "澶辫触";
-                              //      result.WLPZBH = items.HEAD.WLPZH;
-                              //      result.resultCode = 1;
-                              //      result.WLPZND = items.HEAD.WLPZND;
-                              //      result.resultMsg = $"鐗╂枡{item.WLBM}鏁伴噺瓒呰繃 搴撳瓨鎬绘暟";
-                              //      simpleResults.Add(result);
-                              //      continue;
-                              //  }
+                                bool v = MaterPanduan(item.WLBM, item.SL);
+                                if (!v)
+                                {
+                                    result.resultMsg = "澶辫触";
+                                    result.WLPZBH = items.HEAD.WLPZH;
+                                    result.resultCode = 1;
+                                    result.WLPZND = items.HEAD.WLPZND;
+                                    result.resultMsg = $"鐗╂枡{item.WLBM}鏁伴噺瓒呰繃 搴撳瓨鎬绘暟";
+                                    simpleResults.Add(result);
+                                    continue;
+                                }
                                 ///鍒ゆ柇鏄惁閮芥湁鍐查攢鍑瘉缂栧彿
                                 if (string.IsNullOrEmpty(item.CXPZH))
                                 {
@@ -1224,9 +1224,20 @@
                             po.Details = new List<TN_Inbound_Detail>();
                             if (itemwlpz.ITEM.Count > 0)
                             {
-                                itemwlpz.ITEM.ForEach(a =>
+                                foreach (var a in itemwlpz.ITEM)
+                                
                                 {
-
+                                    bool v = MaterPanduan(a.WLBM, a.SL);
+                                    if (!v)
+                                    {
+                                        result.resultMsg = "澶辫触";
+                                        result.WLPZBH = itemwlpz.HEAD.WLPZH;
+                                        result.resultCode = 1;
+                                        result.WLPZND = itemwlpz.HEAD.ND;
+                                        result.resultMsg = $"鐗╂枡{a.WLBM}鏁伴噺瓒呰繃 搴撳瓨鎬绘暟";
+                                        simpleResults.Add(result);
+                                        continue;
+                                    }
                                     po.Details.Add(new TN_Inbound_Detail
                                     {
                                         S_IO_NO = itemwlpz.HEAD.WLPZH,
@@ -1248,7 +1259,7 @@
                                     });
                                     //}
 
-                                });
+                                }
                                 db.Insertable<TN_Inbound_Order>(po).ExecuteCommand();
                                 db.Insertable<TN_Inbound_Detail>(po.Details).ExecuteCommand();
                                 db.CommitTran();
@@ -1262,8 +1273,19 @@
                             var Details = new List<TN_Inbound_Detail>();
                             if (itemwlpz.ITEM.Count > 0)
                             {
-                                itemwlpz.ITEM.ForEach(a =>
+                                foreach (var a in itemwlpz.ITEM)
                                 {
+                                    bool v = MaterPanduan(a.WLBM, a.SL);
+                                    if (!v)
+                                    {
+                                        result.resultMsg = "澶辫触";
+                                        result.WLPZBH = itemwlpz.HEAD.WLPZH;
+                                        result.resultCode = 1;
+                                        result.WLPZND = itemwlpz.HEAD.ND;
+                                        result.resultMsg = $"鐗╂枡{a.WLBM}鏁伴噺瓒呰繃 搴撳瓨鎬绘暟";
+                                        simpleResults.Add(result);
+                                        continue;
+                                    }
                                     if (po.Details.Where(s => s.S_ITEM_CODE == a.WLBM).Count() > 0)
                                     {
                                         var poq = po.Details.Where(s => s.S_ITEM_CODE == a.WLBM).FirstOrDefault();
@@ -1292,7 +1314,7 @@
                                         });
                                     }
 
-                                });
+                                }
                                 db.Insertable<TN_Inbound_Detail>(Details).ExecuteCommand();
                                 db.CommitTran();
 
@@ -1371,8 +1393,20 @@
                                 po.Details = new List<TN_Inbound_Detail>();
                                 if (itemwlpz.ITEM.Count > 0)
                                 {
-                                    itemwlpz.ITEM.ForEach(a =>
+                                    foreach (var a in itemwlpz.ITEM)
+                                   
                                     {
+                                        bool v = MaterPanduan(a.WLBH, a.SL);
+                                        if (!v)
+                                        {
+                                            result.resultMsg = "澶辫触";
+                                            result.WLPZBH = itemwlpz.HEAD.WLPZBH;
+                                            result.resultCode = 1;
+                                            result.WLPZND = itemwlpz.HEAD.WLPZNF;
+                                            result.resultMsg = $"鐗╂枡{a.WLBH}鏁伴噺瓒呰繃 搴撳瓨鎬绘暟";
+                                            simples.Add(result);
+                                            continue;
+                                        }
                                         #region 涓嶉渶瑕�                                         //if (a.ITEM1.Select(s => s.XLH).Count() > 0)//鍒ゆ柇搴忓垪鍙锋槸鍚︿负澶氫釜
                                         //{
@@ -1424,7 +1458,7 @@
                                         });
                                         //}
 
-                                    });
+                                    }
                                     db.Insertable<TN_Inbound_Order>(po).ExecuteCommand();
                                     db.Insertable<TN_Inbound_Detail>(po.Details).ExecuteCommand();
                                     db.CommitTran();
@@ -1436,8 +1470,20 @@
                                 var Details = new List<TN_Inbound_Detail>();
                                 if (itemwlpz.ITEM.Count > 0)
                                 {
-                                    itemwlpz.ITEM.ForEach(a =>
+                                    foreach (var a in itemwlpz.ITEM)
+                                   
                                     {
+                                        bool v = MaterPanduan(a.WLBH, a.SL);
+                                        if (!v)
+                                        {
+                                            result.resultMsg = "澶辫触";
+                                            result.WLPZBH = itemwlpz.HEAD.WLPZBH;
+                                            result.resultCode = 1;
+                                            result.WLPZND = itemwlpz.HEAD.WLPZNF;
+                                            result.resultMsg = $"鐗╂枡{a.WLBH}鏁伴噺瓒呰繃 搴撳瓨鎬绘暟";
+                                            simples.Add(result);
+                                            continue;
+                                        }
                                         if (po.Details.Where(s => s.S_ITEM_CODE == a.WLBH).Count() > 0)
                                         {
                                             var poq = po.Details.Where(s => s.S_ITEM_CODE == a.WLBH).FirstOrDefault();
@@ -1471,7 +1517,7 @@
                                             });
                                         }
 
-                                    });
+                                    }
                                     db.Insertable<TN_Inbound_Detail>(Details).ExecuteCommand();
                                     db.CommitTran();
 
@@ -1931,6 +1977,7 @@
                                    .LeftJoin<CntrItemRel>((lcr, cir) => lcr.S_CNTR_CODE == cir.S_CNTR_CODE&&cir.S_CNTR_TYPE=="鍗婃墭")
                                    .Where((lcr, cir) => cir.S_CNTR_CODE != null)  
                                    .LeftJoin<Location>((lcr, cir, loc) => lcr.S_LOC_CODE == loc.S_CODE && loc.S_AREA_CODE == "HJQ")
+                                    .OrderBy((lcr, cir) => cir.T_CREATE)
                                    .Select((lcr, cir, loc) => loc).ToList()  // 杩斿洖 Location 瀵硅薄
                                    .FirstOrDefault();  // 鎴栬� Take(1).ToList()[0]
                         }

--
Gitblit v1.9.1