From 4da42c12efde190b208f18b7dd51d3e89986837d Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期一, 07 四月 2025 11:19:16 +0800
Subject: [PATCH] 代码逻辑优化

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/CachePointService.cs |  159 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 126 insertions(+), 33 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/CachePointService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/CachePointService.cs"
index d700413..d160508 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/CachePointService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/CachePointService.cs"
@@ -2,6 +2,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Reflection.Metadata;
 using System.Text;
 using System.Threading.Tasks;
 using WIDESEA_Core;
@@ -20,49 +21,141 @@
 
         private readonly Dictionary<string, OrderByType> _emptyAssignOrderBy = new()
         {
-            { nameof(Dt_CachePoint.Depth), OrderByType.Desc },
-            { nameof(Dt_CachePoint.Column), OrderByType.Asc },
-            { nameof(Dt_CachePoint.Row), OrderByType.Asc },
         };
 
         public Dt_CachePoint? AssignCachePoint(int areaId)
         {
-            List<CachePointGroupDTO> cachePointGroups = Repository.GetCachePointGroups(areaId, LocationStatusEnum.InStock, LocationStatusEnum.Free);
-            if (cachePointGroups != null && cachePointGroups.Count > 0)
-            {
-                CachePointGroupDTO? pointGroupDTO = cachePointGroups.FirstOrDefault(x => x.EnableStatusB == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatusB == EnableStatusEnum.Normal.ObjToInt());
-                int id = pointGroupDTO?.IdB ?? 0;
-                return BaseDal.QueryFirst(x => x.Id == id);
-            }
-            cachePointGroups = Repository.GetCachePointGroups(areaId, LocationStatusEnum.Free, LocationStatusEnum.Free);
-            if (cachePointGroups != null && cachePointGroups.Count > 0)
-            {
-                CachePointGroupDTO? pointGroupDTO = cachePointGroups.FirstOrDefault(x => x.EnableStatusA == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatusA == EnableStatusEnum.Normal.ObjToInt());
-                int id = pointGroupDTO?.IdA ?? 0;
-                return BaseDal.QueryFirst(x => x.Id == id);
-            }
+            //List<CachePointGroupDTO> cachePointGroups = Repository.GetCachePointGroups(areaId, LocationStatusEnum.InStock, LocationStatusEnum.Free);
+            //if (cachePointGroups != null && cachePointGroups.Count > 0)
+            //{
+            //    CachePointGroupDTO? pointGroupDTO = cachePointGroups.FirstOrDefault(x => x.EnableStatusB == StatusEnum.OnlyIn.ObjToInt() || x.EnableStatusB == EnableStatusEnum.Normal.ObjToInt());
+            //    int id = pointGroupDTO?.IdB ?? 0;
+            //    return BaseDal.QueryFirst(x => x.Id == id);
+            //}
+            //cachePointGroups = Repository.GetCachePointGroups(areaId, LocationStatusEnum.Free, LocationStatusEnum.Free);
+            //if (cachePointGroups != null && cachePointGroups.Count > 0)
+            //{
+            //    CachePointGroupDTO? pointGroupDTO = cachePointGroups.FirstOrDefault(x => x.EnableStatusA == StatusEnum.OnlyIn.ObjToInt() || x.EnableStatusA == EnableStatusEnum.Normal.ObjToInt());
+            //    int id = pointGroupDTO?.IdA ?? 0;
+            //    return BaseDal.QueryFirst(x => x.Id == id);
+            //}
 
-            return BaseDal.QueryFirst(x => x.PointStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() && x.AreaId == areaId), _emptyAssignOrderBy);
+            return BaseDal.QueryFirst(x => x.PointStatus == LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == StatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()), _emptyAssignOrderBy);
+        }
+
+        public Dt_CachePoint? EmptyCachePoint(string toaddress)
+        {
+            List<Dt_CachePoint> cachePoints = BaseDal.QueryData(x => x.PointName.Contains(toaddress) && x.EnableStatus == 0 && x.PointStatus == LocationStatusEnum.Free.ObjToInt()).ToList();
+            var point = cachePoints.FirstOrDefault();
+            return point;
         }
 
         public Dt_CachePoint? GetIbStockCachePoint(int areaId)
         {
-            List<CachePointGroupDTO> cachePointGroups = Repository.GetCachePointGroups(areaId, LocationStatusEnum.InStock, LocationStatusEnum.Free);
-            if (cachePointGroups != null && cachePointGroups.Count > 0)
-            {
-                CachePointGroupDTO? pointGroupDTO = cachePointGroups.FirstOrDefault(x => x.EnableStatusA == EnableStatusEnum.OnlyOut.ObjToInt() || x.EnableStatusA == EnableStatusEnum.Normal.ObjToInt());
-                int id = pointGroupDTO?.IdA ?? 0;
-                return BaseDal.QueryFirst(x => x.Id == id);
-            }
-            cachePointGroups = Repository.GetCachePointGroups(areaId, LocationStatusEnum.InStock, LocationStatusEnum.InStock);
-            if (cachePointGroups != null && cachePointGroups.Count > 0)
-            {
-                CachePointGroupDTO? pointGroupDTO = cachePointGroups.FirstOrDefault(x => x.EnableStatusB == EnableStatusEnum.OnlyOut.ObjToInt() || x.EnableStatusB == EnableStatusEnum.Normal.ObjToInt());
-                int id = pointGroupDTO?.IdB ?? 0;
-                return BaseDal.QueryFirst(x => x.Id == id);
-            }
+            //List<CachePointGroupDTO> cachePointGroups = Repository.GetCachePointGroups(areaId, LocationStatusEnum.InStock, LocationStatusEnum.Free);
+            //if (cachePointGroups != null && cachePointGroups.Count > 0)
+            //{
+            //    CachePointGroupDTO? pointGroupDTO = cachePointGroups.FirstOrDefault(x => x.EnableStatusA == StatusEnum.OnlyOut.ObjToInt() || x.EnableStatusA == EnableStatusEnum.Normal.ObjToInt());
+            //    int id = pointGroupDTO?.IdA ?? 0;
+            //    return BaseDal.QueryFirst(x => x.Id == id);
+            //}
+            //cachePointGroups = Repository.GetCachePointGroups(areaId, LocationStatusEnum.InStock, LocationStatusEnum.InStock);
+            //if (cachePointGroups != null && cachePointGroups.Count > 0)
+            //{
+            //    CachePointGroupDTO? pointGroupDTO = cachePointGroups.FirstOrDefault(x => x.EnableStatusB == StatusEnum.OnlyOut.ObjToInt() || x.EnableStatusB == EnableStatusEnum.Normal.ObjToInt());
+            //    int id = pointGroupDTO?.IdB ?? 0;
+            //    return BaseDal.QueryFirst(x => x.Id == id);
+            //}
 
-            return BaseDal.QueryFirst(x => x.PointStatus == LocationStatusEnum.InStock.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyOut.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() && x.AreaId == areaId), _emptyAssignOrderBy);
+            return BaseDal.QueryFirst(x => x.PointStatus == LocationStatusEnum.InStock.ObjToInt() && (x.EnableStatus == StatusEnum.OnlyOut.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()), _emptyAssignOrderBy);
+        }
+
+        public WebResponseContent GetEndPoints()
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                List<Dt_CachePoint> cachePoints = BaseDal.QueryData(x => x.PointName.Contains("鍖�"));
+                List<object> list = new List<object>();
+                for (int i = 0; i < cachePoints.Count; i++)
+                {
+                    object option = new { value = cachePoints[i].PointName, text = cachePoints[i].PointName };
+                    list.Add(option);
+                }
+                content = WebResponseContent.Instance.OK(data: list);
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
+
+        //鏌ヨ缂撳瓨鏋剁姸鎬�
+        public WebResponseContent GetHCJStaue(string stationcode)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                Dt_CachePoint cachePoints = BaseDal.QueryFirst(x => x.PointCode == stationcode);
+                if (cachePoints == null)
+                {
+                    content = WebResponseContent.Instance.Error("鏈壘鍒版缂撳瓨鏋�");
+                }
+                content = WebResponseContent.Instance.OK(data: cachePoints);
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message + "鏈壘鍒版缂撳瓨鏋�");
+            }
+            return content;
+        }
+
+        public WebResponseContent UpdateHCJStaue(SaveModel saveModel)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string stationcode = saveModel.MainData["stationcode"].ToString();
+                string palletCode = saveModel.MainData["palletCode"].ToString();
+                int toaddress = saveModel.MainData["toaddress"].ObjToInt();
+
+                Dt_CachePoint cachePoint = BaseDal.QueryFirst(x => x.PointCode == stationcode);
+                if (cachePoint == null)
+                {
+                    content = WebResponseContent.Instance.Error("涓烘壘鍒版缂撳瓨鏋�");
+                }
+                cachePoint.Materialtype = palletCode;
+                cachePoint.PointStatus = toaddress;
+                BaseDal.UpdateData(cachePoint);
+                content = WebResponseContent.Instance.OK();
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
+
+        public WebResponseContent PrintStatusUp(string pointCode)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                Dt_CachePoint cachePoint = BaseDal.QueryFirst(x => x.PointCode == pointCode);
+                if (cachePoint == null)
+                {
+                    return content.Error("鎵撳嵃淇℃伅涓嶅瓨鍦�");
+                }
+                //cachePoint.Status = PrintEnum.Printed.ObjToInt();
+                //BaseDal.UpdateData(cachePoint);
+                return content.OK();
+            }
+            catch (Exception ex)
+            {
+                content.Error("閿欒:" + ex.Message);
+            }
+            return content;
         }
     }
 }

--
Gitblit v1.9.3