lib/bankserv/transmission/input_document.rb in bankserv-0.2.3 vs lib/bankserv/transmission/input_document.rb in bankserv-0.2.4
- old
+ new
@@ -14,15 +14,10 @@
document.set.document = document # whaaaaaa?
document.save!
document
end
- def self.fetch_next_transmission_number
- transmission_status = Bankserv::Configuration.live_env? ? "L" : "T"
- where(type: 'input', reply_status: 'ACCEPTED', transmission_status: transmission_status).maximum(:transmission_number) or "1"
- end
-
def self.sets_with_work
defined_input_sets.select(&:has_work?)
end
def self.sets_with_test_work
@@ -35,31 +30,38 @@
def self.has_test_work?
sets_with_test_work.any?
end
- def self.generate_test!(options = {})
- build!(options.merge(rec_status: "T")) if has_test_work?
- end
-
- def self.generate!(options = {})
- build!(options.merge(rec_status: "L")) if has_work?
- end
-
- def self.build!(options = {}) # move to private
- options[:transmission_no] ||= fetch_next_transmission_number
+ def self.generate!(bankserv_service)
+ if bankserv_service.is_test_env?
+ return unless has_test_work?
+ else
+ return unless has_work?
+ end
- transmission_status = Bankserv::Configuration.live_env? ? "L" : "T"
+ options = {}
+ options.merge! rec_status: bankserv_service.config[:transmission_status]
+ options.merge! client_code: bankserv_service.client_code
+ options.merge! client_name: bankserv_service.config[:client_name]
+ options.merge! th_for_use_of_ld_user: ""
+ transmission_status = bankserv_service.config[:transmission_status]
+ raise "Transmission status not specified" if transmission_status.nil?
+ options[:transmission_no] ||= bankserv_service.config[:transmission_number]
+
document = new(transmission_status: transmission_status, rec_status: options[:rec_status], type: 'input', transmission_number: options[:transmission_no])
document.set = Bankserv::Transmission::UserSet::Document.generate(options.merge(rec_status: document.rec_status))
document.set.document = document # whaaaaaa?
input_sets = if document.rec_status == "L"
sets_with_work
else
sets_with_test_work
end
+
+ input_sets.select!{|s| s.bankserv_service.client_code == bankserv_service.client_code}
+ return unless input_sets.count > 0
input_sets.each do |set|
document.set.sets << set.generate(rec_status: document.rec_status)
document.set.sets[-1].set = document.set # whaaaaaa?
end
\ No newline at end of file