ruby 每位参加者的发票报告
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 每位参加者的发票报告相关的知识,希望对你有一定的参考价值。
#Reporte de invoices por attendee.
report = []
report << [ 'name', 'company', 'paid', 'invoice number', 'invoice date', 'total charges', 'charges without vat', 'payments amount', 'payment type', 'payment_date' ]
event = Event.find(11885)
payments_index = Payment::TYPE.invert
event.attendees.each do |attendee|
next if attendee.total_charges == 0.0
payments = Payment.get_by_entity(Attendee.name, attendee.id)
charges_amout = attendee.total_charges
charges_wv = attendee.subtotal
deposits_amount = attendee.total_deposits
payment_types = []
payment_date = nil
invoice = nil
Payment.get_by_entity(Attendee.name, attendee.id).each do |p|
invoice = p.event_invoice if invoice.blank? or invoice.number < p.event_invoice.number
if p.operation == 1
else
payment_types << p.payment_type if !payment_types.include?(p.payment_type)
payment_date = p.created_at if payment_date.blank? or payment_date < p.created_at
end
end
invoice_number = invoice.present? ? invoice.number : ""
invoice_date = invoice.present? ? invoice.created_at.strftime("%d/%m/%Y - %R") : ""
types = payment_types.map{|a| payments_index[a].to_s}
str_types = types.join(",")
str_payment_date = payment_date.present? ? payment_date.strftime("%d/%m/%Y - %R") : ""
taxes = charges_wv.to_f - charges_amout.to_f
report << [attendee.full_name, attendee.company, attendee.paid?, invoice_number, invoice_date.to_s, charges_amout.to_f, charges_wv.to_f, taxes, deposits_amount.to_f, str_types, str_payment_date]
end
以上是关于ruby 每位参加者的发票报告的主要内容,如果未能解决你的问题,请参考以下文章
Ruby职场闯关记之代开房租发票
假定要建立一个关于篮球职业联盟的数据库,需管理如下信息: 每个球队有球队名称所在城市; 每位球员有球员姓名薪酬; 每场比赛有比赛编号比赛时间比赛结果参加比赛的主场球队参加比赛的客场球
ruby 参加者DB级别20
ruby 参加者DB级别3
ruby 参加者BD
在 Rails 计费系统中将付款应用于发票