Sha256: 287bc02ec0274fa490b3b81c7c6673d5ee5321732f6aac2fecb5d02b273d650e
Contents?: true
Size: 1.58 KB
Versions: 3
Compression:
Stored size: 1.58 KB
Contents
class Report < ActiveRecord::Base belongs_to :connect has_many :requirements, dependent: :destroy has_many :series, dependent: :destroy has_many :dictionaries, dependent: :destroy, as: :resource def report_date(params) results = {charts: [], texts: []} sql_code = self.sql_code self.requirements.each do |r| sql_code = params[r.sql_key].blank? ? sql_code.gsub(r.sql_default, r.sql_replace) : sql_code.gsub("${#{r.sql_key}}", params[r.sql_key]) end sql_results = self.connect.exec(sql_code).clone series = self.series.clone series.each do |s| data = [] sql_results.each do |r| name = self.is_sql_category ? r[self.category_name] : self.dictionaries.where(value: r[self.category_name]).first.key data << {category_name: name, value: r[s.sql_key].to_i} end results[:charts] << {series_name: s.name, data: data} end sql_results.each do |r| cols = [] cols << (self.is_sql_category ? r[self.category_name] : self.dictionaries.where(value: r[self.category_name]).first.key) self.series.each do |s| cols << r[s.sql_key].to_i end results[:texts] << cols end results end def self.init_menu report = Menu.new title: "报表管理", path: "", sort: 10, authpath: "reports_index", icon: "" report.save! Menu.create(title: "数据库链接管理", path: "/connects", sort: 1, authpath: "connects_index", icon: "", parent_id: report.id) Menu.create(title: "报表管理", path: "/reports", sort: 2, authpath: "reports_index", icon: "", parent_id: report.id) end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
admin-sys-1.0.2 | plugins/report/app/models/report.rb |
admin-sys-1.0.1 | plugins/report/app/models/report.rb |
admin-sys-1.0.0 | plugins/report/app/models/report.rb |