From b525e2433bf5a4bb28848d4426c0ca07ec949cc2 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期一, 22 九月 2025 17:28:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
index 913156c..31c2f0e 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -1,6 +1,8 @@
 package com.ruoyi.device.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.utils.SecurityUtils;
@@ -22,6 +24,7 @@
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.time.ZoneOffset;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -44,6 +47,11 @@
 
     @Override
     public AjaxResult saveDeviceLedger(DeviceLedger deviceLedger) {
+        LambdaQueryWrapper<DeviceLedger> deviceLedgerLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        deviceLedgerLambdaQueryWrapper.eq(DeviceLedger::getDeviceModel,deviceLedger.getDeviceModel());
+        if (this.count(deviceLedgerLambdaQueryWrapper) > 0) {
+            return AjaxResult.error("璁惧鍨嬪彿宸插瓨鍦�");
+        }
         boolean save = this.save(deviceLedger);
         if (save){
             return AjaxResult.success();
@@ -53,6 +61,14 @@
 
     @Override
     public AjaxResult updateDeviceLedger(DeviceLedger deviceLedger) {
+        if (ObjectUtils.isNotNull(deviceLedger.getStartRuntimeTime()) && ObjectUtils.isNotNull(deviceLedger.getEndRuntimeTime())){
+            //璁$畻杩愯鏃堕暱
+            long start = deviceLedger.getStartRuntimeTime().toEpochSecond(ZoneOffset.UTC) * 1000;
+            long end = deviceLedger.getEndRuntimeTime().toEpochSecond(ZoneOffset.UTC) * 1000;
+            long diffMillis = Math.abs(end - start);
+            double time = diffMillis / (1000.0 * 60 * 60);// 姣 -> 绉� -> 鍒嗛挓 -> 灏忔椂
+            deviceLedger.setRuntimeDuration(time+"h");
+        }
         if (this.updateById(deviceLedger)) {
             return AjaxResult.success();
         }

--
Gitblit v1.9.3