package com.estate.expert.admin.controller.admin; import com.estate.expert.admin.domain.common.request.BatchReq; import com.estate.expert.admin.domain.exam.task.check.CheckTaskDto; import com.estate.expert.admin.domain.exam.task.pass.ByPassInfoDto; import com.estate.expert.admin.domain.exam.task.review.ReviewTaskDto; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.service.CheckTaskService; import com.estate.expert.common.domain.Session; import com.estate.expert.common.rpc.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @Api(tags = "管理后台/任务管理") @CrossOrigin @Slf4j @RestController @RequestMapping("/admin/checkTask") @Validated public class CheckTaskController { @Resource private CheckTaskService checkTaskService; @ApiOperation("任务列表") @GetMapping("/list") public Result list(@RequestParam("planId") Integer planId, @RequestParam(value = "keyword", required = false) String keyword) { return Result.success(checkTaskService.listAvailableTasks(planId, keyword)); } @ApiOperation("任务列表(已创建的)") @GetMapping("/list/exist") public Result listExistTasks(@RequestParam("planId") Integer planId) { return Result.success(checkTaskService.listExistTasks(planId)); } @ApiOperation("发布任务") @PostMapping("/add") public Result add(@ApiParam(hidden = true) Session session, @Validated @RequestBody CheckTaskDto dto) { checkTaskService.add((User) session.getUser(), dto); return Result.success(); } @ApiOperation("任务详情") @GetMapping("/detail") public Result detail(@RequestParam("id") Integer id) { return Result.success(checkTaskService.detail(id)); } @ApiOperation("编辑任务") @PostMapping("/edit") public Result edit(@Validated @RequestBody CheckTaskDto dto) { checkTaskService.edit(dto); return Result.success(); } @ApiOperation("关闭任务") @PostMapping("/close") public Result close(@RequestParam("id") Integer id) { checkTaskService.close(id); return Result.success(); } @ApiOperation("清除任务信息") @PostMapping("/del") public Result delete(@Validated @RequestBody BatchReq request) { checkTaskService.deleteAllById(request.getIds()); return Result.success(); } @ApiOperation("驳回任务") @PostMapping("/reject") public Result reject(@RequestParam("id") Integer id) { checkTaskService.reject(id); return Result.success(); } @ApiOperation("获取轮空项") @GetMapping("/byPassInfo/get") public Result getByPassInfo(@RequestParam("id") Integer id) { var byPassInfo = checkTaskService.getByPassInfo(id); if(byPassInfo == null) return Result.success(new ByPassInfoDto()); return Result.success(byPassInfo); } @ApiOperation("设置轮空项") @PostMapping("/byPassInfo/set") public Result setByPassInfo(@RequestParam("id") Integer id, @RequestBody ByPassInfoDto byPassInfo) { checkTaskService.setByPassInfo(id, byPassInfo); return Result.success(); } @ApiOperation("获取复核任务") @GetMapping("/reviewTask/get") public Result getReviewTask(@RequestParam("id") Integer id) { return Result.success(checkTaskService.getReviewTask(id)); } @ApiOperation("添加复核任务") @PostMapping("/reviewTask/add") public Result addReviewTask(@ApiParam(hidden = true) Session session, @RequestParam("id") Integer id, @RequestBody ReviewTaskDto reviewTask) { checkTaskService.addReviewTask((User) session.getUser(), id, reviewTask); return Result.success(); } @ApiOperation("编辑复核任务") @PostMapping("/reviewTask/edit") public Result editReviewTask(@RequestParam("id") Integer id, @RequestBody ReviewTaskDto reviewTask) { checkTaskService.editReviewTask(id, reviewTask); return Result.success(); } @ApiOperation("关闭复核任务") @PostMapping("/reviewTask/close") public Result closeReviewTask(@RequestParam("id") Integer id) { checkTaskService.closeReviewTask(id); return Result.success(); } @ApiOperation("清除复核任务") @PostMapping("/reviewTask/del") public Result deleteReviewTask(@RequestParam("id") Integer id) { checkTaskService.deleteReviewTask(id); return Result.success(); } @ApiOperation("检查小组") @GetMapping("/team/members") public Result teamMembers(@RequestParam("id") Integer id) { return Result.success(checkTaskService.getTeamMembers(id)); } @ApiOperation("轮空项树-综合体系") @GetMapping("/byPassInfo/system/tree") public Result byPassInfoSystemTree(@RequestParam("id") Integer taskId) { return Result.success(checkTaskService.getByPassSystemTree(taskId)); } // @ApiOperation("轮空项树-设备体系") // @GetMapping("/byPassInfo/device/tree") // public Result byPassInfoDeviceTree(@RequestParam("id") Integer id, // @RequestParam("deviceType") DeviceType deviceType) { // return Result.success(checkTaskService.getByPassDeviceTree(id, deviceType)); // } @ApiOperation("轮空项树-设备体系") @GetMapping("/byPassInfo/device/tree") public Result byPassInfoDeviceTree(@RequestParam("id") Integer taskId) { var tree = checkTaskService.getByPassDeviceTree(taskId); if(tree == null) return Result.error("未找到轮空项"); return Result.success(tree); } }