Search in sources :

Example 6 with BscMeasureData

use of com.netsteadfast.greenstep.bsc.model.BscMeasureData in project bamboobsc by billchen198318.

the class AggregationMethod method average.

public float average(KpiVO kpi) throws Exception {
    List<BbMeasureData> measureDatas = kpi.getMeasureDatas();
    // init zero
    float score = 0.0f;
    int size = 0;
    for (BbMeasureData measureData : measureDatas) {
        BscMeasureData data = new BscMeasureData();
        data.setActual(measureData.getActual());
        data.setTarget(measureData.getTarget());
        try {
            Object value = BscFormulaUtils.parse(kpi.getFormula(), data);
            if (value == null) {
                continue;
            }
            if (!NumberUtils.isNumber(String.valueOf(value))) {
                continue;
            }
            score += NumberUtils.toFloat(String.valueOf(value), 0.0f);
            size++;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    if (score != 0.0f && size > 0) {
        score = score / size;
    }
    return score;
}
Also used : BscMeasureData(com.netsteadfast.greenstep.bsc.model.BscMeasureData) BbMeasureData(com.netsteadfast.greenstep.po.hbm.BbMeasureData)

Example 7 with BscMeasureData

use of com.netsteadfast.greenstep.bsc.model.BscMeasureData in project bamboobsc by billchen198318.

the class AggregationMethod method sumDistinctDateRange.

public void sumDistinctDateRange(KpiVO kpi, String frequency) throws Exception {
    BscReportSupportUtils.loadExpression();
    for (DateRangeScoreVO dateScore : kpi.getDateRangeScores()) {
        List<Float> scores = new ArrayList<Float>();
        float score = 0.0f;
        //int size = 0;
        for (BbMeasureData measureData : kpi.getMeasureDatas()) {
            String date = dateScore.getDate().replaceAll("/", "");
            if (!this.isDateRange(date, frequency, measureData)) {
                continue;
            }
            BscMeasureData data = new BscMeasureData();
            data.setActual(measureData.getActual());
            data.setTarget(measureData.getTarget());
            try {
                Object value = BscFormulaUtils.parse(kpi.getFormula(), data);
                if (value == null) {
                    continue;
                }
                if (!NumberUtils.isNumber(String.valueOf(value))) {
                    continue;
                }
                float nowScore = NumberUtils.toFloat(String.valueOf(value), 0.0f);
                if (!scores.contains(nowScore)) {
                    scores.add(nowScore);
                    //size++;
                    score += nowScore;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        dateScore.setScore(score);
        dateScore.setFontColor(BscScoreColorUtils.getFontColor(score));
        dateScore.setBgColor(BscScoreColorUtils.getBackgroundColor(score));
        dateScore.setImgIcon(BscReportSupportUtils.getHtmlIcon(kpi, score));
    }
}
Also used : BscMeasureData(com.netsteadfast.greenstep.bsc.model.BscMeasureData) ArrayList(java.util.ArrayList) DateRangeScoreVO(com.netsteadfast.greenstep.vo.DateRangeScoreVO) BbMeasureData(com.netsteadfast.greenstep.po.hbm.BbMeasureData)

Example 8 with BscMeasureData

use of com.netsteadfast.greenstep.bsc.model.BscMeasureData in project bamboobsc by billchen198318.

the class PersonalAndOrganizationReportDateRangeScoreCommand method setDateRangeScore.

private void setDateRangeScore(KpiVO kpi, String dateType, String year) throws Exception {
    float score = 0.0f;
    // year
    String date = year + "0101";
    if ("2".equals(dateType)) {
        // second helf-year
        date = year + "0701";
    }
    for (BbMeasureData measureData : kpi.getMeasureDatas()) {
        if (date.equals(measureData.getDate())) {
            BscMeasureData data = new BscMeasureData();
            data.setActual(measureData.getActual());
            data.setTarget(measureData.getTarget());
            Object value = BscFormulaUtils.parse(kpi.getFormula(), data);
            // 2016-07-01
            if (NumberUtils.isNumber(String.valueOf(value))) {
                score = NumberUtils.toFloat(String.valueOf(value), 0.0f);
            }
        }
    }
    DateRangeScoreVO dateRangeScore = new DateRangeScoreVO();
    dateRangeScore.setDate(date);
    dateRangeScore.setBgColor(BscScoreColorUtils.getBackgroundColor(score));
    dateRangeScore.setFontColor(BscScoreColorUtils.getFontColor(score));
    dateRangeScore.setTarget(kpi.getTarget());
    dateRangeScore.setMin(kpi.getMin());
    dateRangeScore.setScore(score);
    dateRangeScore.setImgIcon("");
    kpi.getDateRangeScores().add(dateRangeScore);
}
Also used : BscMeasureData(com.netsteadfast.greenstep.bsc.model.BscMeasureData) BbMeasureData(com.netsteadfast.greenstep.po.hbm.BbMeasureData) DateRangeScoreVO(com.netsteadfast.greenstep.vo.DateRangeScoreVO)

Example 9 with BscMeasureData

use of com.netsteadfast.greenstep.bsc.model.BscMeasureData in project bamboobsc by billchen198318.

the class AggregationMethod method sumDateRange.

public void sumDateRange(KpiVO kpi, String frequency) throws Exception {
    BscReportSupportUtils.loadExpression();
    for (DateRangeScoreVO dateScore : kpi.getDateRangeScores()) {
        float score = 0.0f;
        //int size = 0;
        for (BbMeasureData measureData : kpi.getMeasureDatas()) {
            String date = dateScore.getDate().replaceAll("/", "");
            if (!this.isDateRange(date, frequency, measureData)) {
                continue;
            }
            BscMeasureData data = new BscMeasureData();
            data.setActual(measureData.getActual());
            data.setTarget(measureData.getTarget());
            try {
                Object value = BscFormulaUtils.parse(kpi.getFormula(), data);
                if (value == null) {
                    continue;
                }
                if (!NumberUtils.isNumber(String.valueOf(value))) {
                    continue;
                }
                score += NumberUtils.toFloat(String.valueOf(value), 0.0f);
            //size++;					
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        dateScore.setScore(score);
        dateScore.setFontColor(BscScoreColorUtils.getFontColor(score));
        dateScore.setBgColor(BscScoreColorUtils.getBackgroundColor(score));
        dateScore.setImgIcon(BscReportSupportUtils.getHtmlIcon(kpi, score));
    }
}
Also used : BscMeasureData(com.netsteadfast.greenstep.bsc.model.BscMeasureData) DateRangeScoreVO(com.netsteadfast.greenstep.vo.DateRangeScoreVO) BbMeasureData(com.netsteadfast.greenstep.po.hbm.BbMeasureData)

Example 10 with BscMeasureData

use of com.netsteadfast.greenstep.bsc.model.BscMeasureData in project bamboobsc by billchen198318.

the class AggregationMethod method countDistinctDateRange.

public void countDistinctDateRange(KpiVO kpi, String frequency) throws Exception {
    BscReportSupportUtils.loadExpression();
    for (DateRangeScoreVO dateScore : kpi.getDateRangeScores()) {
        List<Float> scores = new ArrayList<Float>();
        float score = 0.0f;
        //int size = 0;
        for (BbMeasureData measureData : kpi.getMeasureDatas()) {
            String date = dateScore.getDate().replaceAll("/", "");
            if (!this.isDateRange(date, frequency, measureData)) {
                continue;
            }
            BscMeasureData data = new BscMeasureData();
            data.setActual(measureData.getActual());
            data.setTarget(measureData.getTarget());
            try {
                Object value = BscFormulaUtils.parse(kpi.getFormula(), data);
                if (value == null) {
                    continue;
                }
                if (!NumberUtils.isNumber(String.valueOf(value))) {
                    continue;
                }
                float nowScore = NumberUtils.toFloat(String.valueOf(value), 0.0f);
                if (!scores.contains(nowScore)) {
                    scores.add(nowScore);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        score = Float.valueOf(scores.size());
        dateScore.setScore(score);
        dateScore.setFontColor(BscScoreColorUtils.getFontColor(score));
        dateScore.setBgColor(BscScoreColorUtils.getBackgroundColor(score));
        dateScore.setImgIcon(BscReportSupportUtils.getHtmlIcon(kpi, score));
    }
}
Also used : BscMeasureData(com.netsteadfast.greenstep.bsc.model.BscMeasureData) ArrayList(java.util.ArrayList) DateRangeScoreVO(com.netsteadfast.greenstep.vo.DateRangeScoreVO) BbMeasureData(com.netsteadfast.greenstep.po.hbm.BbMeasureData)

Aggregations

BscMeasureData (com.netsteadfast.greenstep.bsc.model.BscMeasureData)16 BbMeasureData (com.netsteadfast.greenstep.po.hbm.BbMeasureData)15 DateRangeScoreVO (com.netsteadfast.greenstep.vo.DateRangeScoreVO)8 ArrayList (java.util.ArrayList)6 FormulaVO (com.netsteadfast.greenstep.vo.FormulaVO)1