=== modified file 'local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/activeplan/action/ActivePlanReportsFormAction.java' --- local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/activeplan/action/ActivePlanReportsFormAction.java 2010-09-29 02:04:14 +0000 +++ local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/activeplan/action/ActivePlanReportsFormAction.java 2011-01-13 04:53:40 +0000 @@ -83,7 +83,7 @@ periodList = new ArrayList( periodService.getPeriodsByPeriodType( new MonthlyPeriodType() ) ); - reportList = new ArrayList(); + reportList = new ArrayList(); simpleDateFormat = new SimpleDateFormat( "MMM-yyyy" ); @@ -116,7 +116,7 @@ String reportId = ""; String reportName = ""; String reportType = ""; - String reportLevel = ""; + Integer reportProgramId = 0; String reportModel = ""; String reportFileName = ""; @@ -161,12 +161,12 @@ NodeList textreportFileNameList = reportFileNameElement.getChildNodes(); reportFileName = ((Node) textreportFileNameList.item( 0 )).getNodeValue().trim(); - NodeList reportLevelList = reportElement.getElementsByTagName( "level" ); + NodeList reportLevelList = reportElement.getElementsByTagName( "program" ); Element reportLevelElement = (Element) reportLevelList.item( 0 ); NodeList textreportLevelList = reportLevelElement.getChildNodes(); - reportLevel = ((Node) textreportLevelList.item( 0 )).getNodeValue().trim(); + reportProgramId = Integer.parseInt( ((Node) textreportLevelList.item( 0 )).getNodeValue().trim() ); - Report reportObj = new Report( reportId, reportName, reportType, reportModel, reportFileName,reportLevel ); + Report reportObj = new Report( reportId, reportName, reportType, reportModel, reportFileName,reportProgramId ); reportList.add( reportObj ); } === modified file 'local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/activeplan/action/ActivePlanReportsResultAction.java' --- local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/activeplan/action/ActivePlanReportsResultAction.java 2010-12-29 16:17:28 +0000 +++ local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/activeplan/action/ActivePlanReportsResultAction.java 2011-01-13 04:53:40 +0000 @@ -367,11 +367,11 @@ this.reportModelTB = reportModelTB; } - private String reportLevelTB; + private String reportProgramTB; - public void setReportLevelTB( String reportLevelTB ) + public void setReportProgramTB( String reportProgramTB ) { - this.reportLevelTB = reportLevelTB; + this.reportProgramTB = reportProgramTB; } private String reportList; @@ -419,11 +419,6 @@ private String raFolderName; - // private DeCodesXML deCodeTotalList; - // private int[] monthCount = { 0, 10, 11, 12, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; - - private Connection con = null; - private String inputTemplatePath; private String outputReportPath; @@ -450,19 +445,13 @@ private int rowCount; - // private String orgUnitInfo = "-1"; - // private String aggDataTableName; // ------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------- public String execute() throws Exception { - - // con = (new DBConnection()).openConnection(); - statementManager.initialise(); - // raFolderName = "ra_uttarakhand"; raFolderName = reportService.getRAFolderName(); @@ -470,32 +459,29 @@ mathTool = new MathTool(); services = new ArrayList(); slNos = new ArrayList(); - simpleDateFormat = new SimpleDateFormat( "MMM-yyyy" ); + simpleDateFormat = new SimpleDateFormat( "yyyy-MM-dd" ); deCodesXMLFileName = reportList + "DECodes.xml"; - // System.out.println("reportList = " + reportList); deCodeType = new ArrayList(); serviceType = new ArrayList(); - sheetList = new ArrayList(); rowList = new ArrayList(); colList = new ArrayList(); - System.out - .println( "startDate = " + startDate + " endDate = " + endDate + " reportname = " + reportFileNameTB ); + Calendar c = Calendar.getInstance(); c.setTime( format.parseDate( startDate ) ); - c.add( Calendar.DATE, -1 ); // number of days to add - startDate = format.formatDate( c.getTime() ); // dt is now the new date + c.add( Calendar.DATE, -1 ); + startDate = format.formatDate( c.getTime() ); c.setTime( format.parseDate( endDate ) ); - c.add( Calendar.DATE, 1 ); // number of days to add - endDate = format.formatDate( c.getTime() ); // dt is now the new date + c.add( Calendar.DATE, 1 ); + endDate = format.formatDate( c.getTime() ); sDate = format.parseDate( startDate ); eDate = format.parseDate( endDate ); - inputTemplatePath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator + "template" - + File.separator + reportFileNameTB; - outputReportPath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator + "output" - + File.separator + UUID.randomUUID().toString() + ".xls"; + + inputTemplatePath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator + "template" + File.separator + reportFileNameTB; + outputReportPath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator + "output" + File.separator + UUID.randomUUID().toString() + ".xls"; generatFeedbackReport(); + statementManager.destroy(); return SUCCESS; @@ -506,9 +492,8 @@ { Workbook templateWorkbook = Workbook.getWorkbook( new File( inputTemplatePath ) ); - WritableWorkbook outputReportWorkbook = Workbook - .createWorkbook( new File( outputReportPath ), templateWorkbook ); - // System.out.println( "outputReportWorkbook = "+outputReportWorkbook); + WritableWorkbook outputReportWorkbook = Workbook.createWorkbook( new File( outputReportPath ), templateWorkbook ); + // Cell formatting WritableCellFormat wCellformat = new WritableCellFormat(); wCellformat.setBorder( Border.ALL, BorderLineStyle.THIN ); @@ -523,22 +508,15 @@ deWCellformat.setWrap( true ); // OrgUnit Related Info - selectedOrgUnit = new OrganisationUnit(); - // System.out.println("______________ " + reportLevelTB); selectedOrgUnit = organisationUnitService.getOrganisationUnit( ouIDTB ); - // Collection patientIdentifiers = - // patientIdentifierService.getPatientIdentifiersByOrgUnit( - // selectedOrgUnit ); - - Collection patientListByOrgUnit = new ArrayList(); - patientListByOrgUnit.addAll( patientService.getPatients( selectedOrgUnit ) ); + Collection patientListByOrgUnit = new ArrayList( patientService.getPatients( selectedOrgUnit ) ); // Getting Programs + Program curProgram = programService.getProgram( Integer.parseInt( reportProgramTB ) ); + rowCount = 0; List deCodesList = getDECodes( deCodesXMLFileName ); - Program curProgram = programService.getProgram( Integer.parseInt( reportLevelTB ) ); - // /System.out.println( "curProgram = " + curProgram.getName() ); String tempStr = ""; int villageAttrId = 0; @@ -547,28 +525,21 @@ { String psDeIds = ""; WritableSheet sheet0 = outputReportWorkbook.getSheet( 0 ); - System.out.println( "curProgram = " + curProgram.getName() ); int count1 = 0; int tempRowNo = 0; int rowStart = 0; - // System.out.println("deCodesList size = " + deCodesList.size()); Collection programStagesList = new ArrayList(); for ( String deCodeString : deCodesList ) { - String sType = (String) serviceType.get( count1 );// - // System.out.println( sType ); - if ( sType.equalsIgnoreCase( "rowStart" ) ) - { - rowStart = Integer.parseInt( deCodeString ); - } - else if ( deCodeString.equalsIgnoreCase( "FACILITY" ) ) + String sType = (String) serviceType.get( count1 ); + + if ( deCodeString.equalsIgnoreCase( "FACILITY" ) ) { tempStr = selectedOrgUnit.getShortName(); } else if ( deCodeString.equalsIgnoreCase( "FACILITYP" ) ) { - OrganisationUnit orgUnitP = new OrganisationUnit(); - orgUnitP = selectedOrgUnit.getParent(); + OrganisationUnit orgUnitP = selectedOrgUnit.getParent(); if ( orgUnitP != null ) { tempStr = orgUnitP.getName(); @@ -576,12 +547,10 @@ } else if ( deCodeString.equalsIgnoreCase( "FACILITYPP" ) ) { - OrganisationUnit orgUnitP = new OrganisationUnit(); - OrganisationUnit orgUnitPP = new OrganisationUnit(); - orgUnitP = selectedOrgUnit.getParent(); + OrganisationUnit orgUnitP = selectedOrgUnit.getParent(); if ( orgUnitP != null ) { - orgUnitPP = orgUnitP.getParent(); + OrganisationUnit orgUnitPP = orgUnitP.getParent(); if ( orgUnitPP != null ) { tempStr = orgUnitPP.getName(); @@ -592,12 +561,21 @@ { tempStr = " "; } + else if( deCodeString.equalsIgnoreCase( "PERIODSDED" ) ) + { + tempStr = startDate + " To " + endDate; + } else if ( deCodeString.equalsIgnoreCase( "PERIOD-MONTH" ) ) { // sheet0.addCell(new Label(tempColNo, tempRowNo, // simpleDateFormat.format(startDate.getStartDate()), // wCellformat)); } + + if ( sType.equalsIgnoreCase( "rowStart" ) ) + { + rowStart = Integer.parseInt( deCodeString ); + } else if ( sType.equalsIgnoreCase( "programStages" ) ) { String[] stages = deCodeString.split( "," ); @@ -614,34 +592,26 @@ { villageAttrId = Integer.parseInt( deCodeString ); } - - if ( deCodeString.equalsIgnoreCase( "PERIOD-MONTH" ) ) - { - // sheet0.addCell( new Label( tempColNo, tempRowNo, - // simpleDateFormat.format( sDate.getStartDate() ), - // wCellformat ) ); - } - else + else if ( sType.equalsIgnoreCase( "reportProperty" ) ) { if ( (deCodeString.equalsIgnoreCase( "FACILITY" )) || (deCodeString.equalsIgnoreCase( "FACILITYP" )) - || (deCodeString.equalsIgnoreCase( "FACILITYPP" )) || (deCodeString.equalsIgnoreCase( "NA" )) ) + || (deCodeString.equalsIgnoreCase( "FACILITYPP" )) + || (deCodeString.equalsIgnoreCase( "PERIODSDED" )) + || (deCodeString.equalsIgnoreCase( "NA" )) ) { tempRowNo = rowList.get( count1 ); int tempColNo = colList.get( count1 ); int sheetNo = sheetList.get( count1 ); sheet0 = outputReportWorkbook.getSheet( sheetNo ); - WritableCell cell = sheet0.getWritableCell( tempColNo, tempRowNo ); - // System.out.println("tempStr "+tempStr); sheet0.addCell( new Label( tempColNo, tempRowNo, tempStr, wCellformat ) ); } } count1++; } + Map> programStageDEs = new HashMap>(); - // Collection programStageInstances = new - // ArrayList(); if ( !psDeIds.equals( "" ) ) { String[] Ids = psDeIds.split( "," ); @@ -652,8 +622,6 @@ // reading one program stage : its dataelements String[] allIds = Ids[i].split( ":" ); // spliting with : so getting psid and all datalements ids - // System.out.println( "allIds = " + Ids[i] + " size = " + - // allIds.length ); String psid = ""; if ( allIds.length >= 1 ) { @@ -664,17 +632,15 @@ { String deIds = allIds[1];// according to ex 80.81.82 - String[] allDeIds = deIds.split( "\\." );// spliting des - // with . + String[] allDeIds = deIds.split( "\\." );// spliting des with . + for ( int j = 0; j < allDeIds.length; j++ ) { - // putting des in list dataElements.add( dataElementService.getDataElement( Integer.parseInt( allDeIds[j] ) ) ); } } ProgramStage programStage = programStageService.getProgramStage( Integer.parseInt( psid ) ); programStagesList.add( programStage ); - // putting ps and des in one map programStageDEs.put( programStage, dataElements ); } } @@ -722,27 +688,16 @@ completedProgramStageInstances.add( programStageInstance ); continue; } - // System.out.println( "DueDate = " + - // programStageInstance.getDueDate() + - // patient.getFullName() ); - if ( programStageInstance.getDueDate().after( sDate ) - && programStageInstance.getDueDate().before( eDate ) ) + if ( programStageInstance.getDueDate().after( sDate ) && programStageInstance.getDueDate().before( eDate ) ) { - // System.out.println( "DueDate = " + - // programStageInstance.getDueDate() + " " + - // programStageInstance.getExecutionDate() + - // " "+programStageInstance.getId()); programStageInstances.add( programStageInstance ); } } } + if ( programInstance != null && programStageInstances.size() != 0 ) { PIPSIList.put( programInstance, programStageInstances ); - // System.out.println( "programStageInstances size = " + - // programStageInstances.size() + " programInstance = " + - // programInstance.getId() + " patient = " + - // patient.getFullName() ); // putting patient and pi together patientPIList.put( patient, programInstance ); patientList.add( patient ); @@ -770,29 +725,17 @@ ProgramInstance programInstance = patientPIList.get( patient ); Collection psiList = PIPSIList.get( programInstance ); String cAPhoneNumberName = ""; - // System.out.println( - // "______________________________ patient = " + - // patient.getFullName() ); - // System.out.println( - // "__________________________________________________________" - // ); boolean valuePresent = false; String deCollectedNames = ""; String deNotCollectedNames = ""; int ifaCount = 0; int rowNo = rowStart + rowCount; - // System.out.println( - // "______________________________________________________________" - // +patient.getFullName() ); for ( ProgramStageInstance programStageInstance : psiList ) { - // System.out.println( "*************************" - // +patient.getFullName() ); count1 = 0; for ( String deCodeString : deCodesList ) { - tempStr = ""; String sType = (String) serviceType.get( count1 ); if ( sType.equalsIgnoreCase( "dataelement" ) ) @@ -816,52 +759,51 @@ } else if ( sType.equalsIgnoreCase( "caseProperty" ) ) { - // _______________________patient - // name_______________________ if ( deCodeString.equalsIgnoreCase( "Name" ) ) { tempStr = patient.getFullName(); } else if ( deCodeString.equalsIgnoreCase( "DOB" ) ) { - // _______________________DateOfBirth_______________________ Date patientDate = patient.getBirthDate(); SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat( "yyyy-MM-dd" ); tempStr = simpleDateFormat1.format( patientDate ); - } else if ( deCodeString.equalsIgnoreCase( "Sex" ) ) { - // ______________________Sex_______________________ tempStr = patient.getGender(); } else if ( deCodeString.equalsIgnoreCase( "Age" ) ) { - // ______________________Sex_______________________ tempStr = patient.getAge(); } } else if ( sType.equalsIgnoreCase( "caseAttribute" ) ) { - int deCodeInt = Integer.parseInt( deCodeString ); - - PatientAttribute patientAttribute = patientAttributeService.getPatientAttribute( deCodeInt ); - PatientAttributeValue patientAttributeValue = patientAttributeValueService - .getPatientAttributeValue( patient, patientAttribute ); - if ( patientAttributeValue != null ) - { - tempStr = patientAttributeValue.getValue(); - } - else + if( deCodeString.equalsIgnoreCase( "NA" ) ) { tempStr = " "; } + else + { + int deCodeInt = Integer.parseInt( deCodeString ); + + PatientAttribute patientAttribute = patientAttributeService.getPatientAttribute( deCodeInt ); + PatientAttributeValue patientAttributeValue = patientAttributeValueService.getPatientAttributeValue( patient, patientAttribute ); + if ( patientAttributeValue != null && patientAttributeValue.getValue() != null ) + { + tempStr = patientAttributeValue.getValue(); + } + else + { + tempStr = " "; + } + } } else if ( sType.equalsIgnoreCase( "identifiertype" ) ) { int deCodeInt = Integer.parseInt( deCodeString ); - // _______________________Id. - // no._______________________ + PatientIdentifierType patientIdentifierType = patientIdentifierTypeService .getPatientIdentifierType( deCodeInt ); if ( patientIdentifierType != null ) @@ -915,9 +857,6 @@ { husbandName = patientAttributeValue.getValue(); cAPhoneNumberName = husbandName; - // System.out.println( - // " cAPhoneNumberName = " + - // cAPhoneNumberName ); } if ( sType.equalsIgnoreCase( "caseAttributeHusband" ) ) { @@ -940,8 +879,6 @@ { int tempNum = 1 + rowCount; tempStr = String.valueOf( tempNum ); - // System.out.println( "srno = " + tempNum + " " + - // tempStr ); } else if ( sType.equalsIgnoreCase( "dataelementTT" ) || sType.equalsIgnoreCase( "dataelementTest" ) ) @@ -957,9 +894,6 @@ DataElement d1e = dataElementService.getDataElement( Integer.parseInt( de ) ); Collection psisList = patientCompletedPSIList .get( patient ); - // System.out.println( - // "psisList size = " + psisList.size() - // ); String dename = d1e.getShortName(); if ( psisList != null && psisList.size() != 0 ) { @@ -974,9 +908,6 @@ { valuePresent = true; deCollectedNames = deCollectedNames + dename; - // //System.out.println( - // "deCollectedNames = " - // + deCollectedNames ); } } } @@ -994,14 +925,11 @@ } } - // System.out.println( "tempStr = " + - // tempStr ); } } else { - DataElement d1e = dataElementService.getDataElement( Integer - .parseInt( deCodeString ) ); + DataElement d1e = dataElementService.getDataElement( Integer.parseInt( deCodeString ) ); Collection psisList = patientCompletedPSIList.get( patient ); String dename = d1e.getShortName(); if ( psisList.size() != 0 ) @@ -1116,9 +1044,6 @@ }// end of decodelist for loop rowCount++; rowNo++; - // System.out.println( - // "______________________________________________________________" - // ); } count2++; @@ -1134,12 +1059,6 @@ sheet0.mergeCells( 5, mergeRowStart, 5, mergeRowEnd ); sheet0.mergeCells( 6, mergeRowStart, 6, mergeRowEnd ); sheet0.mergeCells( 7, mergeRowStart, 7, mergeRowEnd ); - - // System.out.println( - // "______________________________________________________________" - // ); - // System.out.println( "mergeRowStart = " + - // mergeRowStart + " merge row end = " + mergeRowEnd ); } else { @@ -1149,12 +1068,7 @@ sheet0.mergeCells( 4, mergeRowStart, 4, mergeRowEnd ); sheet0.mergeCells( 5, mergeRowStart, 5, mergeRowEnd ); sheet0.mergeCells( 6, mergeRowStart, 6, mergeRowEnd ); - sheet0.mergeCells( 7, mergeRowStart, 7, mergeRowEnd ); - // System.out.println( - // "______________________________________________________________" - // ); - // System.out.println( "mergeRowStart = " + - // mergeRowStart + " merge row end = " + mergeRowEnd ); + //sheet0.mergeCells( 7, mergeRowStart, 7, mergeRowEnd ); } } mergeRowStart = mergeRowEnd + 1; @@ -1169,8 +1083,6 @@ fileName = reportFileNameTB.replace( ".xls", "" ); fileName += "_" + selectedOrgUnit.getShortName() + ".xls"; - // System.out.println( "fileName = " + fileName + " outputReportPath = " - // + outputReportPath ); File outputReportFile = new File( outputReportPath ); @@ -1199,8 +1111,7 @@ } catch ( NullPointerException npe ) { - // do nothing, but we might be using this somewhere without - // USER_HOME set, which will throw a NPE + System.out.println(" DHIS2_HOME is not Set"); } try @@ -1227,9 +1138,6 @@ sheetList.add( new Integer( deCodeElement.getAttribute( "sheetno" ) ) ); rowList.add( new Integer( deCodeElement.getAttribute( "rowno" ) ) ); colList.add( new Integer( deCodeElement.getAttribute( "colno" ) ) ); - - // System.out.println(deCodes.get( s )+" : "+deCodeType.get( s - // )); }// end of for loop with s var }// try block end @@ -1251,151 +1159,4 @@ return deCodes; }// getDECodes end - public Period getPreviousPeriod( Date sDate ) - { - Period period = new Period(); - Calendar tempDate = Calendar.getInstance(); - tempDate.setTime( sDate ); - if ( tempDate.get( Calendar.MONTH ) == Calendar.JANUARY ) - { - tempDate.set( Calendar.MONTH, Calendar.DECEMBER ); - tempDate.roll( Calendar.YEAR, -1 ); - } - else - { - tempDate.roll( Calendar.MONTH, -1 ); - } - - PeriodType periodType = PeriodType.getByNameIgnoreCase( "monthly" ); - period = getPeriodByMonth( tempDate.get( Calendar.MONTH ), tempDate.get( Calendar.YEAR ), periodType ); - - return period; - } - - public Period getNextPeriod( Date sDate ) - { - Period period = new Period(); - Calendar tempDate = Calendar.getInstance(); - tempDate.setTime( sDate ); - if ( tempDate.get( Calendar.MONTH ) == Calendar.DECEMBER ) - { - tempDate.set( Calendar.MONTH, Calendar.JANUARY ); - tempDate.roll( Calendar.YEAR, +1 ); - } - else - { - tempDate.roll( Calendar.MONTH, +1 ); - } - - PeriodType periodType = PeriodType.getByNameIgnoreCase( "monthly" ); - period = getPeriodByMonth( tempDate.get( Calendar.MONTH ), tempDate.get( Calendar.YEAR ), periodType ); - - return period; - } - - public Period getPeriodByMonth( int month, int year, PeriodType periodType ) - { - int monthDays[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; - - Calendar cal = Calendar.getInstance(); - cal.set( year, month, 1, 0, 0, 0 ); - Date firstDay = new Date( cal.getTimeInMillis() ); - - if ( periodType.getName().equals( "Monthly" ) ) - { - cal.set( year, month, 1, 0, 0, 0 ); - if ( year % 4 == 0 ) - { - cal.set( Calendar.DAY_OF_MONTH, monthDays[month] + 1 ); - } - else - { - cal.set( Calendar.DAY_OF_MONTH, monthDays[month] ); - } - - } - else - { - if ( periodType.getName().equals( "Yearly" ) ) - { - cal.set( year, Calendar.DECEMBER, 31 ); - } - - } - Date lastDay = new Date( cal.getTimeInMillis() ); - - return periodService.getPeriod( firstDay, lastDay, periodType ); - } - - public List getStartingEndingPeriods( String deType, Date sDate, Date eDate ) - { - - List calendarList = new ArrayList(); - - Calendar tempStartDate = Calendar.getInstance(); - Calendar tempEndDate = Calendar.getInstance(); - - Period previousPeriod = new Period(); - previousPeriod = getPreviousPeriod( sDate ); - - if ( deType.equalsIgnoreCase( "cpmcy" ) ) - { - tempStartDate.setTime( previousPeriod.getStartDate() ); - if ( tempStartDate.get( Calendar.MONTH ) < Calendar.APRIL ) - { - tempStartDate.roll( Calendar.YEAR, -1 ); - } - - tempStartDate.set( Calendar.MONTH, Calendar.APRIL ); - tempEndDate.setTime( previousPeriod.getEndDate() ); - } - else - { - if ( deType.equalsIgnoreCase( "ccmcy" ) ) - { - tempStartDate.setTime( sDate ); - if ( tempStartDate.get( Calendar.MONTH ) < Calendar.APRIL ) - { - tempStartDate.roll( Calendar.YEAR, -1 ); - } - - tempStartDate.set( Calendar.MONTH, Calendar.APRIL ); - tempEndDate.setTime( eDate ); - // System.out.println("We are in PT if block"); - } - else - { - if ( deType.equalsIgnoreCase( "ccmpy" ) ) - { - tempStartDate.setTime( sDate ); - tempEndDate.setTime( eDate ); - - tempStartDate.roll( Calendar.YEAR, -1 ); - tempEndDate.roll( Calendar.YEAR, -1 ); - } - else - { - if ( deType.equalsIgnoreCase( "cmpy" ) ) - { - tempStartDate.setTime( sDate ); - tempEndDate.setTime( eDate ); - - tempStartDate.roll( Calendar.YEAR, -1 ); - tempEndDate.roll( Calendar.YEAR, -1 ); - } - else - { - tempStartDate.setTime( sDate ); - tempEndDate.setTime( eDate ); - } - - } - } - } - - calendarList.add( tempStartDate ); - calendarList.add( tempEndDate ); - - return calendarList; - } } === modified file 'local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/meta/action/GenerateMetaDataReportResultAction.java' --- local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/meta/action/GenerateMetaDataReportResultAction.java 2011-01-08 05:58:26 +0000 +++ local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/meta/action/GenerateMetaDataReportResultAction.java 2011-01-13 04:53:40 +0000 @@ -39,18 +39,17 @@ import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.organisationunit.OrganisationUnitGroup; import org.hisp.dhis.organisationunit.OrganisationUnitGroupService; -import org.hisp.dhis.organisationunit.OrganisationUnitHierarchy; import org.hisp.dhis.organisationunit.OrganisationUnitService; import org.hisp.dhis.organisationunit.comparator.OrganisationUnitNameComparator; import org.hisp.dhis.reports.ReportService; import org.hisp.dhis.user.User; -import org.hisp.dhis.user.UserAuthorityGroup; -import org.hisp.dhis.user.UserCredentials; import org.hisp.dhis.user.UserStore; import org.hisp.dhis.validation.ValidationRule; import org.hisp.dhis.validation.ValidationRuleGroup; import org.hisp.dhis.validation.ValidationRuleService; import org.hisp.dhis.validation.comparator.ValidationRuleNameComparator; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.support.rowset.SqlRowSet; import com.opensymphony.xwork2.Action; @@ -158,6 +157,13 @@ this.reportService = reportService; } + private JdbcTemplate jdbcTemplate; + + public void setJdbcTemplate( JdbcTemplate jdbcTemplate ) + { + this.jdbcTemplate = jdbcTemplate; + } + // ------------------------------------------------------------------------- // Input & Output // ------------------------------------------------------------------------- @@ -201,7 +207,7 @@ raFolderName = reportService.getRAFolderName(); - System.out.println( "Report Generation Start Time is : \t" + new Date() ); + System.out.println( "MetaDataReport Generation Start Time is : " + new Date() ); if ( metaDataId.equalsIgnoreCase( ORGUNIT ) ) { @@ -254,7 +260,7 @@ statementManager.destroy(); - System.out.println( "Report Generation End Time is : \t" + new Date() ); + System.out.println( "MetaDataReport Generation End Time is : " + new Date() ); return SUCCESS; } @@ -410,7 +416,7 @@ } // ------------------------------------------------------------------------- - // Methods for getting DataElement wise List in Excel Sheet + // Method for getting DataElementwise List in Excel Sheet // ------------------------------------------------------------------------- public void generateDataElementList() @@ -439,14 +445,12 @@ { sheet0.addCell( new Label( colStart, rowStart, "DataElementID", getCellFormat1() ) ); } - // for printing all attributes heading in Excel Sheet 29/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Label( colStart, rowStart, "DataElementID", getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 1, rowStart, "DataElementName", getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 2, rowStart, "DataElementAlternativeName", getCellFormat1() ) ); - sheet0 - .addCell( new Label( colStart + 3, rowStart, "DataElementAggregationOperator", getCellFormat1() ) ); + sheet0.addCell( new Label( colStart + 3, rowStart, "DataElementAggregationOperator", getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 4, rowStart, "DataElementDescription", getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 5, rowStart, "DataElementCode", getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 6, rowStart, "DataElementShortName", getCellFormat1() ) ); @@ -466,9 +470,7 @@ if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Number( colStart, rowStart, dataElement.getId(), wCellformat ) ); - } - // for printing all attributes data in Excel Sheet 29/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Number( colStart, rowStart, dataElement.getId(), wCellformat ) ); @@ -491,7 +493,6 @@ } outputReportWorkbook.write(); - outputReportWorkbook.close(); fileName = "DataElementList.xls"; @@ -499,11 +500,10 @@ inputStream = new BufferedInputStream( new FileInputStream( outputReportFile ) ); outputReportFile.deleteOnExit(); - } // ------------------------------------------------------------------------- - // Methods for getting DataElement Group wise List in Excel Sheet + // Method for getting DataElement Groupwise List in Excel Sheet // ------------------------------------------------------------------------- public void generateDataElementGroupList() @@ -529,14 +529,10 @@ if ( incID != null ) { - // sheet0.addCell( new Label( colStart, rowStart, - // "DataElementGroupID", getCellFormat1() ) ); - if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Label( colStart, rowStart, "DataElementID", getCellFormat1() ) ); } - // for printing all attributes heading in Excel Sheet 29/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Label( colStart, rowStart, "DataElementID", getCellFormat1() ) ); @@ -563,17 +559,11 @@ if ( incID.equalsIgnoreCase( SOURCE ) || incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Number( colStart, rowStart, dataElementGroup.getId(), getCellFormat1() ) ); - } - // sheet0.addCell( new Number( colStart, - // rowStart,dataElementGroup.getId(), getCellFormat1() ) ); - } sheet0.addCell( new Label( colStart + 1, rowStart, dataElementGroup.getName(), getCellFormat1() ) ); - // for merge cell (colStart,rowStart,colEnd,rowEnd) for Printing All - // Attributes 29/06/2010 if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.mergeCells( colStart + 1, rowStart, colStart + 8, rowStart ); @@ -589,17 +579,10 @@ { if ( incID != null ) { - // sheet0.addCell( new Number( colStart, - // rowStart,dataElement.getId(), wCellformat ) ); - // 29/06/2020 - if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Number( colStart, rowStart, dataElement.getId(), wCellformat ) ); } - - // for printing all attributes data in Excel Sheet - // 29/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Number( colStart, rowStart, dataElement.getId(), wCellformat ) ); @@ -613,7 +596,6 @@ sheet0.addCell( new Label( colStart + 6, rowStart, dataElement.getShortName(), wCellformat ) ); sheet0.addCell( new Label( colStart + 7, rowStart, dataElement.getType(), wCellformat ) ); sheet0.addCell( new Label( colStart + 8, rowStart, dataElement.getUrl(), wCellformat ) ); - } } @@ -624,7 +606,6 @@ } outputReportWorkbook.write(); - outputReportWorkbook.close(); fileName = "DataElementGroupWiseList.xls"; @@ -632,11 +613,10 @@ inputStream = new BufferedInputStream( new FileInputStream( outputReportFile ) ); outputReportFile.deleteOnExit(); - } // ------------------------------------------------------------------------- - // Methods for getting Organisation Unit Group wise List in Excel Sheet // + // Methods for getting Organisation Unit Groupwise List in Excel Sheet // ------------------------------------------------------------------------- public void generateOrgUnitGroupList() @@ -661,13 +641,10 @@ if ( incID != null ) { - // sheet0.addCell( new Label( colStart, rowStart, - // "OrganisationUnitGroupID", getCellFormat1() ) ); if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Label( colStart, rowStart, "OrganisationUnitID", getCellFormat1() ) ); } - // for printing all attributes heading in Excel Sheet 30/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Label( colStart, rowStart, "OrganisationUnitID", getCellFormat1() ) ); @@ -679,7 +656,6 @@ sheet0.addCell( new Label( colStart + 6, rowStart, "organisationUnitCode", getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 7, rowStart, "organisationUnitUrl", getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 8, rowStart, "Last Updated", getCellFormat1() ) ); - } } @@ -691,27 +667,20 @@ { if ( incID != null ) { - // sheet0.addCell( new Number( colStart, rowStart, - // organisationUnitGroup.getId(), getCellFormat1() ) ); - // 30/06/2010 if ( incID.equalsIgnoreCase( SOURCE ) || incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Number( colStart, rowStart, organisationUnitGroup.getId(), getCellFormat1() ) ); - } } sheet0.addCell( new Label( colStart + 1, rowStart, organisationUnitGroup.getName(), getCellFormat1() ) ); - // for merge cell (colStart,rowStart,colEnd,rowEnd) for Printing All - // Attributes 30/06/2010 if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.mergeCells( colStart + 1, rowStart, colStart + 8, rowStart ); } rowStart++; - // colStart++; List organisationUnitList = new ArrayList( organisationUnitGroup .getMembers() ); @@ -719,47 +688,35 @@ Collections.sort( organisationUnitList, new OrganisationUnitNameComparator() ); for ( OrganisationUnit organisationUnit : organisationUnitList ) - { if ( incID != null ) { - // sheet0.addCell( new Number( colStart, rowStart, - // organisationUnit.getId(), wCellformat ) ); - // 30/06/2020 - if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Number( colStart, rowStart, organisationUnit.getId(), wCellformat ) ); sheet0.addCell( new Label( colStart + 1, rowStart, organisationUnit.getName(), wCellformat ) ); } - - // for printing all attributes data in Excel Sheet - // 30/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Number( colStart, rowStart, organisationUnit.getId(), wCellformat ) ); sheet0.addCell( new Label( colStart + 1, rowStart, organisationUnit.getName(), wCellformat ) ); - sheet0 - .addCell( new Label( colStart + 2, rowStart, organisationUnit.getShortName(), wCellformat ) ); - // Null check for opening date + sheet0.addCell( new Label( colStart + 2, rowStart, organisationUnit.getShortName(), wCellformat ) ); + String opendate = new String(); if ( organisationUnit.getOpeningDate() != null ) { opendate = organisationUnit.getOpeningDate().toString(); - } else { opendate = ""; } - sheet0.addCell( new Label( colStart + 3, rowStart, opendate, wCellformat ) ); - // Null check for opening date + String closedate = new String(); if ( organisationUnit.getClosedDate() != null ) { closedate = organisationUnit.getClosedDate().toString(); - } else { @@ -767,12 +724,10 @@ } sheet0.addCell( new Label( colStart + 4, rowStart, closedate, wCellformat ) ); - // Null check for Parent Name String PARENT = new String(); if ( organisationUnit.getParent() != null ) { PARENT = organisationUnit.getParent().getName(); - } else { @@ -782,53 +737,29 @@ sheet0.addCell( new Label( colStart + 5, rowStart, PARENT, wCellformat ) ); sheet0.addCell( new Label( colStart + 6, rowStart, organisationUnit.getCode(), wCellformat ) ); sheet0.addCell( new Label( colStart + 7, rowStart, organisationUnit.getUrl(), wCellformat ) ); - // Null check for last updation + String lastUpdate = new String(); if ( organisationUnit.getLastUpdated() != null ) { lastUpdate = organisationUnit.getLastUpdated().toString(); - } else { lastUpdate = ""; } sheet0.addCell( new Label( colStart + 8, rowStart, lastUpdate, wCellformat ) ); - } else { sheet0.addCell( new Label( colStart + 1, rowStart, organisationUnit.getName(), wCellformat ) ); - } - } rowStart++; } - - /* - * // Iterator orgUnitIterator = - * (Iterator) orgUnitGroupList.listIterator(); - * Iterator orgUnitIterator = - * organisationUnitGroup. while ( orgUnitIterator.hasNext() ) { - * OrganisationUnit ou = orgUnitIterator.next() ; - * - * if( incID != null ) { sheet0.addCell( new Number( colStart, - * rowStart, ou.getId() , getCellFormat2() ) ); } - * - * // int ouLevel = - * organisationUnitService.getLevelOfOrganisationUnit( ou.getId()); - * - * sheet0.addCell( new Label( colStart+1, rowStart, ou.getName(), - * wCellformat ) ); - * - * rowStart++; } - */ } outputReportWorkbook.write(); - outputReportWorkbook.close(); fileName = "OrganisationUnitGroupWiseList.xls"; @@ -836,7 +767,6 @@ inputStream = new BufferedInputStream( new FileInputStream( outputReportFile ) ); outputReportFile.deleteOnExit(); - } // ------------------------------------------------------------------------- @@ -847,14 +777,10 @@ throws Exception { OrganisationUnit rootOrgUnit = organisationUnitService.getRootOrganisationUnits().iterator().next(); - // OrganisationUnit rootOrgUnit = - // organisationUnitService.getOrganisationUnit( 551 ); - - List OrganisitionUnitList = new ArrayList( - getChildOrgUnitTree( rootOrgUnit ) ); - - String outputReportPath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator - + "output" + File.separator + UUID.randomUUID().toString() + ".xls"; + + List OrganisitionUnitList = new ArrayList( organisationUnitService.getOrganisationUnitWithChildren( rootOrgUnit.getId() ) ); + + String outputReportPath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator + "output" + File.separator + UUID.randomUUID().toString() + ".xls"; WritableWorkbook outputReportWorkbook = Workbook.createWorkbook( new File( outputReportPath ) ); WritableSheet sheet0 = outputReportWorkbook.createSheet( "OrganisationUnit", 0 ); @@ -882,7 +808,6 @@ rowStart++; - int ouListSize = OrganisitionUnitList.size(); Iterator orgUnitIterator = OrganisitionUnitList.iterator(); while ( orgUnitIterator.hasNext() ) { @@ -890,34 +815,42 @@ sheet0.addCell( new Number( colStart, rowStart, ou.getId(), getCellFormat2() ) ); - int ouLevel = organisationUnitService.getLevelOfOrganisationUnit( ou.getId() ); + int ouLevel = ou.getLevel(); sheet0.addCell( new Label( colStart + ouLevel, rowStart, ou.getName(), getCellFormat2() ) ); - Collection users = userStore.getUsersByOrganisationUnit( ou ); - + //String query = "SELECT userid,username FROM users WHERE userid IN ( SELECT userinfoid FROM usermembership WHERE organisationunitid = "+ ou.getId() +")"; + String query = "SELECT users.userid,users.username FROM users INNER JOIN usermembership ON users.userid = usermembership.userinfoid WHERE usermembership.organisationunitid = "+ ou.getId(); String userName = ""; String userId = ""; - for ( User user : users ) + + try { - UserCredentials userCredentials = userStore.getUserCredentials( user ); - if ( userCredentials != null ) + SqlRowSet sqlResultSet = jdbcTemplate.queryForRowSet( query ); + + if ( sqlResultSet != null ) { - userId += user.getId() + ", "; - userName += userCredentials.getUsername() + ", "; + sqlResultSet.beforeFirst(); + + while ( sqlResultSet.next() ) + { + userId += sqlResultSet.getInt( 1 ) + ", "; + userName += sqlResultSet.getString( 2 ) + ", "; + } } - - } - + } + catch( Exception e ) + { + System.out.println("Exception with jdbcTemplate: "+ e.getMessage() ); + } + sheet0.addCell( new Label( colStart + maxLevels + 1, rowStart, userId, getCellFormat2() ) ); sheet0.addCell( new Label( colStart + maxLevels + 2, rowStart, userName, getCellFormat2() ) ); - System.out.println( "Count: " + rowStart + "out of " + ouListSize ); rowStart++; } outputReportWorkbook.write(); - outputReportWorkbook.close(); fileName = "OrgUnit_UserList.xls"; @@ -925,7 +858,6 @@ inputStream = new BufferedInputStream( new FileInputStream( outputReportFile ) ); outputReportFile.deleteOnExit(); - } // ------------------------------------------------------------------------- @@ -936,15 +868,10 @@ throws Exception { OrganisationUnit rootOrgUnit = organisationUnitService.getRootOrganisationUnits().iterator().next(); - //OrganisationUnitHierarchy organisationUnitHierarchy = organisationUnitService.getOrganisationUnitHierarchy(); - //organisationUnitHierarchy. - - //List OrganisitionUnitList = new ArrayList( getChildOrgUnitTree( rootOrgUnit ) ); List OrganisitionUnitList = new ArrayList( organisationUnitService.getOrganisationUnitWithChildren( rootOrgUnit.getId() ) ); - String outputReportPath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator - + "output" + File.separator + UUID.randomUUID().toString() + ".xls"; + String outputReportPath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator + "output" + File.separator + UUID.randomUUID().toString() + ".xls"; WritableWorkbook outputReportWorkbook = Workbook.createWorkbook( new File( outputReportPath ) ); WritableSheet sheet0 = outputReportWorkbook.createSheet( "OrganisationUnit", 0 ); @@ -994,59 +921,43 @@ rowStart++; Iterator orgUnitIterator = OrganisitionUnitList.iterator(); - while ( orgUnitIterator.hasNext() ) + while( orgUnitIterator.hasNext() ) { OrganisationUnit ou = orgUnitIterator.next(); if ( incID != null ) { - - // for printing all attributes data in Excel Sheet 30/06/2010 if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Number( colStart, rowStart, ou.getId(), wCellformat ) ); sheet0.addCell( new Label( colStart + 1, rowStart, ou.getName(), wCellformat ) ); sheet0.addCell( new Label( colStart + 2, rowStart, ou.getShortName(), wCellformat ) ); - // sheet0.addCell( new Label(colStart + 5, rowStart, - // organisationUnit.getClosedDate().toString(), - // wCellformat ) ); String opendate = new String(); if ( ou.getOpeningDate() != null ) { opendate = ou.getOpeningDate().toString(); - } else { opendate = ""; } - sheet0.addCell( new Label( colStart + 3, rowStart, opendate, wCellformat ) ); String closedate = new String(); if ( ou.getClosedDate() != null ) { closedate = ou.getClosedDate().toString(); - } else { closedate = ""; } - sheet0.addCell( new Label( colStart + 4, rowStart, closedate, wCellformat ) ); - // sheet0.addCell( new Label( colStart + 5, rowStart, - // ou.getType(), wCellformat ) ); - // sheet0.addCell( new Label(colStart + 7, rowStart, - // organisationUnit.getParent().getName(), wCellformat ) - // ); - String PARENT = new String(); if ( ou.getParent() != null ) { PARENT = ou.getParent().getName(); - } else { @@ -1061,50 +972,30 @@ if ( ou.getLastUpdated() != null ) { lastUpdate = ou.getLastUpdated().toString(); - } else { lastUpdate = ""; } sheet0.addCell( new Label( colStart + 8, rowStart, lastUpdate, wCellformat ) ); - } - else if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Number( colStart, rowStart, ou.getId(), getCellFormat2() ) ); - int ouLevel = organisationUnitService.getLevelOfOrganisationUnit( ou.getId() ); + int ouLevel = ou.getLevel(); sheet0.addCell( new Label( colStart + ouLevel, rowStart, ou.getName(), getCellFormat2() ) ); - // System.out.println("ID is : " + ou.getId() + - // "and name is : " + ou.getName()); } - else { - int ouLevel = organisationUnitService.getLevelOfOrganisationUnit( ou.getId() ); - + int ouLevel = ou.getLevel(); sheet0.addCell( new Label( colStart + ouLevel, rowStart, ou.getName(), getCellFormat2() ) ); - // System.out.println("Level is : " + ouLevel); - // System.out.println("in not ID only Name is :" + - // ou.getName() ); } } - // int ouLevel = organisationUnitService.getLevelOfOrganisationUnit( - // ou.getId() ); - - // sheet0.addCell( new Label( colStart + ouLevel, rowStart, - // ou.getName(), getCellFormat2() ) ); - - // sheet0.addCell( new Label( colStart + 1, rowStart, - // ou.getName(),getCellFormat2() ) ); - rowStart++; } outputReportWorkbook.write(); - outputReportWorkbook.close(); fileName = "OrgUnitList.xls"; @@ -1112,11 +1003,10 @@ inputStream = new BufferedInputStream( new FileInputStream( outputReportFile ) ); outputReportFile.deleteOnExit(); - } // ------------------------------------------------------------------------- - // Methods for getting Indicator List in Excel Sheet + // Method for getting Indicator List in Excel Sheet // ------------------------------------------------------------------------- public void generateIndicatorList() @@ -1142,13 +1032,10 @@ if ( incID != null ) { - // sheet0.addCell( new Label( colStart, rowStart, "IndicatorID", - // getCellFormat1() ) ); if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Label( colStart, rowStart, "IndicatorID", getCellFormat1() ) ); } - // for printing all attributes heading in Excel Sheet 29/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Label( colStart, rowStart, "IndicatorID", getCellFormat1() ) ); @@ -1167,7 +1054,6 @@ sheet0.addCell( new Label( colStart + 10, rowStart, "IndicatorDescription", getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 11, rowStart, "IndicatorShortName", getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 12, rowStart, "IndicatorUrl", getCellFormat1() ) ); - } } @@ -1181,13 +1067,10 @@ { if ( incID != null ) { - // sheet0.addCell( new Number( colStart, rowStart, - // indicator.getId(), wCellformat ) ); if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Number( colStart, rowStart, indicator.getId(), wCellformat ) ); } - // for printing all attributes data in Excel Sheet 29/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Number( colStart, rowStart, indicator.getId(), wCellformat ) ); @@ -1209,33 +1092,19 @@ sheet0.addCell( new Label( colStart + 10, rowStart, indicator.getDescription(), wCellformat ) ); sheet0.addCell( new Label( colStart + 11, rowStart, indicator.getShortName(), wCellformat ) ); sheet0.addCell( new Label( colStart + 12, rowStart, indicator.getUrl(), wCellformat ) ); - } } sheet0.addCell( new Label( colStart + 1, rowStart, indicator.getName(), wCellformat ) ); - - // expressionService.getExpressionDescription(indicator.getDenominator - // () ); - // expressionService.getExpressionDescription( - // indicator.getNumerator() ); sheet0.addCell( new Label( colStart + 3, rowStart, expressionService.getExpressionDescription( indicator .getNumerator() ), wCellformat ) ); sheet0.addCell( new Label( colStart + 2, rowStart, expressionService.getExpressionDescription( indicator .getDenominator() ), wCellformat ) ); - // sheet0.addCell( new Label( colStart + 2, rowStart, - // indicator.getNumeratorDescription(), wCellformat ) ); - // sheet0.addCell( new Label( colStart + 3, rowStart, - // indicator.getDenominatorDescription(), wCellformat ) ); - // for merge cell (colStart,rowStart,colEnd,rowEnd) for Printing All - // Attributes 29/06/2010 - rowStart++; } outputReportWorkbook.write(); - outputReportWorkbook.close(); fileName = "IndicatorList.xls"; @@ -1246,7 +1115,7 @@ } // ------------------------------------------------------------------------- - // Methods for getting Indicator Group wise List in Excel Sheet + // Method for getting Indicator Group wise List in Excel Sheet // ------------------------------------------------------------------------- public void generateIndicatorGroupList() @@ -1272,13 +1141,10 @@ if ( incID != null ) { - // sheet0.addCell( new Label( colStart, rowStart, - // "IndicatorGroupID", getCellFormat1() ) ); if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Label( colStart, rowStart, "IndicatorID", getCellFormat1() ) ); } - // for printing all attributes heading in Excel Sheet 29/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Label( colStart, rowStart, "IndicatorID", getCellFormat1() ) ); @@ -1297,7 +1163,6 @@ sheet0.addCell( new Label( colStart + 10, rowStart, "IndicatorDescription", getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 11, rowStart, "IndicatorShortName", getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 12, rowStart, "IndicatorUrl", getCellFormat1() ) ); - } } @@ -1310,22 +1175,15 @@ { if ( incID != null ) { - // sheet0.addCell( new Number( colStart, rowStart, - // indicatorGroup.getId(), getCellFormat1() ) ); if ( incID.equalsIgnoreCase( SOURCE ) || incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Number( colStart, rowStart, indicatorGroup.getId(), getCellFormat1() ) ); - } } sheet0.addCell( new Label( colStart + 1, rowStart, indicatorGroup.getName(), getCellFormat1() ) ); - - // for merge cell (colStart,rowStart,colEnd,rowEnd) sheet0.mergeCells( colStart + 1, rowStart, colStart + 3, rowStart ); - // for merge cell (colStart,rowStart,colEnd,rowEnd) for Printing All - // Attributes 29/06/2010 if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.mergeCells( colStart + 1, rowStart, colStart + 12, rowStart ); @@ -1335,23 +1193,14 @@ List indicatorList = new ArrayList( indicatorGroup.getMembers() ); Collections.sort( indicatorList, new IndicatorNameComparator() ); - for ( Indicator indicator : indicatorList ) { - if ( incID != null ) { - // sheet0.addCell( new Number( colStart, rowStart, - // indicator.getId(), wCellformat ) ); - // 29/06/2020 - if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Number( colStart, rowStart, indicator.getId(), wCellformat ) ); } - - // for printing all attributes data in Excel Sheet - // 29/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Number( colStart, rowStart, indicator.getId(), wCellformat ) ); @@ -1374,14 +1223,10 @@ sheet0.addCell( new Label( colStart + 10, rowStart, indicator.getDescription(), wCellformat ) ); sheet0.addCell( new Label( colStart + 11, rowStart, indicator.getShortName(), wCellformat ) ); sheet0.addCell( new Label( colStart + 12, rowStart, indicator.getUrl(), wCellformat ) ); - } } + sheet0.addCell( new Label( colStart + 1, rowStart, indicator.getName(), wCellformat ) ); - // sheet0.addCell( new Label( colStart + 2, rowStart, - // indicator.getNumeratorDescription(), wCellformat ) ); - // sheet0.addCell( new Label( colStart + 3, rowStart, - // indicator.getDenominatorDescription(), wCellformat ) ); sheet0.addCell( new Label( colStart + 3, rowStart, expressionService .getExpressionDescription( indicator.getNumerator() ), wCellformat ) ); sheet0.addCell( new Label( colStart + 2, rowStart, expressionService @@ -1390,15 +1235,14 @@ rowStart++; } } + outputReportWorkbook.write(); - outputReportWorkbook.close(); fileName = "IndicatorGroupWiseList.xls"; File outputReportFile = new File( outputReportPath ); inputStream = new BufferedInputStream( new FileInputStream( outputReportFile ) ); outputReportFile.deleteOnExit(); - } // ------------------------------------------------------------------------- @@ -1428,13 +1272,10 @@ if ( incID != null ) { - // sheet0.addCell( new Label( colStart, rowStart, "DataSetID", - // getCellFormat1() ) ); if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Label( colStart, rowStart, "DataSetID", getCellFormat1() ) ); } - // for printing all attributes heading in Excel Sheet 29/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Label( colStart, rowStart, "DataSetID", getCellFormat1() ) ); @@ -1443,7 +1284,6 @@ sheet0.addCell( new Label( colStart + 3, rowStart, "DataSetCode", getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 4, rowStart, "DataSetAlternativeName", getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 5, rowStart, "DataSetPeriodType", getCellFormat1() ) ); - } } @@ -1455,18 +1295,10 @@ { if ( incID != null ) { - // sheet0.addCell( new Number( colStart, rowStart, - // dataSet.getId(), wCellformat ) ); - - // 29/06/2020 - if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Number( colStart, rowStart, dataSet.getId(), wCellformat ) ); } - - // for printing all attributes data in Excel Sheet - // 29/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Number( colStart, rowStart, dataSet.getId(), wCellformat ) ); @@ -1476,7 +1308,6 @@ sheet0.addCell( new Label( colStart + 4, rowStart, dataSet.getAlternativeName(), wCellformat ) ); sheet0 .addCell( new Label( colStart + 5, rowStart, dataSet.getPeriodType().getName(), wCellformat ) ); - } } @@ -1486,7 +1317,6 @@ } outputReportWorkbook.write(); - outputReportWorkbook.close(); fileName = "DataSetList.xls"; @@ -1524,13 +1354,10 @@ if ( incID != null ) { - // sheet0.addCell( new Label( colStart, rowStart, - // "ValidationRuleID", getCellFormat1() ) ); if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Label( colStart, rowStart, "ValidationRuleID", getCellFormat1() ) ); } - // for printing all attributes heading in Excel Sheet 29/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Label( colStart, rowStart, "ValidationRuleID", getCellFormat1() ) ); @@ -1544,7 +1371,6 @@ getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 7, rowStart, "ValidationRuleRightSideDescription", getCellFormat1() ) ); - } } @@ -1556,15 +1382,10 @@ { if ( incID != null ) { - // sheet0.addCell( new Number( colStart, rowStart, - // validationRule.getId(), wCellformat ) ); if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Number( colStart, rowStart, validationRule.getId(), wCellformat ) ); } - - // for printing all attributes data in Excel Sheet - // 29/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Number( colStart, rowStart, validationRule.getId(), wCellformat ) ); @@ -1578,7 +1399,6 @@ wCellformat ) ); sheet0.addCell( new Label( colStart + 7, rowStart, validationRule.getRightSide().getDescription(), wCellformat ) ); - } } @@ -1588,7 +1408,6 @@ } outputReportWorkbook.write(); - outputReportWorkbook.close(); fileName = "ValidationRuleList.xls"; @@ -1596,7 +1415,6 @@ inputStream = new BufferedInputStream( new FileInputStream( outputReportFile ) ); outputReportFile.deleteOnExit(); - } // ------------------------------------------------------------------------- @@ -1605,7 +1423,6 @@ public void generateValidationGroupList() throws Exception - { List validationRuleGroupList = new ArrayList( validationRuleService .getAllValidationRuleGroups() ); @@ -1627,13 +1444,10 @@ if ( incID != null ) { - // sheet0.addCell( new Label( colStart, rowStart, - // "ValidationRuleGroupID", getCellFormat1() ) ); if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Label( colStart, rowStart, "ValidationRuleID", getCellFormat1() ) ); } - // for printing all attributes heading in Excel Sheet 30/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Label( colStart, rowStart, "ValidationRuleID", getCellFormat1() ) ); @@ -1647,7 +1461,6 @@ getCellFormat1() ) ); sheet0.addCell( new Label( colStart + 7, rowStart, "ValidationRuleRightSideDescription", getCellFormat1() ) ); - } } @@ -1659,20 +1472,14 @@ { if ( incID != null ) { - // sheet0.addCell( new Number( colStart, rowStart, - // validationRuleGroup.getId(), getCellFormat1() ) ); - // 30/06/2020 if ( incID.equalsIgnoreCase( SOURCE ) || incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Number( colStart, rowStart, validationRuleGroup.getId(), getCellFormat1() ) ); - } } sheet0.addCell( new Label( colStart + 1, rowStart, validationRuleGroup.getName(), getCellFormat1() ) ); - // for merge cell (colStart,rowStart,colEnd,rowEnd) for Printing All - // Attributes 30/06/2010 if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.mergeCells( colStart + 1, rowStart, colStart + 7, rowStart ); @@ -1681,22 +1488,15 @@ rowStart++; List validationRuleList = new ArrayList( validationRuleGroup.getMembers() ); - Collections.sort( validationRuleList, new ValidationRuleNameComparator() ); - for ( ValidationRule validationRule : validationRuleList ) { if ( incID != null ) { - // sheet0.addCell( new Number( colStart, rowStart, - // validationRule.getId(), wCellformat ) ); if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Number( colStart, rowStart, validationRule.getId(), wCellformat ) ); } - - // for printing all attributes data in Excel Sheet - // 30/06/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Number( colStart, rowStart, validationRule.getId(), wCellformat ) ); @@ -1711,7 +1511,6 @@ .getDescription(), wCellformat ) ); sheet0.addCell( new Label( colStart + 7, rowStart, validationRule.getRightSide() .getDescription(), wCellformat ) ); - } } @@ -1722,7 +1521,6 @@ } outputReportWorkbook.write(); - outputReportWorkbook.close(); fileName = "ValidationRuleGroupWiseList.xls"; @@ -1734,7 +1532,7 @@ }// end generateValidationGroupList function // ------------------------------------------------------------------------- - // Methods for getting User List in Excel Sheet + // Method for getting User List in Excel Sheet // ------------------------------------------------------------------------- public void generateUserList() @@ -1742,8 +1540,6 @@ { List userList = new ArrayList( userStore.getAllUsers() ); - List userRoles = new ArrayList( userStore.getAllUserAuthorityGroups() ); - String outputReportPath = System.getenv( "DHIS2_HOME" ) + File.separator + raFolderName + File.separator + "output" + File.separator + UUID.randomUUID().toString() + ".xls"; WritableWorkbook outputReportWorkbook = Workbook.createWorkbook( new File( outputReportPath ) ); @@ -1761,13 +1557,10 @@ if ( incID != null ) { - // sheet0.addCell( new Label( colStart, rowStart, "userID", - // getCellFormat1() ) ); if ( incID.equalsIgnoreCase( SOURCE ) ) { sheet0.addCell( new Label( colStart, rowStart, "UserID", getCellFormat1() ) ); } - // for printing all attributes heading in Excel Sheet 01/07/2010 else if ( incID.equalsIgnoreCase( PRINT ) ) { sheet0.addCell( new Label( colStart, rowStart, "userID", getCellFormat1() ) ); @@ -1787,62 +1580,84 @@ for ( User user : userList ) { - UserCredentials userCredentials = userStore.getUserCredentials( userStore.getUser( user.getId() ) ); - - if ( userCredentials != null ) - { - if ( incID != null ) - { - - if ( incID.equalsIgnoreCase( SOURCE ) ) + String query = "SELECT username FROM users WHERE userid = "+ user.getId(); + String userName = ""; + + try + { + SqlRowSet sqlResultSet = jdbcTemplate.queryForRowSet( query ); + + if ( sqlResultSet != null ) + { + sqlResultSet.beforeFirst(); + sqlResultSet.next(); + userName = sqlResultSet.getString( 1 ); + } + } + catch( Exception e ) + { + System.out.println("Exception with jdbcTemplate: "+ e.getMessage() ); + } + + if ( incID != null ) + { + if ( incID.equalsIgnoreCase( SOURCE ) ) + { + sheet0.addCell( new Number( colStart, rowStart, user.getId(), wCellformat ) ); + } + else if ( incID.equalsIgnoreCase( PRINT ) ) + { + sheet0.addCell( new Number( colStart, rowStart, user.getId(), wCellformat ) ); + sheet0.addCell( new Label( colStart + 1, rowStart, userName, wCellformat ) ); + sheet0.addCell( new Label( colStart + 2, rowStart, user.getFirstName(), wCellformat ) ); + sheet0.addCell( new Label( colStart + 3, rowStart, user.getSurname(), wCellformat ) ); + sheet0.addCell( new Label( colStart + 4, rowStart, user.getEmail(), wCellformat ) ); + sheet0.addCell( new Label( colStart + 5, rowStart, user.getPhoneNumber(), wCellformat ) ); + + List userOrganisationUnitlist = new ArrayList( user + .getOrganisationUnits() ); + + String ouNames = ""; + for ( OrganisationUnit organisationUnit : userOrganisationUnitlist ) { - sheet0.addCell( new Number( colStart, rowStart, user.getId(), wCellformat ) ); + ouNames += organisationUnit.getName() + " , "; } - else if ( incID.equalsIgnoreCase( PRINT ) ) + + sheet0.addCell( new Label( colStart + 6, rowStart, ouNames, wCellformat ) ); + + String userRoleName = ""; + + String query1 = "select userrole.name from userrole inner join userrolemembers on userrole.userroleid=userrolemembers.userroleid where userrolemembers.userid = "+ user.getId(); + + try { - - sheet0.addCell( new Number( colStart, rowStart, user.getId(), wCellformat ) ); - sheet0 - .addCell( new Label( colStart + 1, rowStart, userCredentials.getUsername(), wCellformat ) ); - sheet0.addCell( new Label( colStart + 2, rowStart, user.getFirstName(), wCellformat ) ); - sheet0.addCell( new Label( colStart + 3, rowStart, user.getSurname(), wCellformat ) ); - sheet0.addCell( new Label( colStart + 4, rowStart, user.getEmail(), wCellformat ) ); - sheet0.addCell( new Label( colStart + 5, rowStart, user.getPhoneNumber(), wCellformat ) ); - - List userOrganisationUnitlist = new ArrayList( user - .getOrganisationUnits() ); - - String ouNames = ""; - for ( OrganisationUnit organisationUnit : userOrganisationUnitlist ) - { - ouNames += organisationUnit.getName() + " , "; - } - - sheet0.addCell( new Label( colStart + 6, rowStart, ouNames, wCellformat ) ); - - String userRoleName = ""; - - for ( UserAuthorityGroup userRole : userRoles ) - { - - if ( userRole.getMembers() != null || userRole.getMembers().size() != 0 ) + SqlRowSet sqlResultSet = jdbcTemplate.queryForRowSet( query1 ); + + if ( sqlResultSet != null ) + { + sqlResultSet.beforeFirst(); + + while ( sqlResultSet.next() ) { - if ( userRole.getMembers().contains( userCredentials ) ) - userRoleName += userRole.getName() + ", "; + userRoleName += sqlResultSet.getString( 1 ) + ", "; } } - sheet0.addCell( new Label( colStart + 7, rowStart, userRoleName, wCellformat ) ); - } + } + catch( Exception e ) + { + System.out.println("Exception with jdbcTemplate: "+ e.getMessage() ); + } + + sheet0.addCell( new Label( colStart + 7, rowStart, userRoleName, wCellformat ) ); } - - sheet0.addCell( new Label( colStart + 1, rowStart, userCredentials.getUsername(), wCellformat ) ); } + sheet0.addCell( new Label( colStart + 1, rowStart, userName, wCellformat ) ); + rowStart++; }// for loop end outputReportWorkbook.write(); - outputReportWorkbook.close(); fileName = "UserList.xls"; === modified file 'local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/util/Report.java' --- local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/util/Report.java 2010-09-29 02:04:14 +0000 +++ local/in/dhis-web-reports-national/src/main/java/org/hisp/dhis/reports/util/Report.java 2011-01-13 04:53:40 +0000 @@ -41,6 +41,11 @@ */ private String level; + /** + * program is the NBITS Program id + */ + private Integer program; + // ------------------------------------------------------------------------- // Constructors // ------------------------------------------------------------------------- @@ -59,6 +64,16 @@ this.fileName = fileName; this.level = level; } + + public Report( String id, String name, String type, String model, String fileName, Integer program ) + { + this.id = id; + this.name = name; + this.type = type; + this.model = model; + this.fileName = fileName; + this.program = program; + } public Report( String id, String name, String type, String model, String fileName, String set, String level ) { @@ -145,4 +160,14 @@ return level; } + public Integer getProgram() + { + return program; + } + + public void setProgram( Integer program ) + { + this.program = program; + } + } === modified file 'local/in/dhis-web-reports-national/src/main/resources/META-INF/dhis/beans.xml' --- local/in/dhis-web-reports-national/src/main/resources/META-INF/dhis/beans.xml 2011-01-11 12:10:34 +0000 +++ local/in/dhis-web-reports-national/src/main/resources/META-INF/dhis/beans.xml 2011-01-13 04:53:40 +0000 @@ -475,6 +475,7 @@ + === modified file 'local/in/dhis-web-reports-national/src/main/webapp/dhis-web-reports/activePlanReportsForm.vm' --- local/in/dhis-web-reports-national/src/main/webapp/dhis-web-reports/activePlanReportsForm.vm 2011-01-10 07:58:36 +0000 +++ local/in/dhis-web-reports-national/src/main/webapp/dhis-web-reports/activePlanReportsForm.vm 2011-01-13 04:53:40 +0000 @@ -5,14 +5,14 @@ var reportModels = new HashTable(); var reportFileNames = new HashTable(); - var reportLevels = new HashTable(); + var reportPrograms = new HashTable(); // Report ids and its Models #foreach($report in $reportList) var reportId = ""+"$report.id"; reportModels.put(reportId,"$report.model"); reportFileNames.put(reportId,"$report.fileName"); - reportLevels.put(reportId,"$report.level"); + reportPrograms.put(reportId,"$report.program"); #end function formValidations() @@ -29,7 +29,7 @@ document.reportForm.reportModelTB.value = reportModels.get(document.reportForm.reportList.options[reportListIndex].value); document.reportForm.reportFileNameTB.value = reportFileNames.get(document.reportForm.reportList.options[reportListIndex].value); - document.reportForm.reportLevelTB.value = reportLevels.get(document.reportForm.reportList.options[reportListIndex].value); + document.reportForm.reportProgramTB.value = reportPrograms.get(document.reportForm.reportList.options[reportListIndex].value); return true; } @@ -86,7 +86,7 @@ - +