From 983cb777c4bfea428b9802b21b2eb9787f988946 Mon Sep 17 00:00:00 2001
From: chengsc <11752@DESKTOP-DS49RCP>
Date: 星期三, 05 三月 2025 10:05:54 +0800
Subject: [PATCH] 修改入库流程

---
 Wms/WMS.BLL/Logic/AllotLocation.cs |   38 +++++---------------------------------
 1 files changed, 5 insertions(+), 33 deletions(-)

diff --git a/Wms/WMS.BLL/Logic/AllotLocation.cs b/Wms/WMS.BLL/Logic/AllotLocation.cs
index e21b168..98fb833 100644
--- a/Wms/WMS.BLL/Logic/AllotLocation.cs
+++ b/Wms/WMS.BLL/Logic/AllotLocation.cs
@@ -239,7 +239,7 @@
 
                             //鏌ヨ璇ュ贩閬撳苟涓旀爣蹇椾负姝e父鐨勭殑鍌ㄤ綅
                             roadwayList.Add(roadway);
-                            var locate = GetLocateByRoadways(roadwayList,areaList,true);
+                            var locate = GetLocateByRoadways(roadwayList,areaList,true,houseNo);
                             if (locate == null)
                             {
                                 throw new Exception($"{roadwayNo}宸烽亾娌℃湁鍚堥�傜殑绌哄偍浣�");
@@ -251,38 +251,10 @@
                         {
                             var roadwayList = db.Queryable<SysStorageRoadway>().Where(m => m.WareHouseNo == houseNo && m.Status == "0" && roadList.Contains(m.RoadwayNo)).OrderBy(m => new { m.Priority, m.RoadwayNo }).ToList();
 
-                            var locate = GetLocateByRoadways(roadwayList,areaList);
+                            var locate = GetLocateByRoadways(roadwayList,areaList,false, houseNo);
                             if (locate == null)
                             {
                                 throw new Exception($"{houseNo}浠撳簱宸插惎鐢ㄧ殑宸烽亾涓病鏈夊悎閫傜殑绌哄偍浣�");
-                            }
-                            return locate;
-                        }
-                    //鎸囧畾宸烽亾
-                    case "瀵嗛泦搴�" when !string.IsNullOrWhiteSpace(roadwayNo):
-                        {
-                            var roadwayList = new List<SysStorageRoadway>();
-                            var roadway = db.Queryable<SysStorageRoadway>().First(m => m.RoadwayNo == roadwayNo);
-                            if (roadway == null)
-                            {
-                                throw new Exception($"鏈煡璇㈠埌{roadwayNo}宸烽亾淇℃伅");
-                            }
-
-                            if (!roadList.Contains(roadwayNo))
-                            {
-                                throw new Exception("褰撳墠鐗╂枡瀛樻斁鍖哄煙鏈湪鎸囧畾宸烽亾涓�");
-                            }
-                            if (roadway.Status == "1")
-                            {
-                                throw new Exception($"{roadwayNo}宸烽亾宸插仠鐢�");
-                            }
-
-                            //鏌ヨ璇ュ贩閬撳苟涓旀爣蹇椾负姝e父鐨勭殑鍌ㄤ綅
-                            roadwayList.Add(roadway);
-                            var locate = GetLocateByRoadways(roadwayList, areaList, true);
-                            if (locate == null)
-                            {
-                                throw new Exception($"{roadwayNo}宸烽亾娌℃湁鍚堥�傜殑绌哄偍浣�");
                             }
                             return locate;
                         }
@@ -313,7 +285,7 @@
         /// <param name="areaList">鍖哄煙闆嗗悎</param>
         /// <param name="isRoadway">鏄惁鎸囧畾宸烽亾</param>
         /// <returns></returns>
-        private SysStorageLocat GetLocateByRoadways(List<SysStorageRoadway> roadways,List<string> areaList,bool isRoadway = false)
+        private SysStorageLocat GetLocateByRoadways(List<SysStorageRoadway> roadways,List<string> areaList,bool isRoadway = false ,string houseNo = "W01")
         {
             try
             {
@@ -378,14 +350,14 @@
 
                 SysStorageLocat locate = null; // 鍌ㄤ綅淇℃伅
                 //SysStorageLocat log = db.Ado.SqlQuerySingle<SysStorageLocat>("select * from SysStorageLocat where LocatNo = (select Top(1) LocatNo from BllPalletBind order by CreateTime desc)"); //宸烽亾鏈�鍚庝竴娆′娇鐢ㄨ褰�
-                SysRoadwayUseLog log= db.Ado.SqlQuerySingle<SysRoadwayUseLog>("select Top(1) * from SysRoadwayUseLog where IsDel=0 order by CreateTime desc"); //宸烽亾鏈�鍚庝竴娆′娇鐢ㄨ褰�
+                SysRoadwayUseLog log= db.Ado.SqlQuerySingle<SysRoadwayUseLog>($"select Top(1) * from SysRoadwayUseLog where IsDel=0 and WareHouseNo ='{houseNo}' order by CreateTime desc"); //宸烽亾鏈�鍚庝竴娆′娇鐢ㄨ褰�
 
                 if (laneAllot == 0)//璺冲贩閬撳钩鍧囧垎閰�
                 {
                     //濡傛灉鍚岀骇宸烽亾鏈夊鏉″垯鏌ヤ笂娆′綅缃棩蹇�
                     if (roadways.Count > 1)
                     {
-                        log = db.Queryable<SysRoadwayUseLog>().OrderByDescending(l => l.Id).First();
+                        log = db.Queryable<SysRoadwayUseLog>().Where(m=>m.WareHouseNo == houseNo).OrderByDescending(l => l.Id).First();
                     }
                     //鍙栧悇宸烽亾鎵�鏈夋帓绗竴涓悎閫備綅
                     foreach (var l in roadways)

--
Gitblit v1.8.0