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