From 3abe9cbd0fcbd51f3a9049cfe286cd75735be4a7 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期五, 23 一月 2026 16:02:32 +0800
Subject: [PATCH] fix:委托方大屏接口修改

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ProjectController.java |   82 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 74 insertions(+), 8 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ProjectController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ProjectController.java
index 34c6365..2c3d23f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ProjectController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/ProjectController.java
@@ -12,6 +12,8 @@
 import com.ruoyi.system.service.*;
 import com.ruoyi.system.vo.*;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -21,10 +23,7 @@
 import javax.validation.Valid;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import static java.util.stream.Collectors.groupingBy;
@@ -59,9 +58,30 @@
     @Autowired
     private PositionService positionService;
 
-
     @Autowired
     private PlanService planService;
+
+    @Autowired
+    private ScreenAccountService screenAccountService;
+
+
+    @ApiOperation(value = "获取项目/委托方列表",response = LoginNameVo.class)
+    @GetMapping("/getLoginNameVoList")
+    public R<List<LoginNameVo>> getProjectList(@RequestParam Integer userId) {
+        ScreenAccount screenAccount = screenAccountService.getById(userId);
+        String clientProjectIds = screenAccount.getClientProjectIds();
+        if(screenAccount.getType()==1){
+            // 委托方
+            List<LoginNameVo> list = screenAccountService.getLoginClient(clientProjectIds);
+            return R.ok(list);
+        }else {
+            // 项目
+            List<LoginNameVo> list = screenAccountService.getLoginProject(clientProjectIds);
+            return R.ok(list);
+
+        }
+
+    }
 
 
 
@@ -84,6 +104,8 @@
         if(task!=null){
             projectVo.setCheckTime(task.getUpdateTime());
         }
+        List<DeviceCountVo> list = deviceUsageService.getProjectDeviceCount(id);
+        projectVo.setDeviceCountVos(list);
         return R.ok(projectVo);
     }
 
@@ -162,7 +184,7 @@
     }
 
 
-    @ApiOperation(value = "获取设备详情检查列表",response = DeviceDetailCheckListVo.class)
+    @ApiOperation(value = "获取检查计划列表",response = DeviceDetailCheckListVo.class)
     @PostMapping("/getDeviceDetailCheckList")
     public R<Page<DeviceDetailCheckListVo>> getDeviceDetailCheckList(@RequestBody DeviceDetailCheckListQuery query) {
         Page<DeviceDetailCheckListVo> page = new Page<>(query.getPageNum(), query.getPageSize());
@@ -172,14 +194,25 @@
     }
 
 
-    @ApiOperation(value = "获取设备详情检查资料列表")
+    @ApiOperation(value = "获取检查资料列表")
     @GetMapping("/getDeviceDetailCheckPlanList")
     public R<List<Check>> getDeviceDetailCheckPlanList(@RequestParam Integer planId) {
         List<Check> list = checkService.list(new LambdaQueryWrapper<Check>().eq(Check::getPlanId,planId).orderByDesc(Check::getTime));
+        if(!list.isEmpty()){
+            List<Integer> planIds = list.stream().map(Check::getPlanId).toList();
+            List<Plan> plans = planService.listByIds(planIds);
+
+            List<Integer> projectIds = list.stream().map(Check::getProjectId).toList();
+            List<Project> projects = projectService.listByIds(projectIds);
+            list.forEach(check -> {
+                check.setPlanName(Objects.requireNonNull(plans.stream().filter(plan -> plan.getId().equals(check.getPlanId())).findFirst().orElse(null)).getName());
+                check.setProjectName(Objects.requireNonNull(projects.stream().filter(project -> project.getId().equals(check.getProjectId())).findFirst().orElse(null)).getName());
+            });
+        }
         return R.ok(list);
     }
 
-    @ApiOperation(value = "获取设备详情检查资料详情")
+    @ApiOperation(value = "获取检查资料详情")
     @GetMapping("/getDeviceDetailCheckPlanDetail")
     public R<Check> getDeviceDetailCheckPlanDetail(@RequestParam Integer id) {
         Check check = checkService.getDeviceDetailCheckPlanDetail(id);
@@ -272,6 +305,13 @@
         return R.ok(list);
     }
 
+    @ApiOperation(value = "获取项目重大风险源详情")
+    @GetMapping("/getProjectDangerousSourceDetail/{id}")
+    public R<?> getProjectDangerousSourceDetail(@PathVariable Integer id) {
+        ProjectInfo projectInfo = projectInfoService.getById(id);
+        return R.ok(projectInfo);
+    }
+
     @ApiOperation(value = "设备类型")
     @GetMapping("/deviceTypes")
     public R<?> deviceTypeOptions(@RequestParam(value = "title", required = false) String title) {
@@ -308,4 +348,30 @@
         return  R.ok(list);
     }
 
+
+    @ApiOperation(value = "大屏风险趋势")
+    @PostMapping("/getProjectDangerousTrend")
+    public R<List<ProjectDangerousTrendVo>> getProjectDangerousTrend(@RequestBody @Valid ProjectDangerousTrendQuery query) {
+        List<ProjectDangerousTrendVo> list = projectInfoService.getProjectDangerousTrend(query);
+        return R.ok(list);
+    }
+
+    @ApiOperation(value = "获取项目列表")
+    @GetMapping("/list")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "clientId", value = "委托方ID", dataType = "int", paramType = "query"),
+            @ApiImplicitParam(name = "projectName", value = "项目名称", dataType = "string", paramType = "query")
+    })
+    public R<List<Project>> getList(Integer clientId, String projectName) {
+        LambdaQueryWrapper<Project> wrapper = new LambdaQueryWrapper<Project>().eq(Project::getDeleted, false);
+        if(clientId!=null){
+            wrapper.eq(Project::getClientId, clientId);
+        }
+        if(projectName!=null && !projectName.isEmpty()){
+            wrapper.like(Project::getName, projectName);
+        }
+        List<Project> list = projectService.list(wrapper);
+        return R.ok(list);
+
+    }
 }

--
Gitblit v1.7.1