From 7b8d1a674a058f6b5a5710d28733e0bf457d6775 Mon Sep 17 00:00:00 2001 From: FCD <2453864257@qq.com> Date: Mon, 11 Aug 2025 14:12:49 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=B7=A5=E5=8D=95=E6=95=85?= =?UTF-8?q?=E9=9A=9C=E5=81=9C=E6=9C=BA=E6=97=B6=E9=97=B4=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/service/impl/DevicePDAServiceImpl.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java index 4d95043a8..fb1dc10cf 100644 --- a/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java +++ b/op-modules/op-device/src/main/java/com/op/device/service/impl/DevicePDAServiceImpl.java @@ -1137,15 +1137,12 @@ public class DevicePDAServiceImpl implements IDevicePDAService { } else if (list.getFaultStartTime() != null) { downStartTime = list.getFaultStartTime(); } - LocalDateTime downStart = LocalDateTime.ofInstant(downStartTime.toInstant(), zoneId); - LocalDateTime downEnd = LocalDateTime.ofInstant(equRepairWorkOrder.getWorkEndTime().toInstant(), zoneId); - LocalDateTime downDateTime = LocalDateTime.from(downStart); - double downHours = downDateTime.until(downEnd, ChronoUnit.HOURS); - double downMinutes = ((downDateTime.until(downEnd, ChronoUnit.MINUTES) * 1.0) % 60) / 60; - double downSeconds = ((downDateTime.until(downEnd, ChronoUnit.SECONDS) * 1.0) % 3600) / 3600; - double downHour = BigDecimal.valueOf(downHours + downMinutes + downSeconds).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); - equRepairWorkOrder.setFaultDownTime(String.valueOf(downHour) + "小时"); + Date workEndTime = equRepairWorkOrder.getWorkEndTime(); + double diff = BigDecimal.valueOf((workEndTime.getTime() - downStartTime.getTime())) + .divide(BigDecimal.valueOf(3600000), 2, RoundingMode.HALF_UP) + .doubleValue(); + equRepairWorkOrder.setFaultDownTime(diff + "小时"); } //代码注释掉了 改了流程 之前是维修完成后,更改设备状态 和 设备运行报表 现在是审核通过之后,才会扣除