forked from shibao/cannery
		
	calculate shot groups in average cost
This commit is contained in:
		| @@ -60,9 +60,10 @@ defmodule Cannery.Ammo do | ||||
|       ) do | ||||
|     Repo.one!( | ||||
|       from ag in AmmoGroup, | ||||
|         left_join: sg in assoc(ag, :shot_groups), | ||||
|         where: ag.ammo_type_id == ^ammo_type_id, | ||||
|         where: not (ag.price_paid |> is_nil()), | ||||
|         select: sum(ag.price_paid) / sum(ag.count) | ||||
|         select: sum(ag.price_paid) / (sum(ag.count) + sum(sg.count)) | ||||
|     ) | ||||
|   end | ||||
|  | ||||
|   | ||||
| @@ -9,7 +9,7 @@ defmodule Cannery.Ammo.AmmoGroup do | ||||
|   use Ecto.Schema | ||||
|   import Ecto.Changeset | ||||
|   alias Cannery.Ammo.{AmmoGroup, AmmoType} | ||||
|   alias Cannery.{Accounts.User, Containers.Container} | ||||
|   alias Cannery.{Accounts.User, ActivityLog.ShotGroup, Containers.Container} | ||||
|   alias Ecto.{Changeset, UUID} | ||||
|  | ||||
|   @primary_key {:id, :binary_id, autogenerate: true} | ||||
| @@ -24,6 +24,8 @@ defmodule Cannery.Ammo.AmmoGroup do | ||||
|     belongs_to :container, Container | ||||
|     belongs_to :user, User | ||||
|  | ||||
|     has_many :shot_groups, ShotGroup | ||||
|  | ||||
|     timestamps() | ||||
|   end | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user