From 01ed57def0d052ae87d95022013c64c760082610 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期五, 28 三月 2025 10:34:19 +0800
Subject: [PATCH] 修改温度生成定时任务问题
---
cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumDateServiceImpl.java | 7 +++
cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml | 1
cnas-require/src/main/java/com/ruoyi/require/task/FeTempHumDateSchedule.java | 55 ++++++++++++++++++++++++++-
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java | 14 +++++--
4 files changed, 69 insertions(+), 8 deletions(-)
diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumDateServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumDateServiceImpl.java
index 61ee538..34959ac 100644
--- a/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumDateServiceImpl.java
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/FeTempHumDateServiceImpl.java
@@ -134,8 +134,13 @@
// 娓╂箍搴﹁褰曟坊鍔犺褰曞憳
Integer userId = SecurityUtils.getUserId().intValue();
feTempHumRecordService.update(Wrappers.<FeTempHumRecord>lambdaUpdate()
+ .isNotNull(FeTempHumRecord::getMorningTestTime)
.eq(FeTempHumRecord::getDateId, feTempHumDate.getDateId())
- .set(FeTempHumRecord::getAfternoonRecorderId, userId)
.set(FeTempHumRecord::getMorningRecorderId, userId));
+
+ feTempHumRecordService.update(Wrappers.<FeTempHumRecord>lambdaUpdate()
+ .isNotNull(FeTempHumRecord::getAfternoonTime)
+ .eq(FeTempHumRecord::getDateId, feTempHumDate.getDateId())
+ .set(FeTempHumRecord::getAfternoonRecorderId, userId));
}
}
diff --git a/cnas-require/src/main/java/com/ruoyi/require/task/FeTempHumDateSchedule.java b/cnas-require/src/main/java/com/ruoyi/require/task/FeTempHumDateSchedule.java
index 5f32fd2..651f615 100644
--- a/cnas-require/src/main/java/com/ruoyi/require/task/FeTempHumDateSchedule.java
+++ b/cnas-require/src/main/java/com/ruoyi/require/task/FeTempHumDateSchedule.java
@@ -93,7 +93,9 @@
// 鏌ヨ璇曢獙鍖哄煙
FeTempHumDate feTempHumDate = feTempHumDateMapper.selectOne(Wrappers.<FeTempHumDate>lambdaQuery()
.eq(FeTempHumDate::getMonthDate, formattedDate)
- .eq(FeTempHumDate::getTestAreaName, collectLaboratory.getLaboratory()));
+ .eq(FeTempHumDate::getTestAreaName, collectLaboratory.getLaboratory())
+ .orderByDesc(FeTempHumDate::getCreateTime)
+ .last("limit 1"));
Integer dateId = feTempHumDate.getDateId();
// 鍒ゆ柇浠婂ぉ鏄惁鏈夋俯婀垮害璁板綍
FeTempHumRecord feTempHumRecord = record(dateId);
@@ -130,7 +132,9 @@
.eq(FeTempHumRecord::getDateId, dateId)
// 璁板綍鏃堕棿鍦ㄤ粖澶╀箣鍐�
.eq(FeTempHumRecord::getRecordDate, today)
- .between(FeTempHumRecord::getMorningTestTime, start, end));
+ .between(FeTempHumRecord::getMorningTestTime, start, end)
+ .orderByDesc(FeTempHumRecord::getTempHumId)
+ .last("limit 1"));
}
/**
@@ -163,7 +167,9 @@
// 鏌ヨ璇曢獙鍖哄煙
FeTempHumDate feTempHumDate = feTempHumDateMapper.selectOne(Wrappers.<FeTempHumDate>lambdaQuery()
.eq(FeTempHumDate::getMonthDate, formattedDate)
- .eq(FeTempHumDate::getTestAreaName, collectLaboratory.getLaboratory()));
+ .eq(FeTempHumDate::getTestAreaName, collectLaboratory.getLaboratory())
+ .orderByDesc(FeTempHumDate::getCreateTime)
+ .last("limit 1"));
Integer dateId = feTempHumDate.getDateId();
// 鏌ヨ浠婂ぉ鏄惁鏈夋俯婀垮害璁板綍
FeTempHumRecord feTempHumRecord = record(dateId);
@@ -200,6 +206,49 @@
}
/**
+ * 鏄熸湡澶╂墽琛屾坊鍔犵┖鐧芥暟鎹�
+ * 鑾峰彇娓╁害婀垮害
+ */
+// @Scheduled(cron = "0/5 * * * * *")
+ @Scheduled(cron = "0 0 9 * * 7") //
+ public void task3() {
+ checkLaboratoriesSchedule();
+
+ // 鑾峰彇鎵�鏈夌殑瀹為獙瀹�
+ List<CollectLaboratory> collectLaboratories = collectLaboratoryMapper.selectList(null);
+ // 閬嶅巻鑾峰彇瀹為獙瀹ょ紪鍙� 鑾峰彇娓╂箍搴� 淇濆瓨鍦ㄥ搴旂殑
+ for (CollectLaboratory collectLaboratory : collectLaboratories) {
+ // 鏌ヨ璇曢獙鍖哄煙
+ FeTempHumDate feTempHumDate = feTempHumDateMapper.selectOne(Wrappers.<FeTempHumDate>lambdaQuery()
+ .eq(FeTempHumDate::getMonthDate, formattedDate)
+ .eq(FeTempHumDate::getTestAreaName, collectLaboratory.getLaboratory())
+ .orderByDesc(FeTempHumDate::getCreateTime)
+ .last("limit 1"));
+ Integer dateId = feTempHumDate.getDateId();
+ // 鍒ゆ柇浠婂ぉ鏄惁鏈夋俯婀垮害璁板綍
+ // 鑾峰彇浠婂ぉ鐨勬棩鏈�
+ LocalDate today = LocalDate.now();
+ // 鏌ヨ浠婂ぉ鏄惁鏈夋俯婀垮害璁板綍
+ Long count = feTempHumRecordMapper.selectCount(Wrappers.<FeTempHumRecord>lambdaQuery()
+ // 鍝釜瀹為獙瀹�
+ .eq(FeTempHumRecord::getDateId, dateId)
+ // 璁板綍鏃堕棿鍦ㄤ粖澶╀箣鍐�
+ .eq(FeTempHumRecord::getRecordDate, today));
+ // 鏌ヨ鍑烘潵灏变唬琛ㄤ粖澶╄褰曡繃浜嗗氨涓嶈褰�
+ if (!count.equals(0L)) {
+ // 鏈夋俯搴︽箍搴﹁褰曞氨涓嶈褰�
+ continue;
+ }
+
+ // 鍒涘缓浠婂ぉ娓╂箍搴﹁褰曞璞� 璁板綍涓婂崍娓╁害婀垮害
+ FeTempHumRecord newFeTempHumRecord = new FeTempHumRecord();
+ newFeTempHumRecord.setRecordDate(LocalDate.now());
+ newFeTempHumRecord.setDateId(dateId);
+ feTempHumRecordMapper.insert(newFeTempHumRecord);
+ }
+ }
+
+ /**
* 鏍规嵁瀹為獙瀹ょ紪鍙疯幏鍙栨俯搴︽箍搴�
*
* @param collectTemperatureHumidity 娓╁害婀垮害鏁版嵁
diff --git a/cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml b/cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml
index b59bb72..070c999 100644
--- a/cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml
+++ b/cnas-require/src/main/resources/mapper/FeTempHumDateMapper.xml
@@ -21,6 +21,7 @@
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
</if>
+ order by month_date desc
</select>
<select id="selectFeTempHumDateIncludeFormattedDate" resultType="java.lang.Integer">
select count(*)
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 d69da06..b57a72f 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
@@ -949,13 +949,23 @@
// if (insProduct.getInspectionItem().contains("鑰佸寲")) {
// List<InsProductAnalysisDto> insProductAnalysisDtoList = insProductMapper.selectAnalysis(insProduct, ifsInventoryQuantity.getSupplierName());
//
+// if (insProductAnalysisDtoList.size() < 10) {
+// continue;
+// }
+//
// // 鍒ゆ柇褰撳墠妫�娴嬮」鏄惁鍋忓樊瓒呰繃10%
// List<String> laseValueList = insProductAnalysisDtoList.stream().map(InsProductAnalysisDto::getLastValue)
// .collect(Collectors.toList());
//
+// double deviation = isDeviationOverTenPercent(laseValueList, insProduct.getLastValue());
+// // 鍒ゆ柇鍋忓樊鏄惁澶т簬10
+// if (deviation > 10) {
+// // 鍙戦�侀�氱煡, 骞朵笖娣诲姞鏁版嵁
//
//
//
+//
+// }
// }
// }
// });
@@ -1953,10 +1963,6 @@
ConfigureBuilder builder = Configure.builder();
builder.useSpringEL(true);
- // 鑾峰彇褰撳墠鏃堕棿
- LocalDate currentDate = LocalDate.now();
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- String formattedDate = currentDate.format(formatter);
InputStream inputStream = this.getClass().getResourceAsStream("/static/small-report-template.docx");
XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render(
--
Gitblit v1.9.3