From 18d2f40bbf40469b033de6f07ca8a8e3bc191132 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期六, 26 四月 2025 19:21:40 +0800 Subject: [PATCH] 优化代码 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs | 81 +++++++++++++++++++++++++++++++++++----- 1 files changed, 71 insertions(+), 10 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" index 166af4f..566c8d8 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" @@ -34,6 +34,44 @@ return stockInfo; } /// <summary> + /// 娣诲姞绌烘墭鐩樼粍鐩樹俊鎭� + /// </summary> + /// <returns></returns> + public WebResponseContent AddStockEmpty(string palletCode) + { + try + { + Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == "Empty000"); + if (materielInfo == null) throw new Exception($"鏈壘鍒扮┖鎵樼洏淇℃伅,鐗╂枡缂栧彿銆怑mpty000銆�"); + Dt_StockInfo stockInfo = new Dt_StockInfo() + { + PalletCode = palletCode, + StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt(), + Creater = "System", + Details = new List<Dt_StockInfoDetail>() + }; + Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail() + { + Status = StockStatusEmun.鍏ュ簱纭.ObjToInt(), + OrderNo = DateTime.Now.ToString("yyMMdd"), + StockId = stockInfo.Id != 0 ? stockInfo.Id : 0, + MaterielName = materielInfo.MaterielName, + MaterielCode = materielInfo.MaterielCode, + BatchNo = DateTime.Now.ToString("yyMMdd") + "E", + StockQuantity = 1, + SerialNumber = "", + Creater = "System" + }; + stockInfo.Details.Add(stockInfoDetail); + AddMaterielGroup(stockInfo); + return WebResponseContent.Instance.OK(); + } + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + /// <summary> /// 娣诲姞缁勭洏/搴撳瓨淇℃伅 /// </summary> /// <returns></returns> @@ -166,25 +204,48 @@ { //Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == materielCode); //if (materielInfo == null) throw new Exception($"鏈壘鍒扮墿鏂欎俊鎭�"); - return BaseDal.QueryTabs<Dt_StockInfo, Dt_StockInfoDetail, StockSelectViewDTO>((a, b) => a.Id == b.StockId, (a, b) => new StockSelectViewDTO + int i = 1; + List<StockSelectViewDTO> stockSelectViewDTOs = new List<StockSelectViewDTO>(); + var StockSelectViewDTOs = BaseDal.QueryTabs<Dt_StockInfo, Dt_StockInfoDetail, StockSelectViewDTO>((a, b) => a.Id == b.StockId, (a, b) => new StockSelectViewDTO { LocationCode = a.LocationCode, MaterielCode = b.MaterielCode, MaterielName = b.MaterielName, PalletCode = a.PalletCode, + OrderNo = b.OrderNo, + InDate = a.InDate, //UseableQuantity = b.StockQuantity - b.OutboundQuantity UseableQuantity = b.StockQuantity, BatchNo = b.BatchNo, - }, a => a.StockStatus == StockStatusEmun.宸插叆搴�.ObjToInt(), b => b.Status == StockStatusEmun.宸插叆搴�.ObjToInt() && b.MaterielCode == materielCode, x => true).GroupBy(x => x.LocationCode).Select(x => new StockSelectViewDTO + }, a => a.StockStatus == StockStatusEmun.宸插叆搴�.ObjToInt(), b => b.Status == StockStatusEmun.宸插叆搴�.ObjToInt() && b.MaterielCode == materielCode, x => true).GroupBy(x => x.OrderNo).ToList(); + foreach (var item in StockSelectViewDTOs) { - LocationCode = x.FirstOrDefault()?.LocationCode ?? "", - MaterielCode = x.FirstOrDefault()?.MaterielCode ?? "", - MaterielName = x.FirstOrDefault()?.MaterielName ?? "", - PalletCode = string.Join(",", x.Select(x => x.PalletCode).ToList()), - //UseableQuantity = x.Sum(x => x.UseableQuantity) - UseableQuantity = x.Sum(x => x.UseableQuantity), - BatchNo = x.FirstOrDefault()?.BatchNo ?? "" - }).ToList(); + stockSelectViewDTOs.AddRange(item.GroupBy(x => x.BatchNo).Select(x => new StockSelectViewDTO + { + Id = i++, + LocationCode = x.FirstOrDefault()?.LocationCode ?? "", + MaterielCode = x.FirstOrDefault()?.MaterielCode ?? "", + MaterielName = x.FirstOrDefault()?.MaterielName ?? "", + PalletCode = string.Join(",", x.Select(x => x.PalletCode).ToList()), + UseableQuantity = x.Sum(x => x.UseableQuantity), + InDate = x.OrderByDescending(x => x.InDate).First().InDate, + OrderNo = item.Key, + BatchNo = x.Key + })); + + } + //.Select(x => new StockSelectViewDTO + //{ + // LocationCode = x.FirstOrDefault()?.LocationCode ?? "", + // MaterielCode = x.FirstOrDefault()?.MaterielCode ?? "", + // MaterielName = x.FirstOrDefault()?.MaterielName ?? "", + // PalletCode = //string.Join(",", x.Select(x => x.PalletCode).ToList()), + // //UseableQuantity = x.Sum(x => x.UseableQuantity) + // UseableQuantity = x.Sum(x => x.UseableQuantity), + // OrderNo = x.First().OrderNo, + // BatchNo = x.FirstOrDefault()?.BatchNo ?? "" + //}).ToList(); + return stockSelectViewDTOs; } catch (Exception ex) { -- Gitblit v1.9.3