From 3ca5acd1cdd2abc3db64dcbe396d0d19fedd0819 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期一, 18 八月 2025 10:27:26 +0800 Subject: [PATCH] 维修时长 故障时长修改 --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++------------ 1 files changed, 35 insertions(+), 12 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java index 1ef4f8e..21de29a 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java @@ -208,21 +208,44 @@ BeanUtils.copyProperties(eamRepairOrderDto,eamRepairOrder); eamRepairOrder.setRepairStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name()); eamRepairOrder.setActualEndTime(new Date()); - //璁$畻缁翠慨鏃堕棿涓庢晠闅滄椂闂� + // 璁$畻缁翠慨鏃堕棿涓庢晠闅滄椂闂� Date startTime; Date endTime; - //缁翠慨缁撴潫鏃堕棿-缁翠慨寮�濮嬫椂闂�=缁翠慨鏃堕暱 - startTime=eamRepairOrder.getActualStartTime(); - endTime=eamRepairOrder.getActualEndTime(); - eamRepairOrder.setRepairDuration(TimeUtil.howLong(startTime,endTime,2)); - //缁翠慨缁撴潫鏃堕棿-鏁呴殰鎶ヤ慨鏃堕棿=鏁呴殰鏃堕暱 - EamReportRepair eamReportRepair=eamReportRepairService.getById(eamRepairOrder.getReportId()); - if (eamReportRepair==null){ - return false; + // 1. 璁$畻缁翠慨鏃堕暱锛堢淮淇粨鏉熸椂闂�-缁翠慨寮�濮嬫椂闂达級 + if (eamRepairOrder.getActualStartTime() != null && + eamRepairOrder.getActualEndTime() != null) { + startTime = eamRepairOrder.getActualStartTime(); + endTime = eamRepairOrder.getActualEndTime(); + // 纭繚缁撴潫鏃堕棿鍦ㄥ紑濮嬫椂闂翠箣鍚� + if (endTime.after(startTime)) { + long time = endTime.getTime() - startTime.getTime(); + double hours = (double) time / (1000 * 60 * 60); + eamRepairOrder.setRepairDuration(String.format("%.2f", hours)); + } else { + // 鏃堕棿椤哄簭閿欒澶勭悊 + eamRepairOrder.setRepairDuration("0.00"); + } + } else { + // 澶勭悊缂哄け鏃堕棿鐨勬儏鍐� + eamRepairOrder.setRepairDuration("0.00"); } - startTime=eamReportRepair.getFaultStartTime(); - endTime=eamRepairOrder.getActualEndTime(); - eamRepairOrder.setFaultDuration(TimeUtil.howLong(startTime,endTime,2)); + // 2. 璁$畻鏁呴殰鏃堕暱锛堢淮淇粨鏉熸椂闂�-鏁呴殰寮�濮嬫椂闂达級 + EamReportRepair eamReportRepair = eamReportRepairService.getById(eamRepairOrder.getReportId()); + if (eamReportRepair != null && + eamReportRepair.getFaultStartTime() != null && + eamRepairOrder.getActualEndTime() != null) { + startTime = eamReportRepair.getFaultStartTime(); + endTime = eamRepairOrder.getActualEndTime(); + if (endTime.after(startTime)) { + long time = endTime.getTime() - startTime.getTime(); + double hours = (double) time / (1000 * 60 * 60); + eamRepairOrder.setFaultDuration(String.format("%.2f", hours)); + } else { + eamRepairOrder.setFaultDuration("0.00"); + } + } else { + eamRepairOrder.setFaultDuration("0.00"); + } eamRepairOrder.setFaultStartTime(new Date()); this.updateById(eamRepairOrder); eamReportRepair.setReportStatus(EamRepairOrderRepairStatusEnum.UNDER_MAINTENANCE.name()); -- Gitblit v1.9.3