~mortenoh/+junk/dhis2-detailed-import-export

« back to all changes in this revision

Viewing changes to local/in/dhis-web-reports/src/main/webapp/dhis-web-reports/Jharkhand/jkala-azar1-d.jsp

  • Committer: larshelge at gmail
  • Date: 2009-03-03 16:46:36 UTC
  • Revision ID: larshelge@gmail.com-20090303164636-2sjlrquo7ib1gf7r
Initial check-in

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
<%@ page import="java.sql.*,java.util.*" %>
 
3
<%@ page import="com.opensymphony.xwork.util.OgnlValueStack" %>
 
4
 
 
5
<%@ page session="true"%>
 
6
 
 
7
<%
 
8
    Connection con=null;
 
9
            
 
10
    // For finding organisationunit name of selected Orgunit based on Orgunit id
 
11
    Statement st1=null;
 
12
    ResultSet rs1=null;
 
13
      
 
14
    // For finding start date of selected period based on period id
 
15
    Statement st2=null;
 
16
    ResultSet rs2=null;
 
17
 
 
18
    // For finding child orgunit ids and names based on selected orgunit id
 
19
    Statement st3=null;
 
20
    ResultSet rs3=null;
 
21
 
 
22
   // For finding child orgunit 
 
23
    Statement st4=null;
 
24
    ResultSet rs4=null;
 
25
 
 
26
  
 
27
    String userName = "dhis";      
 
28
    String password = "";           
 
29
    String urlForConnection = "jdbc:mysql://localhost/jh_dhis2";
 
30
          
 
31
        OgnlValueStack stack = (OgnlValueStack)request.getAttribute("webwork.valueStack");
 
32
 
 
33
        String selectedId = (String) stack.findValue( "orgUnitId" );
 
34
        int selectedOrgUnitID = Integer.parseInt( selectedId );
 
35
        
 
36
//      String selectedPeriodId = (String) stack.findValue( "periodSelect" );
 
37
//      int selectedDataPeriodID =      Integer.parseInt( selectedPeriodId );
 
38
 
 
39
        String startingDate  = (String) stack.findValue( "startingPeriod" );
 
40
        String endingDate  = (String) stack.findValue( "endingPeriod" );
 
41
 
 
42
      
 
43
        String monthlyPeriodId = (String) stack.findValue( "monthlyPeriodTypeId" );
 
44
        int periodTypeID =      Integer.parseInt( monthlyPeriodId );
 
45
 
 
46
      
 
47
        String selectedOrgUnitName = "";        
 
48
        String selectedDataPeriodStartDate = ""; 
 
49
        
 
50
        String monthNames[] = { "", "January", "February", "March", "April", "May", "June", "July", "August", "September","October", "November", "December" };                  
 
51
 
 
52
        String monthlyDataElements[] = {
 
53
                                                                                        
 
54
                                                                                        "KALA_DE1",
 
55
                                                                                        "KALA_DE2",                                                                                     
 
56
                                                                                        "KALA_DE3",
 
57
 
 
58
                                                                                        "KALA_DE1",
 
59
                                                                                        "KALA_DE2",                                                                                     
 
60
                                                                                        "KALA_DE3"
 
61
                                                                                        
 
62
                                                                                };
 
63
        
 
64
        List childOrgUnitIDs = new ArrayList(); 
 
65
        List childOrgUnitNames = new ArrayList();       
 
66
                
 
67
        int childOrgUnitCount = 0;      
 
68
        int count = 0;          
 
69
        int i=0;
 
70
        int totPopulation = 0;
 
71
                
 
72
        int tempval[] = new int[16];
 
73
        int total[] = new int[16];
 
74
%>
 
75
 
 
76
<%
 
77
     try
 
