From a9b773182cbae218f87bbebb0b88871180677a63 Mon Sep 17 00:00:00 2001
From: hudong <Administrator@PC-20250329JZUF>
Date: 星期三, 04 六月 2025 17:27:45 +0800
Subject: [PATCH] 优化

---
 api/WmsSpaHelper.cs |   88 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 72 insertions(+), 16 deletions(-)

diff --git a/api/WmsSpaHelper.cs b/api/WmsSpaHelper.cs
index 1db82f5..db48e3c 100644
--- a/api/WmsSpaHelper.cs
+++ b/api/WmsSpaHelper.cs
@@ -45,6 +45,34 @@
 
         }
 
+        public static bool MaterPanduan(string ItemCode,double count) {
+            bool panduan = true;
+            var db = new SqlHelper<object>().GetInstance();
+
+            var po = db.Queryable<TN_Material_KC>().Where(a => a.S_ITEM_CODE == ItemCode).First();
+
+            var po1 = db.Queryable<CntrItemRel>().Where(a => a.S_ITEM_CODE == ItemCode).First();
+            if (po != null)
+            {
+                if (po1!=null)
+                {
+                    double sl= po1.F_QTY + count;
+                    if (sl>po.N_COUNT)
+                    {
+                        panduan = false;
+                    }
+                }
+                if (count > po.N_COUNT)
+                {
+                    panduan = false;
+                }
+            }
+            else
+            {
+                panduan = false;
+            }
+            return panduan;
+        }
         /// <summary>
         /// 鏁版嵁
         /// </summary>
@@ -1185,9 +1213,10 @@
                             po.Details = new List<TN_Inbound_Detail>();
                             if (itemwlpz.ITEM.Count > 0)
                             {
-                                itemwlpz.ITEM.ForEach(a =>
+                                foreach (var a in itemwlpz.ITEM)
+                                
                                 {
-
+                                  
                                     po.Details.Add(new TN_Inbound_Detail
                                     {
                                         S_IO_NO = itemwlpz.HEAD.WLPZH,
@@ -1209,7 +1238,7 @@
                                     });
                                     //}
 
-                                });
+                                }
                                 db.Insertable<TN_Inbound_Order>(po).ExecuteCommand();
                                 db.Insertable<TN_Inbound_Detail>(po.Details).ExecuteCommand();
                                 db.CommitTran();
@@ -1223,7 +1252,7 @@
                             var Details = new List<TN_Inbound_Detail>();
                             if (itemwlpz.ITEM.Count > 0)
                             {
-                                itemwlpz.ITEM.ForEach(a =>
+                                foreach (var a in itemwlpz.ITEM)
                                 {
                                     if (po.Details.Where(s => s.S_ITEM_CODE == a.WLBM).Count() > 0)
                                     {
@@ -1253,7 +1282,7 @@
                                         });
                                     }
 
-                                });
+                                }
                                 db.Insertable<TN_Inbound_Detail>(Details).ExecuteCommand();
                                 db.CommitTran();
 
@@ -1332,8 +1361,10 @@
                                 po.Details = new List<TN_Inbound_Detail>();
                                 if (itemwlpz.ITEM.Count > 0)
                                 {
-                                    itemwlpz.ITEM.ForEach(a =>
+                                    foreach (var a in itemwlpz.ITEM)
+                                   
                                     {
+                                        
                                         #region 涓嶉渶瑕�                                         //if (a.ITEM1.Select(s => s.XLH).Count() > 0)//鍒ゆ柇搴忓垪鍙锋槸鍚︿负澶氫釜
                                         //{
@@ -1385,7 +1416,7 @@
                                         });
                                         //}
 
-                                    });
+                                    }
                                     db.Insertable<TN_Inbound_Order>(po).ExecuteCommand();
                                     db.Insertable<TN_Inbound_Detail>(po.Details).ExecuteCommand();
                                     db.CommitTran();
@@ -1397,7 +1428,8 @@
                                 var Details = new List<TN_Inbound_Detail>();
                                 if (itemwlpz.ITEM.Count > 0)
                                 {
-                                    itemwlpz.ITEM.ForEach(a =>
+                                    foreach (var a in itemwlpz.ITEM)
+                                   
                                     {
                                         if (po.Details.Where(s => s.S_ITEM_CODE == a.WLBH).Count() > 0)
                                         {
@@ -1432,7 +1464,7 @@
                                             });
                                         }
 
-                                    });
+                                    }
                                     db.Insertable<TN_Inbound_Detail>(Details).ExecuteCommand();
                                     db.CommitTran();
 
