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