~mortenoh/+junk/dhis2-detailed-import-export

« back to all changes in this revision

Viewing changes to local/et/dhis-web-ethiopia/src/main/webapp/dhis-web-reports/Ethiopia/rptPNT.jsp

  • Committer: larshelge at gmail
  • Date: 2009-03-03 16:46:36 UTC
  • Revision ID: larshelge@gmail.com-20090303164636-2sjlrquo7ib1gf7r
Initial check-in

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<%@ page import="java.sql.*" %>
 
2
<%@ page import="java.util.*" %>
 
3
<%@ page import="com.opensymphony.xwork.util.OgnlValueStack" %>
 
4
 
 
5
<%@ page session="true" %>
 
6
 
 
7
<%
 
8
 
 
9
   Connection con=null;            
 
10
    Statement st1=null;
 
11
    ResultSet rs1=null;      
 
12
  
 
13
    String userName = "root";      
 
14
    String password = "";           
 
15
    String urlForConnection = "jdbc:mysql://localhost/dhis2";  
 
16
    
 
17
        int orgUnitId = 16;
 
18
        String orgUnitName="";
 
19
        String parentName="";
 
20
        int parentId=0; 
 
21
        int periodId = 204;
 
22
        String startDate="";
 
23
        String endDate="";
 
24
OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
 
25
          String selectedId = (String) stack.findValue( "orgUnitId" );
 
26
          orgUnitId = Integer.parseInt( selectedId );
 
27
        
 
28
          String selectedPeriodId = (String) stack.findValue( "periodSelect" );
 
29
          periodId = Integer.parseInt( selectedPeriodId );
 
30
  
 
31
 
 
32
    int[] pretestM= new int[100];
 
33
        int[] pretestF= new int[100];
 
34
        int[] testM= new int[100];
 
35
        int[] testF= new int[100];
 
36
        int[] positiveM= new int[100];
 
37
        int[] positiveF= new int[100];
 
38
        int[] posttestM= new int[100];
 
39
        int[] posttestF= new int[100];
 
40
        int[] HIVprM= new int[100];
 
41
        int[] HIVprF= new int[100];
 
42
        
 
43
        boolean nextde=true;
 
44
        
 
45
        String[] destring1={"2703","2705","2707","2709","2711","2713","2715","2717","2719","2721"};
 
46
        String[] destring2={"2704","2706","2708","2710","2712","2714","2716","2718","2720","2722"};
 
47
        String[] destring3={"2723","2725","2727","2729","2731","2733","2735","2737","2739","2741"};
 
48
        String[] destring4={"2724","2726","2728","2730","2732","2734","2736","2738","2740","2742"};
 
49
        String[] destring5={"2743","2745","2747","2749","2751","2753","2755","2757","2759","2761"};
 
50
        String[] destring6={"2744","2746","2748","2750","2752","2754","2756","2758","2760","2762"};
 
51
        String[] destring7={"2763","2765","2767","2769","2771","2773","2775","2777","2779","2781"};
 
52
        String[] destring8={"2764","2766","2768","2770","2772","2774","2776","2778","2780","2782"};
 
53
        String[] destring9={"2783","2785","2787","2789","2791","2793","2795","2797","2799","2801"};
 
54
        String[] destring10={"2784","2786","2788","2790","2792","2794","2796","2798","2800","2802"};
 
55
        
 
56
        String[] age= {"<15","15-19","20-24","25-29","30-34","35-39","40-44","45-49","50+","Unrecorded", "Total",};
 
57
        
 
58
        int i=0;
 
59
     try
 
