From 4f45f29e6b53f4c01b414409c5000ff4e212b3d9 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期五, 05 六月 2026 13:36:54 +0800
Subject: [PATCH] 增加eip
---
report-server/src/main/java/com/ruoyi/report/service/impl/DashboardServiceImpl.java | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 107 insertions(+), 0 deletions(-)
diff --git a/report-server/src/main/java/com/ruoyi/report/service/impl/DashboardServiceImpl.java b/report-server/src/main/java/com/ruoyi/report/service/impl/DashboardServiceImpl.java
new file mode 100644
index 0000000..16f0406
--- /dev/null
+++ b/report-server/src/main/java/com/ruoyi/report/service/impl/DashboardServiceImpl.java
@@ -0,0 +1,107 @@
+package com.ruoyi.report.service.impl;
+
+import com.ruoyi.report.dto.DashboardDto;
+import com.ruoyi.report.mapper.DashboardMapper;
+import com.ruoyi.report.service.DashboardService;
+import com.ruoyi.report.vo.DashboardOverviewVo;
+import com.ruoyi.report.vo.RankingVo;
+import com.ruoyi.report.vo.TaskCalendarVo;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+/**
+ * 鏁板瓧鍖栬闊崇湅鏉挎湇鍔″疄鐜�
+ */
+@Service
+@AllArgsConstructor
+public class DashboardServiceImpl implements DashboardService {
+
+ private DashboardMapper dashboardMapper;
+
+ @Override
+ public DashboardOverviewVo getOverview(DashboardDto dto) {
+ DashboardOverviewVo vo = new DashboardOverviewVo();
+
+ // 寰呭鐞嗙粺璁�
+ vo.setWaitReceive(dashboardMapper.getWaitReceive());
+ vo.setWaitInspection(dashboardMapper.getWaitInspection());
+ vo.setWaitAudit(dashboardMapper.getWaitAudit());
+ vo.setWaitReport(dashboardMapper.getWaitReport());
+
+ // 浠婃棩缁熻
+ vo.setTodayNewSample(dashboardMapper.getTodayNewSample());
+ vo.setTodayFinished(dashboardMapper.getTodayFinished());
+
+ // 杩�30澶╂楠岀粨鏋�
+ vo.setRawMaterialResult(dashboardMapper.getInsResultByDays(30, "1"));
+ vo.setSemiFinishedResult(dashboardMapper.getInsResultByDays(30, "2"));
+ vo.setFinishedProductResult(dashboardMapper.getInsResultByDays(30, "3"));
+
+ return vo;
+ }
+
+ @Override
+ public List<TaskCalendarVo> getHistory15Days(DashboardDto dto) {
+ return dashboardMapper.getHistoryDays(15, dto);
+ }
+
+ @Override
+ public List<TaskCalendarVo> getFuture15Days(DashboardDto dto) {
+ return dashboardMapper.getFutureDays(15, dto);
+ }
+
+ @Override
+ public List<RankingVo> getRanking(DashboardDto dto) {
+ // 鍚堝苟鍘熷璁板綍鎺掕鍜屾姤鍛婃帓琛�
+ List<RankingVo> originalRanking = dashboardMapper.getOriginalRecordRanking(dto);
+ List<RankingVo> reportRanking = dashboardMapper.getReportRanking(dto);
+
+ Map<Long, RankingVo> rankingMap = new HashMap<>();
+
+ // 澶勭悊鍘熷璁板綍鎺掕
+ for (int i = 0; i < originalRanking.size(); i++) {
+ RankingVo vo = originalRanking.get(i);
+ vo.setRank(i + 1);
+ vo.setFinishCount(vo.getSubmitCount());
+ rankingMap.put(vo.getUserId(), vo);
+ }
+
+ // 澶勭悊鎶ュ憡鎺掕
+ for (RankingVo report : reportRanking) {
+ RankingVo existing = rankingMap.get(report.getUserId());
+ if (existing != null) {
+ existing.setFinishCount(existing.getFinishCount() + report.getSubmitCount());
+ } else {
+ report.setRank(0);
+ report.setFinishCount(report.getSubmitCount());
+ rankingMap.put(report.getUserId(), report);
+ }
+ }
+
+ // 鎺掑簭骞惰缃帓鍚�
+ List<RankingVo> result = new ArrayList<>(rankingMap.values());
+ result.sort((a, b) -> b.getFinishCount().compareTo(a.getFinishCount()));
+ for (int i = 0; i < result.size(); i++) {
+ result.get(i).setRank(i + 1);
+ }
+
+ return result.size() > 10 ? result.subList(0, 10) : result;
+ }
+
+ @Override
+ public Map<String, Object> getInsResult(DashboardDto dto) {
+ Map<String, Object> result = new HashMap<>();
+ result.put("rawMaterial", dashboardMapper.getInsResultByDays(30, "1"));
+ result.put("semiFinished", dashboardMapper.getInsResultByDays(30, "2"));
+ result.put("finishedProduct", dashboardMapper.getInsResultByDays(30, "3"));
+ return result;
+ }
+
+ @Override
+ public List<Map<String, Object>> getVoiceQueue() {
+ return dashboardMapper.getVoiceQueue();
+ }
+
+}
\ No newline at end of file
--
Gitblit v1.9.3