From 9ec715d2deb18a269dd49c48da91a36632d08c81 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期三, 18 六月 2025 00:56:26 +0800
Subject: [PATCH] 最新代码上传,优化功能等

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs |  293 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 150 insertions(+), 143 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs"
index 3e875b8..c4fcbbc 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs"
@@ -55,9 +55,9 @@
                 "HA58" => AssignLocation_PP(roadwayNo, palletType, palletTypeInfo, beRelocationCode),
                 "HA152" => AssignLocation_GM(roadwayNo, palletType, palletTypeInfo, beRelocationCode),
                 "HA64" => AssignLocation_CSJ(roadwayNo, palletType, palletTypeInfo, beRelocationCode),
-                "闃荤剨浠�" => AssignLocation_ZH(roadwayNo, palletType, palletTypeInfo, beRelocationCode),
+                "HA154" => AssignLocation_ZH(roadwayNo, palletType, palletTypeInfo, beRelocationCode),
                 "HA153" => AssignLocation(roadwayNo),
-                "HA71" => AssignLocation(roadwayNo),
+                "HA71" or "HA72" or "HA73" => AssignLocation(roadwayNo),
                 "HA60" => AssignLocation(roadwayNo),
                 _ => throw new Exception($"鏈壘鍒颁粨搴撹揣浣嶅垎閰嶆柟娉�")
             };
@@ -119,153 +119,153 @@
         /// <param name="location">璐т綅瀵硅薄</param>
         /// <param name="palletType">鎵樼洏绫诲瀷</param>
         /// <param name="locationStatus">璐т綅鐘舵��</param>
