我正在構建倉庫應用程序。我想查看位置/指數中每個位置的當前庫存數據(補貨 - 銷售)。現在我在模型中進行了計算,但是每次加載位置/索引頁面時都需要很長時間才能計算出來。Rails倉庫應用程序
什麼是最好的方式來組織表格來堅持數據庫中的股票數據,並且每次打開頁面時都不會重新計算所有內容?
我的想法是新增股票股票表創建一個補貨/出售時會在後臺重新計算。我如何設置它?
我正在構建倉庫應用程序。我想查看位置/指數中每個位置的當前庫存數據(補貨 - 銷售)。現在我在模型中進行了計算,但是每次加載位置/索引頁面時都需要很長時間才能計算出來。Rails倉庫應用程序
什麼是最好的方式來組織表格來堅持數據庫中的股票數據,並且每次打開頁面時都不會重新計算所有內容?
我的想法是新增股票股票表創建一個補貨/出售時會在後臺重新計算。我如何設置它?
顯然這沒有一個正確的方法。但這是我的要求。
你可以有一個一到一個location
和stock
和的has_many之間:通過stock
和product
之間。您可能想要在此處獲取價格/成本,因爲在不同時間不同的product
可能有不同的價格,所以您需要使用連接表。這樣你可以計算出正確的價格/成本。 (如果它是相關的,您可能需要將cost
添加到product
)。同樣,我認爲您需要在補貨時將cost
列添加到replenishment
以捕獲成本,並且需要price
列到sale
以捕獲銷售時的價格。
這是非常簡單的,可能有錯誤,因爲我沒有測試過它。
class Stock < ApplicationRecord
belongs_to :product
belongs_to :location
end
class Product < ApplicationRecord
has_many :stocks
#product stock in all locations
def total_stock
stocks.sum(:quantity)
end
end
class Location < ApplicationRecord
has_many :stocks
#stock of all products in this location
def total_stock
stocks.sum(:quantity)
end
end
class Sale < ApplicationRecord
belongs_to :stock
end
class Replenishment < ApplicationRecord
belongs_to :stock
end
您必須在每次創建,修改或刪除銷售或補貨時更新庫存模型中的數量。或者您可以有後臺工作定期更新數量。
您可以在位置和產品模型中執行相同的操作。您可以添加數量屬性並在每次銷售或補貨後對其進行更新,或者使用後臺工作。在這種情況下,您不需要「total_stock」方法。