1
<%@ page import="java.sql.*" %>
2
<%@ page import="java.util.*" %>
3
<%@ page import="com.opensymphony.xwork.util.OgnlValueStack" %>
14
String parentName = null;
15
OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
16
String selectedId = (String) stack.findValue( "orgUnitId" );
17
orgUnitId = Integer.parseInt( selectedId );
19
String selectedPeriodId = (String) stack.findValue( "periodSelect" );
20
periodId = Integer.parseInt( selectedPeriodId );
22
String userName = "root";
24
String urlForConnection = "jdbc:mysql://localhost/dhis2";
27
int[] outM= new int[10];
28
int[] outF= new int[10];
29
int[] inM= new int[10];
30
int[] inF= new int[10];
39
String orgUnitName="";
44
String [] services= {"Blood Donated","Blood Transfused"};
46
int[] deint1= {212,211};
47
int[] deint2= {213,209};
48
int[] deint3= {215,210};
49
int[] deint4= {214,208};
53
Class.forName ("com.mysql.jdbc.Driver");
54
con = DriverManager.getConnection (urlForConnection, userName, password);
55
st1=con.createStatement();
57
rs1 = st1.executeQuery("select name from organizationunit where id=" + orgUnitId);
59
orgUnitName= rs1.getString("name");
62
rs1 = st1.executeQuery("select name from organizationunit where parent is null");
65
parentName=rs1.getString("name");
68
rs1 = st1.executeQuery("select startDate,endDate from period where id=" + periodId);
70
startDate= rs1.getString("startDate");
71
endDate= rs1.getString("endDate");
74
String sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement in (212,211)";
75
rs1 = st1.executeQuery(sql);
84
while (rs1.next()&& nextde)
86
if (deint1[j]==(rs1.getInt("dataelement")))
88
outM[j]=rs1.getInt("value");
98
sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement in (213,209)";
99
rs1 = st1.executeQuery(sql);
107
while (rs1.next() && nextde)
109
if (deint2[j]==(rs1.getInt("dataelement")))
111
outF[j]=rs1.getInt("value");
119
sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement in (215,210)";
120
rs1 = st1.executeQuery(sql);
128
while (rs1.next() && nextde)
130
if (deint3[j]==(rs1.getInt("dataelement")))
132
inM[j]=rs1.getInt("value");
140
sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement in (214,208)";
141
rs1 = st1.executeQuery(sql);
149
while (rs1.next() && nextde)
151
if (deint4[j]==(rs1.getInt("dataelement")))
153
inF[j]=rs1.getInt("value");
161
sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement=225";
162
rs1 = st1.executeQuery(sql);
166
bdM=rs1.getInt("value");
169
sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement=216";
170
rs1 = st1.executeQuery(sql);
174
bdF=rs1.getInt("value");
178
/*sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement=0000";
179
rs1 = st1.executeQuery(sql);
183
sopM=rs1.getInt("value");
187
sql="select value,dataelement from datavalue where source="+orgUnitId+" and period=" +periodId+" and dataelement=0000";
188
rs1 = st1.executeQuery(sql);
192
sopF=rs1.getInt("value");
206
catch(Exception e) { out.println("Loi cho ma gi day: "+e.getMessage()); }
209
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
212
<title>Blood Bank Report for <%=orgUnitName%></title>
213
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
214
<link href="../../../../dhis-web-reports/src/main/webapp/dhis-web-reports/styles.css" rel="stylesheet" type="text/css">
215
<link href="styles.css" rel="stylesheet" type="text/css">
218
<body bgcolor="#99FFFF">
219
<table width="1000" border="0" cellpadding="0" cellspacing="0">
222
<td colspan="2" rowspan="2" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1">
225
<td width="869" height="95" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
228
<td width="869" height="93" valign="top" class="header">Blood Bank Report for <%=orgUnitName%></td>
233
<td height="49" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066" bgcolor="#008080" class="header1" >
236
<td width="139" height="45" valign="top" class="header1">Region</td>
237
<td width="127"><%=parentName%></td>
238
<td width="121" valign="top" class="header1" >Wereda</td>
239
<td width="200"><%=orgUnitName%></td>
244
<td height="59" valign="top"><table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066" bgcolor="#008080" class="header1">
247
<td width="85" height="55" valign="top" class="header1">Period</td>
248
<td width="91" valign="top" class="header1">From</td>
249
<td width="151"><%=startDate%></td>
250
<td width="78" valign="top" class="header1">To</td>
251
<td width="179"><%=endDate%></td>
256
<td height="111" valign="top">
257
<table width="100%" border="0" cellpadding="1" cellspacing="1" bordercolor="#000066">
260
<td width="114" rowspan="2" valign="top" class="tableheader">Blood
262
<td colspan="3" valign="top" class="tableheader">Outpatient</td>
263
<td height="41" colspan="3" valign="top" class="tableheader">Inpatient</td>
264
<td height="41" colspan="3" valign="top" class="tableheader">Total</td>
267
<td width="62" valign="top" class="tableheader">Male</td>
268
<td width="57" valign="top" class="tableheader">Female</td>
269
<td width="59" valign="top" class="tableheader">Total</td>
270
<td width="60" valign="top" class="tableheader">Male</td>
271
<td width="56" valign="top" class="tableheader">Female</td>
272
<td width="59" valign="top" class="tableheader">Total</td>
273
<td width="55" valign="top" class="tableheader">Male</td>
274
<td width="52" valign="top" class="tableheader">Female</td>
275
<td width="64" valign="top" class="tableheader">Grand Total</td>
277
<% for (int k=0;k<3;k++) { %>
279
<td height="21" class="tableitem"><%=services[k]%></td>
280
<td class="tableitem"><%=outM[k]%></td>
281
<td class="tableitem"><%=outF[k]%></td>
282
<td class="tableitem"><%=outM[k]+outF[k]%></td>
283
<td class="tableitem"><%=inM[k]%></td>
284
<td class="tableitem"><%=inF[k]%></td>
285
<td class="tableitem"><%=inM[k]+inF[k]%></td>
286
<td class="tableitem"><%=outM[k]+inM[k]%></td>
287
<td class="tableitem"><%=outF[k]+inF[k]%></td>
288
<td class="tableitem"><%=outM[k]+outF[k]+inM[k]+inF[k]%></td>
292
<td height="23" valign="top" class="tableheader">Total</td>
293
<td height="23" valign="top" class="tableheader"><%=totalOutM%></td>
294
<td height="23" valign="top" class="tableheader"><%=totalOutF%></td>
295
<td class="tableheader"><%=totalOutM+totalOutF%></td>
296
<td class="tableheader"><%=totalInM%></td>
297
<td class="tableheader"><%=totalInF%></td>
298
<td class="tableheader"><%=totalInM+totalInF%></td>
299
<td class="tableheader"><%=totalOutM+totalInM%></td>
300
<td class="tableheader"><%=totalOutF+totalInF%></td>
301
<td class="tableheader"><%=totalOutM+totalInM+totalOutF+totalInF%></td>
307
<span class="tableitemnumber"></span></td>
308
<td width="127" height="275"></td>
314
<td width="503" height="2"></td>
315
<td width="370"></td>
318
<td height="78"> <table width="100%">
320
<td width="34%" height="24" valign="top" class="tableheader">Blood Donors</td>
321
<td width="17%" valign="top" >Male</td>
322
<td width="18%" valign="top" class="tableheader"><%=bdM%></td>
323
<td width="11%" valign="top" >Female</td>
324
<td width="20%" valign="top" class="tableheader"><%=bdF%></td>
327
<td height="24" valign="top" class="tableheader">Surgical Operations</td>
328
<td height="24" valign="top" >Male</td>
329
<td height="24" valign="top" class="tableheader"></td>
330
<td height="24" valign="top" >Female</td>
331
<td height="24" valign="top" class="tableheader"></td>
b'\\ No newline at end of file'