2
<%@ page import="java.sql.*,java.util.*" %>
3
<%@ page session="true"%>
8
// For finding organisationunit name of selected Orgunit based on Orgunit id
12
// For finding start date of selected period based on period id
16
// For finding child orgunit ids and names based on selected orgunit id
20
// For finding mother phc of selected phc based on selected orgunit id
24
// For finding child orgunit stock position of chloroquin tablet, oral pills, contraceptive and ors packet
28
String userName = "dhis";
30
String urlForConnection = "jdbc:mysql://localhost/kl_dhis2";
32
// OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
34
// String selectedId = (String) stack.findValue( "orgUnitId" );
35
int selectedOrgUnitID = 9;
36
// Integer.parseInt( selectedId );
39
String startingDate = "2006-04-01";
40
// (String) stack.findValue( "startingPeriod" );
41
String endingDate = "2006-04-01";
42
// (String) stack.findValue( "endingPeriod" );
45
// String monthlyPeriodId = (String) stack.findValue( "monthlyPeriodTypeId" );
47
// Integer.parseInt( monthlyPeriodId );
50
String selectedOrgUnitName = "";
51
String selectedDataPeriodStartDate = "";
53
String monthNames[] = { "", "January", "February", "March", "April", "May", "June", "July", "August", "September","October", "November", "December" };
55
String monthlyDataElements[] = {
80
// VITAL STATISTICS - BIRTH MALE
83
// VITAL STATISTICS - BIRTH FEMALE
86
// VITAL STATISTICS - DEATH MALE
89
// VITAL STATISTICS - DEATH FEMALE
95
// IEC GROUP DISCUSSION
98
// COMMUNICABLE DISEASE - CHLORINATION
101
// COMMUNICABLE DISEASE - DIARRHOEA
104
// COMMUNICABLE DISEASE - DYSENTRY
107
// COMMUNICABLE DISEASE - CHOLERA
110
// COMMUNICABLE DISEASE - MUMPS
113
// COMMUNICABLE DISEASE - TB
116
// COMMUNICABLE DISEASE - MEASLES
119
// COMMUNICABLE DISEASE - DENGU
122
// COMMUNICABLE DISEASE - CHICKENPOX
125
// COMMUNICABLE DISEASE - TYPHOID
128
// COMMUNICABLE DISEASE - LEPTO
131
// COMMUNICABLE DISEASE - ARI
140
// MOTHERS MEETING - MEETING
143
// MOTHERS MEETING - ATTENDENCE
155
List childOrgUnitIDs = new ArrayList();
156
List childOrgUnitNames = new ArrayList();
158
int childOrgUnitCount = 0;
162
int tempval[] = new int[monthlyDataElements.length+5];
163
int total[] = new int[monthlyDataElements.length+5];
169
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
170
con = DriverManager.getConnection (urlForConnection, userName, password);
172
st1=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
173
st2=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
174
st3=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
175
st4=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
176
st5=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
178
//rs1 = st1.executeQuery("select name from organisationunit where id = "+selectedOrgUnitID);
179
rs1 = st1.executeQuery("select name from organisationunit where organisationunitid = "+selectedOrgUnitID);
180
if(rs1.next()) { selectedOrgUnitName = rs1.getString(1); }
182
// rs2 = st2.executeQuery("select startDate from period where id = "+selectedDataPeriodID);
183
// if(rs2.next()) { selectedDataPeriodStartDate = rs2.getDate(1).toString(); }
185
selectedDataPeriodStartDate = startingDate;
187
//rs3 = st3.executeQuery("select id,name from organisationunit where parent = "+selectedOrgUnitID);
188
rs3 = st3.executeQuery("select organisationunitid,name from organisationunit where parentid = "+selectedOrgUnitID);
191
Integer tempInt = new Integer(rs3.getInt(1));
192
childOrgUnitIDs.add(childOrgUnitCount,tempInt);
193
childOrgUnitNames.add(childOrgUnitCount,rs3.getString(2));
197
//rs4=st4.executeQuery("select organisationunit.name FROM organisationunit WHERE organisationunit.id in ( select organisationunit.parent from organisationunit where organisationunit.id = "+selectedOrgUnitID+")");
198
rs4=st4.executeQuery("select organisationunit.name FROM organisationunit WHERE organisationunit.organisationunitid in ( select organisationunit.parentid from organisationunit where organisationunit.organisationunitid = "+selectedOrgUnitID+")");
199
if(rs4.next()) { motherPHC = rs4.getString(1); }
201
catch(Exception e) { out.println(e.getMessage()); }
203
String partsOfDataPeriodStartDate[] = selectedDataPeriodStartDate.split("-");
209
<TITLE>CONSOLIDATION REPORT OF NMEP VITAL STATISTIC COMMUNICABLE DISEASE IEC, MSS, ORS, ISSUE ETC</TITLE>
214
<P align="center"><FONT face="Arial" size="3">CONSOLIDATION REPORT OF NMEP VITAL STATISTIC COMMUNICABLE DISEASE IEC, MSS, ORS, ISSUE ETC<BR>
215
FOR THE MONTH OF <u><%=monthNames[Integer.parseInt(partsOfDataPeriodStartDate[1])]%> - <%=partsOfDataPeriodStartDate[0]%></u>
216
NAME OF PHC <u><%=selectedOrgUnitName%></u>
217
MOTHER PHC <u><%=motherPHC%></u></FONT></P>
220
<TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=3 cellPadding=3 width="100%" border=1>
222
<TD align="center" width="2%" rowSpan=3><B><FONT face="Arial" size="2">SL. NO</FONT></B></TD>
223
<TD align="center" width="29%" rowSpan=3><B><FONT face="Arial" size="2">NAME & DESIGNATION OF STAFF</FONT></B></TD>
224
<TD align="center" width="3%" rowspan="3"><FONT face="Arial" size="2"><BR>C<BR>O<BR>D<BR>E<BR> <BR>N<BR>O</font></TD>
225
<TD align="center" width="4%" rowspan="3"><FONT face="Arial" size="2">P<BR>O<BR>P<BR>U<BR>L<BR>A<BR> T<BR>I<BR>O<BR>N</font></TD>
226
<TD align="center" width="14%" colspan="7"><B><FONT face="Arial" size="2">NMEP</FONT></TD>
227
<TD align="center" width="8%" colspan="4"><B><FONT face="Arial" size="2">VITAL STSTISTICS</FONT></TD>
228
<TD align="center" width="4%" colspan="2"><B><FONT face="Arial" size="2">IEC</FONT></TD>
229
<TD align="center" width="24%" colspan="12"><B><FONT face="Arial" size="2">COMMUNICABLE DISEASE</FONT></TD>
230
<TD align="center" width="4%" colspan="2"><B><FONT face="Arial" size="2">MISS</FONT></TD>
231
<TD align="center" width="4%" colspan="2"><B><FONT face="Arial" size="2">MOTHER'S MEETING</FONT></TD>
232
<TD align="center" width="4%" colspan="2"><B><FONT face="Arial" size="2">ORS</FONT></TD>
235
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">A<BR>C<BR>T<BR>I<BR>V<BR>E</font></TD>
236
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">P<BR>A<BR>S<BR>S<BR>I<BR>V<BR>E</font></TD>
237
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">C<BR>O<BR>N<BR>T<BR>A<BR>C<BR>T</font></TD>
238
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">M<BR>A<BR>S<BR>S</font></TD>
239
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">T<BR>O<BR>T<BR>A<BR>L</font></TD>
240
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">T<BR>A<BR>B<BR> <BR>I<BR>S<BR>S<BR>U<BR>E</font></TD>
241
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">T<BR>A<BR>B<BR> <BR>B<BR>A<BR>L<BR>A<BR>N<BR>C<BR>E</font></TD>
242
<TD align="center" width="2%" colspan="2"><FONT face="Arial" size="2">B<BR>I<BR>R<BR>T<BR>H</font></TD>
243
<TD align="center" width="2%" colspan="2"><FONT face="Arial" size="2">D<BR>E<BR>A<BR>T<BR>H</font></TD>
244
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">G<BR>R<BR>O<BR>U<BR>P<BR> <BR>T<BR>A<BR>L<BR>K</font></TD>
245
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">G<BR>R<BR>O<BR>U<BR>P<BR> <BR>D<BR>I<BR>S<BR>C<BR>U<BR>S<BR>S<BR>I<BR>O<BR>N</font></TD>
246
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">C<BR>H<BR>L<BR>O<BR>R<BR>I<BR>N<BR>A<BR>T<BR>I<BR>O<BR>N</font></TD>
247
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">D<BR>I<BR>A<BR>R<BR>R<BR>H<BR>O<BR>E<BR>A</font></TD>
248
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">D<BR>Y<BR>S<BR>E<BR>N<BR>T<BR>R<BR>Y</font></TD>
249
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">C<BR>H<BR>O<BR>L<BR>E<BR>R<BR>A</font></TD>
250
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">M<BR>U<BR>M<BR>P<BR>S</font></TD>
251
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">T<BR>B</font></TD>
252
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">M<BR>E<BR>A<BR>S<BR>E<BR>L<BR>S</font></TD>
253
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">D<BR>E<BR>N<BR>G<BR>U</font></TD>
254
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">C<BR>H<BR>I<BR>C<BR>K<BR>E<BR>N<BR> <BR>P<BR>O<BR>X</font></TD>
255
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">T<BR>Y<BR>P<BR>H<BR>O<BR>I<BR>D</font></TD>
256
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">L<BR>E<BR>P<BR>T<BR>O</font></TD>
257
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">A<BR>R<BR>I</font></TD>
258
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">M<BR>E<BR>E<BR>T<BR>I<BR>N<BR>G</font></TD>
259
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">A<BR>T<BR>T<BR>E<BR>N<BR>D<BR>E<BR>N<BR>C<BR>E</font></TD>
260
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">M<BR>E<BR>E<BR>T<BR>I<BR>N<BR>G</font></TD>
261
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">A<BR>T<BR>T<BR>E<BR>N<BR>D<BR>E<BR>N<BR>C<BR>E</font></TD>
262
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">I<BR>S<BR>S<BR>U<BR>E</font></TD>
263
<TD align="center" width="2%" rowspan="2"><FONT face="Arial" size="2">B<BR>A<BR>L<BR>A<BR>N<BR>C<BR>E</font></TD>
266
<TD align="center" width="2%"><font face="Arial" size="2">M</font></TD>
267
<TD align="center" width="2%"><font face="Arial" size="2">F</font></TD>
268
<TD align="center" width="2%"><font face="Arial" size="2">M</font></TD>
269
<TD align="center" width="2%"><font face="Arial" size="2">F</font></TD>
277
while(count < childOrgUnitCount)
280
Integer temp1 = (Integer) childOrgUnitIDs.get(count);
281
int currentChildID = temp1.intValue();
282
for(i=0;i<monthlyDataElements.length;i++)
284
//rs5 = st5.executeQuery("SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataElement = dataelement.id WHERE datavalue.period in (select id from period where startdate between '"+startingDate+"' and '"+startingDate+"') AND datavalue.source = "+currentChildID+" AND dataelement.code in ("+monthlyDataElements[i]+")");
285
rs5 = st5.executeQuery("SELECT sum(datavalue.value) FROM datavalue INNER JOIN dataelement ON datavalue.dataelementid = dataelement.dataelementid WHERE datavalue.periodid in (select periodid from period where startdate between '"+startingDate+"' and '"+startingDate+"') AND datavalue.sourceid = "+currentChildID+" AND dataelement.code in ("+monthlyDataElements[i]+")");
287
// "SELECT datavalue.value FROM datavalue INNER JOIN dataelement ON datavalue.dataElement = dataelement.id WHERE datavalue.period="+selectedDataPeriodID+" AND datavalue.source="+currentChildID+" AND dataelement.name like '"+monthlyDataElements[i]+"'");
288
if(!rs5.next()) { tempval[i] = 0; }
289
else { tempval[i] = rs5.getInt(1); }
290
total[i] += tempval[i];
295
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=(count+1)%></font></TD>
296
<TD width="29%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=childOrgUnitNames.get(count)%></font></TD>
297
<TD width="3%" HEIGHT="50" align="center"><FONT face="Arial" size="2"></font></TD>
298
<TD width="4%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[1]%></font></TD>
299
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[2]%></font></TD>
300
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[3]%></font></TD>
301
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[4]%></font></TD>
302
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[5]%></font></TD>
303
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=(tempval[2]+tempval[3]+tempval[4]+tempval[5])%></font></TD>
304
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[6]%></font></TD>
305
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[7]%></font></TD>
306
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[8]%></font></TD>
307
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[9]%></font></TD>
308
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[10]%></font></TD>
309
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[11]%></font></TD>
310
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[12]%></font></TD>
311
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[13]%></font></TD>
312
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[14]%></font></TD>
313
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[15]%></font></TD>
314
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[16]%></font></TD>
315
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[17]%></font></TD>
316
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[18]%></font></TD>
317
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[19]%></font></TD>
318
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[20]%></font></TD>
319
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[21]%></font></TD>
320
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[22]%></font></TD>
321
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[23]%></font></TD>
322
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[24]%></font></TD>
323
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[25]%></font></TD>
324
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[26]%></font></TD>
325
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[27]%></font></TD>
326
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[28]%></font></TD>
327
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[29]%></font></TD>
328
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[30]%></font></TD>
329
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="2"><%=tempval[31]%></font></TD>
335
catch(Exception e) { out.println(e.getMessage()); }
340
if(rs1!=null) rs1.close(); if(st1!=null) st1.close();
341
if(rs2!=null) rs2.close(); if(st2!=null) st2.close();
342
if(rs3!=null) rs3.close(); if(st3!=null) st3.close();
343
if(rs4!=null) rs4.close(); if(st4!=null) st4.close();
344
if(rs5!=null) rs5.close(); if(st5!=null) st5.close();
346
if(con!=null) con.close();
348
catch(Exception e) { out.println(e.getMessage()); }
349
} // finally block end
353
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"> </font></TD>
354
<TD width="29%" HEIGHT="50" align="center"><FONT face="Arial" size="2">TOTAL</font></TD>
355
<TD width="3%" HEIGHT="50" align="center"><FONT face="Arial" size="1"></font></TD>
356
<TD width="4%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[1]%></font></TD>
357
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[2]%></font></TD>
358
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[3]%></font></TD>
359
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[4]%></font></TD>
360
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[5]%></font></TD>
361
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=(total[2]+total[3]+total[4]+total[5])%></font></TD>
362
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[6]%></font></TD>
363
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[7]%></font></TD>
364
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[8]%></font></TD>
365
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[9]%></font></TD>
366
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[10]%></font></TD>
367
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[11]%></font></TD>
368
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[12]%></font></TD>
369
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[13]%></font></TD>
370
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[14]%></font></TD>
371
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[15]%></font></TD>
372
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[16]%></font></TD>
373
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[17]%></font></TD>
374
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[18]%></font></TD>
375
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[19]%></font></TD>
376
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[20]%></font></TD>
377
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[21]%></font></TD>
378
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[22]%></font></TD>
379
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[23]%></font></TD>
380
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[24]%></font></TD>
381
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[25]%></font></TD>
382
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[26]%></font></TD>
383
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[27]%></font></TD>
384
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[28]%></font></TD>
385
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[29]%></font></TD>
386
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[30]%></font></TD>
387
<TD width="2%" HEIGHT="50" align="center"><FONT face="Arial" size="1"><%=total[31]%></font></TD>
b'\\ No newline at end of file'