From 179b12e3bf7031c2d41bca308759fc20a4c9eaed Mon Sep 17 00:00:00 2001 From: liumengyu <2459468901@qq.com> Date: Fri, 21 Aug 2026 12:08:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=AF=BC=E5=87=BA=20?= =?UTF-8?q?=E6=A8=A1=E7=89=88=E4=B8=8B=E8=BD=BD=20bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/jwgl/DownloadController.java | 102 +++ .../web/controller/jwgl/KSController.java | 77 ++ ...培养方案课程数据文件模板.xls | Bin 0 -> 61440 bytes .../main/resources/file/学员队模板.xls | Bin 0 -> 53760 bytes .../file/导入教学日志模板.xls | Bin 0 -> 27648 bytes .../file/教学场地管理模板.xls | Bin 0 -> 51712 bytes .../src/main/resources/file/教材管理.xls | Bin 0 -> 65024 bytes .../main/resources/file/教研室模板.xls | Bin 0 -> 57856 bytes .../resources/file/联教连训管理.xls | Bin 0 -> 34816 bytes .../file/课程课目数据文件模板.xls | Bin 0 -> 60416 bytes .../java/com/roomroot/jwgl/entity/BZLB.java | 2 +- .../java/com/roomroot/jwgl/entity/BZTGMX.java | 2 +- .../com/roomroot/jwgl/entity/DBVersion.java | 2 +- .../com/roomroot/jwgl/entity/FWBDRWB.java | 2 +- .../com/roomroot/jwgl/entity/FWBDWPRYB.java | 2 +- .../com/roomroot/jwgl/entity/FWBDXQB.java | 2 +- .../java/com/roomroot/jwgl/entity/JCXX.java | 4 +- .../java/com/roomroot/jwgl/entity/JSB.java | 2 +- .../java/com/roomroot/jwgl/entity/JXRW.java | 2 +- .../java/com/roomroot/jwgl/entity/JYB.java | 2 +- .../java/com/roomroot/jwgl/entity/JYSRWS.java | 2 +- .../java/com/roomroot/jwgl/entity/KB.java | 4 +- .../java/com/roomroot/jwgl/entity/KCB.java | 2 +- .../java/com/roomroot/jwgl/entity/KCBMBB.java | 2 +- .../com/roomroot/jwgl/entity/LBSBXXB.java | 2 +- .../com/roomroot/jwgl/entity/LBZYGLPT.java | 2 +- .../java/com/roomroot/jwgl/entity/LLB.java | 2 +- .../java/com/roomroot/jwgl/entity/MHKSQB.java | 2 +- .../java/com/roomroot/jwgl/entity/PXRW.java | 2 +- .../java/com/roomroot/jwgl/entity/SSKC.java | 6 +- .../java/com/roomroot/jwgl/entity/SSKCB.java | 2 +- .../java/com/roomroot/jwgl/entity/WSSXB.java | 2 +- .../java/com/roomroot/jwgl/entity/XKZYXX.java | 2 +- .../java/com/roomroot/jwgl/entity/XQ.java | 2 +- .../com/roomroot/jwgl/entity/XQJYXXB.java | 2 +- .../com/roomroot/jwgl/entity/XYCPCPXMB.java | 2 +- .../roomroot/jwgl/entity/XYDNDXQJBXXB.java | 4 +- .../java/com/roomroot/jwgl/entity/XYDRWB.java | 2 +- .../com/roomroot/jwgl/entity/XYDSCKCB.java | 2 +- .../com/roomroot/jwgl/entity/XYJXQJB.java | 2 +- .../com/roomroot/jwgl/entity/XYKCBKCP.java | 2 +- .../com/roomroot/jwgl/entity/XYQJSPB.java | 2 +- .../java/com/roomroot/jwgl/entity/XYXX.java | 6 +- .../java/com/roomroot/jwgl/entity/XYXXB.java | 2 +- .../java/com/roomroot/jwgl/entity/ZYB.java | 4 +- .../com/roomroot/jwgl/entity/ZYJXJHB.java | 2 +- .../roomroot/jwgl/mapper/DBVersionMapper.xml | 4 +- .../com/roomroot/jwgl/mapper/KBMapper.xml | 2 +- .../com/roomroot/jwgl/mapper/KCBMBBMapper.xml | 4 +- .../roomroot/jwgl/mapper/LBZYGLPTMapper.xml | 4 +- .../mapper/SystemInitializationMapper.xml | 4 +- .../jwgl/mapper/TeachingMaterialMapper.xml | 4 +- .../com/roomroot/jwgl/mapper/WSSXBMapper.xml | 4 +- .../com/roomroot/jwgl/mapper/XQMapper.xml | 4 +- .../roomroot/jwgl/mapper/XYCPCPXMBMapper.xml | 4 +- .../com/roomroot/jwgl/mapper/XYXXMapper.xml | 4 +- .../com/roomroot/jwgl/mapper/ZYBMapper.xml | 4 +- .../com/roomroot/jwgl/service/LogService.java | 3 + .../service/impl/DisciplineServiceImpl.java | 2 +- .../jwgl/service/impl/KBServiceImpl.java | 2 +- .../jwgl/service/impl/LogServiceImpl.java | 76 ++ .../roomroot/jwgl/utils/ExcelParseUtil.java | 64 ++ backend/sql/jwgl.sql | 0 backend/sql/quartz.sql | 174 ----- backend/sql/ry_20260417.sql | 723 ------------------ 65 files changed, 389 insertions(+), 964 deletions(-) create mode 100644 backend/roomroot-admin/src/main/java/com/roomroot/web/controller/jwgl/DownloadController.java create mode 100644 backend/roomroot-admin/src/main/resources/file/人才培养方案课程数据文件模板.xls create mode 100644 backend/roomroot-admin/src/main/resources/file/学员队模板.xls create mode 100644 backend/roomroot-admin/src/main/resources/file/导入教学日志模板.xls create mode 100644 backend/roomroot-admin/src/main/resources/file/教学场地管理模板.xls create mode 100644 backend/roomroot-admin/src/main/resources/file/教材管理.xls create mode 100644 backend/roomroot-admin/src/main/resources/file/教研室模板.xls create mode 100644 backend/roomroot-admin/src/main/resources/file/联教连训管理.xls create mode 100644 backend/roomroot-admin/src/main/resources/file/课程课目数据文件模板.xls delete mode 100644 backend/sql/jwgl.sql delete mode 100644 backend/sql/quartz.sql delete mode 100644 backend/sql/ry_20260417.sql diff --git a/backend/roomroot-admin/src/main/java/com/roomroot/web/controller/jwgl/DownloadController.java b/backend/roomroot-admin/src/main/java/com/roomroot/web/controller/jwgl/DownloadController.java new file mode 100644 index 00000000..9e6fe320 --- /dev/null +++ b/backend/roomroot-admin/src/main/java/com/roomroot/web/controller/jwgl/DownloadController.java @@ -0,0 +1,102 @@ +package com.roomroot.web.controller.jwgl; + +import com.roomroot.common.exception.ServiceException; +import com.roomroot.common.utils.file.FileUtils; +import jakarta.servlet.http.HttpServletResponse; +import org.apache.commons.io.IOUtils; +import org.springframework.core.io.ClassPathResource; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +/** + * 导入模版下载。模版文件位于 classpath:file/ + */ +@RestController +@RequestMapping("/download") +public class DownloadController { + + private static final String TEMPLATE_DIR = "file/"; + + /** + * 人才培养方案课程数据文件模板 + */ + @GetMapping("/training-program") + public void downloadTrainingProgram(HttpServletResponse response) throws IOException { + downloadTemplate(response, "人才培养方案课程数据文件模板.xls"); + } + + /** + * 学员队模板 + */ + @GetMapping("/student-team") + public void downloadStudentTeam(HttpServletResponse response) throws IOException { + downloadTemplate(response, "学员队模板.xls"); + } + + /** + * 导入教学日志模板 + */ + @GetMapping("/teaching-log") + public void downloadTeachingLog(HttpServletResponse response) throws IOException { + downloadTemplate(response, "导入教学日志模板.xls"); + } + + /** + * 教学场地管理模板 + */ + @GetMapping("/classroom") + public void downloadClassroom(HttpServletResponse response) throws IOException { + downloadTemplate(response, "教学场地管理模板.xls"); + } + + /** + * 教材管理模板 + */ + @GetMapping("/teaching-material") + public void downloadTeachingMaterial(HttpServletResponse response) throws IOException { + downloadTemplate(response, "教材管理.xls"); + } + + /** + * 教研室模板 + */ + @GetMapping("/jys") + public void downloadJys(HttpServletResponse response) throws IOException { + downloadTemplate(response, "教研室模板.xls"); + } + + /** + * 联教连训管理模板 + */ + @GetMapping("/joint-training") + public void downloadJointTraining(HttpServletResponse response) throws IOException { + downloadTemplate(response, "联教连训管理.xls"); + } + + /** + * 课程课目数据文件模板 + */ + @GetMapping("/course-subject") + public void downloadCourseSubject(HttpServletResponse response) throws IOException { + downloadTemplate(response, "课程课目数据文件模板.xls"); + } + + private void downloadTemplate(HttpServletResponse response, String fileName) throws IOException { + ClassPathResource resource = new ClassPathResource(TEMPLATE_DIR + fileName); + if (!resource.exists()) { + throw new ServiceException("模板文件不存在:" + fileName); + } + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); + FileUtils.setAttachmentResponseHeader(response, fileName); + try (InputStream is = resource.getInputStream(); OutputStream os = response.getOutputStream()) { + IOUtils.copy(is, os); + os.flush(); + } + } +} diff --git a/backend/roomroot-admin/src/main/java/com/roomroot/web/controller/jwgl/KSController.java b/backend/roomroot-admin/src/main/java/com/roomroot/web/controller/jwgl/KSController.java index 96c63159..2a766fb4 100644 --- a/backend/roomroot-admin/src/main/java/com/roomroot/web/controller/jwgl/KSController.java +++ b/backend/roomroot-admin/src/main/java/com/roomroot/web/controller/jwgl/KSController.java @@ -2,6 +2,7 @@ package com.roomroot.web.controller.jwgl; import com.roomroot.jwgl.dto.ks.HourStatisticsQuery; import com.roomroot.jwgl.entity.KSFBZ; +import com.roomroot.jwgl.entity.KSBZXM; import com.roomroot.jwgl.entity.KSXSFA; import com.roomroot.jwgl.service.KJService; import com.roomroot.jwgl.service.KSService; @@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; import jakarta.annotation.Resource; @@ -259,4 +261,79 @@ public class KSController { ksService.exportFeeStatistics(cond, response); } + // ======================== 联教联训管理(课时补助项目) ======================== + + /** + * 新增联教联训(课时补助项目)。 + *
对应表:课时补助项目。编号为空时由服务端生成 UUID。
+ */ + @PostMapping("/yjlx/add") + public Result模板列:序号, 补助项目名称, 性质, 依据, 开始日期, 结束日期, 项目说明, + * 项目备注, 教研室名称, 补助教员姓名, 补助课时量, 课时量备注
+ * + * @param file 上传的联教连训管理.xls 文件 + * @return 导入条数 + */ + @PostMapping("/yjlx/import") + public Result