60
      {
 
61
        Class.forName ("com.mysql.jdbc.Driver");
 
62
        con = DriverManager.getConnection (urlForConnection, userName, password);
 
63
        st1=con.createStatement();
 
64
                String sql = "select value,dataelement from datavalue where period="+periodId+" and source="+orgUnitId ;
 
65
                sql+=" and dataelement in (2703,2705,2707,2709,2711,2713,2715,2717,2719,2721)";         
 
66
        rs1 = st1.executeQuery(sql);
 
67
          if (rs1.next())
 
68
        {
 
69
            for(i=0;i<10;i++)
 
70
            {
 
71
                        rs1.beforeFirst();
 
72
                        nextde=true;
 
73
                        while (rs1.next() && nextde)
 
74
                        {
 
75
                        if (destring1[i].equals(rs1.getString("dataelement")))
 
76
                        {
 
77
                pretestM[i]=rs1.getInt("value");
 
78
                                nextde=false;
 
79
                        }
 
80
                        }                               
 
81
            
 
82
            }
 
83
         }                              
 
84
           
 
85
                sql = "select value,dataelement from datavalue where period="+periodId+" and source="+orgUnitId ;
 
86
                sql+=" and dataelement in (2704,2706,2708,2710,2712,2714,2716,2718,2720,2722)";         
 
87
        rs1 = st1.executeQuery(sql);  
 
88
          if (rs1.next())
 
89
        {
 
90
            for(i=0;i<10;i++)
 
91
            {
 
92
                        rs1.beforeFirst();
 
93
                        nextde=true;
 
94
                        while (rs1.next() && nextde)
 
95
                        {
 
96
                        if (destring2[i].equals(rs1.getString("dataelement")))
 
97
                        {
 
98
                pretestF[i]=rs1.getInt("value");                                
 
99
                nextde=false;
 
100
                        }
 
101
                        }
 
102
            }
 
103
         }                              
 
104
           
 
105
//geting orguntname
 
106
                sql = "select name,parent from organizationunit where id ="+orgUnitId ;
 
107
            rs1 = st1.executeQuery(sql);  
 
108
         if (rs1.next())
 
109
        {
 
110
           orgUnitName=rs1.getString("name");
 
111
                   parentId=rs1.getInt("parent");                               
 
112
            }
 
113
                
 
114
                sql = "select name from organizationunit where id="+parentId;
 
115
                rs1 = st1.executeQuery(sql);
 
116
                if (rs1.next())
 
117
                {
 
118
                        parentName=rs1.getString("name");
 
119
                }
 
120
                
 
121
            sql = "select startDate,endDate from period where id ="+periodId ;
 
122
            rs1 = st1.executeQuery(sql);  
 
123
         if (rs1.next())
 
124
        {
 
125
           startDate=rs1.getString("startDate");                                
 
126
           endDate=rs1.getString("endDate");                            
 
127
 
 
128
            }
 
129
            //end getting 
 
130
 
 
131
                   sql = "select value,dataelement from datavalue where period="+periodId+" and source="+orgUnitId ;
 
132
                sql+=" and dataelement in (2723,2725,2727,2729,2731,2733,2735,2737,2739,2741)";         
 
133
          if (rs1.next())
 
134
        {
 
135
            for(i=0;i<10;i++)
 
136
            {
 
137
                        rs1.beforeFirst();
 
138
                        nextde=true;
 
139
                        while (rs1.next() && nextde)
 
140
                        {
 
141
                        if (destring3[i].equals(rs1.getString("dataelement")))
 
142
                        {
 
143
                testM[i]=rs1.getInt("value");                           
 
144
                                nextde=false;
 
145
                        }
 
146
                        }            
 
147
            }
 
148
         }                              
 
149
            
 
150
                   sql = "select value,dataelement from datavalue where period="+periodId+" and source="+orgUnitId ;
 
151
                sql+=" and dataelement in (2724,2726,2728,2730,2732,2734,2736,2738,2740,2742)";         
 
152
        rs1 = st1.executeQuery(sql); 
 
153
          if (rs1.next())
 
154
        {
 
155
            for(i=0;i<10;i++)
 
156
            {
 
157
                        rs1.beforeFirst();
 
158
                        nextde=true;
 
159
                        while (rs1.next() && nextde)
 
160
                        {
 
161
                        if (destring4[i].equals(rs1.getString("dataelement")))
 
162
                        {
 
163
                testF[i]=rs1.getInt("value");                           
 
164
                                nextde=false;    
 
165
                        }
 
166
                        }       
 
167
            }
 
168
         }                              
 
169
           
 
170
                   sql = "select value,dataelement from datavalue where period="+periodId+" and source="+orgUnitId ;
 
171
                sql+=" and dataelement in (2743,2745,2747,2749,2751,2753,2755,2757,2759,2761)";         
 
172
        rs1 = st1.executeQuery(sql); 
 
173
          if (rs1.next())
 
174
        {
 
175
            for(i=0;i<10;i++)
 
176
            {
 
177
                        rs1.beforeFirst();
 
178
                        nextde=true;
 
179
                        while (rs1.next() && nextde)
 
180
                        {
 
181
                        if (destring5[i].equals(rs1.getString("dataelement")))
 
182
                        {
 
183
                positiveM[i]=rs1.getInt("value");                               
 
184
                                nextde=false;
 
185
                        }
 
186
                        }            
 
187
            }
 
188
         }                              
 
189
            
 
190
                   sql = "select value,dataelement from datavalue where period="+periodId+" and source="+orgUnitId ;
 
191
                sql+=" and dataelement in (2744,2746,2748,2750,2752,2754,2756,2758,2760,2762)";         
 
192
        rs1 = st1.executeQuery(sql);  
 
193
          if (rs1.next())
 
194
        {
 
195
            for(i=0;i<10;i++)
 
196
            {
 
197
                        rs1.beforeFirst();
 
198
                        nextde=true;
 
199
                        while (rs1.next() && nextde)
 
200
                        {
 
201
                        if (destring6[i].equals(rs1.getString("dataelement")))
 
202
                        {
 
203
                positiveF[i]=rs1.getInt("value");                               
 
204
                                nextde=false;
 
205
                        }
 
206
                        }            
 
207
            }
 
208
         }                              
 
209
            
 
210
                   sql = "select value,dataelement from datavalue where period="+periodId+" and source="+orgUnitId ;
 
211
                   sql+=" and dataelement in (2763,2765,2767,2769,2771,2773,2775,2777,2779,2781)";              
 
212
        rs1 = st1.executeQuery(sql);                                    
 
213
          
 
214
          if (rs1.next())
 
215
        {
 
216
            for(i=0;i<10;i++)
 
217
            {
 
218
                        rs1.beforeFirst();
 
219
                        nextde=true;
 
220
                        while (rs1.next() && nextde)
 
221
                        {
 
222
                        if (destring7[i].equals(rs1.getString("dataelement")))
 
223
                        {
 
224
                posttestM[i]=rs1.getInt("value");                               
 
225
                                nextde=false;
 
226
                        }
 
227
                        }            
 
228
            }
 
229
         }  
 
230
                   sql = "select value,dataelement from datavalue where period="+periodId+" and source="+orgUnitId ;
 
231
                sql+=" and dataelement in (2764,2766,2768,2770,2772,2774,2776,2778,2780,2782)";         
 
232
        rs1 = st1.executeQuery(sql); 
 
233
          if (rs1.next())
 
234
        {
 
235
            for(i=0;i<10;i++)
 
236
            {
 
237
                        rs1.beforeFirst();
 
238
                        nextde=true;
 
239
                        while (rs1.next() && nextde)
 
240
                        {
 
241
                        if (destring8[i].equals(rs1.getString("dataelement")))
 
242
                        {
 
243
                posttestF[i]=rs1.getInt("value");                               
 
244
                                nextde=false;
 
245
                        }
 
246
                        }            
 
247
            }
 
248
         }                              
 
249
            
 
250
                   sql = "select value,dataelement from datavalue where period="+periodId+" and source="+orgUnitId ;
 
251
                sql+=" and dataelement in (2783,2785,2787,2789,2791,2793,2795,2797,2799,2801)";         
 
252
        rs1 = st1.executeQuery(sql); 
 
253
          if (rs1.next())
 
254
        {
 
255
            for(i=0;i<10;i++)
 
256
            {
 
257
                        rs1.beforeFirst();
 
258
                        nextde=true;
 
259
                        while (rs1.next() && nextde)
 
260
                        {
 
261
                        if (destring9[i].equals(rs1.getString("dataelement")))
 
262
                        {
 
263
                HIVprM[i]=rs1.getInt("value");                          
 
264
                                nextde=false;  
 
265
                        }
 
266
                        }          
 
267
            }
 
268
         }                              
 
269
            
 
270
                   sql = "select value,dataelement from datavalue where period="+periodId+" and source="+orgUnitId ;
 
271
                sql+=" and dataelement in (2784,2786,2788,2790,2792,2794,2796,2798,2800,2802)";         
 
272
        rs1 = st1.executeQuery(sql);                                    
 
273
          
 
274
          if (rs1.next())
 
275
        {
 
276
            for(i=0;i<10;i++)
 
277
            {
 
278
                        rs1.beforeFirst();
 
279
                        nextde=true;
 
280
                        while (rs1.next() && nextde)
 
281
                        {
 
282
                        if (destring10[i].equals(rs1.getString("dataelement")))
 
283
                        {
 
284
                HIVprF[i]=rs1.getInt("value");                          
 
285
                                nextde=false;
 
286
                        }
 
287
                        }
 
288
            }
 
289
         }  
 
290
         
 
291
                   for(int z=0;z<=9;z++){
 
292
                                pretestM[10]+=pretestM[z];
 
293
                                pretestF[10]+=pretestF[z];
 
294
                                testM[10]+=testM[z];
 
295
                                testF[10]+=testF[z];
 
296
                                positiveM[10]+=positiveM[z];
 
297
                                positiveF[10]+=positiveF[z];
 
298
                                posttestM[10]+=posttestM[z];
 
299
                                posttestF[10]+=posttestF[z];
 
300
                                HIVprM[10]+=HIVprM[z];
 
301
                                HIVprF[10]+=HIVprF[z];
 
302
                   }
 
303
                   
 
304
       } //try block end
 
305
      catch(Exception e)  { out.println("Loi cho ma gi day: "+e.getMessage());  }
 
306
      
 
307
%>
 
308
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
309
<html>
 
310
<head>
 
311
<title>Blood Bank Report for <%=orgUnitName%></title>
 
312
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 
313
<link href="../../../../dhis-web-reports/src/main/webapp/dhis-web-reports/styles.css" rel="stylesheet" type="text/css">
 
314
<link href="styles.css" rel="stylesheet" type="text/css">
 
315
</head>
 
316
 
 
317
<body bgcolor="#99FFFF">
 
318
<table width="1000" border="0" cellpadding="0" cellspacing="0">
 
319
  <!--DWLayoutTable-->
 
320
  <tr> 
 
321
    <td colspan="2" rowspan="2" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1">
 
322
        <!--DWLayoutTable-->
 
323
        <tr> 
 
324
          <td width="869" height="95" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
 
325
              <!--DWLayoutTable-->
 
326
              <tr> 
 
327
                <td width="869" height="93" valign="top" class="header">Blood Bank Report for <%=orgUnitName%></td>
 
328
              </tr>
 
329
            </table></td>
 
330
        </tr>
 
331
        <tr> 
 
332
          <td height="49" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066" bgcolor="#008080" class="header1" >
 
