Bladeren bron

评价管理移动端结果列表页

phoenix 1 jaar geleden
bovenliggende
commit
4138cd4264

+ 7 - 0
src/main/java/com/xjrsoft/module/evaluate/controller/EvaluateManageController.java

@@ -94,6 +94,13 @@ public class EvaluateManageController {
 
             return RT.ok(evaluateManageService.updateById(evaluateManage));
         }
+        if(dto.getStatus() == 2){
+            EvaluateManage evaluateManage = BeanUtil.toBean(dto, EvaluateManage.class);
+            evaluateManage.setModifyDate(new Date());
+            evaluateManage.setModifyUserId(StpUtil.getLoginIdAsLong());
+
+            return RT.ok(evaluateManageService.updateById(evaluateManage));
+        }
 
         return RT.ok(true);
     }

+ 0 - 3
src/main/java/com/xjrsoft/module/evaluate/dto/EvaluateManageScoreDto.java

@@ -35,7 +35,4 @@ public class EvaluateManageScoreDto implements Serializable {
      */
     @ApiModelProperty("当前登录用户id")
     private Long userId;
-
-    @ApiModelProperty(value = "评价类型")
-    private String evaluateType;
 }

+ 1 - 1
src/main/java/com/xjrsoft/module/evaluate/mapper/EvaluateManageMapper.java

@@ -31,7 +31,7 @@ public interface EvaluateManageMapper extends MPJBaseMapper<EvaluateManage> {
 
     Page<MobileResultPageVo> getMobileResultPage(Page<EvaluateWritePageDto> page, MobileResultPageDto dto);
 
-    List<DrillEvaluateClassListVo> getDrillEvaluateClassList(DrillEvaluateClassListDto dto);
+    List<DrillEvaluateClassListVo> getDrillEvaluateClassList(@Param("dto")DrillEvaluateClassListDto dto);
 
     EvaluateWriteVo getWriteInfo(Long id);
 

+ 38 - 35
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateManageServiceImpl.java

@@ -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;

+ 1 - 0
src/main/resources/mapper/evaluate/EvaluateManageMapper.xml

@@ -43,6 +43,7 @@
 
     <select id="getMobileIndexPage" parameterType="com.xjrsoft.module.evaluate.dto.MobileIndexPageDto" resultType="com.xjrsoft.module.evaluate.vo.MobileIndexPageVo">
         select
+            distinct
             t.id as evaluateManageId,
             t.name,
             t2.evaluate_type,