| | |
| | | } |
| | | } |
| | | |
| | | public void AddStockChangeRecord(Dt_StockInfo stockInfo, List<Dt_StockInfoDetail> updateDetails, List<Dt_StockInfoDetail> deleteDetails, StockChangeTypeEnum changeType, int? taskNum = null) |
| | | public void AddStockChangeRecord(Dt_StockInfo stockInfo, List<Dt_StockInfoDetail> residueDetailList, List<Dt_StockInfoDetail> updateDetails, List<Dt_StockInfoDetail> deleteDetails, StockChangeTypeEnum changeType, int? taskNum = null) |
| | | { |
| | | try |
| | | { |
| | |
| | | |
| | | int index1 = 0; |
| | | List<Dt_StockQuantityChangeRecord> records1 = _mapper.Map<List<Dt_StockQuantityChangeRecord>>(updateDetails); |
| | | float beforeQuantity = updateDetails.Sum(x => x.OutboundQuantity + x.StockQuantity) + deleteDetails.Sum(x => x.StockQuantity) + residueDetailList.Sum(x => x.StockQuantity); |
| | | |
| | | records1.ForEach(x => |
| | | { |
| | | x.PalleCode = stockInfo.PalletCode; |
| | | x.BeforeQuantity = deleteDetails[index1].StockQuantity + deleteDetails[index1].OutboundQuantity; |
| | | x.ChangeQuantity = -deleteDetails[index1].OutboundQuantity; |
| | | x.AfterQuantity = deleteDetails[index1].StockQuantity; |
| | | x.BeforeQuantity = beforeQuantity; |
| | | x.ChangeQuantity = -updateDetails[index1].OutboundQuantity; |
| | | x.AfterQuantity = beforeQuantity + x.ChangeQuantity; |
| | | beforeQuantity -= updateDetails[index1].OutboundQuantity; |
| | | index1++; |
| | | }); |
| | | stockQuantityChangeRecords.AddRange(records1); |
| | |
| | | records2.ForEach(x => |
| | | { |
| | | x.PalleCode = stockInfo.PalletCode; |
| | | x.BeforeQuantity = deleteDetails[index2].StockQuantity; |
| | | x.BeforeQuantity = beforeQuantity; |
| | | x.ChangeQuantity = -deleteDetails[index2].StockQuantity; |
| | | x.AfterQuantity = 0; |
| | | x.AfterQuantity = beforeQuantity + x.ChangeQuantity; |
| | | beforeQuantity -= deleteDetails[index2].StockQuantity; |
| | | index2++; |
| | | }); |
| | | stockQuantityChangeRecords.AddRange(records2); |