package com.yuanchu.mom.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.yuanchu.mom.annotation.ValueAuth;
|
import com.yuanchu.mom.annotation.ValueClassify;
|
import com.yuanchu.mom.dto.*;
|
import com.yuanchu.mom.numgen.NumberGenerator;
|
import com.yuanchu.mom.pojo.PersonTraining;
|
import com.yuanchu.mom.pojo.PersonTrainingDetailed;
|
import com.yuanchu.mom.pojo.PersonTrainingRecord;
|
import com.yuanchu.mom.service.PersonTrainingDetailedService;
|
import com.yuanchu.mom.service.PersonTrainingRecordService;
|
import com.yuanchu.mom.service.PersonTrainingService;
|
import com.yuanchu.mom.vo.Result;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiResponse;
|
import io.swagger.annotations.ApiResponses;
|
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.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Locale;
|
|
/**
|
* <p>
|
* 培训计划 前端控制器
|
* </p>
|
*
|
* @author
|
* @since 2024-10-11 01:11:49
|
*/
|
@Api(tags = "人员 - 培训计划")
|
@RestController
|
@RequestMapping("/personTraining")
|
//@CustomClazzName(name = "资源要求", index = 8)
|
public class PersonTrainingController {
|
|
@Autowired
|
private PersonTrainingService personTrainingService;
|
|
@Autowired
|
private PersonTrainingDetailedService personTrainingDetailedService;
|
|
@Autowired
|
private PersonTrainingRecordService personTrainingRecordService;
|
|
@Autowired
|
private NumberGenerator<PersonTrainingDetailed> numberGenerator;
|
|
@ValueClassify("培训计划")
|
@ApiOperation(value = "培训计划 导入")
|
@PostMapping("personTrainingImport")
|
public Result<?> personTrainingImport(@RequestPart("file") MultipartFile file) {
|
personTrainingService.personTrainingImport(file);
|
return Result.success();
|
}
|
|
@ValueClassify("培训计划")
|
@ApiOperation(value = "培训计划 删除")
|
@DeleteMapping("personTrainingDelete")
|
public Result<?> personTrainingDelete(@RequestParam("id") Integer id) {
|
personTrainingService.personTrainingDelete(id);
|
return Result.success();
|
}
|
|
@ValueClassify("培训计划")
|
@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);
|
}
|
|
@ValueClassify("培训计划")
|
@ApiOperation(value = "年度培训计划 审核")
|
@PostMapping("reviewAnnualPersonnelTraining")
|
public Result<?> reviewAnnualPersonnelTraining(@RequestBody PersonTrainingUpdateDto personTrainingUpdateDto) {
|
personTrainingService.reviewAnnualPersonnelTraining(personTrainingUpdateDto);
|
return Result.success();
|
}
|
|
@ValueClassify("培训计划")
|
@ApiOperation(value = "培训计划 批准")
|
@PostMapping("approveAnnualPersonnelTraining")
|
public Result<?> approveAnnualPersonnelTraining(@RequestBody PersonTrainingUpdateDto personTrainingUpdateDto) {
|
personTrainingService.approveAnnualPersonnelTraining(personTrainingUpdateDto);
|
return Result.success();
|
}
|
|
@ValueClassify("培训计划")
|
@ApiOperation(value = "年度计划明细表 新增/编辑")
|
@PostMapping("addOrUpdatePersonTrainingDetailed")
|
public Result<?> addOrUpdatePersonTrainingDetailed(@RequestBody PersonTrainingDetailed personTrainingDetailed) {
|
if (ObjectUtils.isEmpty(personTrainingDetailed.getId())) {
|
personTrainingDetailed.setState(3);
|
String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date());
|
String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date());
|
String processNumber = numberGenerator.generateNumberWithPrefix(4, "KC" + month + "-" + year + month, PersonTrainingDetailed::getCourseCode);
|
|
personTrainingDetailed.setCourseCode(processNumber);
|
}
|
personTrainingDetailedService.saveOrUpdate(personTrainingDetailed);
|
return Result.success();
|
}
|
|
@ValueClassify("培训计划")
|
@ApiOperation(value = "年度计划明细表 批量删除")
|
@PostMapping("deleteAnnualPlanDetailTable")
|
public Result<?> deleteAnnualPlanDetailTable(@RequestParam("ids") String ids) {
|
personTrainingDetailedService.deleteAnnualPlanDetailTable(ids);
|
return Result.success();
|
}
|
|
@ValueClassify("培训计划")
|
@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);
|
}
|
|
@ValueClassify("培训计划")
|
@ApiOperation(value = "培训与考核记录 查询")
|
@GetMapping("trainingAndAssessmentRecordsPage")
|
public Result<List<PersonTrainingRecordDto>> trainingAndAssessmentRecordsPage(Integer trainingDetailedId,
|
String userName) {
|
List<PersonTrainingRecordDto> list = personTrainingRecordService.trainingAndAssessmentRecordsPage(trainingDetailedId, userName);
|
return Result.success(list);
|
}
|
|
@ValueClassify("培训计划")
|
@ApiOperation(value = "培训与考核记录 新增人员")
|
@PostMapping("newPersonnelAddedToTrainingRecords")
|
public Result<?> newPersonnelAddedToTrainingRecords(@RequestBody List<PersonTrainingRecord> personTrainingRecord) {
|
personTrainingRecordService.saveBatch(personTrainingRecord);
|
return Result.success();
|
}
|
|
@ValueClassify("培训计划")
|
@ApiOperation(value = "培训与考核记录 认领")
|
@PostMapping("claimOfTrainingAndAssessmentRecords")
|
public Result<?> claimOfTrainingAndAssessmentRecords(@RequestParam("claimAndClaim") Boolean claimAndClaim,
|
@RequestParam("courseId") Integer courseId) {
|
personTrainingRecordService.claimOfTrainingAndAssessmentRecords(claimAndClaim, courseId);
|
return Result.success();
|
}
|
|
@ValueClassify("培训计划")
|
@ApiOperation(value = "培训与考核记录 提交/撤销")
|
@PostMapping("trainingAndAssessmentRecordsAdded")
|
public Result<?> trainingAndAssessmentRecordsAdded(@RequestBody PersonTrainingRecordSubmitDto personTrainingRecordSubmitDto) {
|
personTrainingDetailedService.update(Wrappers.<PersonTrainingDetailed>lambdaUpdate()
|
.eq(PersonTrainingDetailed::getId, personTrainingRecordSubmitDto.getTrainingDetailedId())
|
.set(PersonTrainingDetailed::getAssessmentMethod, personTrainingRecordSubmitDto.getAssessmentMethod())
|
.set(PersonTrainingDetailed::getComprehensiveAssessment, personTrainingRecordSubmitDto.getComprehensiveAssessment())
|
.set(PersonTrainingDetailed::getAssessmentUserId, personTrainingRecordSubmitDto.getAssessmentUserId())
|
.set(PersonTrainingDetailed::getAssessmentDate, personTrainingRecordSubmitDto.getAssessmentDate())
|
.set(PersonTrainingDetailed::getState, personTrainingRecordSubmitDto.getState()));
|
return Result.success();
|
}
|
|
@ValueClassify("培训计划")
|
@ApiOperation(value = "培训与考核记录 删除")
|
@PostMapping("deleteTrainingAndAssessmentRecords")
|
public Result<?> deleteTrainingAndAssessmentRecords(@RequestParam("ids") String ids) {
|
personTrainingRecordService.deleteTrainingAndAssessmentRecords(ids);
|
return Result.success();
|
}
|
|
@PostMapping("outOfFocusPreservation")
|
@ValueAuth
|
public Result<?> outOfFocusPreservation(@RequestBody PersonTrainingRecord personTrainingRecord) {
|
personTrainingRecordService.updateById(personTrainingRecord);
|
return Result.success();
|
}
|
|
/**
|
* 导出人员培训计划
|
* @return
|
*/
|
@ValueAuth
|
@ApiOperation(value = "导出人员培训计划")
|
@GetMapping("/exportPersonTraining")
|
public void exportPersonTraining(Integer id, HttpServletResponse response){
|
personTrainingService.exportPersonTraining(id, response);
|
}
|
|
/**
|
* 导出人员培训与考核记录
|
* @return
|
*/
|
@ValueAuth
|
@ApiOperation(value = "导出人员培训与考核记录")
|
@GetMapping("/exportPersonTrainingRecord")
|
public void exportPersonTrainingRecord(Integer id, HttpServletResponse response){
|
personTrainingService.exportPersonTrainingRecord(id, response);
|
}
|
}
|