private List getHederAndValueOfPersonInfo(List infoList) throws ParseException { List headerAndValueList = new ArrayList(); for (int i = 0; i < infoList.size(); i++) { Map map = (Map) infoList.get(i); Set set = map.keySet(); for (Object s : set) { if (map.get(s) != null && !Utils.isEmpty(map.get(s).toString().trim()) && !("id").equals(s)) { Map header = new HashMap(); header.put("header", WordUtils.capitalize(s.toString().replace("_", " "))); // if(Utils.isValidXlsStrToDate(map.get(s).toString())) // header.put("value",Utils.getXlsDateToString(map.get(s).toString())); // else header.put("value", map.get(s).toString()); headerAndValueList.add(header); } } } return headerAndValueList; }
/** * Only for internal use * * <p>Count total for each control * * @param strArray * @param adminJdbcService * @return */ private static Map countStringOccurences(String[] strArray, AdminJdbcService adminJdbcService) { logger.debug("Count String Occurences method found"); Map<String, Integer> countMap = new TreeMap<String, Integer>(); Map<String, Integer> controlIdsMap = new TreeMap<String, Integer>(); Set<String> controlIdsSet = new TreeSet<String>(); Set<String> keySet = countMap.keySet(); List list = new ArrayList(); for (String string : strArray) { String control[] = string.split(":"); if (!Utils.isNullOrEmpty(control[1]) && Integer.parseInt(control[1].trim()) == 2) { if (!countMap.containsKey(control[0])) { countMap.put(control[0], 1); } else { Integer count = countMap.get(control[0]); count = count + 1; countMap.put(control[0], count); } } } return countMap; }
/** * control list with applied in no of transaction * * @param request * @return */ @RequestMapping(value = "/icga/getJASONforExistingControlList.html", method = RequestMethod.POST) public @ResponseBody JasonBean getAssignmentList(HttpServletRequest request) { logger.debug("Control List Controller "); String page = request.getParameter("page") != null ? request.getParameter("page") : "1"; String rp = request.getParameter("rp") != null ? request.getParameter("rp") : "10"; String sortname = request.getParameter("sortname") != null ? request.getParameter("sortname") : "projectName"; String sortorder = request.getParameter("sortorder") != null ? request.getParameter("sortorder") : "desc"; String query = request.getParameter("query") != null ? request.getParameter("query") : "false"; String qtype = request.getParameter("qtype") != null ? request.getParameter("qtype") : "false"; String controlIds = request.getParameter("controlIds") != null ? request.getParameter("controlIds") : "0"; String tableName = request.getParameter("tableName") != null ? request.getParameter("tableName") : ""; String controlIdsListAsString = ""; JasonBean jasonData = new JasonBean(); List dbColumnHeaderList = new ArrayList(); int totalControl = 0; List controlList = new ArrayList(); List<Cell> entry = new ArrayList<Cell>(); List allControlList = new ArrayList<Cell>(); Map<String, Integer> countMap = new TreeMap<String, Integer>(); try { String partSql = !"0".equals(controlIds) ? InternalControlGapAnalysisController.getStringForComparingControls(controlIds) : ""; allControlList = adminJdbcService.getControlIdList(controlIds, partSql); controlIdsListAsString = getCommaseparatedStringFromList(allControlList); String[] controllIdsArray = !"0".equals(controlIds) ? getUsedControlsByControlIds(controlIds, controlIdsListAsString.split(",")) : controlIdsListAsString.split(","); countMap = countStringOccurences(controllIdsArray, adminJdbcService); if (countMap != null && countMap.size() > 0) { logger.debug("AMLOG:: countMap size: " + countMap.size()); jasonData.setPage(Utils.parseInteger(page)); for (String string : countMap.keySet()) { Map map = new HashMap(); Long controlId = !Utils.isEmpty(string) ? Long.parseLong(string) : 0; logger.debug("AMLOG:: controlId: " + controlId); // Control control = new Control(); Cell cell = new Cell(); Control control = controlId > 0 ? (Control) adminService.loadEntityById(controlId, Constants.CONTROL) : new Control(); /*control.setId(controlId); control.setName(controlName);*/ control.setTotalUsed(countMap.get(string)); cell.setCell(control); entry.add(cell); map.put("control_name", control.getName()); map.put("transaction_type", control.getTransactionType()); map.put("total", countMap.get(string)); controlList.add(map); } int totalItem = controlList != null ? controlList.size() : 0; Map mapForHeader = new HashMap(); mapForHeader.put( "name", "control_name"); // key=flexigrid parameter name, value = dbField Name mapForHeader.put("transactionType", "transaction_type"); mapForHeader.put("totalUsed", "total"); dbColumnHeaderList.add(mapForHeader); request.getSession().setAttribute(tableName, dbColumnHeaderList); jasonData.setRows(entry); jasonData.setTotal(totalItem); jasonData.setDbColumnHeader(dbColumnHeaderList); if ("max".equals(rp)) { logger.debug("SMN LOG: custom controlList size=" + controlList.size()); TransactionSearchController.setTotalListSizeAndListInSession( totalItem, controlList, request); } } } catch (Exception ex) { logger.debug("CERROR: Real Time Project exception : " + ex); } return jasonData; }
/** * control list with applied in no of Project * * @param request * @return */ @RequestMapping( value = "/icga/getJASONforProjectWiseControlList.html", method = RequestMethod.POST) public @ResponseBody JasonBean getProjectWiseControlCountList(HttpServletRequest request) { logger.debug("Project Wise Control List Controller "); String page = request.getParameter("page") != null ? request.getParameter("page") : "1"; String rp = request.getParameter("rp") != null ? request.getParameter("rp") : "10"; String sortname = request.getParameter("sortname") != null ? request.getParameter("sortname") : "projectName"; String sortorder = request.getParameter("sortorder") != null ? request.getParameter("sortorder") : "desc"; String query = request.getParameter("query") != null ? request.getParameter("query") : "false"; String qtype = request.getParameter("qtype") != null ? request.getParameter("qtype") : "false"; String controlIdsListAsString = request.getParameter("controlId") != null ? request.getParameter("controlId") : ""; String tableName = request.getParameter("tableName") != null ? request.getParameter("tableName") : ""; List dbColumnList = TransactionSearchController.getDbColumnHeaderList(request, tableName); sortname = dbColumnList != null ? RealTimeMonitoringController.getDbColumnNameByRef(dbColumnList, sortname) : null; logger.debug("SMN: controlIdsListAsString=" + controlIdsListAsString); List dbColumnHeaderList = new ArrayList(); JasonBean jasonData = new JasonBean(); int totalItems = 0; List<Cell> entry = new ArrayList<Cell>(); List trxSearchList = new ArrayList<Control>(); GlobalTransactionSearch globalTransactionSearch = new GlobalTransactionSearch(); try { totalItems = adminJdbcService.getProjectWiseCountByControlIds( controlIdsListAsString, getStringForComparingControls(controlIdsListAsString), qtype, query, sortname, sortorder); trxSearchList = adminJdbcService.getProjectWiseCountListByControlIds( controlIdsListAsString, getStringForComparingControls(controlIdsListAsString), Utils.parseInteger(page), "max".equals(rp) ? totalItems : Utils.parseInteger(rp), qtype, query, sortname, sortorder); logger.debug("TOTAL count---" + totalItems + " page=" + page + " rp=" + rp); if ("max".equals(rp)) { TransactionSearchController.setTotalListSizeAndListInSession( totalItems, trxSearchList, request); jasonData.setTotal(totalItems); } else { if (trxSearchList != null) { int count = 0; logger.debug("trxSearchList size=" + trxSearchList.size()); jasonData.setPage(Utils.parseInteger(page)); for (Object obj : trxSearchList) { RealTimeProject realTimeProject = new RealTimeProject(); Cell cell = new Cell(); Map map = (Map) obj; realTimeProject.setProjectName( map.get("project") != null ? map.get("project").toString() : ""); realTimeProject.setTransactionIds( map.get("transaction_ids") != null ? map.get("transaction_ids").toString() : ""); realTimeProject.setTotal(map.get("total") != null ? map.get("total").toString() : ""); realTimeProject.setProjectType( map.get("projectType") != null ? map.get("projectType").toString() : ""); realTimeProject.setProjectId( map.get("projectId") != null ? map.get("projectId").toString() : ""); cell.setId(count++); cell.setCell(realTimeProject); entry.add(cell); } Map mapForHeader = new HashMap(); mapForHeader.put( "projectName", "project"); // key=flexigrid parameter name, value = dbField Name mapForHeader.put("transactionIds", "transaction_ids"); mapForHeader.put("total", "total"); mapForHeader.put("projectId", "projectId"); mapForHeader.put("projectType", "projectType"); dbColumnHeaderList.add(mapForHeader); request.getSession().setAttribute(tableName, dbColumnHeaderList); jasonData.setRows(entry); jasonData.setTotal(totalItems); jasonData.setDbColumnHeader(dbColumnHeaderList); } else { logger.debug("No Transaction Search List Found"); } } } catch (Exception ex) { logger.debug("CERROR:Project Wise Control Exception : " + ex); } return jasonData; }