| | |
| | | |
| | | if (!stockInfos.Any()) |
| | | { |
| | | throw new Exception($"ç©æ[{item.MaterielCode}]æ¹æ¬¡[{item.BatchNo}]æªæ¾å°å¯åé
åºå"); |
| | | throw new Exception($"ç©æ[{item.MaterielCode}]æ¹æ¬¡[{item.BatchNo}]ä¾åºå[{item.SupplyCode}]æªæ¾å°å¯åé
åºå"); |
| | | } |
| | | |
| | | // åé
åºåï¼æå
è¿å
åºï¼ |
| | |
| | | private bool CanReassignOrder(Dt_OutboundOrder outboundOrder) |
| | | { |
| | | // å
è®¸éæ°åé
çç¶æ |
| | | var allowedStatus = new[] {OutOrderStatusEnum.æªå¼å§, OutOrderStatusEnum.åºåºä¸,OutOrderStatusEnum.é¨å宿}; |
| | | var allowedStatus = new[] { OutOrderStatusEnum.æªå¼å§, OutOrderStatusEnum.åºåºä¸, OutOrderStatusEnum.é¨å宿 }; |
| | | |
| | | return allowedStatus.Contains((OutOrderStatusEnum)outboundOrder.OrderStatus); |
| | | } |
| | |
| | | |
| | | // æ´æ°æç»çå·²åé
æ°é |
| | | detail.AllocatedQuantity += assignQuantity; |
| | | detail.LockQuantity = detail.AllocatedQuantity; |
| | | remainingAllocate -= assignQuantity; |
| | | allocatedQuantity += assignQuantity; |
| | | } |
| | |
| | | decimal remainingAssign = assignQuantity; |
| | | |
| | | // æå
è¿å
åºåé
åºåæç» |
| | | var sortedDetails = stock.Details |
| | | var sorteds = stock.Details |
| | | .Where(d => d.MaterielCode == detail.MaterielCode && |
| | | d.BatchNo == detail.BatchNo && |
| | | (d.StockQuantity - d.OutboundQuantity) > 0) |
| | | .OrderBy(d => d.CreateDate) |
| | | .ToList(); |
| | | (d.StockQuantity - d.OutboundQuantity) > 0); |
| | | // .OrderBy(d => d.CreateDate); |
| | | |
| | | if (!string.IsNullOrEmpty(detail.BatchNo)) |
| | | { |
| | | sorteds= stock.Details.Where(x => x.BatchNo == detail.BatchNo); |
| | | } |
| | | |
| | | var sortedDetails= sorteds.ToList().OrderBy(d => d.CreateDate); |
| | | |
| | | |
| | | foreach (var stockDetail in sortedDetails) |
| | | { |