فهرست منبع

任务调度修改

785834757 2 سال پیش
والد
کامیت
0cced99c50

+ 34 - 5
src/main/java/com/ydtech/modules/task/controller/TaskController.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.task.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.admin.model.SysUser;
@@ -13,20 +14,19 @@ import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.task.entity.po.TaskPersonCharge;
 import com.ydtech.modules.task.entity.po.TaskProject;
 import com.ydtech.modules.task.entity.po.TaskTask;
-import com.ydtech.modules.task.entity.vo.AddTaskVo;
-import com.ydtech.modules.task.entity.vo.AssignTaskVo;
-import com.ydtech.modules.task.entity.vo.BackLineUserVo;
-import com.ydtech.modules.task.entity.vo.TaskProjectVo;
+import com.ydtech.modules.task.entity.vo.*;
 import com.ydtech.modules.task.service.TaskPersonChargeService;
 import com.ydtech.modules.task.service.TaskProjectService;
 import com.ydtech.modules.task.service.TaskTaskService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.poi.ss.formula.functions.T;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 @Api(tags = "任务controller")
 @RestController
@@ -51,12 +51,14 @@ public class TaskController extends BaseController {
     @Autowired
     SysUserLinkDeptInternalAgentService sysUserLinkDeptInternalAgentService;
 
-
     @GetMapping("/getBackLineUser")
     @ApiOperation("获取后线用户")
     public HttpResult<Object> getBackLineUser(){
         //获取用户信息
         SysUserLinkDeptInternalAgent sysUserLinkDeptInternalAgent = sysUserLinkDeptInternalAgentService.getByUserId(getUserId());
+        if(Objects.isNull(sysUserLinkDeptInternalAgent)){
+            throw new SystemException("当前用户没有分配内部机构");
+        }
         //获取部门
         SysDeptInternalAgent sysDeptInternalAgent = sysDeptInternalAgentService.getById(sysUserLinkDeptInternalAgent.getSysDeptInternalAgentId());
         List<BackLineUserVo> backLineUser = taskTaskService.getBackLineUser(sysDeptInternalAgent.getId());
@@ -77,6 +79,14 @@ public class TaskController extends BaseController {
         return HttpResult.ok(taskTree);
     }
 
+    @PostMapping("/getTaskPage")
+    @ApiOperation("获取任务列表")
+    public HttpResult<Object> getTaskList(@RequestBody TaskListQueryVo taskListQueryVo){
+        Page<T> page = buildPageRequest(taskListQueryVo.getPageDto());
+        Page<TaskTask> taskList = taskTaskService.getTaskPage(page, getUserId());
+        return HttpResult.ok(taskList);
+    }
+
     @PostMapping("/addTask")
     @ApiOperation("添加任务")
     public HttpResult<Object> addTask(@RequestBody AddTaskVo addTaskVo){
@@ -90,6 +100,25 @@ public class TaskController extends BaseController {
         return taskTaskService.addTask(addTaskVo,getUserName()) ? HttpResult.ok("添加任务成功") : HttpResult.error("添加任务失败");
     }
 
+    @PostMapping("/delTask")
+    @ApiOperation("删除任务")
+    public HttpResult<Object> delTask(String taskId){
+        if(taskId == null){
+            throw new SystemException("任务id错误");
+        }
+        TaskTask task = taskTaskService.getById(taskId);
+        if(task == null){
+            throw new SystemException("任务不存在");
+        }
+        return taskTaskService.removeById(taskId) ? HttpResult.ok("任务删除成功") : HttpResult.error("任务删除失败");
+    }
+
+    @PostMapping("/editTask")
+    @ApiOperation("修改任务")
+    public HttpResult<Object> editTask(@RequestBody TaskTask task){
+        return taskTaskService.updateById(task) ? HttpResult.ok("任务修改成功") : HttpResult.error("任务修改失败");
+    }
+
     @PostMapping("/assignTask")
     @ApiOperation("分配任务")
     public HttpResult<Object> assignTask(@RequestBody AssignTaskVo  assignTaskVo){

+ 9 - 4
src/main/java/com/ydtech/modules/task/controller/TaskProjectController.java

@@ -39,8 +39,8 @@ public class TaskProjectController extends BaseController {
 
     @ApiOperation("新增任务项目")
     @PostMapping("/addProject")
-    public HttpResult addProject(@RequestBody TaskProjectVo taskProjectVo){
-        return taskProjectService.addProject(taskProjectVo);
+    public HttpResult addProject(@RequestBody TaskProject taskProject){
+        return taskProjectService.addProject(taskProject);
     }
 
     @ApiOperation("修改任务项目")
@@ -51,8 +51,8 @@ public class TaskProjectController extends BaseController {
 
     @ApiOperation("删除任务项目")
     @PostMapping("/removeProject")
-    public HttpResult removeProject(@RequestBody TaskProjectVo taskProjectVo){
-        return taskProjectService.removeProject(taskProjectVo);
+    public HttpResult removeProject(@RequestBody TaskProject taskProject){
+        return taskProjectService.removeProject(taskProject);
     }
 
     @ApiOperation("查询任务项目列表")
@@ -61,5 +61,10 @@ public class TaskProjectController extends BaseController {
         return HttpResult.ok("",taskProjectService.selectProject(taskProjectVo));
     }
 
+    @ApiOperation("查询项目列表")
+    @PostMapping("/getProjectList")
+    public HttpResult<Object> getProejctList(){
+        return HttpResult.ok(taskProjectService.list());
+    }
 
  }

+ 1 - 3
src/main/java/com/ydtech/modules/task/dao/TaskProjectMapper.java

@@ -9,8 +9,6 @@ import com.ydtech.modules.task.entity.po.TaskProject;
 import com.ydtech.modules.task.entity.vo.TaskProjectVo;
 import org.apache.ibatis.annotations.Param;
 
-import java.util.List;
-
 /**
  * @author Administrator
  * @description 针对表【task_project】的数据库操作Mapper
@@ -19,6 +17,6 @@ import java.util.List;
  */
 public interface TaskProjectMapper extends BaseMapper<TaskProject> {
 
-    List<TaskProject> selectProject(@Param("taskProjectVo") TaskProjectVo taskProjectVo);
+    Page<TaskProject> selectProject(Page page, @Param("taskProjectVo") TaskProjectVo taskProjectVo);
 
 }

+ 13 - 0
src/main/java/com/ydtech/modules/task/entity/vo/TaskListQueryVo.java

@@ -0,0 +1,13 @@
+package com.ydtech.modules.task.entity.vo;
+
+import com.ydtech.core.page.PageRequest;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class TaskListQueryVo extends PageRequest {
+
+    @ApiModelProperty("用户id")
+    private String userId;
+
+}

+ 2 - 2
src/main/java/com/ydtech/modules/task/service/TaskProjectService.java

@@ -10,11 +10,11 @@ import com.ydtech.modules.task.entity.po.TaskProject;
 import com.ydtech.modules.task.entity.po.TaskTask;
 
 public interface TaskProjectService extends IService<TaskProject> {
-    HttpResult addProject(TaskProjectVo taskProjectVo);
+    HttpResult addProject(TaskProject taskProject);
 
     HttpResult updateProject(TaskProject taskProject);
 
-    HttpResult removeProject(TaskProjectVo taskProjectVo);
+    HttpResult removeProject(TaskProject taskProject);
 
     IPage<TaskProject> selectProject(TaskProjectVo taskProjectVo);
 }

+ 9 - 0
src/main/java/com/ydtech/modules/task/service/TaskTaskService.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.task.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.modules.task.entity.po.TaskTask;
 import com.ydtech.modules.task.entity.vo.AddTaskVo;
@@ -24,6 +25,14 @@ public interface TaskTaskService extends IService<TaskTask> {
      */
     public List<TaskTask> getTaskTree(String projectId,String creator);
 
+    /**
+     * 获取任务列表 分页
+     * @param page
+     * @param userId
+     * @return
+     */
+    public Page<TaskTask> getTaskPage(Page page, String userId);
+
     /**
      * 获取后线人员列表
      * @param deptId    部门id

+ 14 - 35
src/main/java/com/ydtech/modules/task/service/impl/TaskProjectServiceImpl.java

@@ -5,25 +5,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
-import com.ydtech.exception.SystemException;
-import com.ydtech.modules.admin.model.po.SysUserAccount;
 import com.ydtech.modules.base.controller.BaseController;
-import com.ydtech.modules.task.constants.ProjectStatus;
 import com.ydtech.modules.task.dao.TaskProjectMapper;
 import com.ydtech.modules.task.entity.po.TaskProject;
-import com.ydtech.modules.task.entity.po.TaskTask;
 import com.ydtech.modules.task.entity.vo.TaskProjectVo;
 import com.ydtech.modules.task.service.TaskProjectService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
 import java.util.Date;
-import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * @author Administrator
- * @description 针对表【task_project】的数据库操作Service实现
+ * @description 针对表【task_file】的数据库操作Service实现
  * @createDate 2023-03-09 14:45:58
  */
 @Service
@@ -34,15 +28,15 @@ public class TaskProjectServiceImpl extends ServiceImpl<TaskProjectMapper, TaskP
     private TaskProjectMapper taskProjectMapper;
 
     @Override
-    public HttpResult addProject(TaskProjectVo taskProjectVo) {
-        TaskProject taskProject = new TaskProject();
-        taskProject.setProjectName(taskProjectVo.getProjectName());
-        taskProject.setProjectType(taskProjectVo.getProjectType());
-        taskProject.setCreator(BaseController.getUser().getId());
-        taskProject.setProjectDesc(taskProjectVo.getProjectDesc());
-        taskProject.setCreateTime(new Date());
-        taskProject.setProjectStatus(0);//未指派项目
-        save(taskProject);
+    public HttpResult addProject(TaskProject taskProject) {
+        TaskProject tp = new TaskProject();
+        tp.setProjectName(taskProject.getProjectName());
+        tp.setProjectType(taskProject.getProjectType());
+        tp.setCreator(BaseController.getUser().getId());
+        tp.setProjectDesc(taskProject.getProjectDesc());
+        tp.setCreateTime(new Date());
+        tp.setProjectStatus(1);
+        save(tp);
         return HttpResult.ok("新增成功");
     }
 
@@ -53,19 +47,7 @@ public class TaskProjectServiceImpl extends ServiceImpl<TaskProjectMapper, TaskP
     }
 
     @Override
-    public HttpResult removeProject(TaskProjectVo taskProjectVo) {
-        TaskProject taskProject = getById(taskProjectVo.getId());
-        if (taskProject == null) {
-            throw new SystemException("找不到项目");
-        }
-        List<TaskTask> taskList = taskProject.getTaskList();
-        if (taskList != null && !taskList.isEmpty()) {
-            throw new SystemException("该项目下有任务进行,不可删除");
-        }
-        if (taskProject.getProjectStatus() != ProjectStatus.STATUS_0.getCode()) {
-            throw new SystemException("该项目状态不可删除");
-        }
-
+    public HttpResult removeProject(TaskProject taskProject) {
         removeById(taskProject);
         return HttpResult.ok("删除成功");
     }
@@ -74,12 +56,9 @@ public class TaskProjectServiceImpl extends ServiceImpl<TaskProjectMapper, TaskP
         PageRequest pageRequest = new PageRequest();
         pageRequest.setPageNum(taskProjectVo.getPageNum());
         pageRequest.setPageSize(taskProjectVo.getPageSize());
-        List<TaskProject> taskProjectList = taskProjectMapper.selectProject(taskProjectVo);
-        IPage ipage = PageRequest.buildPageRequest(pageRequest);
-        ipage.setRecords(taskProjectList.stream().skip((taskProjectVo.getPageNum() - 1) * taskProjectVo.getPageSize()).limit(taskProjectVo.getPageSize()).
-                collect(Collectors.toList()));
-        ipage.setTotal(taskProjectList.size());
-        return ipage;
+        Page page = PageRequest.buildPageRequest(pageRequest);
+        Page<TaskProject> iPage = taskProjectMapper.selectProject(page,taskProjectVo);
+        return iPage;
     }
 }
 

+ 29 - 1
src/main/java/com/ydtech/modules/task/service/impl/TaskTaskServiceImpl.java

@@ -2,18 +2,23 @@ package com.ydtech.modules.task.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.modules.task.dao.TaskFileMapper;
 import com.ydtech.modules.task.dao.TaskTaskMapper;
 import com.ydtech.modules.task.entity.po.TaskFile;
 import com.ydtech.modules.task.entity.po.TaskTask;
+import com.ydtech.modules.task.entity.vo.AddTaskInfoVo;
 import com.ydtech.modules.task.entity.vo.AddTaskVo;
 import com.ydtech.modules.task.entity.vo.BackLineUserVo;
 import com.ydtech.modules.task.service.TaskFileService;
 import com.ydtech.modules.task.service.TaskTaskService;
+import com.ydtech.modules.task.service.TaskTrajectoryService;
 import com.ydtech.utils.idgen.IdGenerate;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -28,6 +33,9 @@ import java.util.Objects;
 public class TaskTaskServiceImpl extends ServiceImpl<TaskTaskMapper, TaskTask>
         implements TaskTaskService {
 
+    @Autowired
+    private TaskTrajectoryService taskTrajectoryService;
+
     /**
      * 添加任务
      * @param addTaskVo     添加任务Vo
@@ -35,15 +43,21 @@ public class TaskTaskServiceImpl extends ServiceImpl<TaskTaskMapper, TaskTask>
      * @return
      */
     @Override
+    @Transactional
     public boolean addTask(AddTaskVo addTaskVo,String creator) {
         List<TaskTask> tasks = new ArrayList<>();
-        addTaskVo.getAddTaskVoList().forEach(item->{
+        List<AddTaskInfoVo> addTaskVoList = addTaskVo.getAddTaskVoList();
+        addTaskVoList.forEach(item->{
             TaskTask task = new TaskTask(creator);
             BeanUtils.copyProperties(item,task);
             task.setProjectId(addTaskVo.getProjectId());
             task.setParentId(addTaskVo.getTaskId());
             tasks.add(task);
         });
+
+        addTaskVoList.forEach(item->{
+
+        });
         if(this.saveBatch(tasks)){
             return true;
         }
@@ -65,6 +79,20 @@ public class TaskTaskServiceImpl extends ServiceImpl<TaskTaskMapper, TaskTask>
         return list;
     }
 
+    /**
+     * 获取任务列表 分页
+     * @param page
+     * @param userId
+     * @return
+     */
+    @Override
+    public Page<TaskTask> getTaskPage(Page page, String userId) {
+        LambdaQueryWrapper<TaskTask> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(TaskTask::getCreator,userId);
+        Page<TaskTask> list = this.page(page,queryWrapper);
+        return list;
+    }
+
     /**
      * 获取后线人员列表
      * @param deptId    部门id