root 2 rokov pred
rodič
commit
a806d584ba

+ 8 - 8
api-common/src/main/java/api/common/pojo/dto/ProjectMessageDTO.java

@@ -7,13 +7,13 @@ import lombok.NoArgsConstructor;
 
 /**
  * {
- *  "projectId": "sadfasdfs", // 项目 id
- *  "algorithmId": "sadfasdfs", // 算法 id
- *  "vehicleId": "sadfasdfs", // 车辆 id
- *  "scenePackageId": "sadfasdfs", // 场景包 id
- *  "maxSimulationTime": 11111, // 最大仿真时间
- *  "parallelism": 30  // 并行度
- *  "type": 30  // 项目类型
+ * "projectId": "sadfasdfs", // 项目 id
+ * "algorithmId": "sadfasdfs", // 算法 id
+ * "vehicleId": "sadfasdfs", // 车辆 id
+ * "scenePackageId": "sadfasdfs", // 场景包 id
+ * "maxSimulationTime": 11111, // 最大仿真时间
+ * "parallelism": 30  // 并行度
+ * "type": 30  // 项目类型
  * }
  */
 @Data
@@ -27,7 +27,7 @@ public class ProjectMessageDTO {
     private String vehicleConfigId;// 车辆配置 id
     private String scenePackageId;// 场景包 id
     private Integer maxSimulationTime;// 最大仿真时间(秒)
-    private Integer parallelism;// 期望并行度,页面上创建项目时指定的并行度
+    private Integer parallelism = 1;// 期望并行度,页面上创建项目时指定的并行度
     private String modelType;// vtd carsim
     private String type;// 项目类型
     // -------------------------------- Comment --------------------------------

+ 24 - 24
simulation-resource-server/src/main/java/com/css/simulation/resource/home/ctrl/HomePageCtrl.java

@@ -2,7 +2,10 @@ package com.css.simulation.resource.home.ctrl;
 
 import api.common.pojo.common.PageVO;
 import api.common.pojo.common.ResponseBodyVO;
-import api.common.pojo.vo.home.*;
+import api.common.pojo.vo.home.HardwareVO;
+import api.common.pojo.vo.home.LineChartVO;
+import api.common.pojo.vo.home.ServiceVO;
+import api.common.pojo.vo.home.SystemServerVO;
 import com.css.simulation.resource.algorithm.service.AlgorithmService;
 import com.css.simulation.resource.home.service.HomePageService;
 import com.css.simulation.resource.model.service.ConfigService;
@@ -11,13 +14,13 @@ import com.css.simulation.resource.scene.service.SceneNaturalService;
 import com.css.simulation.resource.system.service.ClusterService;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
 import java.util.List;
 import java.util.Map;
 
@@ -26,29 +29,27 @@ import java.util.Map;
 @RestController
 @RequestMapping("/homePage")
 public class HomePageCtrl {
-    @Autowired
-    SceneNaturalService sceneNaturalService;
-    @Autowired
-    AlgorithmService algorithmService;
-    @Autowired
-    SimulationProjectService simulationProjectService;
-    @Autowired
-    ConfigService configService;
-    @Autowired
-    HomePageService homePageService;
-    @Autowired
-    ClusterService clusterService;
+    @Resource
+    private SceneNaturalService sceneNaturalService;
+    @Resource
+    private AlgorithmService algorithmService;
+    @Resource
+    private SimulationProjectService simulationProjectService;
+    @Resource
+    private ConfigService configService;
+    @Resource
+    private HomePageService homePageService;
+    @Resource
+    private ClusterService clusterService;
 
 
     /**
      * 首页 -- 系统监控 -- 数据概览
-     * @return
      */
     @PostMapping("/queryAllNum")
     @ResponseBody
-    public ResponseBodyVO<Map<String,Integer>> queryAllNum() {
-
-        Map<String,Integer> map = algorithmService.selectDetailsBySy();     //算法文件数量
+    public ResponseBodyVO<Map<String, Integer>> queryAllNum() {
+        Map<String, Integer> map = algorithmService.selectDetailsBySy();     //算法文件数量
         map.put("SySceneNum", sceneNaturalService.querySceneNumBySy());//私有场景数量
         map.put("GySceneNum", sceneNaturalService.querySceneNumByGy());//共有场景数量
         map.put("ConfigTotal", configService.getConfigTotal());             //车辆配置数量
@@ -62,9 +63,9 @@ public class HomePageCtrl {
      */
     @RequestMapping("selectRunProjectBySy")
     @ResponseBody
-    public ResponseBodyVO selectRunProjectBySy() {
+    public ResponseBodyVO<List<LineChartVO>> selectRunProjectBySy() {
         List<LineChartVO> list = homePageService.selectRunProjectChart();
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,list);
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, list);
     }
 
     /**
@@ -72,9 +73,9 @@ public class HomePageCtrl {
      */
     @RequestMapping("selectRunTaskBySy")
     @ResponseBody
-    public ResponseBodyVO selectRunTaskBySy() {
+    public ResponseBodyVO<List<LineChartVO>> selectRunTaskBySy() {
         List<LineChartVO> list = homePageService.selectRunTaskChart();
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,list);
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, list);
     }
 
 
@@ -97,7 +98,6 @@ public class HomePageCtrl {
     }
 
 
-
     /**
      * 评测等级分布-饼图
      */
@@ -136,7 +136,7 @@ public class HomePageCtrl {
     @PreAuthorize("@AuthorityCheck.admin()")
     public ResponseBodyVO<List<LineChartVO>> selectAccess() {
         List<LineChartVO> list = homePageService.selectAccess();
-        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS,list);
+        return new ResponseBodyVO(ResponseBodyVO.Response.SUCCESS, list);
     }
 
 

+ 16 - 10
simulation-resource-server/src/main/java/com/css/simulation/resource/home/service/HomePageService.java

@@ -15,6 +15,7 @@ import com.css.simulation.resource.common.utils.PageUtil;
 import com.css.simulation.resource.feign.OauthClientService;
 import com.css.simulation.resource.home.mapper.HomePageMapper;
 import com.css.simulation.resource.log.mapper.LogMapper;
+import com.css.simulation.resource.project.mapper.SimulationProjectTaskMapper;
 import com.css.simulation.resource.system.mapper.UserMapper;
 import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
@@ -32,16 +33,17 @@ import java.util.stream.Collectors;
 public class HomePageService {
 
     @Resource
-    HomePageMapper homePageMapper;
-
+    private HomePageMapper homePageMapper;
+    @Resource
+    private SimulationProjectTaskMapper simulationProjectTaskMapper;
     @Resource
-    UserMapper userMapper;
+    private UserMapper userMapper;
 
     @Resource
-    LogMapper logMapper;
+    private LogMapper logMapper;
 
     @Resource
-    OauthClientService oauthClientService;
+    private OauthClientService oauthClientService;
 
 
     public ResponseBodyVO<HardwareVO> selectHardware() {
@@ -75,17 +77,21 @@ public class HomePageService {
         List<SystemServerPO> systemServerPOList = homePageMapper.selectAll();
         long count = systemServerPOList.stream().filter(system -> "gpu".equals(system.getServerType())).count();
         int onlineNumber = oauthClientService.online().getInfo();
-        if (onlineNumber == 0){
+        if (onlineNumber == 0) {
             onlineNumber = 1;
         }
-        ServiceVO build = ServiceVO.builder()
+
+        //* -------------------------------- 求动力学软件占用数量 --------------------------------
+        //1 查询手动运行任务 -> 项目 -> 车辆配置 -> 车辆模型 -> 模型类型
+        //2 查询自动运行任务 -> 子项目 -> 父项目 -> 车辆配置 -> 车辆模型 -> 模型类型
+        int dynamicsLicenseNumber = simulationProjectTaskMapper.selectTaskNumberOfCarsim();
+        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, ServiceVO.builder()
                 .userNumber(userMapper.selectCount())
                 .onlineNumber(onlineNumber)
                 .simulationNodeNumber((int) count)
                 .simulationLicenseNumber(homePageMapper.selectSimulationLicenseNumber())
-                .dynamicsLicenseNumber(0)   // 待定
-                .build();
-        return new ResponseBodyVO<>(ResponseBodyVO.Response.SUCCESS, build);
+                .dynamicsLicenseNumber(dynamicsLicenseNumber)   // 待定
+                .build());
     }
 
     public ResponseBodyVO<PageInfo<SystemServerVO>> selectServer(PageVO pageVO) {

+ 30 - 4
simulation-resource-server/src/main/java/com/css/simulation/resource/project/mapper/SimulationProjectTaskMapper.java

@@ -9,6 +9,7 @@ import api.common.pojo.vo.project.ProjectRunResultRatioNumVo;
 import api.common.pojo.vo.project.ProjectRunStateNumVo;
 import api.common.pojo.vo.project.SceneScoreVo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -20,7 +21,7 @@ public interface SimulationProjectTaskMapper {
 
     List<ManualProjectTaskPo> selectProjectTask(ProjectTaskParam vo);
 
-    List<ManualProjectTaskVo>  selectProjectTaskByProjectId(ProjectTaskParam vo);
+    List<ManualProjectTaskVo> selectProjectTaskByProjectId(ProjectTaskParam vo);
 
     Integer selectProjectTaskNumByProjectId(ProjectTaskParam vo);
 
@@ -44,9 +45,34 @@ public interface SimulationProjectTaskMapper {
 
     List<ManualProjectTaskVo> selectProjectTaskById(String id);
 
-
-
-
+    @Select("select sum(number)\n" +
+            "from (select count(*) number\n" +
+            "      from simulation_manual_project_task smpt\n" +
+            "               left join simulation_manual_project smp on smpt.p_id = smp.id\n" +
+            "               left join model_config mc on smp.vehicle = mc.id\n" +
+            "               left join model_vehicle mv on mc.vehicle_id = mv.id\n" +
+            "      where smpt.is_deleted = '0'\n" +
+            "        and smp.is_deleted = '0'\n" +
+            "        and mc.is_deleted = '0'\n" +
+            "        and mv.is_deleted = '0'\n" +
+            "        and smpt.run_state = 'Running'\n" +
+            "        and mv.parameter_type = '2'\n" +
+            "      union all\n" +
+            "      select count(*) number\n" +
+            "      from simulation_manual_project_task smpt\n" +
+            "               left join simulation_automatic_subproject sas on smpt.p_id = sas.id\n" +
+            "               left join simulation_automatic_project sap on sas.parent_id = sap.id\n" +
+            "               left join model_config mc on sap.vehicle = mc.id\n" +
+            "               left join model_vehicle mv on mc.vehicle_id = mv.id\n" +
+            "      where smpt.is_deleted = '0'\n" +
+            "        and sas.is_deleted = '0'\n" +
+            "        and sap.is_deleted = '0'\n" +
+            "        and mc.is_deleted = '0'\n" +
+            "        and mv.is_deleted = '0'\n" +
+            "        and smpt.run_state = 'Running'\n" +
+            "        and mv.parameter_type = '2') temp\n" +
+            ";")
+    int selectTaskNumberOfCarsim();
 
 
 }