Advertisement
Guest User

Untitled

a guest
Jan 30th, 2015
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.44 KB | None | 0 0
  1. <cfsetting requesttimeout="1200" showdebugoutput="no" />
  2. <cfset objReportGateway = application.mySharedBeanFactory.getBean('reportGateway') />
  3. <cfset objDilution_GroupGateway = application.mysharedbeanfactory.getBean('dilution_groupGateway') />
  4.  
  5. <cfparam name="drugList" default="" />
  6. <cfif structKeyExists(attributes,'organismList') AND isArray(attributes.organismList)>
  7. <cfparam name="organismList" default="#arrayToList(attributes.organismList)#" >
  8. <cfelse>
  9. <cfparam name="organismList" default="" />
  10. </cfif>
  11. <cfif structKeyExists(attributes,'organismGroupList') AND isArray(attributes.organismGroupList)>
  12. <cfparam name="organismGroupList" default="#arrayToList(attributes.organismGroupList)#" >
  13. <cfelse>
  14. <cfparam name="organismGroupList" default="" />
  15. </cfif>
  16. <cfif structKeyExists(attributes,'masterGroupList') AND isArray(attributes.masterGroupList)>
  17. <cfparam name="masterGroupList" default="#arrayToList(attributes.masterGroupList)#" >
  18. <cfelse>
  19. <cfparam name="masterGroupList" default="" />
  20. </cfif>
  21. <cfif structKeyExists(attributes,'orgGroupList') AND isArray(attributes.orgGroupList)>
  22. <cfparam name="orgGroupList" default="#arrayToList(attributes.orgGroupList)#" >
  23. <cfelse>
  24. <cfparam name="orgGroupList" default="" />
  25. </cfif>
  26. <cfif structKeyExists(attributes,'boxOrganismGroup')>
  27. <cfif isArray(attributes.boxOrganismGroup)>
  28. <cfset attributes.boxOrganismGroup = arrayToList(attributes.boxOrganismGroup) />
  29. </cfif>
  30. <cfelse>
  31. <cfset attributes.boxOrganismGroup = "" />
  32. </cfif>
  33.  
  34.  
  35. <cfparam name="groupBy" default="" />
  36. <cfparam name="cust" default="" />
  37. <cfparam name="l1" default="" />
  38. <cfparam name="l2" default="" />
  39. <cfparam name="l3" default="" />
  40. <cfparam name="l4" default="" />
  41.  
  42. <cfscript>
  43. groupByCol = '';
  44. topLevelCol = '';
  45. </cfscript>
  46.  
  47. <cfif NOT structKeyExists(attributes,"customWhereClause")>
  48. <cfset attributes.customWhereClause = "" />
  49. </cfif>
  50. <cfif NOT structKeyExists(attributes,"optionIsolateCount")>
  51. <cfset attributes.optionIsolateCount = "" />
  52. </cfif>
  53. <cfif NOT structKeyExists(attributes,"optionPercent")>
  54. <cfset attributes.optionPercent = "" />
  55. </cfif>
  56.  
  57. <!--- translate form elements to their respective values --->
  58. <!--- translate boxDrugs --->
  59. <cfset aryDrugs = arrayNew(1) />
  60. <cfset i = 0 />
  61. <cfloop list="#attributes.boxDrugs#" index="j">
  62. <cfset i = i + 1 />
  63. <cfloop from="1" to="#arrayLen(aryReportDrugs)#" step="1" index="h">
  64. <cfif aryReportDrugs[h].getReport_drug_id() EQ j>
  65. <cfset drugList = listAppend(drugList,aryReportDrugs[h].getColumn_name()) />
  66. <cfset aryDrugs[i] = structNew() />
  67. <cfset aryDrugs[i].drugDetails = aryReportDrugs[h] />
  68. <cfset aryDrugs[i].dilutionRange = objDilution_GroupGateway.getDilutionDetails(dilution_group_id = aryReportDrugs[h].getDilution_group_id(), orderDir = 'ASC') />
  69. <cfbreak />
  70. </cfif>
  71. </cfloop>
  72. </cfloop>
  73.  
  74. <!--- translate organism --->
  75. <cfset aryOrg = arrayNew(1) />
  76. <cfset i = 0 />
  77. <cfloop list="#attributes.boxOrganism#" index="j">
  78. <cfset i = i + 1 />
  79. <cfloop from="1" to="#arrayLen(aryReportOrganisms)#" step="1" index="h">
  80. <cfif aryReportOrganisms[h].getReport_organism_id() EQ j>
  81. <cfset organismList = listAppend(organismList,aryReportOrganisms[h].getJmiOrgCode()) />
  82. <cfset aryOrg[i] = aryReportOrganisms[h] />
  83. <cfbreak />
  84. </cfif>
  85. </cfloop>
  86. </cfloop>
  87. <!--- translate org groups --->
  88. <cfset aryOrgGroup = arrayNew(1) />
  89. <cfset i = 0 />
  90. <cfloop list="#attributes.boxOrganismGroup#" index="j">
  91. <cfset i = i + 1 />
  92. <cfloop from="1" to="#arrayLen(aryOrganismGroup)#" step="1" index="h">
  93. <cfif aryOrganismGroup[h].getReport_group_type_id() EQ j>
  94. <cfset organismGroupList = listAppend(organismGroupList,aryOrganismGroup[h].getValue()) />
  95. <cfset aryOrgGroup[i] = aryOrganismGroup[h] />
  96. <cfbreak />
  97. </cfif>
  98. </cfloop>
  99. </cfloop>
  100. <!--- translate master groups --->
  101. <cfset aryMaster = arrayNew(1) />
  102. <cfset i = 0 />
  103. <cfloop list="#attributes.boxMasterGroup#" index="j">
  104. <cfset i = i + 1 />
  105. <cfloop from="1" to="#arrayLen(aryMasterGroup)#" step="1" index="h">
  106. <cfif aryMasterGroup[h].getReport_group_type_id() EQ j>
  107. <cfset masterGroupList = listAppend(masterGroupList,aryMasterGroup[h].getValue()) />
  108. <cfset aryMaster[i] = aryMasterGroup[h] />
  109. <cfbreak />
  110. </cfif>
  111. </cfloop>
  112. </cfloop>
  113.  
  114.  
  115. <!--- translate lvls/cust --->
  116. <cfset aryGroups = arrayNew(1) />
  117. <cfset i = 0 />
  118. <cfset listLevels = l1 />
  119. <cfset listLevels = listAppend(listLevels,l2) />
  120. <cfset listLevels = listAppend(listLevels,l3) />
  121. <cfset listLevels = listAppend(listLevels,l4) />
  122. <cfset listLevels = listAppend(listLevels,cust) />
  123. <cfloop list="#listLevels#" index="j">
  124. <cfloop from="1" to="#arrayLen(aryLvlsTotal)#" step="1" index="h">
  125. <cfif aryLvlsTotal[h].organism_group.getOrg_group_id() EQ j>
  126. <cfset orgGroupList = listAppend(orgGroupList,aryLvlsTotal[h].organism_group.getOrg_group_id()) />
  127. <cfset arrayAppend(aryGroups,aryLvlsTotal[h]) />
  128. <cfbreak />
  129. </cfif>
  130. </cfloop>
  131. </cfloop>
  132.  
  133. <!--- translate group by --->
  134. <cfset aryGroupBy = arrayNew(1) />
  135. <cfset i = 0 />
  136. <cfloop list="#attributes.groupBy#" index="j">
  137. <cfset i = i + 1 />
  138. <cfloop query="qryGroupBy">
  139. <cfif report_group_by_id EQ j AND report_group_by_id NEQ attributes.toplevel>
  140. <cfset groupByCol = listAppend(groupByCol,value) />
  141. <cfset aryGroupBy[i] = value />
  142. <cfbreak />
  143. </cfif>
  144. </cfloop>
  145. </cfloop>
  146.  
  147. <!--- translate top level --->
  148. <cfloop list="#attributes.topLevel#" index="j">
  149. <cfloop query="qryGroupBy">
  150. <cfif report_group_by_id EQ j>
  151. <cfset topLevelCol = listAppend(topLevelCol,value) />
  152. <cfbreak />
  153. </cfif>
  154. </cfloop>
  155. </cfloop>
  156.  
  157. <!--- calculate order of x-axis --->
  158. <cfset aryOutputOrder = arrayNew(1) />
  159. <cfset i = 0 />
  160. <cfloop list="#attributes.sortOrderHidden#" index="j">
  161. <cfset i = i + 1 />
  162. <cfif getToken(j,1,"_") EQ 'org'>
  163. <cfloop from="1" to="#arrayLen(aryReportOrganisms)#" step="1" index="h">
  164. <cfif getToken(j,2,"_") EQ aryReportOrganisms[h].getReport_organism_id()>
  165. <cfset aryOutputOrder[i] = aryReportOrganisms[h] />
  166. <cfbreak />
  167. </cfif>
  168. </cfloop>
  169. <cfelseif getToken(j,1,"_") EQ 'orggroup'>
  170. <cfloop from="1" to="#arrayLen(aryOrganismGroup)#" step="1" index="h">
  171. <cfif getToken(j,2,"_") EQ aryOrganismGroup[h].getReport_group_type_id()>
  172. <cfset aryOutputOrder[i] = aryOrganismGroup[h] />
  173. <cfbreak />
  174. </cfif>
  175. </cfloop>
  176. <cfelseif getToken(j,1,"_") EQ 'master'>
  177. <cfloop from="1" to="#arrayLen(aryMasterGroup)#" step="1" index="h">
  178. <cfif getToken(j,2,"_") EQ aryMasterGroup[h].getReport_group_type_id()>
  179. <cfset aryOutputOrder[i] = aryMasterGroup[h] />
  180. <cfbreak />
  181. </cfif>
  182. </cfloop>
  183. <cfelseif getToken(j,1,"_") EQ 'og'>
  184. <cfloop from="1" to="#arrayLen(aryGroups)#" step="1" index="h">
  185. <cfif getToken(j,2,"_") EQ aryGroups[h].organism_group.getOrg_group_id()>
  186. <cfset aryOutputOrder[i] = aryGroups[h] />
  187. <cfbreak />
  188. </cfif>
  189. </cfloop>
  190. </cfif>
  191. </cfloop>
  192.  
  193. <!--- get all top level grouping values --->
  194. <cfif topLevelCol NEQ ''>
  195. <cfif topLevelCol NEQ 'CATEGORY'>
  196. <cfset qryTopLevelValues = objReportGateway.getColValues(tablename = objReport.getRef_table(), colName = topLevelCol, customWhere = PreserveSingleQuotes(attributes.customWhereClause)) />
  197. <cfelse>
  198. <cfset qryTopLevelValues = queryNew("CATEGORY,SORT_ORDER") />
  199. <cfloop from="1" to="#arrayLen(aryCategories)#" index="i" step="1">
  200. <cfset duplicateCat = false />
  201. <cfloop query="qryTopLevelValues">
  202. <cfif category EQ aryCategories[i].category.GetCategory_display()>
  203. <cfset duplicateCat = true />
  204. </cfif>
  205. </cfloop>
  206. <cfif NOT duplicateCat>
  207. <cfset queryAddRow(qryTopLevelValues,1) />
  208. <cfset querySetCell(qryTopLevelValues,"CATEGORY",aryCategories[i].category.GetCategory_display()) />
  209. <cfset querySetCell(qryTopLevelValues,"SORT_ORDER",aryCategories[i].category.GetIn_group_order()) />
  210. </cfif>
  211. </cfloop>
  212. </cfif>
  213. <cfelse>
  214. <!--- set up drug as the top level order - redundant but necassary --->
  215. <cfset qryTopLevelValues = queryNew("drug") />
  216. <cfset topLevelCol = 'drug' />
  217. <cfloop from="1" to="#arrayLen(aryDrugs)#" step="1" index="i">
  218. <cfset tmp = queryAddRow(qryTopLevelValues,1) />
  219. <cfset tmp = querySetCell(qryTopLevelValues,'drug',aryDrugs[i].drugDetails.getColumn_name()) />
  220. </cfloop>
  221. </cfif>
  222.  
  223. <!--- get all group level grouping values --->
  224. <cfif groupByCol NEQ ''>
  225. <cfif groupByCol NEQ 'CATEGORY'>
  226. <cfset qryGroupLevelValues = objReportGateway.getColValues(tablename = objReport.getRef_table(), colName = groupByCol, customWhere = PreserveSingleQuotes(attributes.customWhereClause)) />
  227. <cfelse>
  228. <cfset qryGroupLevelValues = queryNew("CATEGORY,SORT_ORDER") />
  229. <cfloop from="1" to="#arrayLen(aryCategories)#" index="i" step="1">
  230. <cfset queryAddRow(qryGroupLevelValues,1) />
  231. <cfset querySetCell(qryGroupLevelValues,"CATEGORY",aryCategories[i].category.GetCategory_display()) />
  232. <cfset querySetCell(qryGroupLevelValues,"SORT_ORDER",aryCategories[i].category.GetIn_group_order()) />
  233. </cfloop>
  234. </cfif>
  235. </cfif>
  236.  
  237. <!--- <cfoutput>
  238. Drug List: #drugList#<br/>
  239. Org List: #organismList#<br/>
  240. Org Group List: #organismGroupList#<br/>
  241. Master Group List: #masterGroupList#<br/>
  242. Group By: #groupBy#
  243. <cfdump var="#qryTopLevelValues#" />
  244. <cfdump var="#qryGroupLevelValues#" />
  245. </cfoutput>
  246. <cfabort> --->
  247.  
  248. <!--- <cfdump var="#objReport#" />
  249. <cfdump var="#qryDilutions#" />
  250. <cfdump var="#qryProtocolData.recordCount#" />
  251. <cfdump var="#aryReportDrugs#" /> --->
  252. <!--- <cfdump var="#attributes#">
  253. <cfdump var="#qryDilutions#" />
  254. <cfabort> --->
  255. <!--- <cfdump var="#attributes#">
  256. <cfabort> --->
  257.  
  258. <!--- <cfdump var="#objReportGateway.getCellValue(tablename=objReport.getRef_table(),drug = 'Ceftaroline', dilutionVal = 0.25)#" />
  259. <cfabort> --->
  260.  
  261. <!--- <cfoutput>
  262. <cfset drugListLen = listLen(drugList) />
  263. <cfset drugIteration = 0 />
  264. <cfquery name="qryGetData" datasource="jmiProtocol" maxrows="200">
  265. <cfloop from="1" to="#arrayLen(aryReportDrugs)#" step="1" index="i">
  266. <cfif listContains(ucase(drugList),ucase(aryReportDrugs[i].getColumn_name()))>
  267. <cfset drugIteration = drugIteration + 1 />
  268. SELECT DISTINCT organism, <cfif groupByValList NEQ ''>#groupByValList#,</cfif>
  269. <cfloop query="qryDilutions">
  270. (SELECT COUNT(*) FROM #objReport.getRef_table()# s1 WHERE s1.jmiorgcode = a.jmiorgcode <cfloop list="#groupByValList#" index="j">AND s1.#j# = a.#j# </cfloop> AND s1.#aryReportDrugs[i].getColumn_name()# = #value#) AS #var_safe_name#,
  271. </cfloop>
  272. '#aryReportDrugs[i].getColumn_name()#' AS drug,
  273. 'Organism' AS type
  274. FROM #objReport.getRef_table()# a
  275. <cfif organismList NEQ ''>
  276. WHERE a.jmiorgcode IN (<cfqueryparam value="#organismList#" list="true" />)
  277. </cfif>
  278. <cfif organismGroupList NEQ ''>
  279. UNION
  280. SELECT DISTINCT organismgroup, <cfif groupByValList NEQ ''>#groupByValList#,</cfif>
  281. <cfloop query="qryDilutions">
  282. (SELECT COUNT(*) FROM #objReport.getRef_table()# s1 WHERE s1.organismgroup = a.organismgroup <cfloop list="#groupByValList#" index="j">AND s1.#j# = a.#j# </cfloop> AND s1.#aryReportDrugs[i].getColumn_name()# = #value#) AS #var_safe_name#,
  283. </cfloop>
  284. '#aryReportDrugs[i].getColumn_name()#' AS drug,
  285. 'OrganismGroup' AS type
  286. FROM #objReport.getRef_table()# a
  287. WHERE a.organismgroup is not null
  288. AND a.organismgroup IN (<cfqueryparam value="#organismGroupList#" list="true" />)
  289. </cfif>
  290. <cfif masterGroupList NEQ ''>
  291. UNION
  292. SELECT DISTINCT mastergroup, <cfif groupByValList NEQ ''>#groupByValList#,</cfif>
  293. <cfloop query="qryDilutions">
  294. (SELECT COUNT(*) FROM #objReport.getRef_table()# s1 WHERE s1.mastergroup = a.mastergroup <cfloop list="#groupByValList#" index="j">AND s1.#j# = a.#j# </cfloop> AND s1.#aryReportDrugs[i].getColumn_name()# = #value#) AS #var_safe_name#,
  295. </cfloop>
  296. '#aryReportDrugs[i].getColumn_name()#' AS drug,
  297. 'MasterGroup' AS type
  298. FROM #objReport.getRef_table()# a
  299. WHERE a.mastergroup is not null
  300. AND a.mastergroup IN (<cfqueryparam value="#masterGroupList#" list="true" />)
  301. </cfif>
  302. <cfif drugIteration NEQ drugListLen>
  303. UNION
  304. </cfif>
  305. </cfif>
  306. </cfloop>
  307. </cfquery>
  308. </cfoutput> --->
  309.  
  310. <!--- <cfoutput>
  311. <cfset drugListLen = listLen(drugList) />
  312. <cfset drugIteration = 0 />
  313. <cfloop from="1" to="#arrayLen(aryReportDrugs)#" step="1" index="i">
  314. <cfif listContains(ucase(drugList),ucase(aryReportDrugs[i].getColumn_name()))>
  315. <cfset drugIteration = drugIteration + 1 />
  316. SELECT DISTINCT organism <cfif groupBy NEQ ''>, #groupBy#,</cfif>
  317. <cfloop query="qryDilutions">
  318. (SELECT COUNT(*) FROM #objReport.getRef_table()# s1 WHERE s1.jmiorgcode = a.jmiorgcode <cfloop list="#groupBy#" index="j">AND s1.#j# = a.#j# </cfloop> AND s1.#aryReportDrugs[i].getColumn_name()# = #value#) AS #var_safe_name#,<br/>
  319. </cfloop>
  320. '#aryReportDrugs[i].getColumn_name()#' AS drug,
  321. 'Organism' AS type
  322. FROM #objReport.getRef_table()# a
  323. <cfif organismList NEQ ''>
  324. <br />WHERE a.jmiorgcode IN (#organismList#)<br/>
  325. </cfif>
  326. <cfif organismGroupList NEQ ''>
  327. UNION
  328. SELECT DISTINCT organismgroup <cfif groupBy NEQ ''>, #groupBy#,</cfif>
  329. <cfloop query="qryDilutions">
  330. (SELECT COUNT(*) FROM #objReport.getRef_table()# s1 WHERE s1.organismgroup = a.organismgroup <cfloop list="#groupBy#" index="j">AND s1.#j# = a.#j# </cfloop> AND s1.#aryReportDrugs[i].getColumn_name()# = #value#) AS #var_safe_name#,<br/>
  331. </cfloop>
  332. '#aryReportDrugs[i].getColumn_name()#' AS drug,
  333. 'OrganismGroup' AS type
  334. FROM #objReport.getRef_table()# a
  335. <br/>WHERE a.organismgroup is not null
  336. AND a.organismgroup IN (#organismGroupList#)<br/>
  337. </cfif>
  338. <cfif masterGroupList NEQ ''>
  339. UNION
  340. SELECT DISTINCT mastergroup <cfif groupBy NEQ ''>, #groupBy#,</cfif>
  341. <cfloop query="qryDilutions">
  342. (SELECT COUNT(*) FROM #objReport.getRef_table()# s1 WHERE s1.mastergroup = a.mastergroup <cfloop list="#groupBy#" index="j">AND s1.#j# = a.#j# </cfloop> AND s1.#aryReportDrugs[i].getColumn_name()# = #value#) AS #var_safe_name#,<br/>
  343. </cfloop>
  344. '#aryReportDrugs[i].getColumn_name()#' AS drug,
  345. 'MasterGroup' AS type
  346. FROM #objReport.getRef_table()# a
  347. <br/>WHERE a.mastergroup is not null
  348. AND a.mastergroup IN (#masterGroupList#)<br/>
  349. </cfif>
  350. <cfif drugIteration NEQ drugListLen>
  351. UNION
  352. </cfif>
  353. </cfif>
  354. </cfloop>
  355. </cfoutput>
  356.  
  357. <cfabort> --->
  358.  
  359. <!--- <cfdump var="#qryGetData#"> --->
  360.  
  361.  
  362. <!--- <cfoutput>
  363. <cfset drugListLen = listLen(drugList) />
  364. <cfset drugIteration = 0 />
  365. <cfloop from="1" to="#arrayLen(aryReportDrugs)#" step="1" index="i">
  366. <cfif listContains(ucase(drugList),ucase(aryReportDrugs[i].getColumn_name()))>
  367. <cfset drugIteration = drugIteration + 1 />
  368. SELECT DISTINCT organism <cfif groupBy NEQ ''>, #groupBy#,</cfif><br/>
  369. <cfloop query="qryDilutions">
  370. (SELECT COUNT(*) FROM #objReport.getRef_table()# s1 WHERE s1.jmiorgcode = a.jmiorgcode <cfloop list="#groupBy#" index="j">AND s1.#j# = a.#j# </cfloop> AND s1.#aryReportDrugs[i].getColumn_name()# = #value#) AS '#display#',<br/>
  371. </cfloop>
  372. '#aryReportDrugs[i].getColumn_name()#' AS drug,<br/>
  373. 'Organism' AS type<br />
  374. FROM #objReport.getRef_table()# a<br/>
  375. <cfif organismList NEQ ''>
  376. WHERE a.jmiorgcode IN (#organismList#)<br/>
  377. </cfif>
  378. <cfif organismGroupList NEQ ''>
  379. UNION
  380. SELECT DISTINCT organismgroup <cfif groupBy NEQ ''>, #groupBy#,</cfif><br/>
  381. <cfloop query="qryDilutions">
  382. (SELECT COUNT(*) FROM #objReport.getRef_table()# s1 WHERE s1.organismgroup = a.organismgroup <cfloop list="#groupBy#" index="j">AND s1.#j# = a.#j# </cfloop> AND s1.#aryReportDrugs[i].getColumn_name()# = #value#) AS '#display#',<br/>
  383. </cfloop>
  384. '#aryReportDrugs[i].getColumn_name()#' AS drug,<br/>
  385. 'OrganismGroup' AS type<br />
  386. FROM #objReport.getRef_table()# a<br/>
  387. WHERE a.organismgroup is not null <br />
  388. AND a.organismgroup IN (#organismGroupList#)<br/>
  389. </cfif>
  390. <cfif masterGroupList NEQ ''>
  391. UNION
  392. SELECT DISTINCT mastergroup <cfif groupBy NEQ ''>, #groupBy#,</cfif><br/>
  393. <cfloop query="qryDilutions">
  394. (SELECT COUNT(*) FROM #objReport.getRef_table()# s1 WHERE s1.mastergroup = a.mastergroup <cfloop list="#groupBy#" index="j">AND s1.#j# = a.#j# </cfloop> AND s1.#aryReportDrugs[i].getColumn_name()# = #value#) AS '#display#',<br/>
  395. </cfloop>
  396. '#aryReportDrugs[i].getColumn_name()#' AS drug,<br/>
  397. 'MasterGroup' AS type<br/>
  398. FROM #objReport.getRef_table()# a<br/>
  399. WHERE a.mastergroup is not null <br />
  400. AND a.mastergroup IN (#masterGroupList#)<br/>
  401. </cfif>
  402. <cfif drugIteration NEQ drugListLen>
  403. UNION<br/>
  404. </cfif>
  405. </cfif>
  406. </cfloop>
  407. </cfoutput> --->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement