~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/rptBLOOD.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
 
 
6
<%
 
7
    Connection con=null;
 
8
    Statement st1=null;
 
9
    ResultSet rs1=null; 
 
10
            
 
11
  //initial value
 
12
  int orgUnitId = 253;
 
13
  int periodId = 203;
 
14
  String parentName = null;
 
15
    OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
 
16
          String selectedId = (String) stack.findValue( "orgUnitId" );
 
17
          orgUnitId = Integer.parseInt( selectedId );
 
18
        
 
19
          String selectedPeriodId = (String) stack.findValue( "periodSelect" );
 
20
          periodId = Integer.parseInt( selectedPeriodId );
 
21
  
 
22
    String userName = "root";      
 
23
    String password = "";           
 
24
    String urlForConnection = "jdbc:mysql://localhost/dhis2";  
 
25
    
 
26
    
 
27
        int[] outM= new int[10];
 
28
        int[] outF= new int[10];
 
29
        int[] inM= new int[10];
 
30
        int[] inF= new int[10];
 
31
        int bdM= 0;
 
32
        int bdF= 0;
 
33
        int sopM= 0;
 
34
        int sopF= 0;
 
35
        int totalOutM= 0;
 
36
        int totalOutF= 0;
 
37
        int totalInM= 0;
 
38
        int totalInF=0;
 
39
        String orgUnitName="";
 
40
        String startDate="";
 
41
        String endDate="";
 
42
        boolean nextde=true;
 
43
        
 
44
        String [] services= {"Blood Donated","Blood Transfused"};
 
45
        
 
46
        int[] deint1= {212,211};
 
47
        int[] deint2= {213,209};
 
48
        int[] deint3= {215,210};
 
49
        int[] deint4= {214,208};
 
50
        
 
51
     try
 
52
      {
 
53
        Class.forName ("com.mysql.jdbc.Driver");
 
54
        con = DriverManager.getConnection (urlForConnection, userName, password);
 
55
        st1=con.createStatement();
 
56
                                
 
57
        rs1 = st1.executeQuery("select name from organizationunit where id=" + orgUnitId);
 
58
                if (rs1.next()){
 
59
                        orgUnitName= rs1.getString("name");
 
60
                }
 
61
                
 
62
                rs1 = st1.executeQuery("select name from organizationunit where parent is null");
 
63
                if (rs1.next())
 
64
                {
 
65
                        parentName=rs1.getString("name");
 
66
                }
 
67
                
 
68
                rs1 = st1.executeQuery("select startDate,endDate from period where id=" + periodId);
 
69
                if (rs1.next()){
 
70
                        startDate= rs1.getString("startDate");
 
71
                        endDate= rs1.getString("endDate");
 
72
                }
 
73
                
 
74
                String sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement in (212,211)";
 
75
                rs1 = st1.executeQuery(sql);
 
76
        int j=0;
 
77
 
 
78
                if (rs1.next())
 
79
                {
 
80
                for (j=0;j<3;j++)
 
81
          {
 
82
                        rs1.beforeFirst();
 
83
                        nextde=true;
 
84
                                while (rs1.next()&& nextde)
 
85
                                {         
 
86
                                        if (deint1[j]==(rs1.getInt("dataelement")))
 
87
                                        {         
 
88
                                                outM[j]=rs1.getInt("value");
 
89
                                                nextde=false;
 
90
                                        }
 
91
                                        
 
92
                                }
 
93
                                
 
94
                }
 
95
                  }        
 
96
        
 
97
        
 
98
                sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement in (213,209)";
 
99
                rs1 = st1.executeQuery(sql);
 
100
        
 
101
                if (rs1.next())
 
102
                {
 
103
                for (j=0;j<3;j++)
 
104
          {
 
105
                        rs1.beforeFirst();
 
106
                        nextde=true;  
 
107
                                while (rs1.next() && nextde)
 
108
                                {       
 
109
                                        if (deint2[j]==(rs1.getInt("dataelement")))
 
110
                                        {         
 
111
                                                outF[j]=rs1.getInt("value");
 
112
                                                nextde=false;
 
113
                                        }
 
114
                                        
 
115
                                }  
 
116
                }
 
117
                  }        
 
118
        
 
119
                sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement in (215,210)";
 
120
                rs1 = st1.executeQuery(sql);
 
121
        
 
122
                if (rs1.next())
 
123
                {
 
124
                for (j=0;j<3;j++)
 
125
          {
 
126
                        rs1.beforeFirst();
 
127
                        nextde=true;
 
128
                                while (rs1.next() && nextde)
 
129
                                {         
 
130
                                        if (deint3[j]==(rs1.getInt("dataelement")))
 
131
                                        {         
 
132
                                                inM[j]=rs1.getInt("value");
 
133
                                                nextde=false;
 
134
                                        }
 
135
                                        
 
136
                                }
 
137
                }
 
138
                  }        
 
139
        
 
140
                sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement in (214,208)";
 
141
                rs1 = st1.executeQuery(sql);
 
142
        
 
143
                if (rs1.next())
 
144
                {
 
145
                for (j=0;j<3;j++)
 
146
          { 
 
147
                        rs1.beforeFirst();
 
148
                        nextde=true;
 
149
                                while (rs1.next() && nextde)
 
150
                                {        
 
151
                                        if (deint4[j]==(rs1.getInt("dataelement")))
 
152
                                        {         
 
153
                                                inF[j]=rs1.getInt("value");
 
154
                                                nextde=false;
 
155
                                        }
 
156
                                        
 
157
                                }
 
158
                        }
 
159
          }        
 
160
        
 
161
                sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement=225";
 
162
                rs1 = st1.executeQuery(sql);
 
163
        
 
164
                if (rs1.next())
 
165
                {
 
166
                bdM=rs1.getInt("value");
 
167
                }          
 
168
        
 
169
                sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement=216";
 
170
                rs1 = st1.executeQuery(sql);
 
171
        
 
172
                if (rs1.next())
 
173
                {
 
174
                bdF=rs1.getInt("value");
 
175
                }          
 
176
        
 
177
        
 
178
                /*sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement=0000";
 
179
                rs1 = st1.executeQuery(sql);
 
180
        
 
181
                if (rs1.next())
 
182
                {
 
183
                sopM=rs1.getInt("value");
 
184
                }          
 
185
        
 
186
        
 
187
                sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement=0000";
 
188
                rs1 = st1.executeQuery(sql);
 
189
        
 
190
                if (rs1.next())
 
191
                {
 
192
                sopF=rs1.getInt("value");
 
193
                }          
 
194
        */
 
195
                  
 
196
                  for (j=0;j<3;j++)
 
197
                  {
 
198
                        totalOutM+=outM[j];
 
199
                        totalOutF+=outF[j];  
 
200
                        totalInM+=inM[j];          
 
201
                        totalInF+=inF[j];          
 
202
                }          
 
203
                
 
204
                  
 
205
                 }//try
 
