From 638f3b042a0a29e287491e08a7ebe6f460b17532 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期一, 05 八月 2024 15:04:55 +0800
Subject: [PATCH] feat:首页考核报表

---
 ycl-server/src/main/java/com/ycl/platform/mapper/ContractScoreMapper.java            |   11 +++++++++--
 ycl-server/src/main/java/com/ycl/platform/controller/HomeController.java             |   11 +++++++----
 ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java |    5 +++++
 ycl-server/src/main/java/com/ycl/platform/service/IContractScoreService.java         |    7 +++++++
 ycl-server/src/main/resources/mapper/zgyw/ContractScoreMapper.xml                    |   11 +++++++++++
 5 files changed, 39 insertions(+), 6 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/HomeController.java b/ycl-server/src/main/java/com/ycl/platform/controller/HomeController.java
index 66a097f..ab3c6ce 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/HomeController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/HomeController.java
@@ -1,10 +1,7 @@
 package com.ycl.platform.controller;
 
 import com.ycl.platform.domain.query.HomeQuery;
-import com.ycl.platform.service.ITMonitorService;
-import com.ycl.platform.service.WorkOrderService;
-import com.ycl.platform.service.YwPointService;
-import com.ycl.platform.service.YwUnitService;
+import com.ycl.platform.service.*;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -25,6 +22,7 @@
     private final ITMonitorService tMonitorService;
     private final WorkOrderService workOrderService;
     private final YwPointService ywPointService;
+    private final IContractScoreService contractScoreService;
 
     @GetMapping("/ywUnitList")
     public AjaxResult ywUnitList() {
@@ -51,4 +49,9 @@
         return AjaxResult.success(ywUnitService.ywUnitCount());
     }
 
+    @GetMapping("/calculate")
+    public AjaxResult calculate() {
+        return AjaxResult.success(contractScoreService.calculate());
+    }
+
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/ContractScoreMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/ContractScoreMapper.java
index 69cec0c..9c9ec38 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/ContractScoreMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/ContractScoreMapper.java
@@ -1,9 +1,10 @@
 package com.ycl.platform.mapper;
 
-import java.util.List;
-
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ycl.platform.domain.entity.ContractScore;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * 鍚堝悓鎵撳垎Mapper鎺ュ彛
@@ -60,4 +61,10 @@
      * @return 缁撴灉
      */
     public int deleteDefaultScoreByIds(Long[] ids);
+
+    /**
+     * 棣栭〉鏍哥畻
+     * @return 鏍哥畻
+     */
+    List<Map<String, Object>> calculate();
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/IContractScoreService.java b/ycl-server/src/main/java/com/ycl/platform/service/IContractScoreService.java
index a55cfce..6240574 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/IContractScoreService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/IContractScoreService.java
@@ -5,6 +5,7 @@
 
 import java.io.Serializable;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 鍚堝悓鎵撳垎Service鎺ュ彛
@@ -46,4 +47,10 @@
      * @return 鏁版嵁
      */
     List<ContractScore> getDateRangeScoreByContractId(Long id, String startTime, String endTime);
+
+    /**
+     * 棣栭〉鏍哥畻
+     * @return 鏍哥畻
+     */
+    List<Map<String, Object>> calculate();
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
index 33d47fe..7e46a9c 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
@@ -17,6 +17,7 @@
 import java.io.Serializable;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -89,4 +90,8 @@
                 .list();
     }
 
+    @Override
+    public List<Map<String, Object>> calculate() {
+        return contractScoreMapper.calculate();
+    }
 }
diff --git a/ycl-server/src/main/resources/mapper/zgyw/ContractScoreMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/ContractScoreMapper.xml
index 92dee79..9446601 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/ContractScoreMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/ContractScoreMapper.xml
@@ -111,4 +111,15 @@
             #{id}
         </foreach>
     </delete>
+
+    <select id="calculate" resultType="java.util.Map">
+        SELECT
+            SUBSTRING_INDEX(rule_name, '/', 1) AS name,
+            COUNT(*) AS num,
+            -SUM(score) AS score
+        FROM t_contract_score
+        WHERE auditing_status = 'PASS' AND deleted = 0
+        GROUP BY SUBSTRING_INDEX(rule_name, '/', 1)
+    </select>
+
 </mapper>

--
Gitblit v1.8.0