From cecd7580b5e629173bdb5b258f2676d16d580f72 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 30 七月 2026 15:49:55 +0800
Subject: [PATCH] fix: 安全培训考核签到修改

---
 src/main/java/com/ruoyi/safe/service/impl/SafeTrainingServiceImpl.java |   37 +++++++++++++++----------------------
 1 files changed, 15 insertions(+), 22 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 fbf234b..0dd877f 100644
--- a/src/main/java/com/ruoyi/safe/service/impl/SafeTrainingServiceImpl.java
+++ b/src/main/java/com/ruoyi/safe/service/impl/SafeTrainingServiceImpl.java
@@ -5,37 +5,29 @@
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.deepoove.poi.XWPFTemplate;
 import com.deepoove.poi.config.Configure;
 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;
 import com.ruoyi.safe.mapper.SafeTrainingFileMapper;
-import com.ruoyi.safe.pojo.SafeTraining;
 import com.ruoyi.safe.mapper.SafeTrainingMapper;
+import com.ruoyi.safe.pojo.SafeTraining;
 import com.ruoyi.safe.pojo.SafeTrainingDetails;
 import com.ruoyi.safe.pojo.SafeTrainingFile;
 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 jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
 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;
 
@@ -48,26 +40,25 @@
  * @since 2026-01-29 10:54:06
  */
 @Service
+@RequiredArgsConstructor
 public class SafeTrainingServiceImpl extends ServiceImpl<SafeTrainingMapper, SafeTraining> implements SafeTrainingService {
 
-    @Autowired
-    private SafeTrainingMapper safeTrainingMapper;
+    private final SafeTrainingMapper safeTrainingMapper;
 
-    @Autowired
-    private SafeTrainingFileMapper safeTrainingFileMapper;
+    private final SafeTrainingFileMapper safeTrainingFileMapper;
 
-    @Autowired
-    private SafeTrainingDetailsMapper safeTrainingDetailsMapper;
+    private final SafeTrainingDetailsMapper safeTrainingDetailsMapper;
 
     @Override
     public IPage<SafeTrainingDto> pageSafeTraining(Page page, SafeTrainingDto safeTrainingDto) {
+        safeTrainingMapper.refreshTrainingState();
         return safeTrainingMapper.pageSafeTraining(page, safeTrainingDto);
     }
 
     @Override
     public int addOrUpdate(SafeTraining safeTraining) {
         if (ObjectUtils.isNull(safeTraining.getId())) {
-            String datePrefix = LocalDate.now().format(DateTimeFormatter.ofPattern("yyMMdd"));
+            String datePrefix ="KC-"+ LocalDate.now().format(DateTimeFormatter.ofPattern("yyMMdd"));
             // 鏌ヨ浠婃棩宸插瓨鍦ㄧ殑鏈�澶ц绋嬬紪鍙�
             QueryWrapper<SafeTraining> queryWrapper = new QueryWrapper<>();
             queryWrapper.likeRight("course_code", datePrefix)
@@ -87,17 +78,18 @@
                 }
             }
             // 鐢熸垚瀹屾暣鐨勮绋嬬紪鍙�
-            String no = "KC-" + String.format("%s%03d", datePrefix, sequenceNumber);
+            String no = String.format("%s%03d", datePrefix, sequenceNumber);
             safeTraining.setCourseCode(no);
         }
         //鏍规嵁鏃堕棿鍒ゆ柇鍩硅鐘舵��
         String trainingDate = safeTraining.getTrainingDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
         LocalDateTime openingTime = LocalDateTime.parse((trainingDate + safeTraining.getOpeningTime()), DateTimeFormatter.ofPattern("yyyy-MM-ddHH:mm:ss"));
         LocalDateTime endTime = LocalDateTime.parse((trainingDate + safeTraining.getEndTime()), DateTimeFormatter.ofPattern("yyyy-MM-ddHH:mm:ss"));
-        if (LocalDateTime.now().isBefore(openingTime)) {
+        LocalDateTime now = LocalDateTime.now();
+        if (now.isBefore(openingTime)) {
             //鏈紑濮�
             safeTraining.setState(0);
-        } else if (LocalDateTime.now().isAfter(endTime)) {
+        } else if (!now.isBefore(endTime)) {
             //宸茬粨鏉�
             safeTraining.setState(2);
         } else {
@@ -111,6 +103,7 @@
 
     @Override
     public SafeTrainingDto getSafeTraining(Long id) {
+        safeTrainingMapper.refreshTrainingState();
         //涓昏〃鏁版嵁
         SafeTrainingDto safeTrainingDto = safeTrainingMapper.getSafeTraining(id);
         //闄勪欢

--
Gitblit v1.9.3