package com.gkhy.web.controller.bussiness; import com.gkhy.common.annotation.RepeatSubmit; import com.gkhy.common.core.controller.BaseController; import com.gkhy.common.core.domain.AjaxResult; import com.gkhy.common.core.domain.R; import com.gkhy.common.core.page.TableDataInfo; import com.gkhy.system.domain.ProjectExpertDetail; import com.gkhy.system.domain.ProjectFile; import com.gkhy.system.domain.ProjectManagement; import com.gkhy.system.domain.vo.request.*; import com.gkhy.system.domain.vo.response.*; import com.gkhy.system.service.IProjectManagementService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 项目管理Controller * * @author expert * @date 2024-11-14 */ @RestController @RequestMapping("/system/management") @Api(tags = "项目管理专家考评-项目管理专家考评前端控制器") public class ProjectManagementController extends BaseController { @Autowired private IProjectManagementService projectManagementService; /** * 查询项目管理列表 */ @ApiOperation(value = "查询项目管理列表(分页)") //@PreAuthorize("@ss.hasPermi('system:management:list')") @GetMapping("/list") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50") }) public TableDataInfo list(ProjectManagement projectManagement) { startPage(); List list = projectManagementService.selectProjectManagementList(projectManagement); return getDataTable(list); } /** * 获取项目管理详细信息 */ // @PreAuthorize("@ss.hasPermi('system:management:query')") @GetMapping(value = "/{id}") @ApiOperation(value = "获取项目管理详细信息") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "当前页,默认1") }) public R getInfo(@PathVariable("id") Long id) { return R.ok(projectManagementService.selectProjectManagementById(id)); } /** * 新增项目管理 */ // @PreAuthorize("@ss.hasPermi('system:management:add')") @ApiOperation(value = "新增编辑项目管理") @PostMapping("/saveProject") @RepeatSubmit public R addProject(@Validated @RequestBody ProjectManageSaveReq projectManagement) { return R.ok(projectManagementService.insertProjectManagement(projectManagement)); } /** * 修改项目管理 */ //@PreAuthorize("@ss.hasPermi('system:management:edit')") @ApiOperation(value = "项目专家选取保存-修改") @PostMapping("/projectExpert") @RepeatSubmit public R projectExpert(@Validated @RequestBody ProjectExpertSaveBatchReqDto projectManagement) { projectManagementService.updateProjectManagement(projectManagement); return R.ok(); } //@PreAuthorize("@ss.hasPermi('system:management:info')") @ApiOperation(value = "获取项目专家审批用(获取项目信息和专家数据)") @GetMapping("/projectExpertCheckInfo") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "id", dataType = "long", required = true, value = "当前页,默认1") }) public R projectExpertCheckInfo(@RequestParam("id") Long id) { return R.ok(projectManagementService.projectExpertCheckInfo(id)); } //@PreAuthorize("@ss.hasPermi('system:management:edit')") @ApiOperation(value = "项目专家审批") @PostMapping("/projectCheck") @RepeatSubmit public R projectCheck(@Validated @RequestBody ProjectCheckReq req) { projectManagementService.projectCheck(req); return R.ok(); } //@PreAuthorize("@ss.hasPermi('system:management:edit')") @ApiOperation(value = "项目归档") @PostMapping("/projectArchive") @RepeatSubmit public R projectArchive(@Validated @RequestBody ProjectArchiveReq req) { projectManagementService.projectArchive(req); return R.ok(); } /** * 删除项目管理 */ //@PreAuthorize("@ss.hasPermi('system:management:remove')") @DeleteMapping("/{ids}") @ApiOperation(value = "删除项目管理") @RepeatSubmit public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(projectManagementService.deleteProjectManagementByIds(ids)); } /** * 事后考评列表 */ @ApiOperation(value = "事后考评——事后考评(分页)") //@PreAuthorize("@ss.hasPermi('system:management:list')") @GetMapping("/projectExpertList") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50") }) public TableDataInfo projectExpertList(ProjectExpertStateReq req) { startPage(); List list = projectManagementService.getProjectExpertSate(req); return getDataTable(list); } @ApiOperation(value = "事后考评——项目专家考评列表(分页)") //@PreAuthorize("@ss.hasPermi('system:management:list')") @GetMapping("/projectExpertEvaluationList") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50"), @ApiImplicitParam(paramType = "query", name = "id", dataType = "int", required = true, value = "项目id") }) public TableDataInfo projectExpertEvaluationList(@RequestParam("id") Long id) { startPage(); List projectExpertEvaluationResps = projectManagementService.projectExpertEvaluationList(id); return getDataTable(projectExpertEvaluationResps); } //@PreAuthorize("@ss.hasPermi('system:management:edit')") @ApiOperation(value = "事后考评——项目专家考评") @PostMapping("/ProjectExpertDetailSave") @RepeatSubmit public R projectExpertDetailSave(@Validated @RequestBody ProjectExpertScoreSaveReq req) { projectManagementService.projectExpertDetailSave(req); return R.ok(); } @ApiOperation(value = "专家考评记录——专家考评记录列表(分页)") //@PreAuthorize("@ss.hasPermi('system:management:list')") @GetMapping("/projectExpertEvaList") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = false, value = "当前页,默认1"), @ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = false, value = "每页数目,默认10,最大50"), }) public TableDataInfo projectExpertEvaList(SysProjectExpertReq req) { startPage(); List projectExpertResps = projectManagementService.projectExpertEvaList(req); return getDataTable(projectExpertResps); } @ApiOperation(value = "专家考评记录——专家考评记明细") //@PreAuthorize("@ss.hasPermi('system:management:list')") @GetMapping("/selectProjectExpertDetailList") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "projectExpertId", dataType = "long", required = true, value = "项目专家id") }) public R> selectProjectExpertDetailList(@RequestParam("projectExpertId") Long projectExpertId) { return R.ok(projectManagementService.selectProjectExpertDetailList(projectExpertId)); } @ApiOperation(value = "专家考评记录——专家考评详情") //@PreAuthorize("@ss.hasPermi('system:management:list')") @GetMapping("/selectProjectExpertDetail") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "projectExpertId", dataType = "long", required = true, value = "项目专家id") }) public R selectProjectExpertDetail(@RequestParam("projectExpertId") Long projectExpertId) { return R.ok(projectManagementService.selectProjectExpertDetail(projectExpertId)); } @GetMapping("/selectProjectFileList") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "projectId", dataType = "long", required = true, value = "项目id"), @ApiImplicitParam(paramType = "query", name = "module", dataType = "String", required = true, value = "附件类型1审批附件2项目附件") }) @ApiOperation(value = "项目附件相关") public R> selectProjectFileList(@RequestParam("projectId") Long projectId, @RequestParam("module") String module ){ return R.ok(projectManagementService.selectProjectFileList(projectId,module)); } @GetMapping("/getProjectNum") @ApiOperation(value = "项目统计数量") public R getProjectNum(){ return R.ok(projectManagementService.getProjectNum()); } @ApiOperation(value = "项目管理----导出专家报销") //@PreAuthorize("@ss.hasPermi('system:management:list')") @GetMapping("/projectExpertExportList") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", name = "projectId", dataType = "long", required = true, value = "项目id") }) public R> projectExpertExportList(@RequestParam("projectId") Long projectId) { return R.ok(projectManagementService.projectExpertExportList(projectId)); } }