extensions/net.sf.basedb.reggie/trunk/resources/reports/samplereportgenerator.jsp

Code
Comments
Other
Rev Date Author Line
1472 23 Nov 11 martin 1 <%@ page
1472 23 Nov 11 martin 2   pageEncoding="UTF-8"
1472 23 Nov 11 martin 3   session="false"
1472 23 Nov 11 martin 4   import="net.sf.basedb.core.User"
1472 23 Nov 11 martin 5   import="net.sf.basedb.core.DbControl"
1472 23 Nov 11 martin 6   import="net.sf.basedb.core.SessionControl"
1538 21 Feb 12 nicklas 7   import="net.sf.basedb.core.Application"
1472 23 Nov 11 martin 8   import="net.sf.basedb.clients.web.Base"  
1538 21 Feb 12 nicklas 9   import="net.sf.basedb.clients.web.extensions.ExtensionsControl"
1472 23 Nov 11 martin 10 %>
1472 23 Nov 11 martin 11 <%@ taglib prefix="base" uri="/WEB-INF/base.tld" %>
1472 23 Nov 11 martin 12 <%@ taglib prefix="p" uri="/WEB-INF/path.tld" %>
1472 23 Nov 11 martin 13 <%
3976 26 May 16 nicklas 14 final SessionControl sc = Base.getExistingSessionControl(request, "net.sf.basedb.reggie", true);
1472 23 Nov 11 martin 15 final String ID = sc.getId();
1472 23 Nov 11 martin 16 final float scale = Base.getScale(sc);
1538 21 Feb 12 nicklas 17 final String home = ExtensionsControl.getHomeUrl("net.sf.basedb.reggie");
1472 23 Nov 11 martin 18 DbControl dc = null;
1472 23 Nov 11 martin 19 try
1472 23 Nov 11 martin 20 {
1472 23 Nov 11 martin 21   dc = sc.newDbControl();
1472 23 Nov 11 martin 22   final User user = User.getById(dc, sc.getLoggedInUserId());
1472 23 Nov 11 martin 23   %>
1538 21 Feb 12 nicklas 24 <base:page type="default" >
2611 29 Aug 14 nicklas 25 <base:head 
2611 29 Aug 14 nicklas 26   scripts="~../reggie-2.js,~samplereportgenerator.js" 
2611 29 Aug 14 nicklas 27   styles="path.css,~../css/reggie-2.css,~../css/report.css"
2611 29 Aug 14 nicklas 28 />
2611 29 Aug 14 nicklas 29   <base:body>
1538 21 Feb 12 nicklas 30     <p:path><p:pathelement 
1915 21 Mar 13 nicklas 31       title="Reggie" href="<%="../index.jsp?ID="+ID%>" 
1820 06 Feb 13 olle 32       /><p:pathelement title="Sample source report" 
1538 21 Feb 12 nicklas 33       /></p:path>
2611 29 Aug 14 nicklas 34
1538 21 Feb 12 nicklas 35     <div class="content">
2611 29 Aug 14 nicklas 36     <form name="reggie" id="wizard" class="wizard">
2611 29 Aug 14 nicklas 37
2611 29 Aug 14 nicklas 38       <div class="step" id="step-1">
2611 29 Aug 14 nicklas 39         <div class="step-no">1</div>
2611 29 Aug 14 nicklas 40         <div class="step-title">Report type</div>
2611 29 Aug 14 nicklas 41         <div class="step-content">
2611 29 Aug 14 nicklas 42
2611 29 Aug 14 nicklas 43           <table class="step-form">
2611 29 Aug 14 nicklas 44           <tr>
1472 23 Nov 11 martin 45             <td class="prompt">Report</td>
1472 23 Nov 11 martin 46             <td class="input">
1472 23 Nov 11 martin 47               <select name="reporttype">
1732 13 Nov 12 olle 48                 <option value="samplecount" selected="yes">Sample count report</option>
1732 13 Nov 12 olle 49                 <option value="consentcount">Consent count report</option>
1744 27 Nov 12 olle 50                 <option value="patientcount">Patient count report</option>
1765 03 Dec 12 olle 51                 <option value="overviewreport">Overview report</option>
1772 06 Dec 12 olle 52                 <option value="missingsampledatareport">Missing sample data report</option>
1472 23 Nov 11 martin 53               </select>
1472 23 Nov 11 martin 54             </td>
2611 29 Aug 14 nicklas 55             <td class="status" id="reporttype.status"></td>
1472 23 Nov 11 martin 56             <td class="help">
2611 29 Aug 14 nicklas 57               <span id="reporttype.message" class="message"></span>
1472 23 Nov 11 martin 58               Select which report to generate.
1472 23 Nov 11 martin 59             </td>
1472 23 Nov 11 martin 60           </tr>
1472 23 Nov 11 martin 61           </table>
2611 29 Aug 14 nicklas 62         </div>
2611 29 Aug 14 nicklas 63       </div>
2611 29 Aug 14 nicklas 64
2611 29 Aug 14 nicklas 65       <div class="step" id="step-2">
2611 29 Aug 14 nicklas 66         <div class="step-no">2</div>
2611 29 Aug 14 nicklas 67         <div class="step-title">Report parameters</div>
2611 29 Aug 14 nicklas 68         <div class="step-content">
1472 23 Nov 11 martin 69       
2611 29 Aug 14 nicklas 70           <table class="step-form">
2611 29 Aug 14 nicklas 71           <tr id="report-period">
2611 29 Aug 14 nicklas 72             <td class="prompt">Report period</td>
2611 29 Aug 14 nicklas 73             <td class="input">
2611 29 Aug 14 nicklas 74               From <input type="text" name="fromdate" id="fromdate" 
2611 29 Aug 14 nicklas 75                 style="width: 8em;" maxlength="8">&nbsp;
2611 29 Aug 14 nicklas 76               To <input type="text" name="todate" id="todate" 
2611 29 Aug 14 nicklas 77                 style="width: 8em;" maxlength="8">
2611 29 Aug 14 nicklas 78             </td>
2611 29 Aug 14 nicklas 79             <td class="status" id="period.status"></td>
2611 29 Aug 14 nicklas 80             <td class="help">
2611 29 Aug 14 nicklas 81               <span id="period.message" class="message"></span>
2611 29 Aug 14 nicklas 82               [YY]YYMMDD. Define which period the report should cover. Empty fields will include all data.
2611 29 Aug 14 nicklas 83             </td>
2611 29 Aug 14 nicklas 84           </tr>
2611 29 Aug 14 nicklas 85           <tr id="view-type">
2611 29 Aug 14 nicklas 86             <td class="prompt">View type</td>
2611 29 Aug 14 nicklas 87             <td class="input">
2611 29 Aug 14 nicklas 88               <select name="viewtype" id="viewtype">
2611 29 Aug 14 nicklas 89                 <option value="AUTO" selected="yes">Auto</option>
2611 29 Aug 14 nicklas 90                 <option value="WEEK">Week</option>
2611 29 Aug 14 nicklas 91                 <option value="MONTH">Month</option>
2611 29 Aug 14 nicklas 92                 <option value="QUARTER">Quarter</option>
2611 29 Aug 14 nicklas 93                 <option value="YEAR">Year</option>
2611 29 Aug 14 nicklas 94               </select>
2611 29 Aug 14 nicklas 95             </td>
2611 29 Aug 14 nicklas 96             <td class="status" id="viewtype.status"></td>
2611 29 Aug 14 nicklas 97             <td class="help">
2611 29 Aug 14 nicklas 98               <span id="viewtype.message" class="message"></span>
2611 29 Aug 14 nicklas 99               Auto will adjust the report depending on the size of the period.
2611 29 Aug 14 nicklas 100               <ul>
2611 29 Aug 14 nicklas 101                 <li>Period shorter than 3 months - items per week</li>
2611 29 Aug 14 nicklas 102                 <li>Period shorter than 13 months - items per month</li>
2611 29 Aug 14 nicklas 103                 <li>Period shorter than 3 years - items per quarter</li>
2611 29 Aug 14 nicklas 104                 <li>Period is 3 years or greater - items per year</li>
2611 29 Aug 14 nicklas 105               </ul>                 
2611 29 Aug 14 nicklas 106             </td>
2611 29 Aug 14 nicklas 107           </tr>
2611 29 Aug 14 nicklas 108           <tr id="sample-type">
2611 29 Aug 14 nicklas 109             <td class="prompt">Sample type</td>
2611 29 Aug 14 nicklas 110             <td class="input">
2611 29 Aug 14 nicklas 111               <select name="sampletype" id="sampletype">
2611 29 Aug 14 nicklas 112                 <option value="specimen" selected="yes">Specimen</option>
2611 29 Aug 14 nicklas 113                 <option value="nospecimen">No specimen</option>
2611 29 Aug 14 nicklas 114                 <option value="blood">Blood</option>
2611 29 Aug 14 nicklas 115               </select>
2611 29 Aug 14 nicklas 116             </td>
2611 29 Aug 14 nicklas 117             <td class="status" id="sampletype.status"></td>
2611 29 Aug 14 nicklas 118             <td class="help">
2611 29 Aug 14 nicklas 119               <span id="sampletype.message" class="message"></span>
2611 29 Aug 14 nicklas 120               Select sample type for report.
2611 29 Aug 14 nicklas 121             </td>
2611 29 Aug 14 nicklas 122           </tr>
2611 29 Aug 14 nicklas 123           <tr id="table-alternatives">
2611 29 Aug 14 nicklas 124             <td class="prompt">Table alternatives</td>
2611 29 Aug 14 nicklas 125             <td class="input">
2611 29 Aug 14 nicklas 126               <select name="tablealternatives" id="tablealternatives">
2611 29 Aug 14 nicklas 127                 <option value="full_blood_sample_tables" selected="yes">9 tables with different blood sample choices</option>
2611 29 Aug 14 nicklas 128                 <option value="blood_sample_table_with_filter">1 table with optional blood sample filter</option>
2611 29 Aug 14 nicklas 129               </select>
2611 29 Aug 14 nicklas 130             </td>
2611 29 Aug 14 nicklas 131             <td class="status" id="tablealternatives.status"></td>
2611 29 Aug 14 nicklas 132             <td class="help">
2611 29 Aug 14 nicklas 133               <span id="tablealternatives.message" class="message"></span>
2611 29 Aug 14 nicklas 134               Select table alternative for report (only used if sample type = 'Blood').
2611 29 Aug 14 nicklas 135             </td>
2611 29 Aug 14 nicklas 136           </tr>
2611 29 Aug 14 nicklas 137           <tr id="blood-filter">
2611 29 Aug 14 nicklas 138             <td class="prompt">Blood sample filter</td>
2611 29 Aug 14 nicklas 139             <td class="input">
2611 29 Aug 14 nicklas 140               <select name="bloodsamplefilter" id="bloodsamplefilter">
2611 29 Aug 14 nicklas 141                 <option value="none" selected="yes">None</option>
2611 29 Aug 14 nicklas 142                 <option value="followup">Follow-up</option>
2611 29 Aug 14 nicklas 143                 <option value="notfollowup">Not follow-up</option>
2611 29 Aug 14 nicklas 144                 <option value="">unknown</option>
2611 29 Aug 14 nicklas 145                 <option value="PreNeo">PreNeo</option>
2611 29 Aug 14 nicklas 146                 <option value="PreOp">PreOp</option>
2611 29 Aug 14 nicklas 147                 <option value="FollowUp06">FollowUp06</option>
2611 29 Aug 14 nicklas 148                 <option value="FollowUp12">FollowUp12</option>
2611 29 Aug 14 nicklas 149                 <option value="FollowUp36">FollowUp36</option>
2611 29 Aug 14 nicklas 150               </select>
2611 29 Aug 14 nicklas 151             </td>
2611 29 Aug 14 nicklas 152             <td class="status" id="bloodsamplefilter.status"></td>
2611 29 Aug 14 nicklas 153             <td class="help">
2611 29 Aug 14 nicklas 154               <span id="bloodsamplefilter.message" class="message"></span>
2611 29 Aug 14 nicklas 155               Select blood sample filter for report (only used if sample type = 'Blood').
2611 29 Aug 14 nicklas 156             </td>
2611 29 Aug 14 nicklas 157           </tr>
2611 29 Aug 14 nicklas 158           </table>
2611 29 Aug 14 nicklas 159         </div>
1472 23 Nov 11 martin 160       </div>
1472 23 Nov 11 martin 161       
2611 29 Aug 14 nicklas 162       <div class="step" id="step-3">
2611 29 Aug 14 nicklas 163         <div class="step-no">3</div>
2611 29 Aug 14 nicklas 164         <div class="step-title">Generated report
2611 29 Aug 14 nicklas 165           <span id="printButton" class="link"><img src="../images/print.png">Print version&hellip;</span>
2611 29 Aug 14 nicklas 166         </div>
2611 29 Aug 14 nicklas 167         <div class="step-content" id="step-3-content">
2611 29 Aug 14 nicklas 168           <div id="reportdiv"></div>
2611 29 Aug 14 nicklas 169         </div>
2611 29 Aug 14 nicklas 170       </div>
1472 23 Nov 11 martin 171       
2611 29 Aug 14 nicklas 172       
2611 29 Aug 14 nicklas 173     <div id="wizard-status"></div>
3911 02 May 16 nicklas 174     <div id="wizard-progress"></div>
2223 12 Feb 14 olle 175
2611 29 Aug 14 nicklas 176     <table class="navigation" id="navigation">
2611 29 Aug 14 nicklas 177     <tr>
2611 29 Aug 14 nicklas 178       <td><base:button id="gocancel" title="Cancel" /></td>
2611 29 Aug 14 nicklas 179       <td><base:button id="gorestart" title="Restart" image="<%=home+"/images/goback.png"%>" /></td>
2611 29 Aug 14 nicklas 180       <td><base:button id="gonext" title="Next" image="<%=home+"/images/gonext.png"%>" /></td>
2611 29 Aug 14 nicklas 181       <td><base:button id="gocreate" title="Generate" image="<%=home+"/images/gonext.png"%>" /></td>          
2611 29 Aug 14 nicklas 182       <td id="gonext-message" class="message"></td>
2611 29 Aug 14 nicklas 183     </tr>
2611 29 Aug 14 nicklas 184     </table>      
2223 12 Feb 14 olle 185
2611 29 Aug 14 nicklas 186     </form>
2223 12 Feb 14 olle 187     </div>
1472 23 Nov 11 martin 188   </base:body>
1472 23 Nov 11 martin 189   </base:page>
1472 23 Nov 11 martin 190   <%
1472 23 Nov 11 martin 191 }
1472 23 Nov 11 martin 192 finally
1472 23 Nov 11 martin 193 {
1472 23 Nov 11 martin 194   if (dc != null) dc.close();
1472 23 Nov 11 martin 195 }
1472 23 Nov 11 martin 196 %>