From 26e2b3964f08031dfe6e70a82c60ad08530b28f7 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 22 九月 2025 16:56:13 +0800
Subject: [PATCH] 设备运行管理
---
src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java | 39 +++++++++++++++++++++++++++++++++++++++
1 files changed, 39 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 006ed90..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,8 +1,11 @@
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;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.device.dto.DeviceLedgerDto;
@@ -11,13 +14,17 @@
import com.ruoyi.device.pojo.DeviceLedger;
import com.ruoyi.device.service.IDeviceLedgerService;
import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
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;
@@ -40,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();
@@ -49,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();
}
@@ -88,4 +108,23 @@
}
}
+
+ @Override
+ public Boolean importData(MultipartFile file) throws IOException {
+ ExcelUtil<DeviceLedgerExeclDto> util = new ExcelUtil<DeviceLedgerExeclDto>(DeviceLedgerExeclDto.class);
+ List<DeviceLedgerExeclDto> userList = util.importExcel(file.getInputStream());
+ userList.forEach(c -> {
+ DeviceLedger deviceLedger = new DeviceLedger();
+ SysUser sysUser = sysUserMapper.selectUserByUserName(c.getCreateUser());
+ if (sysUser!=null) {
+ deviceLedger.setCreateUser(sysUser.getUserId().intValue());
+ }else {
+ deviceLedger.setCreateUser(SecurityUtils.getUserId().intValue());
+ }
+ BeanUtils.copyProperties(c,deviceLedger);
+ deviceLedgerMapper.insert(deviceLedger);
+ });
+
+ return true;
+ }
}
--
Gitblit v1.9.3