我有一个正在处理的会计程序,它包含一个嵌套在员工对象中的工资单表。
我想实现一个系统,该系统可以识别我的工资单的@stub.date 月份,并将所有@stub.net_pay 的总和计算到给定年份该月所在的任何季度(第一、第二、第三或第四)。
我希望以这种方式完成这个!有人可以指出我正确的方向吗?我难住了。
我有一个正在处理的会计程序,它包含一个嵌套在员工对象中的工资单表。
我想实现一个系统,该系统可以识别我的工资单的@stub.date 月份,并将所有@stub.net_pay 的总和计算到给定年份该月所在的任何季度(第一、第二、第三或第四)。
我希望以这种方式完成这个!有人可以指出我正确的方向吗?我难住了。
这假设有几个不同的东西(比如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