package com.ycl.controller;
|
|
import com.ycl.common.base.Result;
|
import com.ycl.common.group.Add;
|
import com.ycl.common.group.Update;
|
import com.ycl.common.utils.ProjectCodeGenerator;
|
import com.ycl.domain.form.DocumentInfoForm;
|
import com.ycl.domain.form.ProjectInfoForm;
|
import com.ycl.domain.query.ProjectInfoQuery;
|
import com.ycl.service.ProjectInfoService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.validation.constraints.NotEmpty;
|
import java.util.List;
|
|
/**
|
* 项目管理基础信息表 前端控制器
|
*
|
* @author flq
|
* @since 2024-11-22
|
*/
|
@Validated
|
@RequiredArgsConstructor
|
@Api(value = "项目管理基础信息表", tags = "项目管理基础信息表管理")
|
@RestController
|
@RequestMapping("/project/info")
|
public class ProjectInfoController {
|
|
private final ProjectInfoService projectInfoService;
|
|
@PostMapping
|
@ApiOperation(value = "添加", notes = "添加")
|
// @PreAuthorize("hasAuthority('projectInfo:add')")
|
public Result add(@RequestBody @Validated(Add.class) ProjectInfoForm form) {
|
return projectInfoService.add(form);
|
}
|
@PostMapping("/document")
|
@ApiOperation(value = "添加相关文件", notes = "添加相关文件")
|
// @PreAuthorize("hasAuthority('projectInfo:add')")
|
public Result addDoc(@RequestBody @Validated(Add.class) DocumentInfoForm form) {
|
return projectInfoService.addDoc(form);
|
}
|
@PutMapping
|
@ApiOperation(value = "修改", notes = "修改")
|
// @PreAuthorize("hasAuthority('projectInfo:edit')")
|
public Result update(@RequestBody @Validated(Update.class) ProjectInfoForm form) {
|
return projectInfoService.update(form);
|
}
|
|
@DeleteMapping("/{id}")
|
@ApiOperation(value = "ID删除", notes = "ID删除")
|
// @PreAuthorize("hasAuthority('projectInfo:del')")
|
public Result removeById(@PathVariable("id") String id) {
|
return projectInfoService.removeById(id);
|
}
|
|
@DeleteMapping("/batch")
|
@ApiOperation(value = "批量删除", notes = "批量删除")
|
// @PreAuthorize("hasAuthority('projectInfo:del:batch')")
|
public Result remove(@RequestBody @NotEmpty(message = "请选择数据") List<String> ids) {
|
return projectInfoService.remove(ids);
|
}
|
|
@GetMapping("/page")
|
@ApiOperation(value = "分页", notes = "分页")
|
// @PreAuthorize("hasAuthority('projectInfo:page')")
|
public Result page(ProjectInfoQuery query) {
|
return projectInfoService.page(query);
|
}
|
|
@GetMapping("/{id}")
|
@ApiOperation(value = "详情", notes = "详情")
|
// @PreAuthorize("hasAuthority('projectInfo:detail')")
|
public Result detail(@PathVariable("id") Integer id) {
|
return projectInfoService.detail(id);
|
}
|
@GetMapping("/document/{id}")
|
@ApiOperation(value = "相关文件详情", notes = "相关文件详情")
|
// @PreAuthorize("hasAuthority('projectInfo:detail')")
|
public Result docDetail(@PathVariable("id") Integer id) {
|
return projectInfoService.docDetail(id);
|
}
|
@GetMapping("/list")
|
// @PreAuthorize("hasAuthority('projectInfo:list')")
|
@ApiOperation(value = "列表", notes = "列表")
|
public Result list() {
|
return projectInfoService.all();
|
}
|
|
/**
|
* 生成项目编号
|
* @return 项目编号
|
*/
|
@GetMapping("/getProjectCode")
|
public Result generateProjectCode() {
|
return Result.ok().data(ProjectCodeGenerator.generateProjectCode());
|
};
|
|
@GetMapping("/getManagerFlag/{recordId}")
|
public Result getManagerFlag(@PathVariable("recordId") Integer recordId) {
|
return projectInfoService.getManagerFlag(recordId);
|
}
|
}
|