use of com.netsteadfast.greenstep.vo.ObjectiveVO in project bamboobsc by billchen198318.
the class KpiReportCoffeeChartJsonDataCommand method setJsonData.
private void setJsonData(Context context, BscStructTreeObj treeObj) throws Exception {
if (treeObj == null || treeObj.getVisions() == null || treeObj.getVisions().size() != 1) {
return;
}
List<Map<String, Object>> rootList = new ArrayList<Map<String, Object>>();
Map<String, Object> rootDataMap = new HashMap<String, Object>();
List<Map<String, Object>> perspectivesDatas = new ArrayList<Map<String, Object>>();
List<VisionVO> visions = treeObj.getVisions();
VisionVO vision = visions.get(0);
for (PerspectiveVO perspective : vision.getPerspectives()) {
Map<String, Object> perspectiveDataMap = new HashMap<String, Object>();
List<Map<String, Object>> perspectiveChildren = new ArrayList<Map<String, Object>>();
perspectiveDataMap.put("name", this.getName(perspective.getName(), perspective.getScore()));
perspectiveDataMap.put("children", perspectiveChildren);
perspectiveDataMap.put("colour", perspective.getBgColor());
perspectiveDataMap.put("fontColor", perspective.getFontColor());
perspectiveDataMap.put("score", perspective.getScore());
perspectivesDatas.add(perspectiveDataMap);
for (ObjectiveVO objective : perspective.getObjectives()) {
Map<String, Object> objectiveDataMap = new HashMap<String, Object>();
List<Map<String, Object>> objectiveChildren = new ArrayList<Map<String, Object>>();
objectiveDataMap.put("name", this.getName(objective.getName(), objective.getScore()));
objectiveDataMap.put("children", objectiveChildren);
objectiveDataMap.put("colour", objective.getBgColor());
objectiveDataMap.put("fontColor", objective.getFontColor());
objectiveDataMap.put("score", objective.getScore());
perspectiveChildren.add(objectiveDataMap);
for (KpiVO kpi : objective.getKpis()) {
Map<String, Object> indicatorsDataMap = new HashMap<String, Object>();
indicatorsDataMap.put("name", this.getName(kpi.getName(), kpi.getScore()));
indicatorsDataMap.put("colour", kpi.getBgColor());
indicatorsDataMap.put("fontColor", kpi.getFontColor());
indicatorsDataMap.put("score", kpi.getScore());
objectiveChildren.add(indicatorsDataMap);
}
}
}
rootDataMap.put("name", this.getName(vision.getTitle(), vision.getScore()));
rootDataMap.put("children", perspectivesDatas);
rootDataMap.put("colour", vision.getBgColor());
rootDataMap.put("fontColor", vision.getFontColor());
rootDataMap.put("score", vision.getScore());
rootList.add(rootDataMap);
String jsonDataStr = ((JSONArray) JSONSerializer.toJSON(rootList)).toString();
this.setResult(context, jsonDataStr);
}
use of com.netsteadfast.greenstep.vo.ObjectiveVO in project bamboobsc by billchen198318.
the class KpiReportExcelCommand method createDateRange.
private int createDateRange(XSSFWorkbook wb, XSSFSheet sh, int row, VisionVO vision, Context context) throws Exception {
String frequency = (String) context.get("frequency");
String startYearDate = StringUtils.defaultString((String) context.get("startYearDate")).trim();
String endYearDate = StringUtils.defaultString((String) context.get("endYearDate")).trim();
String startDate = StringUtils.defaultString((String) context.get("startDate")).trim();
String endDate = StringUtils.defaultString((String) context.get("endDate")).trim();
String date1 = startDate;
String date2 = endDate;
if (BscMeasureDataFrequency.FREQUENCY_QUARTER.equals(frequency) || BscMeasureDataFrequency.FREQUENCY_HALF_OF_YEAR.equals(frequency) || BscMeasureDataFrequency.FREQUENCY_YEAR.equals(frequency)) {
date1 = startYearDate + "/01/01";
date2 = endYearDate + "/12/" + SimpleUtils.getMaxDayOfMonth(Integer.parseInt(endYearDate), 12);
}
Map<String, Object> headContentMap = new HashMap<String, Object>();
this.fillHeadContent(context, headContentMap);
XSSFCellStyle cellStyleLabel = wb.createCellStyle();
cellStyleLabel.setFillForegroundColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(BscReportPropertyUtils.getBackgroundColor())));
cellStyleLabel.setFillPattern(FillPatternType.SOLID_FOREGROUND);
XSSFFont cellFontLabel = wb.createFont();
cellFontLabel.setBold(false);
cellFontLabel.setColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(BscReportPropertyUtils.getFontColor())));
cellStyleLabel.setFont(cellFontLabel);
cellStyleLabel.setWrapText(true);
//cellStyleLabel.setVerticalAlignment(VerticalAlignment.CENTER);
cellStyleLabel.setBorderBottom(BorderStyle.THIN);
cellStyleLabel.setBorderTop(BorderStyle.THIN);
cellStyleLabel.setBorderRight(BorderStyle.THIN);
cellStyleLabel.setBorderLeft(BorderStyle.THIN);
int cols = 4 + vision.getPerspectives().get(0).getObjectives().get(0).getKpis().get(0).getDateRangeScores().size();
int cell = 0;
for (int i = 0; i < cols; i++) {
String content = "Frequency: " + BscMeasureDataFrequency.getFrequencyMap(false).get(frequency) + " Date range: " + date1 + " ~ " + date2 + "\n" + StringUtils.defaultString((String) headContentMap.get("headContent"));
Row headRow = sh.createRow(row);
headRow.setHeight((short) 700);
Cell headCell1 = headRow.createCell(cell);
headCell1.setCellValue(content);
headCell1.setCellStyle(cellStyleLabel);
}
sh.addMergedRegion(new CellRangeAddress(row, row, 0, cols - 1));
row++;
int kpiCols = 4;
int kpiRows = 2;
for (PerspectiveVO perspective : vision.getPerspectives()) {
for (ObjectiveVO objective : perspective.getObjectives()) {
for (KpiVO kpi : objective.getKpis()) {
cell = 0;
for (int r = 0; r < kpiRows; r++) {
Row contentRow = sh.createRow(row++);
contentRow.setHeight((short) 400);
for (int c = 0; c < kpiCols; c++) {
XSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setFillForegroundColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(kpi.getBgColor())));
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
XSSFFont cellFont = wb.createFont();
cellFont.setBold(false);
cellFont.setColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(kpi.getFontColor())));
cellStyle.setFont(cellFont);
cellStyle.setWrapText(true);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);
Cell contentCell1 = contentRow.createCell(c);
contentCell1.setCellValue(kpi.getName());
contentCell1.setCellStyle(cellStyle);
}
cell = 4;
if (r == 0) {
for (int d = 0; d < kpi.getDateRangeScores().size(); d++) {
DateRangeScoreVO dateRangeScore = kpi.getDateRangeScores().get(d);
XSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setFillForegroundColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(dateRangeScore.getBgColor())));
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
XSSFFont cellFont = wb.createFont();
cellFont.setBold(false);
cellFont.setColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(dateRangeScore.getFontColor())));
cellStyle.setFont(cellFont);
cellStyle.setWrapText(true);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);
Cell contentCell1 = contentRow.createCell(cell++);
contentCell1.setCellValue(dateRangeScore.getDate());
contentCell1.setCellStyle(cellStyle);
}
}
if (r == 1) {
for (int d = 0; d < kpi.getDateRangeScores().size(); d++) {
DateRangeScoreVO dateRangeScore = kpi.getDateRangeScores().get(d);
XSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setFillForegroundColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(dateRangeScore.getBgColor())));
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
XSSFFont cellFont = wb.createFont();
cellFont.setBold(false);
cellFont.setColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(dateRangeScore.getFontColor())));
cellStyle.setFont(cellFont);
cellStyle.setWrapText(true);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);
Cell contentCell1 = contentRow.createCell(cell++);
contentCell1.setCellValue(" " + BscReportSupportUtils.parse2(dateRangeScore.getScore()));
contentCell1.setCellStyle(cellStyle);
byte[] imgBytes = BscReportSupportUtils.getByteIcon(kpi, dateRangeScore.getScore());
if (null != imgBytes) {
SimpleUtils.setCellPicture(wb, sh, imgBytes, contentCell1.getRowIndex(), contentCell1.getColumnIndex());
}
}
}
}
sh.addMergedRegion(new CellRangeAddress(row - 2, row - 1, 0, kpiCols - 1));
}
}
}
return row++;
}
use of com.netsteadfast.greenstep.vo.ObjectiveVO in project bamboobsc by billchen198318.
the class KpiReportExcelCommand method createMainBody.
private int createMainBody(XSSFWorkbook wb, XSSFSheet sh, int row, VisionVO vision) throws Exception {
Map<String, String> managementMap = BscKpiCode.getManagementMap(false);
//Map<String, String> calculationMap = BscKpiCode.getCalculationMap(false);
int itemCols = 4;
int mrRow = row;
for (int px = 0; px < vision.getPerspectives().size(); px++) {
PerspectiveVO perspective = vision.getPerspectives().get(px);
for (int ox = 0; ox < perspective.getObjectives().size(); ox++) {
ObjectiveVO objective = perspective.getObjectives().get(ox);
for (int kx = 0; kx < objective.getKpis().size(); kx++) {
KpiVO kpi = objective.getKpis().get(kx);
Row contentRow = sh.createRow(row++);
contentRow.setHeight((short) 4000);
int cell = 0;
for (int i = 0; i < itemCols; i++) {
String content = this.getItemsContent(perspective.getName(), perspective.getScore(), perspective.getWeight(), perspective.getTarget(), perspective.getMin());
XSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setFillForegroundColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(perspective.getBgColor())));
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
XSSFFont cellFont = wb.createFont();
cellFont.setBold(false);
cellFont.setColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(perspective.getFontColor())));
cellStyle.setFont(cellFont);
cellStyle.setWrapText(true);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);
Cell contentCell1 = contentRow.createCell(cell++);
contentCell1.setCellValue("\n" + content);
contentCell1.setCellStyle(cellStyle);
if (i == 0 && ox == 0) {
byte[] imgBytes = BscReportSupportUtils.getByteIconBase("PERSPECTIVES", perspective.getTarget(), perspective.getMin(), perspective.getScore(), "", "", 0);
if (null != imgBytes) {
SimpleUtils.setCellPicture(wb, sh, imgBytes, contentCell1.getRowIndex(), contentCell1.getColumnIndex());
}
}
}
for (int i = 0; i < itemCols; i++) {
String content = this.getItemsContent(objective.getName(), objective.getScore(), objective.getWeight(), objective.getTarget(), objective.getMin());
XSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setFillForegroundColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(objective.getBgColor())));
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
XSSFFont cellFont = wb.createFont();
cellFont.setBold(false);
cellFont.setColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(objective.getFontColor())));
cellStyle.setFont(cellFont);
cellStyle.setWrapText(true);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);
Cell contentCell1 = contentRow.createCell(cell++);
contentCell1.setCellValue("\n" + content);
contentCell1.setCellStyle(cellStyle);
if (i == 0 && kx == 0) {
byte[] imgBytes = BscReportSupportUtils.getByteIconBase("OBJECTIVES", objective.getTarget(), objective.getMin(), objective.getScore(), "", "", 0);
if (null != imgBytes) {
SimpleUtils.setCellPicture(wb, sh, imgBytes, contentCell1.getRowIndex(), contentCell1.getColumnIndex());
}
}
}
for (int i = 0; i < itemCols; i++) {
//String content = this.getKpisContent(kpi, managementMap, calculationMap);
String content = this.getKpisContent(kpi, managementMap);
XSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setFillForegroundColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(kpi.getBgColor())));
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
XSSFFont cellFont = wb.createFont();
cellFont.setBold(false);
cellFont.setColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(kpi.getFontColor())));
cellStyle.setFont(cellFont);
cellStyle.setWrapText(true);
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
cellStyle.setBorderBottom(BorderStyle.THIN);
cellStyle.setBorderTop(BorderStyle.THIN);
cellStyle.setBorderRight(BorderStyle.THIN);
cellStyle.setBorderLeft(BorderStyle.THIN);
Cell contentCell1 = contentRow.createCell(cell++);
contentCell1.setCellValue("\n" + content);
contentCell1.setCellStyle(cellStyle);
if (i == 0) {
byte[] imgBytes = BscReportSupportUtils.getByteIconBase("KPI", kpi.getTarget(), kpi.getMin(), kpi.getScore(), kpi.getCompareType(), kpi.getManagement(), kpi.getQuasiRange());
if (null != imgBytes) {
SimpleUtils.setCellPicture(wb, sh, imgBytes, contentCell1.getRowIndex(), contentCell1.getColumnIndex());
}
}
}
}
}
}
for (int px = 0; px < vision.getPerspectives().size(); px++) {
PerspectiveVO perspective = vision.getPerspectives().get(px);
sh.addMergedRegion(new CellRangeAddress(mrRow, mrRow + perspective.getRow() - 1, 0, 3));
for (int ox = 0; ox < perspective.getObjectives().size(); ox++) {
ObjectiveVO objective = perspective.getObjectives().get(ox);
sh.addMergedRegion(new CellRangeAddress(mrRow, mrRow + objective.getRow() - 1, 4, 7));
for (int kx = 0; kx < objective.getKpis().size(); kx++) {
sh.addMergedRegion(new CellRangeAddress(mrRow + kx, mrRow + kx, 8, 11));
}
mrRow += objective.getKpis().size();
}
}
return row++;
}
use of com.netsteadfast.greenstep.vo.ObjectiveVO in project bamboobsc by billchen198318.
the class KpiReportBodyCommand method setImgIconBaseAndKpiInfo.
private void setImgIconBaseAndKpiInfo(BscStructTreeObj treeObj) throws ServiceException, Exception {
BscReportSupportUtils.loadExpression();
List<VisionVO> visions = treeObj.getVisions();
Map<String, Object> paramMap = new HashMap<String, Object>();
for (VisionVO vision : visions) {
for (PerspectiveVO perspective : vision.getPerspectives()) {
perspective.setImgIcon(BscReportSupportUtils.getHtmlIconBase("PERSPECTIVES", perspective.getTarget(), perspective.getMin(), perspective.getScore(), "", "", 0));
for (ObjectiveVO objective : perspective.getObjectives()) {
objective.setImgIcon(BscReportSupportUtils.getHtmlIconBase("OBJECTIVES", objective.getTarget(), objective.getMin(), objective.getScore(), "", "", 0));
for (KpiVO kpi : objective.getKpis()) {
kpi.setImgIcon(BscReportSupportUtils.getHtmlIconBase("KPI", kpi.getTarget(), kpi.getMin(), kpi.getScore(), kpi.getCompareType(), kpi.getManagement(), kpi.getQuasiRange()));
BscReportSupportUtils.fillKpiEmployees(kpi);
BscReportSupportUtils.fillKpiOrganizations(kpi);
// KPI attachment documents
paramMap.clear();
paramMap.put("kpiId", kpi.getId());
List<KpiAttacVO> attacs = kpiAttacService.findListVOByParams(paramMap);
for (int i = 0; attacs != null && i < attacs.size(); i++) {
KpiAttacVO attac = attacs.get(i);
DefaultResult<SysUploadVO> uploadResult = sysUploadService.findForNoByteContent(attac.getUploadOid());
if (uploadResult.getValue() != null) {
attac.setShowName(uploadResult.getValue().getShowName());
} else {
attac.setShowName("unknown-" + attac.getUploadOid());
}
kpi.getAttachments().add(attac);
}
}
}
}
}
}
use of com.netsteadfast.greenstep.vo.ObjectiveVO in project bamboobsc by billchen198318.
the class ScorecardQueryContentAction method loadKpiCardContent.
private void loadKpiCardContent() throws ServiceException, Exception {
StringBuilder outContent = new StringBuilder();
this.message = SysMessageUtil.get(GreenStepSysMsgConstants.SEARCH_NO_DATA);
String uploadOid = this.getFields().get("uploadOid");
String objectiveOid = super.defaultString(this.getFields().get("objectiveOid"));
VisionVO vision = BscMobileCardUtils.getVisionCardFromUpload(uploadOid);
List<PerspectiveVO> perspectives = vision.getPerspectives();
for (PerspectiveVO perspective : perspectives) {
List<ObjectiveVO> objectives = perspective.getObjectives();
for (ObjectiveVO objective : objectives) {
if (objectiveOid.equals(objective.getOid())) {
this.rootPerspective = perspective;
this.rootObjective = objective;
List<KpiVO> kpis = objective.getKpis();
for (KpiVO kpi : kpis) {
outContent.append(BscMobileCardUtils.getKPIsCardContent(uploadOid, kpi));
outContent.append(super.getHtmlBr());
}
}
}
}
this.content = outContent.toString();
if (!StringUtils.isBlank(content)) {
this.loadColor();
this.message = this.getText("MESSAGE.ScorecardQueryContentAction_06");
this.success = IS_YES;
}
}
Aggregations