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