我正在处理一个会计程序,它包含一个嵌套在员工对象中的工资存根表。
我想实现一个能够识别我的工资存根@ stub.date月份的系统,并获得所有@stud.net_pay的总和到该月所在的任何季度(第1,第2,第3或第4)年。
我希望以轨道方式实现这一目标!有人能指出我正确的方向吗?我很难过。
答案 0 :(得分:1)
这假设了几个不同的东西(比如employee_id现有),但应该得到你需要的东西。我没有在数据库中进行求和,因为您可能需要检查所有存根以进行验证。
require "active_support"
class Stub < ActiveRecord::Base
def self.net_pay_for_quarter
stubs = where(:employee_id => employee_id).
where("date >= ?", Quarter.begin_of_quarter(date)).
where("date < ?", Quarter.end_of_quarter(date))
stubs.map(&:net_pay).sum
end
end
class Quarter
def self.begin_of_quarter(date)
"2012-#{date.month}-01".to_date.beginning_of_month
end
def self.end_of_quarter(date)
"2012-#{date.month}-01".to_date.end_of_month
end
def self.quarter_integer(date)
(date.month / 4) + 1
end
end