diff --git a/securitycontrol-commons/securitycontrol-commons-security/src/main/java/com/securitycontrol/common/security/interceptor/ParamSecureHandler.java b/securitycontrol-commons/securitycontrol-commons-security/src/main/java/com/securitycontrol/common/security/interceptor/ParamSecureHandler.java index be96e64..07df04f 100644 --- a/securitycontrol-commons/securitycontrol-commons-security/src/main/java/com/securitycontrol/common/security/interceptor/ParamSecureHandler.java +++ b/securitycontrol-commons/securitycontrol-commons-security/src/main/java/com/securitycontrol/common/security/interceptor/ParamSecureHandler.java @@ -71,7 +71,8 @@ public class ParamSecureHandler implements AsyncHandlerInterceptor { "/largeScreen/tb_project_progress_new/list4bing", "/largeScreen/engineeringSafetyAnalysis/list", "/largeScreen/engineeringSafetyAnalysis/environmental", - "/largeScreen/engineeringSafetyAnalysis/hazards" + "/largeScreen/engineeringSafetyAnalysis/hazards", + "/Dashapi/pages/dashInfo" }; /** diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/controller/DashboardPageController.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/controller/DashboardPageController.java new file mode 100644 index 0000000..c7e70c4 --- /dev/null +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/controller/DashboardPageController.java @@ -0,0 +1,37 @@ +package com.securitycontrol.screen.controller; + +import com.securitycontrol.common.core.web.controller.BaseController; +import com.securitycontrol.screen.service.DashboardService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +/** + * @className:DataAnalysisController + * @author:cwchen + * @date:2025-07-23-16:58 + * @version:1.0 + * @description:整体效能分析 + */ +@RestController +@RequestMapping("/Dashapi/pages") +@Slf4j +public class DashboardPageController extends BaseController { + + @Resource(name = "DashboardService") + private DashboardService service; + + @GetMapping("/dashInfo") + public ResponseEntity> getPageData() { + // 固定查询一个页面(比如整体效能分析) + Map overallEfficiency = service.getPageData(); + return ResponseEntity.ok(overallEfficiency); + } + +} diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/domain/DashboardPage.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/domain/DashboardPage.java new file mode 100644 index 0000000..8c57b73 --- /dev/null +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/domain/DashboardPage.java @@ -0,0 +1,14 @@ +package com.securitycontrol.screen.domain; + + +import lombok.Data; + +import java.util.Date; + +@Data +public class DashboardPage { + private Long id; + private String pageCode; + private String dataJson; + private Date updateTime; +} diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/mapper/DashboardMapper.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/mapper/DashboardMapper.java new file mode 100644 index 0000000..3aeb9e0 --- /dev/null +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/mapper/DashboardMapper.java @@ -0,0 +1,22 @@ +package com.securitycontrol.screen.mapper; + + +import com.securitycontrol.screen.domain.DashboardPage; +import org.apache.ibatis.annotations.MapKey; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Map; + +@Repository(value = "DashboardMapper") +public interface DashboardMapper { + @MapKey("id") + List> getKpis(); + @MapKey("id") + List> getBottlenecks(); + @MapKey("id") + List> getSuggestions(); + @MapKey("id") + List> getPageData(@Param("pageId") String pageId); +} diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/DashboardService.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/DashboardService.java new file mode 100644 index 0000000..55bbd28 --- /dev/null +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/DashboardService.java @@ -0,0 +1,9 @@ +package com.securitycontrol.screen.service; + + +import java.util.Map; + +public interface DashboardService { + + Map getPageData(); +} diff --git a/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/DashboardServiceImpl.java b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/DashboardServiceImpl.java new file mode 100644 index 0000000..3ac3818 --- /dev/null +++ b/securitycontrol-model/securitycontrol-screen/src/main/java/com/securitycontrol/screen/service/impl/DashboardServiceImpl.java @@ -0,0 +1,60 @@ +package com.securitycontrol.screen.service.impl; + +import com.securitycontrol.screen.mapper.DashboardMapper; +import com.securitycontrol.screen.service.DashboardService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service(value = "DashboardService") +@Slf4j +public class DashboardServiceImpl implements DashboardService { + + @Resource + private DashboardMapper dashboardMapper; + + @Override + public Map getPageData() { + Map result = new HashMap<>(); + List> kpis = dashboardMapper.getKpis(); // 获取所有 KPI 数据 + for (Map item : kpis) { + // 直接写死的数据 + double trendValue = 2.3; // 示例的变化量(比如较上月提高2.3%) + double trendPercentage = 2.3; // 示例的百分比变化 + + // 创建 trend 字段 + Map trend = new HashMap<>(); + + // 直接写死趋势方向 + String direction = "up"; // 假设上月的值较低,当前值提高了 + String trendText = String.format("较上月提高 %.1f%%", trendPercentage); // 文本显示 + + // 将趋势数据加入到每个 item 中 + trend.put("value", trendPercentage); + trend.put("direction", direction); + trend.put("text", trendText); + + // 将 trend 放入当前 item 中 + item.put("trend", trend); + } + +// 将处理后的 kpis 放入结果中 + result.put("kpis", kpis); + result.put("bottlenecks", dashboardMapper.getBottlenecks()); + result.put("suggestions", dashboardMapper.getSuggestions()); + + // 子页面 + result.put("personnelPage", dashboardMapper.getPageData("personnel")); + result.put("equipmentPage", dashboardMapper.getPageData("equipment")); + result.put("progressPage", dashboardMapper.getPageData("progress")); + + result.put("footer", "此页展示整体工地效能"); + + return result; + } + +} diff --git a/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/DashboardMapper.xml b/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/DashboardMapper.xml new file mode 100644 index 0000000..d164915 --- /dev/null +++ b/securitycontrol-model/securitycontrol-screen/src/main/resources/mapper/DashboardMapper.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + +