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>VCT Report for <%=orgUnitName%></title>
312
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
313
<link href="styles.css" rel="stylesheet" type="text/css">
314
<style type="text/css">
316
.style10 {font-family: Geneva, Arial, Helvetica, sans-serif}
322
<table width="559" border="0" cellpadding="1" cellspacing="1" height="680">
325
<td colspan="2" valign="top" height="590" width="561">
326
<table width="544" border="0" cellpadding="1" cellspacing="1" height="554">
329
<td width="560" height="60" valign="top">
330
<table width="556" border="0" cellpadding="1" cellspacing="0">
333
<td width="554" height="54" valign="top" >Voluntary Counseling and Testing (VCT) Service by Health Facility </td>
338
<td height="47" valign="top" width="560">
339
<table width="556" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" class="header1" style="border-collapse: collapse" >
341
<tr bgcolor="#FFCCCC" class="header1">
342
<td width="137" height="47" valign="top" class="header1" bgcolor="#008080" bordercolor="#FFFFFF"><div align="left">
346
<td width="137" class="header1" bgcolor="#008080" bordercolor="#FFFFFF"><%=parentName%> </td>
347
<td width="137" valign="top" class="header1" bgcolor="#008080" bordercolor="#FFFFFF" >
349
<td width="130" bgcolor="#008080" bordercolor="#FFFFFF"><%=orgUnitName%> </td>
354
<td height="55" valign="top" width="560">
355
<table width="556" border="1" cellpadding="0" cellspacing="0" class="header1" style="border-collapse: collapse" bordercolor="#FFFFFF">
357
<tr bgcolor="#FFCCCC">
358
<td width="118" height="55" valign="top" class="header1" bgcolor="#008080"><div align="left">Period</div></td>
359
<td width="117" valign="top" class="header1" bgcolor="#008080">From</td>
360
<td width="111" bgcolor="#008080"><%=startDate%> </td>
361
<td width="114" valign="top" class="header1" bgcolor="#008080">To</td>
362
<td width="77" valign="top" class="header1" bgcolor="#008080">
363
<%=endDate%> </td>
368
<td height="380" valign="top" width="560">
369
<table width="89%" border="0" cellpadding="0" cellspacing="0" height="75">
372
<td width="555" height="93" valign="top">
373
<table width="556" height="92" border="1" cellpadding="0" cellspacing="0" bgcolor="#000066" style="border-collapse: collapse" bordercolor="#000099">
375
<tr class="tableheader">
376
<td width="58" height="37" rowspan="2" valign="top" class="tableheader">Age</td>
377
<td height="33" colspan="3" valign="top" class="tableheader" width="82">pretest Counseled </td>
378
<td colspan="3" valign="top" class="tableheader" width="83">Tested </td>
379
<td colspan="3" valign="top" class="tableheader" width="81">Positive Case </td>
380
<td colspan="3" valign="top" class="tableheader" width="83">Post test counseled</td>
381
<td colspan="3" valign="top" class="tableheader" width="86">HIV positive Referred</td>
383
<td colspan="3" valign="top" class="tableheader" width="61">
387
<td width="19" height="23" valign="top" class="tableheader">M</td>
389
<td width="23" valign="top" class="tableheader">F </td>
390
<td width="34" valign="top" class="tableheader">Total</td>
391
<td width="20" valign="top" class="tableheader">M</td>
392
<td width="23" valign="top" class="tableheader">F</td>
393
<td width="34" valign="top" class="tableheader">Total</td>
394
<td width="24" valign="top" class="tableheader">M</td>
395
<td width="18" valign="top" class="tableheader">F </td>
396
<td width="33" valign="top" class="tableheader">Total</td>
397
<td width="23" valign="top" class="tableheader">M</td>
398
<td width="21" valign="top" class="tableheader">F</td>
399
<td width="33" valign="top" class="tableheader">Total</td>
400
<td width="23" valign="top" class="tableheader">M</td>
401
<td width="19" valign="top" class="tableheader">F</td>
402
<td width="17" valign="top" class="tableheader">Total</td>
403
<td width="23" valign="top" class="tableheader">M</td>
404
<td width="22" valign="top" class="tableheader">F</td>
405
<td width="37" valign="top" class="tableheader">GT</td>
407
<% for (int k=0;k<10;k++){%>
408
<tr bordercolor="#000000" class="tableitem">
409
<%if (k==10) {%><td width="58" height="32" valign="top" class="tableheader"><%=age[k]%> </td><%}%>
410
<%if (k!=10) {%><td width="58" height="32" valign="top" class="tableitem"><%=age[k]%> </td><%}%>
411
<%if (k==10) {%><td width="19" valign="top" class="tableheader"><%=pretestM[k]%> </td><%}%>
412
<%if (k!=10) {%><td width="19" valign="top" class="tableitem"><%=pretestM[k]%> </td><%}%>
413
<%if (k==10) {%><td width="23" valign="top" class="tableheader"><%=pretestF[k]%> </td><%}%>
414
<%if (k!=10) {%><td width="23" valign="top" class="tableitem"><%=pretestF[k]%> </td><%}%>
415
<%if (k==10) {%><td width="34" valign="top" class="tableheader"><%=pretestM[k]+pretestF[k]%> </td><%}%>
416
<%if (k!=10) {%><td width="34" valign="top" class="tableitem"><%=pretestM[k]+pretestF[k]%> </td><%}%>
417
<%if (k==10) {%><td width="20" valign="top" class="tableheader"><%=testM[k]%> </td><%}%>
418
<%if (k!=10) {%><td width="20" valign="top" class="tableitem"><%=testM[k]%> </td><%}%>
419
<%if (k==10) {%><td width="23" valign="top" class="tableheader"><%=testF[k]%> </td><%}%>
420
<%if (k!=10) {%><td width="23" valign="top" class="tableitem"><%=testF[k]%> </td><%}%>
421
<%if (k==10) {%><td width="34" valign="top" class="tableheader"><%=testM[k]+testF[k]%> </td><%}%>
422
<%if (k!=10) {%><td width="34" valign="top" class="tableitem"><%=testM[k]+testF[k]%> </td><%}%>
423
<%if (k==10) {%><td width="24" valign="top" class="tableheader"><%=positiveM[k]%> </td><%}%>
424
<%if (k!=10) {%><td width="24" valign="top" class="tableitem"><%=positiveM[k]%> </td><%}%>
425
<%if (k==10) {%><td width="18" valign="top" class="tableheader"><%=positiveF[k]%> </td><%}%>
426
<%if (k!=10) {%><td width="18" valign="top" class="tableitem"><%=positiveF[k]%> </td><%}%>
427
<%if (k==10) {%><td width="33" valign="top" class="tableheader"><%=positiveM[k]+positiveF[k]%> </td><%}%>
428
<%if (k!=10) {%><td width="33" valign="top" class="tableitem"><%=positiveM[k]+positiveF[k]%> </td><%}%>
429
<%if (k==10) {%><td width="23" valign="top" class="tableheader"><%=posttestM[k]%> </td><%}%>
430
<%if (k!=10) {%><td width="23" valign="top" class="tableitem"><%=posttestM[k]%> </td><%}%>
431
<%if (k==10) {%><td width="21" valign="top" class="tableheader"><%=posttestF[k]%> </td><%}%>
432
<%if (k!=10) {%><td width="21" valign="top" class="tableitem"><%=posttestF[k]%> </td><%}%>
433
<%if (k==10) {%><td width="33" valign="top" class="tableheader"><%=posttestM[k]+posttestF[k]%> </td><%}%>
434
<%if (k!=10) {%><td width="33" valign="top" class="tableitem"><%=posttestM[k]+posttestF[k]%> </td><%}%>
435
<%if (k==10) {%><td width="23" valign="top" class="tableheader"><%=HIVprM[k]%> </td><%}%>
436
<%if (k!=10) {%><td width="23" valign="top" class="tableitem"><%=HIVprM[k]%> </td><%}%>
437
<%if (k==10) {%><td width="19" valign="top" class="tableheader"><%=HIVprF[k]%> </td><%}%>
438
<%if (k!=10) {%><td width="19" valign="top" class="tableitem"><%=HIVprF[k]%> </td><%}%>
439
<%if (k==10) {%><td width="17" valign="top" class="tableheader"><%=HIVprM[k]+HIVprF[k]%> </td><%}%>
440
<%if (k!=10) {%><td width="17" valign="top" class="tableitem"><%=HIVprM[k]+HIVprF[k]%> </td><%}%>
441
<td width="23" valign="top" class="tableheader"><%=pretestM[k]+testM[k]+positiveM[k]+posttestM[k]+HIVprM[k]%></td>
442
<td width="22" valign="top" class="tableheader"><%=pretestF[k]+testF[k]+positiveF[k]+posttestF[k]+HIVprF[k]%></td>
443
<td width="37" 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>
449
<td height="1" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bgcolor="#000066">
462
<td height="19"><p style="line-height: 100%"><b><i>
463
<font face="Tahoma" size="1">Referrals for:-
468
<p style="line-height: 100%"><b><i>
469
<font face="Tahoma" size="1"> clinical Care
470
Follow-up Counseling ANC</font></i></b></p>
471
<p style="line-height: 100%"><b><i>
472
<font size="1" face="Tahoma"> TB Follow-up Spiritual Counseling
475
<font face="Tahoma"><b><font size="1" face="Tahoma">Orphanage
476
</font> </b></font></i></p>
477
<p style="line-height: 100%"><b><i>
478
<font face="Tahoma" size="1"><font face="Tahoma"> </font>
479
<font face="Tahoma">STI</font><font face="Tahoma"> Follow-up Home based Care
480
Other (specify)</font></font></i></b></p>
481
<p style="line-height: 100%"><b><i>
482
<font size="1" face="Tahoma"> Family Planning Financial Support
486
<font size="1" face="Tahoma">Total</font></b></i></p>
487
<p style="line-height: 100%"><b><i>
488
<font face="Tahoma"> </font></i></b></p>
489
<td width="539" height="1"></td>
490
<td height="1" width="19"></td>
b'\\ No newline at end of file'