package com.cloudroam.controller.v1;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.cloudroam.common.LocalUser;
|
import com.cloudroam.common.annotation.LogParams;
|
import com.cloudroam.common.util.PageUtil;
|
import com.cloudroam.dto.projectTask.*;
|
import com.cloudroam.model.UserDO;
|
import com.cloudroam.service.ProjectTaskService;
|
import com.cloudroam.vo.projectTask.ProjectTaskVO;
|
import io.github.talelin.core.annotation.Logger;
|
import io.github.talelin.core.annotation.LoginRequired;
|
import io.github.talelin.core.annotation.PermissionMeta;
|
import io.github.talelin.core.annotation.PermissionModule;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
import com.cloudroam.vo.CreatedVO;
|
import com.cloudroam.vo.DeletedVO;
|
import com.cloudroam.vo.PageResponseVO;
|
import com.cloudroam.vo.UpdatedVO;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @author generator@TaoJie
|
* @since 2024-12-30
|
*/
|
@RestController
|
@RequestMapping("/v1/project-task")
|
@PermissionModule("项目任务管理")
|
public class ProjectTaskController {
|
|
@Autowired
|
private ProjectTaskService projectTaskService;
|
|
@PostMapping("")
|
@PermissionMeta(value = "项目任务创建", mount =true)
|
@Logger(template = "{user.nickname} 创建了项目任务 ")
|
@LoginRequired
|
@LogParams
|
public CreatedVO create(@RequestBody @Validated CreateProjectTaskDTO validator) {
|
projectTaskService.createProjectTask(validator);
|
return new CreatedVO();
|
}
|
|
|
@PostMapping("/batch")
|
@PermissionMeta(value = "项目任务创建", mount =true)
|
@Logger(template = "{user.nickname} 创建了项目任务 ")
|
@LoginRequired
|
@LogParams
|
public CreatedVO createBatch(@RequestBody @Validated CreateProjectTaskBatchDTO validator) {
|
projectTaskService.createProjectTaskBatch(validator);
|
return new CreatedVO();
|
}
|
|
|
@PostMapping("/edit/process")
|
@PermissionMeta(value = "项目进度填写", mount =true)
|
@Logger(template = "{user.nickname} 创建了项目进度填写 ")
|
@LoginRequired
|
@LogParams
|
public UpdatedVO editProcess(@RequestBody @Validated CreateProjectTaskProcessDTO validator) {
|
projectTaskService.editProcess(validator);
|
return new UpdatedVO();
|
}
|
|
@PutMapping("/{id}")
|
@PermissionMeta(value = "项目任务更新", mount =true)
|
@Logger(template = "{user.nickname} 更新了项目任务 ")
|
@LoginRequired
|
@LogParams
|
public UpdatedVO update(@PathVariable String id,@RequestBody @Validated CreateProjectTaskDTO validator) {
|
validator.setId(id);
|
projectTaskService.updateProjectTask(validator);
|
return new UpdatedVO();
|
}
|
|
@PostMapping("/update/daily/{id}")
|
@PermissionMeta(value = "任务排配更新", mount =true)
|
@Logger(template = "{user.nickname} 更新了任务排配 ")
|
@LoginRequired
|
@LogParams
|
public UpdatedVO updateTaskDaily(@PathVariable String id,@RequestBody @Validated CreateProjectTaskDailyDTO validator) {
|
validator.setId(id);
|
projectTaskService.updateProjectTaskDaily(validator);
|
return new UpdatedVO();
|
}
|
|
@PostMapping("/update/plan")
|
@PermissionMeta(value = "任务计划日期更新", mount =true)
|
@Logger(template = "{user.nickname} 更新了任务计划日期 ")
|
@LoginRequired
|
@LogParams
|
public UpdatedVO updateTaskPlan(@RequestBody @Validated CreateProjectTaskPlanDTO validator) {
|
projectTaskService.updateProjectTaskPlan(validator);
|
return new UpdatedVO();
|
}
|
|
@DeleteMapping("/{id}")
|
@PermissionMeta(value = "项目任务删除", mount =true)
|
@Logger(template = "{user.nickname} 删除了项目任务 ")
|
@LoginRequired
|
@LogParams
|
public DeletedVO delete(@PathVariable String id) {
|
projectTaskService.deleteProjectTask(id);
|
return new DeletedVO();
|
}
|
|
@DeleteMapping("/delete/daily/{dailyId}")
|
@PermissionMeta(value = "任务排配日志删除", mount =true)
|
@Logger(template = "{user.nickname} 删除了项目任务 ")
|
@LoginRequired
|
@LogParams
|
public DeletedVO deleteDaily(@PathVariable String dailyId) {
|
projectTaskService.deleteProjectTaskDaily(dailyId);
|
return new DeletedVO();
|
}
|
|
@GetMapping("/{id}")
|
@LoginRequired
|
public ProjectTaskVO get(@PathVariable(value = "id") String id) {
|
return projectTaskService.getProjectTaskById(id);
|
}
|
|
@GetMapping("/start/{id}")
|
@LoginRequired
|
public UpdatedVO getStart(@PathVariable(value = "id") String id) {
|
projectTaskService.getStartTaskById(id);
|
return new UpdatedVO();
|
}
|
|
@GetMapping("/finish/{id}")
|
@LoginRequired
|
public UpdatedVO getFinish(@PathVariable(value = "id") String id) {
|
projectTaskService.getFinishTaskById(id);
|
return new UpdatedVO();
|
}
|
|
@GetMapping("/test/pass/{id}")
|
@LoginRequired
|
public UpdatedVO getTestPass(@PathVariable(value = "id") String id) {
|
projectTaskService.getTestPass(id);
|
return new UpdatedVO();
|
}
|
|
@GetMapping("/test/unpass/{id}")
|
@LoginRequired
|
public UpdatedVO getTestUnpass(@PathVariable(value = "id") String id) {
|
projectTaskService.getTestUnpass(id);
|
return new UpdatedVO();
|
}
|
|
@GetMapping("/confirm/{id}")
|
@LoginRequired
|
public UpdatedVO getConfirm(@PathVariable(value = "id") String id) {
|
projectTaskService.getConfirm(id);
|
return new UpdatedVO();
|
}
|
|
|
@PostMapping("/page")
|
@LoginRequired
|
@PermissionMeta(value = "项目任务管理",module = "项目任务管理", mount =true)
|
public PageResponseVO<ProjectTaskVO> page(@Validated @RequestBody QueryProjectTaskDTO dto
|
) {
|
IPage<ProjectTaskVO> iPage=projectTaskService.getProjectTaskPage(dto);
|
return PageUtil.build(iPage);
|
}
|
|
@PostMapping("/page/mine/todo")
|
@PermissionMeta(value = "待办任务",module = "我的待办", mount =true)
|
@LoginRequired
|
public PageResponseVO<ProjectTaskVO> getProjectTaskMineTodoPage(@Validated @RequestBody QueryProjectTaskDTO dto
|
) {
|
UserDO curUser = LocalUser.getLocalUser();
|
List<String> developerUsers=new ArrayList<>();
|
developerUsers.add(String.valueOf(curUser.getId()));
|
IPage<ProjectTaskVO> iPage=projectTaskService.getProjectTaskMineTodoPage(dto);
|
return PageUtil.build(iPage);
|
}
|
|
}
|