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/pojo/DeviceLedger.java | 23 +++++++++++
src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java | 10 +++++
src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java | 23 +++++++++++
src/main/resources/mapper/device/DeviceLedgerMapper.xml | 5 ++
4 files changed, 61 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java b/src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java
index 65faef8..26bdc91 100644
--- a/src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java
+++ b/src/main/java/com/ruoyi/device/dto/DeviceLedgerDto.java
@@ -5,10 +5,12 @@
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.dto.DateQueryDto;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
+import java.time.LocalDate;
import java.time.LocalDateTime;
/**
@@ -99,4 +101,25 @@
* 绉熸埛ID
*/
private Long tenantId;
+
+ @ApiModelProperty("鐘舵��")
+ private String status;
+
+ @ApiModelProperty("璁″垝杩愯鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate planRuntimeTime;
+
+ @ApiModelProperty("寮�濮嬭繍琛屾椂闂�")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime startRuntimeTime;
+
+ @ApiModelProperty("缁撴潫杩愯鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime endRuntimeTime;
+
+ @ApiModelProperty("杩愯鏃堕暱")
+ private String runtimeDuration;
}
diff --git a/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java b/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java
index 01233be..caa8f32 100644
--- a/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java
+++ b/src/main/java/com/ruoyi/device/pojo/DeviceLedger.java
@@ -108,4 +108,27 @@
*/
@TableField(fill = FieldFill.INSERT)
private Long tenantId;
+
+ /* *************************** 杩愯绠$悊 *************************** */
+
+ @ApiModelProperty("鐘舵��")
+ private String status;
+
+ @ApiModelProperty("璁″垝杩愯鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private LocalDate planRuntimeTime;
+
+ @ApiModelProperty("寮�濮嬭繍琛屾椂闂�")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime startRuntimeTime;
+
+ @ApiModelProperty("缁撴潫杩愯鏃堕棿")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime endRuntimeTime;
+
+ @ApiModelProperty("杩愯鏃堕暱")
+ private String runtimeDuration;
}
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 0687aad..31c2f0e 100644
--- a/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -2,6 +2,7 @@
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;
@@ -23,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;
@@ -59,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();
}
diff --git a/src/main/resources/mapper/device/DeviceLedgerMapper.xml b/src/main/resources/mapper/device/DeviceLedgerMapper.xml
index b2a849f..6fdef39 100644
--- a/src/main/resources/mapper/device/DeviceLedgerMapper.xml
+++ b/src/main/resources/mapper/device/DeviceLedgerMapper.xml
@@ -13,6 +13,11 @@
dl.supplier_name,
dl.unit,
dl.number,
+ dl.status,
+ dl.planRuntimeTime,
+ dl.startRuntimeTime,
+ dl.endRuntimeTime,
+ dl.runtimeDuration,
dl.tax_including_price_unit,
dl.tax_including_price_total,
dl.tax_rate,
--
Gitblit v1.9.3