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/task/FeTempHumDateSchedule.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 52 insertions(+), 3 deletions(-) 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 娓╁害婀垮害鏁版嵁 -- Gitblit v1.9.3