78
      {
 
79
        Class.forName ("com.mysql.jdbc.Driver").newInstance ();
 
80
        con = DriverManager.getConnection (urlForConnection, userName, password);
 
81
        
 
82
        st1=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
 
83
        st2=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
 
84
        st3=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
 
85
        st4=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
 
86
 
 
87
        //rs1 = st1.executeQuery("SELECT organisationunit.shortname FROM organisationunit  WHERE id ="+selectedOrgUnitID);
 
88
        rs1 = st1.executeQuery("SELECT organisationunit.shortname FROM organisationunit  WHERE organisationunitid ="+selectedOrgUnitID);        
 
89
        if(rs1.next())    {  selectedOrgUnitName = rs1.getString(1);   }
 
90
        else  {  selectedOrgUnitName = "";    }  
 
91
                
 
92
//        rs2 = st2.executeQuery("select startDate from period where id = "+selectedDataPeriodID);
 
93
//          if(rs2.next())      {       selectedDataPeriodStartDate =  rs2.getDate(1).toString();       }  
 
94
 
 
95
                selectedDataPeriodStartDate = startingDate;
 
96
 
 
97
                                
 
98
            //rs3 =  st3.executeQuery("select id,shortname from organisationunit where parent = "+selectedOrgUnitID);
 
99
            rs3 =  st3.executeQuery("select organisationunitid,shortname from organisationunit where parentid = "+selectedOrgUnitID);
 
100
            while(rs3.next())
 
101
                 {
 
102
                        Integer tempInt = new Integer(rs3.getInt(1));
 
103
                        childOrgUnitIDs.add(childOrgUnitCount,tempInt);                 
 
104
                        childOrgUnitNames.add(childOrgUnitCount,rs3.getString(2));                      
 
105
                        childOrgUnitCount++;
 
106
                 } 
 
107
                                 
 
108
         } // try block end
 
109
    catch(Exception e)  { out.println(e.getMessage());  }
 
110
 
 
111
    
 
112
    
 
113
    String partsOfDataPeriodStartDate[]  =  selectedDataPeriodStartDate.split("-");
 
114
      int lastYear  = Integer.parseInt(partsOfDataPeriodStartDate[0]) - 1;
 
115
        String lastDataPeriodStartDate = lastYear+"-"+partsOfDataPeriodStartDate[1]+"-"+partsOfDataPeriodStartDate[2];
 
116
        
 
117
        int tempForMonth1 = Integer.parseInt(partsOfDataPeriodStartDate[1]);
 
118
        int tempForYear = 0;
 
119
                
 
120
    if(tempForMonth1 < 4)       {   tempForYear = lastYear;  }
 
121
        else  {   tempForYear = lastYear + 1;           }
 
122
    
 
123
    String tempForMonth2 = "";
 
124
    if(tempForMonth1-1 ==0) tempForMonth2 = "-"+(tempForMonth1-1)+"-01";
 
125
    else if(tempForMonth1-1 <= 9) {tempForMonth2 = "-0"+(tempForMonth1-1)+"-01";}
 
126
    else tempForMonth2 = "-"+(tempForMonth1-1)+"-01";   
 
127
 
 
128
        String curYearStart = tempForYear+"-04-01";
 
129
        String lastYearStart = (tempForYear-1)+"-04-01";
 
130
        String lastYearEnd = lastYear+"-"+partsOfDataPeriodStartDate[1]+"-"+partsOfDataPeriodStartDate[2];
 
131
        String curYearEnd = ""+partsOfDataPeriodStartDate[0]+""+tempForMonth2;
 
132
        
 
133
        String query="";
 
134
                             
 
135
%>
 
136
 
 
137
 
 
138
<HTML>
 
139
        <HEAD>
 
140
                <TITLE>Monthly Report on Kala-Azar</TITLE>
 
141
        </HEAD>
 
142
        <BODY>
 
143
                <P align="center"><FONT face="Arial" size="3"><b><u>Kala-Azar Report</u></b></font><br></p>
 
144
                
 
145
                <table cellpadding="0" cellspacing="0" bgcolor="ffffff" align="center" style="border-style:solid; border-width:0; border-collapse: collapse; padding: 0; position:relative; top:10" bordercolor="#ffffff" width="100%"  border="0">
 
146
                        <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%">
 
147
                                <td width="50%" style="border-collapse: collapse; border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0; padding-left:15; padding-right:0; padding-top:0; padding-bottom:0" bordercolor="#111111"  height="23">
 
148
                                <font face="Arial" size="3"><b>District :&nbsp;&nbsp;<%=selectedOrgUnitName%></b></font>
 
149
                                </td>
 
150
                                <td width="50%" align="right" style="border-collapse: collapse; border-left-style: solid; border-left-width: 0; border-right-style: solid; border-right-width: 0; padding-left:15; padding-right:0; padding-top:0; padding-bottom:0" bordercolor="#111111"  height="23">
 
