List of usage examples for org.springframework.context ApplicationContext getMessage
String getMessage(String code, @Nullable Object[] args, Locale locale) throws NoSuchMessageException;
From source file:org.openmrs.module.vcttrac.web.controller.VCTClientViewController.java
/** * Auto generated method comment/*from www . j ava 2 s . c om*/ * * @param request * @param mav */ private void manageListing(HttpServletRequest request, ModelAndView mav, HttpServletResponse response) { VCTModuleService service = (VCTModuleService) ServiceContext.getInstance() .getService(VCTModuleService.class); int pageSize; String pageNumber = request.getParameter("page"); List<VCTClient> clients = new ArrayList<VCTClient>(); List<Integer> res; List<Integer> numberOfPages; try { if (VCTConfigurationUtil.isConfigured()) { pageSize = VCTConfigurationUtil.getNumberOfRecordPerPage(); if (pageNumber.compareToIgnoreCase("1") == 0 || pageNumber.compareToIgnoreCase("") == 0) { res = new ArrayList<Integer>(); res = service.getVCTClientsWaitingFromHIVTest(); request.getSession().setAttribute("cl_view_res", res); //data collection for (int i = 0; i < pageSize; i++) { if (res.size() == 0) break; if (i >= res.size() - 1) { clients.add(service.getClientById(res.get(i))); break; } else clients.add(service.getClientById(res.get(i))); } //---------paging-------navigation between pages-------- int n = (res.size() == ((int) (res.size() / pageSize)) * pageSize) ? (res.size() / pageSize) : ((int) (res.size() / pageSize)) + 1; numberOfPages = new ArrayList<Integer>(); for (int i = 1; i <= n; i++) { numberOfPages.add(i); } request.getSession().setAttribute("cl_view_numberOfPages", numberOfPages); //---------------- } else { res = (List<Integer>) request.getSession().getAttribute("cl_view_res"); numberOfPages = (List<Integer>) request.getSession().getAttribute("cl_view_numberOfPages"); for (int i = (pageSize * (Integer.parseInt(pageNumber) - 1)); i < pageSize * (Integer.parseInt(pageNumber)); i++) { if (i >= res.size()) break; else clients.add(service.getClientById(res.get(i))); } } if (Integer.valueOf(pageNumber).intValue() > 1) mav.addObject("prevPage", (Integer.valueOf(pageNumber)) - 1); else mav.addObject("prevPage", -1); if (Integer.valueOf(pageNumber).intValue() < numberOfPages.size()) mav.addObject("nextPage", (Integer.valueOf(pageNumber)) + 1); else mav.addObject("nextPage", -1); mav.addObject("lastPage", ((numberOfPages.size() >= 1) ? numberOfPages.size() : 1)); String title = VCTTracUtil.getMessage("vcttrac.clientWaitingForResult", null); mav.addObject("title", title); //page infos Object[] pagerInfos = new Object[3]; pagerInfos[0] = (res.size() == 0) ? 0 : (pageSize * (Integer.parseInt(pageNumber) - 1)) + 1; pagerInfos[1] = (pageSize * (Integer.parseInt(pageNumber)) <= res.size()) ? pageSize * (Integer.parseInt(pageNumber)) : res.size(); pagerInfos[2] = res.size(); ApplicationContext appContext = ContextProvider.getApplicationContext(); mav.addObject("numberOfPages", numberOfPages); mav.addObject("clients", clients); mav.addObject("pageSize", pageSize); mav.addObject("pageInfos", appContext.getMessage("vcttrac.pagingInfo.showingResults", pagerInfos, Context.getLocale())); FileExporter fexp = new FileExporter(); if (request.getParameter("export") != null && request.getParameter("export").compareToIgnoreCase("csv") == 0) { List<VCTClient> clientList = new ArrayList<VCTClient>(); for (Integer clientId : res) { clientList.add(service.getClientById(clientId)); } fexp.exportToCSVFile(request, response, clientList, "list_of_clients_in_vct_program_" + title + ".csv", title.toUpperCase(), ""); } } } catch (Exception e) { log.error(">>>>>>>VCT>>Client>>waiting>>for>>HIV>>Test>> " + e.getMessage()); e.printStackTrace(); } }
From source file:org.openmrs.module.vcttrac.web.controller.VCTProgramEnrollmentController.java
/** * Auto generated method comment/*from w w w .j a va2s. c om*/ * * @param request * @param response * @param mav */ private void manageListing(HttpServletRequest request, HttpServletResponse response, ModelAndView mav) { VCTModuleService service = Context.getService(VCTModuleService.class); String pageNumber = (request.getParameter("page") != null) ? request.getParameter("page") : "1"; // StringBuilder parameters = new StringBuilder(); // parameters.append(""); int pageSize;//, type; List<VCTClient> clients = new ArrayList<VCTClient>(); List<Integer> res; List<Integer> numberOfPages; try { if (VCTConfigurationUtil.isConfigured()) { // type = Integer.valueOf(request.getParameter("type")); // parameters.append("&type=" + request.getParameter("type")); pageSize = Integer.valueOf(VCTConfigurationUtil.getNumberOfRecordPerPage()); if (pageNumber.compareToIgnoreCase("1") == 0 || pageNumber.compareToIgnoreCase("") == 0) { res = new ArrayList<Integer>(); // if (request.getParameter("type") != null && request.getParameter("type").compareToIgnoreCase("0") == 0) { res = service.getVCTClientsWaitingToBeEnrolledInHIVProgram(); /* type = 0; } else if (request.getParameter("type") != null && request.getParameter("type").compareToIgnoreCase("1") == 0) { if (request.getParameter("from") != null && request.getParameter("from").compareToIgnoreCase("pit") == 0) res = service.getVCTClientsFromPIT(); else if (request.getParameter("from") != null && request.getParameter("from").compareToIgnoreCase("vct") == 0) res = service.getVoluntaryClients(); type = 1; parameters.append("&from=" + request.getParameter("from")); } else if (request.getParameter("type") != null && request.getParameter("type").compareToIgnoreCase("2") == 0) { res = service.getVCTClientsBasedOnGender(request.getParameter("gender")); type = 2; parameters.append("&gender=" + request.getParameter("gender")); } else if (request.getParameter("type") != null && request.getParameter("type").compareToIgnoreCase("3") == 0) { if (request.getParameter("attributeTypeId") != null && request.getParameter("value") != null) res = service.getVCTClientsBasedOnAttributeType(Integer.valueOf(request .getParameter("attributeTypeId")), Integer.valueOf(request.getParameter("value"))); type = 3; parameters.append("&attributeTypeId=" + request.getParameter("attributeTypeId")); parameters.append("&value=" + request.getParameter("value")); } else if (request.getParameter("type") != null && request.getParameter("type").compareToIgnoreCase("4") == 0 && request.getParameter("tested") != null) { res = service.getVCTClientsTested((request.getParameter("tested").compareTo("yes") == 0) ? true : false); type = 4; parameters.append("&tested=" + request.getParameter("tested")); } else if (request.getParameter("type") != null && request.getParameter("type").compareToIgnoreCase("5") == 0) { if (request.getParameter("conceptId") != null && request.getParameter("value") != null && request.getParameter("gotresult") != null) { res = service.getVCTClientsBasedOnConceptObs(Integer.valueOf(request.getParameter("conceptId")), Integer.valueOf(request.getParameter("value")), (request.getParameter("gotresult") .compareToIgnoreCase("true") == 0)); parameters.append("&value=" + request.getParameter("value")); } else if (request.getParameter("gotresult") != null) { res = service.getVCTClientsBasedOnConceptObs(Integer.valueOf(request.getParameter("conceptId")), null, (request.getParameter("gotresult").compareToIgnoreCase("true") == 0)); } type = 5; parameters.append("&conceptId=" + request.getParameter("conceptId")); parameters.append("&gotresult=" + request.getParameter("gotresult")); } else if (request.getParameter("type") != null && request.getParameter("type").compareToIgnoreCase("6") == 0) { if (request.getParameter("counselingType") != null) res = service.getVCTClientsBasedOnCounselingType(Integer.valueOf(request .getParameter("counselingType"))); type = 6; parameters.append("&counselingType=" + request.getParameter("counselingType")); }*/ request.getSession().setAttribute("prg_enrollment_res", res); //data collection for (int i = 0; i < pageSize; i++) { if (res.size() == 0) break; if (i >= res.size() - 1) { clients.add(service.getClientById(res.get(i))); break; } else clients.add(service.getClientById(res.get(i))); } //---------paging-------navigation between pages-------- int n = (res.size() == ((int) (res.size() / pageSize)) * pageSize) ? (res.size() / pageSize) : ((int) (res.size() / pageSize)) + 1; numberOfPages = new ArrayList<Integer>(); for (int i = 1; i <= n; i++) { numberOfPages.add(i); } request.getSession().setAttribute("prg_enrollment_numberOfPages", numberOfPages); if (Integer.valueOf(pageNumber) > 1) mav.addObject("prevPage", (Integer.valueOf(pageNumber)) - 1); else mav.addObject("prevPage", -1); if (Integer.valueOf(pageNumber) < numberOfPages.size()) mav.addObject("nextPage", (Integer.valueOf(pageNumber)) + 1); else mav.addObject("nextPage", -1); mav.addObject("lastPage", ((numberOfPages.size() >= 1) ? numberOfPages.size() : 1)); //---------------- } else { res = (List<Integer>) request.getSession().getAttribute("prg_enrollment_res"); numberOfPages = (List<Integer>) request.getSession() .getAttribute("prg_enrollment_numberOfPages"); for (int i = (pageSize * (Integer.parseInt(pageNumber) - 1)); i < pageSize * (Integer.parseInt(pageNumber)); i++) { if (i >= res.size()) break; else clients.add(service.getClientById(res.get(i))); } } String title = VCTTracUtil.getMessage("vcttrac.statistic.clientwaitingenrollment", null); mav.addObject("title", title); /*switch (type) { case 0: { title = "All Clients"; mav.addObject("title", title); break; } case 1: { title = "Clients from " + request.getParameter("from").toUpperCase(); mav.addObject("title", title); break; } case 2: { title = "Gender : " + ((request.getParameter("gender").compareTo("f") == 0) ? "Female" : "Male"); mav.addObject("title", title); break; } case 3: { title = Context.getPersonService().getPersonAttribute( Integer.valueOf(request.getParameter("attributeTypeId"))).getAttributeType().getName() + " : " + Context.getConceptService().getConcept(Integer.valueOf(request.getParameter("value"))) .getDisplayString(); mav.addObject("title", title); break; } case 4: { title = "Tested : " + request.getParameter("tested").toUpperCase(); mav.addObject("title", title); break; } case 5: { title = Context.getConceptService().getConcept(Integer.valueOf(request.getParameter("conceptId"))) .getDisplayString() + " : " + ((request.getParameter("value") != null) ? Context.getConceptService().getConcept( Integer.valueOf(request.getParameter("value"))).getDisplayString() : "ALL RESULTS"); mav.addObject("title", title); break; } case 6: { title = "Counseling Type : " + ((request.getParameter("counselingType").compareToIgnoreCase("1") == 0) ? "Individual" : "Couples"); mav.addObject("title", title); break; } default: { title = "..."; mav.addObject("title", "..."); break; } }*/ //page infos Object[] pagerInfos = new Object[3]; pagerInfos[0] = (res.size() == 0) ? 0 : (pageSize * (Integer.parseInt(pageNumber) - 1)) + 1; pagerInfos[1] = (pageSize * (Integer.parseInt(pageNumber)) <= res.size()) ? pageSize * (Integer.parseInt(pageNumber)) : res.size(); pagerInfos[2] = res.size(); ApplicationContext appContext = ContextProvider.getApplicationContext(); mav.addObject("numberOfPages", numberOfPages); mav.addObject("clients", clients); // mav.addObject("parameters", parameters.toString()); mav.addObject("pageSize", pageSize); mav.addObject("pageInfos", appContext.getMessage("vcttrac.pagingInfo.showingResults", pagerInfos, Context.getLocale())); FileExporter fexp = new FileExporter(); if (request.getParameter("export") != null && request.getParameter("export").compareToIgnoreCase("csv") == 0) { List<VCTClient> clientList = new ArrayList<VCTClient>(); for (Integer clientId : res) { clientList.add(service.getClientById(clientId)); } fexp.exportToCSVFile(request, response, clientList, "list_of_clients_in_vct_program_" + title + ".csv", VCTTracUtil.getMessage("vcttrac.statistic.clientlist", null) + " : " + title.toUpperCase(), "Client waiting to be enrolled in Program"); } } } catch (Exception e) { request.getSession().setAttribute(WebConstants.OPENMRS_ERROR_ATTR, VCTTracUtil.getMessage("vcttrac.error.loadingData", null)); log.error(">>>>>>>>>>>>VCT>>Statistics>>>> An error occured : " + e.getMessage()); e.printStackTrace(); } }
From source file:org.openmrs.module.tracpatienttransfer.web.view.chart.OverviewOnExitPieChartView.java
@Override protected JFreeChart createChart(Map<String, Object> model, HttpServletRequest request) { JFreeChart chart = null;// w w w .j ava2 s . c o m UserContext userContext = Context.getUserContext(); ApplicationContext appContext = ContextProvider.getApplicationContext(); try { DefaultPieDataset pieDataset = new DefaultPieDataset(); Concept reasonForExitCare = Context.getConceptService() .getConcept(TransferOutInPatientConstant.REASON_PATIENT_EXITED_FROM_CARE); Collection<ConceptAnswer> answers = reasonForExitCare.getAnswers(); int total = Integer.valueOf(TransferOutInPatientTag.getNumberOfPatientExitedFromCare()); int other = 0; Float percentage = 0f; for (ConceptAnswer ca : answers) { int nbrOfPatient = (Integer.valueOf(TransferOutInPatientTag .getNumberOfPatientExitedFromCareWithReason(ca.getAnswerConcept().getConceptId()))); percentage = (100f * nbrOfPatient / total); if (percentage > 5) pieDataset.setValue( ca.getAnswerConcept().getDisplayString() + " (" + nbrOfPatient + " - " + MohTracUtil.roundTo2DigitsAfterComma(percentage.doubleValue()) + "%)", MohTracUtil.roundTo2DigitsAfterComma(percentage.doubleValue())); else other += nbrOfPatient; } if (other > 0) { String otherTitle = appContext.getMessage("tracpatienttransfer.others", null, userContext.getLocale()); percentage = (100f * other / total); pieDataset.setValue( otherTitle + " (" + other + " - " + MohTracUtil.roundTo2DigitsAfterComma(percentage.doubleValue()) + "%)", MohTracUtil.roundTo2DigitsAfterComma(percentage.doubleValue())); } chart = ChartFactory.createPieChart(reasonForExitCare.getDisplayString(), pieDataset, true, true, false); } catch (Exception e) { e.printStackTrace(); } return chart; }
From source file:org.openmrs.module.pmtct.web.view.chart.HivStatusPieChartView.java
@SuppressWarnings("static-access") @Override/* ww w. j av a2 s . c o m*/ protected JFreeChart createChart(Map<String, Object> model, HttpServletRequest request) { UserContext userContext = Context.getUserContext(); ApplicationContext appContext = ContextProvider.getApplicationContext(); PmtctService pmtct = Context.getService(PmtctService.class); DefaultPieDataset pieDataset = new DefaultPieDataset(); List<Object> objects = null; PMTCTModuleTag tag = new PMTCTModuleTag(); List<String> hivOptions = new ArrayList<String>(); List<Integer> hivOptionValues = new ArrayList<Integer>(); Collection<ConceptAnswer> answers = Context.getConceptService() .getConcept(PMTCTConstants.RESULT_OF_HIV_TEST).getAnswers(); try { objects = pmtct.getCurrentPatientsInPmtct(); for (ConceptAnswer str : answers) { hivOptions.add(str.getAnswerConcept().getName().getName()); hivOptionValues.add(0); } hivOptions.add("Others"); hivOptionValues.add(0); for (Object ob : objects) { int patientId = (Integer) ((Object[]) ob)[0]; String patientHivStatus = tag.lastObsValueByConceptId(patientId, PMTCTConstants.RESULT_OF_HIV_TEST); int i = 0; boolean found = false; for (String s : hivOptions) { if ((s.compareToIgnoreCase(patientHivStatus)) == 0) { hivOptionValues.set(i, hivOptionValues.get(i) + 1); found = true; } i++; } if (!found) { hivOptionValues.set(hivOptionValues.size() - 1, hivOptionValues.get(hivOptionValues.size() - 1) + 1); } } int i = 0; for (String s : hivOptions) { if (hivOptionValues.get(i) > 0) { Float percentage = new Float(100 * hivOptionValues.get(i) / objects.size()); pieDataset.setValue(s + " (" + hivOptionValues.get(i) + " , " + percentage + "%)", percentage); } i++; } } catch (Exception e) { e.printStackTrace(); } String title = appContext.getMessage("pmtct.menu.patientInPmtct", null, userContext.getLocale()); JFreeChart chart = ChartFactory.createPieChart(title + " : " + Context.getConceptService() .getConcept(PMTCTConstants.HIV_STATUS).getPreferredName(userContext.getLocale()), pieDataset, true, true, false); return chart; }
From source file:org.openmrs.module.pmtct.web.view.chart.InfantPCRPieChartView.java
/** * @see org.openmrs.module.pmtct.web.view.chart.AbstractChartView#createChart(java.util.Map, * javax.servlet.http.HttpServletRequest) *///from www. ja v a 2s . c o m @Override protected JFreeChart createChart(Map<String, Object> model, HttpServletRequest request) { UserContext userContext = Context.getUserContext(); ApplicationContext appContext = ContextProvider.getApplicationContext(); PMTCTModuleTag tag = new PMTCTModuleTag(); List<Object> res = new ArrayList<Object>(); DefaultPieDataset pieDataset = new DefaultPieDataset(); String title = "", descriptionTitle = "", dateInterval = ""; Concept concept = null; SimpleDateFormat df = Context.getDateFormat(); // Date myDate1 = new Date("1/1/" + ((new Date()).getYear() + 1900)); // String startDate1 = df.format(myDate1); Date today = new Date(); Date oneYearFromNow = new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS); String endDate1 = df.format(today); String startDate1 = df.format(oneYearFromNow); dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - " + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")"; try { PmtctService pmtct; pmtct = Context.getService(PmtctService.class); try { res = pmtct.getGeneralStatForInfantTests_Charting_PCR(startDate1, endDate1); } catch (SQLException ex) { ex.printStackTrace(); } catch (Exception ex) { ex.printStackTrace(); } List<String> hivTestResultOptions = new ArrayList<String>(); List<Integer> pcr_hivTestResultValues = new ArrayList<Integer>(); Collection<ConceptAnswer> answers = Context.getConceptService() .getConcept(PMTCTConstants.RESULT_OF_HIV_TEST).getAnswers(); for (ConceptAnswer str : answers) { hivTestResultOptions.add(str.getAnswerConcept().getName().getName()); pcr_hivTestResultValues.add(0); } hivTestResultOptions.add("Others"); pcr_hivTestResultValues.add(0); for (Object ob : res) { int val = 0; String temp = "", pcr_hivTestResult = ""; temp = "" + ((Object[]) ob)[2]; val = (temp.compareTo("") == 0) ? 0 : Integer.parseInt(temp); if (val > 0) pcr_hivTestResult = tag.getConceptNameById(temp); int i = 0; boolean pcr_found = false; for (String s : hivTestResultOptions) { if ((s.compareToIgnoreCase(pcr_hivTestResult)) == 0) { pcr_hivTestResultValues.set(i, pcr_hivTestResultValues.get(i) + 1); pcr_found = true; } i++; } if (!pcr_found) { pcr_hivTestResultValues.set(pcr_hivTestResultValues.size() - 1, pcr_hivTestResultValues.get(pcr_hivTestResultValues.size() - 1) + 1); } } int i = 0; for (String s : hivTestResultOptions) { if (pcr_hivTestResultValues.get(i) > 0) { Float percentage = new Float(100 * pcr_hivTestResultValues.get(i) / res.size()); pieDataset.setValue(s + " (" + pcr_hivTestResultValues.get(i) + " , " + percentage + "%)", percentage); } i++; } title = appContext.getMessage("pmtct.menu.infantTest", null, userContext.getLocale()); concept = null; descriptionTitle = Context.getEncounterService() .getEncounterType(PMTCTConfigurationUtils.getPCRTestEncounterTypeId()).getName(); descriptionTitle += dateInterval; } catch (Exception ex) { ex.printStackTrace(); } JFreeChart chart = ChartFactory.createPieChart(title + " : " + ((null != concept) ? concept.getPreferredName(userContext.getLocale()) : descriptionTitle), pieDataset, true, true, false); return chart; }
From source file:org.openmrs.module.pmtct.web.view.chart.InfantPieChartView.java
/** * @see org.openmrs.module.pmtct.web.view.chart.AbstractChartView#createChart(java.util.Map, * javax.servlet.http.HttpServletRequest) *//*from w w w . ja v a 2 s . c o m*/ @Override protected JFreeChart createChart(Map<String, Object> model, HttpServletRequest request) { UserContext userContext = Context.getUserContext(); ApplicationContext appContext = ContextProvider.getApplicationContext(); PMTCTModuleTag tag = new PMTCTModuleTag(); List<Object> res = new ArrayList<Object>(); DefaultPieDataset pieDataset = new DefaultPieDataset(); String title = "", descriptionTitle = "", dateInterval = ""; Concept concept = null; SimpleDateFormat df = Context.getDateFormat(); Encounter matEnc = null; Date today = new Date(); Date oneYearFromNow = new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS); String endDate = df.format(today); String startDate = df.format(oneYearFromNow); dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - " + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")"; if (request.getParameter("type").compareTo("1") == 0) { try { // Date myDate = new Date("1/1/" + ((new Date()).getYear() + 1900)); // String startDate = df.format(myDate); // Date today=new Date(); // Date oneYearFromNow=new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS); PmtctService pmtct; pmtct = Context.getService(PmtctService.class); try { res = pmtct.getGeneralStatForInfantTests_Charting_IFM(startDate, endDate); } catch (SQLException ex) { ex.printStackTrace(); } catch (Exception ex) { ex.printStackTrace(); } List<String> infantFeedingMethodOptions = new ArrayList<String>(); List<Integer> infantFeedingMethodValues = new ArrayList<Integer>(); Collection<ConceptAnswer> answers = Context.getConceptService() .getConcept(PMTCTConstants.INFANT_FEEDING_METHOD).getAnswers(); for (ConceptAnswer str : answers) { infantFeedingMethodOptions.add(str.getAnswerConcept().getName().getName()); infantFeedingMethodValues.add(0); } infantFeedingMethodOptions.add("Others"); infantFeedingMethodValues.add(0); for (Object ob : res) { int patientId = (Integer) ((Object[]) ob)[0]; matEnc = tag.getMaternityEncounterInfo(patientId); String infantFeedingMethod = tag.observationValueByConcept(matEnc, PMTCTConstants.INFANT_FEEDING_METHOD); int i = 0; boolean found = false; for (String s : infantFeedingMethodOptions) { if ((s.compareToIgnoreCase(infantFeedingMethod)) == 0) { infantFeedingMethodValues.set(i, infantFeedingMethodValues.get(i) + 1); found = true; } i++; } if (!found) { infantFeedingMethodValues.set(infantFeedingMethodValues.size() - 1, infantFeedingMethodValues.get(infantFeedingMethodValues.size() - 1) + 1); } } int i = 0; for (String s : infantFeedingMethodOptions) { if (infantFeedingMethodValues.get(i) > 0) { Float percentage = new Float(100 * infantFeedingMethodValues.get(i) / res.size()); pieDataset.setValue(s + " (" + infantFeedingMethodValues.get(i) + " , " + percentage + "%)", percentage); } i++; } title = appContext.getMessage("pmtct.menu.infantTest", null, userContext.getLocale()); concept = Context.getConceptService().getConcept(PMTCTConstants.INFANT_FEEDING_METHOD); } catch (Exception ex) { ex.printStackTrace(); } } else if (request.getParameter("type").compareTo("2") == 0) { try { // Date myDate2 = new Date("1/1/" + ((new Date()).getYear() + 1900)); // String startDate2 = df.format(myDate2); // Date today=new Date(); // Date oneYearFromNow=new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS); // String endDate2 = df.format(today); // String startDate2 = df.format(oneYearFromNow); // dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - " + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")"; PmtctService pmtct; pmtct = Context.getService(PmtctService.class); try { res = pmtct.getGeneralStatForInfantTests_Charting_SerAt9Months(startDate, endDate); } catch (SQLException ex) { ex.printStackTrace(); } catch (Exception ex) { ex.printStackTrace(); } List<String> hivTestResultOptions = new ArrayList<String>(); List<Integer> ser9m_hivTestResultValues = new ArrayList<Integer>(); Collection<ConceptAnswer> answers = Context.getConceptService() .getConcept(PMTCTConstants.RESULT_OF_HIV_TEST).getAnswers(); for (ConceptAnswer str : answers) { hivTestResultOptions.add(str.getAnswerConcept().getName().getName()); ser9m_hivTestResultValues.add(0); } hivTestResultOptions.add("Others"); ser9m_hivTestResultValues.add(0); for (Object ob : res) { int val = 0; String temp = "", ser9m_hivTestResult = ""; temp = "" + ((Object[]) ob)[2]; val = (temp.compareTo("") == 0) ? 0 : Integer.parseInt(temp); if (val > 0) ser9m_hivTestResult = tag.getConceptNameById(temp); int i = 0; boolean ser9m_found = false; for (String s : hivTestResultOptions) { if ((s.compareToIgnoreCase(ser9m_hivTestResult)) == 0) { ser9m_hivTestResultValues.set(i, ser9m_hivTestResultValues.get(i) + 1); ser9m_found = true; } i++; } if (!ser9m_found) { ser9m_hivTestResultValues.set(ser9m_hivTestResultValues.size() - 1, ser9m_hivTestResultValues.get(ser9m_hivTestResultValues.size() - 1) + 1); } } int i = 0; for (String s : hivTestResultOptions) { if (ser9m_hivTestResultValues.get(i) > 0) { Float percentage = new Float(100 * ser9m_hivTestResultValues.get(i) / res.size()); pieDataset.setValue(s + " (" + ser9m_hivTestResultValues.get(i) + " , " + percentage + "%)", percentage); } i++; } title = appContext.getMessage("pmtct.menu.infantTest", null, userContext.getLocale()); concept = null; descriptionTitle = Context.getEncounterService() .getEncounterType(PMTCTConfigurationUtils.getSerology9MonthEncounterTypeId()).getName(); descriptionTitle += dateInterval; } catch (Exception ex) { ex.printStackTrace(); } } else if (request.getParameter("type").compareTo("3") == 0) { try { // Date myDate3 = new Date("1/1/" + ((new Date()).getYear() + 1900)); // String startDate3 = df.format(myDate3); // String endDate3 = df.format(today); // String startDate3 = df.format(oneYearFromNow); // dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - " + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")"; PmtctService pmtct; pmtct = Context.getService(PmtctService.class); try { res = pmtct.getGeneralStatForInfantTests_Charting_SerAt18Months(startDate, endDate); } catch (SQLException ex) { ex.printStackTrace(); } catch (Exception ex) { ex.printStackTrace(); } List<String> hivTestResultOptions = new ArrayList<String>(); List<Integer> ser18m_hivTestResultValues = new ArrayList<Integer>(); Collection<ConceptAnswer> answers = Context.getConceptService() .getConcept(PMTCTConstants.RESULT_OF_HIV_TEST).getAnswers(); for (ConceptAnswer str : answers) { hivTestResultOptions.add(str.getAnswerConcept().getName().getName()); ser18m_hivTestResultValues.add(0); } hivTestResultOptions.add("Others"); ser18m_hivTestResultValues.add(0); for (Object ob : res) { int val = 0; String temp = "", ser18m_hivTestResult = ""; temp = "" + ((Object[]) ob)[2]; val = (temp.compareTo("") == 0) ? 0 : Integer.parseInt(temp); if (val > 0) ser18m_hivTestResult = tag.getConceptNameById(temp); int i = 0; boolean ser18m_found = false; for (String s : hivTestResultOptions) { if ((s.compareToIgnoreCase(ser18m_hivTestResult)) == 0) { ser18m_hivTestResultValues.set(i, ser18m_hivTestResultValues.get(i) + 1); ser18m_found = true; } i++; } if (!ser18m_found) { ser18m_hivTestResultValues.set(ser18m_hivTestResultValues.size() - 1, ser18m_hivTestResultValues.get(ser18m_hivTestResultValues.size() - 1) + 1); } } int i = 0; for (String s : hivTestResultOptions) { if (ser18m_hivTestResultValues.get(i) > 0) { Float percentage = new Float(100 * ser18m_hivTestResultValues.get(i) / res.size()); pieDataset.setValue( s + " (" + ser18m_hivTestResultValues.get(i) + " , " + percentage + "%)", percentage); } i++; } title = appContext.getMessage("pmtct.menu.infantTest", null, userContext.getLocale()); concept = null; descriptionTitle = Context.getEncounterService() .getEncounterType(PMTCTConfigurationUtils.getSerology18MonthEncounterTypeId()).getName(); descriptionTitle += dateInterval; } catch (Exception ex) { ex.printStackTrace(); } } else if (request.getParameter("type").compareTo("4") == 0) { try { PmtctService pmtct; pmtct = Context.getService(PmtctService.class); try { res = pmtct.getGeneralStatForInfantTests_Charting_PCR(startDate, endDate); } catch (SQLException ex) { ex.printStackTrace(); } List<String> hivTestResultOptions = new ArrayList<String>(); List<Integer> pcr_hivTestResultValues = new ArrayList<Integer>(); Collection<ConceptAnswer> answers = Context.getConceptService() .getConcept(PMTCTConstants.RESULT_OF_HIV_TEST).getAnswers(); for (ConceptAnswer str : answers) { hivTestResultOptions.add(str.getAnswerConcept().getName().getName()); pcr_hivTestResultValues.add(0); } hivTestResultOptions.add("Others"); pcr_hivTestResultValues.add(0); for (Object ob : res) { int val = 0; String temp = "", pcr_hivTestResult = ""; temp = "" + ((Object[]) ob)[2]; val = (temp.compareTo("") == 0) ? 0 : Integer.parseInt(temp); if (val > 0) pcr_hivTestResult = tag.getConceptNameById(temp); int i = 0; boolean pcr_found = false; for (String s : hivTestResultOptions) { if ((s.compareToIgnoreCase(pcr_hivTestResult)) == 0) { pcr_hivTestResultValues.set(i, pcr_hivTestResultValues.get(i) + 1); pcr_found = true; } i++; } if (!pcr_found) { pcr_hivTestResultValues.set(pcr_hivTestResultValues.size() - 1, pcr_hivTestResultValues.get(pcr_hivTestResultValues.size() - 1) + 1); } } int i = 0; for (String s : hivTestResultOptions) { if (pcr_hivTestResultValues.get(i) > 0) { Float percentage = new Float(100 * pcr_hivTestResultValues.get(i) / res.size()); pieDataset.setValue(s + " (" + pcr_hivTestResultValues.get(i) + " , " + percentage + "%)", percentage); } i++; } title = appContext.getMessage("pmtct.menu.infantTest", null, userContext.getLocale()); concept = null; descriptionTitle = Context.getEncounterService() .getEncounterType(PMTCTConfigurationUtils.getPCRTestEncounterTypeId()).getName(); descriptionTitle += dateInterval; } catch (Exception ex) { ex.printStackTrace(); } } JFreeChart chart = ChartFactory.createPieChart(title + " : " + ((null != concept) ? concept.getPreferredName(userContext.getLocale()) + dateInterval : descriptionTitle), pieDataset, true, true, false); return chart; }
From source file:org.openmrs.module.pmtct.web.view.chart.MaternityPieChartView.java
/** * @see org.openmrs.module.pmtct.web.view.chart.AbstractChartView#createChart(java.util.Map, * javax.servlet.http.HttpServletRequest) *///from w w w . j a v a 2 s. c om @Override protected JFreeChart createChart(Map<String, Object> model, HttpServletRequest request) { UserContext userContext = Context.getUserContext(); ApplicationContext appContext = ContextProvider.getApplicationContext(); PMTCTModuleTag tag = new PMTCTModuleTag(); List<Object> res = new ArrayList<Object>(); PmtctService pmtct; pmtct = Context.getService(PmtctService.class); String startDate = ""; String endDate = ""; DefaultPieDataset pieDataset = new DefaultPieDataset(); String title = "", descriptionTitle = "", dateInterval = ""; Concept concept = null; Encounter enc = null; SimpleDateFormat df = MohTracUtil.getMySQLDateFormat();//new SimpleDateFormat("dd/MM/yyyy"); if (request.getParameter("type").compareTo("1") == 0) { try { // Date myDate = new Date("1/1/" + ((new Date()).getYear() + 1900)); // startDate = df.format(myDate); Date today = new Date(); Date oneYearFromNow = new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS); endDate = df.format(today); startDate = df.format(oneYearFromNow); dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - " + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")"; res = pmtct.getGeneralStatsForPatientsInMaternity(startDate, endDate); List<String> childBornOptions = new ArrayList<String>(); List<Integer> childBornStatusValues = new ArrayList<Integer>(); Collection<ConceptAnswer> answers = Context.getConceptService() .getConcept(PMTCTConfigurationUtils.getBornStatusConceptId()).getAnswers(); for (ConceptAnswer str : answers) { childBornOptions.add(str.getAnswerConcept().getName().getName()); childBornStatusValues.add(0); } childBornOptions.add("Others"); childBornStatusValues.add(0); for (Object ob : res) { int patientId = (Integer) ((Object[]) ob)[0]; Encounter matEnc = tag.getMaternityEncounterInfo(patientId); String childResult = tag.observationValueByConcept(matEnc, PMTCTConfigurationUtils.getBornStatusConceptId()); int i = 0; boolean found = false; for (String s : childBornOptions) { if ((s.compareToIgnoreCase(childResult)) == 0) { childBornStatusValues.set(i, childBornStatusValues.get(i) + 1); found = true; } i++; } if (!found) { childBornStatusValues.set(childBornStatusValues.size() - 1, childBornStatusValues.get(childBornStatusValues.size() - 1) + 1); } } int i = 0; for (String s : childBornOptions) { if (childBornStatusValues.get(i) > 0) { Float percentage = new Float(100 * childBornStatusValues.get(i) / res.size()); pieDataset.setValue(s + " (" + childBornStatusValues.get(i) + " , " + percentage + "%)", percentage); } i++; } concept = Context.getConceptService().getConcept(PMTCTConfigurationUtils.getBornStatusConceptId()); } catch (Exception ex) { ex.printStackTrace(); } title = MohTracUtil.getMessage("pmtct.menu.maternity", null); } else if (request.getParameter("type").compareTo("2") == 0) { try { res = pmtct.getExpectedPatientsInMaternity(); String patientHivStatus = "", partnerHivStatus = ""; int allPositive = 0, allNegative = 0, negPos = 0, posNeg = 0, other = 0; for (Object ob : res) { int patientId = (Integer) ((Object[]) ob)[0]; enc = tag.getCPNEncounterInfo(patientId); patientHivStatus = tag.observationValueByConcept(enc, PMTCTConstants.RESULT_OF_HIV_TEST); partnerHivStatus = tag.observationValueByConcept(enc, PMTCTConstants.TESTING_STATUS_OF_PARTNER); if (patientHivStatus.compareTo(partnerHivStatus) == 0 && patientHivStatus.compareTo(Context .getConceptService().getConcept(PMTCTConstants.POSITIVE).getName().getName()) == 0) allPositive += 1; else if (patientHivStatus.compareTo(partnerHivStatus) == 0 && patientHivStatus.compareTo(Context .getConceptService().getConcept(PMTCTConstants.NEGATIVE).getName().getName()) == 0) allNegative += 1; else if (patientHivStatus .compareTo(Context.getConceptService().getConcept(PMTCTConstants.NEGATIVE).getName() .getName()) == 0 && partnerHivStatus.compareTo(Context.getConceptService() .getConcept(PMTCTConstants.POSITIVE).getName().getName()) == 0) negPos += 1; else if (patientHivStatus .compareTo(Context.getConceptService().getConcept(PMTCTConstants.POSITIVE).getName() .getName()) == 0 && partnerHivStatus.compareTo(Context.getConceptService() .getConcept(PMTCTConstants.NEGATIVE).getName().getName()) == 0) posNeg += 1; else other += 1; } Float percentage = 0f; if (allPositive > 0) { percentage = new Float(100 * allPositive / res.size()); title = MohTracUtil.getMessage("pmtct.menu.allPositive", null); pieDataset.setValue(title + " (" + allPositive + " , " + percentage + "%)", percentage); } if (allNegative > 0) { percentage = new Float(100 * allNegative / res.size()); title = MohTracUtil.getMessage("pmtct.menu.allNegative", null); pieDataset.setValue(title + " (" + allNegative + " , " + percentage + "%)", percentage); } if (posNeg > 0) { percentage = new Float(100 * posNeg / res.size()); title = MohTracUtil.getMessage("pmtct.menu.posNeg", null); pieDataset.setValue(title + " (" + posNeg + " , " + percentage + "%)", percentage); } if (negPos > 0) { percentage = new Float(100 * negPos / res.size()); title = MohTracUtil.getMessage("pmtct.menu.negPos", null); pieDataset.setValue(title + " (" + negPos + " , " + percentage + "%)", percentage); } if (other > 0) { percentage = new Float(100 * other / res.size()); title = MohTracUtil.getMessage("pmtct.menu.otherStatus", null); pieDataset.setValue(title + " (" + other + " , " + percentage + "%)", percentage); } title = MohTracUtil.getMessage("pmtct.menu.expectedMaternityPatient", null); descriptionTitle = MohTracUtil.getMessage("pmtct.menu.partnerStatus", null); concept = null; } catch (Exception e) { e.printStackTrace(); } } else if (request.getParameter("type").compareTo("3") == 0) { log.info(">>>>>>>>>>>>>>GRAPHICS>>patientsTestedInDeliveryRoom>>>Starting..."); try { // Date myDate = new Date("1/1/" + ((new Date()).getYear() + 1900)); // startDate = df.format(myDate); Date today = new Date(); Date oneYearFromNow = new Date(new Date().getTime() - PMTCTConstants.YEAR_IN_MILLISECONDS); endDate = df.format(today); startDate = df.format(oneYearFromNow); log.info(">>>>>>>>>>>>>>GRAPHICS>>patientsTestedInDeliveryRoom>>>startdate=" + startDate + " - endDate" + endDate); dateInterval = "(" + new SimpleDateFormat("dd-MMM-yyyy").format(oneYearFromNow) + " - " + new SimpleDateFormat("dd-MMM-yyyy").format(today) + ")"; res = pmtct.getpatientsTestedInDeliveryRoom(startDate, endDate); log.info(">>>>>>>>>>>>>>GRAPHICS>>patientsTestedInDeliveryRoom>>>Result=" + res.size()); // log.info(">>>>>>>>>>>>>>MaternityPieChartView>> startdate=" + startDate + "----- enddate=" + endDate // + "<<=====>>" + res.size()); List<String> resultOfHIVTestOptions = new ArrayList<String>(); List<Integer> resultOfHIVTestValues = new ArrayList<Integer>(); Collection<ConceptAnswer> answers = Context.getConceptService() .getConcept(PMTCTConstants.RESULT_HIV_TEST_IN_DELIVERY_ROOM).getAnswers(); for (ConceptAnswer str : answers) { resultOfHIVTestOptions.add(str.getAnswerConcept().getName().getName()); resultOfHIVTestValues.add(0); } resultOfHIVTestOptions.add("Others"); resultOfHIVTestValues.add(0); for (Object ob : res) { int patientId = (Integer) ((Object[]) ob)[0]; Encounter matEnc = tag.getMaternityEncounterInfo(patientId); String hivTestResult = tag.observationValueByConcept(matEnc, PMTCTConstants.RESULT_HIV_TEST_IN_DELIVERY_ROOM); int i = 0; boolean found = false; for (String s : resultOfHIVTestOptions) { if ((s.compareToIgnoreCase(hivTestResult)) == 0) { resultOfHIVTestValues.set(i, resultOfHIVTestValues.get(i) + 1); found = true; } i++; } if (!found) { resultOfHIVTestValues.set(resultOfHIVTestValues.size() - 1, resultOfHIVTestValues.get(resultOfHIVTestValues.size() - 1) + 1); } } int i = 0; for (String s : resultOfHIVTestOptions) { if (resultOfHIVTestValues.get(i) > 0) { Float percentage = new Float(100 * resultOfHIVTestValues.get(i) / res.size()); pieDataset.setValue(s + " (" + resultOfHIVTestValues.get(i) + " , " + percentage + "%)", percentage); } i++; } concept = Context.getConceptService() .getConcept(PMTCTConfigurationUtils.getHivTestInDeliveryRoomConceptId()); log.info(">>>>>>>>>>>>>>GRAPHICS>>patientsTestedInDeliveryRoom>>>End"); } catch (Exception ex) { log.error(">>>>>>>>>An error occured when trying to create piechart..."); ex.printStackTrace(); } title = appContext.getMessage("pmtct.menu.maternity", null, userContext.getLocale()); } JFreeChart chart = ChartFactory.createPieChart(title + " : " + ((null != concept) ? concept.getPreferredName(userContext.getLocale()) + dateInterval : descriptionTitle), pieDataset, true, true, false); return chart; }