use of com.netsteadfast.greenstep.vo.PerspectiveVO in project bamboobsc by billchen198318.
the class OrganizationReportExcelCommand method createMainBody.
private int createMainBody(XSSFWorkbook wb, XSSFSheet sh, int row, VisionVO vision) throws Exception {
XSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setFillForegroundColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor("#ffffff")));
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
XSSFFont cellFont = wb.createFont();
cellFont.setBold(false);
cellFont.setColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor("#000000")));
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);
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++);
Cell cell1 = contentRow.createCell(0);
cell1.setCellValue(perspective.getName());
cell1.setCellStyle(cellStyle);
Cell titleCell2 = contentRow.createCell(1);
titleCell2.setCellValue(objective.getName());
titleCell2.setCellStyle(cellStyle);
Cell titleCell3 = contentRow.createCell(2);
titleCell3.setCellValue(kpi.getName());
titleCell3.setCellStyle(cellStyle);
Cell titleCell4 = contentRow.createCell(3);
titleCell4.setCellValue(kpi.getWeight() + "%");
titleCell4.setCellStyle(cellStyle);
Cell titleCell5 = contentRow.createCell(4);
titleCell5.setCellValue("max: " + kpi.getMax() + "\n" + "target: " + kpi.getTarget() + "\n" + "min: " + kpi.getMin() + "\n" + "unit: " + kpi.getUnit());
titleCell5.setCellStyle(cellStyle);
DateRangeScoreVO dateRangeScore = kpi.getDateRangeScores().get(0);
XSSFCellStyle cellStyle2 = wb.createCellStyle();
cellStyle2.setFillForegroundColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(dateRangeScore.getBgColor())));
cellStyle2.setFillPattern(FillPatternType.SOLID_FOREGROUND);
XSSFFont cellFont2 = wb.createFont();
cellFont2.setBold(false);
cellFont2.setColor(new XSSFColor(SimpleUtils.getColorRGB4POIColor(dateRangeScore.getFontColor())));
cellStyle2.setFont(cellFont2);
cellStyle2.setWrapText(true);
cellStyle2.setVerticalAlignment(VerticalAlignment.CENTER);
cellStyle2.setBorderBottom(BorderStyle.THIN);
cellStyle2.setBorderTop(BorderStyle.THIN);
cellStyle2.setBorderRight(BorderStyle.THIN);
cellStyle2.setBorderLeft(BorderStyle.THIN);
Cell titleCell6 = contentRow.createCell(5);
titleCell6.setCellValue(BscReportSupportUtils.parse2(dateRangeScore.getScore()));
titleCell6.setCellStyle(cellStyle2);
}
}
}
for (int px = 0; px < vision.getPerspectives().size(); px++) {
PerspectiveVO perspective = vision.getPerspectives().get(px);
// 2016-12-13 old work with POI 3.12
//sh.addMergedRegion(new CellRangeAddress(mrRow, mrRow + perspective.getRow()-1, 0, 0));
// 2016-12-13 new work with POI 3.15
int mrRow1 = mrRow + perspective.getRow() - 1;
if (mrRow1 > mrRow) {
sh.addMergedRegion(new CellRangeAddress(mrRow, mrRow1, 0, 0));
}
for (int ox = 0; ox < perspective.getObjectives().size(); ox++) {
ObjectiveVO objective = perspective.getObjectives().get(ox);
// 2016-12-13 old work with POI 3.12
//sh.addMergedRegion(new CellRangeAddress(mrRow, mrRow + objective.getRow()-1, 1, 1));
// 2016-12-13 new work with POI 3.15
int mrRow2 = mrRow + objective.getRow() - 1;
if (mrRow2 > mrRow) {
sh.addMergedRegion(new CellRangeAddress(mrRow, mrRow2, 1, 1));
}
mrRow += objective.getKpis().size();
}
}
return row++;
}
use of com.netsteadfast.greenstep.vo.PerspectiveVO in project bamboobsc by billchen198318.
the class LoadBscStructTreeCommand method calculateRowspan.
private void calculateRowspan(BscStructTreeObj treeObj) throws Exception {
for (VisionVO vision : treeObj.getVisions()) {
int vRow = 0;
for (PerspectiveVO perspective : vision.getPerspectives()) {
int pRow = 0;
for (ObjectiveVO objective : perspective.getObjectives()) {
vRow += objective.getKpis().size();
pRow += objective.getKpis().size();
objective.setRow(objective.getKpis().size());
}
perspective.setRow(pRow);
}
vision.setRow(vRow);
}
}
use of com.netsteadfast.greenstep.vo.PerspectiveVO in project bamboobsc by billchen198318.
the class LoadBscStructTreeCommand method processKpi.
private void processKpi(BscStructTreeObj treeObj, List<BscMixDataVO> mixDatas) throws Exception {
//Map<String, String> calculationMap = BscKpiCode.getCalculationMap(false);
Map<String, String> managementMap = BscKpiCode.getManagementMap(false);
for (VisionVO vision : treeObj.getVisions()) {
for (PerspectiveVO perspective : vision.getPerspectives()) {
for (ObjectiveVO objective : perspective.getObjectives()) {
for (BscMixDataVO mixData : mixDatas) {
if (!vision.getVisId().equals(mixData.getVisId()) || !perspective.getPerId().equals(mixData.getPerId()) || !objective.getObjId().equals(mixData.getObjId())) {
continue;
}
boolean found = false;
for (int i = 0; i < objective.getKpis().size(); i++) {
if (objective.getKpis().get(i).getId().equals(mixData.getKpiId())) {
found = true;
}
}
if (!found) {
KpiVO kpi = new KpiVO();
kpi.setOid(mixData.getKpiOid());
kpi.setId(mixData.getKpiId());
kpi.setCal(mixData.getKpiCal());
kpi.setCompareType(mixData.getKpiCompareType());
kpi.setDataType(mixData.getKpiDataType());
kpi.setDescription(mixData.getKpiDescription());
kpi.setForId(mixData.getForId());
kpi.setManagement(mixData.getKpiManagement());
kpi.setMax(mixData.getKpiMax());
kpi.setMin(mixData.getKpiMin());
kpi.setName(mixData.getKpiName());
kpi.setObjId(mixData.getObjId());
kpi.setOrgaMeasureSeparate(mixData.getKpiOrgaMeasureSeparate());
kpi.setTarget(mixData.getKpiTarget());
kpi.setUnit(mixData.getKpiUnit());
kpi.setUserMeasureSeparate(mixData.getKpiUserMeasureSeparate());
kpi.setWeight(mixData.getKpiWeight());
kpi.setManagementName(managementMap.get(kpi.getManagement()));
//kpi.setCalculationName( calculationMap.get(kpi.getCal()) );
kpi.setCalculationName(AggregationMethodUtils.getNameByAggrId(kpi.getCal()));
kpi.setQuasiRange(mixData.getKpiQuasiRange());
kpi.setActivate(mixData.getKpiActivate());
FormulaVO formula = new FormulaVO();
formula.setOid(mixData.getForOid());
formula.setForId(mixData.getForId());
formula.setName(mixData.getForName());
formula.setType(mixData.getForType());
formula.setReturnMode(mixData.getForReturnMode());
formula.setReturnVar(mixData.getForReturnVar());
formula.setExpression(mixData.getForExpression());
kpi.setFormula(formula);
AggregationMethodVO aggr = new AggregationMethodVO();
aggr.setOid(mixData.getAggrOid());
aggr.setAggrId(mixData.getAggrId());
aggr.setName(mixData.getAggrName());
aggr.setType(mixData.getAggrType());
aggr.setExpression1(mixData.getAggrExpression1());
aggr.setExpression2(mixData.getAggrExpression2());
kpi.setAggregationMethod(aggr);
FormulaVO trendsFormula = new FormulaVO();
trendsFormula.setOid(mixData.getTrendsForOid());
trendsFormula.setForId(mixData.getTrendsForId());
trendsFormula.setName(mixData.getTrendsForName());
trendsFormula.setType(mixData.getTrendsForType());
trendsFormula.setReturnMode(mixData.getTrendsForReturnMode());
trendsFormula.setReturnVar(mixData.getTrendsForReturnVar());
trendsFormula.setExpression(mixData.getTrendsForExpression());
kpi.setTrendsFormula(trendsFormula);
objective.getKpis().add(kpi);
}
}
}
}
}
}
use of com.netsteadfast.greenstep.vo.PerspectiveVO in project bamboobsc by billchen198318.
the class LoadBscStructTreeCommand method processObjective.
private void processObjective(BscStructTreeObj treeObj, List<BscMixDataVO> mixDatas) throws Exception {
for (VisionVO vision : treeObj.getVisions()) {
for (PerspectiveVO perspective : vision.getPerspectives()) {
for (BscMixDataVO mixData : mixDatas) {
if (!vision.getVisId().equals(mixData.getVisId()) || !perspective.getPerId().equals(mixData.getPerId())) {
continue;
}
boolean found = false;
for (int i = 0; i < perspective.getObjectives().size(); i++) {
if (perspective.getObjectives().get(i).getObjId().equals(mixData.getObjId())) {
found = true;
}
}
if (!found) {
ObjectiveVO objective = new ObjectiveVO();
objective.setOid(mixData.getObjOid());
objective.setObjId(mixData.getObjId());
objective.setPerId(mixData.getPerId());
objective.setName(mixData.getObjName());
objective.setWeight(mixData.getObjWeight());
objective.setTarget(mixData.getObjTarget());
objective.setMin(mixData.getObjMin());
objective.setDescription(mixData.getObjDescription());
perspective.getObjectives().add(objective);
}
}
}
}
}
use of com.netsteadfast.greenstep.vo.PerspectiveVO in project bamboobsc by billchen198318.
the class LoadMeasureDataCommand method execute.
@SuppressWarnings("unchecked")
@Override
public boolean execute(Context context) throws Exception {
measureDataService = (IMeasureDataService<MeasureDataVO, BbMeasureData, String>) AppContext.getBean("bsc.service.MeasureDataService");
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();
startDate = startDate.replaceAll("/", "").replaceAll("-", "");
endDate = endDate.replaceAll("/", "").replaceAll("-", "");
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 + "0101";
date2 = endYearDate + "12" + SimpleUtils.getMaxDayOfMonth(Integer.parseInt(endYearDate), 12);
}
String measureDataOrgaId = (String) context.get("orgId");
String measureDataEmplId = (String) context.get("empId");
if (this.getResult(context) == null || !(this.getResult(context) instanceof BscStructTreeObj)) {
return false;
}
BscStructTreeObj treeObj = (BscStructTreeObj) this.getResult(context);
for (VisionVO vision : treeObj.getVisions()) {
for (PerspectiveVO perspective : vision.getPerspectives()) {
for (ObjectiveVO objective : perspective.getObjectives()) {
for (KpiVO kpi : objective.getKpis()) {
this.fillMeasureData(kpi, frequency, date1, date2, measureDataOrgaId, measureDataEmplId);
}
}
}
}
return false;
}
Aggregations