|
|
@@ -122,43 +122,46 @@ public class EvaluateManageServiceImpl extends MPJBaseServiceImpl<EvaluateManage
|
|
|
for (MobileResultPageVo mobileResultPageVo : mobileResultPage.getRecords()) {
|
|
|
evaluateObjectIdList.add(Long.parseLong(mobileResultPageVo.getEvaluateObjectId()));
|
|
|
}
|
|
|
- //获取当前用户,当前评价管理下的所有被评对象的总分(学生评价班主任)或者是综合指数(教官评价班级)
|
|
|
- List<EvaluateManageScoreVo> evaluateManageScoreVoList = evaluateManageMapper.getScoreList(new EvaluateManageScoreDto(){{
|
|
|
- setEvaluateManageId(dto.getEvaluateManageId());
|
|
|
- setEvaluateType(dto.getEvaluateType());
|
|
|
- setEvaluateObjectIdList(evaluateObjectIdList);
|
|
|
- setUserId(StpUtil.getLoginIdAsLong());
|
|
|
- }});
|
|
|
- Map<String, EvaluateManageScoreVo> scoreByObjectId = evaluateManageScoreVoList.stream()
|
|
|
- .collect(Collectors.toMap(EvaluateManageScoreVo::getEvaluateObjectId, Function.identity()));
|
|
|
-
|
|
|
- //将对应的分数给到对应的人
|
|
|
- for (MobileResultPageVo mobileResultPageVo : mobileResultPage.getRecords()) {
|
|
|
- //评价类型是学生评价班主任
|
|
|
- if(mobileResultPageVo.getEvaluateType().equals(EvaluateTypeEnum.STUDENT_EVALUATE_HEAD_TEACHER.getCode())){
|
|
|
- mobileResultPageVo.setTotalScore((double)scoreByObjectId.get(mobileResultPageVo.getEvaluateObjectId()).getTotalScore());
|
|
|
- }
|
|
|
- //评价类型是教官评级班级
|
|
|
- if(mobileResultPageVo.getEvaluateType().equals(EvaluateTypeEnum.DRILLMASTER_EVALUATE_CLASS.getCode())){
|
|
|
- ScriptEngine engine = new ScriptEngineManager().getEngineByName("js");
|
|
|
- String zonghezhishu = "totalScore/itemCount";
|
|
|
- int totalScore = scoreByObjectId.get(mobileResultPageVo.getEvaluateObjectId()).getTotalScore();
|
|
|
- int itemCount = scoreByObjectId.get(mobileResultPageVo.getEvaluateObjectId()).getItemCount();
|
|
|
- double res = 0;
|
|
|
- String newStr1 = zonghezhishu.replace("totalScore", ""+totalScore);
|
|
|
- String newStr2 = newStr1.replace("itemCount", ""+itemCount);
|
|
|
- try{
|
|
|
- res = (double)engine.eval(newStr2);
|
|
|
- }catch (ScriptException s){
|
|
|
-
|
|
|
+ if(evaluateObjectIdList.size() > 0){
|
|
|
+ //获取当前用户,当前评价管理下的所有被评对象的总分(学生评价班主任)或者是综合指数(教官评价班级)
|
|
|
+ List<EvaluateManageScoreVo> evaluateManageScoreVoList = evaluateManageMapper.getScoreList(new EvaluateManageScoreDto(){{
|
|
|
+ setEvaluateManageId(dto.getEvaluateManageId());
|
|
|
+ setEvaluateObjectIdList(evaluateObjectIdList);
|
|
|
+ setUserId(StpUtil.getLoginIdAsLong());
|
|
|
+ }});
|
|
|
+ Map<String, EvaluateManageScoreVo> scoreByObjectId = evaluateManageScoreVoList.stream()
|
|
|
+ .collect(Collectors.toMap(EvaluateManageScoreVo::getEvaluateObjectId, Function.identity()));
|
|
|
+
|
|
|
+ if(scoreByObjectId.size() > 0){
|
|
|
+ //将对应的分数给到对应的人
|
|
|
+ for (MobileResultPageVo mobileResultPageVo : mobileResultPage.getRecords()) {
|
|
|
+ //评价类型是学生评价班主任
|
|
|
+ if(mobileResultPageVo.getEvaluateType().equals(EvaluateTypeEnum.STUDENT_EVALUATE_HEAD_TEACHER.getCode()) && scoreByObjectId.get(mobileResultPageVo.getEvaluateObjectId()) != null){
|
|
|
+ mobileResultPageVo.setTotalScore((double)scoreByObjectId.get(mobileResultPageVo.getEvaluateObjectId()).getTotalScore());
|
|
|
+ }
|
|
|
+ //评价类型是教官评级班级
|
|
|
+ if(mobileResultPageVo.getEvaluateType().equals(EvaluateTypeEnum.DRILLMASTER_EVALUATE_CLASS.getCode()) && scoreByObjectId.get(mobileResultPageVo.getEvaluateObjectId()) != null){
|
|
|
+ ScriptEngine engine = new ScriptEngineManager().getEngineByName("js");
|
|
|
+ String zonghezhishu = "totalScore/itemCount";
|
|
|
+ int totalScore = scoreByObjectId.get(mobileResultPageVo.getEvaluateObjectId()).getTotalScore();
|
|
|
+ int itemCount = scoreByObjectId.get(mobileResultPageVo.getEvaluateObjectId()).getItemCount();
|
|
|
+ double res = 0;
|
|
|
+ String newStr1 = zonghezhishu.replace("totalScore", ""+totalScore);
|
|
|
+ String newStr2 = newStr1.replace("itemCount", ""+itemCount);
|
|
|
+ try{
|
|
|
+ res = (double)engine.eval(newStr2);
|
|
|
+ }catch (ScriptException s){
|
|
|
+
|
|
|
+ }
|
|
|
+ // 创建一个DecimalFormat对象,指定小数位数为两位
|
|
|
+ DecimalFormat decimalFormat = new DecimalFormat("#.00");
|
|
|
+ // 格式化double值为字符串
|
|
|
+ String formattedNumber = decimalFormat.format(res);
|
|
|
+ mobileResultPageVo.setTotalScore(Double.valueOf(formattedNumber));
|
|
|
+ }
|
|
|
+ mobileResultPageVo.setItemCount(scoreByObjectId.get(mobileResultPageVo.getEvaluateObjectId()).getItemCount());
|
|
|
}
|
|
|
- // 创建一个DecimalFormat对象,指定小数位数为两位
|
|
|
- DecimalFormat decimalFormat = new DecimalFormat("#.00");
|
|
|
- // 格式化double值为字符串
|
|
|
- String formattedNumber = decimalFormat.format(res);
|
|
|
- mobileResultPageVo.setTotalScore(Double.valueOf(formattedNumber));
|
|
|
}
|
|
|
- mobileResultPageVo.setItemCount(scoreByObjectId.get(mobileResultPageVo.getEvaluateObjectId()).getItemCount());
|
|
|
}
|
|
|
}
|
|
|
return mobileResultPage;
|