From 8ad863082097ffdcab4a8e7f426d344a1fe6f892 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期六, 07 十一月 2026 00:27:02 +0800
Subject: [PATCH] 修复人员管理接口校验与导出,完善设备保养计划与文件受控功能
---
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsProductServiceImpl.java | 39 +++++++++++++++++++++++++++++++++++++++
1 files changed, 39 insertions(+), 0 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 b59afae..3089f47 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
@@ -11,12 +11,14 @@
import com.ruoyi.framework.exception.ErrorException;
import com.ruoyi.inspect.dto.InsProductBindingDto;
import com.ruoyi.inspect.dto.WriteInspectionConditionDto;
+import com.ruoyi.inspect.mapper.InsOrderDeviceRecordMapper;
import com.ruoyi.inspect.mapper.InsOrderMapper;
import com.ruoyi.inspect.mapper.InsOrderStandardTemplateMapper;
import com.ruoyi.inspect.mapper.InsOrderTemplateDeviceMapper;
import com.ruoyi.inspect.mapper.InsProductMapper;
import com.ruoyi.inspect.mapper.InsSampleMapper;
import com.ruoyi.inspect.pojo.InsOrder;
+import com.ruoyi.inspect.pojo.InsOrderDeviceRecord;
import com.ruoyi.inspect.pojo.InsOrderStandardTemplate;
import com.ruoyi.inspect.pojo.InsOrderTemplateDevice;
import com.ruoyi.inspect.pojo.InsProduct;
@@ -28,6 +30,8 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
@@ -48,6 +52,8 @@
private InsOrderStandardTemplateMapper insOrderStandardTemplateMapper;
private InsOrderTemplateDeviceMapper insOrderTemplateDeviceMapper;
+
+ private InsOrderDeviceRecordMapper insOrderDeviceRecordMapper;
@Override
public int selectOrderManDay(Integer orderId) {
@@ -144,6 +150,7 @@
if (!hasSnapshotField && !dto.isDeviceIdsPresent()) {
throw new ErrorException("娌℃湁闇�瑕佷繚瀛樼殑妯℃澘妫�楠屾潯浠�");
}
+ refreshPendingDeviceRecords(dto);
return true;
}
InsOrder insOrder = new InsOrder();
@@ -153,6 +160,38 @@
return true;
}
+ /**
+ * 鍘熷璁板綍鐨勭幆澧冩潯浠跺悗琛ユ椂锛屽悓姝ュ埌灏氭湭濉啓鐨勪娇鐢ㄨ褰曘��
+ * 宸叉墜宸ユ敼鍔ㄨ繃鐨勮褰曪紙宸叉湁寮�濮嬫棩鏈燂級涓嶈鐩栥��
+ */
+ private void refreshPendingDeviceRecords(WriteInspectionConditionDto dto) {
+ boolean hasTemperature = dto.isTemperaturePresent()
+ && dto.getTemperature() != null && !dto.getTemperature().trim().isEmpty();
+ boolean hasDetectionRange = dto.isDetectionTimePresent() && dto.getDetectionTime() != null;
+ if (!hasTemperature && !hasDetectionRange) {
+ return;
+ }
+ List<Integer> deviceIds = insOrderTemplateDeviceMapper
+ .selectDeviceIdsByOrderAndTemplate(dto.getId(), dto.getTemplateId());
+ if (deviceIds == null || deviceIds.isEmpty()) {
+ return;
+ }
+ LocalDateTime start = null;
+ LocalDateTime end = null;
+ if (hasDetectionRange) {
+ start = dto.getDetectionTime().atTime(10, 0);
+ LocalDate endDate = dto.getDetectionEndTime() != null ? dto.getDetectionEndTime() : dto.getDetectionTime();
+ end = endDate.atTime(19, 30);
+ }
+ insOrderDeviceRecordMapper.update(null, Wrappers.<InsOrderDeviceRecord>lambdaUpdate()
+ .eq(InsOrderDeviceRecord::getInsOrderId, dto.getId())
+ .in(InsOrderDeviceRecord::getDeviceId, deviceIds)
+ .isNull(InsOrderDeviceRecord::getUseStartDate)
+ .set(hasTemperature, InsOrderDeviceRecord::getTemperature, dto.getTemperature())
+ .set(hasDetectionRange, InsOrderDeviceRecord::getUseStartDate, start)
+ .set(hasDetectionRange, InsOrderDeviceRecord::getUseEndDate, end));
+ }
+
//鏌ヨ寰呮椤圭洰
@Override
public IPage<InsProduct> selectNoProducts(Page page, InsProduct insProduct, Integer orderId, String ids) {
--
Gitblit v1.9.3