@@ -1732,6 +1764,15 @@
         internal static SimpleResult InboundOrderSorting(MPSorting model)
         {
             var result = new SimpleResult();
+            foreach (var a in model.MaterList)
+            {
+                bool v = MaterPanduan(a.item_code, a.qty);
+                if (v)
+                {
+                    result.resultMsg = $"鐗╂枡{a.item_code}鏁伴噺瓒呰繃 搴撳瓨鎬绘暟";
+                    return result;
+                }
+            }
             //鍒ゆ柇璧峰搴撲綅鏄惁閿佸畾
             // var db = new SqlHelper<object>().GetInstance();
             using (var db = new SqlHelper<object>().GetInstance())
@@ -1854,13 +1895,17 @@
                         return result;
                     }
                     //鍒ゆ柇鎵樼洏鏄惁宸茬粡鐢熸垚浠诲姟锛屽鏋滄病鏈夊垯鐢熸垚
-                    var wmsTaskcs = WMSHelper.GetWmsTaskByCntr(model.cntr_code);
-                    if (wmsTaskcs != null)
+                    if (!string.IsNullOrEmpty(model.cntr_code))
                     {
-                        result.resultCode = 3;
-                        result.resultMsg = $"璧风偣{model.start} 鎵樼洏{model.cntr_code}宸茬粡鍒涘缓浠诲姟锛岃鍕块噸澶嶇敵璇�;
-                        return result;
+                        var wmsTaskcs = WMSHelper.GetWmsTaskByCntr(model.cntr_code);
+                        if (wmsTaskcs != null)
+                        {
+                            result.resultCode = 3;
+                            result.resultMsg = $"璧风偣{model.start} 鎵樼洏{model.cntr_code}宸茬粡鍒涘缓浠诲姟锛岃鍕块噸澶嶇敵璇�;
+                            return result;
+                        }
                     }
+                   
                     //鍑哄簱
                     if (model.Type==2)
                     {
@@ -1881,6 +1926,16 @@
                             {
                                 start= db.Queryable<Location>().Where(it => it.S_CODE == loc.S_LOC_CODE).First();
                             }
+                        }
+                        else if (!string.IsNullOrEmpty(model.item_code))
+                        {
+                            start = db.Queryable<LocCntrRel>()
+                                   .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]
                         }
                         else
                         {
@@ -1908,7 +1963,7 @@
                             start = db.Queryable<LocCntrRel>()
                                     .LeftJoin<CntrItemRel>((lcr, cir) => lcr.S_CNTR_CODE == cir.S_CNTR_CODE)
                                     .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")
+                                    .LeftJoin<Location>((lcr, cir, loc) => lcr.S_LOC_CODE == loc.S_CODE && loc.S_AREA_CODE == "HJQ")
                                     .Select((lcr, cir, loc) => loc).ToList()  // 杩斿洖 Location 瀵硅薄
                                     .FirstOrDefault();  // 鎴栬� Take(1).ToList()[0]
                         }
@@ -1952,6 +2007,7 @@
                         Location end = new Location();
                         if (!string.IsNullOrEmpty(model.cntr_code))
                         {
+                          
                             #region MyRegion
                             //var list = db.Queryable<CntrItemRel>().Select(s => s.S_CNTR_CODE).ToArray();
                             //var S_LOC_CODElist =   db.Queryable<LocCntrRel>().Where(s=>!list.Contains(s.S_CNTR_CODE)).Select(s=>s.S_LOC_CODE).ToArray();
@@ -3088,7 +3144,7 @@
         [ApiExplorerSettings(IgnoreApi = true)]
         public static SimpleResult AddInboundOrder(List<Mater> MaterList, string cntr_code,string S_CNTR_TYPE)
         {
-            var result = new SimpleResult();
+            var result = new SimpleResult();     
             //  var db = new SqlHelper<object>().GetInstance();
             using (var db = new SqlHelper<object>().GetInstance())
             {

--
Gitblit v1.9.1