333
              <!--DWLayoutTable-->
 
334
              <tr class="header1"> 
 
335
                <td width="139" height="45" valign="top" class="header1">Region</td>
 
336
                <td width="127"><%=parentName%></td>
 
337
                <td width="121" valign="top" class="header1" >Wereda</td>
 
338
                <td width="200"><%=orgUnitName%></td>
 
339
              </tr>
 
340
            </table></td>
 
341
        </tr>
 
342
        <tr> 
 
343
          <td height="59" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066" bgcolor="#008080" class="header1">
 
344
              <!--DWLayoutTable-->
 
345
              <tr> 
 
346
                <td width="85" height="55" valign="top" class="header1">Period</td>
 
347
                <td width="91" valign="top" class="header1">From</td>
 
348
                <td width="151"><%=startDate%></td>
 
349
                <td width="78" valign="top" class="header1">To</td>
 
350
                <td width="179"><%=endDate%></td>
 
351
              </tr>
 
352
            </table></td>
 
353
        </tr>
 
354
        <tr> 
 
355
          <td height="111" valign="top"> 
 
356
            <table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066">
 
357
              <!--DWLayoutTable-->
 
358
              <tr> 
 
359
                <td width="39" rowspan="2" valign="top" class="tableheader">Age </td>
 
360
                <td colspan="3" valign="top" class="tableheader">Pre-test counseled</td>
 
