From 1db2dcbec358ed43724e8621d7d99981ba4c1ad2 Mon Sep 17 00:00:00 2001
From: hudong <Administrator@PC-20250329JZUF>
Date: 星期五, 30 五月 2025 17:00:22 +0800
Subject: [PATCH] 1.其他出入库返回参数优化 2.生产订单接收返回参数修改 3.空托出入库逻辑修改(可以选择半托的托盘进行入库)

---
 api/WmsSpaHelper.cs |   65 +++++++++++++++++++++++++++++---
 1 files changed, 59 insertions(+), 6 deletions(-)

diff --git a/api/WmsSpaHelper.cs b/api/WmsSpaHelper.cs
index 1db82f5..a884e93 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>
@@ -423,6 +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;
+                              //  }
                                 ///鍒ゆ柇鏄惁閮芥湁鍐查攢鍑瘉缂栧彿
                                 if (string.IsNullOrEmpty(item.CXPZH))
                                 {
@@ -1854,13 +1893,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 +1924,15 @@
                             {
                                 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")
+                                   .Select((lcr, cir, loc) => loc).ToList()  // 杩斿洖 Location 瀵硅薄
+                                   .FirstOrDefault();  // 鎴栬� Take(1).ToList()[0]
                         }
                         else
                         {
@@ -1908,7 +1960,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 +2004,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();

--
Gitblit v1.9.1