package org.springblade.modules.project.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; import org.springblade.modules.project.pojo.dto.ProjectAndPlanDetailDTO; import org.springblade.modules.project.pojo.dto.ProjectInfoDTO; import org.springblade.modules.project.pojo.dto.ProjectInfoPageDTO; import org.springblade.modules.project.pojo.vo.ProjectAndPlanDetailVO; import org.springblade.modules.project.pojo.vo.ProjectInfoDetailVO; import org.springblade.modules.project.pojo.vo.ProjectInfoVO; import org.springblade.modules.project.service.IProjectInfoService; import org.springframework.web.bind.annotation.*; /** * @Param * @Author wangwl * @Date 2024/4/8 11:28 **/ @NonDS @RestController @AllArgsConstructor @RequestMapping( "/blade-attach/project") @Tag(name = "项目信息接口", description = "项目信息接口") public class ProjectInfoController extends BladeController { private final IProjectInfoService projectInfoService; @PostMapping("/add") @ApiOperationSupport(order = 1) @Operation(summary = "新增项目", description = "新增项目,传入项目信息和每一年的计划数组") public R add(@RequestBody ProjectInfoDTO dto) { projectInfoService.add(dto); return R.success("新增成功"); } @PostMapping("/page") @ApiOperationSupport(order = 2) @Operation(summary = "分页", description = "分页查询项目") public R> page(@RequestBody ProjectInfoPageDTO dto) { IPage page = projectInfoService.page2(dto); return R.data(page); } @GetMapping("/detail") @ApiOperationSupport(order = 3) @Operation(summary = "项目详情", description = "项目详情,传入项目id") public R detail(Long id) { ProjectInfoDetailVO vo = projectInfoService.detail(id); return R.data(vo); } @PostMapping("/update") @ApiOperationSupport(order = 4) @Operation(summary = "修改项目", description = "修改项目,传入项目信息和每一年的计划数组") public R update(@RequestBody ProjectInfoDTO dto) { projectInfoService.update2(dto); return R.success("修改成功"); } @GetMapping("/project-and-plan-detail") @ApiOperationSupport(order = 5) @Operation(summary = "项目与计划详情", description = "项目与计划详情,传入项目id") public R detail2(Long id) { ProjectAndPlanDetailVO vo = projectInfoService.detail2(id); return R.data(vo); } @PostMapping("/update-project-finished") @ApiOperationSupport(order = 5) @Operation(summary = "修改项目完成情况", description = "修改项目完成情况,传入项目信息与计划年份和每年12个月的详情") public R updateFinished(@RequestBody ProjectAndPlanDetailDTO dto) { projectInfoService.updateFinished(dto); return R.success("修改成功"); } }