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