您好我正在尝试实施FIFO库存系统来计算利润/损失..而且我仍然坚持在列表中迭代以获得第一个价值。
我的示例数据如下所示......
我已经到了可以使用带有通用类对象的List准备数据集的阶段,如下所示。
我想要实现的是,每当有OUT事务类型时,我需要LookUp首先非零FIFOQuantityTrack并从那里取出数量并计算利润。
例如,在下面突出显示的日期,我需要先将1950 FIFOQuantityTrackValue更新为1925< = 1950-25(在此事件中出售)并将Profit_Loss更新为2980 * 25 - 25 * 2800(来自数量的条目)从...获取...依此类推...当从FIFOQuantityTrack中减去值时,如果它变为0,那么我需要继续下一个FIFOQuantity。
我不擅长解释,但希望这是有道理的......
public class OutputObject
{
private int productID;
public int ProductID
{
get { return productID; }
set { productID = value; }
}
private DateTime date;
public DateTime Date
{
get { return date; }
set { date = value; }
}
private int transactionQuantity;
public int TransactionQuantity
{
get { return transactionQuantity; }
set { transactionQuantity = value; }
}
private string transactionType;
public string TransactionType
{
get { return transactionType; }
set { transactionType = value; }
}
private decimal unitPrice;
public decimal UnitPrice
{
get { return unitPrice; }
set { unitPrice = value; }
}
private int? fIFOQuantityTrack;
public int? FIFOQuantityTrack
{
get { return fIFOQuantityTrack; }
set { fIFOQuantityTrack = value; }
}
private int currentQuantity;
public int CurrentQuantity
{
get { return currentQuantity; }
set { currentQuantity = value; }
}
private decimal profitLoss;
public decimal ProfitLoss
{
get { return profitLoss; }
set { profitLoss = value; }
}
}
#endregion
List<OutputObject> ListOutputObject;
答案 0 :(得分:0)
我认为(UnitPrice * Quantity * IN / OUT)的简单SUM会得到结果。 对于IN使用-1和OUT只使用1。