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; /** *

* 培训计划 前端控制器 *

* * @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 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> personTrainingSelect(Page page, String compilerName, String departmentId) { IPage 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> queryTheAnnualPlanDetailsTable(Page page, String trainingLecturerName, String courseCode, String trainingDate, Integer id, Integer userId) { IPage iPage = personTrainingDetailedService.queryTheAnnualPlanDetailsTable(page, trainingLecturerName, courseCode, trainingDate, id, userId); return Result.success(iPage); } @ApiOperation(value = "培训与考核记录 查询") @GetMapping("trainingAndAssessmentRecordsPage") public Result> trainingAndAssessmentRecordsPage(Integer trainingDetailedId, String userName) { List list = personTrainingRecordService.trainingAndAssessmentRecordsPage(trainingDetailedId, userName); return Result.success(list); } @ApiOperation(value = "培训与考核记录 新增人员") @PostMapping("newPersonnelAddedToTrainingRecords") public Result newPersonnelAddedToTrainingRecords(@RequestBody List 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.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> getTrainingDetailedFileList(Integer trainingDetailedId){ return Result.success(personTrainingDetailedFileMapper.selectList(Wrappers.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> getThisYearTrainingDetailed(){ return Result.success(personTrainingService.getThisYearTrainingDetailed()); } }