From e8e73529983bf656d8aa6627215045f56cc27103 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期一, 24 二月 2025 11:01:00 +0800
Subject: [PATCH] Merge branch 'dev' into dev_ly

---
 cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrainingController.java |  246 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 246 insertions(+), 0 deletions(-)

diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrainingController.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrainingController.java
new file mode 100644
index 0000000..203d834
--- /dev/null
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrainingController.java
@@ -0,0 +1,246 @@
+package com.ruoyi.personnel.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.numgen.NumberGenerator;
+import com.ruoyi.personnel.dto.PersonTrainingDetailedDto;
+import com.ruoyi.personnel.dto.PersonTrainingDto;
+import com.ruoyi.personnel.dto.PersonTrainingRecordDto;
+import com.ruoyi.personnel.dto.PersonTrainingRecordSubmitDto;
+import com.ruoyi.personnel.mapper.PersonTrainingDetailedFileMapper;
+import com.ruoyi.personnel.pojo.PersonTraining;
+import com.ruoyi.personnel.pojo.PersonTrainingDetailed;
+import com.ruoyi.personnel.pojo.PersonTrainingDetailedFile;
+import com.ruoyi.personnel.pojo.PersonTrainingRecord;
+import com.ruoyi.personnel.service.PersonTrainingDetailedService;
+import com.ruoyi.personnel.service.PersonTrainingRecordService;
+import com.ruoyi.personnel.service.PersonTrainingService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * <p>
+ * 鍩硅璁″垝 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-10-11 01:11:49
+ */
+@Api(tags = "浜哄憳 - 鍩硅璁″垝")
+@RestController
+@RequestMapping("/personTraining")
+public class PersonTrainingController {
+
+    @Autowired
+    private PersonTrainingService personTrainingService;
+
+    @Autowired
+    private PersonTrainingDetailedService personTrainingDetailedService;
+
+    @Autowired
+    private PersonTrainingRecordService personTrainingRecordService;
+
+    @Autowired
+    private PersonTrainingDetailedFileMapper personTrainingDetailedFileMapper;
+
+    @Autowired
+    private NumberGenerator<PersonTrainingDetailed> numberGenerator;
+
+    @ApiOperation(value = "鍩硅璁″垝 瀵煎叆")
+    @PostMapping("personTrainingImport")
+    public Result<?> personTrainingImport(@RequestPart("file") MultipartFile file, PersonTraining training) {
+        personTrainingService.personTrainingImport(file, training);
+        return Result.success();
+    }
+
+    @ApiOperation(value = "鍩硅璁″垝 鍒犻櫎")
+    @DeleteMapping("personTrainingDelete")
+    public Result<?> personTrainingDelete(@RequestParam("id") Integer id) {
+        personTrainingService.personTrainingDelete(id);
+        return Result.success();
+    }
+
+    @ApiOperation(value = "鍩硅璁″垝 鏌ヨ")
+    @GetMapping("personTrainingSelect")
+    public Result<IPage<PersonTrainingDto>> personTrainingSelect(Page page, String compilerName, String departmentId) {
+        IPage<PersonTrainingDto> iPage = personTrainingService.personTrainingSelect(page, compilerName, departmentId);
+        return Result.success(iPage);
+    }
+
+    @ApiOperation(value = "骞村害鍩硅璁″垝 瀹℃牳")
+    @PostMapping("reviewAnnualPersonnelTraining")
+    public Result<?> reviewAnnualPersonnelTraining(@RequestBody PersonTraining training) {
+        personTrainingService.reviewAnnualPersonnelTraining(training);
+        return Result.success();
+    }
+
+    @ApiOperation(value = "鍩硅璁″垝 鎵瑰噯")
+    @PostMapping("approveAnnualPersonnelTraining")
+    public Result<?> approveAnnualPersonnelTraining(@RequestBody PersonTraining training) {
+        personTrainingService.approveAnnualPersonnelTraining(training);
+        return Result.success();
+    }
+
+
+    @ApiOperation(value = "骞村害璁″垝鏄庣粏琛� 鏂板/缂栬緫")
+    @PostMapping("addOrUpdatePersonTrainingDetailed")
+    public Result<?> addOrUpdatePersonTrainingDetailed(@RequestBody PersonTrainingDetailed personTrainingDetailed) {
+        if (ObjectUtils.isEmpty(personTrainingDetailed.getId())) {
+            personTrainingDetailed.setState(3);
+        }
+        personTrainingDetailedService.saveOrUpdate(personTrainingDetailed);
+        return Result.success();
+    }
+
+
+    @ApiOperation(value = "骞村害璁″垝鏄庣粏琛� 鎵归噺鍒犻櫎")
+    @DeleteMapping("deleteAnnualPlanDetailTable")
+    public Result<?> deleteAnnualPlanDetailTable(String ids) {
+        personTrainingDetailedService.deleteAnnualPlanDetailTable(ids);
+        return Result.success();
+    }
+
+
+    @ApiOperation(value = "骞村害璁″垝鏄庣粏琛� 鏌ヨ")
+    @GetMapping("queryTheAnnualPlanDetailsTable")
+    public Result<IPage<PersonTrainingDetailedDto>> queryTheAnnualPlanDetailsTable(Page page,
+                                                                                   String trainingLecturerName, String courseCode,
+                                                                                   String trainingDate, Integer id, Integer userId) {
+        IPage<PersonTrainingDetailedDto> iPage = personTrainingDetailedService.queryTheAnnualPlanDetailsTable(page,
+                trainingLecturerName, courseCode, trainingDate, id, userId);
+        return Result.success(iPage);
+    }
+
+
+    @ApiOperation(value = "鍩硅涓庤�冩牳璁板綍 鏌ヨ")
+    @GetMapping("trainingAndAssessmentRecordsPage")
+    public Result<List<PersonTrainingRecordDto>> trainingAndAssessmentRecordsPage(Integer trainingDetailedId,
+                                                                                   String userName) {
+        List<PersonTrainingRecordDto> list = personTrainingRecordService.trainingAndAssessmentRecordsPage(trainingDetailedId, userName);
+        return Result.success(list);
+    }
+
+
+    @ApiOperation(value = "鍩硅涓庤�冩牳璁板綍 鏂板浜哄憳")
+    @PostMapping("newPersonnelAddedToTrainingRecords")
+    public Result<?> newPersonnelAddedToTrainingRecords(@RequestBody List<PersonTrainingRecord> personTrainingRecord) {
+        personTrainingRecordService.saveBatch(personTrainingRecord);
+        return Result.success();
+    }
+
+
+    @ApiOperation(value = "鍩硅涓庤�冩牳璁板綍 璁ら")
+    @PostMapping("claimOfTrainingAndAssessmentRecords")
+    public Result<?> claimOfTrainingAndAssessmentRecords(@RequestParam("claimAndClaim") Boolean claimAndClaim,
+                                                         @RequestParam("courseId") Integer courseId) {
+        personTrainingRecordService.claimOfTrainingAndAssessmentRecords(claimAndClaim, courseId);
+        return Result.success();
+    }
+
+
+    @ApiOperation(value = "鍩硅涓庤�冩牳璁板綍 鎻愪氦/鎾ら攢")
+    @PostMapping("trainingAndAssessmentRecordsAdded")
+    public Result<?> trainingAndAssessmentRecordsAdded(@RequestBody PersonTrainingRecordSubmitDto personTrainingRecordSubmitDto) {
+        personTrainingRecordService.trainingAndAssessmentRecordsAdded(personTrainingRecordSubmitDto);
+        return Result.success();
+    }
+
+    @ApiOperation(value = "鍩硅涓庤�冩牳璁板綍 璇勪环")
+    @PostMapping("trainingAndAssessmentRecordsEvaluate")
+    public Result<?> trainingAndAssessmentRecordsEvaluate(@RequestBody PersonTrainingRecordSubmitDto personTrainingRecordSubmitDto) {
+        personTrainingDetailedService.update(Wrappers.<PersonTrainingDetailed>lambdaUpdate()
+                .eq(PersonTrainingDetailed::getId, personTrainingRecordSubmitDto.getTrainingDetailedId())
+                .set(PersonTrainingDetailed::getComprehensiveAssessment, personTrainingRecordSubmitDto.getComprehensiveAssessment())
+                .set(PersonTrainingDetailed::getAssessmentDate, personTrainingRecordSubmitDto.getAssessmentDate())
+                .set(PersonTrainingDetailed::getState, personTrainingRecordSubmitDto.getState()));
+        return Result.success();
+    }
+
+
+    @ApiOperation(value = "鍩硅涓庤�冩牳璁板綍 鍒犻櫎")
+    @DeleteMapping("deleteTrainingAndAssessmentRecords")
+    public Result<?> deleteTrainingAndAssessmentRecords(String ids) {
+        personTrainingRecordService.deleteTrainingAndAssessmentRecords(ids);
+        return Result.success();
+    }
+
+    @PostMapping("outOfFocusPreservation")
+    public Result<?> outOfFocusPreservation(@RequestBody PersonTrainingRecord personTrainingRecord) {
+        personTrainingRecordService.updateById(personTrainingRecord);
+        return Result.success();
+    }
+
+    /**
+     * 瀵煎嚭浜哄憳鍩硅璁″垝
+     * @return
+     */
+
+    @ApiOperation(value = "瀵煎嚭浜哄憳鍩硅璁″垝")
+    @GetMapping("/exportPersonTraining")
+    public void exportPersonTraining(Integer id, HttpServletResponse response){
+        personTrainingService.exportPersonTraining(id, response);
+    }
+
+    /**
+     * 瀵煎嚭浜哄憳鍩硅涓庤�冩牳璁板綍
+     * @return
+     */
+    @ApiOperation(value = "瀵煎嚭浜哄憳鍩硅涓庤�冩牳璁板綍")
+    @GetMapping("/exportPersonTrainingRecord")
+    public void exportPersonTrainingRecord(Integer id, HttpServletResponse response){
+        personTrainingService.exportPersonTrainingRecord(id, response);
+    }
+
+    /**
+     * 浜哄憳鍩硅璇︽儏闄勪欢鏂板
+     * @param trainingDetailedId
+     * @param file
+     * @return
+     */
+    @ApiOperation(value = "浜哄憳鍩硅璇︽儏闄勪欢鏂板")
+    @PostMapping("/uploadTrainingDetailedFile")
+    public Result<?> uploadTrainingDetailedFile(Integer trainingDetailedId, MultipartFile file) {
+        return Result.success(personTrainingService.uploadTrainingDetailedFile(trainingDetailedId, file));
+    }
+
+
+    /**
+     * 浜哄憳鍩硅璇︽儏闄勪欢鍒楄〃
+     * @return
+     */
+    @ApiOperation(value = "浜哄憳鍩硅璇︽儏闄勪欢鍒楄〃")
+    @GetMapping("/getTrainingDetailedFileList")
+    public Result<List<PersonTrainingDetailedFile>> getTrainingDetailedFileList(Integer trainingDetailedId){
+        return Result.success(personTrainingDetailedFileMapper.selectList(Wrappers.<PersonTrainingDetailedFile>lambdaQuery()
+                .eq(PersonTrainingDetailedFile::getTrainingDetailedId, trainingDetailedId)));
+    }
+
+    /**
+     * 浜哄憳鍩硅璇︽儏闄勪欢鍒犻櫎
+     * @return
+     */
+    @ApiOperation(value = "浜哄憳鍩硅璇︽儏闄勪欢鍒犻櫎")
+    @DeleteMapping("/delTrainingDetailedFileList")
+    public Result delTrainingDetailedFileList(Integer detailedFileId){
+        return Result.success(personTrainingDetailedFileMapper.deleteById(detailedFileId));
+    }
+
+    /**
+     * 鏌ヨ浠婂勾浜哄憳鍩硅淇℃伅
+     * @return
+     */
+    @ApiOperation(value = "鏌ヨ浠婂勾浜哄憳鍩硅淇℃伅")
+    @GetMapping("/getThisYearTrainingDetailed")
+    public Result<List<PersonTrainingDetailed>> getThisYearTrainingDetailed(){
+        return Result.success(personTrainingService.getThisYearTrainingDetailed());
+    }
+}

--
Gitblit v1.9.3