2
<%@ page import="java.sql.*" %>
3
<%@ page import="java.util.*" %>
4
<%@ page import="com.opensymphony.xwork.util.OgnlValueStack" %>
6
<%@ page session="true" %>
14
String userName = "root";
16
String urlForConnection = "jdbc:mysql://localhost/dhis2";
19
String orgUnitName="";
22
String parentName=null;
25
OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
26
String selectedId = (String) stack.findValue( "orgUnitId" );
27
orgUnitId = Integer.parseInt( selectedId );
29
String selectedPeriodId = (String) stack.findValue( "periodSelect" );
30
periodId = Integer.parseInt( selectedPeriodId );
32
int[] noutpM= new int[100];
33
int[] noutpF= new int[100];
35
int[] noutnM= new int[100];
36
int[] noutnF= new int[100];
38
int[] ninpM= new int[100];
39
int[] ninpF= new int[100];
41
int[] ninnM= new int[100];
42
int[] ninnF= new int[100];
44
int[] ootherM=new int[100];
45
int[] ootherF=new int[100];
47
int[] iotherM=new int[100];
48
int[] iotherF=new int[100];
52
//int[] sn= {1,2,3,4,5,6,7};
53
String[] lab1= {"Stool and Other Parasite Test","Bacteriology"," ","Urinalysis","Hematology"," "," "," ","Serology"," "," "," "," ","Clinical Chemistry","Others","Total"};
54
String[] lab2= {" ","Sputum for AFB","Others"," ","Blood Film","Malaria","Relapsing Fever","Others","HIV Screened","VDRL","WIDAL","WELIFELX","Others"," "," "," "};
57
//String[] no={"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"};
59
//String[] type_of_test= {"Stool and Other parasite test","Bacteriology sputum for AFB"," Bacteriology sputum for Others","Urinalysis","Pregnancy Test","Hematology Blood Film","Hematology Malaria","Hematolgy Relapsing Fever","Hematology Others","Serology VDRL","Serology WIDAL","Serology WEILFELX","Serology Others","Chemistry","HIV screened","Others","Total"};
61
int [] deint1={1361,1328,1375,1387,1283,2619,1324,1399,2643,1348,1357,1353,1311,1412,1424};
62
int [] deint2={1362,1326,1378,1388,1282,2620,1322,1307,2644,1346,1358,1354,1312,1414,1425};
63
int [] deint3={1363,1332,1376,1389,1269,2622,2631,1400,2645,1352,1359,1355,1313,1415,1428};
64
int [] deint4={1364,1330,1377,1390,1284,2621,2632,1308,2646,1350,1360,1356,1314,1413,1429};
65
int [] deint5={1365,2618,1379,1391,2639,2623,2635,1309,2647,2655,2459,2667,2675,1418,1426};
66
int [] deint6={1367,2617,1380,1392,2640,2624,2636,1310,2648,2656,2660,2668,2676,1416,1427};
67
int [] deint7={1370,1327,1381,1393,1279,2625,1323,1405,2649,1347,2661,2669,2677,1420,1430};
68
int [] deint8={1369,1325,1382,1394,1278,2626,1321,1406,2650,1345,2662,2670,2678,1422,1431};
69
int [] deint9={1371,1331,1385,1395,1281,2627,2633,1408,2651,1351,2663,2671,2679,1419,1432};
70
int [] deint10={1372,1329,1386,1396,1290,2630,2634,1409,2652,1349,2664,2672,2680,1421,1433};
71
int [] deint11={1373,2616,1383,1398,2641,2628,2637,1407,2653,2657,2665,2673,2651,1423,1434};
72
int [] deint12={1374,2615,1384,1397,2642,2629,2638,1410,2654,2658,2666,2674,2682,1624,1435};
79
Class.forName ("com.mysql.jdbc.Driver");
80
con = DriverManager.getConnection (urlForConnection, userName, password);
81
st1=con.createStatement();
84
sql = "select value from datavalue where period="+periodId+" and source="+orgUnitId ;
85
sql+=" and dataelement in (1361,1328,1375,1387,1283,2619,1324,1399,2643,1348,1357,1353,1311,1412,1424)";
86
rs1 = st1.executeQuery(sql);
94
while (rs1.next() && nextde)
96
if (deint1[i]==(rs1.getInt("dataelement")))
98
noutpM[i]=rs1.getInt("value");
105
sql = "select name,parent from organizationunit where id ="+orgUnitId ;
106
rs1 = st1.executeQuery(sql);
109
orgUnitName=rs1.getString("name");
110
parentId=rs1.getInt("parent");
113
sql = "select name from organizationunit where id="+parentId;
114
rs1 = st1.executeQuery(sql);
117
parentName=rs1.getString("name");
120
sql = "select startDate,endDate from period where id ="+periodId ;
121
rs1 = st1.executeQuery(sql);
124
startDate=rs1.getString("startDate");
125
endDate=rs1.getString("endDate");
130
sql = "select value from datavalue where period="+periodId+" and source="+orgUnitId ;
131
sql+=" and dataelement in (1362,1326,1378,1388,1282,2620,1322,1307,2644,1346,1358,1354,1312,1414,1425)";
132
rs1 = st1.executeQuery(sql);
140
while (rs1.next() && nextde)
142
if (deint2[i]==(rs1.getInt("dataelement")))
144
noutpF[i]=rs1.getInt("value");
151
sql = "select value from datavalue where period="+periodId+" and source="+orgUnitId ;
152
sql+=" and dataelement in (1363,1332,1376,1389,1269,2622,2631,1400,2645,1352,1359,1355,1313,1415,1428)";
153
rs1 = st1.executeQuery(sql);
161
while (rs1.next() && nextde)
163
if (deint3[i]==(rs1.getInt("dataelement")))
165
noutnM[i]=rs1.getInt("value");
175
sql = "select value from datavalue where period="+periodId+" and source="+orgUnitId ;
176
sql+=" and dataelement in (1364,1330,1377,1390,1284,2621,2632,1308,2646,1350,1360,1356,1314,1413,1429)";
177
rs1 = st1.executeQuery(sql);
185
while (rs1.next() && nextde)
187
if (deint4[i]==(rs1.getInt("dataelement")))
189
noutnF[i]=rs1.getInt("value");
196
sql = "select value from datavalue where period="+periodId+" and source="+orgUnitId ;
197
sql+=" and dataelement in (1365,2618,1379,1391,2639,2623,2635,1309,2647,2655,2459,2667,2675,1418,1426)";
198
rs1 = st1.executeQuery(sql);
206
while (rs1.next() && nextde)
208
if (deint5[i]==(rs1.getInt("dataelement")))
210
ootherM[i]=rs1.getInt("value");
217
sql = "select value from datavalue where period="+periodId+" and source="+orgUnitId ;
218
sql+=" and dataelement in (1367,2617,1380,1392,2640,2624,2636,1310,2648,2656,2660,2668,2676,1416,1427)";
219
rs1 = st1.executeQuery(sql);
227
while (rs1.next() && nextde)
229
if (deint6[i]==(rs1.getInt("dataelement")))
231
ootherF[i]=rs1.getInt("value");
239
sql = "select value from datavalue where period="+periodId+" and source="+orgUnitId ;
240
sql+=" and dataelement in (1370,1327,1381,1393,1279,2625,1323,1405,2649,1347,2661,2669,2677,1420,1430)";
241
rs1 = st1.executeQuery(sql);
249
while (rs1.next() && nextde)
251
if (deint7[i]==(rs1.getInt("dataelement")))
253
ninpM[i]=rs1.getInt("value");
261
sql = "select value from datavalue where period="+periodId+" and source="+orgUnitId ;
262
sql+=" and dataelement in (1369,1325,1382,1394,1278,2626,1321,1406,2650,1345,2662,2670,2678,1422,1431)";
263
rs1 = st1.executeQuery(sql);
271
while (rs1.next() && nextde)
273
if (deint8[i]==(rs1.getInt("dataelement")))
275
ninpF[i]=rs1.getInt("value");
285
sql = "select value from datavalue where period="+periodId+" and source="+orgUnitId ;
286
sql+=" and dataelement in (1371,1331,1385,1395,1281,2627,2633,1408,2651,1351,2663,2671,2679,1419,1432)";
287
rs1 = st1.executeQuery(sql);
296
while (rs1.next() && nextde)
298
if (deint9[i]==(rs1.getInt("dataelement")))
300
ninnM[i]=rs1.getInt("value");
308
sql = "select value from datavalue where period="+periodId+" and source="+orgUnitId ;
309
sql+=" and dataelement in (1372,1329,1386,1396,1290,2630,2634,1409,2652,1349,2664,2672,2680,1421,1433)";
310
rs1 = st1.executeQuery(sql);
319
while (rs1.next() && nextde)
321
if (deint10[i]==(rs1.getInt("dataelement")))
323
ninnF[i]=rs1.getInt("value");
330
sql = "select value from datavalue where period="+periodId+" and source="+orgUnitId ;
331
sql+=" and dataelement in (1373,2616,1383,1398,2641,2628,2637,1407,2653,2657,2665,2673,2651,1423,1434)";
332
rs1 = st1.executeQuery(sql);
341
while (rs1.next() && nextde)
343
if (deint10[i]==(rs1.getInt("dataelement")))
345
iotherM[i]=rs1.getInt("value");
352
sql = "select value from datavalue where period="+periodId+" and source="+orgUnitId ;
353
sql+=" and dataelement in (1374,2615,1384,1397,2642,2629,2638,1410,2654,2658,2666,2674,2682,1624,1435)";
354
rs1 = st1.executeQuery(sql);
363
while (rs1.next() && nextde)
365
if (deint12[i]==(rs1.getInt("dataelement")))
367
iotherF[i]=rs1.getInt("value");
374
for(int z=0;z<=14;z++){
375
noutpM[15]+=noutpM[z];
376
noutpF[15]+=noutpF[z];
377
noutnM[15]+=noutnM[z];
378
noutnF[15]+=noutnF[z];
383
ootherM[15]+=ootherM[z];
384
ootherF[15]+=ootherF[z];
385
iotherM[15]+=iotherM[z];
386
iotherF[15]+=iotherF[z];
391
catch(Exception e) { out.println("Loi cho ma gi day: "+e.getMessage()); }
394
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
397
<title>Untitled Document</title>
398
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
399
<link href="styles.css" rel="stylesheet" type="text/css">
400
<style type="text/css">
402
.style10 {font-family: Geneva, Arial, Helvetica, sans-serif}
408
<table width="744" border="0" cellpadding="1" cellspacing="1">
411
<td colspan="2" valign="top">
412
<table width="651" border="0" cellpadding="1" cellspacing="1">
415
<td width="665" height="54" valign="top">
416
<table width="649" border="0" cellpadding="1" cellspacing="0">
419
<td width="647" height="54" valign="top" > Laboratory Test Report for <%=orgUnitName%></td>
424
<td height="45" valign="top" width="665">
425
<table width="650" border="0" cellpadding="1" cellspacing="1" bordercolor="#660000" class="header1" >
427
<tr bgcolor="#FFCCCC" class="header1">
428
<td width="124" height="47" valign="top" class="header1" bgcolor="#008080"><div align="left">Region
432
<td width="119" class="header1" bordercolor="#FF00FF" bgcolor="#008080"><%=parentName%></td>
433
<td width="123" valign="top" class="header1" bgcolor="#008080" >OrgUnit</td>
434
<td width="271" bgcolor="#008080"><%=orgUnitName %> </td>
439
<td height="55" valign="top" width="665">
440
<table width="648" border="0" cellpadding="1" cellspacing="1" class="header1">
442
<tr bgcolor="#FFCCCC">
443
<td width="108" height="55" valign="top" class="header1" bgcolor="#008080"><div align="left">Period</div></td>
444
<td width="106" valign="top" class="header1" bgcolor="#008080">From</td>
445
<td width="94" bgcolor="#008080"><%=startDate %> </td>
446
<td width="101" valign="top" class="header1" bgcolor="#008080">To</td>
447
<td width="223" valign="top" class="header1" bgcolor="#008080"><%=endDate %> </td>
452
<td height="515" valign="top" width="665">
453
<table width="89%" border="0" cellpadding="0" cellspacing="0" height="141">
456
<td width="555" height="123" valign="top">
457
<table width="648" height="1" border="0" cellpadding="1" cellspacing="1" bgcolor="#000066">
459
<tr class="tableheader">
460
<td width="22" height="98" rowspan="4" valign="top" class="tableheader">
462
<td width="214" height="98" rowspan="4" valign="top" class="tableheader" colspan="2">
464
<td height="1" colspan="27" valign="top" class="tableheader" width="526">
465
Number Of Test<p> </td>
467
<tr class="tableheader">
468
<td height="1" colspan="12" valign="top" class="tableheader" width="138">
470
<td height="1" colspan="15" valign="top" class="tableheader" width="388">
473
<tr class="tableheader">
474
<td height="13" colspan="2" valign="top" class="tableheader" width="1">
476
<td height="14" valign="top" class="tableheader" width="0" rowspan="2">
478
<td height="13" colspan="2" valign="top" class="tableheader" width="80">
480
<td height="14" valign="top" class="tableheader" width="40" rowspan="2">
482
<td height="13" colspan="2" valign="top" class="tableheader" width="68">
484
<td height="14" valign="top" class="tableheader" width="34" rowspan="2">
486
<td height="13" colspan="3" valign="top" class="tableheader" width="50">
487
Outpatient Total</td>
488
<td height="13" colspan="2" valign="top" class="tableheader" width="104">
490
<td height="14" valign="top" class="tableheader" width="52" rowspan="2">
492
<td height="13" colspan="2" valign="top" class="tableheader" width="64">
494
<td height="14" valign="top" class="tableheader" width="16" rowspan="2">
496
<td height="7" colspan="2" valign="top" class="tableheader" width="12">
498
<td height="14" valign="top" class="tableheader" width="3" rowspan="2">
500
<td height="13" colspan="3" valign="top" class="tableheader" width="46">
502
<td height="13" colspan="3" valign="top" class="tableheader" width="46">
505
<tr class="tableheader">
506
<td height="1" valign="top" class="tableheader" width="1">
508
<td height="1" valign="top" class="tableheader" width="21">
510
<td height="1" valign="top" class="tableheader" width="57">
512
<td height="1" valign="top" class="tableheader" width="32">
514
<td height="1" valign="top" class="tableheader" width="62">
516
<td height="1" valign="top" class="tableheader" width="23">
518
<td height="1" valign="top" class="tableheader" width="23">
520
<td height="1" valign="top" class="tableheader" width="11">
522
<td height="1" valign="top" class="tableheader" width="11">
524
<td height="1" valign="top" class="tableheader" width="83">
526
<td height="1" valign="top" class="tableheader" width="37">
528
<td height="1" valign="top" class="tableheader" width="52">
530
<td height="1" valign="top" class="tableheader" width="22">
532
<td height="7" valign="top" class="tableheader" width="8">
534
<td height="7" valign="top" class="tableheader" width="4">
536
<td height="1" valign="top" class="tableheader" width="32">
538
<td height="1" valign="top" class="tableheader" width="32">
540
<td height="1" valign="top" class="tableheader" width="31">
542
<td height="1" valign="top" class="tableheader" width="7">
544
<td height="1" valign="top" class="tableheader" width="7">
546
<td height="1" valign="top" class="tableheader" width="7">
549
<tr class="tableheader">
552
<% for (int k=0;k<15;k++){%>
553
<tr bordercolor="#000000" class="tableitem">
554
<td width="22" height="30" valign="top" class="tableitem"><%=sn[k]%></td>
555
<% if (k==0 || k==1 || k==3 || k==4 || k==8 || k==13 || k==14 || k==15) {%><td width="11" height="30" valign="top" class="tableitem"><%=lab1[k]%></td><%}%>
556
<% if (k!=0 && k!=1 && k!=3 && k!=4 && k!=8 && k!=13 && k!=14 && k==15) {%><!-- Just to Try --><%}%>
557
<% if (k ==1 || k== 2 || k==4 || k==5 || k==6 || k==7 || k==8 || k==9 || k==10 || k==11 || k==12) { %>
558
<td width="11" height="30" valign="top" class="tableitem"> </td> <td width="26" height="30" valign="top" class="tableitem"><%=lab2[k]%></td> <%}%>
559
<% if (k !=1 && k!= 2 && k!=4 && k!=5 && k!=6 && k!=7 && k!=8 && k!=9 && k!=10 && k!=11 && k!=12) { %> <!-- And Again Just to Try --> <%}%>
560
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=noutpM[k]%></td> <%}%>
561
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=noutpM[k]%></td> <%}%>
562
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=noutpF[k]%></td> <%}%>
563
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=noutpF[k]%></td> <%}%>
564
<td width="13" height="30" valign="top" class="tableheader"><%=noutpM[k]+noutpF[k]%></td>
565
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableheader"><%=noutnM[k]%></td> <%}%>
566
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableitem"><%=noutnM[k]%></td> <%}%>
567
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableheader"><%=noutnF[k]%></td> <%}%>
568
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableitem"><%=noutnF[k]%></td> <%}%>
569
<td width="13" height="30" valign="top" class="tableheader"><%=noutnM[k]+noutnF[k]%></td>
570
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=ootherM[k]%></td> <%}%>
571
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=ootherM[k]%></td> <%}%>
572
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=ootherF[k]%></td> <%}%>
573
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=ootherF[k]%></td> <%}%>
574
<td width="13" height="30" valign="top" class="tableheader"><%=ootherM[k]+ootherF[k]%></td>
575
<td width="13" height="30" valign="top" class="tableheader"><%=noutpM[k]+noutnM[k]+ootherM[k]%></td>
576
<td width="13" height="30" valign="top" class="tableheader"><%=noutpF[k]+noutnF[k]+ootherF[k]%></td>
577
<td width="13" height="30" valign="top" class="tableheader"><%=noutpM[k]+noutnM[k]+ootherM[k]+noutpF[k]+noutnF[k]+ootherF[k]%></td>
578
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=ninpM[k]%></td> <%}%>
579
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=ninpM[k]%></td> <%}%>
580
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=ninpF[k]%></td> <%}%>
581
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=ninpF[k]%></td> <%}%>
582
<td width="13" height="30" valign="top" class="tableheader"><%=ninpM[k]+ninF[k]%></td>
583
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableheader"><%=ninnM[k]%></td> <%}%>
584
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableitem"><%=ninnM[k]%></td> <%}%>
585
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableheader"><%=ninnF[k]%></td> <%}%>
591
<td height="1" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bgcolor="#000066">
597
<td height="19"> <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#000080" width="100%" id="AutoNumber1" bgcolor="#000080">
599
<td width="100%" colspan="2" bgcolor="#00CCFF" bordercolor="#000099">Number of tested persons</td>
602
<td width="50%" bgcolor="#00CCFF" bordercolor="#000099">
604
<td width="50%" bgcolor="#00CCFF" bordercolor="#000099">
608
<td width="50%" bgcolor="#00CCFF" bordercolor="#000099"><%=tpM%> </td>
609
<td width="50%" bgcolor="#00CCFF" bordercolor="#000099"><%=tpF%> </td>
619
<td width="452"></td>
624
</html><%@ page contentType="text/html; charset=" language="java" import="java.sql.*" errorPage="" %>
627
<title>Untitled Document</title>
628
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
b'\\ No newline at end of file'