From 3a1efe863c0cf30683870c204fb9b55ff6c35500 Mon Sep 17 00:00:00 2001
From: elkers <elkers@163.com>
Date: 星期四, 10 四月 2025 17:31:23 +0800
Subject: [PATCH] 显示数据

---
 src/main/java/com/nanjing/water/common/util/ThreadPoolUtil.java             |    2 
 src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java  |   36 ++++++++----
 src/test/java/com/nanjing/water/DateTimeTest.java                           |   13 +++-
 src/main/java/com/nanjing/water/repository/vo/WaterFacilityVO.java          |    1 
 src/main/java/com/nanjing/water/host/controller/AlarmHistoryController.java |  125 +++++++++++++++++++++++++++++++++++++++++
 5 files changed, 160 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/nanjing/water/common/util/ThreadPoolUtil.java b/src/main/java/com/nanjing/water/common/util/ThreadPoolUtil.java
index 6ede136..fda07a5 100644
--- a/src/main/java/com/nanjing/water/common/util/ThreadPoolUtil.java
+++ b/src/main/java/com/nanjing/water/common/util/ThreadPoolUtil.java
@@ -6,7 +6,7 @@
 /**
  * 线程池管理类
  */
-public final class ThreadPoolUtil {
+public final class  ThreadPoolUtil {
     /**
      * 多线程允许最大并发线程数的默认大小
      */
diff --git a/src/main/java/com/nanjing/water/host/controller/AlarmHistoryController.java b/src/main/java/com/nanjing/water/host/controller/AlarmHistoryController.java
new file mode 100644
index 0000000..a38cf76
--- /dev/null
+++ b/src/main/java/com/nanjing/water/host/controller/AlarmHistoryController.java
@@ -0,0 +1,125 @@
+/**
+#                                                    __----~~~~~~~~~~~------___
+#                                   .  .   ~~//====......          __--~ ~~
+#                   -.            \_|//     |||\\  ~~~~~~::::... /~
+#                ___-==_       _-~o~  \/    |||  \\            _/~~-
+#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
+#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
+#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
+# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
+# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
+#          '         ~-|      /|    |-~\~~       __--~~
+#                      |-~~-_/ |    |   ~\_   _-~            /\
+#                           /  \     \__   \/~                \__
+#                       _--~ _/ | .-~~____--~-/                  ~~==.
+#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
+#                                 -_     ~\      ~~---l__i__i__i--~~_/
+#                                 _-~-__   ~)  \--______________--~~
+#                               //.-~~~-~_--~- |-------~~~~~~~~
+#                                      //.-~~~--\
+#                  神兽保佑
+#                  永无BUG!
+*/
+package com.nanjing.water.host.controller;
+
+
+import com.nanjing.water.common.ExecutedResult;
+import com.nanjing.water.common.PagerResult;
+import com.nanjing.water.common.util.ParameterUtil;
+import com.nanjing.water.common.validator.ParameterValidateResult;
+import com.nanjing.water.common.validator.ParameterValidator;
+import com.nanjing.water.entity.request.alarmhistory.ReqCreateAlarmHistory;
+import com.nanjing.water.entity.request.alarmhistory.ReqModifyAlarmHistory;
+import com.nanjing.water.entity.search.SearchAlarmHistory;
+import com.nanjing.water.host.BasicController;
+import com.nanjing.water.repository.vo.AlarmHistoryVO;
+import com.nanjing.water.service.AlarmHistoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 60.报警信息
+ * @author lin.liu
+ * @order 60
+ */
+@RestController
+@RequestMapping(value = "alarmHistory")
+public class AlarmHistoryController extends BasicController {
+    @Autowired
+    private AlarmHistoryService service;
+
+    /**
+     * 创建[报警信息]
+     * @author lin.liu
+     */
+    @PostMapping(value = "create")
+    public ExecutedResult<String> create(@RequestBody ReqCreateAlarmHistory request) {
+        //#region 参数验证
+        ParameterValidator validator = new ParameterValidator()
+                // 非空
+                .addNotNullOrEmpty(ParameterUtil.named("报警参数"), request.getCode())
+                .addNotNullOrEmpty(ParameterUtil.named("设备id"), request.getFacilityId())
+                .addNotNullOrEmpty(ParameterUtil.named("设备名称"), request.getFacilityName())
+                .addNotNullOrEmpty(ParameterUtil.named("报警描述"), request.getDescription())
+                // 限制最大长度
+                //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50)
+                ;
+        ParameterValidateResult result = validator.validate();
+        if (result.getIsFiled()) {
+            return failed(result.getErrorMsg());
+        }
+        //#endregion
+        return service.create(request);
+    }
+
+    /**
+     * 编辑[报警信息]
+     * @author lin.liu
+     */
+    @PostMapping(value = "modify")
+    public ExecutedResult<String> modify(@RequestBody ReqModifyAlarmHistory request) {
+        //#region 参数验证
+        ParameterValidator validator = new ParameterValidator()
+                // 必须大于0
+                .addGreater(ParameterUtil.named("[报警信息]id"), request.getId(), 0L)
+                // 非空
+                //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName())
+                // 限制最大长度
+                //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50)
+                ;
+        ParameterValidateResult result = validator.validate();
+        if (result.getIsFiled()) {
+            return failed(result.getErrorMsg());
+        }
+        //#endregion
+        return service.modify(request);
+    }
+
+    /**
+     * 获取[报警信息]
+     * @author lin.liu
+     */
+    @GetMapping(value = "get/{id}")
+    public ExecutedResult<AlarmHistoryVO> get(@PathVariable Long id) {
+        return service.get(id);
+    }
+    /**
+     * 报警确认
+     * @author lin.liu
+     */
+    @GetMapping(value = "editConfirm")
+    public ExecutedResult<String> editConfirm(Long id,Integer status) {
+        return service.editConfirm(id,status);
+    }
+
+    /**
+     * 查询[报警信息]
+     * @author lin.liu
+     */
+    @PostMapping(value = "search")
+    public ExecutedResult<PagerResult<AlarmHistoryVO>> search(@RequestBody SearchAlarmHistory request) {
+        return service.search(request);
+    }
+}
diff --git a/src/main/java/com/nanjing/water/repository/vo/WaterFacilityVO.java b/src/main/java/com/nanjing/water/repository/vo/WaterFacilityVO.java
index 4f5b401..7633df3 100644
--- a/src/main/java/com/nanjing/water/repository/vo/WaterFacilityVO.java
+++ b/src/main/java/com/nanjing/water/repository/vo/WaterFacilityVO.java
@@ -39,6 +39,7 @@
 public class WaterFacilityVO extends WaterFacilityPO implements BasicVO {
     private String pointName;
     private String facilityTypeName;
+    private String totalTime;
     private List<WaterFacilityParameterVO> parameterVOList;
 
     @Override
diff --git a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java
index 06ca0df..1b456dd 100644
--- a/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java
+++ b/src/main/java/com/nanjing/water/service/WaterFacilityParameterService.java
@@ -264,6 +264,7 @@
         List<WaterFacilityParameterPO> parameterPOList = mapper.getList();
         if(ListUtil.isNotNullOrEmpty(facilityPOList)){
             result = CopierUtil.mapTo(facilityPOList, WaterFacilityVO.class);
+            int sumTime=0;
             for(WaterFacilityVO facilityVO:result){
                 List<WaterFacilityParameterPO> collect = parameterPOList.stream().filter(x -> x.getFacilityId().equals(facilityVO.getId())).collect(Collectors.toList());
                 if(ListUtil.isNotNullOrEmpty(collect)){
@@ -280,25 +281,36 @@
                         if("true".equals(parameterVO.getColumnValue())){
                             parameterVO.setColumnValue("开");
                         }
-//                        if(parameterVO.getColumnsCode().equals("B001Time")||parameterVO.getColumnsCode().equals("B002Time")){
-//                            BigDecimal bigDecimal=new BigDecimal(parameterVO.getColumnValue()).setScale(2,RoundingMode.DOWN);
-//                            if(bigDecimal.compareTo(new BigDecimal(60).setScale(2,RoundingMode.DOWN))>0){
-//                                BigDecimal data = bigDecimal.divide(new BigDecimal(60),2,BigDecimal.ROUND_HALF_UP);
-//                                parameterVO.setColumnValue(data+"分");
-//                            }
-//                            if(bigDecimal.compareTo(new BigDecimal(3600))>0){
-//                                BigDecimal data = bigDecimal.divide(new BigDecimal(3600),2,BigDecimal.ROUND_HALF_UP);
-//                                parameterVO.setColumnValue(data+"时");
-//                            }
-//                        }
+                        if(parameterVO.getColumnsCode().equals("B001TimeSum")||parameterVO.getColumnsCode().equals("B002TimeSum")){
+                            int time = new BigDecimal(parameterVO.getColumnValue()).intValue();
+                            sumTime=sumTime+time;
+                            if(sumTime>0){
+                                String timeString = timeString(sumTime);
+                                facilityVO.setTotalTime(timeString);
+                            }
+                        }
+                        if(parameterVO.getColumnsCode().equals("B001Time")||parameterVO.getColumnsCode().equals("B002Time")||parameterVO.getColumnsCode().equals("B001TimeSum")||parameterVO.getColumnsCode().equals("B002TimeSum")){
+                            //计算时分秒
+                            Integer time= new BigDecimal(parameterVO.getColumnValue()).intValue();
+                            if(time>0){
+                                String timeString = timeString(time);
+                                parameterVO.setColumnValue(timeString);
+                            }
+                        }
                     }
                     facilityVO.setParameterVOList(parameterVOList);
                 }
-
             }
+
         }
         return ExecutedResult.success(result);
     }
+    public String timeString(Integer time){
+        int hours=time/3600;
+        int minutes=(time%3600)/60;
+        int seconds=time%60;
+        return  hours+"时"+minutes+"分"+seconds+"秒";
+    }
     protected ExecutedResult<WaterFacilityParameterPO> check4Id(Long id) {
         WaterFacilityParameterPO exists = mapper.get(id);
         if (Objects.isNull(exists)) {
diff --git a/src/test/java/com/nanjing/water/DateTimeTest.java b/src/test/java/com/nanjing/water/DateTimeTest.java
index 07d51b2..4bf90ab 100644
--- a/src/test/java/com/nanjing/water/DateTimeTest.java
+++ b/src/test/java/com/nanjing/water/DateTimeTest.java
@@ -7,14 +7,19 @@
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.time.Duration;
 
 @RunWith(SpringJUnit4ClassRunner.class)
 public class DateTimeTest {
     @Test
     public void time2BCDTest() {
-        BigDecimal a=BigDecimal.valueOf(80);
-        BigDecimal b = BigDecimal.valueOf(60);
-        BigDecimal bigDecimal = a.divide(b,2,BigDecimal.ROUND_HALF_UP);
-        System.out.println(bigDecimal);
+       int a=100;
+       int hours=a/3600;
+       int minutes=(a%3600)/60;
+       int seconds=a%60;
+        System.out.printf("%d:%02d:%02d%n", hours, minutes, seconds);
+
+
+
     }
 }

--
Gitblit v1.9.3