module IdCardPrinter class JasperUrlGenerator def initialize(pl_plan_key, family_id, layout) @pl_plan_key = pl_plan_key @family_id = family_id @layout = layout @card_config = IdCard::Configuration.find_by(pl_plan_key: pl_plan_key) end def call URI::HTTP.build(url_components) end private def determine_network_logo # if @network_logos.length > 1 # member_geographic_info = Vhcs::PbEntityAddress.joins("INNER JOIN vwMBMember ON PBEntityAddress.PBEntityKey = vwMBMember.PBEntityKey AND PBEntityAddress.AddressTypeID = 1137").where("vwMBMember.FamilyID = ?", @family_id).first # @network_logos.where.not(default: true).each do |pnl| # if member_geographic_info[pnl.exception_type] == pnl.exception_value # return pnl.net_logo # end # end # end # @network_logos.find_by(default: true).net_logo @card_config.network_logo.filename end # http://localhost:8080/trunk/PdfServlet?reportConn=BrittonConnect&id=&reportName=FairosRxSampleIDCard-Half&family_id=Classic%202K&employer_logo=BryanPestControl.jpeg&network_logo=CignaLogo.png&reportDir=secure/Documents&SUBREPORT_DIR=/&ImageDir=secure/Documents&netToken=3a4a8b03f4dfb0e6e3fc82dd369f70ef&FileType=PDF # http://localhost:8080/trunk/PdfServlet?reportConn=BrittonConnect&id=&reportName=FairosRxSampleIDCard-Half&family_id=Classic%202K&employer_logo=BryanPestControl.jpeg&network_logo=CignaLogo.png&reportDir=secure/Documents&SUBREPORT_DIR=/&ImageDir=secure/Documents&netToken=3a4a8b03f4dfb0e6e3fc82dd369f70ef&FileType=PDF def url_components { host: '10.41.1.115', port: 8080, path: '/trunk/IdCardsServlet', query: "reportConn=BrittonConnect&cardTemplate=#{@card_config.card_template}&printType=#{@layout}&family_id=#{@family_id }&employer_logo=#{@card_config.employer_logo.filename}&network_logo=#{determine_network_logo}&FileType=PDF" } end end end