2
<%@ page import="java.sql.*" %>
3
<%@ page import="java.util.*" %>
4
<%@ page import="com.opensymphony.xwork.util.OgnlValueStack" %>
6
<%@ page session="true" %>
16
String userName = "root";
18
String urlForConnection = "jdbc:mysql://localhost/dhis2";
21
String orgUnitName="";
27
OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
28
String selectedId = (String) stack.findValue( "orgUnitId" );
29
orgUnitId = Integer.parseInt( selectedId );
31
String selectedPeriodId = (String) stack.findValue( "periodSelect" );
32
periodId = Integer.parseInt( selectedPeriodId );
36
int[] hfM= new int[100];
37
int[] hfF= new int[100];
42
int[] sM= new int[100];
43
int[] sF= new int[100];
47
int[] faF= new int[100];
50
int[] yaM= new int[100];
51
int[] yaF= new int[100];
55
int[] fraM= new int[100];
56
int[] fraF= new int[100];
60
int[] psM= new int[100];
61
int[] psF= new int[100];
65
int[] oM= new int[100];
66
int[] oF= new int[100];
70
int[] um= new int[100];
76
String[] topic= {"Malaria","HIV/AIDS","CDD","TB and Leprosy","Parasites","Nutrition","Use Of medicines","Personal Hygiene","Environmental Health","MCH","EPI","FP","Harmful Traditions","Meningitis","Others"};
78
String[] sn= {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15"};
82
String[] destring1={"872","754","893","852","914","934","954","974","701","994","729","1014","1041","1054","816"};
83
String[] destring2={"873","747","892","846","913","933","953","973","694","993","722","1013","1040","1053","808"};
84
String[] destring3={"875","759","895","857","916","936","956","976","706","995","733","1016","1042","1056","820"};
85
String[] destring4={"874","751","894","850","915","935","955","975","699","996","726","1015","1043","1055","814"};
86
String[] destring5={"876","753","896","853","917","937","957","977","704","997","727","1017","1044","1057","811"};
87
String[] destring6={"877","746","897","845","918","938","958","978","693","998","723","1018","1045","1058","807"};
88
String[] destring7={"878","752","898","851","919","939","959","979","700","999","730","1019","1046","1059","815"};
89
String[] destring8={"880","756","900","854","921","940","961","980","702","1000","728","1020","1047","1060","817"};
90
String[] destring9={"879","748","899","847","920","941","960","981","695","1001","721","1021","1048","1061","809"};
91
String[] destring10={"881","758","902","856","922","943","963","983","705","1003","732","1023","1049","1063","819"};
92
String[] destring11={"882","750","901","849","923","942","962","982","698","1002","725","1022","1050","1062","813"};
93
String[] destring12={"884","755","903","855","925","945","965","985","703","1004","731","1025","1052","1064","818"};
94
String[] destring13={"883","749","904","848","924","944","964","984","696","1005","724","1024","1051","1065","810"};
95
String[] destring14={"772","777","773","782","778","780","781","783","774","784","775","776","785","786","787"};
102
Class.forName ("com.mysql.jdbc.Driver");
103
con = DriverManager.getConnection (urlForConnection, userName, password);
104
st1=con.createStatement();
105
st2=con.createStatement();
106
String sql = "select value,dataelement from datavalue where period="+periodId+" and source="+orgUnitId ;
107
sql+=" and dataelement in (872,754,893,852,914,934,954,974,701,994,729,1014,1041,1054,816)";
108
rs1 = st1.executeQuery(sql);
115
while (rs1.next() && nextde)
117
if (destring1[i].equals(rs1.getString("dataelement")))
120
hfM[i]=rs1.getInt("value");
121
//System.out.print("YEAH");
122
//if(!rs1.next()) break;
132
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
133
sql+=" and dataelement in (873,747,892,846,913,933,953,973,694,993,722,1013,1040,1053,808)";
134
rs1 = st1.executeQuery(sql);
143
while (rs1.next() && nextde)
145
if (destring2[i].equals(rs1.getString("dataelement")))
148
hfF[i]=rs1.getInt("value");
149
//System.out.println("YEAH");
150
//if(!rs1.next()) break;
159
sql = "select name,parent from organizationunit where id ="+orgUnitId ;
160
rs1 = st1.executeQuery(sql);
163
orgUnitName=rs1.getString("name");
164
parentId=rs1.getInt("parent");
168
sql = "select name from organizationunit where id ="+parentId ;
169
rs1=st1.executeQuery(sql);
172
parentName=rs1.getString("name");
175
sql = "select startDate,endDate from period where id ="+periodId ;
176
rs1 = st1.executeQuery(sql);
179
startDate=rs1.getString("startDate");
180
endDate=rs1.getString("endDate");
186
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
187
sql+=" and dataelement in (875,759,895,857,916,936,956,976,706,995,733,1016,1042,1056,820)";
188
rs1 = st1.executeQuery(sql);
196
while (rs1.next() && nextde)
198
if (destring3[i].equals(rs1.getString("dataelement")))
201
sM[i]=rs1.getInt("value");
202
//System.out.print("have value");
203
//if(!rs1.next()) break;
212
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
213
sql+=" and dataelement in (874,751,894,850,915,935,955,975,699,996,726,1015,1043,1055,814)";
214
rs1 = st1.executeQuery(sql);
222
while (rs1.next() && nextde)
224
if (destring4[i].equals(rs1.getString("dataelement")))
227
sF[i]=rs1.getInt("value");
228
//System.out.print("have value");
229
//if(!rs1.next()) break;
237
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
238
sql+=" and dataelement in (876,753,896,853,917,937,957,977,704,997,727,1017,1044,1057,811)";
239
rs1 = st1.executeQuery(sql);
247
while (rs1.next() && nextde)
249
if (destring5[i].equals(rs1.getString("dataelement")))
252
faF[i]=rs1.getInt("value");
253
//System.out.print("have value");
254
//if(!rs1.next()) break;
262
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
263
sql+=" and dataelement in (877,746,897,845,918,938,958,978,693,998,723,1018,1045,1058,807)";
264
rs1 = st1.executeQuery(sql);
272
while (rs1.next() && nextde)
274
if (destring6[i].equals(rs1.getString("dataelement")))
277
yaF[i]=rs1.getInt("value");
278
//System.out.print("have value");
279
//if(!rs1.next()) break;
287
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
288
sql+=" and dataelement in (878,752,898,851,919,939,959,979,700,999,730,1019,1046,1059,815)";
289
rs1 = st1.executeQuery(sql);
297
while (rs1.next() && nextde)
299
if (destring7[i].equals(rs1.getString("dataelement")))
302
yaM[i]=rs1.getInt("value");
303
//System.out.print("have value");
304
//if(!rs1.next()) break;
312
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
313
sql+=" and dataelement in (880,756,900,854,921,940,961,980,702,1000,728,1020,1047,1060,817)";
314
rs1 = st1.executeQuery(sql);
322
while (rs1.next() && nextde)
324
if (destring8[i].equals(rs1.getString("dataelement")))
327
fraM[i]=rs1.getInt("value");
328
//System.out.print("have value");
329
//if(!rs1.next()) break;
337
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
339
sql+=" and dataelement in (879,748,899,847,920,941,960,981,695,1001,721,1021,1048,1061,809)";
340
rs1 = st1.executeQuery(sql);
348
while (rs1.next() && nextde)
350
if (destring9[i].equals(rs1.getString("dataelement")))
353
fraF[i]=rs1.getInt("value");
354
//System.out.print("have value");
355
//if(!rs1.next()) break;
363
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
364
sql+=" and dataelement in (881,758,902,856,922,943,963,983,705,1003,732,1023,1049,1063,819)";
365
rs1 = st1.executeQuery(sql);
373
while (rs1.next() && nextde)
375
if (destring10[i].equals(rs1.getString("dataelement")))
378
psM[i]=rs1.getInt("value");
379
//System.out.print("have value");
380
//if(!rs1.next()) break;
388
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
389
sql+=" and dataelement in (882,750,901,849,923,942,962,982,698,1002,725,1022,1050,1062,813)";
390
rs1 = st1.executeQuery(sql);
398
while (rs1.next() && nextde)
400
if (destring11[i].equals(rs1.getString("dataelement")))
403
psF[i]=rs1.getInt("value");
404
//System.out.print("have value");
405
//if(!rs1.next()) break;
413
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
414
sql+=" and dataelement in (884,755,903,855,925,945,965,985,703,1004,731,1025,1052,1064,818)";
415
rs1 = st1.executeQuery(sql);
423
while (rs1.next() && nextde)
425
if (destring12[i].equals(rs1.getString("dataelement")))
428
oM[i]=rs1.getInt("value");
429
//System.out.print("have value");
430
//if(!rs1.next()) break;
438
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
439
sql+=" and dataelement in (883,749,904,948,924,944,964,984,696,1005,724,1024,1051,1065,810)";
440
rs1 = st1.executeQuery(sql);
448
while (rs1.next() && nextde)
450
if (destring13[i].equals(rs1.getString("dataelement")))
453
oF[i]=rs1.getInt("value");
454
//System.out.print("have value");
455
//if(!rs1.next()) break;
463
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
464
sql+=" and dataelement in (772,777,773,782,778,780,781,783,774,784,775,776,785,786,787)";
465
rs1 = st1.executeQuery(sql);
473
while (rs1.next() && nextde)
475
if (destring14[i].equals(rs1.getString("dataelement")))
478
um[i]=rs1.getInt("value");
479
//System.out.print("have value");
480
//if(!rs1.next()) break;
511
catch(Exception e) { out.println("Loi cho ma gi day: "+e.getMessage()); }
514
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
517
<title>Health Education Report for <%=orgUnitName%></title>
518
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
519
<link href="styles.css" rel="stylesheet" type="text/css">
521
<!-- <style type="text/css">
523
.style10 {font-family: Geneva, Arial, Helvetica, sans-serif}
529
<table width="740" border="0" cellpadding="1" cellspacing="1" height="202">
532
<td colspan="2" rowspan="2" valign="top" height="375" width="744">
533
<table width="914" border="0" cellpadding="1" cellspacing="1" height="1">
536
<td width="910" height="79" valign="top">
537
<table width="743" border="0" cellspacing="0" height="78">
540
<td width="910" height="76" valign="top" >Monthly Activity
541
Report on Health Education for <%=orgUnitName%></td>
546
<td height="47" valign="top" width="910">
547
<table width="743" border="1" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" class="header1" style="border-collapse: collapse" bgcolor="#008080" >
549
<tr bgcolor="#FFCCCC" class="header1">
550
<td width="126" height="47" valign="top" class="header1" bgcolor="#008080" bordercolor="#000099"><div align="left">
552
<td width="124" class="header1" bgcolor="#008080" bordercolor="#000099"><%=parentName%> </td>
553
<td width="126" valign="top" class="header1" bgcolor="#008080" bordercolor="#000099" >
554
Health Institution</td>
555
<td width="456" bgcolor="#008080" bordercolor="#000099"><%=orgUnitName%> </td>
560
<td height="55" valign="top" width="910">
561
<table width="743" border="1" cellpadding="0" cellspacing="0" class="header1" style="border-collapse: collapse" bordercolor="#FFFFFF" bgcolor="#008080" height="52">
563
<tr bgcolor="#FFCCCC">
564
<td width="110" height="52" valign="top" class="header1" bgcolor="#008080" bordercolor="#0000FF"><div align="left">Period</div></td>
565
<td width="108" valign="top" class="header1" bgcolor="#008080" bordercolor="#0000FF" height="52">From</td>
566
<td width="99" bgcolor="#008080" bordercolor="#0000FF" height="52"><%=startDate%> </td>
567
<td width="104" valign="top" class="header1" bgcolor="#008080" bordercolor="#0000FF" height="52">To</td>
568
<td width="408" valign="top" class="header1" bgcolor="#008080" bordercolor="#0000FF" height="52">
569
<%=endDate%> </td>
575
<table width="89%" border="0" cellpadding="0" cellspacing="0" height="122">
578
<td width="555" height="143" valign="top">
580
<table width="743" height="60" border="1" cellpadding="0" cellspacing="0" bgcolor="#000066">
582
<tr class="tableheader">
586
<td width="24" height="30" rowspan="2" valign="top" class="tableheader" bordercolor="#000080">
588
<td width="65" height="30" rowspan="2" valign="top" class="tableheader" bordercolor="#000080">
589
Topic of Education</td>
590
<td width="55" height="1" valign="top" class="tableheader" colspan="3" bordercolor="#000080">
591
Health Facility<p> </td>
593
<td width="54" valign="top" class="tableheader" height="1" colspan="3" bordercolor="#000080">
596
<td width="76" valign="top" class="tableheader" height="24" rowspan="2" bordercolor="#000080">
597
Females Association</td>
599
<td width="76" valign="top" class="tableheader" height="1" colspan="3" bordercolor="#000080">
600
Youth Association</td>
602
<td width="72" valign="top" class="tableheader" height="1" colspan="3" bordercolor="#000080">
603
Farmers<p>Association</td>
605
<td width="52" valign="top" class="tableheader" height="1" colspan="3" bordercolor="#000080">
608
<td width="59" valign="top" class="tableheader" height="1" colspan="3" bordercolor="#000080">
612
<td width="54" valign="top" class="tableheader" height="12" colspan="3" bordercolor="#000080">
616
<td width="81" valign="top" class="tableheader" height="24" rowspan="2" bordercolor="#000080">
617
Used<p>Methodology<p> </td>
621
<td width="20" height="23" valign="top" class="tableheader" bordercolor="#000080">
624
<td width="16" height="23" valign="top" class="tableheader" bordercolor="#000080">
627
<td width="17" height="23" valign="top" class="tableheader" bordercolor="#000080">
630
<td width="18" valign="top" class="tableheader" height="23" bordercolor="#000080">
633
<td width="17" valign="top" class="tableheader" height="23" bordercolor="#000080">
636
<td width="17" valign="top" class="tableheader" height="23" bordercolor="#000080">
639
<td width="34" valign="top" class="tableheader" height="23" bordercolor="#000080">
642
<td width="20" valign="top" class="tableheader" height="23" bordercolor="#000080">
645
<td width="20" valign="top" class="tableheader" height="23" bordercolor="#000080">
648
<td width="37" valign="top" class="tableheader" height="23" bordercolor="#000080">
651
<td width="18" valign="top" class="tableheader" height="23" bordercolor="#000080">
654
<td width="15" valign="top" class="tableheader" height="23" bordercolor="#000080">
657
<td width="23" valign="top" class="tableheader" height="23" bordercolor="#000080">
660
<td width="13" valign="top" class="tableheader" height="23" bordercolor="#000080">
663
<td width="14" valign="top" class="tableheader" height="23" bordercolor="#000080">
666
<td width="20" valign="top" class="tableheader" height="23" bordercolor="#000080">
669
<td width="19" valign="top" class="tableheader" height="23" bordercolor="#000080">
672
<td width="18" valign="top" class="tableheader" height="23" bordercolor="#000080">
676
<td width="17" valign="top" class="tableheader" height="12" bordercolor="#000080">
680
<td width="15" valign="top" class="tableheader" height="12" bordercolor="#000080">
684
<td width="20" valign="top" class="tableheader" height="12" bordercolor="#000080">
688
<% for (int k=0;k<15;k++){%>
689
<tr bordercolor="#000000" class="tableitem">
690
<td width="22" height="30" valign="top" class="tableitem" bordercolor="#000080"><%=sn[k]%> </td>
691
<td width="63" height="30" valign="top" class="tableitem" bordercolor="#000080"><%=topic[k]%> </td>
692
<td width="18" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=hfM[k]%> </td>
693
<td width="14" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=hfF[k]%> </td>
694
<td width="15" valign="top" class="tableheader" height="30" bordercolor="#000080"><%=hfM[k]+hfF[k]%> </td>
695
<td width="16" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=sM[k]%> </td>
696
<td width="15" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=sF[k]%> </td>
697
<td width="15" valign="top" class="tableheader" height="30" bordercolor="#000080"><%=sM[k]+sF[k]%> </td>
698
<td width="74" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=faF[k]%></td>
699
<td width="32" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=yaM[k]%> </td>
700
<td width="18" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=yaF[k]%> </td>
701
<td width="18" valign="top" class="tableheader" height="30" bordercolor="#000080"><%=yaM[k]+yaF[k]%> </td>
702
<td width="35" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=fraM[k]%> </td>
703
<td width="16" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=fraF[k]%> </td>
704
<td width="13" valign="top" class="tableheader" height="30" bordercolor="#000080"><%=fraM[k]+fraF[k]%> </td>
705
<td width="21" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=psM[k]%> </td>
706
<td width="11" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=psF[k]%> </td>
707
<td width="12" valign="top" class="tableheader" height="30" bordercolor="#000080"><%=psM[k]+psF[k]%> </td>
708
<td width="18" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=oM[k]%> </td>
709
<td width="17" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=oF[k]%> </td>
710
<td width="16" valign="top" class="tableheader" height="30" bordercolor="#000080"><%=oM[k]+oF[k]%> </td>
711
<td width="15" valign="top" class="tableheader" height="30" bordercolor="#000080"><%=hfM[k]+sM[k]+yaM[k]+fraM[k]+psM[k]+oM[k]%> </td>
712
<td width="13" valign="top" class="tableheader" height="30" bordercolor="#000080"><%=hfF[k]+sF[k]+faF[k]+yaF[k]+fraF[k]+psF[k]+oF[k]%> </td>
714
<td width="18" valign="top" class="tableheader" height="30" bordercolor="#000080"><%=hfM[k]+hfF[k]+sM[k]+sF[k]+faF[k]+yaM[k]+yaF[k]+fraM[k]+fraF[k]+psM[k]+psF[k]+oM[k]+oF[k]%> </td>
715
<td width="59" valign="top" class="tableitem" height="30" bordercolor="#000080"><%=um[k]%></td>
720
<td class="none"></td>
721
<td class="tableheader" width="65" >Total</td>
722
<td class="tableheader" width="20" style="background-color: #4040FF" bordercolor="#000080"><%=totHFM%> </td>
723
<td class="tableheader" width="16" style="background-color: #4040FF" bordercolor="#000080"><%=totHFF%> </td>
724
<td class="tableheader" width="17" style="background-color: #4040FF" bordercolor="#000080"><%=totHFM + totHFF%> </td>
725
<td class="tableheader" width="18" style="background-color: #4040FF" bordercolor="#000080"><%=totSM%> </td>
726
<td class="tableheader" width="17" style="background-color: #4040FF" bordercolor="#000080"><%=totSF%> </td>
727
<td class="tableheader" width="17" style="background-color: #4040FF" bordercolor="#000080"><%=totSM + totSF%> </td>
729
<td class="tableheader" width="76" style="background-color: #4040FF" bordercolor="#000080"><%=totFAF%> </td>
730
<td class="tableheader" width="34" style="background-color: #4040FF" bordercolor="#000080"><%=totYAM%> </td>
731
<td class="tableheader" width="20" style="background-color: #4040FF" bordercolor="#000080"><%=totYAF%> </td>
732
<td class="tableheader" width="20" style="background-color: #4040FF" bordercolor="#000080"><%=totYAM + totYAF%> </td>
733
<td class="tableheader" width="37" style="background-color: #4040FF" bordercolor="#000080"><%=totFRAM%> </td>
734
<td class="tableheader" width="18" style="background-color: #4040FF" bordercolor="#000080"><%=totFRAF%> </td>
735
<td class="tableheader" width="15" style="background-color: #4040FF" bordercolor="#000080"><%=totFRAM + totFRAF%> </td>
736
<td class="tableheader" width="23" style="background-color: #4040FF" bordercolor="#000080"><%=totPSM%> </td>
737
<td class="tableheader" width="13" style="background-color: #4040FF" bordercolor="#000080"><%=totPSF%> </td>
738
<td class="tableheader" width="14" style="background-color: #4040FF" bordercolor="#000080"><%=totPSM + totPSF%> </td>
739
<td class="tableheader" width="20" style="background-color: #4040FF" bordercolor="#000080"><%=totOM%> </td>
740
<td class="tableheader" width="19" style="background-color: #4040FF" bordercolor="#000080"><%=totOF%> </td>
741
<td class="tableheader" width="18" style="background-color: #4040FF" bordercolor="#000080"><%=totOM + totOF%> </td>
742
<td class="tableheader" width="17" style="background-color: #4040FF" bordercolor="#000080"><%=totHFM+totSM+totYAM+totFRAM+totPSM+totOM%> </td>
743
<td class="tableheader" width="15" style="background-color: #4040FF" bordercolor="#000080"><%=totHFF+totSF+totFAF+totYAF+totFRAF+totPSF+totOF%> </td>
744
<td class="tableheader" width="20" style="background-color: #4040FF" bordercolor="#000080"><%=totHFM+totHFF+totSM+totSF+totFAF+totYAM+totYAF+totFRAM+totFRAF+totPSM+totPSF+totOM + totOF%> </td>
745
<td class="none"> </td>
751
<td height="1" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bgcolor="#000066">
759
<td height="352" width="1"></td>
762
<td height="20" width="1"></td>
765
<td width="716" height="1"></td>
766
<td height="1" width="25"></td>
767
<td height="1" width="1"></td>
b'\\ No newline at end of file'