2026-04-27 0bc2775e4fd776086c508fd7640bc3d61835cf73
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package com.ruoyi.oA.controller;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.oA.dto.OaProjectDto;
import com.ruoyi.oA.pojo.OaProject;
import com.ruoyi.oA.service.OaProjectService;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import jakarta.servlet.http.HttpServletResponse;
import lombok.AllArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.web.bind.annotation.*;
 
import java.util.HashMap;
import java.util.List;
 
@Tag(name = "oA项目管理")
@RestController
@AllArgsConstructor
@RequestMapping("/oA/project")
public class OaProjectController {
    private final OaProjectService oaProjectService;
 
    @Operation(summary = "获取项目列表")
    @GetMapping("/listPage")
    public AjaxResult listPage(Page page, OaProjectDto oaProjectDto) {
        IPage<OaProjectDto> listPage = oaProjectService.listPage(page, oaProjectDto);
        return AjaxResult.success(listPage);
    }
    @Operation(summary = "获取项目列表详情")
    @GetMapping("/getList")
    public AjaxResult getList(Page page, OaProjectDto oaProjectDto) {
        IPage<OaProjectDto> listPage = oaProjectService.listPage(page, oaProjectDto);
        HashMap<Object, Object> Map = new HashMap<>();
        listPage.getRecords().forEach(item -> {
            Map.put(item.getProjectId(), item);
        });
        return AjaxResult.success(Map);
    }
    @Operation(summary = "增添项目")
    @PostMapping("/add")
    public AjaxResult add(@RequestBody OaProject oaProject) {
        boolean save = oaProjectService.save(oaProject);
        return AjaxResult.success(save);
    }
    @Operation(summary = "删除项目")
    @DeleteMapping("/delete/{id}")
    public AjaxResult delete(@PathVariable Long id) {
        boolean remove = oaProjectService.deleteById(id);
        return AjaxResult.success(remove);
    }
    @Operation(summary = "更新项目")
    @PostMapping("/update")
    public AjaxResult update(@RequestBody OaProject oaProject) {
        boolean update = oaProjectService.updateById(oaProject);
        return AjaxResult.success(update);
    }
//    @Operation(summary = "根据ID获取项目详情")
//    @GetMapping("/getById")
//    public AjaxResult getById(Long id) {
//        OaProject oaProject = oaProjectService.getById(id);
//        return AjaxResult.success(oaProject);
//    }
    @Operation(summary = "导出所选项目")
    @PostMapping("/export/{ids}")
    public void export(HttpServletResponse response, @PathVariable("ids") List<Long> ids) {
        if (CollectionUtils.isEmpty(ids)) {
            throw new IllegalArgumentException("导出项目列表不能为空");
        }
        oaProjectService.export(response, ids);
    }
 
}