From 85458565e09bda1044d19b13d0b1ffb7ab576857 Mon Sep 17 00:00:00 2001
From: hutongqing <hutongqing@hnkhzn.com>
Date: 星期五, 22 十一月 2024 16:47:40 +0800
Subject: [PATCH] 货位分配

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/LocationInfoService.cs |   51 +++++++++++++++++++++++++--------------------------
 1 files changed, 25 insertions(+), 26 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/LocationInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/LocationInfoService.cs"
index f071b2d..677a7a6 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/LocationInfoService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Base/LocationInfoService.cs"
@@ -1,9 +1,11 @@
-锘縰sing SqlSugar;
+锘縰sing OfficeOpenXml.FormulaParsing.Excel.Functions.Text;
+using SqlSugar;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Common.LocationEnum;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseServices;
 using WIDESEA_Core.Enums;
@@ -83,10 +85,26 @@
                 (bool, string, object?) result = ModelValidate.ValidateModelData(initializationLocationDTO);
                 if (!result.Item1) return WebResponseContent.Instance.Error(result.Item2);
 
-                int side = 1;
+                int depth = initializationLocationDTO.Depth;
                 List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>();
                 for (int i = 0; i < initializationLocationDTO.MaxRow; i++)
                 {
+                    if((i + 1) % initializationLocationDTO.MaxRow == 1)
+                    {
+                        depth = initializationLocationDTO.Depth;
+                    }
+                    else if ((i + 1) % initializationLocationDTO.MaxRow == initializationLocationDTO.Depth + 1)
+                    {
+                        depth = 1;
+                    }
+                    else if ((i + 1) % initializationLocationDTO.MaxRow > 1 && (i + 1) % initializationLocationDTO.MaxRow <= initializationLocationDTO.Depth)
+                    {
+                        depth -= 1;
+                    }
+                    else
+                    {
+                        depth += 1;
+                    }
                     for (int j = 0; j < initializationLocationDTO.MaxColumn; j++)
                     {
                         for (int k = 0; k < initializationLocationDTO.MaxLayer; k++)
@@ -98,36 +116,17 @@
                                 EnableStatus = EnableStatusEnum.Normal.ObjToInt(),
                                 Layer = k + 1,
                                 LocationStatus = LocationStatusEnum.Free.ObjToInt(),
-                                LocationType = LocationTypeEnum.Cube.ObjToInt(),
-                                RoadwayNo = initializationLocationDTO.Roadway,
+                                LocationType = LocationTypeEnum.Undefined.ObjToInt(),
+                                RoadwayNo = $"R{initializationLocationDTO.Roadway.ToString()}",
                                 Row = i + 1,
+                                Depth = depth,
                             };
-
-                            if (initializationLocationDTO.IsSingleDepth)
-                            {
-                                locationInfo.Depth = 1;
-                                locationInfo.LocationCode = $"R{initializationLocationDTO.Roadway.ToString().PadLeft(2, '0')}-{locationInfo.Row.ToString().PadLeft(3, '0')}-{locationInfo.Column.ToString().PadLeft(3, '0')}-{locationInfo.Layer.ToString().PadLeft(3, '0')}-{locationInfo.Depth.ToString().PadLeft(2, '0')}";
-                                locationInfo.LocationName = $"R{initializationLocationDTO.Roadway.ToString().PadLeft(2, '0')}宸烽亾{locationInfo.Row.ToString().PadLeft(3, '0')}琛寋locationInfo.Column.ToString().PadLeft(3, '0')}鍒梴locationInfo.Layer.ToString().PadLeft(3, '0')}灞倇locationInfo.Depth.ToString().PadLeft(2, '0')}娣�";
-                            }
-                            else
-                            {
-                                if (initializationLocationDTO.FirstDepthRows.Contains(i + 1))
-                                {
-                                    locationInfo.Depth = 1;
-                                }
-                                else
-                                {
-                                    locationInfo.Depth = 2;
-                                }
-                                locationInfo.LocationCode = $"R{initializationLocationDTO.Roadway.ToString().PadLeft(2, '0')}-{locationInfo.Row.ToString().PadLeft(3, '0')}-{locationInfo.Column.ToString().PadLeft(3, '0')}-{locationInfo.Layer.ToString().PadLeft(3, '0')}-{locationInfo.Depth.ToString().PadLeft(2, '0')}";
-                                locationInfo.LocationName = $"R{initializationLocationDTO.Roadway.ToString().PadLeft(2, '0')}宸烽亾{locationInfo.Row.ToString().PadLeft(3, '0')}琛寋locationInfo.Column.ToString().PadLeft(3, '0')}鍒梴locationInfo.Layer.ToString().PadLeft(3, '0')}灞倇locationInfo.Depth.ToString().PadLeft(2, '0')}娣�";
-                            }
-
+                            locationInfo.LocationCode = $"{locationInfo.RoadwayNo}-{locationInfo.Row.ToString().PadLeft(3, '0')}-{locationInfo.Column.ToString().PadLeft(3, '0')}-{locationInfo.Layer.ToString().PadLeft(3, '0')}-{locationInfo.Depth.ToString().PadLeft(2, '0')}";
+                            locationInfo.LocationName = $"{locationInfo.RoadwayNo}宸烽亾{locationInfo.Row.ToString().PadLeft(3, '0')}琛寋locationInfo.Column.ToString().PadLeft(3, '0')}鍒梴locationInfo.Layer.ToString().PadLeft(3, '0')}灞倇locationInfo.Depth.ToString().PadLeft(2, '0')}娣�";
                             locationInfos.Add(locationInfo);
                         }
                     }
                 }
-
                 BaseDal.AddData(locationInfos);
                 return WebResponseContent.Instance.OK();
             }

--
Gitblit v1.9.3