361
                <td height="41" colspan="3" valign="top" class="tableheader">Tested</td>
 
362
                <td height="41" colspan="3" valign="top" class="tableheader">Positive Cases</td>
 
363
                <td colspan="3" valign="top" class="tableheader">Post-test counseled (results received)</td>
 
364
                <td height="41" colspan="3" valign="top" class="tableheader">HIV Positive Referred</td>
 
365
                <td height="41" colspan="3" valign="top" class="tableheader">Total</td>
 
366
              </tr>
 
367
                    <tr>
 
368
                      <td width="21" height="23" valign="top" class="tableheader">M</td>                    
 
369
                      
 
370
                      <td width="23" valign="top" class="tableheader">F </td>                     
 
371
                      <td width="42" valign="top" class="tableheader">Total</td>                       
 
372
                      <td width="18" valign="top" class="tableheader">M</td>
 
373
                      <td width="19" valign="top" class="tableheader">F</td>
 
374
                      <td width="36" valign="top" class="tableheader">Total</td>
 
375
                      <td width="18" valign="top" class="tableheader">M</td>
 
376
                      <td width="20" valign="top" class="tableheader">F </td>
 
377
                      <td width="36" valign="top" class="tableheader">Total</td>
 
378
                      <td width="47" valign="top" class="tableheader">M</td>
 
379
                      <td width="35" valign="top" class="tableheader">F</td>
 
380
                      <td width="59" valign="top" class="tableheader">Total</td>
 
381
                      <td width="25" valign="top" class="tableheader">M</td>
 
382
                      <td width="24" valign="top" class="tableheader">F</td>
 
383
                      <td width="45" valign="top" class="tableheader">Total</td>
 
384
                      <td width="18" valign="top" class="tableheader">M</td>
 
385
                      <td width="18" valign="top" class="tableheader">F</td>
 
386
                      <td width="28" valign="top" class="tableheader">GT</td>
 
387
                    </tr>
 
