TaskController.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package com.ydtech.modules.task.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.ydtech.core.page.HttpResult;
  5. import com.ydtech.exception.SystemException;
  6. import com.ydtech.modules.admin.model.SysUser;
  7. import com.ydtech.modules.admin.model.po.SysDeptInternalAgent;
  8. import com.ydtech.modules.admin.model.po.SysUserLinkDeptInternalAgent;
  9. import com.ydtech.modules.admin.service.SysDeptInternalAgentService;
  10. import com.ydtech.modules.admin.service.SysUserLinkDeptInternalAgentService;
  11. import com.ydtech.modules.admin.service.SysUserService;
  12. import com.ydtech.modules.base.controller.BaseController;
  13. import com.ydtech.modules.task.entity.po.TaskPersonCharge;
  14. import com.ydtech.modules.task.entity.po.TaskProject;
  15. import com.ydtech.modules.task.entity.po.TaskTask;
  16. import com.ydtech.modules.task.entity.vo.*;
  17. import com.ydtech.modules.task.service.TaskPersonChargeService;
  18. import com.ydtech.modules.task.service.TaskProjectService;
  19. import com.ydtech.modules.task.service.TaskTaskService;
  20. import io.swagger.annotations.Api;
  21. import io.swagger.annotations.ApiOperation;
  22. import org.apache.poi.ss.formula.functions.T;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.web.bind.annotation.*;
  25. import java.util.ArrayList;
  26. import java.util.List;
  27. import java.util.Objects;
  28. @Api(tags = "任务controller")
  29. @RestController
  30. @RequestMapping("/task/task")
  31. public class TaskController extends BaseController {
  32. @Autowired
  33. TaskTaskService taskTaskService;
  34. @Autowired
  35. TaskPersonChargeService taskPersonChargeService;
  36. @Autowired
  37. TaskProjectService taskProjectService;
  38. @Autowired
  39. SysUserService sysUserService;
  40. @Autowired
  41. SysDeptInternalAgentService sysDeptInternalAgentService;
  42. @Autowired
  43. SysUserLinkDeptInternalAgentService sysUserLinkDeptInternalAgentService;
  44. @GetMapping("/getBackLineUser")
  45. @ApiOperation("获取后线用户")
  46. public HttpResult<Object> getBackLineUser(){
  47. //获取用户信息
  48. SysUserLinkDeptInternalAgent sysUserLinkDeptInternalAgent = sysUserLinkDeptInternalAgentService.getByUserId(getUserId());
  49. if(Objects.isNull(sysUserLinkDeptInternalAgent)){
  50. throw new SystemException("当前用户没有分配内部机构");
  51. }
  52. //获取部门
  53. SysDeptInternalAgent sysDeptInternalAgent = sysDeptInternalAgentService.getById(sysUserLinkDeptInternalAgent.getSysDeptInternalAgentId());
  54. List<BackLineUserVo> backLineUser = taskTaskService.getBackLineUser(sysDeptInternalAgent.getId());
  55. // List<SysDeptInternalAgent> tree = sysDeptInternalAgentService.findTree(null, null);
  56. return HttpResult.ok(backLineUser);
  57. }
  58. @GetMapping("/getTaskInfo")
  59. @ApiOperation("获取任务详情")
  60. public HttpResult<Object> getTaskInfo(){
  61. return null;
  62. }
  63. @GetMapping("/getTaskTree")
  64. @ApiOperation("获取任务树结构")
  65. public HttpResult<Object> getTaskTree(String projectId,String userId){
  66. List<TaskTask> taskTree = taskTaskService.getTaskTree(projectId,userId);
  67. return HttpResult.ok(taskTree);
  68. }
  69. @PostMapping("/getTaskPage")
  70. @ApiOperation("获取任务列表")
  71. public HttpResult<Object> getTaskList(@RequestBody TaskListQueryVo taskListQueryVo){
  72. Page<T> page = buildPageRequest(taskListQueryVo.getPageDto());
  73. Page<TaskTask> taskList = taskTaskService.getTaskPage(page, getUserId());
  74. return HttpResult.ok(taskList);
  75. }
  76. @PostMapping("/addTask")
  77. @ApiOperation("添加任务")
  78. public HttpResult<Object> addTask(@RequestBody AddTaskVo addTaskVo){
  79. if(taskProjectService.getById(addTaskVo.getProjectId()) == null){
  80. throw new SystemException("项目id填写错误");
  81. }
  82. TaskTask task = taskTaskService.getById(addTaskVo.getTaskId());
  83. if(!addTaskVo.getTaskId().equals("0") && task == null){
  84. throw new SystemException("任务id填写错误");
  85. }
  86. return taskTaskService.addTask(addTaskVo,getUserName()) ? HttpResult.ok("添加任务成功") : HttpResult.error("添加任务失败");
  87. }
  88. @PostMapping("/delTask")
  89. @ApiOperation("删除任务")
  90. public HttpResult<Object> delTask(String taskId){
  91. if(taskId == null){
  92. throw new SystemException("任务id错误");
  93. }
  94. TaskTask task = taskTaskService.getById(taskId);
  95. if(task == null){
  96. throw new SystemException("任务不存在");
  97. }
  98. return taskTaskService.removeById(taskId) ? HttpResult.ok("任务删除成功") : HttpResult.error("任务删除失败");
  99. }
  100. @PostMapping("/editTask")
  101. @ApiOperation("修改任务")
  102. public HttpResult<Object> editTask(@RequestBody TaskTask task){
  103. return taskTaskService.updateById(task) ? HttpResult.ok("任务修改成功") : HttpResult.error("任务修改失败");
  104. }
  105. @PostMapping("/assignTask")
  106. @ApiOperation("分配任务")
  107. public HttpResult<Object> assignTask(@RequestBody AssignTaskVo assignTaskVo){
  108. List<TaskPersonCharge> taskPersonChargeList = taskPersonChargeService.getTaskPersonChargeList(assignTaskVo.getTaskId());
  109. JSONObject diffTaskPersonCharge = taskPersonChargeService.getDiffTaskPersonCharge(assignTaskVo, taskPersonChargeList);
  110. List<String> addUserArr = (List<String>) diffTaskPersonCharge.get("userIdsToAdd");
  111. List<String> delUserArr = (List<String>) diffTaskPersonCharge.get("userIdsToDelete");
  112. List<SysUser> addUsers = new ArrayList<>();
  113. List<SysUser> delUsers = new ArrayList<>();
  114. if(!addUserArr.isEmpty()) {
  115. addUsers = sysUserService.getByIds(addUserArr);
  116. }
  117. if(!delUserArr.isEmpty()) {
  118. delUsers = sysUserService.getByIds(delUserArr);
  119. }
  120. return taskPersonChargeService.dealPersonCharge(assignTaskVo.getTaskId(), addUsers, delUsers) ?
  121. HttpResult.ok("分配任务成功") :
  122. HttpResult.error("分配任务失败");
  123. }
  124. @PostMapping("/changeTaskStatus")
  125. @ApiOperation("更改任务状态")
  126. public HttpResult<Object> changeTaskStatus(){
  127. return null;
  128. }
  129. }