151
                                <font face="Arial" size="2"><b>Month :&nbsp;&nbsp;<%=monthNames[Integer.parseInt(partsOfDataPeriodStartDate[1])]%> - <%=partsOfDataPeriodStartDate[0]%> </b></font>
 
152
                                </td>   
 
153
                        </tr>
 
154
                </table>
 
155
                
 
156
                <br>
 
157
                
 
158
                <%
 
159
                        
 
160
                        try
 
161
                          {
 
162
                                  count = 0;
 
163
                                  while(count < childOrgUnitCount)
 
164
                                   {                               
 
165
                                    if(count%20==0)
 
166
                                     {
 
167
                                       if(count != 0) {%></table><div align="right"><font face="Arial" size="1"><i>(page contd.)</i></font></div> <br><%}%>
 
168
                                     </table><br>
 
169
                                     <TABLE style="BORDER-COLLAPSE: collapse" borderColor=#111111 cellSpacing=3 cellPadding=3 width="100%" border=1>
 
170
                                                <TR>
 
171
                                                        <TD align="center" width="3%" rowSpan=2><b><font face="Arial" size="2">Sl. No.</font></b></TD>
 
172
                                                        <TD align="center" width="43%" rowSpan=2><b><font face="Arial" size="2">PHC</font></b></TD>
 
173
                                                        <TD align="center" width="18%" colspan="3"><b><font face="Arial" size="2">Report up to previous month</font></b></TD>
 
174
                                                        <TD align="center" width="18%" colspan="3"><b><font face="Arial" size="2">During the month</font></b></TD>
 
175
                                                        <TD align="center" width="18%" colspan="3"><b><font face="Arial" size="2">Progressive Total</font></b></TD>
 
176
                                        </TR>
 
177
                                                <TR>
 
178
                                                        <TD align="center" width="6%"><b><font face="Arial" size="2">Case</font></b></TD>
 
179
                                                        <TD align="center" width="6%"><b><font face="Arial" size="2">Death</font></b></TD>
 
180
                                                        <TD align="center" width="6%"><b><font face="Arial" size="2">Treated</font></b></TD>
 
181
                                                        <TD align="center" width="6%"><b><font face="Arial" size="2">Case</font></b></TD>
 
182
                                                        <TD align="center" width="6%"><b><font face="Arial" size="2">Death</font></b></TD>
 
183
                                                        <TD align="center" width="6%"><b><font face="Arial" size="2">Treated</font></b></TD>
 
184
                                                        <TD align="center" width="6%"><b><font face="Arial" size="2">Case</font></b></TD>
 
185
                                                        <TD align="center" width="6%"><b><font face="Arial" size="2">Death</font></b></TD>
 
186
                                                        <TD align="center" width="6%"><b><font face="Arial" size="2">Treated</font></b></TD>
 
187
                                        </TR>
 
188
                                                                                     
 
189
                                     <%}
 
190
                                        Integer temp1 = (Integer) childOrgUnitIDs.get(count);
 
191
                                        int currentChildID = temp1.intValue();                  
 
192
                                        for(i=0;i<6;i++)
 
193
                                         {                      
 
194
                                                 
 
195
                                                 // For PHC
 
196
                                                 // if(i>=0 && i<=2)
 
197
                                                 //           query = "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 '"+curYearStart+"' and '"+curYearEnd+"' and periodType = "+periodTypeID+") AND datavalue.source ="+currentChildID+" AND dataelement.code like '"+monthlyDataElements[i]+"'";
 
198
                                                 //else query = "SELECT datavalue.value FROM datavalue INNER JOIN dataelement ON datavalue.dataElement = dataelement.id WHERE datavalue.period ="+selectedDataPeriodID+" AND datavalue.source ="+currentChildID+" AND dataelement.code like '"+monthlyDataElements[i]+"'";                      
 
199
 
 
200
 
 
201
                                                 // For District
 
202
                                                 if(i>=0 && i<=2)
 
203
                                                              //query = "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 '"+curYearStart+"' and '"+curYearEnd+"' and periodType = "+periodTypeID+") AND datavalue.source in (select id from organisationunit where parent ="+currentChildID+")  AND dataelement.code like '"+monthlyDataElements[i]+"'";
 
204
                                                              query = "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 '"+curYearStart+"' and '"+curYearEnd+"' and periodtypeid = "+periodTypeID+") AND datavalue.sourceid in (select organisationunitid from organisationunit where parentid ="+currentChildID+")  AND dataelement.code like '"+monthlyDataElements[i]+"'";
 
205
                                                 else 
 
206
                                                        //query = "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 in (select id from organisationunit where parent ="+currentChildID+")  AND dataelement.code like '"+monthlyDataElements[i]+"'";
 
207
                                                        query = "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 in (select organisationunitid from organisationunit where parentid ="+currentChildID+")  AND dataelement.code like '"+monthlyDataElements[i]+"'";                         
 
208
                                                                                                
 
209
                                                rs4 = st4.executeQuery(query);
 
210
                                                
 
211
                                                if(!rs4.next())  {  tempval[i] = 0;      }
 
212
                                                else   {  tempval[i] = rs4.getInt(1);  }
 
213
                                                total[i] += tempval[i];
 
214
                                         }      
 
215
                           
 
216
                                   %>                                                                                           
 
217
                                        
 
218
                                        <TR>
 
219
                                        <TD width="3%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=(count+1)%>.</font></TD>
 
220
                                        <TD width="43%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=childOrgUnitNames.get(count)%></font></TD>
 
221
                                        <TD width="6%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=tempval[0]%></font></TD>
 
222
                                        <TD width="6%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=tempval[1]%></font></TD>
 
223
                                        <TD width="6%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=tempval[2]%></font></TD>
 
224
                                        <TD width="6%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=tempval[3]%></font></TD>
 
225
                                        <TD width="6%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=tempval[4]%></font></TD>
 
226
                                        <TD width="6%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=tempval[5]%></font></TD>
 
227
                                        <TD width="6%"  HEIGHT="20" align="center">&nbsp;</TD>
 
228
                                        <TD width="6%"  HEIGHT="20" align="center">&nbsp;</TD>
 
229
                                        <TD width="6%"  HEIGHT="20" align="center">&nbsp;</TD>
 
230
                                </TR>
 
231
                                <%                                      
 
232
                                        count++;
 
233
                                   }    // while loop end
 
234
                          } // try block end
 
