From 277e9a57417df1a594c65edda1c6a7b3985aa2bc Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 07 五月 2026 11:21:01 +0800
Subject: [PATCH] 空指针

---
 src/main/java/com/ruoyi/safe/service/impl/SafeTrainingServiceImpl.java |   44 ++++++++++++++++++++++----------------------
 1 files changed, 22 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 0c1f1d1..ee9c814 100644
--- a/src/main/java/com/ruoyi/safe/service/impl/SafeTrainingServiceImpl.java
+++ b/src/main/java/com/ruoyi/safe/service/impl/SafeTrainingServiceImpl.java
@@ -5,25 +5,23 @@
 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.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 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;
@@ -42,16 +40,14 @@
  * @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) {
@@ -61,7 +57,7 @@
     @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)
@@ -81,7 +77,7 @@
                 }
             }
             // 鐢熸垚瀹屾暣鐨勮绋嬬紪鍙�
-            String no = "KC-" + String.format("%s%03d", datePrefix, sequenceNumber);
+            String no = String.format("%s%03d", datePrefix, sequenceNumber);
             safeTraining.setCourseCode(no);
         }
         //鏍规嵁鏃堕棿鍒ゆ柇鍩硅鐘舵��
@@ -106,13 +102,17 @@
     @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);
+        if (safeTrainingFiles.size()>0){
+            safeTrainingDto.setSafeTrainingFileList(safeTrainingFiles);
+        }
         //鍩硅璁板綍璇︽儏
-        List<SafeTrainingDetailsDto> safeTrainingDetailsDto=safeTrainingDetailsMapper.getSafeTraining(id);
-        safeTrainingDto.setSafeTrainingDetailsDtoList(safeTrainingDetailsDto);
+        List<SafeTrainingDetailsDto> safeTrainingDetailsDto = safeTrainingDetailsMapper.getSafeTraining(id);
+        if (safeTrainingDetailsDto.size()>0) {
+            safeTrainingDto.setSafeTrainingDetailsDtoList(safeTrainingDetailsDto);
+        }
         return safeTrainingDto;
     }
 
@@ -132,16 +132,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 +155,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