Jelajahi Sumber

王耀栋--工作台模块代码,添加生成评价等级接口

wangyaodong 3 tahun lalu
induk
melakukan
8d8e36a775

+ 10 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/project/ctrl/SimulationProjectCtrl.java

@@ -180,6 +180,16 @@ public class SimulationProjectCtrl {
         service.exportProjectReport(param);
     }
 
+    /**
+     * 生成保存评测等级(任务结果返回时调用)
+     * @return
+     */
+    @RequestMapping("saveEvaluationLevel")
+    @ResponseBody
+    public ResponseBodyVO saveEvaluationLevel(@RequestBody SimulationManualProjectParam param){
+        return service.saveEvaluationLevel(param);
+    }
+
 
 
 

+ 42 - 1
simulation-resource-server/src/main/java/com/css/simulation/resource/project/impl/SimulationProjectServiceImpl.java

@@ -705,7 +705,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         resultVo.setSceneDescribe("");
 
 
-        ///TODO 1.获取仿真结果文件
+        //1.获取仿真结果文件
         InputStream fileInputStream = null;
         InputStreamReader inputStreamReader = null;
         BufferedReader bufferedReader = null;
@@ -2828,6 +2828,47 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         return null;
     }
 
+    @Override
+    public ResponseBodyVO saveEvaluationLevel(SimulationManualProjectParam param) {
+
+        String id = param.getId();
+        if(StringUtil.isEmpty(id)){
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"工作名称不能为空");
+        }
+
+        SimulationManualProjectPo po = simulationProjectMapper.selectProjectBaseById(param);
+        if(StringUtil.isEmpty(id)){
+            return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE,"工作名称不能为空");
+        }
+
+        List<ScenePackageSubListVO> scenePackageSubListVOS = simulationProjectMapper.selectSubSceneByPid(po.getScene());
+
+        String evaluationLevelReport = "";
+
+        if(!isEmpty(scenePackageSubListVOS)){
+            Double totalScore = 0D;
+            for(ScenePackageSubListVO v : scenePackageSubListVOS){
+                Double weightDouble = Double.valueOf(v.getWeight());
+                //单个二级指标得分
+                SimulationMptFirstTargetScorePo simulationMptFirstTargetScorePo = new SimulationMptFirstTargetScorePo();
+                simulationMptFirstTargetScorePo.setPId(po.getId());
+                simulationMptFirstTargetScorePo.setTarget(v.getSublistId());
+                SimulationMptFirstTargetScorePo simulationMptFirstTargetScorePo1 = simulationMptFirstTargetScoreMapper.selectFirstTargetScore(simulationMptFirstTargetScorePo);
+                Double score = simulationMptFirstTargetScorePo1.getScore();
+
+                totalScore += score*(weightDouble/100);
+            }
+            evaluationLevelReport = getEvaluationLevelReport(saveTwoDecimalPlaces(totalScore));
+        }
+
+        SimulationManualProjectPo simulationManualProjectPo = new SimulationManualProjectPo();
+        simulationManualProjectPo.setId(id);
+        simulationManualProjectPo.setEvaluationLevel(evaluationLevelReport);
+        simulationProjectMapper.saveEvaluationLevel(simulationManualProjectPo);
+
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
+    }
+
     /**
      * 换行
      * @param lineNum 换行数量

+ 2 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/project/mapper/SimulationProjectMapper.java

@@ -101,5 +101,7 @@ public interface SimulationProjectMapper {
 
     SimulationManualProjectPo selectProjectReportIdByAlgorithmId(String algorithmId);
 
+    int saveEvaluationLevel(SimulationManualProjectPo po);
+
 
 }

+ 3 - 0
simulation-resource-server/src/main/java/com/css/simulation/resource/project/service/SimulationProjectService.java

@@ -50,4 +50,7 @@ public interface SimulationProjectService {
 
     //根据算法id获取最新的一条报告id
     String selectProjectReportIdByAlgorithmId(String algorithmId);
+
+    //生成保存评价等级
+    public ResponseBodyVO saveEvaluationLevel(SimulationManualProjectParam param);
 }

+ 7 - 0
simulation-resource-server/src/main/resources/mapper/project/SimulationProjectMapper.xml

@@ -546,4 +546,11 @@
         order by finish_time desc
         limit 1
     </select>
+
+    <!--保存评测等级-->
+    <update id="saveEvaluationLevel" parameterType="api.common.pojo.po.project.SimulationManualProjectPo">
+        update simulation_manual_project
+        set evaluation_level = #{evaluationLevel}
+        where id = #{id,jdbcType=VARCHAR} and is_deleted = '0'
+    </update>
 </mapper>