From 72478dbb437523a689fe6f26a3c06266d568d4d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20V=C3=B5hmar?= Date: Thu, 28 Jan 2016 15:05:53 +0200 Subject: [PATCH 1/3] Restored bank transaction sum check for Directo integration --- app/models/directo.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/directo.rb b/app/models/directo.rb index 5a719d0a7..11506331e 100644 --- a/app/models/directo.rb +++ b/app/models/directo.rb @@ -9,7 +9,7 @@ class Directo < ActiveRecord::Base xml.invoices { group.each do |invoice| next if invoice.account_activity.nil? || invoice.account_activity.bank_transaction.nil? - # next if invoice.account_activity.bank_transaction.sum.nil? || invoice.account_activity.bank_transaction.sum != invoice.sum_cache + next if invoice.account_activity.bank_transaction.sum.nil? || invoice.account_activity.bank_transaction.sum != invoice.sum_cache num = invoice.number mappers[num] = invoice From 6a63feb5dd922c0d0a34da0604c34bda29d522e7 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Tue, 2 Feb 2016 13:37:08 +0200 Subject: [PATCH 2/3] Story#112043941 - adding more logs to find out when invoices are not sent --- app/models/directo.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/models/directo.rb b/app/models/directo.rb index 11506331e..591f450c0 100644 --- a/app/models/directo.rb +++ b/app/models/directo.rb @@ -3,13 +3,19 @@ class Directo < ActiveRecord::Base def self.send_receipts new_trans = Invoice.where(invoice_type: "DEB", in_directo: false).where.not(cancelled_at: nil) + Rails.logger.info("[DIRECTO] Will try to send #{new_trans.count} invoices") + new_trans.find_in_batches(batch_size: 10).each do |group| mappers = {} # need them as no direct connection between invoice builder = Nokogiri::XML::Builder.new(encoding: "UTF-8") do |xml| xml.invoices { group.each do |invoice| - next if invoice.account_activity.nil? || invoice.account_activity.bank_transaction.nil? - next if invoice.account_activity.bank_transaction.sum.nil? || invoice.account_activity.bank_transaction.sum != invoice.sum_cache + + if invoice.account_activity.nil? || invoice.account_activity.bank_transaction.nil? || + invoice.account_activity.bank_transaction.sum.nil? || invoice.account_activity.bank_transaction.sum != invoice.sum_cache + Rails.logger.info("[DIRECTO] Invoice #{invoice.number} has been skipped") + next + end num = invoice.number mappers[num] = invoice From e963484277d26f377f52b4ae3effd806d3584577 Mon Sep 17 00:00:00 2001 From: Vladimir Krylov Date: Mon, 15 Feb 2016 12:33:01 +0200 Subject: [PATCH 3/3] Story#105852786 - we should use when cancelled_at is nil --- app/models/directo.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/directo.rb b/app/models/directo.rb index 591f450c0..60e1ed029 100644 --- a/app/models/directo.rb +++ b/app/models/directo.rb @@ -2,7 +2,7 @@ class Directo < ActiveRecord::Base belongs_to :item, polymorphic: true def self.send_receipts - new_trans = Invoice.where(invoice_type: "DEB", in_directo: false).where.not(cancelled_at: nil) + new_trans = Invoice.where(invoice_type: "DEB", in_directo: false).where(cancelled_at: nil) Rails.logger.info("[DIRECTO] Will try to send #{new_trans.count} invoices") new_trans.find_in_batches(batch_size: 10).each do |group|