From c193b9d9982de84979207998ba344b41ef36f6bd Mon Sep 17 00:00:00 2001 From: helongyang <647556386@qq.com> Date: 星期一, 30 六月 2025 19:47:16 +0800 Subject: [PATCH] 阻焊出库优化 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/PalletCodeInfoService.cs | 164 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 110 insertions(+), 54 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 220c2a5..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" @@ -18,79 +18,135 @@ public class PalletCodeInfoService : ServiceBase<Dt_PalletCodeInfo, IPalletCodeInfoRepository>, IPalletCodeInfoService { private readonly IWarehouseRepository _warehouseRepository; - public PalletCodeInfoService(IPalletCodeInfoRepository BaseDal, IWarehouseRepository warehouseRepository) : base(BaseDal) + 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; - } - Dt_Warehouse _Warehouse = _warehouseRepository.QueryFirst(x=>x.WarehouseId== warehouseId); - - string 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 + 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 = uplen+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) + Dt_PalletCodeInfo palletCodeInfo = BaseDal.QueryFirst(x => x.PalletCode == printCode); + if (palletCodeInfo == null) { return content.Error("鎵撳嵃鐨勬墭鐩樼爜涓嶅瓨鍦�"); } @@ -100,7 +156,7 @@ } catch (Exception ex) { - content.Error("閿欒:"+ex.Message); + content.Error("閿欒:" + ex.Message); } return content; } -- Gitblit v1.9.3