Example usage for com.itextpdf.tool.xml.pipeline.css CSSResolver addCss

List of usage examples for com.itextpdf.tool.xml.pipeline.css CSSResolver addCss

Introduction

In this page you can find the example usage for com.itextpdf.tool.xml.pipeline.css CSSResolver addCss.

Prototype

void addCss(String content, boolean isPersistent) throws CssResolverException;

Source Link

Document

Add a piece of CSS code.

Usage

From source file:reports.genderpdf.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {//w  ww  . j a  v a2  s .  c  o  m
        response.setContentType("text/html;charset=UTF-8");
        session = request.getSession();

        dbConn conn = new dbConn();
        //get the existing data for the month, year and facility that is already on session

        String month = "";
        String year = "";
        String facil = "";

        String form = "gender";

        //=====================================================================================================

        year = "2015";
        month = "5";
        String county = "";

        String header = "";

        String reportType = "";
        if (request.getParameter("reportType") != null) {
            reportType = request.getParameter("reportType");
        }
        String reportDuration = "";
        if (request.getParameter("reportDuration") != null) {
            reportDuration = request.getParameter("reportDuration");
        }
        if (request.getParameter("year") != null) {
            year = request.getParameter("year");
        }

        if (request.getParameter("facility") != null && reportType.equals("2")) {
            facil = request.getParameter("facility");

            String getfacil = "select SubPartnerNom,CentreSanteId as mflcode from subpartnera where SubPartnerID='"
                    + facil + "'";
            conn.rs = conn.st.executeQuery(getfacil);

            while (conn.rs.next()) {

                header += " FACILITY : <u>" + conn.rs.getString(1).toUpperCase() + " </u>     MFL CODE  :  <u>"
                        + conn.rs.getString(2) + " </u> ";

            }

        }

        if (request.getParameter("county") != null && reportType.equals("2")) {
            county = request.getParameter("county");

            String getcounty = "select County from county where CountyID='" + county + "'";
            conn.rs = conn.st.executeQuery(getcounty);

            while (conn.rs.next()) {

                header += " COUNTY : <u>" + conn.rs.getString(1).toUpperCase() + " </u>";

            }

        }

        if (request.getParameter("month") != null && reportDuration.equals("4")) {
            month = request.getParameter("month");

            String getmonth = "select name as monthname from month where id='" + month + "'";
            conn.rs = conn.st.executeQuery(getmonth);

            while (conn.rs.next()) {

                header += " MONTH : <u>" + conn.rs.getString(1).toUpperCase() + " </u>";

            }

        }

        header += " YEAR : <u>" + year + "</u>";

        String facilitywhere = "";
        String yearwhere = "";
        String monthwhere = "";
        String countywhere = "";
        String duration = "";
        String semi_annual = "";
        String quarter = "";

        //==================================================================================================
        //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        int yearcopy = Integer.parseInt(year);

        //        reportType="2";
        //        year=2015;
        //        reportDuration="3";
        String yearmonth = "" + year;
        int prevYear = yearcopy - 1;
        int maxYearMonth = 0;
        int monthcopy = 0;
        //        GET REPORT DURATION============================================

        if (reportDuration.equals("1")) {
            yearmonth += "_AnnualReport";
            duration = " " + form + ".yearmonth BETWEEN " + prevYear + "10 AND " + year + "09";
        } else if (reportDuration.equals("2")) {
            semi_annual = request.getParameter("semi_annual");
            //        semi_annual="2";
            if (semi_annual.equals("1")) {
                yearmonth = prevYear + "_Oct_" + year + "_Mar";
                duration = " " + form + ".yearmonth BETWEEN " + prevYear + "10 AND " + year + "03";
            } else {
                yearmonth += "_Apr_Sep";
                duration = " " + form + ".yearmonth BETWEEN " + year + "04 AND " + year + "09";
            }
        }

        else if (reportDuration.equals("3")) {
            String startMonth, endMonth;
            quarter = request.getParameter("quarter");
            //       quarter="3";
            String getMonths = "SELECT months,name FROM quarter WHERE id='" + quarter + "'";
            conn.rs = conn.st.executeQuery(getMonths);
            if (conn.rs.next() == true) {

                String months[] = conn.rs.getString(1).split(",");
                startMonth = months[0];
                endMonth = months[2];
                if (quarter.equals("1")) {
                    duration = " " + form + ".yearmonth BETWEEN " + prevYear + "" + startMonth + " AND "
                            + prevYear + "" + endMonth;
                    yearmonth = prevYear + "_" + conn.rs.getString(2);
                } else {
                    yearmonth = year + "_" + conn.rs.getString(2);
                    duration = " " + form + ".yearmonth BETWEEN " + year + "" + startMonth + " AND " + year + ""
                            + endMonth;
                }
            }
        }

        else if (reportDuration.equals("4")) {
            monthcopy = Integer.parseInt(request.getParameter("month"));

            //     month=5;
            if (monthcopy >= 10) {
                yearmonth = prevYear + "_" + month;
                duration = " " + form + ".yearmonth=" + prevYear + "" + month;
            } else {
                duration = " " + form + ".yearmonth=" + year + "0" + month;
                yearmonth = year + "_(" + month + ")";
            }
        } else {
            duration = "";
        }

        //==================================================================================================
        //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        String getexistingdata = "";

        if (!county.equals("")) {

            countywhere = " and countyid = '" + county + "'";

        }

        if (!facil.equals("") && reportType.equalsIgnoreCase("2")) {

            facilitywhere = " and " + form + ".SubPartnerID = '" + facil + "'";

        }

        String joinedwhwere = " where 1=1 " + facilitywhere + "  " + yearwhere + " && " + duration;

        // String joinedwhwere=" where 1=1 "+yearwhere+" && "+duration;  

        //=====================================================================================================    

        getexistingdata = "select sum(P121DM0) as P121DM0,    sum(P121DF0) as P121DF0,    sum(P121DM10) as P121DM10,    sum(P121DF10) as P121DF10,    sum(P121DM15) as P121DM15,   sum(P121DF15) as P121DF15,   sum(P121DM20) as P121DM20,    sum(P121DF20) as P121DF20,   sum(P121DM25) as  P121DM25,    sum(P121DF25) as P121DF25,    sum(P121DMT) as  P121DMT,    sum(P121DFT) as P121DFT,    sum(P121DTT) as P121DTT,    sum(P122DM0) as P122DM0,    sum(P122DF0) as P122DF0,    sum(P122DM15) as  P122DM15,     sum(P122DF15) as P122DF15,     sum(P122DM25) as P122DM25,     sum(P122DF25) as P122DF25,     sum(P122DMT) as P122DMT,     sum(P122DFT) as P122DFT,     sum(P122DTT) as P122DTT,     sum(P123DM0) as P123DM0,     sum(P123DF0) as P123DF0,     sum(P123DM15) as P123DM15,     sum(P123DF15) as P123DF15,     sum(P123DM25) as P123DM25,     sum(P123DF25) as P123DF25,     sum(P123DMT) as P123DMT,     sum(P123DFT) as P123DFT,     sum(P123DTT) as P123DTT,     sum(P124DM0) as P124DM0,     sum(P124DF0) as P124DF0,     sum(P124DM15) as P124DM15,     sum(P124DF15) as P124DF15,     sum(P124DM25) as P124DM25,     sum(P124DF25) as P124DF25,     sum(P124DMT) as P124DMT,     sum(P124DFT) as P124DFT,     sum(P124DTT) as P124DTT,     sum(GEND_GBV9M) as GEND_GBV9M,     sum(GEND_GBV9F) as GEND_GBV9F,     sum(GEND_GBV9) as GEND_GBV9,     sum(GEND_GBV14M) as GEND_GBV14M,     sum(GEND_GBV14F) as GEND_GBV14F,     sum(GEND_GBV14) as GEND_GBV14,     sum(GEND_GBV17M) as GEND_GBV17M,     sum(GEND_GBV17F) as GEND_GBV17F,     sum(GEND_GBV17) as GEND_GBV17,     sum(GEND_GBV24M) as GEND_GBV24M,     sum(GEND_GBV24F) as GEND_GBV24F,     sum(GEND_GBV24) as GEND_GBV24,     sum(GEND_GBV25M) as GEND_GBV25M,     sum(GEND_GBV25F) as GEND_GBV25F,     sum(GEND_GBV25) as GEND_GBV25,     sum(GEND_GBVM) as GEND_GBVM,     sum(GEND_GBVF) as GEND_GBVF,     sum(GEND_GBV) as GEND_GBV,       sum(P121D0) as P121D0,     sum(P121D10) as P121D10,     sum(P121D15) as P121D15,     sum(P121D20) as P121D20,     sum(P121D25) as P121D25,     sum(P122D0) as P122D0,     sum(P122D15) as P122D15,     sum(P122D25) as P122D25,     sum(P123D0) as P123D0,     sum(P123D15) as P123D15,     sum(P123D25) as P123D25,     sum(P124D0) as P124D0,     sum(P124D15) as P124D15,     sum(P124D25) as P124D25    from "
                + form
                + " join ( subpartnera join (district join county on county.CountyID=district.CountyID ) on district.DistrictID = subpartnera.DistrictID )  on "
                + form + ".SubPartnerID = subpartnera.SubPartnerID   " + joinedwhwere + "  ";

        System.out.println(getexistingdata);
        String P121DM0 = "";
        String P121DF0 = "";
        String P121DM10 = "";
        String P121DF10 = "";
        String P121DM15 = "";
        String P121DF15 = "";
        String P121DM20 = "";
        String P121DF20 = "";
        String P121DM25 = "";
        String P121DF25 = "";
        String P121DMT = "";
        String P121DFT = "";
        String P121DTT = "";
        String P122DM0 = "";
        String P122DF0 = "";
        String P122DM15 = "";
        String P122DF15 = "";
        String P122DM25 = "";
        String P122DF25 = "";
        String P122DMT = "";
        String P122DFT = "";
        String P122DTT = "";
        String P123DM0 = "";
        String P123DF0 = "";
        String P123DM15 = "";
        String P123DF15 = "";
        String P123DM25 = "";
        String P123DF25 = "";
        String P123DMT = "";
        String P123DFT = "";
        String P123DTT = "";
        String P124DM0 = "";
        String P124DF0 = "";
        String P124DM15 = "";
        String P124DF15 = "";
        String P124DM25 = "";
        String P124DF25 = "";
        String P124DMT = "";
        String P124DFT = "";
        String P124DTT = "";
        String GEND_GBV9M = "";
        String GEND_GBV9F = "";
        String GEND_GBV9 = "";
        String GEND_GBV14M = "";
        String GEND_GBV14F = "";
        String GEND_GBV14 = "";
        String GEND_GBV17M = "";
        String GEND_GBV17F = "";
        String GEND_GBV17 = "";
        String GEND_GBV24M = "";
        String GEND_GBV24F = "";
        String GEND_GBV24 = "";
        String GEND_GBV25M = "";
        String GEND_GBV25F = "";
        String GEND_GBV25 = "";
        String GEND_GBVM = "";
        String GEND_GBVF = "";
        String GEND_GBV = "";

        String P121D0 = "";
        String P121D10 = "";
        String P121D15 = "";
        String P121D20 = "";
        String P121D25 = "";
        String P122D0 = "";
        String P122D15 = "";
        String P122D25 = "";
        String P123D0 = "";
        String P123D15 = "";
        String P123D25 = "";
        String P124D0 = "";
        String P124D15 = "";
        String P124D25 = "";

        String distid = "";

        if (session.getAttribute("subcountyid") != null) {
            distid = session.getAttribute("subcountyid").toString();
        }

        int counter = 0;

        conn.rs = conn.st.executeQuery(getexistingdata);
        while (conn.rs.next()) {
            //now check if form was updated and if its one month after data entry
            //now load the column values here

            //====================================================================p122       
            P121DM0 = conn.rs.getString("P121DM0");
            if (P121DM0 == null) {
                P121DM0 = "";
            }

            P121DF0 = conn.rs.getString("P121DF0");
            if (P121DF0 == null) {
                P121DF0 = "";
            }

            P121DM10 = conn.rs.getString("P121DM10");
            if (P121DM10 == null) {
                P121DM10 = "";
            }

            P121DF10 = conn.rs.getString("P121DF10");
            if (P121DF10 == null) {
                P121DF10 = "";
            }

            P121DM15 = conn.rs.getString("P121DM15");
            if (P121DM15 == null) {
                P121DM15 = "";
            }

            P121DF15 = conn.rs.getString("P121DF15");
            if (P121DF15 == null) {
                P121DF15 = "";
            }

            P121DM20 = conn.rs.getString("P121DM20");
            if (P121DM20 == null) {
                P121DM20 = "";
            }

            P121DF20 = conn.rs.getString("P121DF20");
            if (P121DF20 == null) {
                P121DF20 = "";
            }

            P121DM25 = conn.rs.getString("P121DM25");
            if (P121DM25 == null) {
                P121DM25 = "";
            }

            P121DF25 = conn.rs.getString("P121DF25");
            if (P121DF25 == null) {
                P121DF25 = "";
            }

            P121DMT = conn.rs.getString("P121DMT");
            if (P121DMT == null) {
                P121DMT = "";
            }

            P121DFT = conn.rs.getString("P121DFT");
            if (P121DFT == null) {
                P121DFT = "";
            }

            P121DTT = conn.rs.getString("P121DTT");
            if (P121DTT == null) {
                P121DTT = "";
            }

            //====================================================================p122

            P122DM0 = conn.rs.getString("P122DM0");
            if (P122DM0 == null) {
                P122DM0 = "";
            }

            P122DF0 = conn.rs.getString("P122DF0");
            if (P122DF0 == null) {
                P122DF0 = "";
            }

            P122DM15 = conn.rs.getString("P122DM15");
            if (P122DM15 == null) {
                P122DM15 = "";
            }

            P122DF15 = conn.rs.getString("P122DF15");
            if (P122DF15 == null) {
                P122DF15 = "";
            }

            P122DM25 = conn.rs.getString("P122DM25");
            if (P122DM25 == null) {
                P122DM25 = "";
            }

            P122DF25 = conn.rs.getString("P122DF25");
            if (P122DF25 == null) {
                P122DF25 = "";
            }

            P122DMT = conn.rs.getString("P122DMT");
            if (P122DMT == null) {
                P122DMT = "";
            }

            P122DFT = conn.rs.getString("P122DFT");
            if (P122DFT == null) {
                P122DFT = "";
            }

            P122DTT = conn.rs.getString("P122DTT");
            if (P122DTT == null) {
                P122DTT = "";
            }

            //====================================================================p123

            P123DM0 = conn.rs.getString("P123DM0");
            if (P123DM0 == null) {
                P123DM0 = "";
            }

            P123DF0 = conn.rs.getString("P123DF0");
            if (P123DF0 == null) {
                P123DF0 = "";
            }

            P123DM15 = conn.rs.getString("P123DM15");
            if (P123DM15 == null) {
                P123DM15 = "";
            }

            P123DF15 = conn.rs.getString("P123DF15");
            if (P123DF15 == null) {
                P123DF15 = "";
            }

            P123DM25 = conn.rs.getString("P123DM25");
            if (P123DM25 == null) {
                P123DM25 = "";
            }

            P123DF25 = conn.rs.getString("P123DF25");
            if (P123DF25 == null) {
                P123DF25 = "";
            }

            P123DMT = conn.rs.getString("P123DMT");
            if (P123DMT == null) {
                P123DMT = "";
            }

            P123DFT = conn.rs.getString("P123DFT");
            if (P123DFT == null) {
                P123DFT = "";
            }

            P123DTT = conn.rs.getString("P123DTT");
            if (P123DTT == null) {
                P123DTT = "";
            }

            //====================================================================p124

            P124DM0 = conn.rs.getString("P124DM0");
            if (P124DM0 == null) {
                P124DM0 = "";
            }

            P124DF0 = conn.rs.getString("P124DF0");
            if (P124DF0 == null) {
                P124DF0 = "";
            }

            P124DM15 = conn.rs.getString("P124DM15");
            if (P124DM15 == null) {
                P124DM15 = "";
            }

            P124DF15 = conn.rs.getString("P124DF15");
            if (P124DF15 == null) {
                P124DF15 = "";
            }

            P124DM25 = conn.rs.getString("P124DM25");
            if (P124DM25 == null) {
                P124DM25 = "";
            }

            P124DF25 = conn.rs.getString("P124DF25");
            if (P124DF25 == null) {
                P124DF25 = "";
            }

            P124DMT = conn.rs.getString("P124DMT");
            if (P124DMT == null) {
                P124DMT = "";
            }

            P124DFT = conn.rs.getString("P124DFT");
            if (P124DFT == null) {
                P124DFT = "";
            }

            P124DTT = conn.rs.getString("P124DTT");
            if (P124DTT == null) {
                P124DTT = "";
            }

            //=========================================================GEND_GBV

            GEND_GBV9M = conn.rs.getString("GEND_GBV9M");
            if (GEND_GBV9M == null) {
                GEND_GBV9M = "";
            }

            GEND_GBV9F = conn.rs.getString("GEND_GBV9F");
            if (GEND_GBV9F == null) {
                GEND_GBV9F = "";
            }

            GEND_GBV9 = conn.rs.getString("GEND_GBV9");
            if (GEND_GBV9 == null) {
                GEND_GBV9 = "";
            }

            //============
            GEND_GBV14M = conn.rs.getString("GEND_GBV14M");
            if (GEND_GBV14M == null) {
                GEND_GBV14M = "";
            }

            GEND_GBV14F = conn.rs.getString("GEND_GBV14F");
            if (GEND_GBV14F == null) {
                GEND_GBV14F = "";
            }

            GEND_GBV14 = conn.rs.getString("GEND_GBV14");
            if (GEND_GBV14 == null) {
                GEND_GBV14 = "";
            }
            //=======

            //============
            GEND_GBV17M = conn.rs.getString("GEND_GBV17M");
            if (GEND_GBV17M == null) {
                GEND_GBV17M = "";
            }

            GEND_GBV17F = conn.rs.getString("GEND_GBV17F");
            if (GEND_GBV17F == null) {
                GEND_GBV17F = "";
            }

            GEND_GBV17 = conn.rs.getString("GEND_GBV17");
            if (GEND_GBV17 == null) {
                GEND_GBV17 = "";
            }
            //=======

            //============
            GEND_GBV24M = conn.rs.getString("GEND_GBV24M");
            if (GEND_GBV24M == null) {
                GEND_GBV24M = "";
            }

            GEND_GBV24F = conn.rs.getString("GEND_GBV24F");
            if (GEND_GBV24F == null) {
                GEND_GBV24F = "";
            }

            GEND_GBV24 = conn.rs.getString("GEND_GBV24");
            if (GEND_GBV24 == null) {
                GEND_GBV24 = "";
            }
            //=======

            //============
            GEND_GBV25M = conn.rs.getString("GEND_GBV25M");
            if (GEND_GBV25M == null) {
                GEND_GBV25M = "";
            }

            GEND_GBV25F = conn.rs.getString("GEND_GBV25F");
            if (GEND_GBV25F == null) {
                GEND_GBV25F = "";
            }

            GEND_GBV25 = conn.rs.getString("GEND_GBV25");
            if (GEND_GBV25 == null) {
                GEND_GBV25 = "";
            }
            //=======

            //============
            GEND_GBVM = conn.rs.getString("GEND_GBVM");
            if (GEND_GBVM == null) {
                GEND_GBVM = "";
            }

            GEND_GBVF = conn.rs.getString("GEND_GBVF");
            if (GEND_GBVF == null) {
                GEND_GBVF = "";
            }

            GEND_GBV = conn.rs.getString("GEND_GBV");
            if (GEND_GBV == null) {
                GEND_GBV = "";
            }

            //=======
            //added totals
            //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            P121D0 = conn.rs.getString("P121D0");
            if (P121D0 == null) {
                P121D0 = "";
            }

            P121D10 = conn.rs.getString("P121D10");
            if (P121D10 == null) {
                P121D10 = "";
            }

            P121D15 = conn.rs.getString("P121D15");
            if (P121D15 == null) {
                P121D15 = "";
            }

            P121D20 = conn.rs.getString("P121D20");
            if (P121D20 == null) {
                P121D20 = "";
            }

            P121D25 = conn.rs.getString("P121D25");
            if (P121D25 == null) {
                P121D25 = "";
            }

            P122D0 = conn.rs.getString("P122D0");
            if (P122D0 == null) {
                P122D0 = "";
            }

            P122D15 = conn.rs.getString("P122D15");
            if (P122D15 == null) {
                P122D15 = "";
            }

            P122D25 = conn.rs.getString("P122D25");
            if (P122D25 == null) {
                P122D25 = "";
            }

            P123D0 = conn.rs.getString("P123D0");
            if (P123D0 == null) {
                P123D0 = "";
            }

            P123D15 = conn.rs.getString("P123D15");
            if (P123D15 == null) {
                P123D15 = "";
            }

            P123D25 = conn.rs.getString("P123D25");
            if (P123D25 == null) {
                P123D25 = "";
            }

            P124D0 = conn.rs.getString("P124D0");
            if (P124D0 == null) {
                P124D0 = "";
            }

            P124D15 = conn.rs.getString("P124D15");
            if (P124D15 == null) {
                P124D15 = "";
            }

            P124D25 = conn.rs.getString("P124D25");
            if (P124D25 == null) {
                P124D25 = "";
            }

        }

        String createdtable = "";

        if (1 == 1) {

            createdtable = header
                    + "<br/><br/><table   border='1' style='border-color: #e5e5e5;margin-bottom: 3px;font-size:10;font-family:cambria;'>"
                    + "<tr class='form-actions'><th colspan='6'><b style='text-align:center;'> Prevention Sub Area 12:Gender</b></th></tr>";

            createdtable += "<tr><td rowspan='7'><b> P12.1.D: </b></td><td rowspan='7'> GEND_NORM: Number of people completing an intervention pertaining to gender norms, that meets minimum</td><td class='form-actions'>AGE</td><td class='form-actions'>MALE</td><td style='width:80px;' class='form-actions'>FEMALE</td><td class='form-actions'>TOTAL</td></tr>";
            createdtable += "<tr><td><b>0-9</b></td><td>" + P121DM0 + "</td><td>" + P121DF0 + "</td><td>"
                    + P121D0 + "</td></tr>";
            createdtable += "<tr><td><b>10-14</b></td><td>" + P121DM10 + "</td><td>" + P121DF10 + "</td><td>"
                    + P121D10 + "</td></tr>";
            createdtable += "<tr><td><b>15-19</b></td><td>" + P121DM15 + "</td><td>" + P121DF15 + "</td><td>"
                    + P121D15 + "</td></tr>";
            createdtable += "<tr><td><b>20-24</b></td><td>" + P121DM20 + "</td><td>" + P121DF20 + "</td><td>"
                    + P121D20 + "</td></tr>";
            createdtable += "<tr><td><b>25+ </b></b></td><td>" + P121DM25 + "</td><td>" + P121DF25 + "</td><td>"
                    + P121D25 + "</td></tr>";
            createdtable += "<tr><td><b>Total</b></td><td>" + P121DMT + "</td><td>" + P121DFT + "</td><td>"
                    + P121DTT + "</td></tr>";

            createdtable += "<tr><td rowspan='4'><b> P12.2.D: </b></td><td rowspan='4'>Gender Based Violence and Coercion: Number of people reached by an individual, small group or community?level intervention or service that explicitly addresses gender?based violence and coercion related to HIV/AIDS<td><b>0-14</b></td><td>"
                    + P122DM0 + "</td><td>" + P122DF0 + "</td><td>" + P122D0 + "</td></tr>";
            createdtable += "<tr><td><b>15-24</b></td><td>" + P122DM15 + "</td><td>" + P122DF15 + "</td><td>"
                    + P122D15 + "</td></tr>";
            createdtable += "<tr><td><b>25+</b></td><td>" + P122DM25 + "</td><td>" + P122DF25 + "</td><td>"
                    + P122D25 + "</td></tr>";
            createdtable += "<tr><td><b>Total</b></td><td>" + P122DMT + "</td><td>" + P122DFT + "</td><td>"
                    + P122DTT + "</td></tr>";

            createdtable += "<tr><td rowspan='4'><b> P12.3.D: </b></td><td rowspan='4'>Women's Legal Rights and Protection Number of people reached by an individual, small group, or community?level intervention or service that explicitly addresses the legal rights and protection of women and girls impacted by HIV/AIDS<td><b>0-14</b></td><td>"
                    + P123DM0 + "</td><td>" + P123DF0 + "</td><td>" + P123D0 + "</td></tr>";
            createdtable += "<tr><td><b>15-24</b></td><td>" + P123DM15 + "</td><td>" + P123DF15 + "</td><td>"
                    + P123D15 + "</td></tr>";
            createdtable += "<tr><td><b>25+</b></td><td>" + P123DM25 + "</td><td>" + P123DF25 + "</td><td>"
                    + P123D25 + "</td></tr>";
            createdtable += "<tr><td><b>Total</b></td><td>" + P123DMT + "</td><td>" + P123DFT + "</td><td>"
                    + P123DTT + "</td></tr>";

            createdtable += "<tr><td rowspan='4'><b> P12.4.D: </b></td><td rowspan='4'>Number of people reached by an individual, small group, or community?level intervention or service that explicitly aims to increase access to income and productive resources of women and girls impacted by HIV/AIDS M 0-15<td><b>0-14</b></td><td>"
                    + P124DM0 + "</td><td>" + P124DF0 + "</td><td>" + P124D0 + "</td></tr>";
            createdtable += "<tr><td><b>15-24</b></td><td>" + P124DM15 + "</td><td>" + P124DF15 + "</td><td> "
                    + P124D15 + "</td></tr>";
            createdtable += "<tr><td><b>25+</b></td><td>" + P124DM25 + "</td><td>" + P124DF25 + "</td><td>"
                    + P124D25 + "</td></tr>";
            createdtable += "<tr><td><b>Total</b></td><td>" + P124DMT + "</td><td>" + P124DFT + "</td><td>"
                    + P124DTT + "</td></tr>";
            createdtable += "<tr><td rowspan='6'><b> GEND_GBV </b></td><td rowspan='6'>Number of people receiving post-GBV Care<td><b> less than 10 </b> </td><td>"
                    + GEND_GBV9M + "</td><td>" + GEND_GBV9F + "</td><td>" + GEND_GBV9 + "</td></tr>";
            createdtable += "<tr><td><b>10-14</b></td><td>" + GEND_GBV14M + "</td><td>" + GEND_GBV14F
                    + "</td><td>" + GEND_GBV14 + "</td></tr>";
            createdtable += "<tr><td><b>15-17</b></td><td>" + GEND_GBV17M + "</td><td>" + GEND_GBV17F
                    + "</td><td>" + GEND_GBV17 + "</td></tr>";
            createdtable += "<tr><td><b>18-24</b></td><td>" + GEND_GBV24M + "</td><td>" + GEND_GBV24F
                    + "</td><td>" + GEND_GBV24 + "</td></tr>";
            createdtable += "<tr><td><b>25+</b></td><td>" + GEND_GBV25M + "</td><td>" + GEND_GBV25F
                    + "</td><td>" + GEND_GBV25 + "</td></tr>";
            createdtable += "<tr><td><b>Total</b></td><td>" + GEND_GBVM + "</td><td>" + GEND_GBVF + "</td><td>"
                    + GEND_GBV + "</td></tr>";
            createdtable += "<tr><td></td><td></td><td class='form-actions'>AGE</td><td class='form-actions'>MALE</td><td style='width:80px;' class='form-actions'>FEMALE</td><td class='form-actions'>TOTAL</td></tr>";
            createdtable += "</table>";

        }

        //System.out.println(createdtable);

        if (conn.conn != null) {
            conn.conn.close();
        }
        if (conn.rs != null) {
            conn.rs.close();
        }
        if (conn.rs1 != null) {
            conn.rs1.close();
        }
        if (conn.rs2 != null) {
            conn.rs2.close();
        }
        if (conn.st != null) {
            conn.st.close();
        }
        if (conn.st2 != null) {
            conn.st2.close();
        }

        Document document = new Document();
        ByteArrayOutputStream outByteStream = new ByteArrayOutputStream();
        try {
            PdfWriter.getInstance(document, outByteStream);
        } catch (DocumentException ex) {
            Logger.getLogger(Vmmcpdf.class.getName()).log(Level.SEVERE, null, ex);
        }
        document.open();

        HTMLWorker htmlWorker = new HTMLWorker(document);
        htmlWorker.parse(new StringReader(createdtable));

        CSSResolver cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(false);
        try {
            cssResolver.addCss("", true);
        } catch (CssResolverException ex) {
            Logger.getLogger(Vmmcpdf.class.getName()).log(Level.SEVERE, null, ex);
        }

        document.close();

        IdGenerator IG = new IdGenerator();
        String createdOn = IG.CreatedOn();

        response.setContentType("application/pdf");
        response.setContentLength(outByteStream.size());
        response.setHeader("Expires:", "0"); // eliminates browser caching
        response.setHeader("Content-Disposition",
                "attachment; filename=" + form + yearmonth + "_Generated_On_" + createdOn + ".pdf");

        ServletOutputStream sos;
        sos = response.getOutputStream();
        outByteStream.writeTo(sos);
        sos.flush();

    } catch (SQLException ex) {
        Logger.getLogger(Vmmcpdf.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:reports.kmmppdf.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {/* w w w. jav a  2s.c  om*/
        response.setContentType("text/html;charset=UTF-8");
        session = request.getSession();

        dbConn conn = new dbConn();
        //get the existing data for the month, year and facility that is already on session

        String month = "";
        String year = "";
        String facil = "361";

        String form = "kmmp";

        //=====================================================================================================

        year = "2015";
        month = "5";
        String county = "";

        String header = "";

        String reportType = "";
        if (request.getParameter("reportType") != null) {
            reportType = request.getParameter("reportType");
        }
        String reportDuration = "";
        if (request.getParameter("reportDuration") != null) {
            reportDuration = request.getParameter("reportDuration");
        }

        if (request.getParameter("year") != null) {
            year = request.getParameter("year");
        }

        if (request.getParameter("facility") != null && reportType.equals("2")) {
            facil = request.getParameter("facility");

            String getfacil = "select SubPartnerNom,CentreSanteId as mflcode from subpartnera where SubPartnerID='"
                    + facil + "'";
            conn.rs = conn.st.executeQuery(getfacil);

            while (conn.rs.next()) {

                header += " FACILITY : <u>" + conn.rs.getString(1).toUpperCase() + " </u>     MFL CODE  :  <u>"
                        + conn.rs.getString(2) + " </u> ";

            }

        }

        if (request.getParameter("county") != null && reportType.equals("2")) {
            county = request.getParameter("county");

            String getcounty = "select County from county where CountyID='" + county + "'";
            conn.rs = conn.st.executeQuery(getcounty);

            while (conn.rs.next()) {

                header += " COUNTY : <u>" + conn.rs.getString(1).toUpperCase() + " </u>";

            }

        }

        if (request.getParameter("month") != null && reportDuration.equals("4")) {
            month = request.getParameter("month");

            String getmonth = "select name as monthname from month where id='" + month + "'";
            conn.rs = conn.st.executeQuery(getmonth);

            while (conn.rs.next()) {

                header += " MONTH : <u>" + conn.rs.getString(1).toUpperCase() + " </u>";

            }

        }

        header += " YEAR : <u>" + year + "</u>";

        String facilitywhere = "";
        String yearwhere = "";
        String monthwhere = "";
        String countywhere = "";
        String duration = "";
        String semi_annual = "";
        String quarter = "";

        //==================================================================================================
        //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        int yearcopy = Integer.parseInt(year);

        //        reportType="2";
        //        year=2015;
        //        reportDuration="3";
        String yearmonth = "" + year;
        int prevYear = yearcopy - 1;
        int maxYearMonth = 0;
        int monthcopy = 0;
        //        GET REPORT DURATION============================================

        if (reportDuration.equals("1")) {
            yearmonth += "_AnnualReport";
            duration = " " + form + ".yearmonth BETWEEN " + prevYear + "10 AND " + year + "09";
        } else if (reportDuration.equals("2")) {
            semi_annual = request.getParameter("semi_annual");
            //        semi_annual="2";
            if (semi_annual.equals("1")) {
                yearmonth = prevYear + "_Oct_" + year + "_Mar";
                duration = " " + form + ".yearmonth BETWEEN " + prevYear + "10 AND " + year + "03";
            } else {
                yearmonth += "_Apr_Sep";
                duration = " " + form + ".yearmonth BETWEEN " + year + "04 AND " + year + "09";
            }
        }

        else if (reportDuration.equals("3")) {
            String startMonth, endMonth;
            quarter = request.getParameter("quarter");
            //       quarter="3";
            String getMonths = "SELECT months,name FROM quarter WHERE id='" + quarter + "'";
            conn.rs = conn.st.executeQuery(getMonths);
            if (conn.rs.next() == true) {

                String months[] = conn.rs.getString(1).split(",");
                startMonth = months[0];
                endMonth = months[2];
                if (quarter.equals("1")) {
                    duration = " " + form + ".yearmonth BETWEEN " + prevYear + "" + startMonth + " AND "
                            + prevYear + "" + endMonth;
                    yearmonth = prevYear + "_" + conn.rs.getString(2);
                } else {
                    yearmonth = year + "_" + conn.rs.getString(2);
                    duration = " " + form + ".yearmonth BETWEEN " + year + "" + startMonth + " AND " + year + ""
                            + endMonth;
                }
            }
        }

        else if (reportDuration.equals("4")) {
            monthcopy = Integer.parseInt(request.getParameter("month"));

            //     month=5;
            if (monthcopy >= 10) {
                yearmonth = prevYear + "_" + month;
                duration = " " + form + ".yearmonth=" + prevYear + "" + month;
            } else {
                duration = " " + form + ".yearmonth=" + year + "0" + month;
                yearmonth = year + "_(" + month + ")";
            }
        } else {
            duration = "";
        }

        //======================================================================   

        //==================================================================================================
        //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        String getexistingdata = "";

        if (!county.equals("")) {

            countywhere = " and countyid = '" + county + "'";

        }

        if (!facil.equals("") && reportType.equalsIgnoreCase("2")) {

            facilitywhere = " and kmmp.SubPartnerID = '" + facil + "'";

        }

        //String joinedwhwere=" where 1=1 "+yearwhere+" && "+duration;  

        String joinedwhwere = " where 1=1 " + facilitywhere + "  " + yearwhere + " && " + duration;

        //=====================================================================================================    

        getexistingdata = "select  sum(KMMP1) as KMMP1,   sum(KMMP2) as KMMP2,  sum(KMMP3a) as KMMP3a,   sum(KMMP3b) as KMMP3b,   avg(KMMP3c) as KMMP3c ,   sum(KMMP4) as KMMP4 ,   sum(KMMP5a) as KMMP5a,    sum(KMMP5b) as KMMP5b,    sum(KMMP5c) as KMMP5c,    sum(HV0205) as HV0205,    sum(HV0206) as HV0206 from kmmp join ( subpartnera join (district join county on county.CountyID=district.CountyID ) on district.DistrictID = subpartnera.DistrictID )  on kmmp.SubPartnerID = subpartnera.SubPartnerID   "
                + joinedwhwere + "  ";

        System.out.println(getexistingdata);
        String formtype = "<b><font color='#4b8df8'>New Entry</font></b>";
        String KMMP1 = "";
        String KMMP2 = "";
        String KMMP3a = "";
        String KMMP3b = "";
        String KMMP3c = "";
        String KMMP4 = "";
        String KMMP5a = "";
        String KMMP5b = "";
        String KMMP5c = "";
        String HV0205 = "";
        String HV0206 = "";

        String distid = "";

        if (session.getAttribute("subcountyid") != null) {
            distid = session.getAttribute("subcountyid").toString();
        }

        int counter = 0;

        conn.rs = conn.st.executeQuery(getexistingdata);
        while (conn.rs.next()) {
            //now check if form was updated and if its one month after data entry
            //now load the column values here

            KMMP1 = conn.rs.getString("KMMP1");
            if (KMMP1 == null) {
                KMMP1 = "";
            }

            KMMP2 = conn.rs.getString("KMMP2");
            if (KMMP2 == null) {
                KMMP2 = "";
            }

            KMMP3a = conn.rs.getString("KMMP3a");
            if (KMMP3a == null) {
                KMMP3a = "";
            }

            KMMP3b = conn.rs.getString("KMMP3b");
            if (KMMP3b == null) {
                KMMP3b = "";
            }

            KMMP3c = conn.rs.getString("KMMP3c");
            if (KMMP3c == null) {
                KMMP3c = "";
            }

            KMMP4 = conn.rs.getString("KMMP4");
            if (KMMP4 == null) {
                KMMP4 = "";
            }

            KMMP5a = conn.rs.getString("KMMP5a");
            if (KMMP5a == null) {
                KMMP5a = "";
            }

            KMMP5b = conn.rs.getString("KMMP5b");
            if (KMMP5b == null) {
                KMMP5b = "";
            }

            KMMP5c = conn.rs.getString("KMMP5c");
            if (KMMP5c == null) {
                KMMP5c = "";
            }

            HV0205 = conn.rs.getString("HV0205");
            if (HV0205 == null) {
                HV0205 = "";
            }

            HV0206 = conn.rs.getString("HV0206");
            if (HV0206 == null) {
                HV0206 = "";
            }

        }

        String createdtable = "";

        if (1 == 1) {

            createdtable += header
                    + "<br/><br/><br/><table   border=\"1\" style=\"border-color: #e5e5e5;margin-bottom: 3px;font-size:12;font-family:cambria;\" ><tr class='form-actions'><th colspan='3'><b style=\"text-align:center;\"> KMMP OUTPUT DATA</b></th><th>Total</th></tr><tr><td><b> 1 </b></td><td colspan='2'>No of New HIV positive clients enrolled in KMMP Services (ANC and PN) </td><td>"
                    + KMMP1 + "</td></tr>";

            createdtable += "<tr><td><b> 2 </b></td><td colspan='2'>No of New HIV negative clients enrolled in KMMP Services (ANC Only) </td><td>"
                    + KMMP2 + "</td></tr>";

            createdtable += "<tr><td rowspan='3'><b> 3 </b></td><td colspan='2'> a) No. of HIV-positive pregnant women enrolled in KMMP Services </td><td>"
                    + KMMP3a + "</td></tr>";

            createdtable += "<tr><td colspan='2'>  b) Total number of HIV-positive pregnant women in facility (New positive and Known Positive-MOH731) </td><td>"
                    + KMMP3b + "</td></tr>";

            createdtable += "<tr><td colspan='2'><b> Percentage of new IV-positive pregnant women enrolled in KMMP Services </b></td><td>"
                    + KMMP3c.substring(0, 2) + "" + " <b>%</b> </td></tr>";

            createdtable += "<tr><td ><b> 4 </b></td><td colspan='2'>No. of KMMP support group sessions held </td><td>"
                    + KMMP4 + "</td></tr>";

            createdtable += "<tr><td rowspan='3'><b> 5 </b></td><td rowspan='3'>Defaulter Tracing </td><td>New Defaulted Clients </td><td>"
                    + KMMP5a + "</td></tr>";

            createdtable += "<tr><td>Clients Reached</td><td>" + KMMP5b + "</td></tr>";

            createdtable += "<tr><td>Successfully Resolved</td><td>" + KMMP5c + "</td></tr>";

            createdtable += "<tr><td></td><td colspan='2'>MOH 731 HV02-05 Known positive status (at entry into ANC) :</td><td>"
                    + HV0205 + "</td></tr>";

            createdtable += "<tr><td></td><td colspan='2'>MOH 731 HV02-06 Antenatal:</td><td>" + HV0206
                    + "</td></tr></table> <div class='form-actions'></div>";

        }

        //System.out.println(createdtable);

        if (conn.conn != null) {
            conn.conn.close();
        }
        if (conn.rs != null) {
            conn.rs.close();
        }
        if (conn.rs1 != null) {
            conn.rs1.close();
        }
        if (conn.rs2 != null) {
            conn.rs2.close();
        }
        if (conn.st != null) {
            conn.st.close();
        }
        if (conn.st2 != null) {
            conn.st2.close();
        }

        Document document = new Document();
        ByteArrayOutputStream outByteStream = new ByteArrayOutputStream();
        try {
            PdfWriter.getInstance(document, outByteStream);
        } catch (DocumentException ex) {
            Logger.getLogger(kmmppdf.class.getName()).log(Level.SEVERE, null, ex);
        }
        document.open();

        HTMLWorker htmlWorker = new HTMLWorker(document);
        htmlWorker.parse(new StringReader(createdtable));

        CSSResolver cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(false);
        try {
            cssResolver.addCss("", true);
        } catch (CssResolverException ex) {
            Logger.getLogger(kmmppdf.class.getName()).log(Level.SEVERE, null, ex);
        }

        IdGenerator IG = new IdGenerator();
        String createdOn = IG.CreatedOn();

        document.close();
        response.setContentType("application/pdf");
        response.setContentLength(outByteStream.size());
        response.setHeader("Expires:", "0"); // eliminates browser caching
        response.setHeader("Content-Disposition",
                "attachment; filename=kmmp" + yearmonth + "_Generated_On_" + createdOn + ".pdf");

        ServletOutputStream sos;
        sos = response.getOutputStream();
        outByteStream.writeTo(sos);
        sos.flush();

    } catch (SQLException ex) {
        Logger.getLogger(kmmppdf.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:reports.moh711_StaticReport.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, SQLException, DocumentException, CssResolverException {
    session = request.getSession();/* w  w  w .j a v a2 s.c  o m*/
    String data, id = null;

    String FPMicrolutN, FPMicrolutR, FPMicrolutT, FPMicrogynonN, FPMicrogynonR, FPMicrogynonT, FPINJECTIONSN,
            FPINJECTIONSR, FPINJECTIONST, FPIUCDN, FPIUCDR, FPIUCDT, FPIMPLANTSN, FPIMPLANTSR, FPIMPLANTST,
            FPBTLN, FPBTLR, FPBTLT, FPVasectomyN, FPVasectomyR;
    String FPVasectomyT, FPCONDOMSN, FPCONDOMSR, FPCONDOMST, FPOTHERN, FPOTHERR, FPOTHERT, FPCLIENTSN,
            FPCLIENTSR, FPCLIENTST, FPIUCDRemoval, FPIMPLANTSRemoval, PMCTA_1stVisit_ANC, PMCTA_ReVisit_ANC,
            PMCTANCClientsT, PMCTHB7, PMCTIPT1, PMCTIPT2, PMCTANCClients4, PMCTITN, MATNormalDelivery,
            MATCSection;
    String MATBreech, MATAssistedVag, MATDeliveryT, MATLiveBirth, MATStillBirth, MATWeight2500, MATPreTerm,
            MATDischargealive, MATReferral, MATNeoNatalD, MATMaternalD, MATAPHAlive, MATAPHDead, MATPPHAlive,
            MATPPHDead, MATEclampAlive, MATEclampDead, MATRupUtAlive, MATRupUtDead, MATObstrLaborAlive,
            MATObstrLaborDead, MATSepsisAlive, MATSepsisDead;
    String VCTClient_Couns_CM, VCTClient_Couns_CF, VCTClient_Couns_AM, VCTClient_Couns_AF, VCTClient_Couns_TOT,
            VCTClient_Tested_CM, VCTClient_Tested_CF, VCTClient_Tested_AM, VCTClient_Tested_AF,
            VCTClient_Tested_TOT, VCTClient_HIV_CM, VCTClient_HIV_CF, VCTClient_HIV_AM, VCTClient_HIV_AF,
            VCTClient_HIV_TOT, VCTPartner_Couns_TOT, VCTPartner_Tested_TOT, VCTPartner_HIV_TOT,
            VCTPartner_Disc_TOT;
    String DTCA_Couns_In_CM, DTCA_Couns_In_CF, DTCA_Couns_In_AM, DTCA_Couns_In_AF, DTCA_Couns_In_Tot,
            DTCA_Couns_Out_CM, DTCA_Couns_Out_CF, DTCA_Couns_Out_AM, DTCA_Couns_Out_AF, DTCA_Couns_Out_Tot,
            DTCB_Test_In_CM, DTCB_Test_In_CF, DTCB_Test_In_AM, DTCB_Test_In_AF, DTCB_Test_In_Tot,
            DTCB_Test_Out_CM, DTCB_Test_Out_CF, DTCB_Test_Out_AM, DTCB_Test_Out_AF, DTCB_Test_Out_Tot,
            DTCC_HIV_In_CM, DTCC_HIV_In_CF, DTCC_HIV_In_AM, DTCC_HIV_In_AF, DTCC_HIV_In_Tot, DTCC_HIV_Out_CM,
            DTCC_HIV_Out_CF, DTCC_HIV_Out_AM, DTCC_HIV_Out_AF, DTCC_HIV_Out_Tot, Userid;
    String isValidated = "";
    String validity = "";

    String FamilyPlanninng, pmct, maternity, vct, dtc;

    String invalidFPTXT, invalidPMTCTTXT, invalidMATTXT, invalidHTCTXT = "";
    int expectedFP = 0;
    int expectedPMTCT = 0;
    int expectedMAT = 0;
    int expectedHTC = 0;
    int validPMTCT = 0;
    int invalidPMTCT = 0;
    int totalPMTCT = 0;

    int validFP, invalidFP, totalFP, validMAT, invalidMAT, totalMAT, validHTC, invalidHTC, totalHTC;

    int maxYearMonth;
    String subcountyid, facility, period;
    String reportType, duration, reportDuration, quarter, semi_annual;
    int year = 0, prevYear = 0, month = 0;
    String header, facilityName, countyName, districtName, mflcode, monthName, facilityId;

    //--------------------------------------------------------------------------------
    //--------------------------------------------------------------------------------
    //added later to accomodate the years
    String subpartnerid = "SubPartnerID";
    String subpartnera = "subpartnera";

    int monthint = 0;
    int yearint = 0;

    dbConn conn = new dbConn();
    String validitychecker = "";
    session = request.getSession();
    String FP_TAB = "";
    String MCH_TAB = "";
    String MATERNITY_TAB = "";
    String VCT_TAB = "";
    String DTC_TAB = "";
    String enterdby = "";
    // String validity;

    //           if(session.getAttribute("forms_holder")!=null && !(session.getAttribute("forms_holder").toString().equals(","))){
    data = "";
    subcountyid = facility = period = "";
    reportType = duration = reportDuration = quarter = semi_annual = "";

    header = facilityName = countyName = districtName = mflcode = monthName = "";
    facilityId = "";
    reportType = request.getParameter("reportType");
    year = Integer.parseInt(request.getParameter("year"));
    reportDuration = request.getParameter("reportDuration");
    yearint = year;
    header = "<table><tr><td colspan=\"12\">REPUBLIC OF KENYA-MINISTRY OF HEALTH</td></tr>";
    header += "<tr><td colspan=\"12\"> NATIONAL INTEGRATED FORM FOR REPRODUCTIVE HEALTH,HIV/AIDS,MALARIA,TB and CHILD NUTRITION</td></tr>";
    //        reportType="1";
    //        year=2015;
    //        reportDuration="4";

    prevYear = year - 1;
    maxYearMonth = 0;

    //        GET REPORT DURATION============================================

    if (reportDuration.equals("1")) {

        //_________________________________annualy_____________________________________

        //solve subpartner table and facil_id first            
        if (yearint <= 2014) {
            subpartnerid = "SP_ID";
            subpartnera = "subpartnera2014";
        } else if (yearint > 2015) {
            subpartnerid = "SubPartnerID";
            subpartnera = "subpartnera";
        } else if (yearint == 2015) {
            //this should be skipped since it picks both facil tables. 
            //It has been disabled at the interface position
            subpartnerid = "SubPartnerID";
            subpartnera = "subpartnera";
        }

        duration = " moh711.yearmonth BETWEEN " + prevYear + "10 AND " + year + "09";
        period = "Annual Report ";
    } else if (reportDuration.equals("2")) {
        semi_annual = request.getParameter("semi_annual");

        //_________________________________SemiAnnualy_________________________________

        //        semi_annual="2";
        if (semi_annual.equals("1")) {

        } else {

        }

        //        semi_annual="2";
        if (semi_annual.equals("1")) {

            //oct-mar 

            if (yearint <= 2014) {
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";
            } else if (yearint > 2015) {
                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";
            } else if (yearint == 2015) {
                //for oct-mar, use old database list
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";

            }

            duration = " moh711.yearmonth BETWEEN " + prevYear + "10 AND " + year + "03";
            period = "Semi-Annual : <b> OCT (" + prevYear + ") -  MARCH (" + year + ")</b>";

        } else {
            //apr-sep

            if (yearint <= 2014) {
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";
            } else if (yearint > 2015) {
                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";
            } else if (yearint == 2015) {
                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";

            }

            duration = " moh711.yearmonth BETWEEN " + year + "04 AND " + year + "09";
            period = "Semi-Annual : <b> APRIL (" + year + ") -  SEPT (" + year + ")</b>";
        }
    }

    else if (reportDuration.equals("3")) {
        String startMonth, endMonth;
        quarter = request.getParameter("quarter");

        //_________________________________Quarterly__________________________________

        quarter = request.getParameter("quarter");
        //specify subparter table and facil id first

        //oct-mar
        if (quarter.equals("1") || quarter.equals("2")) {
            if (yearint <= 2014) {
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";
            } else if (yearint > 2015) {
                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";
            } else if (yearint == 2015) {
                //for oct-mar, use old database list
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";

            }

        } else if (quarter.equals("3") || quarter.equals("4")) {
            //apr-sep

            //apr-sep

            if (yearint <= 2014) {
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";
            } else if (yearint > 2015) {
                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";
            } else if (yearint == 2015) {
                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";

            }

        }

        //       quarter="3";
        String getMonths = "SELECT months,name FROM quarter WHERE id='" + quarter + "'";
        conn.rs = conn.st.executeQuery(getMonths);
        if (conn.rs.next() == true) {
            String months[] = conn.rs.getString(1).split(",");
            startMonth = months[0];
            endMonth = months[2];
            if (quarter.equals("1")) {
                duration = " moh711.yearmonth BETWEEN " + prevYear + "" + startMonth + " AND " + prevYear + ""
                        + endMonth;
                period = "Quarter: <b>" + conn.rs.getString(2).replace("-", prevYear + " - ") + " " + prevYear
                        + "</b>";
            } else {
                duration = " moh711.yearmonth BETWEEN " + year + "" + startMonth + " AND " + year + ""
                        + endMonth;
                period = "Quarter: <b>" + conn.rs.getString(2).replace("-", year + " - ") + " " + year + "</b>";
            }
        }
    }

    else if (reportDuration.equals("4")) {

        //__________________________monthly reports_________________________

        //deal with subpartnertable and facilid first

        monthint = month;

        if (yearint == 2015) {

            if (monthint == 10 || monthint == 11 || monthint == 12 || monthint == 1 || monthint == 2
                    || monthint == 3) {
                //here use a different subpartner id
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";
            } else {

                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";

            }

        } else if (yearint <= 2014) {
            subpartnerid = "SP_ID";
            subpartnera = "subpartnera2014";
        } else if (yearint > 2015) {
            subpartnerid = "SubPartnerID";
            subpartnera = "subpartnera";
        }
        //---------------------------------------------------------------------------------------
        //---------------------------------------------------------------------------------------

        month = Integer.parseInt(request.getParameter("month"));
        //     month=4;
        if (month >= 10) {
            duration = " moh711.yearmonth=" + prevYear + "" + month;
        } else {
            duration = " moh711.yearmonth=" + year + "0" + month;
        }
        String getMonthName = "SELECT name FROM month WHERE id='" + month + "'";
        conn.rs = conn.st.executeQuery(getMonthName);
        if (conn.rs.next() == true) {
            if (month >= 10) {
                period = "Month : <b>" + conn.rs.getString(1) + "(" + prevYear + ")</b>";
            } else {
                period = "Month : <b>" + conn.rs.getString(1) + "(" + year + ")</b>";
            }

        }
    } else {
        duration = "";
    }

    //     GET FACILITIES TO OUTPUT.................................
    mflcode = countyName = districtName = facilityName = "";

    if (reportType.equals("1")) {
        facility = "";
        header += "<tr><td colspan=\"3\"> All health facilities.</td> <td>Year</td><td> <b>" + year
                + "</b></td><td colspan=\"7\"> " + period + "</td></tr>";
    }

    else {
        String spid = "";
        facilityId = request.getParameter("facility");
        //  facilityId="403";
        facility = "SubPartnerID='" + facilityId + "' &&";
        //this part should remain constant since the facility parameters being passed are using the subpartnera table

        String getName = " SELECT subpartnera.SubPartnerNom,district.DistrictNom,county.County,subpartnera.CentreSanteId, SP_ID FROM subpartnera "
                + "JOIN district ON subpartnera.DistrictID=district.DistrictID JOIN county ON "
                + "district.CountyID=county.CountyID WHERE subpartnera.SubPartnerID='" + facilityId + "'";
        conn.rs = conn.st.executeQuery(getName);
        if (conn.rs.next() == true) {
            facilityName = conn.rs.getString(1);
            districtName = conn.rs.getString(2);
            countyName = conn.rs.getString(3);
            mflcode = conn.rs.getString(4);
            spid = conn.rs.getString(5);
        }

        //if its subpartner2014, use SP_ID not subpartnerid

        System.out.println("____SubPartnerID::" + subpartnerid);
        if (subpartnerid.equalsIgnoreCase("SP_ID")) {

            facility = "moh711.SubPartnerID='" + spid + "' &&";

        }

        header += "<tr><td>District</td><td> <b>" + districtName + "</b></td><td>  County</td><td> <b>"
                + countyName + "</b></td><td>   Facility</td><td> <b>" + facilityName
                + "</b></td><td colspan=\"2\">" + period + "</td><td>   Year</td><td> <b>" + year
                + "</b></td><td>   MFL Code</td><td> <b>" + mflcode + "</b></td><td></tr>";
    }

    header += "</table>";

    System.out.println("id is  " + id);
    invalidFPTXT = invalidPMTCTTXT = invalidMATTXT = invalidHTCTXT = "";
    //          id="2015_1_14498";
    String fppane = "";
    String pmctpane = "";
    String matpane = "";
    String htcpane = "";
    String activeclass = "";
    activeclass = "active";
    int counter = 0;

    String ul = "  <ul class=\"nav nav-tabs\">\n";

    // INITIALIZING VARIABLES 

    // FAMILY PLANNING            
    FPMicrolutN = FPMicrolutR = FPMicrolutT = FPMicrogynonN = FPMicrogynonR = FPMicrogynonT = FPINJECTIONSN = FPINJECTIONSR = "";
    FPINJECTIONST = FPIUCDN = FPIUCDR = FPIUCDT = FPIMPLANTSN = FPIMPLANTSR = FPIMPLANTST = FPBTLN = FPBTLR = FPBTLT = FPVasectomyN = FPVasectomyR = "";
    FPVasectomyT = FPCONDOMSN = FPCONDOMSR = FPCONDOMST = FPOTHERN = FPOTHERR = FPOTHERT = FPCLIENTSN = FPCLIENTSR = FPCLIENTST = FPIUCDRemoval = FPIMPLANTSRemoval = "";
    //PMCT VARIABLES
    PMCTA_1stVisit_ANC = PMCTA_ReVisit_ANC = PMCTANCClientsT = PMCTHB7 = PMCTIPT1 = PMCTIPT2 = PMCTANCClients4 = PMCTITN = MATNormalDelivery = MATCSection = "";

    MATBreech = MATAssistedVag = MATDeliveryT = MATLiveBirth = MATStillBirth = MATWeight2500 = MATPreTerm = MATDischargealive = MATReferral = MATNeoNatalD = MATMaternalD = MATAPHAlive = MATAPHDead = MATPPHAlive = MATPPHDead = MATEclampAlive = MATEclampDead = MATRupUtAlive = MATRupUtDead = MATObstrLaborAlive = MATObstrLaborDead = MATSepsisAlive = MATSepsisDead = "";

    VCTClient_Couns_CM = VCTClient_Couns_CF = VCTClient_Couns_AM = VCTClient_Couns_AF = VCTClient_Couns_TOT = VCTClient_Tested_CM = VCTClient_Tested_CF = VCTClient_Tested_AM = VCTClient_Tested_AF = VCTClient_Tested_TOT = VCTClient_HIV_CM = VCTClient_HIV_CF = VCTClient_HIV_AM = VCTClient_HIV_AF = VCTClient_HIV_TOT = VCTPartner_Couns_TOT = VCTPartner_Tested_TOT = VCTPartner_HIV_TOT = VCTPartner_Disc_TOT = "";

    DTCA_Couns_In_CM = DTCA_Couns_In_CF = DTCA_Couns_In_AM = DTCA_Couns_In_AF = DTCA_Couns_In_Tot = DTCA_Couns_Out_CM = DTCA_Couns_Out_CF = DTCA_Couns_Out_AM = DTCA_Couns_Out_AF = DTCA_Couns_Out_Tot = DTCB_Test_In_CM = DTCB_Test_In_CF = DTCB_Test_In_AM = DTCB_Test_In_AF = DTCB_Test_In_Tot = DTCB_Test_Out_CM = DTCB_Test_Out_CF = DTCB_Test_Out_AM = DTCB_Test_Out_AF = DTCB_Test_Out_Tot = DTCC_HIV_In_CM = DTCC_HIV_In_CF = DTCC_HIV_In_AM = DTCC_HIV_In_AF = DTCC_HIV_In_Tot = DTCC_HIV_Out_CM = DTCC_HIV_Out_CF = DTCC_HIV_Out_AM = DTCC_HIV_Out_AF = DTCC_HIV_Out_Tot = Userid = "";

    String checker = "SELECT sum(FPMicrolutN),"
            + " sum(FPMicrolutR), sum(FPMicrolutT), sum(FPMicrogynonN), sum(FPMicrogynonR), sum(FPMicrogynonT),"
            + " sum(FPINJECTIONSN), sum(FPINJECTIONSR), sum(FPINJECTIONST), sum(FPIUCDN), sum(FPIUCDR),sum(FPIUCDT),sum(FPIMPLANTSN),sum(FPIMPLANTSR), "
            + " sum(FPIMPLANTST), sum(FPBTLN), sum(FPBTLR),sum(FPBTLT),sum(FPVasectomyN),sum(FPVasectomyR),sum(FPVasectomyT),sum(FPCONDOMSN),sum(FPCONDOMSR), "
            + "sum(FPCONDOMST), sum(FPOTHERN), sum(FPOTHERR), sum(FPOTHERT), sum(FPCLIENTSN), sum(FPCLIENTSR), sum(FPCLIENTST), sum(FPIUCDRemoval),"
            + "sum(FPIMPLANTSRemoval), sum(PMCTA_1stVisit_ANC),sum(PMCTA_ReVisit_ANC), sum(PMCTANCClientsT),sum(PMCTHB7), sum(PMCTIPT1),"
            + "sum(PMCTIPT2), sum(PMCTANCClients4),sum(PMCTITN), sum(MATNormalDelivery), sum(MATCSection), sum(MATBreech),sum(MATAssistedVag), "
            + "sum(MATDeliveryT),sum(MATLiveBirth), sum(MATStillBirth), sum(MATWeight2500), sum(MATPreTerm), sum(MATDischargealive), sum(MATReferral), sum(MATNeoNatalD),"
            + " sum(MATMaternalD), sum(MATAPHAlive), sum(MATAPHDead), sum(MATPPHAlive), sum(MATPPHDead), sum(MATEclampAlive),sum( MATEclampDead),"
            + " sum(MATRupUtAlive), sum(MATRupUtDead), sum(MATObstrLaborAlive), sum(MATObstrLaborDead), sum(MATSepsisAlive), sum(MATSepsisDead), "
            + "sum(VCTClient_Couns_CM), sum(VCTClient_Couns_CF), sum(VCTClient_Couns_AM), sum(VCTClient_Couns_AF), "
            + "sum(VCTClient_Couns_TOT), sum(VCTClient_Tested_CM), sum(VCTClient_Tested_CF), sum(VCTClient_Tested_AM),"
            + "sum( VCTClient_Tested_AF), sum(VCTClient_Tested_TOT), sum(VCTClient_HIV_CM), sum(VCTClient_HIV_CF), sum(VCTClient_HIV_AM),sum(VCTClient_HIV_AF),"
            + "sum( VCTClient_HIV_TOT), sum(VCTPartner_Couns_TOT), sum(VCTPartner_Tested_TOT), sum(VCTPartner_HIV_TOT),sum(VCTPartner_Disc_TOT),"
            + " sum(DTCA_Couns_In_CM), sum(DTCA_Couns_In_CF), sum(DTCA_Couns_In_AM), sum(DTCA_Couns_In_AF), sum(DTCA_Couns_In_Tot), sum(DTCA_Couns_Out_CM), "
            + "sum(DTCA_Couns_Out_CF), sum(DTCA_Couns_Out_AM), sum(DTCA_Couns_Out_AF), sum(DTCA_Couns_Out_Tot),sum(DTCB_Test_In_CM), sum(DTCB_Test_In_CF),"
            + " sum(DTCB_Test_In_AM), sum(DTCB_Test_In_AF), sum(DTCB_Test_In_Tot), sum(DTCB_Test_Out_CM), sum(DTCB_Test_Out_CF), sum(DTCB_Test_Out_AM),"
            + " sum(DTCB_Test_Out_AF), sum(DTCB_Test_Out_Tot),sum(DTCC_HIV_In_CM), sum(DTCC_HIV_In_CF), sum(DTCC_HIV_In_AM), sum(DTCC_HIV_In_AF),"
            + " sum(DTCC_HIV_In_Tot),sum( DTCC_HIV_Out_CM), sum(DTCC_HIV_Out_CF), sum(DTCC_HIV_Out_AM),sum(DTCC_HIV_Out_AF),sum(DTCC_HIV_Out_Tot) "
            + "FROM moh711 WHERE " + facility + " " + duration;
    System.out.println(checker);

    conn.rs = conn.st.executeQuery(checker);

    if (conn.rs.next() == true) {

        System.out.println("Data already exist loading............................");

        if (conn.rs.getString(1) != null) {
            FPMicrolutN = conn.rs.getString(1);
        } else if (FPMicrolutN == null) {
            FPMicrolutN = "";
        }
        if (conn.rs.getString(2) != null) {
            FPMicrolutR = conn.rs.getString(2);
        } else if (FPMicrolutR == null) {
            FPMicrolutR = "";
        }

        if (conn.rs.getString(3) != null) {
            FPMicrolutT = conn.rs.getString(3);
        } else {
            FPMicrolutT = "";
        }
        if (conn.rs.getString(4) != null) {
            FPMicrogynonN = conn.rs.getString(4);
        } else {
            FPMicrogynonN = "";
        }
        if (conn.rs.getString(5) != null) {
            FPMicrogynonR = conn.rs.getString(5);
        } else {
            FPMicrogynonR = "";
        }
        if (conn.rs.getString(6) != null) {
            FPMicrogynonT = conn.rs.getString(6);
        } else {
            FPMicrogynonT = "";
        }
        if (conn.rs.getString(7) != null) {
            FPINJECTIONSN = conn.rs.getString(7);
        } else {
            FPINJECTIONSN = "";
        }
        if (conn.rs.getString(8) != null) {
            FPINJECTIONSR = conn.rs.getString(8);
        } else {
            FPINJECTIONSR = "";
        }
        if (conn.rs.getString(9) != null) {
            FPINJECTIONST = conn.rs.getString(9);
        } else {
            FPINJECTIONST = "";
        }
        if (conn.rs.getString(10) != null) {
            FPIUCDN = conn.rs.getString(10);
        } else {
            FPIUCDN = "";
        }
        if (conn.rs.getString(11) != null) {
            FPIUCDR = conn.rs.getString(11);
        } else {
            FPIUCDR = "";
        }
        if (conn.rs.getString(12) != null) {
            FPIUCDT = conn.rs.getString(12);
        } else {
            FPIUCDT = "";
        }
        if (conn.rs.getString(13) != null) {
            FPIMPLANTSN = conn.rs.getString(13);
        } else {
            FPIMPLANTSN = "";
        }
        if (conn.rs.getString(14) != null) {
            FPIMPLANTSR = conn.rs.getString(14);
        } else {
            FPIMPLANTSR = "";
        }
        if (conn.rs.getString(15) != null) {
            FPIMPLANTST = conn.rs.getString(15);
        } else {
            FPIMPLANTST = "";
        }
        if (conn.rs.getString(16) != null) {
            FPBTLN = conn.rs.getString(16);
        } else {
            FPBTLN = "";
        }
        if (conn.rs.getString(17) != null) {
            FPBTLR = conn.rs.getString(17);
        } else {
            FPBTLR = "";
        }
        if (conn.rs.getString(18) != null) {
            FPBTLT = conn.rs.getString(18);
        } else {
            FPBTLT = "";
        }
        if (conn.rs.getString(19) != null) {
            FPVasectomyN = conn.rs.getString(19);
        } else {
            FPVasectomyN = "";
        }
        if (conn.rs.getString(20) != null) {
            FPVasectomyR = conn.rs.getString(20);
        } else {
            FPVasectomyR = "";
        }
        if (conn.rs.getString(21) != null) {
            FPVasectomyT = conn.rs.getString(21);
        } else {
            FPVasectomyT = "";
        }
        if (conn.rs.getString(22) != null) {
            FPCONDOMSN = conn.rs.getString(22);
        } else {
            FPCONDOMSN = "";
        }
        if (conn.rs.getString(23) != null) {
            FPCONDOMSR = conn.rs.getString(23);
        } else {
            FPCONDOMSR = "";
        }
        if (conn.rs.getString(24) != null) {
            FPCONDOMST = conn.rs.getString(24);
        } else {
            FPCONDOMST = "";
        }

        if (conn.rs.getString(25) != null) {
            FPOTHERN = conn.rs.getString(25);
        } else {
            FPOTHERN = "";
        }
        if (conn.rs.getString(26) != null) {
            FPOTHERR = conn.rs.getString(26);
        } else {
            FPOTHERR = "";
        }
        if (conn.rs.getString(27) != null) {
            FPOTHERT = conn.rs.getString(27);
        } else {
            FPOTHERT = "";
        }

        if (conn.rs.getString(28) != null) {
            FPCLIENTSN = conn.rs.getString(28);
        } else {
            FPCLIENTSN = "";
        }
        if (conn.rs.getString(29) != null) {
            FPCLIENTSR = conn.rs.getString(29);
        } else {
            FPCLIENTSR = "";
        }
        if (conn.rs.getString(30) != null) {
            FPCLIENTST = conn.rs.getString(30);
        } else {
            FPCLIENTST = "";
        }
        if (conn.rs.getString(31) != null) {
            FPIUCDRemoval = conn.rs.getString(31);
        } else {
            FPIUCDRemoval = "";
        }
        if (conn.rs.getString(32) != null) {
            FPIMPLANTSRemoval = conn.rs.getString(32);
        } else {
            FPIMPLANTSRemoval = "";
        }

        // mch 

        if (conn.rs.getString(33) != null) {
            PMCTA_1stVisit_ANC = conn.rs.getString(33);
        } else {
            PMCTA_1stVisit_ANC = "";
        }
        if (conn.rs.getString(34) != null) {
            PMCTA_ReVisit_ANC = conn.rs.getString(34);
        } else {
            PMCTA_ReVisit_ANC = "";
        }
        if (conn.rs.getString(35) != null) {
            PMCTANCClientsT = conn.rs.getString(35);
        } else {
            PMCTANCClientsT = "";
        }
        if (conn.rs.getString(36) != null) {
            PMCTHB7 = conn.rs.getString(36);
        } else {
            PMCTHB7 = "";
        }
        if (conn.rs.getString(37) != null) {
            PMCTIPT1 = conn.rs.getString(37);
        } else {
            PMCTIPT1 = "";
        }
        if (conn.rs.getString(38) != null) {
            PMCTIPT2 = conn.rs.getString(38);
        } else {
            PMCTIPT2 = "";
        }
        if (conn.rs.getString(39) != null) {
            PMCTANCClients4 = conn.rs.getString(39);
        } else {
            PMCTANCClients4 = "";
        }
        if (conn.rs.getString(40) != null) {
            PMCTITN = conn.rs.getString(40);
        } else {
            PMCTITN = "";
        }

        if (conn.rs.getString(41) != null) {
            MATNormalDelivery = conn.rs.getString(41);
        } else {
            MATNormalDelivery = "";
        }
        if (conn.rs.getString(42) != null) {
            MATCSection = conn.rs.getString(42);
        } else {
            MATCSection = "";
        }
        if (conn.rs.getString(43) != null) {
            MATBreech = conn.rs.getString(43);
        } else {
            MATBreech = "";
        }
        if (conn.rs.getString(44) != null) {
            MATAssistedVag = conn.rs.getString(44);
        } else {
            MATAssistedVag = "";
        }
        if (conn.rs.getString(45) != null) {
            MATDeliveryT = conn.rs.getString(45);
        } else {
            MATDeliveryT = "";
        }
        if (conn.rs.getString(46) != null) {
            MATLiveBirth = conn.rs.getString(46);
        } else {
            MATLiveBirth = "";
        }
        if (conn.rs.getString(47) != null) {
            MATStillBirth = conn.rs.getString(47);
        } else {
            MATStillBirth = "";
        }

        if (conn.rs.getString(48) != null) {
            MATWeight2500 = conn.rs.getString(48);
        } else {
            MATWeight2500 = "";
        }
        if (conn.rs.getString(49) != null) {
            MATPreTerm = conn.rs.getString(49);
        } else {
            MATPreTerm = "";
        }
        if (conn.rs.getString(50) != null) {
            MATDischargealive = conn.rs.getString(50);
        } else {
            MATDischargealive = "";
        }
        if (conn.rs.getString(51) != null) {
            MATReferral = conn.rs.getString(51);
        } else {
            MATReferral = "";
        }
        if (conn.rs.getString(52) != null) {
            MATNeoNatalD = conn.rs.getString(52);
        } else {
            MATNeoNatalD = "";
        }
        if (conn.rs.getString(53) != null) {
            MATMaternalD = conn.rs.getString(53);
        } else {
            MATMaternalD = "";
        }
        if (conn.rs.getString(54) != null) {
            MATAPHAlive = conn.rs.getString(54);
        } else {
            MATAPHAlive = "";
        }
        if (conn.rs.getString(55) != null) {
            MATAPHDead = conn.rs.getString(55);
        } else {
            MATAPHDead = "";
        }
        if (conn.rs.getString(56) != null) {
            MATPPHAlive = conn.rs.getString(56);
        } else {
            MATPPHAlive = "";
        }
        if (conn.rs.getString(57) != null) {
            MATPPHDead = conn.rs.getString(57);
        } else {
            MATPPHDead = "";
        }
        if (conn.rs.getString(58) != null) {
            MATEclampAlive = conn.rs.getString(58);
        } else {
            MATEclampAlive = "";
        }
        if (conn.rs.getString(59) != null) {
            MATEclampDead = conn.rs.getString(59);
        } else {
            MATEclampDead = "";
        }
        if (conn.rs.getString(60) != null) {
            MATRupUtAlive = conn.rs.getString(60);
        } else {
            MATRupUtAlive = "";
        }
        if (conn.rs.getString(61) != null) {
            MATRupUtDead = conn.rs.getString(61);
        } else {
            MATRupUtDead = "";
        }
        if (conn.rs.getString(62) != null) {
            MATObstrLaborAlive = conn.rs.getString(62);
        } else {
            MATObstrLaborAlive = "";
        }
        if (conn.rs.getString(63) != null) {
            MATObstrLaborDead = conn.rs.getString(63);
        } else {
            MATObstrLaborDead = "";
        }
        if (conn.rs.getString(64) != null) {
            MATSepsisAlive = conn.rs.getString(64);
        } else {
            MATSepsisAlive = "";
        }
        if (conn.rs.getString(65) != null) {
            MATSepsisDead = conn.rs.getString(65);
        } else {
            MATSepsisDead = "";
        }
        if (conn.rs.getString(66) != null) {
            VCTClient_Couns_CM = conn.rs.getString(66);
        } else {
            VCTClient_Couns_CM = "";
        }
        if (conn.rs.getString(67) != null) {
            VCTClient_Couns_CF = conn.rs.getString(67);
        } else {
            VCTClient_Couns_CF = "";
        }
        if (conn.rs.getString(68) != null) {
            VCTClient_Couns_AM = conn.rs.getString(68);
        } else {
            VCTClient_Couns_AM = "";
        }
        if (conn.rs.getString(69) != null) {
            VCTClient_Couns_AF = conn.rs.getString(69);
        } else {
            VCTClient_Couns_AF = "";
        }
        if (conn.rs.getString(70) != null) {
            VCTClient_Couns_TOT = conn.rs.getString(70);
        } else {
            VCTClient_Couns_TOT = "";
        }
        if (conn.rs.getString(71) != null) {
            VCTClient_Tested_CM = conn.rs.getString(71);
        } else {
            VCTClient_Tested_CM = "";
        }
        if (conn.rs.getString(72) != null) {
            VCTClient_Tested_CF = conn.rs.getString(72);
        } else {
            VCTClient_Tested_CF = "";
        }
        if (conn.rs.getString(73) != null) {
            VCTClient_Tested_AM = conn.rs.getString(73);
        } else {
            VCTClient_Tested_AM = "";
        }
        if (conn.rs.getString(74) != null) {
            VCTClient_Tested_AF = conn.rs.getString(74);
        } else {
            VCTClient_Tested_AF = "";
        }
        if (conn.rs.getString(75) != null) {
            VCTClient_Tested_TOT = conn.rs.getString(75);
        } else {
            VCTClient_Tested_TOT = "";
        }
        if (conn.rs.getString(76) != null) {
            VCTClient_HIV_CM = conn.rs.getString(76);
        } else {
            VCTClient_HIV_CM = "";
        }
        if (conn.rs.getString(77) != null) {
            VCTClient_HIV_CF = conn.rs.getString(77);
        } else {
            VCTClient_HIV_CF = "";
        }
        if (conn.rs.getString(78) != null) {
            VCTClient_HIV_AM = conn.rs.getString(78);
        } else {
            VCTClient_HIV_AM = "";
        }
        if (conn.rs.getString(79) != null) {
            VCTClient_HIV_AF = conn.rs.getString(79);
        } else {
            VCTClient_HIV_AF = "";
        }
        if (conn.rs.getString(80) != null) {
            VCTClient_HIV_TOT = conn.rs.getString(80);
        } else {
            VCTClient_HIV_TOT = "";
        }
        if (conn.rs.getString(81) != null) {
            VCTPartner_Couns_TOT = conn.rs.getString(81);
        } else {
            VCTPartner_Couns_TOT = "";
        }
        if (conn.rs.getString(82) != null) {
            VCTPartner_Tested_TOT = conn.rs.getString(82);
        } else {
            VCTPartner_Tested_TOT = "";
        }
        if (conn.rs.getString(83) != null) {
            VCTPartner_HIV_TOT = conn.rs.getString(83);
        } else {
            VCTPartner_HIV_TOT = "";
        }
        if (conn.rs.getString(84) != null) {
            VCTPartner_Disc_TOT = conn.rs.getString(84);
        } else {
            VCTPartner_Disc_TOT = "";
        }

        //  DTCA_Couns_In_CM=DTCA_Couns_In_CF=DTCA_Couns_In_AM=DTCA_Couns_In_AF=DTCA_Couns_In_Tot=DTCA_Couns_Out_CM=DTCA_Couns_Out_CF=
        //DTCA_Couns_Out_AM=DTCA_Couns_Out_AF=DTCA_Couns_Out_Tot=DTCB_Test_In_CM=DTCB_Test_In_CF
        //=DTCB_Test_In_AM=DTCB_Test_In_AF=DTCB_Test_In_Tot=DTCB_Test_Out_CM=DTCB_Test_Out_CF=DTCB_Test_Out_AM=DTCB_Test_Out_AF=DTCB_Test_Out_Tot
        //=DTCC_HIV_In_CM=DTCC_HIV_In_CF=DTCC_HIV_In_AM
        //=DTCC_HIV_In_AF= DTCC_HIV_In_Tot=DTCC_HIV_Out_CM=DTCC_HIV_Out_CF=DTCC_HIV_Out_AM=DTCC_HIV_Out_AF=DTCC_HIV_Out_Tot=Userid="";

        //dtc
        if (conn.rs.getString(85) != null) {
            DTCA_Couns_In_CM = conn.rs.getString(85);
        } else {
            DTCA_Couns_In_CM = "";
        }
        if (conn.rs.getString(86) != null) {
            DTCA_Couns_In_CF = conn.rs.getString(86);
        } else {
            DTCA_Couns_In_CF = "";
        }
        if (conn.rs.getString(87) != null) {
            DTCA_Couns_In_AM = conn.rs.getString(87);
        } else {
            DTCA_Couns_In_AM = "";
        }
        if (conn.rs.getString(88) != null) {
            DTCA_Couns_In_AF = conn.rs.getString(88);
        } else {
            DTCA_Couns_In_AF = "";
        }
        if (conn.rs.getString(89) != null) {
            DTCA_Couns_In_Tot = conn.rs.getString(89);
        } else {
            DTCA_Couns_In_Tot = "";
        }
        if (conn.rs.getString(90) != null) {
            DTCA_Couns_Out_CM = conn.rs.getString(90);
        } else {
            DTCA_Couns_Out_CM = "";
        }
        if (conn.rs.getString(91) != null) {
            DTCA_Couns_Out_CF = conn.rs.getString(91);
        } else {
            DTCA_Couns_Out_CF = "";
        }
        if (conn.rs.getString(92) != null) {
            DTCA_Couns_Out_AM = conn.rs.getString(92);
        } else {
            DTCA_Couns_Out_AM = "";
        }
        if (conn.rs.getString(93) != null) {
            DTCA_Couns_Out_AF = conn.rs.getString(93);
        } else {
            DTCA_Couns_Out_AF = "";
        }
        if (conn.rs.getString(94) != null) {
            DTCA_Couns_Out_Tot = conn.rs.getString(94);
        } else {
            DTCA_Couns_Out_Tot = "";
        }
        if (conn.rs.getString(95) != null) {
            DTCB_Test_In_CM = conn.rs.getString(95);
        } else {
            DTCB_Test_In_CM = "";
        }
        if (conn.rs.getString(96) != null) {
            DTCB_Test_In_CF = conn.rs.getString(96);
        } else {
            DTCB_Test_In_CF = "";
        }
        if (conn.rs.getString(97) != null) {
            DTCB_Test_In_AM = conn.rs.getString(97);
        } else {
            DTCB_Test_In_AM = "";
        }
        if (conn.rs.getString(98) != null) {
            DTCB_Test_In_AF = conn.rs.getString(98);
        } else {
            DTCB_Test_In_AF = "";
        }
        if (conn.rs.getString(99) != null) {
            DTCB_Test_In_Tot = conn.rs.getString(99);
        } else {
            DTCB_Test_In_Tot = "";
        }
        if (conn.rs.getString(100) != null) {
            DTCB_Test_Out_CM = conn.rs.getString(100);
        } else {
            DTCB_Test_Out_CM = "";
        }
        if (conn.rs.getString(101) != null) {
            DTCB_Test_Out_CF = conn.rs.getString(101);
        } else {
            DTCB_Test_Out_CF = "";
        }
        if (conn.rs.getString(102) != null) {
            DTCB_Test_Out_AM = conn.rs.getString(102);
        } else {
            DTCB_Test_Out_AM = "";
        }
        if (conn.rs.getString(103) != null) {
            DTCB_Test_Out_AF = conn.rs.getString(103);
        } else {
            DTCB_Test_Out_AF = "";
        }
        if (conn.rs.getString(104) != null) {
            DTCB_Test_Out_Tot = conn.rs.getString(104);
        } else {
            DTCB_Test_Out_Tot = "";
        }
        if (conn.rs.getString(105) != null) {
            DTCC_HIV_In_CM = conn.rs.getString(105);
        } else {
            DTCC_HIV_In_CM = "";
        }
        if (conn.rs.getString(106) != null) {
            DTCC_HIV_In_CF = conn.rs.getString(106);
        } else {
            DTCC_HIV_In_CF = "";
        }
        if (conn.rs.getString(107) != null) {
            DTCC_HIV_In_AM = conn.rs.getString(107);
        } else {
            DTCC_HIV_In_AM = "";
        }
        if (conn.rs.getString(108) != null) {
            DTCC_HIV_In_AF = conn.rs.getString(108);
        } else {
            DTCC_HIV_In_AF = "";
        }
        if (conn.rs.getString(109) != null) {
            DTCC_HIV_In_Tot = conn.rs.getString(109);
        } else {
            DTCC_HIV_In_Tot = "";
        }
        if (conn.rs.getString(110) != null) {
            DTCC_HIV_Out_CM = conn.rs.getString(110);
        } else {
            DTCC_HIV_Out_CM = "";
        }
        if (conn.rs.getString(111) != null) {
            DTCC_HIV_Out_CF = conn.rs.getString(111);
        } else {
            DTCC_HIV_Out_CF = "";
        }
        if (conn.rs.getString(112) != null) {
            DTCC_HIV_Out_AM = conn.rs.getString(112);
        } else {
            DTCC_HIV_Out_AM = "";
        }
        if (conn.rs.getString(113) != null) {
            DTCC_HIV_Out_AF = conn.rs.getString(113);
        } else {
            DTCC_HIV_Out_AF = "";
        }
        if (conn.rs.getString(114) != null) {
            DTCC_HIV_Out_Tot = conn.rs.getString(114);
        } else {
            DTCC_HIV_Out_Tot = "";
        }

    }

    FamilyPlanninng = pmct = maternity = vct = dtc = "";
    FP_TAB += "";

    //          FPMicrolutN=FPMicrolutR=FPMicrolutT=FPMicrogynonN=FPMicrogynonR=FPMicrogynonT=FPINJECTIONSN=FPINJECTIONSR=
    //FPINJECTIONST=FPIUCDN=FPIUCDR=FPIUCDT=FPIMPLANTSN=FPIMPLANTSR=FPIMPLANTST=FPBTLN=FPBTLR=FPBTLT=FPVasectomyN=FPVasectomyR="";
    //FPVasectomyT=FPCONDOMSN=FPCONDOMSR=FPCONDOMST=FPOTHERN=FPOTHERR=FPOTHERT=FPCLIENTSN=FPCLIENTSR=FPCLIENTST=FPIUCDRemoval=
    //FPIMPLANTSRemoval="";"
    FamilyPlanninng = ""
            + "<fieldset class=\"formatter\"><legend class=\"formatter\"><b style=\"text-align:center;\"> FAMILY PLANNING </b></legend>"
            + "<table frame=\"box\"  border=\"1\" style=\"border-color: #e5e5e5;margin-bottom: 3px; margin-left:150px; width:800px;\"><tr>"
            + "<td colspan=\"2\" class=\"form-actions\"><b>A: Family Planning </b></td>"
            + "<td class=\"form-actions\"> <b>NEW CLIENTS </b></td>"
            + "<td class=\"form-actions\"> <b>RE-VISITS </b></td>"
            + "<td class=\"form-actions\"> <b>TOTAL </b></td>" + "</tr>" + "<tr>"
            + "<td rowspan=\"2\">1. PILLS</td><td  >MICROLUT</td>" + "<td >" + FPMicrolutN + "</td>" + "<td >"
            + FPMicrolutR + "</td>" + "<td >" + FPMicrolutT + "</td>"

            + "<tr>"
            //              + "<td>2</td>"
            //              + "<td >PILLS</td>"
            + "<td  >MICROGYNON</td>" + "<td >" + FPMicrogynonN + "</td>" + "<td >" + FPMicrogynonR + "</td>"
            + "<td >" + FPMicrogynonT + "</td>" + "</tr>"

            + "<tr>" + "<td >2. INJECTIONS</td>" + "<td  >INJECTIONS</td>" + "<td >" + FPINJECTIONSN + "</td>"
            + "<td >" + FPINJECTIONSR + "</td>" + "<td >" + FPINJECTIONST + "</td>" + "</tr>"

            + "<tr>" + "<td >3. I.U.C.D.</td>" + "<td  >Insertion</td>" + "<td >" + FPIUCDN + " </td>" + "<td >"
            + FPIUCDR + " </td>" + "<td >" + FPIUCDT + " </td>" + "</tr>"

            + "<tr>" + "<td >4. IMPLANTS</td><td  >Insertion</td>" + "<td >" + FPIMPLANTSN + "</td>" + "<td >"
            + FPIMPLANTSR + "</td>" + "<td >" + FPIMPLANTST + "</td>" + "</tr>"

            + "<tr>" + "<td  rowspan=\"2\">5. STERILIZATION</td><td  >B.T.L</td>" + "<td >" + FPBTLN + "</td>"
            + "<td >" + FPBTLR + "</td>" + "<td >" + FPBTLT + "</td>" + "</tr>" + "<tr>"
            + "<td  >Vasectomy</td>" + "<td >" + FPVasectomyN + "</td>" + "<td >" + FPVasectomyR + "</td>"
            + "<td >" + FPVasectomyT + "</td>" + "</tr>" + "<tr>"
            + "<td >6. CONDOMS</td><td  >No. of clients receiving</td>" + "<td >" + FPCONDOMSN + "</td>"
            + "<td >" + FPCONDOMSR + "</td>" + "<td >" + FPCONDOMST + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">7. ALL OTHERS:(Specify)</td>"

            + "<td >" + FPOTHERN + "</td>" + "<td >" + FPOTHERR + "</td>" + "<td >" + FPOTHERT + "</td>"
            + "</tr>"

            + "<tr>" + "<td colspan=\"2\">8. TOTAL NO. OF CLIENTS</td>"

            + "<td >" + FPCLIENTSN + "</td>" + "<td >" + FPCLIENTSR + "</td>" + "<td >" + FPCLIENTST + "</td>"
            + "</tr>" + "<tr>" + "<td >9. REMOVALS</td>" + "<td  > IUCD </td>" + "<td >" + FPIUCDRemoval
            + "</td>" + "<td >IMPLANTS</td>" + "<td >" + FPIMPLANTSRemoval + "</td>"
            + "</tr></table></fieldset>";
    FP_TAB += FamilyPlanninng;

    pmct += "";
    pmct += "<fieldset class=\"formatter\"><legend class=\"formatter\"><b style=\"text-align:center;\"> B: MCH-ANC/PMTCT </b></legend>"
            + "<table border=\"1\" frame=\"box\"  style=\"border-color: #e5e5e5;margin-bottom: 3px; margin-left:150px; width:800px;\">"
            + "<tr>" + "<td  class=\"form-actions\"><b> </b></td>"
            + "<td class=\"form-actions\"> <b>NEW  </b></td>"
            + "<td class=\"form-actions\"> <b>RE-VISIT </b></td>"
            + "<td class=\"form-actions\"> <b>TOTAL </b></td>" + "</tr>" + "<tr>"
            + "<td>1.No of ANC Clients</td>" + "<td >" + PMCTA_1stVisit_ANC + "</td>" + "<td >"
            + PMCTA_ReVisit_ANC + "</td>" + "<td >" + PMCTANCClientsT + "</td>" + "</tr></table>"
            + "<table border=\"1\" frame=\"box\"  style=\"border-color: #e5e5e5;margin-bottom: 3px; margin-left:150px; width:800px;\"><tr>"
            + " <td colspan=\"3\" >2. No of clients with Hb <7 g/dl </td>" + "<td >" + PMCTHB7 + "</td>"
            + "</tr>" + "<tr>" + "  <td colspan=\"3\" >3. No of clients given IPT (1st Dose) </td>" + "<td >"
            + PMCTIPT1 + " </td>" + "</tr>" + "<tr>"
            + "   <td colspan=\"3\" >4. No of clients given IPT (2nd Dose) </td>" + "<td >" + PMCTIPT2 + "</td>"
            + "</tr>" + "<tr>" + "<td colspan=\"3\" >5. No of clients completed 4th Antenatal Visit </td>"
            + "<td >" + PMCTANCClients4 + "</td>" + "</tr>" + "<tr>" + "<tr>"
            + "   <td colspan=\"3\" >6. No of ITNs distributed to ANC Clients </td>" + "<td >" + PMCTITN
            + "</td>" + "</tr></table></fieldset>"

            + "" + "";

    MCH_TAB += pmct;

    //MATERNITY DELIVERIES

    // maternity MATNormalDelivery=MATCSection=""MATBreech=MATAssistedVag=MATDeliveryT=MATLiveBirth=MATStillBirth=MATWeight2500=
    //MATPreTerm=
    //MATDischargealive=MATReferral=MATNeoNatalD=
    //MATMaternalD=MATAPHAlive=MATAPHDead=MATPPHAlive=MATPPHDead=MATEclampAlive=MATEclampDead=MATRupUtAlive
    //=MATRupUtDead=MATObstrLaborAlive=MATObstrLaborDead=MATSepsisAlive=MATSepsisDead="";
    maternity += "";
    maternity += "<fieldset class=\"formatter\"><legend class=\"formatter\"><b style=\"text-align:center;\"> C: MATERNITY / SAFE DELIVERIES </b></legend>"
            + "<table border=\"1\" frame=\"box\"  style=\"border-color: #e5e5e5;margin-bottom: 3px; margin-left:150px; width:800px;\"><tr>"
            + "<td colspan=\"1\" class=\"form-actions\"><b></b></td>"
            + "<td  colspan=\"2\" class=\"form-actions\"> <b>NUMBER  </b></td>" + "</tr>" + "<tr>"
            + "<td>1.Normal Deliveries </td>" + "<td  colspan=\"2\">" + MATNormalDelivery + "</td>" + "</tr>"
            + "<tr>" + " <td>2. Caesarian Sections </td>" + "<td  colspan=\"2\">" + MATCSection + "</td>"
            + "</tr>" + "<tr>" + "  <td>3. Breech Delivery </td>" + "<td  colspan=\"2\">" + MATBreech + "</td>"
            + "</tr>" + "<tr>" + "   <td>4. Assisted vaginal delivery </td>" + "<td  colspan=\"2\">"
            + MATAssistedVag + "</td>" + "</tr>" + "<tr>" + "<td>5. TOTAL DELIVERIES</td>"
            + "<td  colspan=\"2\">" + MATDeliveryT + "</td>" + "</tr>"

            + "<tr>" + "   <td>6. Live Births </td>" + "<td  colspan=\"2\">" + MATLiveBirth + "</td>" + "</tr>"
            + "<tr>" + "   <td>7. Still Births </td>" + "<td  colspan=\"2\">" + MATStillBirth + "</td>"
            + "</tr>" + "<tr>" + "   <td>8. Under Weight Babies (Weight below 2500 grams) </td>"
            + "<td  colspan=\"2\">" + MATWeight2500 + "</td>" + "</tr>" + "<tr>"
            + "   <td>9. Pre-Term babies  </td>" + "<td  colspan=\"2\">" + MATPreTerm + "</td>" + "</tr>"
            + "<tr>" + "   <td>10. No of babies discharged alive </td>"
            + "<td style=\"padding-right:20px;\" colspan=\"2\" >" + MATDischargealive + "</td>" + "</tr>"
            + "<tr>" + "   <td>11. Referrals </td>" + "<td  colspan=\"2\">" + MATReferral + "</td>" + "</tr>"
            + "<tr>" + "   <td>12.Neonatal Deaths </td>" + "<td  colspan=\"2\">" + MATNeoNatalD + "</td>"
            + "</tr>" + "<tr>" + "   <td>13. Maternal Deaths </td>" + "<td  colspan=\"2\">" + MATMaternalD
            + "</td>" + "</tr>" + "<tr>" + "    <td class=\"form-actions\"><b> Maternal Complications </b></td>"
            + "<td  class=\"form-actions\"><b>Alive </b></td>" + "<td class=\"form-actions\" ><b>Dead </b></td>"
            + "</tr>" + "<tr>" + "   <td>14. A.P.H. (Ante Partum Haemorrhage) </td>" + "<td >" + MATAPHAlive
            + "</td>" + "<td >" + MATAPHDead + "</td>" + "</tr>" + "" + "<tr>"
            + "   <td>15. P.P.H. (Post Partum Haemorrhage) </td>" + "<td >" + MATPPHAlive + "</td>" + "<td >"
            + MATPPHDead + "</td>" + "</tr>" + "<tr>" + "   <td>16. Eclampsia</td>" + "<td >" + MATEclampAlive
            + "</td>" + "<td >" + MATEclampDead + "</td>" + "</tr>" + "<tr>" + "   <td>17. Ruptured Uterus</td>"
            + "<td >" + MATRupUtAlive + "</td>" + "<td >" + MATRupUtDead + "</td>" + "</tr>" + "<tr>"
            + "   <td>18. Obstructed Labour</td>" + "<td >" + MATObstrLaborAlive + "</td>" + "<td >"
            + MATObstrLaborDead + "</td>" + "</tr>" + "<tr>" + "   <td>19. Sepsis</td>" + "<td >"
            + MATSepsisAlive + "</td>" + "<td >" + MATSepsisDead + "</td>" + "</tr>" + "" + ""
            + "</table></fieldset>"

            + "" + "";
    MATERNITY_TAB += maternity;
    //MATAPHAlive=MATAPHDead=MATPPHAlive=MATPPHDead=MATEclampAlive=MATEclampDead=MATRupUtAlive
    //=MATRupUtDead=MATObstrLaborAlive=MATObstrLaborDead=MATSepsisAlive=MATSepsisDead="";

    //vct
    vct += "";

    vct += "<fieldset class=\"formatter\"><legend class=\"formatter\"><b style=\"text-align:center;\"> H: VCT </b></legend>"
            + "<table border=\"1\" frame=\"box\"  style=\"border-color: #e5e5e5;margin-bottom: 3px; margin-left:150px; width:800px;\">"
            + "<tr>" + "<td rowspan=\"2\" colspan=\"2\" class=\"form-actions\"><b></b></td>"
            + "<td  colspan=\"2\" class=\"form-actions\" style=\"text-align:center;\"> <b>15-24  </b></td>"
            + "<td colspan=\"2\" class=\"form-actions\" style=\"text-align:center;\"> <b> >=25 Years </b></td>"
            + "<td rowspan=\"2\" class=\"form-actions\" style=\"text-align:center;\"> <b>TOTAL </b></td>"
            + "</tr>" + "<tr>" + "<td  class=\"form-actions\" style=\"text-align:center;\"><b>F </b></td>"
            + "<td   class=\"form-actions\" style=\"text-align:center;\"> <b>M </b></td>"
            + "<td  class=\"form-actions\" style=\"text-align:center;\"> <b>F</b></td>"
            + "<td class=\"form-actions\" style=\"text-align:center;\"> <b>M </b></td>" + "</tr>"

            + "<tr>" + "<td rowspan=\"3\">1. VCT Clients</td>" + "<td>Counselled</td>"
            + "<td  style=\"text-align:center;\" >" + VCTClient_Couns_CF + "</td>"
            + "<td  style=\"text-align:center;\">" + VCTClient_Couns_CM + "</td>"
            + "<td  style=\"text-align:center;\">" + VCTClient_Couns_AF + "</td>"
            + "<td  style=\"text-align:center;\">" + VCTClient_Couns_AM + "</td>"
            + "<td  style=\"text-align:center;\">" + VCTClient_Couns_TOT + "</td>" + "</tr>" + "<tr>" + ""
            + "<td>Tested</td>" + "<td  style=\"text-align:center;\">" + VCTClient_Tested_CF + "</td>"
            + "<td  style=\"text-align:center;\">" + VCTClient_Tested_CM + "</td>"
            + "<td  style=\"text-align:center;\">" + VCTClient_Tested_AF + "</td>"
            + "<td  style=\"text-align:center;\">" + VCTClient_Tested_AM + "</td>"
            + "<td  style=\"text-align:center;\">" + VCTClient_Tested_TOT + "</td>" + "</tr>" + "<tr>" + ""
            + "<td>HIV+</td>" + "<td  style=\"text-align:center;\">" + VCTClient_HIV_CF + "</td>"
            + "<td  style=\"text-align:center;\">" + VCTClient_HIV_CM + "</td>"
            + "<td  style=\"text-align:center;\">" + VCTClient_HIV_AF + "</td>"
            + "<td  style=\"text-align:center;\">" + VCTClient_HIV_AM + "</td>"
            + "<td  style=\"text-align:center;\">" + VCTClient_HIV_TOT + "</td>" + "</tr>" + "<tr>"
            + "<td rowspan=\"4\">2. No of couples</td>" + "<td>Counselled</td>" + "<td colspan=\"4\">  </td>"
            + "<td  style=\"text-align:center;\">" + VCTPartner_Couns_TOT + "</td>"

            + "</tr>" + "<tr>" + "" + "<td>Tested</td>" + "<td colspan=\"4\">  </td>"
            + "<td  style=\"text-align:center;\" >" + VCTPartner_Tested_TOT + "</td>"

            + "</tr>" + "<tr>" + "" + "<td>Both HIV+</td>" + "<td colspan=\"4\">  </td>"
            + "<td  style=\"text-align:center;\">" + VCTPartner_HIV_TOT + "</td>"

            + "</tr>" + "<tr>" + "" + "<td>with discordant HIV+</td>" + "<td colspan=\"4\">  </td>"
            + "<td  style=\"text-align:center;\" >" + VCTPartner_Disc_TOT + "</td>"

            + "</tr>"

            + "</table></fieldset>"

            + "" + "";
    VCT_TAB += vct;
    //  VCTClient_Couns_CM=VCTClient_Couns_CF=VCTClient_Couns_AM=VCTClient_Couns_AF=VCTClient_Couns_TOT=
    // VCTClient_Tested_CM=VCTClient_Tested_CF=VCTClient_Tested_AM=VCTClient_Tested_AF
    //=VCTClient_Tested_TOT=VCTClient_HIV_CM=VCTClient_HIV_CF=VCTClient_HIV_AM=VCTClient_HIV_AF=VCTClient_HIV_TOT
    //=VCTPartner_Couns_TOT=VCTPartner_Tested_TOT=VCTPartner_HIV_TOT=VCTPartner_Disc_TOT="";

    // dtc 

    dtc += "";

    dtc += "<fieldset class=\"formatter\"><legend class=\"formatter\"><p id=\"demo\" hidden=\"true\"></p><b style=\"text-align:center;\"> I: DTC </b></legend>"
            + "<table border=\"1\" frame=\"box\"  style=\"border-color: #e5e5e5;margin-bottom: 3px; margin-left:150px; width:800px;\">"
            + "<tr>"
            + "<td rowspan=\"2\" colspan=\"2\" class=\"form-actions\" style=\"text-align:center;\"><b>I: DTC </b></td>"
            + "<td colspan=\"2\"  class=\"form-actions\" style=\"text-align:center;\"> <b>Children  </b></td>"
            + "<td colspan=\"2\" class=\"form-actions\" style=\"text-align:center;\"> <b> Adults </b></td>"
            + "<td rowspan=\"2\" class=\"form-actions\" style=\"text-align:center;\"> <b>TOTAL </b></td>"
            + "</tr>" + "<tr>"

            + "<td  class=\"form-actions\" style=\"text-align:center;\"> <b>F  </b></td>"
            + "<td  class=\"form-actions\" style=\"text-align:center;\"> <b>M </b></td>"
            + "<td  class=\"form-actions\" style=\"text-align:center;\"> <b>F </b></td>"
            + "<td  class=\"form-actions\" style=\"text-align:center;\"> <b>M </b></td>" + "</tr>" + "<tr>"
            + "<td rowspan=\"2\">1. No. Counselled</td>" + "<td>Outpatient</td>"
            + "<td   style=\"text-align:center;\">" + DTCA_Couns_Out_CF + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCA_Couns_Out_CM + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCA_Couns_Out_AF + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCA_Couns_Out_AM + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCA_Couns_Out_Tot + "</td>" + "</tr>" + "<tr>" + ""
            + "<td>Inpatient</td>" + "<td  style=\"text-align:center;\" >" + DTCA_Couns_In_CF + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCA_Couns_In_CM + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCA_Couns_In_AF + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCA_Couns_In_AM + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCA_Couns_In_Tot + "</td>" + "</tr>" + "<tr>"
            + "<td rowspan=\"2\">2. No. tested</td><td>Outpatient</td>" + "<td  style=\"text-align:center;\">"
            + DTCB_Test_Out_CF + "</td>" + "<td  style=\"text-align:center;\">" + DTCB_Test_Out_CM + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCB_Test_Out_AF + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCB_Test_Out_AM + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCB_Test_Out_Tot + "</td>" + "</tr>" + "<tr>"
            + "<td>Inpatient</td>" + "<td  style=\"text-align:center;\">" + DTCB_Test_In_CF + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCB_Test_In_CM + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCB_Test_In_AF + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCB_Test_In_AM + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCB_Test_In_Tot + "</td>" + "</tr>" + "<tr>"
            + "<td rowspan=\"2\">3. No. HIV+</td><td>Outpatient</td>" + "<td  style=\"text-align:center;\">"
            + DTCC_HIV_Out_CF + "</td>" + "<td  style=\"text-align:center;\">" + DTCC_HIV_Out_CM + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCC_HIV_Out_AF + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCC_HIV_Out_AM + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCC_HIV_Out_Tot + "</td>" + "</tr>" + "<tr>"
            + "<td>Inpatient</td>" + "<td  style=\"text-align:center;\">" + DTCC_HIV_In_CF + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCC_HIV_In_CM + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCC_HIV_In_AF + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCC_HIV_In_AM + "</td>"
            + "<td  style=\"text-align:center;\">" + DTCC_HIV_In_Tot + "</td>" + "</tr>"
            + "</table></fieldset>";

    DTC_TAB += dtc;

    //           DTCA_Couns_In_CM=DTCA_Couns_In_CF=DTCA_Couns_In_AM=DTCA_Couns_In_AF=DTCA_Couns_In_Tot=
    //DTCA_Couns_Out_CM=DTCA_Couns_Out_CF=DTCA_Couns_Out_AM=DTCA_Couns_Out_AF=DTCA_Couns_Out_Tot=
    // DTCB_Test_In_CM=DTCB_Test_In_CF
    //=DTCB_Test_In_AM=DTCB_Test_In_AF=DTCB_Test_In_Tot=DTCB_Test_Out_CM=DTCB_Test_Out_CF=DTCB_Test_Out_AM=DTCB_Test_Out_AF
    //  =DTCB_Test_Out_Tot=DTCC_HIV_In_CM=DTCC_HIV_In_CF=DTCC_HIV_In_AM
    //=DTCC_HIV_In_AF= DTCC_HIV_In_Tot=
    //  DTCC_HIV_Out_CM=DTCC_HIV_Out_CF=DTCC_HIV_Out_AM=DTCC_HIV_Out_AF=DTCC_HIV_Out_Tot=Userid="";

    FP_TAB += "</div></div></div>";
    MCH_TAB += "</div></div></div>";
    MATERNITY_TAB += "</div></div></div>";
    VCT_TAB += "</div></div></div>";
    DTC_TAB += "</div></div></div>";

    String str = "";
    //      HTMLWorker htmlWorker = new HTMLWorker(document);
    //     String str = "<html><head></head><body>"+header+""+FP_TAB+" </br></br> "+MCH_TAB+" </br></br> "+MATERNITY_TAB+"</br></br>  "+VCT_TAB+"  </br></br></br></br> "+DTC_TAB+" </body></html>";
    str += "<table border=\"1\" style=\"color:black; font-size:6px;\" width=\"90%\">" + "<tr>" + "<td>" + header
            + "</td>" + "</tr>" + "<tr>" + "<td>" + FP_TAB + "</td>" + "</tr>" + "<tr>" + "<td>" + MCH_TAB
            + "</td>" + "</tr>" + "<tr>" + "<td>" + MATERNITY_TAB + "</td>" + "</tr>" + "<tr>" + "<td>"
            + VCT_TAB + "</td>" + "</tr>" + "<tr>" + "<td>" + DTC_TAB + "</td>" + "</tr>"

            + "</table>" + "";
    System.out.println("PDF Created!");
    Document document = new Document();
    ByteArrayOutputStream outByteStream = new ByteArrayOutputStream();
    PdfWriter.getInstance(document, outByteStream);
    document.open();

    HTMLWorker htmlWorker = new HTMLWorker(document);
    htmlWorker.parse(new StringReader(str));

    CSSResolver cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(false);
    cssResolver.addCss("", true);

    document.close();
    response.setContentType("application/pdf");
    response.setContentLength(outByteStream.size());
    response.setHeader("Expires:", "0"); // eliminates browser caching
    response.setHeader("Content-Disposition", "attachment; filename=MOH711.pdf");

    ServletOutputStream sos;
    sos = response.getOutputStream();
    outByteStream.writeTo(sos);
    sos.flush();

}

From source file:reports.nutritionpdf.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {//from w w  w. j  a  v  a  2 s  .co  m
        response.setContentType("text/html;charset=UTF-8");
        session = request.getSession();

        dbConn conn = new dbConn();
        //get the existing data for the month, year and facility that is already on session

        String month = "";
        String year = "";
        String facil = "";

        String form = "nutrition";

        //=====================================================================================================

        year = "2015";
        month = "5";
        String county = "";

        String header = "";

        String reportType = "";
        if (request.getParameter("reportType") != null) {
            reportType = request.getParameter("reportType");
        }
        String reportDuration = "";
        if (request.getParameter("reportDuration") != null) {
            reportDuration = request.getParameter("reportDuration");
        }
        if (request.getParameter("year") != null) {
            year = request.getParameter("year");
        }

        if (request.getParameter("facility") != null && reportType.equals("2")) {
            facil = request.getParameter("facility");

            String getfacil = "select SubPartnerNom,CentreSanteId as mflcode from subpartnera where SubPartnerID='"
                    + facil + "'";
            conn.rs = conn.st.executeQuery(getfacil);

            while (conn.rs.next()) {

                header += " FACILITY : <u>" + conn.rs.getString(1).toUpperCase() + " </u>     MFL CODE  :  <u>"
                        + conn.rs.getString(2) + " </u> ";

            }

        }

        if (request.getParameter("county") != null && reportType.equals("2")) {
            county = request.getParameter("county");

            String getcounty = "select County from county where CountyID='" + county + "'";
            conn.rs = conn.st.executeQuery(getcounty);

            while (conn.rs.next()) {

                header += " COUNTY : <u>" + conn.rs.getString(1).toUpperCase() + " </u>";

            }

        }

        if (request.getParameter("month") != null && reportDuration.equals("4")) {
            month = request.getParameter("month");

            String getmonth = "select name as monthname from month where id='" + month + "'";
            conn.rs = conn.st.executeQuery(getmonth);

            while (conn.rs.next()) {

                header += " MONTH : <u>" + conn.rs.getString(1).toUpperCase() + " </u>";

            }

        }

        header += " YEAR : <u>" + year + "</u>";

        String facilitywhere = "";
        String yearwhere = "";
        String monthwhere = "";
        String countywhere = "";
        String duration = "";
        String semi_annual = "";
        String quarter = "";

        //==================================================================================================
        //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        int yearcopy = Integer.parseInt(year);

        //        reportType="2";
        //        year=2015;
        //        reportDuration="3";
        String yearmonth = "" + year;
        int prevYear = yearcopy - 1;
        int maxYearMonth = 0;
        int monthcopy = 0;
        //        GET REPORT DURATION============================================

        if (reportDuration.equals("1")) {
            yearmonth += "_AnnualReport";
            duration = " " + form + ".yearmonth BETWEEN " + prevYear + "10 AND " + year + "09";
        } else if (reportDuration.equals("2")) {
            semi_annual = request.getParameter("semi_annual");
            //        semi_annual="2";
            if (semi_annual.equals("1")) {
                yearmonth = prevYear + "_Oct_" + year + "_Mar";
                duration = " " + form + ".yearmonth BETWEEN " + prevYear + "10 AND " + year + "03";
            } else {
                yearmonth += "_Apr_Sep";
                duration = " " + form + ".yearmonth BETWEEN " + year + "04 AND " + year + "09";
            }
        }

        else if (reportDuration.equals("3")) {
            String startMonth, endMonth;
            quarter = request.getParameter("quarter");
            //       quarter="3";
            String getMonths = "SELECT months,name FROM quarter WHERE id='" + quarter + "'";
            conn.rs = conn.st.executeQuery(getMonths);
            if (conn.rs.next() == true) {

                String months[] = conn.rs.getString(1).split(",");
                startMonth = months[0];
                endMonth = months[2];
                if (quarter.equals("1")) {
                    duration = " " + form + ".yearmonth BETWEEN " + prevYear + "" + startMonth + " AND "
                            + prevYear + "" + endMonth;
                    yearmonth = prevYear + "_" + conn.rs.getString(2);
                } else {
                    yearmonth = year + "_" + conn.rs.getString(2);
                    duration = " " + form + ".yearmonth BETWEEN " + year + "" + startMonth + " AND " + year + ""
                            + endMonth;
                }
            }
        }

        else if (reportDuration.equals("4")) {
            monthcopy = Integer.parseInt(request.getParameter("month"));

            //     month=5;
            if (monthcopy >= 10) {
                yearmonth = prevYear + "_" + month;
                duration = " " + form + ".yearmonth=" + prevYear + "" + month;
            } else {
                duration = " " + form + ".yearmonth=" + year + "0" + month;
                yearmonth = year + "_(" + month + ")";
            }
        } else {
            duration = "";
        }

        //======================================================================
        //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        String getexistingdata = "";

        if (!county.equals("")) {

            countywhere = " and countyid = '" + county + "'";

        }

        if (!facil.equals("") && reportType.equalsIgnoreCase("2")) {

            facilitywhere = " and " + form + ".SubPartnerID = '" + facil + "'";

        }

        String joinedwhwere = " where 1=1 " + facilitywhere + "  " + yearwhere + " && " + duration;

        //String joinedwhwere=" where 1=1 "+yearwhere+" && "+duration;  

        //=====================================================================================================    

        getexistingdata = "select  sum(MCHCCNtrTM) as MCHCCNtrTM,    MCHCCNtrTMC,    sum(MCHCCNtrTF) as MCHCCNtrTF,    MCHCCNtrTFC,   sum(MCHCCNtrTT) as MCHCCNtrTT,    MCHCCNtrTTC,    sum(MCHNtrnCHWTrain) as MCHNtrnCHWTrain,   sum(MCHNutChRch) as MCHNutChRch,   sum(MCHNtrnWasted) as MCHNtrnWasted,   sum(MCHNtrnUnderweight) as MCHNtrnUnderweight,   sum(MCHChild5D) as MCHChild5D,   sum(MCHNtrnHealthFacility) as MCHNtrnHealthFacility,   sum(MCHVaccVitA) as MCHVaccVitA,   sum(MCHNtrnFoodOVC) as MCHNtrnFoodOVC,   sum(MCHNtrnFoodPLHIV) as MCHNtrnFoodPLHIV,   sum(MCHNtrnFood) as MCHNtrnFood,   sum(C51DCM) as C51DCM,   sum(C51DCF) as C51DCF,   sum(C51DC) as C51DC,    sum(C51DAM) as C51DAM,   sum(C51DAF) as C51DAF,   sum(C51DA) as C51DA,    sum(C51DP) as C51DP,    sum(C51DMT) as C51DMT,    sum(C51DFT) as C51DFT,    sum(C51DT) as C51DT  from "
                + form
                + " join ( subpartnera join (district join county on county.CountyID=district.CountyID ) on district.DistrictID = subpartnera.DistrictID )  on "
                + form + ".SubPartnerID = subpartnera.SubPartnerID   " + joinedwhwere + "  ";

        //System.out.println(getexistingdata);

        String MCHCCNtrTM = "";
        String MCHCCNtrTF = "";
        String MCHCCNtrTT = "";

        String MCHCCNtrTMC = "0";
        String MCHCCNtrTFC = "0";
        String MCHCCNtrTTC = "0";

        String MCHCCNtrTMCH = "0";
        String MCHCCNtrTFCH = "0";
        String MCHCCNtrTTCH = "0";

        String MCHNtrnCHWTrain = "";
        String MCHNutChRch = "";
        String MCHNtrnWasted = "";
        String MCHNtrnUnderweight = "";
        String MCHChild5D = "";
        String MCHNtrnHealthFacility = "";
        String MCHVaccVitA = "";
        String MCHNtrnFoodOVC = "";
        String MCHNtrnFoodPLHIV = "";
        String MCHNtrnFood = "";
        String C51DCM = "";
        String C51DCF = "";
        String C51DC = "";
        String C51DAM = "";
        String C51DAF = "";
        String C51DA = "";
        String C51DP = "";
        String C51DMT = "";
        String C51DFT = "";
        String C51DT = "";

        String distid = "";

        if (session.getAttribute("subcountyid") != null) {
            distid = session.getAttribute("subcountyid").toString();
        }

        int counter = 0;

        conn.rs = conn.st.executeQuery(getexistingdata);
        while (conn.rs.next()) {
            //now check if form was updated and if its one month after data entry
            //now load the column values here

            MCHCCNtrTM = conn.rs.getString("MCHCCNtrTM");
            if (MCHCCNtrTM == null) {
                MCHCCNtrTM = "";
            }

            MCHCCNtrTF = conn.rs.getString("MCHCCNtrTF");
            if (MCHCCNtrTF == null) {
                MCHCCNtrTF = "";
            }

            MCHCCNtrTT = conn.rs.getString("MCHCCNtrTT");
            if (MCHCCNtrTT == null) {
                MCHCCNtrTT = "";
            }

            MCHCCNtrTMC = conn.rs.getString("MCHCCNtrTMC");
            if (MCHCCNtrTMC == null) {
                MCHCCNtrTMC = "0";
            }

            MCHCCNtrTFC = conn.rs.getString("MCHCCNtrTFC");
            if (MCHCCNtrTFC == null) {
                MCHCCNtrTFC = "0";
            }

            MCHCCNtrTTC = conn.rs.getString("MCHCCNtrTTC");
            if (MCHCCNtrTTC == null) {
                MCHCCNtrTTC = "0";
            }

            MCHNtrnCHWTrain = conn.rs.getString("MCHNtrnCHWTrain");
            if (MCHNtrnCHWTrain == null) {
                MCHNtrnCHWTrain = "";
            }

            MCHNutChRch = conn.rs.getString("MCHNutChRch");
            if (MCHNutChRch == null) {
                MCHNutChRch = "";
            }

            MCHNtrnWasted = conn.rs.getString("MCHNtrnWasted");
            if (MCHNtrnWasted == null) {
                MCHNtrnWasted = "";
            }

            MCHNtrnUnderweight = conn.rs.getString("MCHNtrnUnderweight");
            if (MCHNtrnUnderweight == null) {
                MCHNtrnUnderweight = "";
            }

            MCHChild5D = conn.rs.getString("MCHChild5D");
            if (MCHChild5D == null) {
                MCHChild5D = "";
            }

            MCHNtrnHealthFacility = conn.rs.getString("MCHNtrnHealthFacility");
            if (MCHNtrnHealthFacility == null) {
                MCHNtrnHealthFacility = "";
            }

            MCHVaccVitA = conn.rs.getString("MCHVaccVitA");
            if (MCHVaccVitA == null) {
                MCHVaccVitA = "";
            }

            MCHNtrnFoodOVC = conn.rs.getString("MCHNtrnFoodOVC");
            if (MCHNtrnFoodOVC == null) {
                MCHNtrnFoodOVC = "";
            }

            MCHNtrnFoodPLHIV = conn.rs.getString("MCHNtrnFoodPLHIV");
            if (MCHNtrnFoodPLHIV == null) {
                MCHNtrnFoodPLHIV = "";
            }

            MCHNtrnFood = conn.rs.getString("MCHNtrnFood");
            if (MCHNtrnFood == null) {
                MCHNtrnFood = "";
            }

            C51DCM = conn.rs.getString("C51DCM");
            if (C51DCM == null) {
                C51DCM = "";
            }

            C51DCF = conn.rs.getString("C51DCF");
            if (C51DCF == null) {
                C51DCF = "";
            }

            C51DC = conn.rs.getString("C51DC");
            if (C51DC == null) {
                C51DC = "";
            }

            C51DAM = conn.rs.getString("C51DAM");
            if (C51DAM == null) {
                C51DAM = "";
            }

            C51DAF = conn.rs.getString("C51DAF");
            if (C51DAF == null) {
                C51DAF = "";
            }

            C51DA = conn.rs.getString("C51DA");
            if (C51DA == null) {
                C51DA = "";
            }

            C51DP = conn.rs.getString("C51DP");
            if (C51DP == null) {
                C51DP = "";
            }

            C51DMT = conn.rs.getString("C51DMT");
            if (C51DMT == null) {
                C51DMT = "";
            }

            C51DFT = conn.rs.getString("C51DFT");
            if (C51DFT == null) {
                C51DFT = "";
            }

            C51DT = conn.rs.getString("C51DT");
            if (C51DT == null) {
                C51DT = "";
            }

        }

        String createdtable = "";

        if (1 == 1) {
            createdtable += header
                    + "<br/><table   border='1' style='border-color: #e5e5e5;margin-bottom: 3px;font-size:11;'><tr class='form-actions'>"
                    + "<th rowspan='10' colspan='2'><b style='text-align:center;'>3.1.9.2 <br/> population-based Nutrition Service Delivery</b></th>"
                    + "<td colspan='4'><b>Number of People trained in child health care and nutrition through USG-supported health area programs</b></td><td><b>"
                    + MCHCCNtrTTC + "</b></td></tr>";
            createdtable += "<tr><td colspan='4' style='text-align:left;'>No of Men </td><td>" + MCHCCNtrTM
                    + "</td></tr>";
            createdtable += "<tr><td colspan='4' style='text-align:left;'>No of Women </td><td>" + MCHCCNtrTF
                    + "</td></tr>";
            createdtable += "<tr><td colspan='4'><b>Total Number of people trained in child health care and nutrition through USG-supported health area programs</b></td><td>"
                    + MCHCCNtrTT + "</td></tr>";
            createdtable += "<tr><td colspan='4'><b>Number of Community health workers trained in child health and/or nutrition</b></td><td>"
                    + MCHNtrnCHWTrain + "</td></tr>";
            createdtable += "<tr><td colspan='4'><b>Number of children reached by USG-supported nutrition programs</b></td><td>"
                    + MCHNutChRch + "</td></tr>";
            createdtable += "<tr><td colspan='4'>Total number of children under five who are wasted (with weight for height Z score < - 2)</td><td>"
                    + MCHNtrnWasted + "</td></tr>";
            createdtable += "<tr><td colspan='4'>Total number of children under five who are underweight (with weight for age Z score < - 2) (SEE Indicator </td><td>"
                    + MCHNtrnUnderweight + "</td></tr>";
            createdtable += "<tr><td colspan='4'>Total number of children under five years</td><td>"
                    + MCHChild5D + "</td></tr>";
            createdtable += "<tr><td colspan='4'>Number of health facilities with established capacity to manage acute under-nutrition</td><td>"
                    + MCHNtrnHealthFacility + "</td></tr>";

            createdtable += "<tr><td colspan='1' rowspan='9'>HIV and Nutrition</td><td></td> <td colspan='4'> <b> Number of children under 5 years of age who received Vitamin A from USG-supported programs </b> </td><td>"
                    + MCHVaccVitA + "</td></tr>";
            createdtable += "<tr><td rowspan='3' colspan='1'> <b> C2.3.D </b> </td> <td colspan='4'>Number of HIV  positive clinically malnourished clients who received therapeutic and/or supplementary food < 18 </td><td>"
                    + MCHNtrnFoodOVC + "</td></tr>";
            createdtable += "<tr><td colspan='4'>Number of HIV  positive clinically malnourished clients who received therapeutic and/or supplementary food 18+ (PLHIV)</td><td>"
                    + MCHNtrnFoodPLHIV + "</td></tr>";
            createdtable += "<tr><td colspan='4'>Number of HIV  positive clinically malnourished clients who received therapeutic and/or supplementary food -<b> Total</b></td><td>"
                    + MCHNtrnFood + "</td></tr>";

            createdtable += "<tr> <td></td><td></td><td></td><td><b>Male</b></td><td><b>Female</b></td><td><b>Total</b></td></tr>";
            createdtable += "<tr><td rowspan='4' colspan='1'> <b>C5.1.D </b> </td> <td colspan='1' rowspan='4'>Number of eligible clients who received food and / or other nutrition Services</td><td> <b> less Than 18 </b>  </td> <td>"
                    + C51DCM + "</td><td>" + C51DCF + "</td><td>" + C51DC + "</td></tr>";
            createdtable += "<tr><td> <b> >=18 </b> </td> <td>" + C51DAM + "</td><td>" + C51DAF + "</td><td>"
                    + C51DA + "</td></tr>";
            createdtable += "<tr><td colspan='3'> <b> Pregnant/Lactating (PMTCT 1.5)</b> </td><td>" + C51DP
                    + "</td></tr>";
            createdtable += "<tr><td> <b> Total </b>  </td> <td> " + C51DMT + " </td> <td> " + C51DFT
                    + " </td> <td> " + C51DT + " </td></tr></table>";

        }

        System.out.println(createdtable);

        if (conn.conn != null) {
            conn.conn.close();
        }
        if (conn.rs != null) {
            conn.rs.close();
        }
        if (conn.rs1 != null) {
            conn.rs1.close();
        }
        if (conn.rs2 != null) {
            conn.rs2.close();
        }
        if (conn.st != null) {
            conn.st.close();
        }
        if (conn.st2 != null) {
            conn.st2.close();
        }

        Document document = new Document();
        ByteArrayOutputStream outByteStream = new ByteArrayOutputStream();
        try {
            PdfWriter.getInstance(document, outByteStream);
        } catch (DocumentException ex) {
            Logger.getLogger(Vmmcpdf.class.getName()).log(Level.SEVERE, null, ex);
        }
        document.open();

        HTMLWorker htmlWorker = new HTMLWorker(document);
        htmlWorker.parse(new StringReader(createdtable));

        CSSResolver cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(false);
        try {
            cssResolver.addCss("", true);
        } catch (CssResolverException ex) {
            Logger.getLogger(Vmmcpdf.class.getName()).log(Level.SEVERE, null, ex);
        }

        document.close();

        IdGenerator IG = new IdGenerator();
        String createdOn = IG.CreatedOn();

        response.setContentType("application/pdf");
        response.setContentLength(outByteStream.size());
        response.setHeader("Expires:", "0"); // eliminates browser caching
        response.setHeader("Content-Disposition",
                "attachment; filename=" + form + yearmonth + "_Generated_On_" + createdOn + ".pdf");

        ServletOutputStream sos;
        sos = response.getOutputStream();
        outByteStream.writeTo(sos);
        sos.flush();

    } catch (SQLException ex) {
        Logger.getLogger(Vmmcpdf.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:reports.pdf731.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, SQLException, DocumentException, CssResolverException {

    dbConn conn = new dbConn();
    session = request.getSession();/*from  www .jav a2 s .com*/

    reportType = request.getParameter("reportType");
    year = Integer.parseInt(request.getParameter("year"));
    reportDuration = request.getParameter("reportDuration");

    headerInfo = "";
    //        reportType="1";
    //        year=2015;
    //        reportDuration="4";

    prevYear = year - 1;
    maxYearMonth = 0;

    //--------------------------------------------------------------------------------
    //--------------------------------------------------------------------------------
    //added later to accomodate the years
    String subpartnerid = "SubPartnerID";
    String subpartnera = "subpartnera";

    int monthint = 0;
    int yearint = 0;
    yearint = year;

    //        GET REPORT DURATION============================================

    if (reportDuration.equals("1")) {

        //_________________________________annualy_____________________________________

        //solve subpartner table and facil_id first            
        if (yearint <= 2014) {
            subpartnerid = "SP_ID";
            subpartnera = "subpartnera2014";
        } else if (yearint > 2015) {
            subpartnerid = "SubPartnerID";
            subpartnera = "subpartnera";
        } else if (yearint == 2015) {
            //this should be skipped since it picks both facil tables. 
            //It has been disabled at the interface position
            subpartnerid = "SubPartnerID";
            subpartnera = "subpartnera";
        }

        duration = " moh731.yearmonth BETWEEN " + prevYear + "10 AND " + year + "09";
        period = "Annual Report ";
        url = "ANNUAL_REPORT_YEAR(" + year + ")";
    } else if (reportDuration.equals("2")) {
        semi_annual = request.getParameter("semi_annual");

        //_________________________________SemiAnnualy_________________________________

        //        semi_annual="2";
        if (semi_annual.equals("1")) {
            //oct-mar 

            if (yearint <= 2014) {
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";
            } else if (yearint > 2015) {
                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";
            } else if (yearint == 2015) {
                //for oct-mar, use old database list
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";

            }

        } else {
            //apr-sep

            if (yearint <= 2014) {
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";
            } else if (yearint > 2015) {
                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";
            } else if (yearint == 2015) {
                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";

            }

        }

        if (semi_annual.equals("1")) {
            duration = " moh731.yearmonth BETWEEN " + prevYear + "10 AND " + year + "03";
            period = "Semi-Annual : <b> OCT (" + prevYear + ") -  MARCH (" + year + ")</b>";
            url = "SEMI_ANNUAL_REPORT_FOR_OCT(" + prevYear + ")_MARCH(" + year + ")";
        } else {
            duration = " moh731.yearmonth BETWEEN " + year + "04 AND " + year + "09";
            period = "Semi-Annual : <b> APRIL (" + year + ") -  SEPT (" + year + ")</b>";
            url = "SEMI_ANNUAL_REPORT_FOR_APRIL(" + year + ")_SEPT(" + year + ")";
        }
    }

    else if (reportDuration.equals("3")) {
        String startMonth, endMonth;
        //_________________________________Quarterly__________________________________

        quarter = request.getParameter("quarter");
        //specify subparter table and facil id first

        //oct-mar
        if (quarter.equals("1") || quarter.equals("2")) {
            if (yearint <= 2014) {
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";
            } else if (yearint > 2015) {
                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";
            } else if (yearint == 2015) {
                //for oct-mar, use old database list
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";

            }

        } else if (quarter.equals("3") || quarter.equals("4")) {
            //apr-sep

            //apr-sep

            if (yearint <= 2014) {
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";
            } else if (yearint > 2015) {
                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";
            } else if (yearint == 2015) {
                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";

            }

        }

        //       quarter="3";
        String getMonths = "SELECT months,name FROM quarter WHERE id='" + quarter + "'";
        conn.rs = conn.st.executeQuery(getMonths);
        if (conn.rs.next() == true) {
            String months[] = conn.rs.getString(1).split(",");
            startMonth = months[0];
            endMonth = months[2];
            if (quarter.equals("1")) {
                duration = " moh731.yearmonth BETWEEN " + prevYear + "" + startMonth + " AND " + prevYear + ""
                        + endMonth;
                period = "Quarter: <b>" + conn.rs.getString(2).replace("-", prevYear + " - ") + " " + prevYear
                        + "</b>";
                url = "QUARTERLY_REPORT_FOR_" + conn.rs.getString(2).replace("-", prevYear + "-") + "_"
                        + prevYear + "";
            } else {
                duration = " moh731.yearmonth BETWEEN " + year + "" + startMonth + " AND " + year + ""
                        + endMonth;
                period = "Quarter: <b>" + conn.rs.getString(2).replace("-", year + " - ") + " " + year + "</b>";
                url = "QUARTERLY_REPORT_FOR_" + conn.rs.getString(2).replace("-", year + "-") + "_" + year + "";
            }
        }
    }

    else if (reportDuration.equals("4")) {
        month = Integer.parseInt(request.getParameter("month"));

        //__________________________monthly reports_________________________

        //deal with subpartnertable and facilid first

        monthint = month;

        if (yearint == 2015) {

            if (monthint == 10 || monthint == 11 || monthint == 12 || monthint == 1 || monthint == 2
                    || monthint == 3) {
                //here use a different subpartner id
                subpartnerid = "SP_ID";
                subpartnera = "subpartnera2014";
            } else {

                subpartnerid = "SubPartnerID";
                subpartnera = "subpartnera";

            }

        } else if (yearint <= 2014) {
            subpartnerid = "SP_ID";
            subpartnera = "subpartnera2014";
        } else if (yearint > 2015) {
            subpartnerid = "SubPartnerID";
            subpartnera = "subpartnera";
        }
        //---------------------------------------------------------------------------------------
        //---------------------------------------------------------------------------------------

        //     month=4;
        if (month >= 10) {
            duration = " moh731.yearmonth=" + prevYear + "" + month;
        } else {
            duration = " moh731.yearmonth=" + year + "0" + month;
        }
        String getMonthName = "SELECT name FROM month WHERE id='" + month + "'";
        conn.rs = conn.st.executeQuery(getMonthName);
        if (conn.rs.next() == true) {
            if (month >= 10) {
                period = "Month : <b>" + conn.rs.getString(1) + "(" + prevYear + ")</b>";
                url = "MONTHLY_REPORT_FOR_" + conn.rs.getString(1) + "(" + prevYear + ")";
            } else {
                period = "Month : <b>" + conn.rs.getString(1) + "(" + year + ")</b>";
                url = "MONTHLY_REPORT_FOR_" + conn.rs.getString(1) + "(" + year + ")";
            }

        }
    } else {
        duration = "";
    }

    //     GET FACILITIES TO OUTPUT.................................
    mflcode = countyName = districtName = facilityName = "";

    if (reportType.equals("1")) {
        facility = "";
        header += "";
        headerInfo = "All health facilities.  Year: <b>" + year + "</b> " + period + "";
    }

    else {
        String spid = "";

        facilityId = request.getParameter("facility");
        //  facilityId="403";
        facility = " moh731.SubPartnerID='" + facilityId + "' &&";

        String getName = "SELECT subpartnera.SubPartnerNom,district.DistrictNom,county.County,subpartnera.CentreSanteId   , SP_ID FROM subpartnera "
                + "JOIN district ON subpartnera.DistrictID=district.DistrictID JOIN county ON "
                + "district.CountyID=county.CountyID WHERE subpartnera.SubPartnerID='" + facilityId + "'";
        conn.rs = conn.st.executeQuery(getName);
        if (conn.rs.next() == true) {
            facilityName = conn.rs.getString(1);
            districtName = conn.rs.getString(2);
            countyName = conn.rs.getString(3);
            mflcode = conn.rs.getString(4);

            spid = conn.rs.getString(5);

        }

        if (subpartnerid.equalsIgnoreCase("SP_ID")) {

            facility = "moh731.SubPartnerID='" + spid + "' &&";

        }

        header += headerInfo = " County: <b>" + countyName + "</b> District: <b>" + districtName
                + "</b>  Facility: <b>" + facilityName + "</b>" + period + "  Year: <b>" + year
                + "</b>   MFL Code: <b>" + mflcode + "</b>";
    }

    header += "</table>";

    System.out.println(header);
    String getMaxYearMonth = "SELECT MAX(yearmonth) FROM moh731 WHERE " + facility + " " + duration;
    conn.rs = conn.st.executeQuery(getMaxYearMonth);
    if (conn.rs.next() == true) {
        maxYearMonth = conn.rs.getInt(1);
    }
    System.out.println("max year month : " + maxYearMonth);

    //   START OUTPUTTING THE RESULTS=================================================   

    HIV_CT = PMTCT = CT = VMMC = PEP = Blood = "";
    data = "<html><head>" + "<style>  </style>" + "" + "</head><body>";

    isValidated = "";
    validity = "";
    HV0101 = HV0102 = HV0103 = HV0105 = HV0106 = HV0107 = HV0108 = HV0109 = HV0110 = HV0111 = HV0112 = HV0113 = HV0114 = HV0115 = HV0116 = 0;
    HV0201 = HV0202 = HV0203 = HV0204 = HV0205 = HV0206 = HV0207 = HV0208 = HV0209 = HV0210 = HV0211 = HV0212 = HV0213 = HV0214 = HV0215 = HV0216 = HV0217 = HV0218 = HV0219 = HV0220 = HV0221 = HV0224 = HV0225 = HV0226 = HV0227 = HV0228 = HV0229 = HV0230 = HV0231 = HV0232 = HV0233 = HV0234 = HV0235 = HV0236 = HV0237 = HV0238 = HV0239 = HV0240 = HV0241 = HV0242 = HV0243 = HV0244 = 0;
    HV0301 = HV0302 = HV0303 = HV0304 = HV0305 = HV0306 = HV0307 = HV0308 = HV0309 = HV0310 = HV0311 = HV0312 = HV0313 = HV0314 = HV0315 = HV0316 = HV0317 = HV0318 = HV0319 = HV0320 = HV0321 = HV0322 = HV0323 = HV0324 = HV0325 = HV0326 = HV0327 = HV0328 = HV0329 = HV0330 = HV0331 = HV0332 = HV0333 = HV0334 = HV0335 = HV0336 = HV0337 = HV0338 = HV0339 = HV0340 = HV0341 = HV0342 = HV0343 = HV0344 = HV0345 = HV0346 = HV0347 = HV0348 = HV0349 = HV0350 = HV0351 = HV0352 = HV0353 = HV0354 = HV0355 = HV0904 = HV0905 = HV0370 = HV0371 = HV0372 = HV0373 = 0;
    HV0401 = HV0402 = HV0403 = HV0406 = HV0407 = HV0408 = HV0409 = HV0410 = HV0411 = HV0412 = HV0413 = HV0414 = HV0415 = 0;
    HV0501 = HV0502 = HV0503 = HV0504 = HV0505 = HV0506 = HV0507 = HV0508 = HV0509 = HV0510 = HV0511 = HV0512 = HV0513 = HV0514 = 0;
    HV0601 = HV0602 = HV0605 = 0;

    System.out.println("facility : " + facility + "   duration : " + duration);

    String checker = "SELECT "
            + "SUM(HV0101),SUM(HV0102),SUM(HV0103),SUM(HV0105),SUM(HV0106),SUM(HV0107),SUM(HV0108),SUM(HV0109),SUM(HV0110),SUM(HV0111),SUM(HV0112),SUM(HV0113),SUM(HV0114),"
            + "SUM(HV0115),SUM(HV0116),"
            + "SUM(HV0201),SUM(HV0202),SUM(HV0203),SUM(HV0204),SUM(HV0205),SUM(HV0206),SUM(HV0207),SUM(HV0208),SUM(HV0209),SUM(HV0210),SUM(HV0211),SUM(HV0212),SUM(HV0213),"
            + "SUM(HV0214),SUM(HV0215),SUM(HV0216),SUM(HV0217),SUM(HV0218),SUM(HV0219),SUM(HV0220),SUM(HV0221),SUM(HV0224),SUM(HV0225),SUM(HV0226),SUM(HV0227),SUM(HV0228),SUM(HV0229),"
            + "SUM(HV0230),SUM(HV0231),SUM(HV0232),SUM(HV0233),SUM(HV0234),SUM(HV0235),SUM(HV0236),SUM(HV0237),SUM(HV0238),SUM(HV0239),SUM(HV0240),SUM(HV0241),SUM(HV0242),"
            + "SUM(HV0243),SUM(HV0244),"
            + "SUM(HV0301),SUM(HV0302),SUM(HV0303),SUM(HV0304),SUM(HV0305),SUM(HV0306),SUM(HV0307),SUM(HV0308),SUM(HV0309),SUM(HV0310),SUM(HV0311),SUM(HV0312),SUM(HV0313),SUM(HV0314),"
            + "SUM(HV0315),SUM(HV0316),SUM(HV0317),SUM(HV0318),SUM(HV0319),SUM(HV0320),SUM(HV0321),SUM(HV0322),SUM(HV0323),SUM(HV0324),SUM(HV0325),SUM(HV0326),SUM(HV0327),SUM(HV0328),"
            + "SUM(HV0329),SUM(HV0330),SUM(HV0331),SUM(HV0332),SUM(HV0333),SUM(HV0334),SUM(HV0335),SUM(HV0336),SUM(HV0337),SUM(HV0338),SUM(HV0339),SUM(HV0340),SUM(HV0341),"
            + "SUM(HV0342),SUM(HV0343),SUM(HV0344),SUM(HV0345),SUM(HV0346),SUM(HV0347),SUM(HV0348),SUM(HV0349),SUM(HV0350),SUM(HV0351),SUM(HV0352),SUM(HV0353),"
            + "SUM(HV0354),SUM(HV0355),SUM(HV0904),SUM(HV0905),SUM(HV0370),SUM(HV0371),SUM(HV0372),SUM(HV0373),"
            + "SUM(HV0401),SUM(HV0402),SUM(HV0403),SUM(HV0406),SUM(HV0407),SUM(HV0408),SUM(HV0409),SUM(HV0410),SUM(HV0411),SUM(HV0412),SUM(HV0413),SUM(HV0414),SUM(HV0415),"
            + "SUM(HV0501),SUM(HV0502),SUM(HV0503),SUM(HV0504),SUM(HV0505),SUM(HV0506),SUM(HV0507),SUM(HV0508),SUM(HV0509),SUM(HV0510),SUM(HV0511),SUM(HV0512),SUM(HV0513),SUM(HV0514),"
            + "SUM(HV0601),SUM(HV0602),SUM(HV0605)" + " FROM moh731 WHERE " + facility + " " + duration;

    conn.rs = conn.st.executeQuery(checker);
    if (conn.rs.next() == true) {

        System.out.println("Data already exist loading............................");

        if (conn.rs.getInt(1) != 0) {
            HV0101 = conn.rs.getInt(1);
        }
        if (conn.rs.getInt(2) != 0) {
            HV0102 = conn.rs.getInt(2);
        }
        if (conn.rs.getInt(3) != 0) {
            HV0103 = conn.rs.getInt(3);
        }
        if (conn.rs.getInt(4) != 0) {
            HV0105 = conn.rs.getInt(4);
        }
        if (conn.rs.getInt(5) != 0) {
            HV0106 = conn.rs.getInt(5);
        }
        if (conn.rs.getInt(6) != 0) {
            HV0107 = conn.rs.getInt(6);
        }
        if (conn.rs.getInt(7) != 0) {
            HV0108 = conn.rs.getInt(7);
        }
        if (conn.rs.getInt(8) != 0) {
            HV0109 = conn.rs.getInt(8);
        }
        if (conn.rs.getInt(9) != 0) {
            HV0110 = conn.rs.getInt(9);
        }
        if (conn.rs.getInt(10) != 0) {
            HV0111 = conn.rs.getInt(10);
        }
        if (conn.rs.getInt(11) != 0) {
            HV0112 = conn.rs.getInt(11);
        }
        if (conn.rs.getInt(12) != 0) {
            HV0113 = conn.rs.getInt(12);
        }
        if (conn.rs.getInt(13) != 0) {
            HV0114 = conn.rs.getInt(13);
        }
        if (conn.rs.getInt(14) != 0) {
            HV0115 = conn.rs.getInt(14);
        }
        if (conn.rs.getInt(15) != 0) {
            HV0116 = conn.rs.getInt(15);
        }

        if (conn.rs.getInt(16) != 0) {
            HV0201 = conn.rs.getInt(16);
        }
        if (conn.rs.getInt(17) != 0) {
            HV0202 = conn.rs.getInt(17);
        }
        if (conn.rs.getInt(18) != 0) {
            HV0203 = conn.rs.getInt(18);
        }
        if (conn.rs.getInt(19) != 0) {
            HV0204 = conn.rs.getInt(19);
        }
        if (conn.rs.getInt(20) != 0) {
            HV0205 = conn.rs.getInt(20);
        }
        if (conn.rs.getInt(21) != 0) {
            HV0206 = conn.rs.getInt(21);
        }
        if (conn.rs.getInt(22) != 0) {
            HV0207 = conn.rs.getInt(22);
        }
        if (conn.rs.getInt(23) != 0) {
            HV0208 = conn.rs.getInt(23);
        }
        if (conn.rs.getInt(24) != 0) {
            HV0209 = conn.rs.getInt(24);
        }
        if (conn.rs.getInt(25) != 0) {
            HV0210 = conn.rs.getInt(25);
        }
        if (conn.rs.getInt(26) != 0) {
            HV0211 = conn.rs.getInt(26);
        }
        if (conn.rs.getInt(27) != 0) {
            HV0212 = conn.rs.getInt(27);
        }
        if (conn.rs.getInt(28) != 0) {
            HV0213 = conn.rs.getInt(28);
        }
        if (conn.rs.getInt(29) != 0) {
            HV0214 = conn.rs.getInt(29);
        }
        if (conn.rs.getInt(30) != 0) {
            HV0215 = conn.rs.getInt(30);
        }
        if (conn.rs.getInt(31) != 0) {
            HV0216 = conn.rs.getInt(31);
        }
        if (conn.rs.getInt(32) != 0) {
            HV0217 = conn.rs.getInt(32);
        }
        if (conn.rs.getInt(33) != 0) {
            HV0218 = conn.rs.getInt(33);
        }
        if (conn.rs.getInt(34) != 0) {
            HV0219 = conn.rs.getInt(34);
        }
        if (conn.rs.getInt(35) != 0) {
            HV0220 = conn.rs.getInt(35);
        }
        if (conn.rs.getInt(36) != 0) {
            HV0221 = conn.rs.getInt(36);
        }
        if (conn.rs.getInt(37) != 0) {
            HV0224 = conn.rs.getInt(37);
        }
        if (conn.rs.getInt(38) != 0) {
            HV0225 = conn.rs.getInt(38);
        }
        if (conn.rs.getInt(39) != 0) {
            HV0226 = conn.rs.getInt(39);
        }
        if (conn.rs.getInt(40) != 0) {
            HV0227 = conn.rs.getInt(40);
        }
        if (conn.rs.getInt(41) != 0) {
            HV0228 = conn.rs.getInt(41);
        }
        if (conn.rs.getInt(42) != 0) {
            HV0229 = conn.rs.getInt(42);
        }
        if (conn.rs.getInt(43) != 0) {
            HV0230 = conn.rs.getInt(43);
        }
        if (conn.rs.getInt(44) != 0) {
            HV0231 = conn.rs.getInt(44);
        }
        if (conn.rs.getInt(45) != 0) {
            HV0232 = conn.rs.getInt(45);
        }
        if (conn.rs.getInt(46) != 0) {
            HV0233 = conn.rs.getInt(46);
        }
        if (conn.rs.getInt(47) != 0) {
            HV0234 = conn.rs.getInt(47);
        }
        if (conn.rs.getInt(48) != 0) {
            HV0235 = conn.rs.getInt(48);
        }
        if (conn.rs.getInt(49) != 0) {
            HV0236 = conn.rs.getInt(49);
        }
        if (conn.rs.getInt(50) != 0) {
            HV0237 = conn.rs.getInt(50);
        }
        if (conn.rs.getInt(51) != 0) {
            HV0238 = conn.rs.getInt(51);
        }
        if (conn.rs.getInt(52) != 0) {
            HV0239 = conn.rs.getInt(52);
        }
        if (conn.rs.getInt(53) != 0) {
            HV0240 = conn.rs.getInt(53);
        }
        if (conn.rs.getInt(54) != 0) {
            HV0241 = conn.rs.getInt(54);
        }
        if (conn.rs.getInt(55) != 0) {
            HV0242 = conn.rs.getInt(55);
        }
        if (conn.rs.getInt(56) != 0) {
            HV0243 = conn.rs.getInt(56);
        }
        if (conn.rs.getInt(57) != 0) {
            HV0244 = conn.rs.getInt(57);
        }

        if (conn.rs.getInt(58) != 0) {
            HV0301 = conn.rs.getInt(58);
        }
        if (conn.rs.getInt(59) != 0) {
            HV0302 = conn.rs.getInt(59);
        }

        //if(conn.rs.getInt(60)!=0){HV0303=conn.rs.getInt(60);}
        //if(conn.rs.getInt(61)!=0){HV0304=conn.rs.getInt(61);}
        //if(conn.rs.getInt(62)!=0){HV0305=conn.rs.getInt(62);}
        //if(conn.rs.getInt(63)!=0){HV0306=conn.rs.getInt(63);}
        //if(conn.rs.getInt(64)!=0){HV0307=conn.rs.getInt(64);}

        if (conn.rs.getInt(65) != 0) {
            HV0308 = conn.rs.getInt(65);
        }
        if (conn.rs.getInt(66) != 0) {
            HV0309 = conn.rs.getInt(66);
        }
        if (conn.rs.getInt(67) != 0) {
            HV0310 = conn.rs.getInt(67);
        }
        if (conn.rs.getInt(68) != 0) {
            HV0311 = conn.rs.getInt(68);
        }
        if (conn.rs.getInt(69) != 0) {
            HV0312 = conn.rs.getInt(69);
        }
        if (conn.rs.getInt(70) != 0) {
            HV0313 = conn.rs.getInt(70);
        }
        //if(conn.rs.getInt(71)!=0){HV0314=conn.rs.getInt(71);}
        //if(conn.rs.getInt(72)!=0){HV0315=conn.rs.getInt(72);}
        //if(conn.rs.getInt(73)!=0){HV0316=conn.rs.getInt(73);}
        //if(conn.rs.getInt(74)!=0){HV0317=conn.rs.getInt(74);}
        //if(conn.rs.getInt(75)!=0){HV0318=conn.rs.getInt(75);}
        //if(conn.rs.getInt(76)!=0){HV0319=conn.rs.getInt(76);}
        if (conn.rs.getInt(77) != 0) {
            HV0320 = conn.rs.getInt(77);
        }
        if (conn.rs.getInt(78) != 0) {
            HV0321 = conn.rs.getInt(78);
        }
        if (conn.rs.getInt(79) != 0) {
            HV0322 = conn.rs.getInt(79);
        }
        if (conn.rs.getInt(80) != 0) {
            HV0323 = conn.rs.getInt(80);
        }
        if (conn.rs.getInt(81) != 0) {
            HV0324 = conn.rs.getInt(81);
        }
        if (conn.rs.getInt(82) != 0) {
            HV0325 = conn.rs.getInt(82);
        }
        if (conn.rs.getInt(83) != 0) {
            HV0326 = conn.rs.getInt(83);
        }
        if (conn.rs.getInt(84) != 0) {
            HV0327 = conn.rs.getInt(84);
        }
        //if(conn.rs.getInt(85)!=0){HV0328=conn.rs.getInt(85);}
        //if(conn.rs.getInt(86)!=0){HV0329=conn.rs.getInt(86);}
        //if(conn.rs.getInt(87)!=0){HV0330=conn.rs.getInt(87);}
        //if(conn.rs.getInt(88)!=0){HV0331=conn.rs.getInt(88);}
        //if(conn.rs.getInt(89)!=0){HV0332=conn.rs.getInt(89);}
        //if(conn.rs.getInt(90)!=0){HV0333=conn.rs.getInt(90);}
        //if(conn.rs.getInt(91)!=0){HV0334=conn.rs.getInt(91);}
        //if(conn.rs.getInt(92)!=0){HV0335=conn.rs.getInt(92);}
        //if(conn.rs.getInt(93)!=0){HV0336=conn.rs.getInt(93);}
        //if(conn.rs.getInt(94)!=0){HV0337=conn.rs.getInt(94);}
        //if(conn.rs.getInt(95)!=0){HV0338=conn.rs.getInt(95);}
        //if(conn.rs.getInt(96)!=0){HV0339=conn.rs.getInt(96);}
        //if(conn.rs.getInt(97)!=0){HV0340=conn.rs.getInt(97);}
        //if(conn.rs.getInt(98)!=0){HV0341=conn.rs.getInt(98);}
        //if(conn.rs.getInt(99)!=0){HV0342=conn.rs.getInt(99);}
        //if(conn.rs.getInt(100)!=0){HV0343=conn.rs.getInt(100);}
        //if(conn.rs.getInt(101)!=0){HV0344=conn.rs.getInt(101);}
        if (conn.rs.getInt(102) != 0) {
            HV0345 = conn.rs.getInt(102);
        }
        if (conn.rs.getInt(103) != 0) {
            HV0346 = conn.rs.getInt(103);
        }
        if (conn.rs.getInt(104) != 0) {
            HV0347 = conn.rs.getInt(104);
        }
        if (conn.rs.getInt(105) != 0) {
            HV0348 = conn.rs.getInt(105);
        }
        if (conn.rs.getInt(106) != 0) {
            HV0349 = conn.rs.getInt(106);
        }
        //if(conn.rs.getInt(107)!=0){HV0350=conn.rs.getInt(107);}
        //if(conn.rs.getInt(108)!=0){HV0351=conn.rs.getInt(108);}
        //if(conn.rs.getInt(109)!=0){HV0352=conn.rs.getInt(109);}
        //if(conn.rs.getInt(110)!=0){HV0353=conn.rs.getInt(110);}
        //if(conn.rs.getInt(111)!=0){HV0354=conn.rs.getInt(111);}
        //if(conn.rs.getInt(112)!=0){HV0355=conn.rs.getInt(112);}
        if (conn.rs.getInt(113) != 0) {
            HV0904 = conn.rs.getInt(113);
        }
        if (conn.rs.getInt(114) != 0) {
            HV0905 = conn.rs.getInt(114);
        }
        if (conn.rs.getInt(115) != 0) {
            HV0370 = conn.rs.getInt(115);
        }
        if (conn.rs.getInt(116) != 0) {
            HV0371 = conn.rs.getInt(116);
        }
        if (conn.rs.getInt(117) != 0) {
            HV0372 = conn.rs.getInt(117);
        }
        if (conn.rs.getInt(118) != 0) {
            HV0373 = conn.rs.getInt(118);
        }

        if (conn.rs.getInt(119) != 0) {
            HV0401 = conn.rs.getInt(119);
        }
        if (conn.rs.getInt(120) != 0) {
            HV0402 = conn.rs.getInt(120);
        }
        if (conn.rs.getInt(121) != 0) {
            HV0403 = conn.rs.getInt(121);
        }
        if (conn.rs.getInt(122) != 0) {
            HV0406 = conn.rs.getInt(122);
        }
        if (conn.rs.getInt(123) != 0) {
            HV0407 = conn.rs.getInt(123);
        }
        if (conn.rs.getInt(124) != 0) {
            HV0408 = conn.rs.getInt(124);
        }
        if (conn.rs.getInt(125) != 0) {
            HV0409 = conn.rs.getInt(125);
        }
        if (conn.rs.getInt(126) != 0) {
            HV0410 = conn.rs.getInt(126);
        }
        if (conn.rs.getInt(127) != 0) {
            HV0411 = conn.rs.getInt(127);
        }
        if (conn.rs.getInt(128) != 0) {
            HV0412 = conn.rs.getInt(128);
        }
        if (conn.rs.getInt(129) != 0) {
            HV0413 = conn.rs.getInt(129);
        }
        if (conn.rs.getInt(130) != 0) {
            HV0414 = conn.rs.getInt(130);
        }
        if (conn.rs.getInt(131) != 0) {
            HV0415 = conn.rs.getInt(131);
        }

        if (conn.rs.getInt(132) != 0) {
            HV0501 = conn.rs.getInt(132);
        }
        if (conn.rs.getInt(133) != 0) {
            HV0502 = conn.rs.getInt(133);
        }
        if (conn.rs.getInt(134) != 0) {
            HV0503 = conn.rs.getInt(134);
        }
        if (conn.rs.getInt(135) != 0) {
            HV0504 = conn.rs.getInt(134);
        }
        if (conn.rs.getInt(136) != 0) {
            HV0505 = conn.rs.getInt(136);
        }
        if (conn.rs.getInt(137) != 0) {
            HV0506 = conn.rs.getInt(137);
        }
        if (conn.rs.getInt(138) != 0) {
            HV0507 = conn.rs.getInt(138);
        }
        if (conn.rs.getInt(139) != 0) {
            HV0508 = conn.rs.getInt(139);
        }
        if (conn.rs.getInt(140) != 0) {
            HV0509 = conn.rs.getInt(140);
        }
        if (conn.rs.getInt(141) != 0) {
            HV0510 = conn.rs.getInt(141);
        }
        if (conn.rs.getInt(142) != 0) {
            HV0511 = conn.rs.getInt(142);
        }
        if (conn.rs.getInt(143) != 0) {
            HV0512 = conn.rs.getInt(143);
        }
        if (conn.rs.getInt(144) != 0) {
            HV0513 = conn.rs.getInt(144);
        }
        if (conn.rs.getInt(145) != 0) {
            HV0514 = conn.rs.getInt(145);
        }

        if (conn.rs.getInt(146) != 0) {
            HV0601 = conn.rs.getInt(146);
        }
        if (conn.rs.getInt(147) != 0) {
            HV0602 = conn.rs.getInt(147);
        }
        if (conn.rs.getInt(148) != 0) {
            HV0605 = conn.rs.getInt(148);
        }

    }
    //  CURRENTLY IN CARE HV03-14 -> HV03-19
    //  CURRENTLY ON ART  HV03-34 -> HV03-39
    //   CUMULATIVE EVER ON ART HV03-40 -> HV03-44

    String getCummulatives = "SELECT SUM(HV0301),SUM(HV0302),SUM(HV0303),SUM(HV0304),SUM(HV0305),SUM(HV0306),SUM(HV0307),"
            + "SUM(HV0314),SUM(HV0315),SUM(HV0316),SUM(HV0317),SUM(HV0318),SUM(HV0319),"
            + "SUM(HV0328),SUM(HV0329),SUM(HV0330),SUM(HV0331),SUM(HV0332),SUM(HV0333),SUM(HV0334),SUM(HV0335),"
            + "SUM(HV0336),SUM(HV0337),SUM(HV0338),SUM(HV0339),SUM(HV0340),SUM(HV0341),SUM(HV0342),SUM(HV0343),SUM(HV0344), "
            + "SUM(HV0350),SUM(HV0351),SUM(HV0352),SUM(HV0353),SUM(HV0354),SUM(HV0355) "
            + "FROM moh731 join subpartnera on moh731.subpartnerid=subpartnera.subpartnerid WHERE " + facility
            + " art=1 && yearmonth=" + maxYearMonth;
    conn.rs = conn.st.executeQuery(getCummulatives);
    if (conn.rs.next() == true) {
        System.out.println("entered to get cumulatives : " + maxYearMonth);
        //HV0301=conn.rs.getInt(1);
        //HV0302=conn.rs.getInt(2);

        HV0303 = conn.rs.getInt(3);
        HV0304 = conn.rs.getInt(4);
        HV0305 = conn.rs.getInt(5);
        HV0306 = conn.rs.getInt(6);
        HV0307 = conn.rs.getInt(7);

        HV0314 = conn.rs.getInt(8);
        HV0315 = conn.rs.getInt(9);
        HV0316 = conn.rs.getInt(10);
        HV0317 = conn.rs.getInt(11);
        HV0318 = conn.rs.getInt(12);
        HV0319 = conn.rs.getInt(13);
        HV0328 = conn.rs.getInt(14);
        HV0329 = conn.rs.getInt(15);
        HV0330 = conn.rs.getInt(16);
        HV0331 = conn.rs.getInt(17);
        HV0332 = conn.rs.getInt(18);
        HV0333 = conn.rs.getInt(19);
        HV0334 = conn.rs.getInt(20);
        HV0335 = conn.rs.getInt(21);
        HV0336 = conn.rs.getInt(22);
        HV0337 = conn.rs.getInt(23);
        HV0338 = conn.rs.getInt(24);
        HV0339 = conn.rs.getInt(25);
        HV0340 = conn.rs.getInt(26);
        HV0341 = conn.rs.getInt(27);
        HV0342 = conn.rs.getInt(28);
        HV0343 = conn.rs.getInt(29);
        HV0344 = conn.rs.getInt(30);
        HV0350 = conn.rs.getInt(31);
        HV0351 = conn.rs.getInt(32);
        HV0352 = conn.rs.getInt(33);
        HV0353 = conn.rs.getInt(34);
        HV0354 = conn.rs.getInt(35);
        HV0355 = conn.rs.getInt(36);

    }

    System.out.println("Validity checker : " + isValidated);

    testing = receiving_results = receiving_postive_results = "";
    HIV_CT += "";
    testing = "<table >" + "<tr>" + "<td colspan=\"5\"><br></td>" + "</tr>" + "<tr>"
            + "<td ></td><td colspan=\"4\"><b>1HIV COUNSELLING AND TESTING.</b></td>" + "</tr>" + "<tr>"
            + "<td colspan=\"5\"><br></td>" + "</tr>" + "<tr><td colspan=\"5\"><b>1.1 Testing.</b></td></tr>"
            + "<tr>" + "<td colspan=\"2\">First</td><td >HV01-01</td><td colspan=\"2\" width=\"5%\" >" + HV0101
            + "</td>" + "</tr>" + "<tr>" + "<td colspan=\"2\">Repeat</td><td >HV01-02</td><td colspan=\"2\">"
            + HV0102 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Total Tested (HVO0-01 plus HV01-02)</td><td >HV01-03</td><td colspan=\"2\">"
            + HV0103 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Couples</td><td >HV01-05</td><td colspan=\"2\">" + HV0105 + "</td>" + "</tr>"
            + "<tr>" + "<td colspan=\"2\">Static [Facility]</td><td >HV01-06</td><td colspan=\"2\">" + HV0106
            + "</td>" + "</tr>" + "<tr>" + "<td colspan=\"2\">Outreach</td><td >HV01-07</td><td colspan=\"2\">"
            + HV0107 + "</td>" + "</tr>"

            + "</table>" + "";

    receiving_results = "<table style=\"margin-left:250px;\"><tr><td colspan=\"5\"><b>1.2 Receiving results - </b>(<i>Couples only</i>)</td></tr>"
            + "<tr>" + "<td colspan=\"2\">Cocordant couples</td><td >HV01-08</td><td colspan=\"2\">" + HV0108
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Discordant couples</td><td >HV01-09</td><td colspan=\"2\">" + HV0109 + "</td>"
            + "</tr>" + "</table></td>" + "";

    receiving_postive_results = "<table style=\"margin-left:250px;\"><tr><td colspan=\"5\"><b>1.3 Receiving postive results.</b></td></tr>"
            + "<tr>" + "<td colspan=\"2\">Males - Below 15 years</td><td >HV01-10</td><td colspan=\"2\">"
            + HV0110 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Females - Below 15 years.</td><td >HV01-11</td><td colspan=\"2\">" + HV0111
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Males 15-24 years </td><td >HV01-12</td><td colspan=\"2\">" + HV0112 + "</td>"
            + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Females 15-24 years </td><td >HV01-13</td><td colspan=\"2\">" + HV0113
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Males 25 years and older</td><td >HV01-14</td><td colspan=\"2\">" + HV0114
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Females 25 years and older</td><td >HV01-15</td><td colspan=\"2\">" + HV0115
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Total receiving postive results <br>(Sum HV01-10 to HV01-15)</td><td >HV01-16</td><td colspan=\"2\">"
            + HV0116 + "</td>" + "</tr>" + "</table>" + "";

    HIV_CT += testing + "" + receiving_results + "" + receiving_postive_results + "";
    //              System.out.println("Loading new form for data entry.......................");

    //    PMTCT################################################################
    //               ##########################################################

    testing_for_HIV = HIV_Postive_results = partner_involvement = maternal_prophylaxis = assessment_ART = infant_testing = confirmed_infant = infant_feeding = infant_ARV = "";

    testing_for_HIV = "<table >" + "<tr>" + "<td colspan=\"5\"><br></td>" + "</tr>" + "<tr>"
            + "<td ></td><td colspan=\"4\"><b>2 PREVENTION OF MOTHER TO CHILD TRANSMISSION.</b></td>" + "</tr>"
            + "<tr>" + "<td colspan=\"5\"><br></td>" + "</tr>"

            + "<tr><td colspan=\"5\"><b>2.1 Testing for HIV.</b></td></tr>" + "<tr>"
            + "<td colspan=\"2\">Antenatal</td><td>HV02-01</td><td  colspan=\"2\"  width=\"1\" >" + HV0201
            + "</td>" + "</tr>" + "<tr>"
            + "<td  colspan=\"2\">Labour and delivery.</td><td >HV02-02</td><td colspan=\"2\"><p >" + HV0202
            + "</p></td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Postnatal (within 72 hrs) </td><td >HV02-03</td><td colspan=\"2\">" + HV0203
            + "</td>" + "</tr>"
            + "<td colspan=\"2\">Total Tested (PMTCT) (Sum HV02-01 to HV02-03) </td colspan=\"2\"><td >HV02-04</td><td>"
            + HV0204 + "</td>" + "</tr>" + "</table>" + "";

    HIV_Postive_results = "<table ><tr><td colspan=\"5\"><b>2.2 HIV Postive Results.</b></td></tr>" + "<tr>"
            + "<td colspan=\"2\">Known Postive status(at entry into ANC)</td><td >HV02-05</td><td colspan=\"2\">"
            + HV0205 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Antenatal</td><td >HV02-06</td><td colspan=\"2\">" + HV0206 + "</td>" + "</tr>"
            + "<tr>" + "<td colspan=\"2\">Labour and delivery.</td><td >HV02-07</td><td colspan=\"2\">" + HV0207
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Postnatal (within 72 hrs) </td><td >HV02-08</td><td colspan=\"2\">" + HV0208
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Total Tested (PMTCT)<br> (Sum HV02-05 to HV02-08) </td><td >HV02-09</td><td colspan=\"2\">"
            + HV0209 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Total with known status <br> (Sum HV02-04 to HV02-05) </td><td >HV02-10</td><td colspan=\"2\">"
            + HV0210 + "</td>" + "</tr>" + "</table>" + "";

    partner_involvement = "<table ><tr><td colspan=\"5\"><b>2.3 Partner Involvement.</b></td></tr>" + "<tr>"
            + "<td colspan=\"2\">Male partners tested (ANC/L&D)</td><td >HV02-11</td><td colspan=\"2\">"
            + HV0211 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Discordant couples</td><td >HV02-12</td><td colspan=\"2\">" + HV0212 + "</td>"
            + "</tr>" + "</table>" + "";

    maternal_prophylaxis = "<table ><tr><td colspan=\"5\"><b>2.4 Maternal Prophylaxis .</b>(<i>at first contact only</i>)</td></tr>"
            + "<tr>" + "<td colspan=\"2\">Prophylaxis - NVP only </td><td >HV02-13</td><td colspan=\"2\">"
            + HV0213 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Prophylaxis - (AZT + SdNVP) </td><td >HV02-14</td><td colspan=\"2\">" + HV0214
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Prophylaxis -Interrupted HAART </td><td >HV02-15</td><td colspan=\"2\">"
            + HV0215 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">HAART (ART) </td><td >HV02-16</td><td colspan=\"2\">" + HV0216 + "</td>"
            + "</tr>" + "<tr>"
            + "<td colspan=\"2\">total PMTCT prophylaxis (Sum HV02-13 to HV02-16) </td><td >HV02-17</td><td colspan=\"2\">"
            + HV0217 + "</td>" + "</tr>" + "</table>" + "";

    assessment_ART = "<table ><tr><td colspan=\"5\"><b>2.5 Assessment for ART Eligibility in MCH .</b>(<i>at diagnosis</i>)</td></tr>"
            + "<tr>"
            + "<td colspan=\"2\">Assessed for eligibility at 1st ANC - WHO staging done </td><td >HV02-18</td><td colspan=\"2\">"
            + HV0218 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Assessed for eligibility at 1st ANC - CD4 </td><td >HV02-19</td><td colspan=\"2\">"
            + HV0219 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Assessed for eligibility in ANC (Sum HV02-18 to HV02-19) </td><td >HV02-20</td><td colspan=\"2\">"
            + HV0220 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Started on ART during ANC </td><td >HV02-21</td><td colspan=\"2\">" + HV0221
            + "</td>" + "</tr>" + "</table>" + "";

    infant_testing = "<table ><tr><td colspan=\"5\"><b>2.6 Infant Testing</b> (<i>Initial tests only</i>)</td></tr>"
            + "<tr>" + "<td colspan=\"2\">PCR (within 2 months) </td><td >HV02-24</td><td colspan=\"2\">"
            + HV0224 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">PCR (From 3 to 8 months) </td><td >HV02-25</td><td colspan=\"2\">" + HV0225
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Serology antibody test (from 9 to 12 months)  </td colspan=\"2\"><td >HV02-26</td><td colspan=\"2\">"
            + HV0226 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">PCR (from 9 to 12 months) </td><td >HV02-27</td><td colspan=\"2\">" + HV0227
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Total HEI Tested by 12 months (Sum HV02-24 to HV02-26) </td><td >HV02-28</td><td colspan=\"2\">"
            + HV0228 + "</td>" + "</tr>" + "</table>" + "";

    confirmed_infant = "<table ><tr><td colspan=\"5\"><b>2.7 Confirmed Infant Test Results.</b> </td></tr>"
            + "<tr>"
            + "<td colspan=\"2\">Postive - (within 2 months) -PCR </td><td >HV02-29</td><td colspan=\"2\">"
            + HV0229 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Postive - (From 3 to 8 months) -PCR </td><td >HV02-30</td><td colspan=\"2\">"
            + HV0230 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Postive -  (from 9 to 12 months) -PCR </td><td >HV02-31</td><td colspan=\"2\">"
            + HV0231 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Total Confirmed Postive (Sum HV02-29 to HV02-31) </td><td >HV02-32</td><td colspan=\"2\">"
            + HV0232 + "</td>" + "</tr>" + "</table>" + "";

    infant_feeding = "<table ><tr><td colspan=\"5\"><b>2.8 Infant feeding.</b> </td></tr>" + "<tr>"
            + "<td colspan=\"2\">EBF (at 6 months)</td><td >HV02-33</td><td colspan=\"2\">" + HV0233 + "</td>"
            + "</tr>" + "<tr>" + "<td colspan=\"2\">ERF (at 6 months) </td><td >HV02-34</td><td colspan=\"2\">"
            + HV0234 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">MF (at 6 months) </td><td >HV02-35</td><td colspan=\"2\">" + HV0235 + "</td>"
            + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Total exposed aged 6 months. </td><td >HV02-36</td><td colspan=\"2\">" + HV0236
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">BF (12 months) </td><td >HV02-37</td><td colspan=\"2\">" + HV0237 + "</td>"
            + "</tr>" + "<tr>" + "<td colspan=\"2\">Not BF (12 months) </td><td >HV02-38</td><td colspan=\"2\">"
            + HV0238 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Not known </td><td >HV02-39</td><td colspan=\"2\">" + HV0239 + "</td>"
            + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Total exposed aged 12 months (Sum HV02-37 to HV02-39) </td><td >HV02-40</td><td colspan=\"2\">"
            + HV0240 + "</td>" + "</tr>" + "</table>" + "";

    infant_ARV = "<table ><tr><td colspan=\"5\"><b>2.9 Infant ARV Prophlaxis</b> (<i>at first contact only</i>) </td></tr>"
            + "<tr>" + "<td colspan=\"2\">Issued in ANC </td><td >HV02-41</td><td colspan=\"2\">" + HV0241
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Labour and Delivery </td><td >HV02-42</td><td colspan=\"2\">" + HV0242
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">PNC(<72hrs) </td><td >HV02-43</td><td colspan=\"2\">" + HV0243 + "</td>"
            + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Total Infants Issued Prophylaxis (Sum HV02-41 to HV02-43) </td><td >HV02-44</td><td colspan=\"2\">"
            + HV0244 + "</td>" + "</tr>" + "</table>" + "";

    //    ###############################CARE AND TREATMENT #################################
    //               ##########################################################         

    PMTCT += testing_for_HIV + "" + HIV_Postive_results + "" + partner_involvement + "" + maternal_prophylaxis
            + "" + assessment_ART + "" + infant_testing + "" + confirmed_infant + "" + infant_feeding + ""
            + infant_ARV;

    on_CP = enrolled_care = currently_care = starting_ART = revisit_ART = current_ART = cumulative_ART = cumulative_ARTPrevious = survival_ART = screening = pwp = HIV_care = "";

    on_CP = "<table >" + "<tr>" + "<td colspan=\"5\"><br></td>" + "</tr>" + "<tr>"
            + "<td ></td><td colspan=\"4\"><b>3 CARE AND TREATMENT.</b></td>" + "</tr>" + "<tr>"
            + "<td colspan=\"5\"><br></td>" + "</tr>"

            + "<tr><td colspan=\"5\"><b>3.1 On Cotrimoxazole Prophylaxis</b> </td></tr>" + "<tr>"
            + "<td>HIV Exposed Infant (within 2 months) </td><td >HV03-01</td><td>" + HV0301
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "<tr>"
            + "<td>HIV Exposed infant (Eligible for CTX at 2 months) </td><td >HV03-02</td><td>" + HV0302
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "<tr>"
            + "<td>On CTX - below 15 years</td><td >HV03-03(M)</td><td>" + HV0303
            + "</td> <td >HV03-04(F)</td>  <td>" + HV0304 + "</td>" + "</tr>" + "<tr>"
            + "<td>On CTX - 15 years & older </td><td >HV03-05(M)</td><td>" + HV0305
            + "</td> <td >HV03-06(F)</td>  <td>" + HV0306 + "</td>" + "</tr>" + "<tr>"
            + "<td>On CTX - 15 years & olderTotal On CTX (Sum HV03-03 to HV03-06) </td><td >HV03-07</td><td>"
            + HV0307 + "</td><td colspan=\"2\"></td>" + "</tr>" + "</table>" + "";

    enrolled_care = "<table ><tr><td colspan=\"5\"><b>3.2 Enrolled in Care</b> </td></tr>" + "<tr>"
            + "<td>Enrolled in care - Below 1 year </td><td >HV03-08</td><td>" + HV0308
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "<tr>"
            + "<td>Enrolled in care - Below 15 year </td><td >HV03-09(M)</td><td>" + HV0309
            + "</td>  <td >HV03-10(F)</td>  <td>" + HV0310 + "</td>" + "</tr>" + "<tr>"
            + "<td>Enrolled in care - 15 years and older </td><td >HV03-11(M)</td><td>" + HV0311
            + "</td> <td >HV03-12(F)</td>  <td>" + HV0312 + "</td>" + "</tr>" + "<tr>"
            + "<td>Enrolled in care - Total (Sum HV03-09 to HV03-12) </td><td >HV03-13</td><td>" + HV0313
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "</table>" + "";

    currently_care = "<table ><tr><td colspan=\"5\"><b>3.3 Currently in Care</b>(<i>from the tally sheet-this month only and from last 2 months</i>) </td></tr>"
            + "<tr>" + "<td>Currently in care - Below 1 year </td><td >HV03-14</td><td>" + HV0314
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "<tr>"
            + "<td>Currently in care - Below 15 year </td><td >HV03-15(M)</td><td>" + HV0315
            + "</td>  <td >HV03-16(F)</td>  <td>" + HV0316 + "</td>" + "</tr>" + "<tr>"
            + "<td>Currently in care - 15 years and older </td><td >HV03-17(M)</td><td>" + HV0317
            + "</td> <td >HV03-18(F)</td>  <td>" + HV0318 + "</td>" + "</tr>" + "<tr>"
            + "<td>Currently in care - Total (Sum HV03-09 to HV03-12) </td><td >HV03-19</td><td>" + HV0319
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "</table>" + "";

    starting_ART = "<table ><tr><td colspan=\"5\"><b>3.4 Starting ART</b> </td></tr>" + "<tr>"
            + "<td>Starting ART - Below 1 year </td><td >HV03-20</td><td>" + HV0320
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "<tr>"
            + "<td>Starting ART - Below 15 year </td><td >HV03-21(M)</td><td>" + HV0321
            + "</td>  <td >HV03-22(F)</td>  <td>" + HV0322 + "</td>" + "</tr>" + "<tr>"
            + "<td>Starting ART - 15 years and older </td><td >HV03-23(M)</td><td>" + HV0323
            + "</td> <td >HV03-24(F)</td>  <td>" + HV0324 + "</td>" + "</tr>" + "<tr>"
            + "<td>Starting ART - Total (Sum HV03-21 to HV03-24) </td><td >HV03-25</td><td>" + HV0325
            + " </td><td colspan=\"2\"></td>" + "</tr>" + "<tr>"
            + "<td>Starting - Pregnant </td><td >HV03-26</td><td>" + HV0326 + "</td><td colspan=\"2\"></td>  "
            + "</tr>" + "<tr>" + "<td>Starting - TB Patient </td><td >HV03-27</td><td>" + HV0327
            + "</td><td colspan=\"2\"></td> " + "</tr>" + "</table>" + "";

    revisit_ART = "<table ><tr><td colspan=\"5\"><b>3.5 Revisits on ART</b>(<i>from the tally sheet-this month only and from last 2 months</i>)</td></tr>"
            + "<tr>" + "<td>Revisits on ART - Below 1 year </td><td >HV03-28</td><td>" + HV0328
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "<tr>"
            + "<td>Revisits on ART - Below 15 year </td><td >HV03-29(M)</td><td>" + HV0329
            + "</td>  <td >HV03-30(F)</td>  <td>" + HV0330 + "</td>" + "</tr>" + "<tr>"
            + "<td>Revisits on ART - 15 years and older </td><td >HV03-31(M)</td><td>" + HV0331
            + "</td> <td >HV03-32(F)</td>  <td>" + HV0332 + "</td>" + "</tr>" + "<tr>"
            + "<td>Revisits on ART - Total (Sum HV03-29 to HV03-32) </td><td >HV03-33</td><td>" + HV0333
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "</table>" + "";

    current_ART = "<table ><tr><td colspan=\"5\"><b>3.6 Currently on ART [All]</b>(<i>Add 3.4 and 3.5 e.g HV03-34=HV03-20+HV03-28</i>) </td></tr>"
            + "<tr>" + "<td>Currently on ART - Below 1 year </td><td >HV03-34</td><td>" + HV0334
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "<tr>"
            + "<td>Currently on ART - Below 15 year </td><td >HV03-35(M)</td><td>" + HV0335
            + "</td>  <td >HV03-36(F)</td>  <td>" + HV0336 + "</td>" + "</tr>" + "<tr>"
            + "<td>Currently on ART - 15 years and older </td><td >HV03-37(M)</td><td>" + HV0337
            + "</td> <td >HV03-38(F)</td>  <td>" + HV0338 + "</td>" + "</tr>" + "<tr>"
            + "<td>Currently on ART - Total (Sum HV03-35 to HV03-38) </td><td >HV03-39</td><td>" + HV0339
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "</table>" + "";

    cumulative_ART = "<table ><tr><td colspan=\"5\"><b>3.7 Cumullative ever on ART </b> </td></tr>" + "<tr>"
            + "<td>Ever on ART - Below 15 year </td><td >HV03-40(M)</td><td>" + HV0340
            + "</td>  <td >HV03-41(F)</td>  <td>" + HV0341 + "</td>" + "</tr>" + "<tr>"
            + "<td>Ever on ART - 15 years and older </td><td >HV03-42(M)</td><td>" + HV0342
            + "</td> <td >HV03-43(F)</td>  <td>" + HV0343 + "</td>" + "</tr>" + "<tr>"
            + "<td>Ever on ART - Total (Sum HV03-40 to HV03-43) </td><td >HV03-44</td><td>" + HV0344
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "</table>" + "";

    survival_ART = "<table ><tr><td colspan=\"5\"><b>3.8 Survival and Retention on ART at 12 months </b> </td></tr>"
            + "<tr>" + "<td colspan=\"3\">ART Net cohort at 12 months </td><td >HV03-45</td><td>" + HV0345
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"3\">On Original 1st Line at 12 months </td><td >HV03-46</td><td>" + HV0346
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"3\">On alternative 1st Line at 12 months </td><td >HV03-47</td><td>" + HV0347
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"3\">On 2nd Line (or higher) at 12 months </td><td >HV03-48</td><td>" + HV0348
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"3\">On therapy at 12 months (Sum HV03-46 to HV03-48) </td><td >HV03-49</td><td>"
            + HV0349 + "</td>" + "</tr>" + "</table>" + "";

    screening = "<table ><tr><td colspan=\"5\"><b>3.9 Screening </b> </td></tr>"

            + "<tr>" + "<td>Screened for TB - Below 15 year </td><td >HV03-50(M)</td><td>" + HV0350
            + "</td>  <td >HV03-51(F)</td>  <td>" + HV0351 + "</td>" + "</tr>" + "<tr>"
            + "<td>Screened for TB - 15 years and older </td><td >HV03-52(M)</td><td>" + HV0352
            + "</td> <td >HV03-53(F)</td>  <td>" + HV0353 + "</td>" + "</tr>" + "<tr>"
            + "<td>Screened for TB - Total (Sum HV03-35 to HV03-38) </td><td >HV03-54</td><td>" + HV0354
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "<tr>"
            + "<td>Screened for cervical cancer (F 18+) </td><td >HV03-55</td><td>" + HV0355
            + "</td><td colspan=\"2\"></td>" + "</tr>" + "</table>" + "";

    pwp = "<table ><tr><td colspan=\"5\"><b>3.10 Prevention with Postive </b> </td></tr>" + "<tr>"
            + "<td colspan=\"2\">Modern Contraceptive methods </td><td >HV09-04</td><td colspan=\"2\">" + HV0904
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Provided with Condoms </td><td >HV09-05</td><td colspan=\"2\">" + HV0905
            + "</td>" + "</tr>" + "</table>" + "";

    HIV_care = "<table ><tr><td colspan=\"5\"><b>3.11 HIV Care Visits </b> </td></tr>" + "<tr>"
            + "<td colspan=\"2\">Females (18+) </td><td >HV03-70</td><td colspan=\"2\">" + HV0370 + "</td>"
            + "</tr>" + "<tr>" + "<td colspan=\"2\">Scheduled </td><td >HV03-71</td><td colspan=\"2\">" + HV0371
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Unscheduled </td><td >HV03-72</td><td colspan=\"2\">" + HV0372 + "</td>"
            + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Total Visits (Sum HV03-71 to HV03-72) </td><td >HV03-73</td><td colspan=\"2\">"
            + HV0373 + "</td>" + "</tr>" + "</table>" + "";

    CT += on_CP + "" + enrolled_care + "" + currently_care + "" + starting_ART + "" + revisit_ART + ""
            + current_ART + "" + cumulative_ART + "" + cumulative_ARTPrevious + "" + survival_ART + ""
            + screening + "" + pwp + "" + HIV_care;

    number_circumcised = hiv_status = adverse_events;

    number_circumcised = "<table style=\"margin-left:250px;\">" + "<tr>" + "<td colspan=\"5\"><br></td>"
            + "</tr>" + "<tr>"
            + "<td ></td><td colspan=\"4\"><b>4 VOLUNTARY MEDICAL MALE CIRCUMCISION.</b></td>" + "</tr>"
            + "<tr>" + "<td colspan=\"5\"><br></td>" + "</tr>"
            + "<tr><td colspan=\"5\"><b>4.1  Number Circumcised </b> </td></tr>" + "<tr>"
            + "<td colspan=\"2\">0 - 14 </td><td >HV04-01</td><td colspan=\"2\">" + HV0401 + "</td>" + "</tr>"
            + "<tr>" + "<td colspan=\"2\">14 - 24 </td><td >HV04-02</td><td colspan=\"2\">" + HV0402 + "</td>"
            + "</tr>" + "<tr>" + "<td colspan=\"2\">25+ </td><td >HV04-03</td><td colspan=\"2\">" + HV0403
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Total (Sum HV04-01 to HV04-02) </td><td >HV04-06</td><td colspan=\"2\">"
            + HV0406 + "</td>" + "</tr>" + "</table>" + "";

    hiv_status = "<table style=\"margin-left:250px;\"><tr><td colspan=\"5\"><b>4.2  HIV Status (at circumcision) </b> </td></tr>"
            + "<tr>" + "<td colspan=\"2\">Postive </td><td >HV04-07</td><td colspan=\"2\">" + HV0407 + "</td>"
            + "</tr>" + "<tr>" + "<td colspan=\"2\">Negative </td><td >HV04-08</td><td colspan=\"2\">" + HV0408
            + "</td>" + "</tr>" + "<tr>" + "<td colspan=\"2\">Unknown </td><td >HV04-09</td><td colspan=\"2\">"
            + HV0409 + "</td>" + "</tr>" + "</table>" + "";

    adverse_events = "<table style=\"margin-left:250px;\"><tr><td colspan=\"5\"><b>4.3  Adverse events (Circumcision) </b> </td></tr>"
            + "<tr>" + "<td colspan=\"2\">During AE(s) moderate </td><td >HV04-10</td><td colspan=\"2\">"
            + HV0410 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">During AE(s) severe  </td><td >HV04-11</td><td colspan=\"2\">" + HV0411
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Post AE(s) moderate  </td><td >HV04-12</td><td colspan=\"2\">" + HV0412
            + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Post AE(s) severe  </td><td >HV04-13</td><td colspan=\"2\">" + HV0413 + "</td>"
            + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Total AE During (Sum HV04-10  & HV04-11) </td><td>HV04-14</td><td colspan=\"2\">"
            + HV0414 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"2\">Total AE Post (Sum HV04-12  & HV04-13) </td><td >HV04-15</td><td colspan=\"2\">"
            + HV0415 + "</td>" + "</tr>" + "</table>" + "";

    VMMC += number_circumcised + "" + hiv_status + "" + adverse_events;

    type_exposure = provided_p = "";

    type_exposure = "<table style=\"border:1px; border-collapse:collapse;\">" + "<tr>"
            + "<td colspan=\"5\"><br></td>" + "</tr>" + "<tr>"
            + "<td ></td><td colspan=\"4\"><b>5 POST-EXPOSURE PROPHYLAXIS.</b></td>" + "</tr>" + "<tr>"
            + "<td colspan=\"5\"><br></td>" + "</tr>"
            + "<tr><td colspan=\"5\"><b>5.1 Type of exposure </b> </td></tr>"
            + "<tr style=\"border-bottom:1pt solid black;\">" + "<td>Occupational </td><td >HV05-01(M)</td><td>"
            + HV0501 + "</td>  <td >HV05-02(F)</td>  <td>" + HV0502 + "</td>" + "</tr>" + "<tr>"
            + "<td>Sexual assault </td><td >HV05-03(M)</td><td>" + HV0503 + "</td>  <td >HV05-04(F)</td>  <td>"
            + HV0504 + "</td>" + "</tr>" + "<tr>" + "<td>Other reasons </td><td >HV05-05(M)</td><td>" + HV0505
            + "</td> <td >HV05-06(F)</td>  <td>" + HV0506 + "</td>" + "</tr>" + "<tr>"
            + "<td>Total  </td><td >HV05-07</td><td>" + HV0507 + "</td><td colspan=\"2\"></td>" + "</tr>"
            + "</table>" + "";

    provided_p = "<table style=\"\"><tr><td colspan=\"5\"><b>5.2 Provided with Prophylaxis </b> </td></tr>"
            + "<tr>" + "<td>Occupational </td><td >HV05-08(M)</td><td>" + HV0508
            + "</td>  <td >HV05-09(F)</td>  <td>" + HV0509 + "</td>" + "</tr>" + "<tr>"
            + "<td>Sexual assault </td><td >HV05-10(M)</td><td>" + HV0510 + "</td>  <td >HV05-11(F)</td>  <td>"
            + HV0511 + "</td>" + "</tr>" + "<tr>" + "<td>Other reasons </td><td >HV05-12(M)</td><td>" + HV0512
            + "</td> <td >HV05-13(F)</td>  <td>" + HV0513 + "</td>" + "</tr>" + "<tr>"
            + "<td>Total PEP  </td><td >HV05-14</td><td><p border=\"1px;\">" + HV0514
            + "</p></td><td colspan=\"2\"></td>" + "</tr>" + "</table>" + "";

    PEP += type_exposure + "" + provided_p;

    blood_safety = "";

    blood_safety = "<table style=\"margin-left:250px;\">" + "<tr>" + "<td colspan=\"5\"><br></td>" + "</tr>"
            + "<tr>" + "<td ></td><td colspan=\"4\"><b>6 BLOOD SAFETY.</b></td>" + "</tr>" + "<tr>"
            + "<td colspan=\"5\"><br></td>" + "</tr>" + "<tr><td colspan=\"5\"><b>Blood Safety </b> </td></tr>"
            + "<tr>" + "<td colspan=\"3\">Donated Blood Units </td><td >HV06-01</td><td>" + HV0601 + "</td>"
            + "</tr>" + "<tr>" + "<td colspan=\"3\">Blood Units screened for TTIs </td><td >HV06-02</td><td>"
            + HV0602 + "</td>" + "</tr>" + "<tr>"
            + "<td colspan=\"3\">Blood units reactive to HIVH </td><td >HV06-05</td><td>" + HV0605 + "</td>"
            + "</tr>" + "</table>" + "";

    Blood += blood_safety;

    //          }

    //          HIV_CT+="</div></div></div>";
    //        PMTCT+="</div></div></div>";
    //        CT+="</div></div></div>";
    //        VMMC+="</div></div></div>";
    //        PEP+="</div></div></div>";
    //        Blood+="</div></div></div>";

    //        data+=""+enterdby+"<br><br>"+tabs;

    //       data+=PMTCT;
    //       data+=CT;
    //       data+=PEP;
    //        data+="<p style=\"font-size:7px;\">"+header+""+PMTCT+""+CT+""+PEP+"</p>";

    header = "<table>" + "<tr>" + "<td colspan=\"5\">National AIDS & STIs Control Programme.</td>" + "</tr>"
            + "<tr>"
            + "<td colspan=\"5\">MOH 731 - Comprehensive HIV/AIDS Facility Reporting Form - NASCOP.</td>"
            + "</tr>" + "<tr>" + "<td colspan=\"5\">" + headerInfo + "</td>" + "</tr>" + "</table>";

    data += "<table style=\"color:black; font-size:6px;\" width=\"90%\">" + "<tr>" + "<td>" + header + ""
            + HIV_CT + "" + PMTCT + "" + CT + "" + PEP + "</td>" + "</tr>" + "</table>" + "";

    data += " </div></body></html>";
    System.out.println("PDF Created!");

    IdGenerator IG = new IdGenerator();
    createdOn = IG.CreatedOn();

    Document document = new Document();
    ByteArrayOutputStream outByteStream = new ByteArrayOutputStream();
    PdfWriter.getInstance(document, outByteStream);
    document.open();

    HTMLWorker htmlWorker = new HTMLWorker(document);
    htmlWorker.parse(new StringReader(data));

    CSSResolver cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(false);
    cssResolver.addCss("", true);

    document.close();
    response.setContentType("application/pdf");
    response.setContentLength(outByteStream.size());
    response.setHeader("Expires:", "0"); // eliminates browser caching
    response.setHeader("Content-Disposition",
            "attachment; filename=MOH731_" + url.trim().replace(" ", "") + "_CREATED_ON_" + createdOn + ".pdf");

    ServletOutputStream sos;
    sos = response.getOutputStream();
    outByteStream.writeTo(sos);
    sos.flush();

}

From source file:reports.Vmmcpdf.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {//w w w . j  av a 2  s.c o m
        response.setContentType("text/html;charset=UTF-8");
        session = request.getSession();

        dbConn conn = new dbConn();
        //get the existing data for the month, year and facility that is already on session

        String month = "";
        String year = "";
        String facil = "";

        String form = "vmmc";

        //=====================================================================================================

        year = "2015";
        month = "5";
        String county = "";

        String header = "";

        String reportType = "";
        if (request.getParameter("reportType") != null) {
            reportType = request.getParameter("reportType");
        }
        String reportDuration = "";
        if (request.getParameter("reportDuration") != null) {
            reportDuration = request.getParameter("reportDuration");
        }
        if (request.getParameter("year") != null) {
            year = request.getParameter("year");
        }

        if (request.getParameter("facility") != null && reportType.equals("2")) {
            facil = request.getParameter("facility");

            String getfacil = "select SubPartnerNom,CentreSanteId as mflcode from subpartnera where SubPartnerID='"
                    + facil + "'";
            conn.rs = conn.st.executeQuery(getfacil);

            while (conn.rs.next()) {

                header += " FACILITY : <u>" + conn.rs.getString(1).toUpperCase() + " </u>     MFL CODE  :  <u>"
                        + conn.rs.getString(2) + " </u> ";

            }

        }

        if (request.getParameter("county") != null && reportType.equals("2")) {
            county = request.getParameter("county");

            String getcounty = "select County from county where CountyID='" + county + "'";
            conn.rs = conn.st.executeQuery(getcounty);

            while (conn.rs.next()) {

                header += " COUNTY : <u>" + conn.rs.getString(1).toUpperCase() + " </u>";

            }

        }

        if (request.getParameter("month") != null && reportDuration.equals("4")) {
            month = request.getParameter("month");

            String getmonth = "select name as monthname from month where id='" + month + "'";
            conn.rs = conn.st.executeQuery(getmonth);

            while (conn.rs.next()) {

                header += " MONTH : <u>" + conn.rs.getString(1).toUpperCase() + " </u>";

            }

        }

        header += " YEAR : <u>" + year + "</u>";

        String facilitywhere = "";
        String yearwhere = "";
        String monthwhere = "";
        String countywhere = "";
        String duration = "";
        String semi_annual = "";
        String quarter = "";

        //==================================================================================================
        //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        int yearcopy = Integer.parseInt(year);

        //        reportType="2";
        //        year=2015;
        //        reportDuration="3";
        String yearmonth = "" + year;
        int prevYear = yearcopy - 1;
        int maxYearMonth = 0;
        int monthcopy = 0;
        //        GET REPORT DURATION============================================

        if (reportDuration.equals("1")) {
            yearmonth += "_AnnualReport";
            duration = " " + form + ".yearmonth BETWEEN " + prevYear + "10 AND " + year + "09";
        } else if (reportDuration.equals("2")) {
            semi_annual = request.getParameter("semi_annual");
            //        semi_annual="2";
            if (semi_annual.equals("1")) {
                yearmonth = prevYear + "_Oct_" + year + "_Mar";
                duration = " " + form + ".yearmonth BETWEEN " + prevYear + "10 AND " + year + "03";
            } else {
                yearmonth += "_Apr_Sep";
                duration = " " + form + ".yearmonth BETWEEN " + year + "04 AND " + year + "09";
            }
        }

        else if (reportDuration.equals("3")) {
            String startMonth, endMonth;
            quarter = request.getParameter("quarter");
            //       quarter="3";
            String getMonths = "SELECT months,name FROM quarter WHERE id='" + quarter + "'";
            conn.rs = conn.st.executeQuery(getMonths);
            if (conn.rs.next() == true) {

                String months[] = conn.rs.getString(1).split(",");
                startMonth = months[0];
                endMonth = months[2];
                if (quarter.equals("1")) {
                    duration = " " + form + ".yearmonth BETWEEN " + prevYear + "" + startMonth + " AND "
                            + prevYear + "" + endMonth;
                    yearmonth = prevYear + "_" + conn.rs.getString(2);
                } else {
                    yearmonth = year + "_" + conn.rs.getString(2);
                    duration = " " + form + ".yearmonth BETWEEN " + year + "" + startMonth + " AND " + year + ""
                            + endMonth;
                }
            }
        }

        else if (reportDuration.equals("4")) {
            monthcopy = Integer.parseInt(request.getParameter("month"));

            //     month=5;
            if (monthcopy >= 10) {
                yearmonth = prevYear + "_" + month;
                duration = " " + form + ".yearmonth=" + prevYear + "" + month;
            } else {
                duration = " " + form + ".yearmonth=" + year + "0" + month;
                yearmonth = year + "_(" + month + ")";
            }
        } else {
            duration = "";
        }

        //======================================================================

        //==================================================================================================
        //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

        String getexistingdata = "";

        if (!county.equals("")) {

            countywhere = " and countyid = '" + county + "'";

        }

        if (!facil.equals("") && reportType.equalsIgnoreCase("2")) {

            facilitywhere = " and " + form + ".SubPartnerID = '" + facil + "'";

        }

        //String joinedwhwere=" where 1=1 "+yearwhere+" && "+duration;  
        String joinedwhwere = " where 1=1 " + facilitywhere + "  " + yearwhere + " && " + duration;

        //=====================================================================================================    

        getexistingdata = "select sum(P51D1) as P51D1,   sum(P51D9) as P51D9,   sum(P51D10) as P51D10,   sum(P51D19) as P51D19,sum(P51D24) as P51D24, sum(P51D29) as P51D29,  sum(P51D49) as  P51D49,   sum(P51D50) as P51D50,    sum(P51DT) as P51DT,   sum(P521DM) as  P521DM,    sum(P521DS) as P521DS,   sum(P521DT) as P521DT,   sum(P522DM) as P522DM,    sum(P522DS) as P522DS,    sum(P522DT) as P522DT,   sum(P52DM) as  P52DM,   sum(P52DS) as P52DS,    sum(P52DT) as P52DT,   sum(P511KP) as P511KP,   sum(P511KN) as P511KN,   sum(P511KU) as P511KU,   sum(P511Surg) as P511Surg,   sum(P511Dev) as P511Dev,   sum(P53DF) as P53DF,    sum(P53DO) as P53DO,   sum(P53DM) as P53DM,    sum(P53D) as P53D,   sum(P54D) as P54D  from "
                + form
                + " join ( subpartnera join (district join county on county.CountyID=district.CountyID ) on district.DistrictID = subpartnera.DistrictID )  on "
                + form + ".SubPartnerID = subpartnera.SubPartnerID   " + joinedwhwere + "  ";

        System.out.println(getexistingdata);
        String P51D1 = "";
        String P51D9 = "";
        String P51D10 = "";
        String P51D19 = "";
        String P51D24 = "";
        String P51D29 = "";
        String P51D49 = "";
        String P51D50 = "";
        String P51DT = "";
        String P521DM = "";
        String P521DS = "";
        String P521DT = "";
        String P522DM = "";
        String P522DS = "";
        String P522DT = "";
        String P52DM = "";
        String P52DS = "";
        String P52DT = "";
        String P511KP = "";
        String P511KN = "";
        String P511KU = "";
        String P511Surg = "";
        String P511Dev = "";
        String P53DF = "";
        String P53DO = "";
        String P53DM = "";
        String P53D = "";
        String P54D = "";

        String distid = "";

        if (session.getAttribute("subcountyid") != null) {
            distid = session.getAttribute("subcountyid").toString();
        }

        int counter = 0;

        conn.rs = conn.st.executeQuery(getexistingdata);
        while (conn.rs.next()) {
            //now check if form was updated and if its one month after data entry
            //now load the column values here

            P51D1 = conn.rs.getString("P51D1");
            if (P51D1 == null) {
                P51D1 = "";
            }

            P51D9 = conn.rs.getString("P51D9");
            if (P51D9 == null) {
                P51D9 = "";
            }

            P51D10 = conn.rs.getString("P51D10");
            if (P51D10 == null) {
                P51D10 = "";
            }

            P51D19 = conn.rs.getString("P51D19");
            if (P51D19 == null) {
                P51D19 = "";
            }

            P51D24 = conn.rs.getString("P51D24");
            if (P51D24 == null) {
                P51D24 = "";
            }

            P51D29 = conn.rs.getString("P51D29");
            if (P51D29 == null) {
                P51D29 = "";
            }

            P51D49 = conn.rs.getString("P51D49");
            if (P51D49 == null) {
                P51D49 = "";
            }

            P51D50 = conn.rs.getString("P51D50");
            if (P51D50 == null) {
                P51D50 = "";
            }

            P51DT = conn.rs.getString("P51DT");
            if (P51DT == null) {
                P51DT = "";
            }

            P521DM = conn.rs.getString("P521DM");
            if (P521DM == null) {
                P521DM = "";
            }

            P521DS = conn.rs.getString("P521DS");
            if (P521DS == null) {
                P521DS = "";
            }

            P521DT = conn.rs.getString("P521DT");
            if (P521DT == null) {
                P521DT = "";
            }

            P522DM = conn.rs.getString("P522DM");
            if (P522DM == null) {
                P522DM = "";
            }

            P522DS = conn.rs.getString("P522DS");
            if (P522DS == null) {
                P522DS = "";
            }

            P522DT = conn.rs.getString("P522DT");
            if (P522DT == null) {
                P522DT = "";
            }

            P52DM = conn.rs.getString("P52DM");
            if (P52DM == null) {
                P52DM = "";
            }

            P52DS = conn.rs.getString("P52DS");
            if (P52DS == null) {
                P52DS = "";
            }

            P52DT = conn.rs.getString("P52DT");
            if (P52DT == null) {
                P52DT = "";
            }

            P511KP = conn.rs.getString("P511KP");
            if (P511KP == null) {
                P511KP = "";
            }

            P511KN = conn.rs.getString("P511KN");
            if (P511KN == null) {
                P511KN = "";
            }

            P511KU = conn.rs.getString("P511KU");
            if (P511KU == null) {
                P511KU = "";
            }

            P511Surg = conn.rs.getString("P511Surg");
            if (P511Surg == null) {
                P511Surg = "";
            }

            P511Dev = conn.rs.getString("P511Dev");
            if (P511Dev == null) {
                P511Dev = "";
            }

            P53DF = conn.rs.getString("P53DF");
            if (P53DF == null) {
                P53DF = "";
            }

            P53DO = conn.rs.getString("P53DO");
            if (P53DO == null) {
                P53DO = "";
            }

            P53DM = conn.rs.getString("P53DM");
            if (P53DM == null) {
                P53DM = "";
            }

            P53D = conn.rs.getString("P53D");
            if (P53D == null) {
                P53D = "";
            }

            P54D = conn.rs.getString("P54D");
            if (P54D == null) {
                P54D = "";
            }

        }

        String createdtable = "";

        if (1 == 1) {

            createdtable += header
                    + "<br/><table   border='1' style='border-color: #e5e5e5;margin-bottom: 3px;font-size:10;font-family:cambria;'>"
                    + "<tr><th colspan='5' style='text-align:center;'><b>Voluntary Male Circumcision Reporting Form</b></th></tr>"
                    + "<tr class='form-actions'><th rowspan='10' style='width:40px;'> <b>P5.1.D </b></th><th colspan='4'><b>Number of Males Circumcised as part of the minimum package of MC for HIV Prevention Services </b></th></tr>"
                    + "<tr><td colspan='3' style='text-align:left;'><b> <1 </b></td><td>" + P51D1
                    + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b> 1-9 </b></td></td><td>" + P51D9
                    + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b> 10-14 </b></td></td><td>" + P51D10
                    + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b> 15-19 </b></td></td><td>" + P51D19
                    + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b> 20-24 </b></td></td><td>" + P51D24
                    + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b> 25-29 </b></td></td><td>" + P51D29
                    + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b> 30-49 </b></td></td><td>" + P51D49
                    + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b> 50+ </b></td></td><td>" + P51D50
                    + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b> Total </b></td></td><td>" + P51DT
                    + "</td></tr>";
            createdtable += "<tr class='form-actions'><th rowspan='5'> P5.2.D</th><th colspan='4' > Number of clients circumcised who experienced one or more moderate or severe adverse event(s) within the reporting period</th></tr>";
            createdtable += "<tr><td ></td><td><b>Moderate</b></td><td><b>Severe</b></td><td><b>Total</b></td></tr>";
            createdtable += "<tr><td><b>During circumcision</b></td><td>" + P521DM + "</td><td>" + P521DS
                    + "</td><td>" + P521DT + "</td></tr>";
            createdtable += "<tr><td><b>Post circumcision</b></td><td>" + P522DM + "</td><td>" + P522DS
                    + "</td><td>" + P522DT + "</td></tr>";
            createdtable += "<tr><td><b>Total adverse events</b></td><td>" + P52DM + "</td><td>" + P52DS
                    + "</td><td>" + P52DT + "</td></tr>";
            createdtable += "<tr class='form-actions'><th rowspan='4' > <b> P5.1.1.K </b></th><th colspan='4' style='background:green;'><b> HIV Status of MC Clients</b></th></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b>Tested/self-reported positive</b></td><td>"
                    + P511KP + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b>Tested negative</b></td><td>"
                    + P511KN + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b>Unknown/self-reported negative</b></td><td>"
                    + P511KU + "</td></tr>";
            createdtable += "<tr class='form-actions'><th rowspan='3'> <b> P5.1.1.T </b></th><th colspan='4'><b>Circumcision technique</b></th></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b>Surgical VMMC</b></td><td>"
                    + P511Surg + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b>Device-Based VMMC</b></td><td>"
                    + P511Dev + "</td></tr>";
            createdtable += "<tr class='form-actions'><th rowspan='5'> <b> P5.3.D </b></th><th colspan='4'><b> Number of locations providing MC surgery as part of the minimum package of MC for HIV prevention services within the reporting period</b> </th></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b>Fixed/Static</b></td><td>" + P53DF
                    + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b>Outreach</b></td><td>" + P53DO
                    + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b>Mobile</b></td><td>" + P53DM
                    + "</td></tr>";
            createdtable += "<tr><td colspan='3' style='text-align:left;'><b>Total</b></td><td>" + P53D
                    + "</td></tr>";
            createdtable += "<tr class='form-actions'><th rowspan='2'> <b> P5.4.D </b></th><th colspan='4'>Number of males circumcised within the reporting period who return at least once for postoperative follow?up care (routine or emergent)</th></tr>";
            createdtable += "<tr><td colspan='4' style='text-align:left;'>" + P54D + "</td></tr>" + "</table>";

        }

        //System.out.println(createdtable);

        if (conn.conn != null) {
            conn.conn.close();
        }
        if (conn.rs != null) {
            conn.rs.close();
        }
        if (conn.rs1 != null) {
            conn.rs1.close();
        }
        if (conn.rs2 != null) {
            conn.rs2.close();
        }
        if (conn.st != null) {
            conn.st.close();
        }
        if (conn.st2 != null) {
            conn.st2.close();
        }

        Document document = new Document();
        ByteArrayOutputStream outByteStream = new ByteArrayOutputStream();
        try {
            PdfWriter.getInstance(document, outByteStream);
        } catch (DocumentException ex) {
            Logger.getLogger(Vmmcpdf.class.getName()).log(Level.SEVERE, null, ex);
        }
        document.open();

        HTMLWorker htmlWorker = new HTMLWorker(document);
        htmlWorker.parse(new StringReader(createdtable));

        CSSResolver cssResolver = XMLWorkerHelper.getInstance().getDefaultCssResolver(false);
        try {
            cssResolver.addCss("", true);
        } catch (CssResolverException ex) {
            Logger.getLogger(Vmmcpdf.class.getName()).log(Level.SEVERE, null, ex);
        }
        IdGenerator IG = new IdGenerator();
        String createdOn = IG.CreatedOn();
        document.close();
        response.setContentType("application/pdf");
        response.setContentLength(outByteStream.size());
        response.setHeader("Expires:", "0"); // eliminates browser caching
        response.setHeader("Content-Disposition",
                "attachment; filename=" + form + yearmonth + "_Generated_On_" + createdOn + ".pdf");

        ServletOutputStream sos;
        sos = response.getOutputStream();
        outByteStream.writeTo(sos);
        sos.flush();

    } catch (SQLException ex) {
        Logger.getLogger(Vmmcpdf.class.getName()).log(Level.SEVERE, null, ex);
    }
}