From 1a4f300568a44f17153fb405efdee6baccb64869 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 29 一月 2026 14:25:55 +0800
Subject: [PATCH] 增加定时任务1.每个月清理一次已读数据2.每15分钟刷新培训计划状态

---
 src/main/java/com/ruoyi/safe/service/impl/SafeTrainingServiceImpl.java |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/ruoyi/safe/service/impl/SafeTrainingServiceImpl.java b/src/main/java/com/ruoyi/safe/service/impl/SafeTrainingServiceImpl.java
index 0c1f1d1..0179898 100644
--- a/src/main/java/com/ruoyi/safe/service/impl/SafeTrainingServiceImpl.java
+++ b/src/main/java/com/ruoyi/safe/service/impl/SafeTrainingServiceImpl.java
@@ -10,6 +10,7 @@
 import com.ruoyi.common.utils.HackLoopTableRenderPolicy;
 import com.ruoyi.production.pojo.ProductOrder;
 import com.ruoyi.production.pojo.ProductWorkOrder;
+import com.ruoyi.project.system.domain.SysNotice;
 import com.ruoyi.safe.dto.SafeTrainingDetailsDto;
 import com.ruoyi.safe.dto.SafeTrainingDto;
 import com.ruoyi.safe.mapper.SafeTrainingDetailsMapper;
@@ -21,15 +22,20 @@
 import com.ruoyi.safe.service.SafeTrainingService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URLEncoder;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 
@@ -106,12 +112,12 @@
     @Override
     public SafeTrainingDto getSafeTraining(Long id) {
         //涓昏〃鏁版嵁
-        SafeTrainingDto safeTrainingDto=safeTrainingMapper.getSafeTraining(id);
+        SafeTrainingDto safeTrainingDto = safeTrainingMapper.getSafeTraining(id);
         //闄勪欢
         List<SafeTrainingFile> safeTrainingFiles = safeTrainingFileMapper.selectList(Wrappers.<SafeTrainingFile>lambdaQuery().eq(SafeTrainingFile::getSafeTrainingId, id));
         safeTrainingDto.setSafeTrainingFileList(safeTrainingFiles);
         //鍩硅璁板綍璇︽儏
-        List<SafeTrainingDetailsDto> safeTrainingDetailsDto=safeTrainingDetailsMapper.getSafeTraining(id);
+        List<SafeTrainingDetailsDto> safeTrainingDetailsDto = safeTrainingDetailsMapper.getSafeTraining(id);
         safeTrainingDto.setSafeTrainingDetailsDtoList(safeTrainingDetailsDto);
         return safeTrainingDto;
     }
@@ -132,16 +138,16 @@
         //鍒犻櫎涓昏〃
         safeTrainingMapper.deleteBatchIds(ids);
         //鍒犻櫎闄勪欢
-        safeTrainingFileMapper.delete(Wrappers.<SafeTrainingFile>lambdaQuery().in(SafeTrainingFile::getSafeTrainingId,ids));
+        safeTrainingFileMapper.delete(Wrappers.<SafeTrainingFile>lambdaQuery().in(SafeTrainingFile::getSafeTrainingId, ids));
         //鍒犻櫎鍩硅璁板綍
-        safeTrainingDetailsMapper.delete(Wrappers.<SafeTrainingDetails>lambdaQuery().in(SafeTrainingDetails::getSafeTrainingId,ids));
+        safeTrainingDetailsMapper.delete(Wrappers.<SafeTrainingDetails>lambdaQuery().in(SafeTrainingDetails::getSafeTrainingId, ids));
         return 0;
     }
 
     @Override
     public void export(HttpServletResponse response, Long id) {
         SafeTrainingDto safeTrainingDto = safeTrainingMapper.getSafeTraining(id);
-        List<SafeTrainingDetailsDto> safeTrainingDetailsDtoList=safeTrainingDetailsMapper.getSafeTraining(id);
+        List<SafeTrainingDetailsDto> safeTrainingDetailsDtoList = safeTrainingDetailsMapper.getSafeTraining(id);
         InputStream inputStream = this.getClass().getResourceAsStream("/static/safe-training.docx");
         Configure configure = Configure.builder()
                 .bind("safeTrainingDetailsDtoList", new HackLoopTableRenderPolicy())
@@ -155,7 +161,7 @@
         try {
             response.setContentType("application/msword");
             String fileName = URLEncoder.encode(
-                    safeTrainingDto.getCourseCode()+"鍩硅涓庤�冩牳璁″垝", "UTF-8");
+                    safeTrainingDto.getCourseCode() + "鍩硅涓庤�冩牳璁″垝", "UTF-8");
             response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
             response.setHeader("Content-disposition",
                     "attachment;filename=" + fileName + ".docx");

--
Gitblit v1.9.3