1
<%@ page contentType="text/html ; charset=UTF-8"%>
3
<%@ page import="java.sql.*,java.util.*" %>
4
<%@ page import="com.opensymphony.xwork.util.OgnlValueStack" %>
6
<%@ page session="true"%>
20
PreparedStatement pst = null;
23
String userName = "dhis";
25
String urlForConnection = "jdbc:mysql://localhost/jh_dhis2";
28
OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
30
String selectedId = (String) stack.findValue( "orgUnitId" );
31
int selectedOrgUnitID = Integer.parseInt( selectedId );
32
//int selectedOrgUnitID = 14;
34
String startingDate = (String) stack.findValue( "startingPeriod" );
35
String endingDate = (String) stack.findValue( "endingPeriod" );
37
//String startingDate = "2006-01-01";
38
//String endingDate = "2006-12-31";
40
int seletedDataSetID = 240;
41
int selectedPeriodID = 0;
42
int periodTypeID = 3; // Yearly
44
String partsOfDataPeriodStartDate[] = startingDate.split("-");
45
String selectedOrgUnitName = "";
47
Hashtable htForDataSetMembers = new Hashtable();
48
String dataValue[] = new String[10];
49
int dataElementIDs[] = {
50
0,0,1447,1448,1448,1450,1451,1452,1453,1454,1455,1456,1457,0,1458,1459,1460,1461,
51
1462,1463,1464,1465,1466,1467,1468,1469,1470,0,1471,1472,1473,1474,1475,0,1476,
52
1477,1478,1479,1480,1481,1482,1483,0,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,
53
1494,1495,0,0,1496,1497,1498,1499,1500,1501,0,1502,1503,1504,1505,1506,1507,1508,1509,1510,
54
1511,1512,1513,1514,1515,0,1516,1517,1518,1604,1605,0,1519,1520,1521,1522,0,1523,1524,
55
1525,1526,0,1527,1528,1529,1530,1531,1532,0,1533,1534,1547,1535,1536,1547,1537,1538,1547,
56
1539,1540,1547,1541,1542,1547,1543,1544,1547,1545,1546,1547,0,1549,1550,0,1551,1552,1601,
57
1553,1554,1601,1555,1556,1601,1557,1558,1601,1559,1560,1601,1561,1562,1601,1563,1564,1601,
58
1565,1566,1601,1567,1568,1601,1569,1570,1601,1571,1572,1601,1573,1574,1601,1575,1576,1601,
59
1577,1578,1601,1579,1580,1601,1581,1582,1601,1583,1584,1601,1585,1586,1601,1587,1588,1601,
60
1589,1590,1601,1591,1592,1601,1593,1594,1601,1595,1596,1601,1597,1598,1601,1599,1600,1601
69
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
70
con = DriverManager.getConnection (urlForConnection, userName, password);
72
st1=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
73
st2=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
74
st3=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
76
rs1 = st1.executeQuery("SELECT name FROM organisationunit WHERE organisationunitid = "+selectedOrgUnitID);
77
if(rs1.next()) selectedOrgUnitName = rs1.getString(1);
79
rs2 = st2.executeQuery("SELECT datasetmembers.dataelementid,dataelement.name FROM datasetmembers INNER JOIN dataelement ON datasetmembers.dataelementid = dataelement.dataelementid WHERE datasetmembers.datasetid = "+seletedDataSetID);
82
String temp1 = ""+rs2.getInt(1);
83
String temp2 = rs2.getString(2);
84
htForDataSetMembers.put(temp1,temp2);
87
rs3 = st3.executeQuery("SELECT periodid FROM period WHERE startdate LIKE '"+startingDate+"' AND periodtypeid = "+periodTypeID);
88
if(rs3.next()) selectedPeriodID = rs3.getInt(1);
91
catch(Exception e) { out.println(e.getMessage()); }
98
<title>SUBCENTRE PHC PROFILE</title>
99
<script src="../dhis-web-reports/Jharkhand/JDENamesForSCPHCProFile.js" type="text/javascript" language="Javascript"></script>
108
document.getElementById(id).innerHTML = slnoForSCPHCProfile[start];
110
document.getElementById(id).innerHTML = denamesForSCPHCProfile[start];
117
<body onload="onLoadFun()">
119
<FONT face="Arial" size="3"><b><u>Performa for Sub-centers on IPHS</u></font>
122
<table cellpadding="0" cellspacing="0" bgcolor="ffffff" align="left" style="border-style:solid; border-width:0; border-collapse: collapse; padding: 0; position:relative; top:10" bordercolor="#ffffff" width="100%" border="0">
123
<tr style="border-collapse: collapse; border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0; padding: 0" bordercolor="#111111" width="100%">
124
<td width="75%" align="left">
125
<font face="Arial" size="2"><b>SC Name : <%=selectedOrgUnitName%></b></font>
127
<td width="25%" align="right">
128
<font face="Arial" size="2"><b>Year : <%=partsOfDataPeriodStartDate[0]%></b></font>
133
<table style="border-collapse: collapse; padding: 0;" width="100%" border="1">
135
<td width="3%" align="center">
136
<font face="Arial" size="3"><b>Sl. No.</b></font>
138
<td width="57%" align="center">
139
<font face="Arial" size="3"><b>Service</b></font>
141
<td width="40%" align="center" colspan="6">
142
<font face="Arial" size="3"><b>Value</b></font>
151
pst = con.prepareStatement("SELECT value FROM datavalue WHERE sourceid = ? AND periodid = ? AND dataelementid = ?");
156
String id1="cell1"+count1;
157
String id2="cell2"+count1;
160
if( (count1 >=0 && count1 <=42) || (count1 >=47 && count1 <=86) || (count1==90) || (count1==99) || (count1==102))
162
pst.setInt(1,selectedOrgUnitID);
163
pst.setInt(2,selectedPeriodID);
164
pst.setInt(3,dataElementIDs[count++]);
166
rs4 = pst.executeQuery();
167
if(rs4.next()) dataValue[0] = rs4.getString(1);
168
else dataValue[0] = "";
169
if(dataValue[0] == null) dataValue[0] = "";
171
//dataValue[0] = ""+dataElementIDs[count-1];
174
<td width="3%" align="center" id="<%=id1%>" name="<%=id1%>"></td>
175
<td width="57%" align="left" id="<%=id2%>" name="<%=id2%>"></td>
176
<td width="40%" align="center" colspan="6"><font face="Arial" size="2"><%=dataValue[0]%></font> </td>
180
else if(count1 >=100 && count1 <=101 )
184
dataValue[0] = "<b>Other Drugs available</b>";
185
dataValue[1] = "<b>Remarks / Suggestions / Identified</b>";
189
pst.setInt(1,selectedOrgUnitID);
190
pst.setInt(2,selectedPeriodID);
191
pst.setInt(3,dataElementIDs[count++]);
192
rs4 = pst.executeQuery();
193
if(rs4.next()) dataValue[0] = rs4.getString(1);
194
else dataValue[0] = "";
195
if(dataValue[0] == null) dataValue[0] = "";
196
//dataValue[0] = ""+dataElementIDs[count-1];
198
pst.setInt(1,selectedOrgUnitID);
199
pst.setInt(2,selectedPeriodID);
200
pst.setInt(3,dataElementIDs[count++]);
201
rs4 = pst.executeQuery();
202
if(rs4.next()) dataValue[1] = rs4.getString(1);
203
else dataValue[1] = "";
204
if(dataValue[1] == null) dataValue[1] = "";
205
//dataValue[1] = ""+dataElementIDs[count-1];
210
<td width="3%" align="center" id="<%=id1%>" name="<%=id1%>"></td>
211
<td width="57%" align="left" id="<%=id2%>" name="<%=id2%>"></td>
212
<td width="20%" align="center" colspan="3"><font face="Arial" size="2"><%=dataValue[0]%></font> </td>
213
<td width="20%" align="center" colspan="3"><font face="Arial" size="2"><%=dataValue[1]%></font> </td>
217
else if( (count1 >=87 && count1 <=89) || (count1 >=91 && count1 <=98) || (count1 >=103 && count1 <=128) )
221
dataValue[0] = "<b>Current Availability at S/c</b>";
222
dataValue[1] = "<b>If available, area in Sq.mts</b>";
223
dataValue[2] = "<b>If available, whether staff staying or not</b>";
225
else if(count1 == 91)
227
dataValue[0] = "<b>Available</b>";
228
dataValue[1] = "<b>Functional</b>";
229
dataValue[2] = "<b>Remarks / Suggestions / identified gaps</b>";
231
else if(count1 == 103)
233
dataValue[0] = "<b>Current availability at s/c</b>";
234
dataValue[1] = "<b>If available numbers</b>";
235
dataValue[2] = "<b>Remarks / Suggestions / Identified gaps</b>";
239
pst.setInt(1,selectedOrgUnitID);
240
pst.setInt(2,selectedPeriodID);
241
pst.setInt(3,dataElementIDs[count++]);
242
rs4 = pst.executeQuery();
243
if(rs4.next()) dataValue[0] = rs4.getString(1);
244
else dataValue[0] = "";
245
if(dataValue[0] == null) dataValue[0] = "";
246
//dataValue[0] = ""+dataElementIDs[count-1];
249
pst.setInt(1,selectedOrgUnitID);
250
pst.setInt(2,selectedPeriodID);
251
pst.setInt(3,dataElementIDs[count++]);
252
rs4 = pst.executeQuery();
253
if(rs4.next()) dataValue[1] = rs4.getString(1);
254
else dataValue[1] = "";
255
if(dataValue[1] == null) dataValue[1] = "";
257
//dataValue[1] = ""+dataElementIDs[count-1];
259
pst.setInt(1,selectedOrgUnitID);
260
pst.setInt(2,selectedPeriodID);
261
pst.setInt(3,dataElementIDs[count++]);
262
rs4 = pst.executeQuery();
263
if(rs4.next()) dataValue[2] = rs4.getString(1);
264
else dataValue[2] = "";
265
if(dataValue[2] == null) dataValue[2] = "";
266
//dataValue[2] = ""+dataElementIDs[count-1];
271
<td width="3%" align="center" id="<%=id1%>" name="<%=id1%>"></td>
272
<td width="57%" align="left" id="<%=id2%>" name="<%=id2%>"></td>
273
<td width="10%" align="center" colspan="2"><font face="Arial" size="2"><%=dataValue[0]%></font> </td>
274
<td width="10%" align="center" colspan="2"><font face="Arial" size="2"><%=dataValue[1]%></font> </td>
275
<td width="10%" align="center" colspan="2"><font face="Arial" size="2"><%=dataValue[2]%></font> </td>
279
else if(count1 >=43 && count1 <=46 )
284
dataValue[0] = "<b>Existing/Sctioned</b>";
285
dataValue[1] = "<b>Recommended</b>";
286
dataValue[2] = "<b>Current availability at S/C</b>";
287
dataValue[3] = "<b>Remarks / Suggestion Identified Gaps</b>";
291
pst.setInt(1,selectedOrgUnitID);
292
pst.setInt(2,selectedPeriodID);
293
pst.setInt(3,dataElementIDs[count++]);
294
rs4 = pst.executeQuery();
295
if(rs4.next()) dataValue[0] = rs4.getString(1);
296
else dataValue[0] = "";
297
if(dataValue[0] == null) dataValue[0] = "";
298
//dataValue[0] = ""+dataElementIDs[count-1];
301
pst.setInt(1,selectedOrgUnitID);
302
pst.setInt(2,selectedPeriodID);
303
pst.setInt(3,dataElementIDs[count++]);
304
rs4 = pst.executeQuery();
305
if(rs4.next()) dataValue[1] = rs4.getString(1);
306
else dataValue[1] = "";
307
if(dataValue[1] == null) dataValue[1] = "";
308
//dataValue[1] = ""+dataElementIDs[count-1];
311
pst.setInt(1,selectedOrgUnitID);
312
pst.setInt(2,selectedPeriodID);
313
pst.setInt(3,dataElementIDs[count++]);
314
rs4 = pst.executeQuery();
315
if(rs4.next()) dataValue[2] = rs4.getString(1);
316
else dataValue[2] = "";
317
if(dataValue[2] == null) dataValue[2] = "";
318
//dataValue[2] = ""+dataElementIDs[count-1];
321
pst.setInt(1,selectedOrgUnitID);
322
pst.setInt(2,selectedPeriodID);
323
pst.setInt(3,dataElementIDs[count++]);
324
rs4 = pst.executeQuery();
325
if(rs4.next()) dataValue[3] = rs4.getString(1);
326
else dataValue[3] = "";
327
if(dataValue[3] == null) dataValue[3] = "";
328
//dataValue[3] = ""+dataElementIDs[count-1];
333
<td width="3%" align="center" id="<%=id1%>" name="<%=id1%>"></td>
334
<td width="57%" align="left" id="<%=id2%>" name="<%=id2%>"></td>
335
<td width="10%" align="center" ><font face="Arial" size="2"><%=dataValue[0]%></font> </td>
336
<td width="10%" align="center" colspan="2"><font face="Arial" size="2"><%=dataValue[1]%></font> </td>
337
<td width="10%" align="center" colspan="2"><font face="Arial" size="2"><%=dataValue[2]%></font> </td>
338
<td width="10%" align="center" ><font face="Arial" size="2"><%=dataValue[3]%></font> </td>
346
catch(Exception e) { out.println(e.getMessage()); }
351
if(st1 != null) st1.close(); if(rs1 != null) rs1.close();
352
if(st2 != null) st2.close(); if(rs2 != null) rs2.close();
353
if(st3 != null) st3.close(); if(rs3 != null) rs3.close();
354
if(pst != null) pst.close(); if(rs4 != null) rs4.close();
356
if(con!=null) con.close();
358
catch(Exception e) { out.println(e.getMessage()); }
359
} // finally block end
b'\\ No newline at end of file'