public ActionForward sendPlan( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { LoggedInInfo loggedInInfo = LoggedInInfo.getLoggedInInfoFromSession(request); HashMap<String, Object> hashMap = new HashMap<String, Object>(); ProviderDao providerDao = (ProviderDao) SpringUtils.getBean("providerDao"); SecUserRoleDao secUserRoleDao = (SecUserRoleDao) SpringUtils.getBean("secUserRoleDao"); List<Provider> activeReceptionists = new ArrayList<Provider>(); for (SecUserRole sur : secUserRoleDao.getSecUserRolesByRoleName("receptionist")) { Provider p = providerDao.getProvider(sur.getProviderNo()); if (p != null && p.getStatus().equals("1")) { activeReceptionists.add(p); } } TicklerCreator tc = new TicklerCreator(); String demographicNo = request.getParameter("demographicNo"); String message = request.getParameter("value"); if (demographicNo != null && message != null && message.trim().length() > 0 && activeReceptionists != null) { for (Provider p : activeReceptionists) { tc.createTickler(loggedInInfo, demographicNo, p.getProviderNo(), message); } hashMap.put("sentToReceptionists", activeReceptionists.size()); } return null; }
/** The Role is used to determine which providers to report on. */ public ProviderDataGrid getProviderDataGrid(Integer secRoleId) { long startTime = System.currentTimeMillis(); ProviderDataGrid providerDataGrid = new ProviderDataGrid(); SecRole secRole = secRoleDao.find(secRoleId); List<SecUserRole> secUserRoles = secUserRoleDao.getSecUserRolesByRoleName(secRole.getName()); HashSet<String> providerNos = new HashSet<String>(); for (SecUserRole secUserRole : secUserRoles) providerNos.add(secUserRole.getProviderNo()); for (String providerNo : providerNos) { Provider provider = providerDao.getProvider(providerNo); if (provider != null) providerDataGrid.put(provider, getEncounterTypeDataGrid(provider)); else logger.warn( "Provider doesn't exist but a secUserRole record does. providerNo=" + providerNo); } long totalTime = System.currentTimeMillis() - startTime; logger.debug("report generation in seconds : " + (totalTime / 1000)); return (providerDataGrid); }