「期首在庫数」がマイナスになっている商品¶
- HG942175 ウツデイ
- HG942539 ドローン PP RED
- HG942773 マースローバー PP RED
- HG941915 ラストラム
「期首在庫数」の計算で、引き取り数(exchange_quantity)を加算していなかったため。
「期首在庫数」の計算に引き取り数(exchange_quantity)を取得し、加算するように修正。
app/Models/Product.php¶
修正前¶
public function getCurrentFiscalYearStartQuantityAttribute()
{
$fiscalYearEndDate = self::getFiscalYearEndDate();
$purchaseQuantity = $this->purchases()
->where('date', '<=', $fiscalYearEndDate)
->sum('quantity');
$salesQuantity = $this->salesSlipItems()
->whereHas('salesSlip', function ($query) use ($fiscalYearEndDate) {
$query->where('date', '<=', $fiscalYearEndDate);
})
->sum('quantity');
return $purchaseQuantity - $salesQuantity;
}
修正後¶
public function getCurrentFiscalYearStartQuantityAttribute()
{
$fiscalYearEndDate = self::getFiscalYearEndDate();
$purchaseQuantity = $this->purchases()
->where('date', '<=', $fiscalYearEndDate)
->sum('quantity');
$salesQuantity = $this->salesSlipItems()
->whereHas('salesSlip', function ($query) use ($fiscalYearEndDate) {
$query->where('date', '<=', $fiscalYearEndDate);
})
->sum('quantity');
$exchangeQuantity = $this->salesSlipItems()
->whereHas('salesSlip', function ($query) use ($fiscalYearEndDate) {
$query
->where('date', '<=', $fiscalYearEndDate)
->where('is_exchange', true);
})
->sum('exchange_quantity');
return $purchaseQuantity - $salesQuantity + $exchangeQuantity;
}
数字は全て正しいです。
今年度の仕入れ・売上・交換はまだないため、
「在庫確認」ページの「期首在庫数」と「現在庫数」が同じであることを確認しました。