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/PalletCodeInfoService.cs |  167 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 131 insertions(+), 36 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs"
index 870efab..25c032c 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs"
@@ -4,6 +4,8 @@
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Common.CommonEnum;
+using WIDESEA_Common.WareHouseEnum;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseServices;
 using WIDESEA_Core.Helper;
@@ -15,55 +17,148 @@
 {
     public class PalletCodeInfoService : ServiceBase<Dt_PalletCodeInfo, IPalletCodeInfoRepository>, IPalletCodeInfoService
     {
-        public PalletCodeInfoService(IPalletCodeInfoRepository BaseDal) : base(BaseDal)
+        private readonly IWarehouseRepository _warehouseRepository;
+        private readonly IPalletTypeInfoRepository _palletTypeInfoRepository;
+
+        public PalletCodeInfoService(IPalletCodeInfoRepository BaseDal, IWarehouseRepository warehouseRepository, IPalletTypeInfoRepository palletTypeInfoRepository) : base(BaseDal)
         {
+            _warehouseRepository = warehouseRepository;
+            _palletTypeInfoRepository = palletTypeInfoRepository;
         }
 
         static object locker = new object();
-        public override WebResponseContent AddData(SaveModel saveModel)
+        //public override WebResponseContent AddData(SaveModel saveModel)
+        //{
+        //    int warehouseId = 0;
+        //    int count = 0;
+        //    if (saveModel.MainData.TryGetValue("warehouseId", out object? warehouse) && warehouse != null)
+        //    {
+        //        warehouseId = warehouse.ObjToInt();
+        //    }
+        //    if (saveModel.MainData.TryGetValue("count", out object? countValue) && countValue != null)
+        //    {
+        //        count = countValue.ObjToInt();
+        //    }
+        //    lock (locker)
+        //    {
+        //        List<Dt_PalletCodeInfo> palletCodeInfos = new List<Dt_PalletCodeInfo>();
+        //        int serialNo = 0;
+        //        DateTime now = DateTime.Now;
+        //        Dt_PalletCodeInfo palletCodeInfo = BaseDal.QueryFirst(x => x.WarehouseId == warehouseId, new Dictionary<string, OrderByType> { { nameof(Dt_PalletCodeInfo.SerialNo), OrderByType.Desc } });
+        //        if (palletCodeInfo != null && palletCodeInfo.CreateDate.Year == now.Year && palletCodeInfo.CreateDate.Month == now.Month && palletCodeInfo.CreateDate.Day == now.Day)
+        //        {
+        //            serialNo = palletCodeInfo.SerialNo + 1;
+
+        //        }
+        //        else
+        //        {
+        //            serialNo = 1;
+        //        }
+        //        Dt_Warehouse _Warehouse = _warehouseRepository.QueryFirst(x => x.WarehouseId == warehouseId);
+        //        string uplen = "";
+        //        uplen = _Warehouse.WarehouseCode switch
+        //        {
+        //            "HA57" => "B",
+        //            "HA58" => "P",
+        //            "HA152" => "G",
+        //            "HA64" => "S",
+        //            "闃荤剨浠�" => "Z",
+        //            "HA153" => "Y",
+        //            "HA71" => "C",
+        //            "HA60" => "F",
+        //            _ => "N"
+        //        };
+        //        for (int i = 0; i < count; i++)
+        //        {
+
+        //            palletCodeInfos.Add(new Dt_PalletCodeInfo
+        //            {
+        //                SerialNo = serialNo,
+        //                PalletCode = uplen + now.ToString("yyyyMMdd") + serialNo.ToString().PadLeft(3, '0'),
+        //                PalletType = 1,
+        //                PalletTypeId = 0,
+        //                WarehouseId = warehouseId,
+        //                Status = 0,
+        //                Size = 0
+        //            });
+
+        //            serialNo = serialNo + 1;
+        //        }
+        //        return base.AddData(palletCodeInfos);
+        //    }
+        //    }
+        //}
+
+
+        public WebResponseContent AddData(int warehouseId, int count, int palletTypeId)
         {
-            int warehouseId = 0;
-            int count = 0;
-            if (saveModel.MainData.TryGetValue("warehouseId", out object? warehouse) && warehouse != null)
+            try
             {
-                warehouseId = warehouse.ObjToInt();
-            }
-            if (saveModel.MainData.TryGetValue("count", out object? countValue) && countValue != null)
-            {
-                count = countValue.ObjToInt();
-            }
-            lock (locker)
-            {
-                List<Dt_PalletCodeInfo> palletCodeInfos = new List<Dt_PalletCodeInfo>();
-                int serialNo = 0;
-                DateTime now = DateTime.Now;
-                Dt_PalletCodeInfo palletCodeInfo = BaseDal.QueryFirst(x => x.WarehouseId == warehouseId, new Dictionary<string, OrderByType> { { nameof(Dt_PalletCodeInfo.SerialNo), OrderByType.Desc } });
-                if (palletCodeInfo != null && palletCodeInfo.CreateDate.Year == now.Year && palletCodeInfo.CreateDate.Month == now.Month && palletCodeInfo.CreateDate.Day == now.Day)
+                Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.Id == palletTypeId && x.WarehouseId == warehouseId);
+                if (palletTypeInfo == null)
                 {
-                    serialNo = palletCodeInfo.SerialNo + 1;
-
+                    return WebResponseContent.Instance.Error($"鏈壘鍒版墭鐩樼被鍨嬮厤缃俊鎭�");
                 }
-                else
+                lock (locker)
                 {
-                    serialNo = 1;
-                }
-                for (int i = 0; i < count; i++)
-                {
-                    palletCodeInfos.Add(new Dt_PalletCodeInfo
+                    List<Dt_PalletCodeInfo> palletCodeInfos = new List<Dt_PalletCodeInfo>();
+                    int serialNo = 0;
+                    DateTime now = DateTime.Now;
+                    Dt_PalletCodeInfo palletCodeInfo = BaseDal.QueryFirst(x => x.WarehouseId == warehouseId && x.PalletTypeId==palletTypeId && x.CreateDate.Year == now.Year && x.CreateDate.Month == now.Month && x.CreateDate.Day == now.Day, new Dictionary<string, OrderByType> { { nameof(Dt_PalletCodeInfo.SerialNo), OrderByType.Desc } });
+                    if (palletCodeInfo != null && palletCodeInfo.CreateDate.Year == now.Year && palletCodeInfo.CreateDate.Month == now.Month && palletCodeInfo.CreateDate.Day == now.Day)
                     {
-                        SerialNo = serialNo,
-                        PalletCode = now.ToString("yyyyMMdd") + serialNo.ToString().PadLeft(3, '0'),
-                        PalletType = 1,
-                        PalletTypeId = 0,
-                        WarehouseId = warehouseId,
-                        Status = 0,
-                        Size = 0
-                    });
+                        serialNo = palletCodeInfo.SerialNo + 1;
+                    }
+                    else
+                    {
+                        serialNo = 1;
+                    }
 
-                    serialNo = serialNo + 1;
+                    for (int i = 0; i < count; i++)
+                    {
+
+                        palletCodeInfos.Add(new Dt_PalletCodeInfo
+                        {
+                            SerialNo = serialNo,
+                            PalletCode = palletTypeInfo.CodeStartStr + now.ToString("yyyyMMdd") + serialNo.ToString().PadLeft(3, '0'),
+                            PalletType = 1,
+                            PalletTypeId = palletTypeId,
+                            WarehouseId = warehouseId,
+                            Status = 0,
+                            Size = 0
+                        });
+
+                        serialNo = serialNo + 1;
+                    }
+                    BaseDal.AddData(palletCodeInfos);
                 }
-                return base.AddData(palletCodeInfos);
+                return WebResponseContent.Instance.OK();
             }
+            catch (Exception ex)
+            {
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
+
+        public WebResponseContent PrintStatusUp(string printCode)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                Dt_PalletCodeInfo palletCodeInfo = BaseDal.QueryFirst(x => x.PalletCode == printCode);
+                if (palletCodeInfo == null)
+                {
+                    return content.Error("鎵撳嵃鐨勬墭鐩樼爜涓嶅瓨鍦�");
+                }
+                palletCodeInfo.Status = PrintStatusEnum.Printed.ObjToInt();
+                BaseDal.UpdateData(palletCodeInfo);
+                return content.OK();
+            }
+            catch (Exception ex)
+            {
+                content.Error("閿欒:" + ex.Message);
+            }
+            return content;
         }
     }
 }

--
Gitblit v1.9.3