206
                 catch(Exception e)  { out.println("Loi cho ma gi day: "+e.getMessage());  }
 
207
                                
 
208
%>
 
209
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
210
<html>
 
211
<head>
 
212
<title>Blood Bank Report for <%=orgUnitName%></title>
 
213
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 
214
<link href="../../../../dhis-web-reports/src/main/webapp/dhis-web-reports/styles.css" rel="stylesheet" type="text/css">
 
215
<link href="styles.css" rel="stylesheet" type="text/css">
 
216
</head>
 
217
 
 
218
<body bgcolor="#99FFFF">
 
219
<table width="1000" border="0" cellpadding="0" cellspacing="0">
 
220
  <!--DWLayoutTable-->
 
221
  <tr> 
 
222
    <td colspan="2" rowspan="2" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1">
 
223
        <!--DWLayoutTable-->
 
224
        <tr> 
 
225
          <td width="869" height="95" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
 
226
              <!--DWLayoutTable-->
 
227
              <tr> 
 
228
                <td width="869" height="93" valign="top" class="header">Blood Bank Report for <%=orgUnitName%></td>
 
229
              </tr>
 
230
            </table></td>
 
231
        </tr>
 
232
        <tr> 
 
233
          <td height="49" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066" bgcolor="#008080" class="header1" >
 
234
              <!--DWLayoutTable-->
 
235
              <tr class="header1"> 
 
236
                <td width="139" height="45" valign="top" class="header1">Region</td>
 
237
                <td width="127"><%=parentName%></td>
 
238
                <td width="121" valign="top" class="header1" >Wereda</td>
 
239
                <td width="200"><%=orgUnitName%></td>
 
240
              </tr>
 
241
            </table></td>
 
242
        </tr>
 
243
        <tr> 
 
244
          <td height="59" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066" bgcolor="#008080" class="header1">
 
245
              <!--DWLayoutTable-->
 
246
              <tr> 
 
247
                <td width="85" height="55" valign="top" class="header1">Period</td>
 
248
                <td width="91" valign="top" class="header1">From</td>
 
249
                <td width="151"><%=startDate%></td>
 
250
                <td width="78" valign="top" class="header1">To</td>
 
251
                <td width="179"><%=endDate%></td>
 
252
              </tr>
 
253
            </table></td>
 
