EvaluationCycleController.java 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  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.evaluation.entity.EvaluationGradeEntity;
  5. import com.huaxu.model.AjaxMessage;
  6. import com.huaxu.model.LoginUser;
  7. import com.huaxu.model.Pagination;
  8. import com.huaxu.model.ResultStatus;
  9. import com.huaxu.util.UserUtil;
  10. import io.swagger.annotations.Api;
  11. import io.swagger.annotations.ApiOperation;
  12. import io.swagger.annotations.ApiParam;
  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.util.ArrayList;
  18. import java.util.List;
  19. import java.util.Map;
  20. import java.util.Date;
  21. import org.springframework.web.bind.annotation.*;
  22. import com.huaxu.evaluation.entity.EvaluationCycleEntity;
  23. import com.huaxu.evaluation.service.EvaluationCycleService;
  24. /**
  25. * 考评周期页面控制器
  26. *
  27. * @author WYY
  28. * @date 2021-05-08 09:09
  29. */
  30. @RestController
  31. @RequestMapping("/evaluation/cycle")
  32. @Api(tags = "考评周期")
  33. public class EvaluationCycleController {
  34. @Autowired
  35. private EvaluationCycleService evaluationCycleService;
  36. @ApiOperation(value = "分页查询考评周期")
  37. @RequestMapping(value = "/selectPage", method = RequestMethod.GET)
  38. public AjaxMessage<Pagination<EvaluationCycleEntity>> list(
  39. @RequestParam Integer pageNum,
  40. @RequestParam Integer pageSize,
  41. @ApiParam(value = "周期类型")@RequestParam(required = false) String type,
  42. @RequestParam(required = false) Long companyOrgId) {
  43. IPage<EvaluationCycleEntity> iPage = new Page<>(pageNum, pageSize);
  44. EvaluationCycleEntity entity = new EvaluationCycleEntity();
  45. if (type != null && type.trim() != "")
  46. entity.setType(Integer.valueOf(type));
  47. if (companyOrgId != null)
  48. entity.setCompanyOrgId(companyOrgId.intValue());
  49. iPage = evaluationCycleService.findPage(iPage, entity);
  50. Pagination<EvaluationCycleEntity> pages = new Pagination<>(iPage);
  51. return new AjaxMessage<>(ResultStatus.OK, pages);
  52. }
  53. /**
  54. * 新增
  55. */
  56. @ApiOperation(value = "新增考评周期")
  57. @RequestMapping(value = "/add", method = RequestMethod.POST)
  58. public AjaxMessage<Integer> addCycle(@ApiParam(value = "周期信息", required = true) @RequestBody EvaluationCycleEntity evaluationCycle) {
  59. LoginUser currentUser = UserUtil.getCurrentUser();
  60. boolean isOk = true;
  61. List<EvaluationCycleEntity> evaluationCycleEntities = new ArrayList<>();
  62. for (Integer companyOrgId : evaluationCycle.getCompanyOrgIds()) {
  63. evaluationCycle.setCompanyOrgId(companyOrgId);
  64. if (currentUser != null) {
  65. evaluationCycle.setUpdateBy(currentUser.getUsername());
  66. evaluationCycle.setCreateBy(currentUser.getUsername());
  67. evaluationCycle.setDateCreate(new Date());
  68. evaluationCycle.setDateUpdate(new Date());
  69. evaluationCycle.setTenantId(currentUser.getTenantId());
  70. }
  71. evaluationCycle.setStatus(1);
  72. evaluationCycleEntities.add(evaluationCycle);
  73. List<EvaluationCycleEntity> list = evaluationCycleService.findList(evaluationCycle);
  74. if (list.size() > 0) {
  75. isOk = false;
  76. break;
  77. }
  78. }
  79. if (isOk) {
  80. evaluationCycleService.addBatchEvaluationCycle(evaluationCycleEntities);
  81. } else {
  82. return new AjaxMessage<>(ResultStatus.CYCLE_ALREADY_EXISTS, 0);
  83. }
  84. return new AjaxMessage<>(ResultStatus.OK, 1);
  85. }
  86. @ApiOperation(value = "按ID查询考评周期")
  87. @GetMapping(value = "/findCycleById")
  88. public AjaxMessage<EvaluationCycleEntity> findCycleById(@ApiParam(value = "周期ID", required = true) @RequestParam Long id){
  89. EvaluationCycleEntity evaluationCycle = evaluationCycleService.findEvaluationCycleById(id);
  90. return new AjaxMessage<>(ResultStatus.OK, evaluationCycle);
  91. }
  92. /**
  93. * 修改保存考评等级
  94. */
  95. @ApiOperation(value = "修改保存考评周期")
  96. @RequestMapping(value = "/edit", method = RequestMethod.POST)
  97. public AjaxMessage<Integer> editEvaluationCycle(@ApiParam(value = "考评周期", required = true) @RequestBody EvaluationCycleEntity evaluationCycle){
  98. LoginUser currentUser = UserUtil.getCurrentUser();
  99. if (currentUser != null) {
  100. evaluationCycle.setUpdateBy(currentUser.getUsername());
  101. evaluationCycle.setDateUpdate(new Date());
  102. }
  103. EvaluationCycleEntity evaluationCycleEntity = new EvaluationCycleEntity();
  104. evaluationCycleEntity.setType(evaluationCycle.getType());
  105. evaluationCycleEntity.setCompanyOrgId(evaluationCycle.getCompanyOrgId());
  106. evaluationCycleEntity.setTenantId(currentUser.getTenantId());
  107. evaluationCycleEntity.setId(evaluationCycle.getId());
  108. List<EvaluationCycleEntity> list = evaluationCycleService.findList(evaluationCycleEntity);
  109. if (list.size() > 0) {
  110. return new AjaxMessage<>(ResultStatus.CYCLE_ALREADY_EXISTS, 0);
  111. }
  112. int result= evaluationCycleService.updateEvaluationCycleById(evaluationCycle)? 1: 0;
  113. return new AjaxMessage<>(ResultStatus.OK, result);
  114. }
  115. /**
  116. * 删除
  117. */
  118. @ApiOperation(value = "批量删除考评周期")
  119. @RequestMapping(value = "/deleteByIds", method = RequestMethod.POST)
  120. @ResponseBody
  121. public AjaxMessage<Integer> deleteByIds(@ApiParam(value = "周期IDS", required = true) @RequestBody Long[] ids) {
  122. if (ids == null || ids.length == 0) {
  123. return new AjaxMessage<>(ResultStatus.PARAM_ERROR);
  124. }
  125. int result = evaluationCycleService.delEvaluationCycleByIds(ids) ? 1 : 0;
  126. return new AjaxMessage<>(ResultStatus.OK, result);
  127. }
  128. /**
  129. * 删除
  130. */
  131. @ApiOperation(value = "单个删除考评周期")
  132. @RequestMapping(value = "/deleteById", method = RequestMethod.POST)
  133. public AjaxMessage<Integer> deleteById(@ApiParam(value = "周期ID", required = true) @RequestParam Long id) {
  134. if (id == null) {
  135. return new AjaxMessage<>(ResultStatus.PARAM_ERROR);
  136. }
  137. List<Long> longIds = new ArrayList<>();
  138. longIds.add(id);
  139. EvaluationCycleEntity evaluationCycle = evaluationCycleService.findEvaluationCycleById(id);
  140. if (evaluationCycle == null) {
  141. return new AjaxMessage<>(ResultStatus.EXSIT_IS_PARENT_ERROR, 0);
  142. } else {
  143. int result = evaluationCycleService.delEvaluationCycleById(id) ? 1 : 0;
  144. return new AjaxMessage<>(ResultStatus.OK, result);
  145. }
  146. }
  147. }