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/InsOrderPlanServiceImpl.java | 62 +++++++++++++++++++++++++++----
1 files changed, 54 insertions(+), 8 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
index 74f8661..a141ab0 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -1035,7 +1035,8 @@
/**
* 鍘熷璁板綍淇濆瓨鍚庯紝鎸夊綋鍓嶆ā鏉块�夌敤鐨勮澶囩敓鎴愬緟濉啓鐨勪娇鐢ㄨ褰曘��
- * 鍚屼竴璁㈠崟銆佹牱鍝併�佽澶囧彧鐢熸垚涓�鏉★紱宸茬粡濉啓杩囩殑璁板綍涓嶄細琚鐩栥��
+ * 鍚屼竴璁㈠崟銆佹牱鍝併�佽澶囧彧鐢熸垚涓�鏉★紱娓╂箍搴﹀拰浣跨敤鏃ユ湡鍙栧師濮嬭褰曞揩鐓э紝
+ * 鏃堕棿榛樿 10:00-19:30锛涘凡缁忔墜宸ュ~鍐欒繃鐨勮褰曚笉浼氳瑕嗙洊銆�
*/
private synchronized void syncDeviceRecordsFromTemplate(Integer orderId, Integer sampleId,
Integer templateId, Integer userId) {
@@ -1052,6 +1053,24 @@
if (CollectionUtils.isEmpty(deviceIds)) {
return;
}
+ InsOrderStandardTemplate snapshot = insOrderStandardTemplateService.getOne(
+ Wrappers.<InsOrderStandardTemplate>lambdaQuery()
+ .eq(InsOrderStandardTemplate::getInsOrderId, orderId)
+ .eq(InsOrderStandardTemplate::getTemplateId, templateId)
+ .last("limit 1"));
+ String temperature = snapshot == null || StringUtils.isBlank(snapshot.getTemperature())
+ ? order.getTemperature() : snapshot.getTemperature();
+ String humidity = snapshot == null || StringUtils.isBlank(snapshot.getHumidity())
+ ? order.getHumidity() : snapshot.getHumidity();
+ // 鍘熷璁板綍娌℃湁妫�娴嬫棩鏈熸椂鐣欑┖锛屼笉榛樿褰撳ぉ
+ LocalDateTime useStartDate = null;
+ LocalDateTime useEndDate = null;
+ if (snapshot != null && snapshot.getDetectionTime() != null) {
+ useStartDate = snapshot.getDetectionTime().atTime(10, 0);
+ LocalDate endDate = snapshot.getDetectionEndTime() != null
+ ? snapshot.getDetectionEndTime() : snapshot.getDetectionTime();
+ useEndDate = endDate.atTime(19, 30);
+ }
User user = userMapper.selectById(userId);
String usePerson = user == null ? "" : user.getName();
String sampleCode = StringUtils.isNotBlank(sample.getSampleCode())
@@ -1060,19 +1079,46 @@
if (deviceId == null) {
continue;
}
- Long count = insOrderDeviceRecordMapper.selectCount(Wrappers.<InsOrderDeviceRecord>lambdaQuery()
- .eq(InsOrderDeviceRecord::getInsOrderId, orderId)
- .eq(InsOrderDeviceRecord::getDeviceId, deviceId)
- .eq(InsOrderDeviceRecord::getSampleCode, sampleCode));
- if (count != null && count > 0) {
+ InsOrderDeviceRecord existing = insOrderDeviceRecordMapper.selectOne(
+ Wrappers.<InsOrderDeviceRecord>lambdaQuery()
+ .eq(InsOrderDeviceRecord::getInsOrderId, orderId)
+ .eq(InsOrderDeviceRecord::getDeviceId, deviceId)
+ .eq(InsOrderDeviceRecord::getSampleCode, sampleCode)
+ .last("limit 1"));
+ if (existing != null) {
+ // 鍙ˉ鑷姩鐢熸垚浣嗗皻鏈~鍐欑殑璁板綍
+ if (existing.getUseStartDate() != null) {
+ continue;
+ }
+ InsOrderDeviceRecord update = new InsOrderDeviceRecord();
+ update.setId(existing.getId());
+ if (StringUtils.isBlank(existing.getTemperature())) {
+ update.setTemperature(temperature);
+ }
+ if (StringUtils.isBlank(existing.getHumidity())) {
+ update.setHumidity(humidity);
+ }
+ if (useStartDate != null) {
+ update.setUseStartDate(useStartDate);
+ update.setUseEndDate(useEndDate);
+ }
+ if (existing.getUsePersonId() == null) {
+ update.setUsePersonId(userId);
+ }
+ if (StringUtils.isBlank(existing.getUsePerson())) {
+ update.setUsePerson(usePerson);
+ }
+ insOrderDeviceRecordMapper.updateById(update);
continue;
}
InsOrderDeviceRecord record = new InsOrderDeviceRecord();
record.setInsOrderId(orderId);
record.setDeviceId(deviceId);
record.setSampleCode(sampleCode);
- record.setTemperature(order.getTemperature());
- record.setHumidity(order.getHumidity());
+ record.setTemperature(temperature);
+ record.setHumidity(humidity);
+ record.setUseStartDate(useStartDate);
+ record.setUseEndDate(useEndDate);
record.setUseBefore(1);
record.setUseAfter(1);
record.setUsePersonId(userId);
--
Gitblit v1.9.3