235
                        catch(Exception e)  { out.println(e.getMessage());  }
 
236
                finally
 
237
                 {
 
238
                                try
 
239
                                 {
 
240
                                        if(rs1!=null)  rs1.close();             if(st1!=null)  st1.close();
 
241
                                        if(rs2!=null)  rs2.close();             if(st2!=null)  st2.close();
 
242
                                        if(rs3!=null)  rs3.close();             if(st3!=null)  st3.close();                                     
 
243
                                        if(rs4!=null)  rs4.close();             if(st4!=null)  st4.close();                             
 
244
                                
 
245
                                        if(con!=null)  con.close();
 
246
                                 }
 
247
                                catch(Exception e)   {  out.println(e.getMessage());   }
 
248
                 } // finally block end                                 
 
249
                %>
 
250
 
 
251
                        <TR>
 
252
                                <TD width="3%" HEIGHT="20" align="center"><FONT face="Arial" size="1">&nbsp;</font></TD>
 
253
                                <TD width="43%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><b>Total</b></font></TD>
 
254
                                <TD width="6%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=total[0]%></font></TD>
 
255
                                <TD width="6%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=total[1]%></font></TD>
 
256
                                <TD width="6%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=total[2]%></font></TD>
 
257
                                <TD width="6%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=total[3]%></font></TD>
 
258
                                <TD width="6%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=total[4]%></font></TD>
 
259
                                <TD width="6%" HEIGHT="20" align="center"><FONT face="Arial" size="2"><%=total[5]%></font></TD>
 
260
                                <TD width="6%"  HEIGHT="20" align="center"></TD>
 
261
                                <TD width="6%"  HEIGHT="20" align="center">&nbsp;</TD>
 
262
                                <TD width="6%"  HEIGHT="20" align="center">&nbsp;</TD>
 
263
                        </TR>
 
264
                </TABLE>
 
265
        </BODY>
 
266
</HTML>
 
 
b'\\ No newline at end of file'