2
<%@ page import="java.sql.*" %>
4
<%@ page import="java.util.*" %>
5
<%@ page import="com.opensymphony.xwork.util.OgnlValueStack" %>
7
<%@ page session="true" %>
15
String userName = "root";
17
String urlForConnection = "jdbc:mysql://localhost/dhis2";
20
String orgUnitName="";
23
String parentName=null;
26
OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
27
String selectedId = (String) stack.findValue( "orgUnitId" );
28
orgUnitId = Integer.parseInt( selectedId );
30
String selectedPeriodId = (String) stack.findValue( "periodSelect" );
31
periodId = Integer.parseInt( selectedPeriodId );
33
int[] noutpM= new int[100];
34
int[] noutpF= new int[100];
36
int[] noutnM= new int[100];
37
int[] noutnF= new int[100];
39
int[] ninpM= new int[100];
40
int[] ninpF= new int[100];
42
int[] ninnM= new int[100];
43
int[] ninnF= new int[100];
45
int[] ootherM=new int[100];
46
int[] ootherF=new int[100];
48
int[] iotherM=new int[100];
49
int[] iotherF=new int[100];
54
//int[] sn= {1,2,3,4,5,6,7};
55
String[] lab1= {"Stool and Other Parasite Test","Bacteriology"," ","Urinalysis","Hematology"," "," "," ","Serology"," "," "," "," ","Clinical Chemistry","Others"};
56
String[] lab2= {" ","Sputum for AFB","Others"," ","Blood Film","Malaria","Relapsing Fever","Others","HIV Screened","VDRL","WIDAL","WELIFELX","Others"," "," ","Total"};
59
//String[] no={"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"};
61
//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"};
63
int [] deint1={1361,1328,1375,1387,1283,2619,1324,1399,2643,1348,1357,1353,1311,1412,1424};
64
int [] deint2={1362,1326,1378,1388,1282,2620,1322,1401,2644,1346,1358,1354,1312,1414,1425};
65
int [] deint3={1363,1332,1376,1389,1269,2622,2631,1400,2645,1352,1359,1355,1313,1415,1428};
66
int [] deint4={1364,1330,1377,1390,1284,2621,2632,1402,2646,1350,1360,1356,1314,1413,1429};
67
int [] deint5={1365,2618,1379,1391,2639,2623,2635,1403,2647,2655,2659,2667,2675,1418,1426};
68
int [] deint6={1367,2617,1380,1392,2640,2624,2636,1404,2648,2656,2660,2668,2676,1416,1427};
69
int [] deint7={1370,1327,1381,1393,1279,2625,1323,1405,2649,1347,2661,2669,2677,1420,1430};
70
int [] deint8={1369,1325,1382,1394,1278,2626,1321,1406,2650,1345,2662,2670,2678,1422,1431};
71
int [] deint9={1371,1331,1385,1395,1281,2627,2633,1408,2651,1351,2663,2671,2679,1419,1432};
72
int [] deint10={1372,1329,1386,1396,1290,2630,2634,1409,2652,1349,2664,2672,2680,1421,1433};
73
int [] deint11={1373,2616,1383,1398,2641,2628,2637,1407,2653,2657,2665,2673,2681,1423,1434};
74
int [] deint12={1374,2615,1384,1397,2642,2629,2638,1410,2654,2658,2666,2674,2682,1624,1435};
81
Class.forName ("com.mysql.jdbc.Driver");
82
con = DriverManager.getConnection (urlForConnection, userName, password);
83
st1=con.createStatement();
86
sql = "select dataelement, value from datavalue where period="+periodId+" and source="+orgUnitId ;
87
sql+=" and dataelement in (1361,1328,1375,1387,1283,2619,1324,1399,2643,1348,1357,1353,1311,1412,1424)";
88
rs1 = st1.executeQuery(sql);
96
while (rs1.next() && nextde)
98
if (deint1[i]==(rs1.getInt("dataelement")))
100
noutpM[i]=rs1.getInt("value");
107
sql = "select name,parent from organizationunit where id ="+orgUnitId ;
108
rs1 = st1.executeQuery(sql);
111
orgUnitName=rs1.getString("name");
112
parentId=rs1.getInt("parent");
115
sql = "select name from organizationunit where id="+parentId;
116
rs1 = st1.executeQuery(sql);
119
parentName=rs1.getString("name");
122
sql = "select startDate,endDate from period where id ="+periodId ;
123
rs1 = st1.executeQuery(sql);
126
startDate=rs1.getString("startDate");
127
endDate=rs1.getString("endDate");
132
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
133
sql+=" and dataelement in (1362,1326,1378,1388,1282,2620,1322,1401,2644,1346,1358,1354,1312,1414,1425)";
134
rs1 = st1.executeQuery(sql);
142
while (rs1.next() && nextde)
144
if (deint2[i]==(rs1.getInt("dataelement")))
146
noutpF[i]=rs1.getInt("value");
153
sql = "select dataelement, value from datavalue where period="+periodId+" and source="+orgUnitId ;
154
sql+=" and dataelement in (1363,1332,1376,1389,1269,2622,2631,1400,2645,1352,1359,1355,1313,1415,1428)";
155
rs1 = st1.executeQuery(sql);
163
while (rs1.next() && nextde)
165
if (deint3[i]==(rs1.getInt("dataelement")))
167
noutnM[i]=rs1.getInt("value");
177
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
178
sql+=" and dataelement in (1364,1330,1377,1390,1284,2621,2632,1402,2646,1350,1360,1356,1314,1413,1429)";
179
rs1 = st1.executeQuery(sql);
187
while (rs1.next() && nextde)
189
if (deint4[i]==(rs1.getInt("dataelement")))
191
noutnF[i]=rs1.getInt("value");
198
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
199
sql+=" and dataelement in (1365,2618,1379,1391,2639,2623,2635,1403,2647,2655,2659,2667,2675,1418,1426)";
200
rs1 = st1.executeQuery(sql);
208
while (rs1.next() && nextde)
210
if (deint5[i]==(rs1.getInt("dataelement")))
212
ootherM[i]=rs1.getInt("value");
219
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
220
sql+=" and dataelement in (1367,2617,1380,1392,2640,2624,2636,1404,2648,2656,2660,2668,2676,1416,1427)";
221
rs1 = st1.executeQuery(sql);
229
while (rs1.next() && nextde)
231
if (deint6[i]==(rs1.getInt("dataelement")))
233
ootherF[i]=rs1.getInt("value");
241
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
242
sql+=" and dataelement in (1370,1327,1381,1393,1279,2625,1323,1405,2649,1347,2661,2669,2677,1420,1430)";
243
rs1 = st1.executeQuery(sql);
251
while (rs1.next() && nextde)
253
if (deint7[i]==(rs1.getInt("dataelement")))
255
ninpM[i]=rs1.getInt("value");
263
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
264
sql+=" and dataelement in (1369,1325,1382,1394,1278,2626,1321,1406,2650,1345,2662,2670,2678,1422,1431)";
265
rs1 = st1.executeQuery(sql);
273
while (rs1.next() && nextde)
275
if (deint8[i]==(rs1.getInt("dataelement")))
277
ninpF[i]=rs1.getInt("value");
287
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
288
sql+=" and dataelement in (1371,1331,1385,1395,1281,2627,2633,1408,2651,1351,2663,2671,2679,1419,1432)";
289
rs1 = st1.executeQuery(sql);
298
while (rs1.next() && nextde)
300
if (deint9[i]==(rs1.getInt("dataelement")))
302
ninnM[i]=rs1.getInt("value");
310
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
311
sql+=" and dataelement in (1372,1329,1386,1396,1290,2630,2634,1409,2652,1349,2664,2672,2680,1421,1433)";
312
rs1 = st1.executeQuery(sql);
321
while (rs1.next() && nextde)
323
if (deint10[i]==(rs1.getInt("dataelement")))
325
ninnF[i]=rs1.getInt("value");
332
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
333
sql+=" and dataelement in (1373,2616,1383,1398,2641,2628,2637,1407,2653,2657,2665,2673,2681,1423,1434)";
334
rs1 = st1.executeQuery(sql);
343
while (rs1.next() && nextde)
345
if (deint11[i]==(rs1.getInt("dataelement")))
347
iotherM[i]=rs1.getInt("value");
354
sql = "select dataelement,value from datavalue where period="+periodId+" and source="+orgUnitId ;
355
sql+=" and dataelement in (1374,2615,1384,1397,2642,2629,2638,1410,2654,2658,2666,2674,2682,1624,1435)";
356
rs1 = st1.executeQuery(sql);
365
while (rs1.next() && nextde)
367
if (deint12[i]==(rs1.getInt("dataelement")))
369
iotherF[i]=rs1.getInt("value");
376
for(int z=0;z<=14;z++){
377
noutpM[15]+=noutpM[z];
378
noutpF[15]+=noutpF[z];
379
noutnM[15]+=noutnM[z];
380
noutnF[15]+=noutnF[z];
385
ootherM[15]+=ootherM[z];
386
ootherF[15]+=ootherF[z];
387
iotherM[15]+=iotherM[z];
388
iotherF[15]+=iotherF[z];
393
catch(Exception e) { out.println("Loi cho ma gi day: "+e.getMessage()); }
397
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
400
<title>Laboratory Test Report for <%=orgUnitName%></title>
401
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
402
<link href="../../../../dhis-web-reports/src/main/webapp/dhis-web-reports/styles.css" rel="stylesheet" type="text/css">
403
<link href="styles.css" rel="stylesheet" type="text/css">
406
<body bgcolor="#99FFFF">
407
<p class="lefttableheader"> </p>
408
<table width="1000" border="0" cellpadding="0" cellspacing="0">
411
<td colspan="2" rowspan="2" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1">
414
<td width="869" height="95" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
417
<td width="869" height="93" valign="top" class="header">Laboratory
418
Test Report for <%=orgUnitName%></td>
423
<td height="49" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066" bgcolor="#008080" class="header1" >
426
<td width="139" height="45" valign="top" class="header1">Region</td>
427
<td width="127"><%=parentName%></td>
428
<td width="121" valign="top" class="header1" >Wereda</td>
429
<td width="200"><%=orgUnitName%></td>
434
<td height="59" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066" bgcolor="#008080" class="header1">
437
<td width="85" height="55" valign="top" class="header1">Period</td>
438
<td width="91" valign="top" class="header1">From</td>
439
<td width="151"><%=startDate%></td>
440
<td width="78" valign="top" class="header1">To</td>
441
<td width="179"><%=endDate%></td>
446
<td height="84" valign="top" class="tableheader">
447
<table width="925" border="0" bordercolor="#000066" class="tableheader">
450
<tr class="tableheader">
451
<td width="214" height="98" rowspan="4" valign="top" class="lefttableheader" colspan="2">
453
<td height="1" colspan="27" valign="top" class="tableheader" width="526">
454
Number Of Test<p> </td>
456
<tr class="tableheader">
458
<td height="1" colspan="12" valign="top" class="tableheader" width="138">
460
<td height="1" colspan="15" valign="top" class="tableheader" width="388">
463
<tr class="tableheader">
464
<td height="13" colspan="2" valign="top" class="tableheader" width="1">
466
<td height="14" valign="top" class="tableheader" width="0" rowspan="2">
468
<td height="13" colspan="2" valign="top" class="tableheader" width="80">
470
<td height="14" valign="top" class="tableheader" width="40" rowspan="2">
472
<td height="13" colspan="2" valign="top" class="tableheader" width="68">
474
<td height="14" valign="top" class="tableheader" width="34" rowspan="2">
476
<td height="13" colspan="3" valign="top" class="tableheader" width="50">
477
Outpatient Total</td>
478
<td height="13" colspan="2" valign="top" class="tableheader" width="104">
480
<td height="14" valign="top" class="tableheader" width="52" rowspan="2">
482
<td height="13" colspan="2" valign="top" class="tableheader" width="64">
484
<td height="14" valign="top" class="tableheader" width="16" rowspan="2">
486
<td height="7" colspan="2" valign="top" class="tableheader" width="12">
488
<td height="14" valign="top" class="tableheader" width="3" rowspan="2">
490
<td height="13" colspan="3" valign="top" class="tableheader" width="46">
492
<td height="13" colspan="3" valign="top" class="tableheader" width="46">
495
<tr class="tableheader">
496
<td height="1" valign="top" class="tableheader" width="1">
498
<td height="1" valign="top" class="tableheader" width="21">
500
<td height="1" valign="top" class="tableheader" width="57">
502
<td height="1" valign="top" class="tableheader" width="32">
504
<td height="1" valign="top" class="tableheader" width="62">
506
<td height="1" valign="top" class="tableheader" width="23">
508
<td height="1" valign="top" class="tableheader" width="23">
510
<td height="1" valign="top" class="tableheader" width="11">
512
<td height="1" valign="top" class="tableheader" width="11">
514
<td height="1" valign="top" class="tableheader" width="83">
516
<td height="1" valign="top" class="tableheader" width="37">
518
<td height="1" valign="top" class="tableheader" width="52">
520
<td height="1" valign="top" class="tableheader" width="22">
522
<td height="7" valign="top" class="tableheader" width="8">
524
<td height="7" valign="top" class="tableheader" width="4">
526
<td height="1" valign="top" class="tableheader" width="32">
528
<td height="1" valign="top" class="tableheader" width="32">
530
<td height="1" valign="top" class="tableheader" width="31">
532
<td height="1" valign="top" class="tableheader" width="7">
534
<td height="1" valign="top" class="tableheader" width="7">
536
<td height="1" valign="top" class="tableheader" width="7">
539
<% for (int k=0;k<16;k++){%>
541
<% if (k==15){%><td><!-- --></td><%}%>
542
<% if (k==3) {%><td width="11" height="30" valign="top" class="lefttableitem"><%=lab1[k]%></td><%}%>
543
<% if (k==1 || k==4 || k==8) {%><td width="11" height="30" valign="top" class="bottomopen"><%=lab1[k]%></td><%}%>
544
<% if (k==0) {%><td width="11" height="30" valign="top" ><%=lab1[k]%></td><%}%>
545
<% if (k==13 || k==14) {%><td class="lefttableheader"><%=lab1[k]%></td><%}%>
546
<% if (!(k==0 || k==3 || k==13 || k==14|| k==8 || k==4 || k==15 || k==1)) {%><td width="11" height="30" valign="top" class="lefttableheader"></td><%}%>
547
<% if (k==1 || k==4 || k==8){%><td width="11" height="30" valign="top" class="leftopen"><%=lab2[k]%></td><%}%>
548
<% if (k==2 || k==7 || k==12){%><td width="11" height="30" valign="top" class="lefttableitem"><%=lab2[k]%></td><%}%>
549
<% if (k==5 || k==6 || k==9 || k==10 || k==11){%><td width="11" height="30" valign="top" class="lefttableitem"><%=lab2[k]%></td><%}%>
550
<% if (k==15){%><td width="11" height="30" valign="top" class="boxed"><%=lab2[k]%></td><%}%>
551
<% if ((k==0 || k==3 || k==13 || k==14)) {%> <td width="11" height="30" valign="top" class="leftopen"><!-- --></td> <%}%>
552
<% if (k==15) {%><td width="11" height="30" valign="top" class="tableheader"><%=noutpM[k]%></td><%}%>
553
<% if (k!=15) {%><td width="11" height="30" valign="top" class="tableitem"><%=noutpM[k]%></td><%}%>
554
<% if (k==15) {%><td width="11" height="30" valign="top" class="tableheader"><%=noutpF[k]%></td><%}%>
555
<% if (k!=15) {%><td width="11" height="30" valign="top" class="tableitem"><%=noutpF[k]%></td><%}%>
556
<td width="13" height="30" valign="top" class="tableheader"><%=noutpM[k]+noutpF[k]%></td>
557
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=noutnM[k]%></td><%}%>
558
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=noutnM[k]%></td><%}%>
559
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=noutnF[k]%></td><%}%>
560
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=noutnF[k]%></td><%}%>
561
<td width="13" height="30" valign="top" class="tableheader"><%=noutnM[k]+noutnF[k]%></td>
562
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=ootherM[k]%></td><%}%>
563
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=ootherM[k]%></td><%}%>
564
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=ootherF[k]%></td><%}%>
565
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=ootherF[k]%></td><%}%>
566
<td width="13" height="30" valign="top" class="tableheader"><%=ootherM[k]+ootherF[k]%></td>
567
<td width="13" height="30" valign="top" class="tableheader"><%=noutpM[k]+noutnM[k]+ootherM[k]%></td>
568
<td width="13" height="30" valign="top" class="tableheader"><%=noutpF[k]+noutnF[k]+ootherF[k]%></td>
569
<td width="13" height="30" valign="top" class="tableheader"><%=noutpM[k]+noutnM[k]+ootherM[k]+noutpF[k]+noutnF[k]+ootherF[k]%></td>
570
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=ninpM[k]%></td><%}%>
571
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=ninpM[k]%></td><%}%>
572
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=ninpF[k]%></td><%}%>
573
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=ninpF[k]%></td><%}%>
574
<td width="13" height="30" valign="top" class="tableheader"><%=ninpM[k]+ninpF[k]%></td>
575
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=ninnM[k]%></td><%}%>
576
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=ninnM[k]%></td><%}%>
577
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=ninnF[k]%></td><%}%>
578
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=ninnF[k]%></td><%}%>
579
<td width="13" height="30" valign="top" class="tableheader"><%=ninnM[k]+ninnF[k]%></td>
580
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=iotherM[k]%></td><%}%>
581
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=iotherM[k]%></td><%}%>
582
<% if (k==15) {%><td width="13" height="30" valign="top" class="tableheader"><%=iotherF[k]%></td><%}%>
583
<% if (k!=15) {%><td width="13" height="30" valign="top" class="tableitem"><%=iotherF[k]%></td><%}%>
584
<td width="13" height="30" valign="top" class="tableheader"><%=iotherM[k]+iotherF[k]%></td>
585
<td width="13" height="30" valign="top" class="tableheader"><%=ninpM[k]+ninnM[k]+iotherM[k]%></td>
586
<td width="13" height="30" valign="top" class="tableheader"><%=ninpF[k]+ninnF[k]+iotherF[k]%></td>
587
<td width="13" height="30" valign="top" class="tableheader"><%=ninpM[k]+ninpF[k]+ninnM[k]+ninnF[k]+iotherM[k]+iotherF[k]%></td>
588
<td width="13" height="30" valign="top" class="tableheader"><%=noutpM[k]+noutnM[k]+ootherM[k]+ninpM[k]+ninnM[k]+iotherM[k]%></td>
589
<td width="13" height="30" valign="top" class="tableheader"><%=noutpF[k]+noutnF[k]+ootherF[k]+ninpF[k]+ninnF[k]+iotherF[k]%></td>
590
<td width="13" height="30" valign="top" class="tableheader"><%=noutpM[k]+noutnM[k]+ootherM[k]+noutpF[k]+noutnF[k]+ootherF[k]+ninpM[k]+ninpF[k]+ninnM[k]+ninnF[k]+iotherM[k]+iotherF[k]%></td>
597
<span class="tableitemnumber"></span></td>
598
<td width="127" height="275"><!--DWLayoutEmptyCell--> </td>
604
<td width="503" height="2"></td>
605
<td width="370"></td>
b'\\ No newline at end of file'