388
                  <% for (int k=0;k<11;k++){%>
 
389
                    <tr bordercolor="#000000" class="tableitem">
 
390
                      <td width="39" height="32" valign="top" class="tableheader"><%=age[k]%>&nbsp;</td>
 
391
                      <%if (k==11) {%><td width="21" valign="top" class="tableheader"><%=pretestM[k]%>&nbsp;</td><%}%>
 
392
                      <%if (k!=11) {%><td width="23" valign="top" class="tableitem"><%=pretestM[k]%>&nbsp;</td><%}%>
 
393
                      <%if (k==11) {%><td width="42" valign="top" class="tableheader"><%=pretestF[k]%>&nbsp;</td><%}%>
 
394
                      <%if (k!=11) {%><td width="18" valign="top" class="tableitem"><%=pretestF[k]%>&nbsp;</td><%}%>
 
395
                      <td width="19" valign="top" class="tableheader"><%=pretestM[k]+pretestF[k]%>&nbsp;</td>
 
396
                      <%if (k==11) {%><td width="36" valign="top" class="tableheader"><%=testM[k]%>&nbsp;</td><%}%>
 
397
                      <%if (k!=11) {%><td width="18" valign="top" class="tableitem"><%=testM[k]%>&nbsp;</td><%}%>
 
398
                      <%if (k==11) {%><td width="20" valign="top" class="tableheader"><%=testF[k]%>&nbsp;</td><%}%>
 
399
                      <%if (k!=11) {%><td width="36" valign="top" class="tableitem"><%=testF[k]%>&nbsp;</td><%}%>
 
400
                      
 
401
                <td width="47" valign="top" class="lefttableheader"><%=testM[k]+testF[k]%></td>
 
402
                      <%if (k==11) {%>
 
403
                <td width="35" valign="top" class="tableheader"><%=positiveM[k]%></td>
 
404
                <%}%>
 
405
                      <%if (k!=11) {%><td width="59" valign="top" class="tableitem"><%=positiveM[k]%>&nbsp;</td><%}%>
 
406
                      <%if (k==11) {%><td width="25" valign="top" class="tableheader"><%=positiveF[k]%>&nbsp;</td><%}%>
 
407
                      <%if (k!=11) {%><td width="24" valign="top" class="tableitem"><%=positiveF[k]%>&nbsp;</td><%}%>
 
408
                      <td width="45" valign="top" class="tableheader"><%=positiveM[k]+positiveF[k]%>&nbsp;</td>
 
409
                      <%if (k==11) {%><td width="18" valign="top" class="tableheader"><%=posttestM[k]%>&nbsp;</td><%}%>
 
410
                      <%if (k!=11) {%><td width="18" valign="top" class="tableitem"><%=posttestM[k]%>&nbsp;</td><%}%>
 
411
                      <%if (k==11) {%><td width="28" valign="top" class="tableheader"><%=posttestF[k]%>&nbsp;</td><%}%>
 
412
                      <%if (k!=11) {%><td width="18" valign="top" class="tableitem"><%=posttestF[k]%>&nbsp;</td><%}%>
 
413
                      <td width="23" valign="top" class="tableheader"><%=posttestM[k]+posttestF[k]%>&nbsp;</td>
 
414
                      <%if (k==11) {%><td width="19" valign="top" class="tableheader"><%=HIVprM[k]%>&nbsp;</td><%}%>
 
415
                      <%if (k!=11) {%><td width="19" valign="top" class="tableitem"><%=HIVprM[k]%>&nbsp;</td><%}%>
 
416
                      <%if (k==11) {%><td width="18" valign="top" class="tableheader"><%=HIVprF[k]%>&nbsp;</td><%}%>
 
417
                      <%if (k!=11) {%><td width="18" valign="top" class="tableitem"><%=HIVprF[k]%>&nbsp;</td><%}%>
 
418
                      <td width="18" valign="top" class="tableheader"><%=HIVprM[k]+HIVprF[k]%>&nbsp;</td>
 
419
                      <td width="19" valign="top" class="tableheader"><%=pretestM[k]+testM[k]+positiveM[k]+posttestM[k]+HIVprM[k]%></td>
 
420
                      <td width="18" valign="top" class="tableheader"><%=pretestF[k]+testF[k]+positiveF[k]+posttestF[k]+HIVprF[k]%></td>
 
421
                      <td width="40" valign="top" class="tableheader"><%=pretestM[k]+pretestF[k]+testM[k]+testF[k]+positiveM[k]+positiveF[k]+posttestM[k]+posttestF[k]+HIVprM[k]+HIVprF[k]%>&nbsp;</td>
 
422
                    </tr>
 
423
                                        <%}%>
 
424
            </table></td>
 
425
                        
 
426
        </tr>
 
427
      </table>
 
428
      <span class="tableitemnumber"></span></td>
 
429
    <td width="127" height="275"></td>
 
430
  </tr>
 
431
  <tr> 
 
432
    <td height="2"></td>
 
433
  </tr>
 
434
  <tr> 
 
435
    <td width="503" height="2"></td>
 
436
    <td width="370"></td>
 
437
    <td></td>
 
438
  </tr>   
 
439
    <td height="78"> <table width="100%">
 
440
        <tr> 
 
441
          <td width="34%" height="24" valign="top" class="tableheader">Blood Donors</td>
 
442
          <td width="17%" valign="top" >Male</td>
 
443
          <td width="18%" valign="top" class="tableheader"><%=bdM%></td>
 
444
          <td width="11%" valign="top" >Female</td>
 
445
          <td width="20%" valign="top" class="tableheader"><%=bdF%></td>
 
446
        </tr>
 
447
        <tr> 
 
448
          <td height="24" valign="top" class="tableheader">Surgical Operations</td>
 
449
          <td height="24" valign="top" >Male</td>
 
450
          <td height="24" valign="top" class="tableheader"></td>
 
451
          <td height="24" valign="top" >Female</td>
 
452
          <td height="24" valign="top" class="tableheader"></td>
 
453
        </tr>
 
454
      </table></td>
 
455
 
 
456
</table>
 
457
</body>
 
458
</html>
 
 
b'\\ No newline at end of file'