From f04a15b8410aed20aada339060f3b6e779ac3a10 Mon Sep 17 00:00:00 2001 From: wankeda <Administrator@DESKTOP-HAU3ST3> Date: 星期五, 21 二月 2025 16:48:22 +0800 Subject: [PATCH] 1 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService_Pick.cs | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService_Pick.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService_Pick.cs" index 6254dbf..342a677 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService_Pick.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/OutStockLockInfoService_Pick.cs" @@ -36,15 +36,19 @@ { return WebResponseContent.Instance.Error($"璇ユ墭鐩樿繕鏈嚭搴撳畬鎴�"); } - List<Dt_OutStockLockInfo> outStockLockInfos = Repository.QueryData(x => x.PalletCode == palletCode); + List<Dt_OutStockLockInfo> outStockLockInfos = Repository.QueryData(x => x.PalletCode == palletCode && x.Status == OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt()); + if (outStockLockInfos == null || outStockLockInfos.Count == 0) + { + return WebResponseContent.Instance.Error("璇ユ墭鐩樺凡鍏ㄩ儴鍒嗘嫞瀹屾垚"); + } for (int i = 0; i < outStockLockInfos.Count; i++) { outStockLockInfos[i].Status = OutLockStockStatusEnum.鎷i�夊畬鎴�.ObjToInt(); } List<Dt_StockInfoDetail> beforeDetaile = stockInfo.Details.GroupBy(x => x.MaterielCode).Select(x => new Dt_StockInfoDetail { MaterielCode = x.Key, StockQuantity = x.Sum(v => v.StockQuantity) }).ToList(); - List<Dt_StockInfoDetail> updateDetailList = new List<Dt_StockInfoDetail>(); List<Dt_StockInfoDetail> deleteDetailList = new List<Dt_StockInfoDetail>(); + List<Dt_StockInfoDetail> residueDetailList = new List<Dt_StockInfoDetail>(); for (int i = 0; i < stockInfo.Details.Count; i++) { if (stockInfo.Details[i].OutboundQuantity > 0) @@ -59,25 +63,31 @@ deleteDetailList.Add(stockInfo.Details[i]); } } + else + { + residueDetailList.Add(stockInfo.Details[i]); + } } - + stockInfo.StockStatus = StockStatusEmun.鎷i�夊畬鎴�.ObjToInt(); List<string> mCodes = stockInfo.Details.GroupBy(x => x.MaterielCode).Select(x => x.Key).ToList(); _unitOfWorkManage.BeginTran(); foreach (string code in mCodes) { - _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, updateDetailList, deleteDetailList, StockChangeTypeEnum.Outbound); + _recordService.StockQuantityChangeRecordService.AddStockChangeRecord(stockInfo, residueDetailList, updateDetailList, deleteDetailList, StockChangeTypeEnum.Outbound); } updateDetailList.ForEach(x => { x.OutboundQuantity = 0; }); - stockInfo.StockStatus = StockStatusEmun.鎵嬪姩缁勭洏鍏ュ簱纭.ObjToInt(); - //_stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(deleteDetailList, OperateTypeEnum.鑷姩瀹屾垚); - _stockService.StockInfoService.Repository.UpdateData(stockInfo); + if (stockInfo.Details.Count > deleteDetailList.Count) + _stockService.StockInfoService.Repository.UpdateData(stockInfo); + else + _stockService.StockInfoService.Repository.DeleteAndMoveIntoHty(stockInfo, OperateTypeEnum.鑷姩瀹屾垚); + _stockService.StockInfoDetailService.Repository.DeleteAndMoveIntoHty(deleteDetailList, OperateTypeEnum.鑷姩瀹屾垚); _stockService.StockInfoDetailService.Repository.UpdateData(updateDetailList); - _stockService.StockInfoDetailService.Repository.DeleteData(deleteDetailList); + //_stockService.StockInfoDetailService.Repository.DeleteData(deleteDetailList); BaseDal.UpdateData(outStockLockInfos); - _unitOfWorkManage.BeginTran(); + _unitOfWorkManage.CommitTran(); return WebResponseContent.Instance.OK(); } catch (Exception ex) -- Gitblit v1.9.3