-        public void UpdateLocationStatus2(Dt_LocationInfo location, int palletType, LocationStatusEnum locationStatus, int warehousId)
-        {
-            List<Dt_LocationInfo> locationInfos = Repository.QueryData(x => x.RoadwayNo == location.RoadwayNo);
+        //public void UpdateLocationStatus2(Dt_LocationInfo location, int palletType, LocationStatusEnum locationStatus, int warehousId)
+        //{
+        //    List<Dt_LocationInfo> locationInfos = Repository.QueryData(x => x.RoadwayNo == location.RoadwayNo);
 
-            List<Dt_LocationInfo> locations = GetGroupLocations(locationInfos, location);
-            if (locationInfos.Max(x => x.Depth) < 3)
-            {
-                for (int i = 0; i < locations.Count; i++)
-                {
-                    if (locations[i].LocationType != palletType.ObjToInt())
-                    {
-                        locations[i].LocationType = palletType.ObjToInt();
-                    }
+        //    List<Dt_LocationInfo> locations = GetGroupLocations(locationInfos, location);
+        //    if (locationInfos.Max(x => x.Depth) < 3)
+        //    {
+        //        for (int i = 0; i < locations.Count; i++)
+        //        {
+        //            if (locations[i].LocationType != palletType.ObjToInt())
+        //            {
+        //                locations[i].LocationType = palletType.ObjToInt();
+        //            }
 
-                    if (locations[i].LocationCode == location.LocationCode)
-                    {
-                        locations[i].LocationStatus = locationStatus.ObjToInt();
-                    }
-                    else
-                    {
-                        if (locationStatus == LocationStatusEnum.Lock)
-                        {
-                            if (locations[i].LocationStatus == LocationStatusEnum.InStock.ObjToInt())
-                            {
-                                locations[i].LocationStatus = LocationStatusEnum.InStockLock.ObjToInt();
-                            }
-                            else if (locations[i].LocationStatus == LocationStatusEnum.Free.ObjToInt())
-                            {
-                                locations[i].LocationStatus = LocationStatusEnum.FreeLock.ObjToInt();
-                            }
-                        }
-                        else if (locationStatus == LocationStatusEnum.Free || locationStatus == LocationStatusEnum.InStock)
-                        {
-                            if (locations[i].LocationStatus == LocationStatusEnum.InStockLock.ObjToInt())
-                            {
-                                locations[i].LocationStatus = LocationStatusEnum.InStock.ObjToInt();
-                            }
-                            else if (locations[i].LocationStatus == LocationStatusEnum.FreeLock.ObjToInt())
-                            {
-                                locations[i].LocationStatus = LocationStatusEnum.Free.ObjToInt();
-                            }
-                        }
-                    }
-                }
+        //            if (locations[i].LocationCode == location.LocationCode)
+        //            {
+        //                locations[i].LocationStatus = locationStatus.ObjToInt();
+        //            }
+        //            else
+        //            {
+        //                if (locationStatus == LocationStatusEnum.Lock)
+        //                {
+        //                    if (locations[i].LocationStatus == LocationStatusEnum.InStock.ObjToInt())
+        //                    {
+        //                        locations[i].LocationStatus = LocationStatusEnum.InStockLock.ObjToInt();
+        //                    }
+        //                    else if (locations[i].LocationStatus == LocationStatusEnum.Free.ObjToInt())
+        //                    {
+        //                        locations[i].LocationStatus = LocationStatusEnum.FreeLock.ObjToInt();
+        //                    }
+        //                }
+        //                else if (locationStatus == LocationStatusEnum.Free || locationStatus == LocationStatusEnum.InStock)
+        //                {
+        //                    if (locations[i].LocationStatus == LocationStatusEnum.InStockLock.ObjToInt())
+        //                    {
+        //                        locations[i].LocationStatus = LocationStatusEnum.InStock.ObjToInt();
+        //                    }
+        //                    else if (locations[i].LocationStatus == LocationStatusEnum.FreeLock.ObjToInt())
+        //                    {
+        //                        locations[i].LocationStatus = LocationStatusEnum.Free.ObjToInt();
+        //                    }
+        //                }
+        //            }
+        //        }
 
-                Dt_LocationInfo? nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column + 1);
-                if(location.RoadwayNo == "SC01_BC")
-                {
-                    nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column + 1);
-                }
-                if (nearLocation != null)
-                {
-                    List<Dt_LocationInfo> nearLocations = GetGroupLocations(locationInfos, nearLocation);
-                    for (int i = 0; i < nearLocations.Count; i++)
-                    {
-                        if (nearLocations[i].LocationType != palletType.ObjToInt())
-                        {
-                            nearLocations[i].LocationType = palletType.ObjToInt();
-                        }
+        //        Dt_LocationInfo? nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column + 1);
+        //        if(location.RoadwayNo == "SC01_BC")
+        //        {
+        //            nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column + 1);
+        //        }
+        //        if (nearLocation != null)
+        //        {
+        //            List<Dt_LocationInfo> nearLocations = GetGroupLocations(locationInfos, nearLocation);
+        //            for (int i = 0; i < nearLocations.Count; i++)
+        //            {
+        //                if (nearLocations[i].LocationType != palletType.ObjToInt())
+        //                {
+        //                    nearLocations[i].LocationType = palletType.ObjToInt();
+        //                }
 
-                        if (palletType.ObjToInt() >= PalletTypeEnum.LargePallet.ObjToInt())
-                        {
-                            if (nearLocations[i].LocationCode == nearLocation.LocationCode)
-                            {
-                                nearLocations[i].LocationStatus = locationStatus.ObjToInt();
-                            }
-                            else
-                            {
-                                if (locationStatus == LocationStatusEnum.Lock)
-                                {
-                                    if (nearLocations[i].LocationStatus == LocationStatusEnum.InStock.ObjToInt())
-                                    {
-                                        nearLocations[i].LocationStatus = LocationStatusEnum.InStockLock.ObjToInt();
-                                    }
-                                    else if (nearLocations[i].LocationStatus == LocationStatusEnum.Free.ObjToInt())
-                                    {
-                                        nearLocations[i].LocationStatus = LocationStatusEnum.FreeLock.ObjToInt();
-                                    }
-                                }
-                                else if (locationStatus == LocationStatusEnum.InStock)
-                                {
-                                    if (nearLocations[i].LocationStatus == LocationStatusEnum.InStockLock.ObjToInt())
-                                    {
-                                        nearLocations[i].LocationStatus = LocationStatusEnum.InStock.ObjToInt();
-                                    }
-                                    else if (nearLocations[i].LocationStatus == LocationStatusEnum.FreeLock.ObjToInt())
-                                    {
-                                        nearLocations[i].LocationStatus = LocationStatusEnum.Free.ObjToInt();
-                                    }
-                                }
-                            }
-                        }
+        //                if (palletType.ObjToInt() >= PalletTypeEnum.LargePallet.ObjToInt())
+        //                {
+        //                    if (nearLocations[i].LocationCode == nearLocation.LocationCode)
+        //                    {
+        //                        nearLocations[i].LocationStatus = locationStatus.ObjToInt();
+        //                    }
+        //                    else
+        //                    {
+        //                        if (locationStatus == LocationStatusEnum.Lock)
+        //                        {
+        //                            if (nearLocations[i].LocationStatus == LocationStatusEnum.InStock.ObjToInt())
+        //                            {
+        //                                nearLocations[i].LocationStatus = LocationStatusEnum.InStockLock.ObjToInt();
+        //                            }
+        //                            else if (nearLocations[i].LocationStatus == LocationStatusEnum.Free.ObjToInt())
+        //                            {
+        //                                nearLocations[i].LocationStatus = LocationStatusEnum.FreeLock.ObjToInt();
+        //                            }
+        //                        }
+        //                        else if (locationStatus == LocationStatusEnum.InStock)
+        //                        {
+        //                            if (nearLocations[i].LocationStatus == LocationStatusEnum.InStockLock.ObjToInt())
+        //                            {
+        //                                nearLocations[i].LocationStatus = LocationStatusEnum.InStock.ObjToInt();
+        //                            }
+        //                            else if (nearLocations[i].LocationStatus == LocationStatusEnum.FreeLock.ObjToInt())
+        //                            {
+        //                                nearLocations[i].LocationStatus = LocationStatusEnum.Free.ObjToInt();
+        //                            }
+        //                        }
+        //                    }
+        //                }
 
-                    }
-                    locations.AddRange(nearLocations);
-                }
-            }
-            else
-            {
-                for (int i = 0; i < locations.Count; i++)
-                {
-                    if (locations[i].LocationCode == location.LocationCode)
-                    {
-                        locations[i].LocationStatus = locationStatus.ObjToInt();
-                    }
-                    else
-                    {
-                        if (locationStatus == LocationStatusEnum.Lock)
-                        {
-                            if (locations[i].LocationStatus == LocationStatusEnum.InStock.ObjToInt())
-                            {
-                                locations[i].LocationStatus = LocationStatusEnum.InStockLock.ObjToInt();
-                            }
-                            else if (locations[i].LocationStatus == LocationStatusEnum.Free.ObjToInt())
-                            {
-                                locations[i].LocationStatus = LocationStatusEnum.FreeLock.ObjToInt();
-                            }
-                        }
-                        else if (locationStatus == LocationStatusEnum.Free || locationStatus == LocationStatusEnum.InStock)
-                        {
-                            if (locations[i].LocationStatus == LocationStatusEnum.InStockLock.ObjToInt())
-                            {
-                                locations[i].LocationStatus = LocationStatusEnum.InStock.ObjToInt();
-                            }
-                            else if (locations[i].LocationStatus == LocationStatusEnum.FreeLock.ObjToInt())
-                            {
-                                locations[i].LocationStatus = LocationStatusEnum.Free.ObjToInt();
-                            }
-                        }
-                    }
-                    if (locations[i].LocationType != palletType.ObjToInt())
-                    {
-                        locations[i].LocationType = palletType.ObjToInt();
-                    }
-                }
-            }
+        //            }
+        //            locations.AddRange(nearLocations);
+        //        }
+        //    }
+        //    else
+        //    {
+        //        for (int i = 0; i < locations.Count; i++)
+        //        {
+        //            if (locations[i].LocationCode == location.LocationCode)
+        //            {
+        //                locations[i].LocationStatus = locationStatus.ObjToInt();
+        //            }
+        //            else
+        //            {
+        //                if (locationStatus == LocationStatusEnum.Lock)
+        //                {
+        //                    if (locations[i].LocationStatus == LocationStatusEnum.InStock.ObjToInt())
+        //                    {
+        //                        locations[i].LocationStatus = LocationStatusEnum.InStockLock.ObjToInt();
+        //                    }
+        //                    else if (locations[i].LocationStatus == LocationStatusEnum.Free.ObjToInt())
+        //                    {
+        //                        locations[i].LocationStatus = LocationStatusEnum.FreeLock.ObjToInt();
+        //                    }
+        //                }
+        //                else if (locationStatus == LocationStatusEnum.Free || locationStatus == LocationStatusEnum.InStock)
+        //                {
+        //                    if (locations[i].LocationStatus == LocationStatusEnum.InStockLock.ObjToInt())
+        //                    {
+        //                        locations[i].LocationStatus = LocationStatusEnum.InStock.ObjToInt();
+        //                    }
+        //                    else if (locations[i].LocationStatus == LocationStatusEnum.FreeLock.ObjToInt())
+        //                    {
+        //                        locations[i].LocationStatus = LocationStatusEnum.Free.ObjToInt();
+        //                    }
+        //                }
+        //            }
+        //            if (locations[i].LocationType != palletType.ObjToInt())
+        //            {
+        //                locations[i].LocationType = palletType.ObjToInt();
+        //            }
+        //        }
+        //    }
 
