From 8322676d29e1202e093016233b5c260d29fe92e7 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期五, 02 八月 2024 18:19:16 +0800
Subject: [PATCH] feat:运维到期预警

---
 ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml                     |   11 +++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java             |    2 +
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java  |   27 +++++++------
 ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java           |   14 ++++--
 ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml                    |   11 +++++
 ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java            |   14 ++++--
 ycl-server/src/main/java/com/ycl/platform/controller/HomeController.java       |   12 ++++++
 ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java             |    7 +++
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java |    6 +++
 ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java          |   11 ++++-
 10 files changed, 91 insertions(+), 24 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
index 4fd4a81..dab8936 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
@@ -33,10 +33,12 @@
 
     @ApiModelProperty("鐐逛綅寮�濮嬫椂闂�")
     @TableField("start_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime startTime;
 
     @ApiModelProperty("鐐逛綅缁撴潫鏃堕棿")
     @TableField("end_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime endTime;
 
     @ApiModelProperty("杩愮淮鍗曚綅")
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 95a4ab3..66a097f 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
@@ -3,6 +3,7 @@
 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 lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -23,6 +24,7 @@
     private final YwUnitService ywUnitService;
     private final ITMonitorService tMonitorService;
     private final WorkOrderService workOrderService;
+    private final YwPointService ywPointService;
 
     @GetMapping("/ywUnitList")
     public AjaxResult ywUnitList() {
@@ -39,4 +41,14 @@
         return AjaxResult.success(workOrderService.home(monitorQuery));
     }
 
+    @GetMapping("/ywPoint")
+    public AjaxResult ywPoint() {
+        return AjaxResult.success(ywPointService.home());
+    }
+
+    @GetMapping("/ywUnitCount")
+    public AjaxResult ywUnitCount() {
+        return AjaxResult.success(ywUnitService.ywUnitCount());
+    }
+
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java
index b7a099a..aada066 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/YwPointMapper.java
@@ -1,17 +1,15 @@
 package com.ycl.platform.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ycl.platform.base.BaseSelect;
 import com.ycl.platform.domain.entity.YwPoint;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ycl.platform.domain.query.YwPointQuery;
 import com.ycl.platform.domain.vo.YwPointVO;
-import com.ycl.platform.domain.form.YwPointForm;
-import java.util.List;
-
-import com.ycl.system.Result;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 杩愮淮鐐逛綅 Mapper 鎺ュ彛
@@ -31,4 +29,10 @@
     List<BaseSelect> selectData(@Param("keyword") String keyword, @Param("unitId") Integer unitId);
 
     IPage page(IPage<YwPointVO> page, @Param("query") YwPointQuery query);
+
+    /**
+     * 棣栭〉鍒版湡棰勮
+     * @return 鏁版嵁
+     */
+    List<YwPoint> home();
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java
index 572c8e6..603ee0c 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java
@@ -8,6 +8,7 @@
 import org.apache.ibatis.annotations.Mapper;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 杩愮淮鍗曚綅 Mapper 鎺ュ彛
@@ -31,4 +32,10 @@
      * @return
      */
     YwUnit getByUserId(Long userId);
+
+    /**
+     * 杩愮淮鍗曚綅杩濊娆℃暟
+     * @return 鏁版嵁
+     */
+    List<Map<String, Object>> ywUnitCount();
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
index a6e6d44..c449935 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
@@ -1,11 +1,12 @@
 package com.ycl.platform.service;
 
-import com.ycl.platform.domain.entity.YwPoint;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.platform.domain.entity.YwPoint;
 import com.ycl.platform.domain.form.BatchEditPointForm;
-import com.ycl.system.Result;
 import com.ycl.platform.domain.form.YwPointForm;
 import com.ycl.platform.domain.query.YwPointQuery;
+import com.ycl.system.Result;
+
 import java.util.List;
 
 /**
@@ -94,4 +95,10 @@
      * @return 鏁伴噺
      */
     boolean updateRecovery(List<Integer> pointIds, int recovery);
+
+    /**
+     * 棣栭〉鍒版湡棰勮
+     * @return 鏁版嵁
+     */
+    List<YwPoint> home();
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java b/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
index ada6bd0..b4e77fa 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
@@ -1,17 +1,15 @@
 package com.ycl.platform.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-
-import com.ycl.platform.domain.query.ReportQuery;
-import com.ycl.platform.domain.vo.ReportVO;
-import com.ycl.platform.domain.vo.YwUnitVO;
-import com.ycl.system.Result;
 import com.ycl.platform.domain.entity.YwUnit;
 import com.ycl.platform.domain.form.YwUnitForm;
 import com.ycl.platform.domain.query.YwUnitQuery;
+import com.ycl.platform.domain.vo.YwUnitVO;
+import com.ycl.system.Result;
 import com.ycl.system.model.LoginUser;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 杩愮淮鍗曚綅 鏈嶅姟绫�
@@ -87,4 +85,10 @@
      * @param loginUser
      */
     void setUnitInfo(LoginUser loginUser);
+
+    /**
+     * 杩愮淮鍗曚綅杩濊娆℃暟
+     * @return 鏁版嵁
+     */
+    List<Map<String, Object>> ywUnitCount();
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
index 258f830..ccc6ffb 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -28,6 +28,7 @@
 import org.springframework.util.StringUtils;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
@@ -215,4 +216,9 @@
                 .set(recovery == 0, YwPoint::getRecoveryTime, DateUtils.getNowDate())
                 .update();
     }
+
+    @Override
+    public List<YwPoint> home() {
+        return baseMapper.home();
+    }
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
index 4ffd0d0..dd9e350 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
@@ -1,19 +1,17 @@
 package com.ycl.platform.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-
 import com.ycl.platform.base.BaseSelect;
 import com.ycl.platform.domain.entity.YwUnit;
 import com.ycl.platform.domain.form.YwUnitForm;
 import com.ycl.platform.domain.query.YwUnitQuery;
 import com.ycl.platform.domain.vo.YwUnitVO;
-import com.ycl.system.Result;
 import com.ycl.platform.mapper.YwUnitMapper;
+import com.ycl.platform.service.YwUnitService;
+import com.ycl.system.Result;
 import com.ycl.system.domain.SysUserRole;
 import com.ycl.system.entity.SysRole;
 import com.ycl.system.entity.SysUser;
@@ -22,20 +20,20 @@
 import com.ycl.system.mapper.SysUserRoleMapper;
 import com.ycl.system.model.LoginUser;
 import com.ycl.system.page.PageUtil;
-import com.ycl.platform.service.YwUnitService;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ycl.utils.DateUtils;
 import com.ycl.utils.SecurityUtils;
-import org.springframework.stereotype.Service;
+import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
+import org.springframework.util.StringUtils;
 
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
-import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
-import lombok.RequiredArgsConstructor;
-import org.springframework.util.StringUtils;
 
 /**
  * 杩愮淮鍗曚綅 鏈嶅姟瀹炵幇绫�
@@ -258,4 +256,9 @@
                 .collect(Collectors.toList());
         return vos;
     }
+
+    @Override
+    public List<Map<String, Object>> ywUnitCount() {
+        return baseMapper.ywUnitCount();
+    }
 }
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
index d10f643..0932367 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwPointMapper.xml
@@ -52,4 +52,15 @@
         </where>
     </select>
 
+    <select id="home" resultType="com.ycl.platform.domain.entity.YwPoint">
+        <![CDATA[
+        SELECT id, point_name, start_time, end_time, status
+        FROM t_yw_point
+        WHERE
+        deleted = 0
+        AND TIMESTAMPDIFF(MONTH, NOW(), end_time) <= (SELECT config_value FROM sys_config WHERE config_key = 'operation.and.maintenance.expiration.warning.time')
+        ORDER BY end_time
+        ]]>
+    </select>
+
 </mapper>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
index 4692c3d..21f0424 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
@@ -108,4 +108,15 @@
                  INNER JOIN t_unit_people tup ON tup.unit_id = tyw.id and tyw.deleted = 0
                  INNER JOIN t_yw_people typ ON tup.yw_people_id = typ.id AND typ.user_id = #{userId} AND typ.deleted = 0
     </select>
+
+    <select id="ywUnitCount" resultType="java.util.Map">
+        SELECT
+            u.unit_name AS name,
+            COUNT(tcs.id) AS num
+        FROM
+            t_contract_score tcs
+                LEFT JOIN t_yw_unit u ON tcs.unit_id = u.id
+        WHERE tcs.deleted = 0
+        GROUP BY tcs.unit_id
+    </select>
 </mapper>

--
Gitblit v1.8.0