From 3d397976d08f0359b8cfeb4e4f22403ae5d0c04f Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期六, 24 十月 2026 20:44:14 +0800
Subject: [PATCH] feat(device): 设备核查计划附件与设备使用记录联动改造
---
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java | 30 ++++++++++++++++++++++++++----
1 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java
index b5d0e0f..b59afae 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java
@@ -77,8 +77,25 @@
if (snapshot == null) {
throw new ErrorException("鏈壘鍒板綋鍓嶆ā鏉跨殑鍘熷璁板綍蹇収");
}
- boolean hasSnapshotField = dto.isTemperaturePresent() || dto.isHumidityPresent()
- || dto.isDetectionTimePresent() || dto.isDetectionPlacePresent()
+ boolean hasDetectionRange = dto.isDetectionTimePresent() || dto.isDetectionEndTimePresent();
+ if (hasDetectionRange) {
+ if (!dto.isDetectionTimePresent()) {
+ throw new ErrorException("璇烽�夋嫨瀹屾暣鐨勬娴嬫椂闂磋寖鍥�");
+ }
+ // 鍏煎鏃у鎴风鍙彁浜ゅ崟涓棩鏈燂紱鏂板鎴风蹇呴』鍚屾椂鎻愪氦璧锋鏃ユ湡鎴栧悓鏃舵竻绌恒��
+ if (!dto.isDetectionEndTimePresent()) {
+ dto.setDetectionEndTime(dto.getDetectionTime());
+ }
+ if ((dto.getDetectionTime() == null) != (dto.getDetectionEndTime() == null)) {
+ throw new ErrorException("璇烽�夋嫨瀹屾暣鐨勬娴嬫椂闂磋寖鍥�");
+ }
+ if (dto.getDetectionTime() != null
+ && dto.getDetectionEndTime().isBefore(dto.getDetectionTime())) {
+ throw new ErrorException("妫�娴嬬粨鏉熸棩鏈熶笉鑳芥棭浜庡紑濮嬫棩鏈�");
+ }
+ }
+ boolean hasSnapshotField = dto.isTemperaturePresent() || hasDetectionRange
+ || dto.isDetectionPlacePresent()
|| dto.isInsResultPresent();
if (hasSnapshotField) {
insOrderStandardTemplateMapper.update(null,
@@ -86,16 +103,21 @@
.eq(InsOrderStandardTemplate::getId, snapshot.getId())
.set(dto.isTemperaturePresent(),
InsOrderStandardTemplate::getTemperature, dto.getTemperature())
- .set(dto.isHumidityPresent(),
- InsOrderStandardTemplate::getHumidity, dto.getHumidity())
.set(dto.isDetectionTimePresent(),
InsOrderStandardTemplate::getDetectionTime, dto.getDetectionTime())
+ .set(hasDetectionRange,
+ InsOrderStandardTemplate::getDetectionEndTime, dto.getDetectionEndTime())
.set(dto.isDetectionPlacePresent(),
InsOrderStandardTemplate::getDetectionPlace, dto.getDetectionPlace())
.set(dto.isInsResultPresent(),
InsOrderStandardTemplate::getInsResult, dto.getInsResult()));
}
if (dto.isDeviceIdsPresent()) {
+ // 鎵嬪姩閫夋嫨鎴栨竻绌洪兘瑙嗕负宸插垵濮嬪寲锛屽悗缁繘鍏ヤ换鍔′笉寰楀啀娆″鐢ㄦ爣鍑嗗簱榛樿鍊笺��
+ insOrderStandardTemplateMapper.update(null,
+ Wrappers.<InsOrderStandardTemplate>lambdaUpdate()
+ .eq(InsOrderStandardTemplate::getId, snapshot.getId())
+ .set(InsOrderStandardTemplate::getDeviceDefaultsInitialized, 1));
insOrderTemplateDeviceMapper.delete(
Wrappers.<InsOrderTemplateDevice>lambdaQuery()
.eq(InsOrderTemplateDevice::getInsOrderId, dto.getId())
--
Gitblit v1.9.3