-            if (locations.Where(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt()).Count() == locations.Count && locationStatus == LocationStatusEnum.Free)
-            {
-                locations.ForEach(x =>
-                {
-                    x.LocationType = 0;
-                });
-            }
+        //    if (locations.Where(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt()).Count() == locations.Count && locationStatus == LocationStatusEnum.Free)
+        //    {
+        //        locations.ForEach(x =>
+        //        {
+        //            x.LocationType = 0;
+        //        });
+        //    }
 
-            Repository.UpdateData(locations);
-        }
+        //    Repository.UpdateData(locations);
+        //}
 
         public void UpdateLocationStatus(Dt_LocationInfo location, int palletType, LocationStatusEnum locationStatus, int warehousId)
         {
@@ -334,7 +334,14 @@
                     Dt_LocationInfo? nearLocation;
                     if (palletTypeInfo.IsOdd)
                     {
-                        nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column + 1);
+                        if (warehouse.WarehouseCode==WarehouseEnum.HA154.ToString())
+                        {
+                            nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column - 1);
+                        }
+                        else
+                        {
+                            nearLocation = locationInfos.FirstOrDefault(x => x.Row == location.Row && x.Layer == location.Layer && x.Depth == location.Depth && x.Column == location.Column + 1);
+                        }
                     }
                     else
                     {

--
Gitblit v1.9.3