package com.huaxu.evaluation.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.huaxu.model.AjaxMessage; import com.huaxu.model.LoginUser; import com.huaxu.model.Pagination; import com.huaxu.model.ResultStatus; import com.huaxu.util.UserUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.validation.annotation.Validated; import org.springframework.ui.ModelMap; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Date; import org.springframework.web.bind.annotation.*; import com.huaxu.evaluation.entity.EvaluationGradeEntity; import com.huaxu.evaluation.service.EvaluationGradeService; /** * 考评等级页面控制器 * @author WYY * @date 2021-05-08 09:23 */ @RestController @RequestMapping("/evaluation/grade") @Api(tags = "考评等级") public class EvaluationGradeController { @Autowired private EvaluationGradeService evaluationGradeService; @ApiOperation(value = "分页查询等级信息") @RequestMapping(value = "/selectPage", method = RequestMethod.GET) public AjaxMessage> list( @RequestParam Integer pageNum, @RequestParam Integer pageSize, @ApiParam(value = "绩效等级", required = false)@RequestParam(required = false) String grade, @RequestParam(required = false) Long companyOrgId ) { IPage iPage = new Page<>(pageNum, pageSize); EvaluationGradeEntity entity = new EvaluationGradeEntity(); if (grade != null && grade.trim() != "") entity.setEvaluationGrade(Long.valueOf(grade)); if (companyOrgId != null) entity.setCompanyOrgId(companyOrgId.intValue()); iPage = evaluationGradeService.findPage(iPage, entity); Pagination pages = new Pagination<>(iPage); return new AjaxMessage<>(ResultStatus.OK, pages); } /** * 新增 */ @ApiOperation(value = "新增等级信息") @RequestMapping(value = "/add", method = RequestMethod.POST) public AjaxMessage addGrade(@ApiParam(value = "等级信息", required = true) @RequestBody EvaluationGradeEntity evaluationGrade) { LoginUser currentUser = UserUtil.getCurrentUser(); for (Integer companyOrgId : evaluationGrade.getCompanyOrgIds()) { evaluationGrade.setCompanyOrgId(companyOrgId); if (currentUser != null) { evaluationGrade.setUpdateBy(currentUser.getUsername()); evaluationGrade.setCreateBy(currentUser.getUsername()); evaluationGrade.setDateCreate(new Date()); evaluationGrade.setDateUpdate(new Date()); evaluationGrade.setTenantId(currentUser.getTenantId()); } evaluationGrade.setStatus(1); evaluationGradeService.addEvaluationGrade(evaluationGrade); } return new AjaxMessage<>(ResultStatus.OK, 1); } @ApiOperation(value = "按ID查询绩效等级") @GetMapping(value = "/findGradeById") public AjaxMessage findGradeById(@ApiParam(value = "等级ID", required = true) @RequestParam Long id){ EvaluationGradeEntity evaluationGrade = evaluationGradeService.findEvaluationGradeById(id); return new AjaxMessage<>(ResultStatus.OK, evaluationGrade); } /** * 修改保存考评等级 */ @ApiOperation(value = "修改保存考评等级") @RequestMapping(value = "/edit", method = RequestMethod.POST) public AjaxMessage editEvaluationGrade(@ApiParam(value = "绩效等级", required = true) @RequestBody EvaluationGradeEntity evaluationGrade){ LoginUser currentUser = UserUtil.getCurrentUser(); if (currentUser != null) { evaluationGrade.setUpdateBy(currentUser.getUsername()); evaluationGrade.setDateUpdate(new Date()); } int result= evaluationGradeService.updateEvaluationGradeById(evaluationGrade)? 1: 0; return new AjaxMessage<>(ResultStatus.OK, result); } /** * 删除 */ @ApiOperation(value = "批量删除绩效等级") @RequestMapping(value = "/deleteByIds", method = RequestMethod.POST) @ResponseBody public AjaxMessage deleteByIds(@ApiParam(value = "等级IDS", required = true) @RequestBody Long[] ids) { if (ids == null || ids.length == 0) { return new AjaxMessage<>(ResultStatus.PARAM_ERROR); } int result = evaluationGradeService.delEvaluationGradeByIds(ids) ? 1 : 0; return new AjaxMessage<>(ResultStatus.OK, result); } /** * 删除 */ @ApiOperation(value = "单个删除绩效等级") @RequestMapping(value = "/deleteById", method = RequestMethod.POST) public AjaxMessage deleteById(@ApiParam(value = "绩效ID", required = true) @RequestParam Long id) { if (id == null) { return new AjaxMessage<>(ResultStatus.PARAM_ERROR); } List longIds = new ArrayList<>(); longIds.add(id); EvaluationGradeEntity evaluationGrade = evaluationGradeService.findEvaluationGradeById(id); if (evaluationGrade == null) { return new AjaxMessage<>(ResultStatus.EXSIT_IS_PARENT_ERROR, 0); } else { int result = evaluationGradeService.delEvaluationGradeById(id) ? 1 : 0; return new AjaxMessage<>(ResultStatus.OK, result); } } @ApiOperation(value = "获取绩效等级") @RequestMapping(value = "/getScoreGrade", method = RequestMethod.POST) public AjaxMessage getScoreGrade(@ApiParam(value = "租户ID", required = true) @RequestParam String tenantId, @ApiParam(value = "租户ID", required = true) @RequestParam Integer companyOrgId, @ApiParam(value = "租户ID", required = true) @RequestParam BigDecimal score) { return new AjaxMessage<>(ResultStatus.OK, evaluationGradeService.getScoreGrade(tenantId, companyOrgId, score, true)); } }