From 08ddfad4530a014094c06fe68b8c2d9a0753403a Mon Sep 17 00:00:00 2001
From: linwei <872216696@qq.com>
Date: Wed, 05 Aug 2026 14:09:29 +0800
Subject: [PATCH] fix(gd): 修复线索事件查询中的SQL语法错误
---
drone-service/drone-fw/src/main/java/org/sxkj/fw/device/wrapper/FwDeviceWrapper.java | 62 +++++++++++++++++++++++++-----
1 files changed, 51 insertions(+), 11 deletions(-)
diff --git a/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/wrapper/FwDeviceWrapper.java b/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/wrapper/FwDeviceWrapper.java
index 6dd0ee5..979d4ed 100644
--- a/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/wrapper/FwDeviceWrapper.java
+++ b/drone-service/drone-fw/src/main/java/org/sxkj/fw/device/wrapper/FwDeviceWrapper.java
@@ -18,15 +18,19 @@
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
+import org.sxkj.fw.device.dto.FwDeviceDTO;
import org.sxkj.fw.device.entity.FwDeviceEntity;
import org.sxkj.fw.device.vo.FwDeviceVO;
+
+import java.util.Calendar;
+import java.util.Date;
import java.util.Objects;
/**
- * 反无设备表 包装类,返回视图层所需的字段
+ * 设备表 包装类,返回视图层所需的字段
*
- * @author AIX
- * @since 2026-01-06
+ * @author aix
+ * @since 2026-01-08
*/
public class FwDeviceWrapper extends BaseEntityWrapper<FwDeviceEntity, FwDeviceVO> {
@@ -36,15 +40,51 @@
@Override
public FwDeviceVO entityVO(FwDeviceEntity fwDevice) {
- FwDeviceVO fwDeviceVO = Objects.requireNonNull(BeanUtil.copy(fwDevice, FwDeviceVO.class));
-
- //User createUser = UserCache.getUser(fwDevice.getCreateUser());
- //User updateUser = UserCache.getUser(fwDevice.getUpdateUser());
- //fwDeviceVO.setCreateUserName(createUser.getName());
- //fwDeviceVO.setUpdateUserName(updateUser.getName());
-
- return fwDeviceVO;
+ FwDeviceVO vo = Objects.requireNonNull(BeanUtil.copy(fwDevice, FwDeviceVO.class));
+ // 计算维护状态
+ vo.setMaintenanceStatus(calculateMaintenanceStatus(fwDevice.getUseDate(), fwDevice.getServiceLife()));
+ return vo;
}
+ /**
+ * 计算维护状态
+ *
+ * @param useDate 使用日期
+ * @param serviceLife 使用年限(单位:年)
+ * @return 维护状态:0-否,1-是(一个月内要到使用年限或已过期)
+ */
+ private Integer calculateMaintenanceStatus(Date useDate, Integer serviceLife) {
+ // 1. 参数校验:如果使用日期或使用年限为空,返回0
+ if (useDate == null || serviceLife == null || serviceLife <= 0) {
+ return 0;
+ }
+
+ // 2. 计算到期日期:使用日期 + 使用年限
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(useDate);
+ calendar.add(Calendar.YEAR, serviceLife);
+ Date expiryDate = calendar.getTime();
+
+ // 3. 计算当前日期
+ Date currentDate = new Date();
+
+ // 4. 如果当前日期已经超过到期日期,返回1(已过期)
+ if (currentDate.after(expiryDate)) {
+ return 1;
+ }
+
+ // 5. 计算距离到期日期的时间差(毫秒)
+ long diffInMillis = expiryDate.getTime() - currentDate.getTime();
+
+ // 6. 一个月的毫秒数(按30天计算)
+ long oneMonthInMillis = 30L * 24 * 60 * 60 * 1000;
+
+ // 7. 如果距离到期日期在一个月内,返回1;否则返回0
+ return diffInMillis <= oneMonthInMillis ? 1 : 0;
+ }
+
+ public FwDeviceEntity entityDTO(FwDeviceDTO fwDevice) {
+ return Objects.requireNonNull(BeanUtil.copy(fwDevice, FwDeviceEntity.class));
+ }
}
--
Gitblit v1.9.3