问题描述
下午好! 我有一个功能,其中她使用系统的银行.txt进行银行对帐,在其中她显示值与系统中启动的值完全相等的启动号,问题是有1个借方在.txt中对应于具有相同客户端ID的系统中的几次启动,在.txt中我没有客户端ID,但是启动的值的总和正好与借方相对应,有什么办法可以做这个查询? ...我试图在变量sum_lancamentos中使用,对我来说返回ID,但正在生成合酶错误。而且我相信所有这些功能都可以得到改善,我只是不知道如何,我是新的RoR,而且我仍然习惯于良好的做法。 任何帮助都是生活,在此先感谢您!
def conciliacao
@conciliacao = session[:conciliacao_file]
comparacao = {}
@conciliacao.each do |key,line|
data = line[:data]
valor = line[:valor].to_f.round(2)
if line[:mov] == "D"
despesa = true
else
despesa = false
end
lancamentos = Lancamento.ativos.pagos.where(conta_id: params[:conta_id],despesa: despesa).where("lancamentos.data_pagamento BETWEEN '#{data.to_date.beginning_of_day.to_s(:db)}' AND '#{data.to_date.end_of_day.to_s(:db)}'").where(["cast(lancamentos.valor AS NUMERIC(15,2) ) = :value or
cast(lancamentos.valor_pago AS NUMERIC(15,2)) = :value ",{ value: line[:valor] }])
unless lancamentos.blank?
lancamentos.each do |lancamento|
#puts line
@conciliacao[key][:lancamentos] = "#{lancamento.id}"
@conciliacao[key][:status] = 1
@conciliacao[key][:color] = "green lighten-4"
end
else
sum_lancamentos = Lancamento.ativos.pagos.group(:cliente_id).where(conta_id: params[:conta_id],despesa: despesa).where("lancamentos.data_pagamento BETWEEN '#{data.to_date.beginning_of_day.to_s(:db)}' AND '#{data.to_date.end_of_day.to_s(:db)}'").having(["sum(cast(lancamentos.valor AS NUMERIC(15,2) )) = :value or sum(cast(lancamentos.valor_pago AS NUMERIC(15,2))) = :value ",{ value: line[:valor] }])
unless sumlancamentos.blank?
@conciliacao[key][:lancamentos] = "#{sum_lancamentos.ids}"
@conciliacao[key][:status] = 1
@conciliacao[key][:color] = "green lighten-4"
end
end
end
session.delete(:conciliacao_file)
end
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)