1
<%@ page import="java.sql.*" %>
2
<%@ page import="java.util.*" %>
3
<%@ page import="com.opensymphony.xwork.util.OgnlValueStack" %>
5
<%@ page session="true" %>
13
String userName = "root";
15
String urlForConnection = "jdbc:mysql://localhost/dhis2";
18
String orgUnitName="";
24
OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
25
String selectedId = (String) stack.findValue( "orgUnitId" );
26
orgUnitId = Integer.parseInt( selectedId );
28
String selectedPeriodId = (String) stack.findValue( "periodSelect" );
29
periodId = Integer.parseInt( selectedPeriodId );
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];
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"};
56
String[] age= {"<15","15-19","20-24","25-29","30-34","35-39","40-44","45-49","50+","Unrecorded", "Total",};
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);
73
while (rs1.next() && nextde)
75
if (destring1[i].equals(rs1.getString("dataelement")))
77
pretestM[i]=rs1.getInt("value");
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);
94
while (rs1.next() && nextde)
96
if (destring2[i].equals(rs1.getString("dataelement")))
98
pretestF[i]=rs1.getInt("value");
106
sql = "select name,parent from organizationunit where id ="+orgUnitId ;
107
rs1 = st1.executeQuery(sql);
110
orgUnitName=rs1.getString("name");
111
parentId=rs1.getInt("parent");
114
sql = "select name from organizationunit where id="+parentId;
115
rs1 = st1.executeQuery(sql);
118
parentName=rs1.getString("name");
121
sql = "select startDate,endDate from period where id ="+periodId ;
122
rs1 = st1.executeQuery(sql);
125
startDate=rs1.getString("startDate");
126
endDate=rs1.getString("endDate");
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)";
139
while (rs1.next() && nextde)
141
if (destring3[i].equals(rs1.getString("dataelement")))
143
testM[i]=rs1.getInt("value");
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);
159
while (rs1.next() && nextde)
161
if (destring4[i].equals(rs1.getString("dataelement")))
163
testF[i]=rs1.getInt("value");
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);
179
while (rs1.next() && nextde)
181
if (destring5[i].equals(rs1.getString("dataelement")))
183
positiveM[i]=rs1.getInt("value");
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);
199
while (rs1.next() && nextde)
201
if (destring6[i].equals(rs1.getString("dataelement")))
203
positiveF[i]=rs1.getInt("value");
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);
220
while (rs1.next() && nextde)
222
if (destring7[i].equals(rs1.getString("dataelement")))
224
posttestM[i]=rs1.getInt("value");
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);
239
while (rs1.next() && nextde)
241
if (destring8[i].equals(rs1.getString("dataelement")))
243
posttestF[i]=rs1.getInt("value");
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);
259
while (rs1.next() && nextde)
261
if (destring9[i].equals(rs1.getString("dataelement")))
263
HIVprM[i]=rs1.getInt("value");
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);
280
while (rs1.next() && nextde)
282
if (destring10[i].equals(rs1.getString("dataelement")))
284
HIVprF[i]=rs1.getInt("value");
291
for(int z=0;z<=9;z++){
292
pretestM[10]+=pretestM[z];
293
pretestF[10]+=pretestF[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];
305
catch(Exception e) { out.println("Loi cho ma gi day: "+e.getMessage()); }
308
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
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">
317
<body bgcolor="#99FFFF">
318
<table width="1000" border="0" cellpadding="0" cellspacing="0">
321
<td colspan="2" rowspan="2" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1">
324
<td width="869" height="95" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
327
<td width="869" height="93" valign="top" class="header">Blood Bank Report for <%=orgUnitName%></td>
332
<td height="49" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066" bgcolor="#008080" 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>
343
<td height="59" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066" bgcolor="#008080" class="header1">
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>
355
<td height="111" valign="top">
356
<table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066">
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>
368
<td width="21" height="23" valign="top" class="tableheader">M</td>
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>
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]%> </td>
391
<%if (k==11) {%><td width="21" valign="top" class="tableheader"><%=pretestM[k]%> </td><%}%>
392
<%if (k!=11) {%><td width="23" valign="top" class="tableitem"><%=pretestM[k]%> </td><%}%>
393
<%if (k==11) {%><td width="42" valign="top" class="tableheader"><%=pretestF[k]%> </td><%}%>
394
<%if (k!=11) {%><td width="18" valign="top" class="tableitem"><%=pretestF[k]%> </td><%}%>
395
<td width="19" valign="top" class="tableheader"><%=pretestM[k]+pretestF[k]%> </td>
396
<%if (k==11) {%><td width="36" valign="top" class="tableheader"><%=testM[k]%> </td><%}%>
397
<%if (k!=11) {%><td width="18" valign="top" class="tableitem"><%=testM[k]%> </td><%}%>
398
<%if (k==11) {%><td width="20" valign="top" class="tableheader"><%=testF[k]%> </td><%}%>
399
<%if (k!=11) {%><td width="36" valign="top" class="tableitem"><%=testF[k]%> </td><%}%>
401
<td width="47" valign="top" class="lefttableheader"><%=testM[k]+testF[k]%></td>
403
<td width="35" valign="top" class="tableheader"><%=positiveM[k]%></td>
405
<%if (k!=11) {%><td width="59" valign="top" class="tableitem"><%=positiveM[k]%> </td><%}%>
406
<%if (k==11) {%><td width="25" valign="top" class="tableheader"><%=positiveF[k]%> </td><%}%>
407
<%if (k!=11) {%><td width="24" valign="top" class="tableitem"><%=positiveF[k]%> </td><%}%>
408
<td width="45" valign="top" class="tableheader"><%=positiveM[k]+positiveF[k]%> </td>
409
<%if (k==11) {%><td width="18" valign="top" class="tableheader"><%=posttestM[k]%> </td><%}%>
410
<%if (k!=11) {%><td width="18" valign="top" class="tableitem"><%=posttestM[k]%> </td><%}%>
411
<%if (k==11) {%><td width="28" valign="top" class="tableheader"><%=posttestF[k]%> </td><%}%>
412
<%if (k!=11) {%><td width="18" valign="top" class="tableitem"><%=posttestF[k]%> </td><%}%>
413
<td width="23" valign="top" class="tableheader"><%=posttestM[k]+posttestF[k]%> </td>
414
<%if (k==11) {%><td width="19" valign="top" class="tableheader"><%=HIVprM[k]%> </td><%}%>
415
<%if (k!=11) {%><td width="19" valign="top" class="tableitem"><%=HIVprM[k]%> </td><%}%>
416
<%if (k==11) {%><td width="18" valign="top" class="tableheader"><%=HIVprF[k]%> </td><%}%>
417
<%if (k!=11) {%><td width="18" valign="top" class="tableitem"><%=HIVprF[k]%> </td><%}%>
418
<td width="18" valign="top" class="tableheader"><%=HIVprM[k]+HIVprF[k]%> </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]%> </td>
428
<span class="tableitemnumber"></span></td>
429
<td width="127" height="275"></td>
435
<td width="503" height="2"></td>
436
<td width="370"></td>
439
<td height="78"> <table width="100%">
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>
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>
b'\\ No newline at end of file'