Просмотр исходного кода

王耀栋--工作台模块代码,修改项目运行逻辑,修改工作详情不显示bug

wangyaodong 3 лет назад
Родитель
Сommit
162bc199ba

+ 34 - 14
simulation-resource-server/src/main/java/com/css/simulation/resource/project/impl/SimulationProjectServiceImpl.java

@@ -244,8 +244,6 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
     @SneakyThrows
     @Override
     public ResponseBodyVO updateProjectNowRunState(SimulationManualProjectParam param) {
-        log.info("updateProjectNowRunState_id:"+param.getId());
-        log.info("updateProjectNowRunState_nowRunState:"+param.getNowRunState());
 
         SimulationManualProjectPo po = simulationProjectMapper.selectProjectById(param);
 
@@ -256,24 +254,46 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         if(isEmpty(param.getId()) || isEmpty(param.getNowRunState())){
             return new ResponseBodyVO(ResponseBodyVO.Response.CLIENT_FAILURE);
         }
-        if("20".equals(param.getNowRunState())){
-            //设置开始时间
-            param.setStartTime(new Date());
 
+        //已经完成的项目再次运行
+        if("30".equals(po.getNowRunState()) && "20".equals(param.getNowRunState())){
+            po.createPo(AuthUtil.getCurrentUserId());
+            //生成id
+            createProjectId(po);
+            //初始化数据
+            po.setNowRunState(param.getNowRunState());
+            po.setEvaluationLevel("");
+            po.setStartTime(new Date());
+            po.setFinishTime(null);
+            int add = simulationProjectMapper.add(po);
+            if(add <= 0){
+                return new ResponseBodyVO(ResponseBodyVO.Response.SERVER_FAILURE,"生成新工作失败");
+            }
             //Kafka推送消息
             projectRunToKafka(po);
 
-        }else if("30".equals(param.getNowRunState())){
-            //设置完成时间
-            param.setFinishTime(new Date());
+        } else{
+            if("20".equals(param.getNowRunState())){
+                //设置开始时间
+                param.setStartTime(new Date());
+
+                //Kafka推送消息
+                projectRunToKafka(po);
+
+            }else if("30".equals(param.getNowRunState())){
+                //设置完成时间
+                param.setFinishTime(new Date());
+
+            }
+            int i = simulationProjectMapper.updateProjectNowRunState(param);
+            if(i <=  0){
+                return new ResponseBodyVO(ResponseBodyVO.Response.SERVER_FAILURE);
+
+            }
 
         }
-        int i = simulationProjectMapper.updateProjectNowRunState(param);
-        if(i > 0){
-            return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
-        }
-        return new ResponseBodyVO(ResponseBodyVO.Response.SERVER_FAILURE);
 
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS);
 
     }
 
@@ -461,7 +481,7 @@ public class SimulationProjectServiceImpl implements SimulationProjectService {
         for(String key : dict.keySet()){
             boolean b = false;
             for(ProjectRunResultRatioNumVo pv : vos){
-                if(pv.getResultName().equals(dict.get(key))){
+                if(dict.get(key).equals(pv.getResultName())){
                     b = true;
                 }
             }

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

@@ -26,6 +26,7 @@
         automatic_run_state,
         now_run_state,
         evaluation_level,
+        start_time,
         finish_time,
         max_simulation_time,
         create_time,
@@ -55,6 +56,7 @@
         #{automaticRunState,jdbcType=VARCHAR},
         #{nowRunState,jdbcType=VARCHAR},
         #{evaluationLevel,jdbcType=VARCHAR},
+        #{startTime,jdbcType=TIMESTAMP},
         #{finishTime,jdbcType=TIMESTAMP},
         #{maxSimulationTime,jdbcType=BIGINT},
         #{createTime,jdbcType=TIMESTAMP},