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.measuringinstrumentledger.pojo.MeasuringInstrumentLedger; 
 | 
import com.ruoyi.oA.dto.OaProjectDto; 
 | 
import com.ruoyi.oA.pojo.OaProject; 
 | 
import com.ruoyi.oA.service.OaProjectService; 
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import org.apache.commons.collections4.CollectionUtils; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.web.bind.annotation.*; 
 | 
  
 | 
import javax.servlet.http.HttpServletResponse; 
 | 
import java.util.HashMap; 
 | 
import java.util.List; 
 | 
  
 | 
@Api(tags = "oA项目管理") 
 | 
@RestController 
 | 
@RequestMapping("/oA/project") 
 | 
public class OaProjectController { 
 | 
    @Autowired 
 | 
    private OaProjectService oaProjectService; 
 | 
  
 | 
    @ApiOperation("获取项目列表") 
 | 
    @GetMapping("/listPage") 
 | 
    public AjaxResult listPage(Page page, OaProjectDto oaProjectDto) { 
 | 
        IPage<OaProjectDto> listPage = oaProjectService.listPage(page, oaProjectDto); 
 | 
        return AjaxResult.success(listPage); 
 | 
    } 
 | 
    @ApiOperation("获取项目列表详情") 
 | 
    @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); 
 | 
    } 
 | 
    @ApiOperation("增添项目") 
 | 
    @PostMapping("/add") 
 | 
    public AjaxResult add(@RequestBody OaProject oaProject) { 
 | 
        boolean save = oaProjectService.save(oaProject); 
 | 
        return AjaxResult.success(save); 
 | 
    } 
 | 
    @ApiOperation("删除项目") 
 | 
    @DeleteMapping("/delete/{id}") 
 | 
    public AjaxResult delete(@PathVariable Long id) { 
 | 
        boolean remove = oaProjectService.deleteById(id); 
 | 
        return AjaxResult.success(remove); 
 | 
    } 
 | 
    @ApiOperation("更新项目") 
 | 
    @PostMapping("/update") 
 | 
    public AjaxResult update(@RequestBody OaProject oaProject) { 
 | 
        boolean update = oaProjectService.updateById(oaProject); 
 | 
        return AjaxResult.success(update); 
 | 
    } 
 | 
//    @ApiOperation("根据ID获取项目详情") 
 | 
//    @GetMapping("/getById") 
 | 
//    public AjaxResult getById(Long id) { 
 | 
//        OaProject oaProject = oaProjectService.getById(id); 
 | 
//        return AjaxResult.success(oaProject); 
 | 
//    } 
 | 
    @ApiOperation("导出所选项目") 
 | 
    @PostMapping("/export/{ids}") 
 | 
    public void export(HttpServletResponse response,@PathVariable("ids") List<Long> ids) { 
 | 
        if (CollectionUtils.isEmpty(ids)) { 
 | 
            throw new IllegalArgumentException("导出项目列表不能为空"); 
 | 
        } 
 | 
        oaProjectService.export(response, ids); 
 | 
    } 
 | 
  
 | 
} 
 |