EvaluationGradeController.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. package com.huaxu.evaluation.controller;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.huaxu.model.AjaxMessage;
  5. import com.huaxu.model.LoginUser;
  6. import com.huaxu.model.Pagination;
  7. import com.huaxu.model.ResultStatus;
  8. import com.huaxu.util.UserUtil;
  9. import io.swagger.annotations.Api;
  10. import io.swagger.annotations.ApiOperation;
  11. import io.swagger.annotations.ApiParam;
  12. import io.swagger.models.auth.In;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Controller;
  15. import org.springframework.validation.annotation.Validated;
  16. import org.springframework.ui.ModelMap;
  17. import java.math.BigDecimal;
  18. import java.util.ArrayList;
  19. import java.util.List;
  20. import java.util.Map;
  21. import java.util.Date;
  22. import org.springframework.web.bind.annotation.*;
  23. import com.huaxu.evaluation.entity.EvaluationGradeEntity;
  24. import com.huaxu.evaluation.service.EvaluationGradeService;
  25. /**
  26. * 考评等级页面控制器
  27. * @author WYY
  28. * @date 2021-05-08 09:23
  29. */
  30. @RestController
  31. @RequestMapping("/evaluation/grade")
  32. @Api(tags = "考评等级")
  33. public class EvaluationGradeController {
  34. @Autowired
  35. private EvaluationGradeService evaluationGradeService;
  36. @ApiOperation(value = "分页查询等级信息")
  37. @RequestMapping(value = "/selectPage", method = RequestMethod.GET)
  38. public AjaxMessage<Pagination<EvaluationGradeEntity>> list(
  39. @RequestParam Integer pageNum,
  40. @RequestParam Integer pageSize,
  41. @ApiParam(value = "绩效等级", required = false)@RequestParam(required = false) String grade,
  42. @RequestParam(required = false) Long companyOrgId
  43. ) {
  44. IPage<EvaluationGradeEntity> iPage = new Page<>(pageNum, pageSize);
  45. EvaluationGradeEntity entity = new EvaluationGradeEntity();
  46. if (grade != null && grade.trim() != "")
  47. entity.setEvaluationGrade(Long.valueOf(grade));
  48. if (companyOrgId != null)
  49. entity.setCompanyOrgId(companyOrgId.intValue());
  50. iPage = evaluationGradeService.findPage(iPage, entity);
  51. Pagination<EvaluationGradeEntity> pages = new Pagination<>(iPage);
  52. return new AjaxMessage<>(ResultStatus.OK, pages);
  53. }
  54. /**
  55. * 新增
  56. */
  57. @ApiOperation(value = "新增等级信息")
  58. @RequestMapping(value = "/add", method = RequestMethod.POST)
  59. public AjaxMessage<Integer> addGrade(@ApiParam(value = "等级信息", required = true) @RequestBody EvaluationGradeEntity evaluationGrade) {
  60. LoginUser currentUser = UserUtil.getCurrentUser();
  61. for (Integer companyOrgId : evaluationGrade.getCompanyOrgIds()) {
  62. evaluationGrade.setCompanyOrgId(companyOrgId);
  63. if (currentUser != null) {
  64. evaluationGrade.setUpdateBy(currentUser.getUsername());
  65. evaluationGrade.setCreateBy(currentUser.getUsername());
  66. evaluationGrade.setDateCreate(new Date());
  67. evaluationGrade.setDateUpdate(new Date());
  68. evaluationGrade.setTenantId(currentUser.getTenantId());
  69. }
  70. evaluationGrade.setStatus(1);
  71. evaluationGradeService.addEvaluationGrade(evaluationGrade);
  72. }
  73. return new AjaxMessage<>(ResultStatus.OK, 1);
  74. }
  75. @ApiOperation(value = "按ID查询绩效等级")
  76. @GetMapping(value = "/findGradeById")
  77. public AjaxMessage<EvaluationGradeEntity> findGradeById(@ApiParam(value = "等级ID", required = true) @RequestParam Long id){
  78. EvaluationGradeEntity evaluationGrade = evaluationGradeService.findEvaluationGradeById(id);
  79. return new AjaxMessage<>(ResultStatus.OK, evaluationGrade);
  80. }
  81. /**
  82. * 修改保存考评等级
  83. */
  84. @ApiOperation(value = "修改保存考评等级")
  85. @RequestMapping(value = "/edit", method = RequestMethod.POST)
  86. public AjaxMessage<Integer> editEvaluationGrade(@ApiParam(value = "绩效等级", required = true) @RequestBody EvaluationGradeEntity evaluationGrade){
  87. LoginUser currentUser = UserUtil.getCurrentUser();
  88. if (currentUser != null) {
  89. evaluationGrade.setUpdateBy(currentUser.getUsername());
  90. evaluationGrade.setDateUpdate(new Date());
  91. }
  92. int result= evaluationGradeService.updateEvaluationGradeById(evaluationGrade)? 1: 0;
  93. return new AjaxMessage<>(ResultStatus.OK, result);
  94. }
  95. /**
  96. * 删除
  97. */
  98. @ApiOperation(value = "批量删除绩效等级")
  99. @RequestMapping(value = "/deleteByIds", method = RequestMethod.POST)
  100. @ResponseBody
  101. public AjaxMessage<Integer> deleteByIds(@ApiParam(value = "等级IDS", required = true) @RequestBody Long[] ids) {
  102. if (ids == null || ids.length == 0) {
  103. return new AjaxMessage<>(ResultStatus.PARAM_ERROR);
  104. }
  105. int result = evaluationGradeService.delEvaluationGradeByIds(ids) ? 1 : 0;
  106. return new AjaxMessage<>(ResultStatus.OK, result);
  107. }
  108. /**
  109. * 删除
  110. */
  111. @ApiOperation(value = "单个删除绩效等级")
  112. @RequestMapping(value = "/deleteById", method = RequestMethod.POST)
  113. public AjaxMessage<Integer> deleteById(@ApiParam(value = "绩效ID", required = true) @RequestParam Long id) {
  114. if (id == null) {
  115. return new AjaxMessage<>(ResultStatus.PARAM_ERROR);
  116. }
  117. List<Long> longIds = new ArrayList<>();
  118. longIds.add(id);
  119. EvaluationGradeEntity evaluationGrade = evaluationGradeService.findEvaluationGradeById(id);
  120. if (evaluationGrade == null) {
  121. return new AjaxMessage<>(ResultStatus.EXSIT_IS_PARENT_ERROR, 0);
  122. } else {
  123. int result = evaluationGradeService.delEvaluationGradeById(id) ? 1 : 0;
  124. return new AjaxMessage<>(ResultStatus.OK, result);
  125. }
  126. }
  127. @ApiOperation(value = "获取绩效等级")
  128. @RequestMapping(value = "/getScoreGrade", method = RequestMethod.POST)
  129. public AjaxMessage<String> getScoreGrade(@ApiParam(value = "租户ID", required = true) @RequestParam String tenantId,
  130. @ApiParam(value = "租户ID", required = true) @RequestParam Integer companyOrgId,
  131. @ApiParam(value = "租户ID", required = true) @RequestParam BigDecimal score) {
  132. return new AjaxMessage<>(ResultStatus.OK, evaluationGradeService.getScoreGrade(tenantId, companyOrgId, score, true));
  133. }
  134. }