Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <cfsetting requesttimeout="1200" showdebugoutput="no" />
- <cfset objReportGateway = application.mySharedBeanFactory.getBean('reportGateway') />
- <cfset objDilution_GroupGateway = application.mysharedbeanfactory.getBean('dilution_groupGateway') />
- <cfparam name="drugList" default="" />
- <cfif structKeyExists(attributes,'organismList') AND isArray(attributes.organismList)>
- <cfparam name="organismList" default="#arrayToList(attributes.organismList)#" >
- <cfelse>
- <cfparam name="organismList" default="" />
- </cfif>
- <cfif structKeyExists(attributes,'organismGroupList') AND isArray(attributes.organismGroupList)>
- <cfparam name="organismGroupList" default="#arrayToList(attributes.organismGroupList)#" >
- <cfelse>
- <cfparam name="organismGroupList" default="" />
- </cfif>
- <cfif structKeyExists(attributes,'masterGroupList') AND isArray(attributes.masterGroupList)>
- <cfparam name="masterGroupList" default="#arrayToList(attributes.masterGroupList)#" >
- <cfelse>
- <cfparam name="masterGroupList" default="" />
- </cfif>
- <cfif structKeyExists(attributes,'orgGroupList') AND isArray(attributes.orgGroupList)>
- <cfparam name="orgGroupList" default="#arrayToList(attributes.orgGroupList)#" >
- <cfelse>
- <cfparam name="orgGroupList" default="" />
- </cfif>
- <cfif structKeyExists(attributes,'boxOrganismGroup')>
- <cfif isArray(attributes.boxOrganismGroup)>
- <cfset attributes.boxOrganismGroup = arrayToList(attributes.boxOrganismGroup) />
- </cfif>
- <cfelse>
- <cfset attributes.boxOrganismGroup = "" />
- </cfif>
- <cfparam name="groupBy" default="" />
- <cfparam name="cust" default="" />
- <cfparam name="l1" default="" />
- <cfparam name="l2" default="" />
- <cfparam name="l3" default="" />
- <cfparam name="l4" default="" />
- <cfscript>
- groupByCol = '';
- topLevelCol = '';
- </cfscript>
- <cfif NOT structKeyExists(attributes,"customWhereClause")>
- <cfset attributes.customWhereClause = "" />
- </cfif>
- <cfif NOT structKeyExists(attributes,"optionIsolateCount")>
- <cfset attributes.optionIsolateCount = "" />
- </cfif>
- <cfif NOT structKeyExists(attributes,"optionPercent")>
- <cfset attributes.optionPercent = "" />
- </cfif>
- <!--- translate form elements to their respective values --->
- <!--- translate boxDrugs --->
- <cfset aryDrugs = arrayNew(1) />
- <cfset i = 0 />
- <cfloop list="#attributes.boxDrugs#" index="j">
- <cfset i = i + 1 />
- <cfloop from="1" to="#arrayLen(aryReportDrugs)#" step="1" index="h">
- <cfif aryReportDrugs[h].getReport_drug_id() EQ j>
- <cfset drugList = listAppend(drugList,aryReportDrugs[h].getColumn_name()) />
- <cfset aryDrugs[i] = structNew() />
- <cfset aryDrugs[i].drugDetails = aryReportDrugs[h] />
- <cfset aryDrugs[i].dilutionRange = objDilution_GroupGateway.getDilutionDetails(dilution_group_id = aryReportDrugs[h].getDilution_group_id(), orderDir = 'ASC') />
- <cfbreak />
- </cfif>
- </cfloop>
- </cfloop>
- <!--- translate organism --->
- <cfset aryOrg = arrayNew(1) />
- <cfset i = 0 />
- <cfloop list="#attributes.boxOrganism#" index="j">
- <cfset i = i + 1 />
- <cfloop from="1" to="#arrayLen(aryReportOrganisms)#" step="1" index="h">
- <cfif aryReportOrganisms[h].getReport_organism_id() EQ j>
- <cfset organismList = listAppend(organismList,aryReportOrganisms[h].getJmiOrgCode()) />
- <cfset aryOrg[i] = aryReportOrganisms[h] />
- <cfbreak />
- </cfif>
- </cfloop>
- </cfloop>
- <!--- translate org groups --->
- <cfset aryOrgGroup = arrayNew(1) />
- <cfset i = 0 />
- <cfloop list="#attributes.boxOrganismGroup#" index="j">
- <cfset i = i + 1 />
- <cfloop from="1" to="#arrayLen(aryOrganismGroup)#" step="1" index="h">
- <cfif aryOrganismGroup[h].getReport_group_type_id() EQ j>
- <cfset organismGroupList = listAppend(organismGroupList,aryOrganismGroup[h].getValue()) />
- <cfset aryOrgGroup[i] = aryOrganismGroup[h] />
- <cfbreak />
- </cfif>
- </cfloop>
- </cfloop>
- <!--- translate master groups --->
- <cfset aryMaster = arrayNew(1) />
- <cfset i = 0 />
- <cfloop list="#attributes.boxMasterGroup#" index="j">
- <cfset i = i + 1 />
- <cfloop from="1" to="#arrayLen(aryMasterGroup)#" step="1" index="h">
- <cfif aryMasterGroup[h].getReport_group_type_id() EQ j>
- <cfset masterGroupList = listAppend(masterGroupList,aryMasterGroup[h].getValue()) />
- <cfset aryMaster[i] = aryMasterGroup[h] />
- <cfbreak />
- </cfif>
- </cfloop>
- </cfloop>
- <!--- translate lvls/cust --->
- <cfset aryGroups = arrayNew(1) />
- <cfset i = 0 />
- <cfset listLevels = l1 />
- <cfset listLevels = listAppend(listLevels,l2) />
- <cfset listLevels = listAppend(listLevels,l3) />
- <cfset listLevels = listAppend(listLevels,l4) />
- <cfset listLevels = listAppend(listLevels,cust) />
- <cfloop list="#listLevels#" index="j">
- <cfloop from="1" to="#arrayLen(aryLvlsTotal)#" step="1" index="h">
- <cfif aryLvlsTotal[h].organism_group.getOrg_group_id() EQ j>
- <cfset orgGroupList = listAppend(orgGroupList,aryLvlsTotal[h].organism_group.getOrg_group_id()) />
- <cfset arrayAppend(aryGroups,aryLvlsTotal[h]) />
- <cfbreak />
- </cfif>
- </cfloop>
- </cfloop>
- <!--- translate group by --->
- <cfset aryGroupBy = arrayNew(1) />
- <cfset i = 0 />
- <cfloop list="#attributes.groupBy#" index="j">
- <cfset i = i + 1 />
- <cfloop query="qryGroupBy">
- <cfif report_group_by_id EQ j AND report_group_by_id NEQ attributes.toplevel>
- <cfset groupByCol = listAppend(groupByCol,value) />
- <cfset aryGroupBy[i] = value />
- <cfbreak />
- </cfif>
- </cfloop>
- </cfloop>
- <!--- translate top level --->
- <cfloop list="#attributes.topLevel#" index="j">
- <cfloop query="qryGroupBy">
- <cfif report_group_by_id EQ j>
- <cfset topLevelCol = listAppend(topLevelCol,value) />
- <cfbreak />
- </cfif>
- </cfloop>
- </cfloop>
- <!--- calculate order of x-axis --->
- <cfset aryOutputOrder = arrayNew(1) />
- <cfset i = 0 />
- <cfloop list="#attributes.sortOrderHidden#" index="j">
- <cfset i = i + 1 />
- <cfif getToken(j,1,"_") EQ 'org'>
- <cfloop from="1" to="#arrayLen(aryReportOrganisms)#" step="1" index="h">
- <cfif getToken(j,2,"_") EQ aryReportOrganisms[h].getReport_organism_id()>
- <cfset aryOutputOrder[i] = aryReportOrganisms[h] />
- <cfbreak />
- </cfif>
- </cfloop>
- <cfelseif getToken(j,1,"_") EQ 'orggroup'>
- <cfloop from="1" to="#arrayLen(aryOrganismGroup)#" step="1" index="h">
- <cfif getToken(j,2,"_") EQ aryOrganismGroup[h].getReport_group_type_id()>
- <cfset aryOutputOrder[i] = aryOrganismGroup[h] />
- <cfbreak />
- </cfif>
- </cfloop>
- <cfelseif getToken(j,1,"_") EQ 'master'>
- <cfloop from="1" to="#arrayLen(aryMasterGroup)#" step="1" index="h">
- <cfif getToken(j,2,"_") EQ aryMasterGroup[h].getReport_group_type_id()>
- <cfset aryOutputOrder[i] = aryMasterGroup[h] />
- <cfbreak />
- </cfif>
- </cfloop>
- <cfelseif getToken(j,1,"_") EQ 'og'>
- <cfloop from="1" to="#arrayLen(aryGroups)#" step="1" index="h">
- <cfif getToken(j,2,"_") EQ aryGroups[h].organism_group.getOrg_group_id()>
- <cfset aryOutputOrder[i] = aryGroups[h] />
- <cfbreak />
- </cfif>
- </cfloop>
- </cfif>
- </cfloop>
- <!--- get all top level grouping values --->
- <cfif topLevelCol NEQ ''>
- <cfif topLevelCol NEQ 'CATEGORY'>
- <cfset qryTopLevelValues = objReportGateway.getColValues(tablename = objReport.getRef_table(), colName = topLevelCol, customWhere = PreserveSingleQuotes(attributes.customWhereClause)) />
- <cfelse>
- <cfset qryTopLevelValues = queryNew("CATEGORY,SORT_ORDER") />
- <cfloop from="1" to="#arrayLen(aryCategories)#" index="i" step="1">
- <cfset duplicateCat = false />
- <cfloop query="qryTopLevelValues">
- <cfif category EQ aryCategories[i].category.GetCategory_display()>
- <cfset duplicateCat = true />
- </cfif>
- </cfloop>
- <cfif NOT duplicateCat>
- <cfset queryAddRow(qryTopLevelValues,1) />
- <cfset querySetCell(qryTopLevelValues,"CATEGORY",aryCategories[i].category.GetCategory_display()) />
- <cfset querySetCell(qryTopLevelValues,"SORT_ORDER",aryCategories[i].category.GetIn_group_order()) />
- </cfif>
- </cfloop>
- </cfif>
- <cfelse>
- <!--- set up drug as the top level order - redundant but necassary --->
- <cfset qryTopLevelValues = queryNew("drug") />
- <cfset topLevelCol = 'drug' />
- <cfloop from="1" to="#arrayLen(aryDrugs)#" step="1" index="i">
- <cfset tmp = queryAddRow(qryTopLevelValues,1) />
- <cfset tmp = querySetCell(qryTopLevelValues,'drug',aryDrugs[i].drugDetails.getColumn_name()) />
- </cfloop>
- </cfif>
- <!--- get all group level grouping values --->
- <cfif groupByCol NEQ ''>
- <cfif groupByCol NEQ 'CATEGORY'>
- <cfset qryGroupLevelValues = objReportGateway.getColValues(tablename = objReport.getRef_table(), colName = groupByCol, customWhere = PreserveSingleQuotes(attributes.customWhereClause)) />
- <cfelse>
- <cfset qryGroupLevelValues = queryNew("CATEGORY,SORT_ORDER") />
- <cfloop from="1" to="#arrayLen(aryCategories)#" index="i" step="1">
- <cfset queryAddRow(qryGroupLevelValues,1) />
- <cfset querySetCell(qryGroupLevelValues,"CATEGORY",aryCategories[i].category.GetCategory_display()) />
- <cfset querySetCell(qryGroupLevelValues,"SORT_ORDER",aryCategories[i].category.GetIn_group_order()) />
- </cfloop>
- </cfif>
- </cfif>
- <!--- <cfoutput>
- Drug List: #drugList#<br/>
- Org List: #organismList#<br/>
- Org Group List: #organismGroupList#<br/>
- Master Group List: #masterGroupList#<br/>
- Group By: #groupBy#
- <cfdump var="#qryTopLevelValues#" />
- <cfdump var="#qryGroupLevelValues#" />
- </cfoutput>
- <cfabort> --->
- <!--- <cfdump var="#objReport#" />
- <cfdump var="#qryDilutions#" />
- <cfdump var="#qryProtocolData.recordCount#" />
- <cfdump var="#aryReportDrugs#" /> --->
- <!--- <cfdump var="#attributes#">
- <cfdump var="#qryDilutions#" />
- <cfabort> --->
- <!--- <cfdump var="#attributes#">
- <cfabort> --->
- <!--- <cfdump var="#objReportGateway.getCellValue(tablename=objReport.getRef_table(),drug = 'Ceftaroline', dilutionVal = 0.25)#" />
- <cfabort> --->
- <!--- <cfoutput>
- <cfset drugListLen = listLen(drugList) />
- <cfset drugIteration = 0 />
- <cfquery name="qryGetData" datasource="jmiProtocol" maxrows="200">
- <cfloop from="1" to="#arrayLen(aryReportDrugs)#" step="1" index="i">
- <cfif listContains(ucase(drugList),ucase(aryReportDrugs[i].getColumn_name()))>
- <cfset drugIteration = drugIteration + 1 />
- SELECT DISTINCT organism, <cfif groupByValList NEQ ''>#groupByValList#,</cfif>
- <cfloop query="qryDilutions">
- (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#,
- </cfloop>
- '#aryReportDrugs[i].getColumn_name()#' AS drug,
- 'Organism' AS type
- FROM #objReport.getRef_table()# a
- <cfif organismList NEQ ''>
- WHERE a.jmiorgcode IN (<cfqueryparam value="#organismList#" list="true" />)
- </cfif>
- <cfif organismGroupList NEQ ''>
- UNION
- SELECT DISTINCT organismgroup, <cfif groupByValList NEQ ''>#groupByValList#,</cfif>
- <cfloop query="qryDilutions">
- (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#,
- </cfloop>
- '#aryReportDrugs[i].getColumn_name()#' AS drug,
- 'OrganismGroup' AS type
- FROM #objReport.getRef_table()# a
- WHERE a.organismgroup is not null
- AND a.organismgroup IN (<cfqueryparam value="#organismGroupList#" list="true" />)
- </cfif>
- <cfif masterGroupList NEQ ''>
- UNION
- SELECT DISTINCT mastergroup, <cfif groupByValList NEQ ''>#groupByValList#,</cfif>
- <cfloop query="qryDilutions">
- (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#,
- </cfloop>
- '#aryReportDrugs[i].getColumn_name()#' AS drug,
- 'MasterGroup' AS type
- FROM #objReport.getRef_table()# a
- WHERE a.mastergroup is not null
- AND a.mastergroup IN (<cfqueryparam value="#masterGroupList#" list="true" />)
- </cfif>
- <cfif drugIteration NEQ drugListLen>
- UNION
- </cfif>
- </cfif>
- </cfloop>
- </cfquery>
- </cfoutput> --->
- <!--- <cfoutput>
- <cfset drugListLen = listLen(drugList) />
- <cfset drugIteration = 0 />
- <cfloop from="1" to="#arrayLen(aryReportDrugs)#" step="1" index="i">
- <cfif listContains(ucase(drugList),ucase(aryReportDrugs[i].getColumn_name()))>
- <cfset drugIteration = drugIteration + 1 />
- SELECT DISTINCT organism <cfif groupBy NEQ ''>, #groupBy#,</cfif>
- <cfloop query="qryDilutions">
- (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/>
- </cfloop>
- '#aryReportDrugs[i].getColumn_name()#' AS drug,
- 'Organism' AS type
- FROM #objReport.getRef_table()# a
- <cfif organismList NEQ ''>
- <br />WHERE a.jmiorgcode IN (#organismList#)<br/>
- </cfif>
- <cfif organismGroupList NEQ ''>
- UNION
- SELECT DISTINCT organismgroup <cfif groupBy NEQ ''>, #groupBy#,</cfif>
- <cfloop query="qryDilutions">
- (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/>
- </cfloop>
- '#aryReportDrugs[i].getColumn_name()#' AS drug,
- 'OrganismGroup' AS type
- FROM #objReport.getRef_table()# a
- <br/>WHERE a.organismgroup is not null
- AND a.organismgroup IN (#organismGroupList#)<br/>
- </cfif>
- <cfif masterGroupList NEQ ''>
- UNION
- SELECT DISTINCT mastergroup <cfif groupBy NEQ ''>, #groupBy#,</cfif>
- <cfloop query="qryDilutions">
- (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/>
- </cfloop>
- '#aryReportDrugs[i].getColumn_name()#' AS drug,
- 'MasterGroup' AS type
- FROM #objReport.getRef_table()# a
- <br/>WHERE a.mastergroup is not null
- AND a.mastergroup IN (#masterGroupList#)<br/>
- </cfif>
- <cfif drugIteration NEQ drugListLen>
- UNION
- </cfif>
- </cfif>
- </cfloop>
- </cfoutput>
- <cfabort> --->
- <!--- <cfdump var="#qryGetData#"> --->
- <!--- <cfoutput>
- <cfset drugListLen = listLen(drugList) />
- <cfset drugIteration = 0 />
- <cfloop from="1" to="#arrayLen(aryReportDrugs)#" step="1" index="i">
- <cfif listContains(ucase(drugList),ucase(aryReportDrugs[i].getColumn_name()))>
- <cfset drugIteration = drugIteration + 1 />
- SELECT DISTINCT organism <cfif groupBy NEQ ''>, #groupBy#,</cfif><br/>
- <cfloop query="qryDilutions">
- (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/>
- </cfloop>
- '#aryReportDrugs[i].getColumn_name()#' AS drug,<br/>
- 'Organism' AS type<br />
- FROM #objReport.getRef_table()# a<br/>
- <cfif organismList NEQ ''>
- WHERE a.jmiorgcode IN (#organismList#)<br/>
- </cfif>
- <cfif organismGroupList NEQ ''>
- UNION
- SELECT DISTINCT organismgroup <cfif groupBy NEQ ''>, #groupBy#,</cfif><br/>
- <cfloop query="qryDilutions">
- (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/>
- </cfloop>
- '#aryReportDrugs[i].getColumn_name()#' AS drug,<br/>
- 'OrganismGroup' AS type<br />
- FROM #objReport.getRef_table()# a<br/>
- WHERE a.organismgroup is not null <br />
- AND a.organismgroup IN (#organismGroupList#)<br/>
- </cfif>
- <cfif masterGroupList NEQ ''>
- UNION
- SELECT DISTINCT mastergroup <cfif groupBy NEQ ''>, #groupBy#,</cfif><br/>
- <cfloop query="qryDilutions">
- (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/>
- </cfloop>
- '#aryReportDrugs[i].getColumn_name()#' AS drug,<br/>
- 'MasterGroup' AS type<br/>
- FROM #objReport.getRef_table()# a<br/>
- WHERE a.mastergroup is not null <br />
- AND a.mastergroup IN (#masterGroupList#)<br/>
- </cfif>
- <cfif drugIteration NEQ drugListLen>
- UNION<br/>
- </cfif>
- </cfif>
- </cfloop>
- </cfoutput> --->
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement