From e81c782b3e7a632ffb8e32be56fce931a8c89ae6 Mon Sep 17 00:00:00 2001
From: xiazhengtongxue <133085197+xiazhengtongxue@users.noreply.github.com>
Date: 星期一, 09 二月 2026 08:55:42 +0800
Subject: [PATCH] 修复bug

---
 项目代码/WCSServices/WIDESEAWCS_BasicInfoService/LocationInfoService.cs |   64 ++++++++++++++++++++++++-------
 1 files changed, 49 insertions(+), 15 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_BasicInfoService/LocationInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_BasicInfoService/LocationInfoService.cs"
index d26efaa..8d7a4d8 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_BasicInfoService/LocationInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCSServices/WIDESEAWCS_BasicInfoService/LocationInfoService.cs"
@@ -1,22 +1,17 @@
-锘縰sing HslCommunication.WebSocket;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
+锘縰sing Magicodes.ExporterAndImporter.Core;
+using Magicodes.ExporterAndImporter.Excel;
+using NPOI.SS.UserModel;
+using NPOI.Util.Collections;
+using NPOI.XSSF.UserModel;
 using SqlSugar;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEA_Core;
-using WIDESEA_Core.Enums;
+using System.Reflection;
 using WIDESEA_DTO.Basic;
 using WIDESEAWCS_Common;
-using WIDESEAWCS_Common.WareHouseEnum;
+using WIDESEAWCS_Common.Helper;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseRepository;
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_Core.Helper;
-using WIDESEAWCS_Core.Utilities;
 using WIDESEAWCS_IBasicInfoRepository;
 using WIDESEAWCS_IBasicInfoService;
 using WIDESEAWCS_Model.Models;
@@ -29,7 +24,7 @@
 
         public DateTime DateTime { get; set; }
     }
-    public partial class LocationInfoService : ServiceBase<Dt_LocationInfo, ILocationInfoRepository>, ILocationInfoService
+    public class LocationInfoService : ServiceBase<Dt_LocationInfo, ILocationInfoRepository>, ILocationInfoService
     {
         private readonly IUnitOfWorkManage _unitOfWorkManage;
         public ILocationInfoRepository Repository => BaseDal;
@@ -112,12 +107,26 @@
 
                 Dictionary<string, OrderByType> orderBy = new Dictionary<string, OrderByType>()
                 {
-                    { nameof(Dt_LocationInfo.Row),OrderByType.Asc },
                     { nameof(Dt_LocationInfo.Layer),OrderByType.Asc },
+                    { nameof(Dt_LocationInfo.Row),OrderByType.Asc },
                     { nameof(Dt_LocationInfo.Columns),OrderByType.Desc },
                 };
 
-                Dt_LocationInfo locationInfo = BaseDal.QueryFirst(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && x.EnableStatus != EnableStatusEnum.Disable.ObjToInt() && !lockLocations.Contains(x.LocationCode), orderBy);//鏌ヨ绌鸿揣浣嶄俊鎭苟鎺掗櫎5鍒嗛挓鍐呭垎閰嶇殑璐т綅,鏍规嵁灞傘�佸垪銆佹繁搴︺�佽鎺掑簭
+                //Dt_LocationInfo locationInfo = BaseDal.QueryFirst(x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && x.EnableStatus != EnableStatusEnum.Disable.ObjToInt() && !lockLocations.Contains(x.LocationCode), orderBy);//鏌ヨ绌鸿揣浣嶄俊鎭苟鎺掗櫎5鍒嗛挓鍐呭垎閰嶇殑璐т綅,鏍规嵁灞傘�佸垪銆佹繁搴︺�佽鎺掑簭
+                // 鍚堝苟鏌ヨ鏉′欢锛屼紭鍏�44~48鍒楋紝鑻ユ棤鍒欐煡鍏ㄩ儴
+                Dt_LocationInfo locationInfo = BaseDal.QueryFirst(
+                    x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt()
+                        && x.EnableStatus != EnableStatusEnum.Disable.ObjToInt()
+                        && !lockLocations.Contains(x.LocationCode)
+                        && (x.Columns >= 44 && x.Columns <= 48), // 浼樺厛44~48鍒楃殑鏉′欢
+                    orderBy)
+                    ??
+                    BaseDal.QueryFirst(
+                        x => x.LocationStatus == LocationStatusEnum.Free.ObjToInt()
+                            && x.EnableStatus != EnableStatusEnum.Disable.ObjToInt()
+                            && !lockLocations.Contains(x.LocationCode),
+                        orderBy);
+
                 if (locationInfo!=null)
                 {
                     LocationCache locationCache = new LocationCache()
@@ -188,5 +197,30 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
+        public override WebResponseContent Export(PageDataOptions options)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string savePath = AppDomain.CurrentDomain.BaseDirectory + "ExcelExport";
+
+                // 纭繚鐩綍瀛樺湪
+                if (!Directory.Exists(savePath))
+                    Directory.CreateDirectory(savePath);
+
+                // 鑾峰彇鏁版嵁
+                ISugarQueryable<Dt_LocationInfo> query = BaseDal.Db.Queryable<Dt_LocationInfo>();
+                var dataList = query.ToList();
+                var properties = typeof(Dt_LocationInfo).GetProperties();
+
+                string filePath = TExportHelper.GetExport(savePath, properties, dataList);
+                return WebResponseContent.Instance.OK(data: filePath);
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
     }
 }

--
Gitblit v1.9.3