| | |
| | | { |
| | | _unitOfWorkManage.BeginTran(); |
| | | |
| | | // æºè½è¯å«è¾å
¥ç±»å |
| | | |
| | | string palletCode = null; |
| | | string barcode = null; |
| | | int stockStatus = 0; |
| | | |
| | | // 1. å
å°è¯ææçå·æ¥è¯¢ |
| | | var stockByPallet = _stockRepository.Db.Queryable<Dt_StockInfo>() |
| | |
| | | { |
| | | // è¯å«ä¸ºæçå· |
| | | palletCode = code; |
| | | var task =_taskRepository.Db.Queryable<Dt_Task>().Where(t => t.PalletCode == palletCode).ToList(); |
| | | if(task!=null && task.Any()) |
| | | stockStatus = stockByPallet.StockStatus; |
| | | |
| | | var task = _taskRepository.Db.Queryable<Dt_Task>().Where(t => t.PalletCode == palletCode).ToList(); |
| | | if (task != null && task.Any()) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æçå· {palletCode} å卿ªå®æçä»»å¡ï¼æ æ³æ¤é"); |
| | | } |
| | | |
| | | if (stockStatus == StockStatusEmun.å
¥åºç¡®è®¤.ObjToInt()) |
| | | { |
| | | return WebResponseContent.Instance.Error($"æçå· {palletCode} å¤äºå
¥åºç¡®è®¤ç¶æï¼ç¦æ¢æ´æçæ¤éï¼è¯·åç¬æ¤éæ¡ç "); |
| | | } |
| | | } |
| | | else |
| | |
| | | { |
| | | var stockInfo = _stockRepository |
| | | .Db.Queryable<Dt_StockInfo>() |
| | | .Where(s => s.Id == detail.StockId&& (s.StockStatus == (int)StockStatusEmun.ç»çæå || s.StockStatus == StockStatusEmun.å
¥åºç¡®è®¤.ObjToInt())) |
| | | .Where(s => s.Id == detail.StockId && (s.StockStatus == (int)StockStatusEmun.ç»çæå || s.StockStatus == StockStatusEmun.å
¥åºç¡®è®¤.ObjToInt())) |
| | | .First(); |
| | | |
| | | if (stockInfo != null) |
| | | { |
| | | barcode = code; |
| | | palletCode = stockInfo.PalletCode; |
| | | stockStatus = stockInfo.StockStatus; |
| | | } |
| | | } |
| | | else |
| | |
| | | return WebResponseContent.Instance.Error($"æç {palletCode} 䏿ªæ¾å°æ¡ç {barcode} çæç»è®°å½"); |
| | | } |
| | | |
| | | if (stockStatus == StockStatusEmun.å
¥åºç¡®è®¤.ObjToInt()) |
| | | { |
| | | var totalDetails = stock.Details?.Count ?? 0; |
| | | if (totalDetails <= 1) |
| | | { |
| | | _unitOfWorkManage.RollbackTran(); |
| | | return WebResponseContent.Instance.Error($"æç {palletCode} å¤äºå
¥åºç¡®è®¤ç¶æï¼å½åä»
å©ä½æå1æ¡æç»ï¼ç¦æ¢æ¤éï¼å¿
é¡»ä¿çè³å°1æ¡åºåæç»ï¼"); |
| | | } |
| | | } |
| | | |
| | | ResetInboundOrderStatus(new List<string> { targetDetail.OrderNo }, new List<string> { targetDetail.Barcode }); |
| | | _stockDetailRepository.DeleteData(targetDetail); |
| | | |
| | |
| | | |
| | | if (!remainingDetails.Any()) |
| | | { |
| | | ResetInboundOrderStatus(stock.Details.Select(d => d.OrderNo).Distinct().ToList()); |
| | | _stockRepository.DeleteData(stock); |
| | | if (stockStatus == (int)StockStatusEmun.ç»çæå) |
| | | { |
| | | ResetInboundOrderStatus(stock.Details.Select(d => d.OrderNo).Distinct().ToList()); |
| | | _stockRepository.DeleteData(stock); |
| | | } |
| | | _unitOfWorkManage.CommitTran(); |
| | | return WebResponseContent.Instance.OK($"æ¡ç {barcode} æ¤éæåï¼æçæ å©ä½æç»ï¼å·²å 餿çå¹¶éç½®å
³èå
¥åºåç¶æ"); |
| | | return WebResponseContent.Instance.OK($"æ¡ç {barcode} æ¤éæåï¼æçæ å©ä½æç»ï¼å·²éç½®å
³èå
¥åºåç¶æ"); |
| | | } |
| | | |
| | | _unitOfWorkManage.CommitTran(); |
| | |
| | | } |
| | | else |
| | | { |
| | | // ===== æ¤éæ´ä¸ªæç ===== |
| | | var stock = _stockRepository.Db.Queryable<Dt_StockInfo>() |
| | | .Includes(o => o.Details) |
| | | .First(x => x.PalletCode == palletCode |