254
        </tr>
 
255
        <tr> 
 
256
          <td height="111" valign="top"> 
 
257
            <table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066">
 
258
              <!--DWLayoutTable-->
 
259
              <tr> 
 
260
                <td width="114" rowspan="2" valign="top" class="tableheader">Blood 
 
261
                  Bank </td>
 
262
                <td colspan="3" valign="top" class="tableheader">Outpatient</td>
 
263
                <td height="41" colspan="3" valign="top" class="tableheader">Inpatient</td>
 
264
                <td height="41" colspan="3" valign="top" class="tableheader">Total</td>
 
265
              </tr>
 
266
              <tr> 
 
267
                <td width="62" valign="top" class="tableheader">Male</td>
 
268
                <td width="57" valign="top" class="tableheader">Female</td>
 
269
                <td width="59" valign="top" class="tableheader">Total</td>
 
270
                <td width="60" valign="top" class="tableheader">Male</td>
 
271
                <td width="56" valign="top" class="tableheader">Female</td>
 
272
                <td width="59" valign="top" class="tableheader">Total</td>
 
273
                <td width="55" valign="top" class="tableheader">Male</td>
 
274
                <td width="52" valign="top" class="tableheader">Female</td>
 
275
                <td width="64" valign="top" class="tableheader">Grand Total</td>
 
276
              </tr>
 
277
              <% for (int k=0;k<3;k++)  { %>
 
278
              <tr> 
 
279
                <td height="21" class="tableitem"><%=services[k]%></td>
 
280
                <td class="tableitem"><%=outM[k]%></td>
 
281
                <td class="tableitem"><%=outF[k]%></td>
 
282
                <td class="tableitem"><%=outM[k]+outF[k]%></td>
 
283
                <td class="tableitem"><%=inM[k]%></td>
 
284
                <td class="tableitem"><%=inF[k]%></td>
 
285
                <td class="tableitem"><%=inM[k]+inF[k]%></td>
 
286
                <td class="tableitem"><%=outM[k]+inM[k]%></td>
 
287
                <td class="tableitem"><%=outF[k]+inF[k]%></td>
 
288
                <td class="tableitem"><%=outM[k]+outF[k]+inM[k]+inF[k]%></td>
 
289
              </tr>
 
290
              <% } %>
 
291
              <tr> 
 
292
                <td height="23" valign="top" class="tableheader">Total</td>
 
293
                <td height="23" valign="top" class="tableheader"><%=totalOutM%></td>
 
294
                <td height="23" valign="top" class="tableheader"><%=totalOutF%></td>
 
295
                <td class="tableheader"><%=totalOutM+totalOutF%></td>
 
296
                <td class="tableheader"><%=totalInM%></td>
 
297
                <td class="tableheader"><%=totalInF%></td>
 
298
                <td class="tableheader"><%=totalInM+totalInF%></td>
 
299
                <td class="tableheader"><%=totalOutM+totalInM%></td>
 
300
                <td class="tableheader"><%=totalOutF+totalInF%></td>
 
301
                <td class="tableheader"><%=totalOutM+totalInM+totalOutF+totalInF%></td>
 
302
              </tr>
 
303
            </table></td>
 
304
                        
 
305
        </tr>
 
306
      </table>
 
307
      <span class="tableitemnumber"></span></td>
 
308
    <td width="127" height="275"></td>
 
309
  </tr>
 
310
  <tr> 
 
311
    <td height="2"></td>
 
312
  </tr>
 
313
  <tr> 
 
314
    <td width="503" height="2"></td>
 
315
    <td width="370"></td>
 
316
    <td></td>
 
317
  </tr>   
 
318
    <td height="78"> <table width="100%">
 
319
        <tr> 
 
320
          <td width="34%" height="24" valign="top" class="tableheader">Blood Donors</td>
 
321
          <td width="17%" valign="top" >Male</td>
 
322
          <td width="18%" valign="top" class="tableheader"><%=bdM%></td>
 
323
          <td width="11%" valign="top" >Female</td>
 
324
          <td width="20%" valign="top" class="tableheader"><%=bdF%></td>
 
325
        </tr>
 
326
        <tr> 
 
327
          <td height="24" valign="top" class="tableheader">Surgical Operations</td>
 
328
          <td height="24" valign="top" >Male</td>
 
329
          <td height="24" valign="top" class="tableheader"></td>
 
330
          <td height="24" valign="top" >Female</td>
 
331
          <td height="24" valign="top" class="tableheader"></td>
 
332
        </tr>
 
333
      </table></td>
 
334
 
 
335
</table>
 
336
</body>
 
337
</html>
 
 
b'\\ No newline at end of file'