| | |
| | | { |
| | | 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.æ£é宿.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) |
| | |
| | | deleteDetailList.Add(stockInfo.Details[i]); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | residueDetailList.Add(stockInfo.Details[i]); |
| | | } |
| | | } |
| | | |
| | | 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.èªå¨å®æ); |
| | | if (stockInfo.Details.Sum(x=>x.StockQuantity)== stockInfo.Details.Sum(x => x.OutboundQuantity)) |
| | | { |
| | | _stockService.StockInfoService.Repository.DeleteData(stockInfo); |
| | | } |
| | | else |
| | | { |
| | | _stockService.StockInfoService.Repository.UpdateData(stockInfo); |
| | | } |
| | | |
| | | _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(); |
| | | return WebResponseContent.Instance.OK(); |