src/main/java/com/ruoyi/projectManagement/controller/ProjectWorkflowController.java
@@ -1,6 +1,8 @@
package com.ruoyi.projectManagement.controller;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.projectManagement.dto.ProjectWorkflowDtos;
import com.ruoyi.projectManagement.service.ProjectWorkflowService;
import io.swagger.v3.oas.annotations.Operation;
@@ -29,20 +31,22 @@
        return AjaxResult.success(service.getWorkbench(projectId));
    }
    @GetMapping("/lifecycle/{projectId}")
    @Operation(summary = "项目生命周期")
    public AjaxResult lifecycle(@PathVariable Long projectId) {
        return AjaxResult.success(service.getLifecycle(projectId));
    }
    @PreAuthorize("@ss.hasPermi('project:module:edit')")
    @PostMapping("/start/{projectId}")
    @Log(title = "项目管理-开始项目", businessType = BusinessType.UPDATE)
    public AjaxResult startProject(@PathVariable Long projectId) {
        service.startProject(projectId);
        return AjaxResult.success();
    }
    @PostMapping("/project-executors")
    public AjaxResult updateProjectExecutors(@RequestBody ProjectWorkflowDtos.ProjectExecutorsRequest request) {
        service.updateProjectExecutors(request);
        return AjaxResult.success();
    }
    @PostMapping("/transition")
    @Log(title = "项目管理-阶段推进", businessType = BusinessType.UPDATE)
    public AjaxResult transition(@RequestBody ProjectWorkflowDtos.StageTransitionRequest request) {
        service.transitionStage(request);
        return AjaxResult.success();
@@ -50,12 +54,22 @@
    @PreAuthorize("@ss.hasPermi('project:module:edit')")
    @PostMapping("/module")
    @Log(title = "项目管理-模块维护", businessType = BusinessType.UPDATE)
    public AjaxResult saveModule(@RequestBody ProjectWorkflowDtos.ModuleSaveRequest request) {
        return AjaxResult.success(service.saveModule(request));
    }
    @PreAuthorize("@ss.hasPermi('project:module:edit')")
    @PostMapping("/modules/batch")
    @Log(title = "项目管理-模块批量维护", businessType = BusinessType.UPDATE)
    public AjaxResult saveModulesBatch(@RequestBody ProjectWorkflowDtos.ModulesBatchRequest request) {
        service.saveModulesBatch(request);
        return AjaxResult.success();
    }
    @PreAuthorize("@ss.hasPermi('project:module:remove')")
    @DeleteMapping("/module/{id}")
    @Log(title = "项目管理-模块删除", businessType = BusinessType.DELETE)
    public AjaxResult deleteModule(@PathVariable Long id) {
        service.deleteModule(id);
        return AjaxResult.success();
@@ -63,12 +77,14 @@
    @PreAuthorize("@ss.hasPermi('project:follow:add')")
    @PostMapping("/follow-up")
    @Log(title = "项目管理-项目跟进", businessType = BusinessType.INSERT)
    public AjaxResult saveFollowUp(@RequestBody ProjectWorkflowDtos.FollowUpRequest request) {
        return AjaxResult.success(service.saveFollowUp(request));
    }
    @PreAuthorize("@ss.hasPermi('project:follow:remove')")
    @DeleteMapping("/follow-up/{id}")
    @Log(title = "项目管理-跟进删除", businessType = BusinessType.DELETE)
    public AjaxResult deleteFollowUp(@PathVariable Long id) {
        service.softDelete("project_management_follow_up", id);
        return AjaxResult.success();
@@ -76,31 +92,36 @@
    @PreAuthorize("@ss.hasPermi('project:report:add')")
    @PostMapping("/report")
    @Log(title = "项目管理-进度汇报", businessType = BusinessType.INSERT)
    public AjaxResult saveReport(@RequestBody ProjectWorkflowDtos.ProgressReportRequest request) {
        return AjaxResult.success(service.saveReport(request));
    }
    @PreAuthorize("@ss.hasPermi('project:report:remove')")
    @DeleteMapping("/report/{id}")
    @Log(title = "项目管理-汇报删除", businessType = BusinessType.DELETE)
    public AjaxResult deleteReport(@PathVariable Long id) {
        service.softDelete("project_management_progress_report", id);
        service.deleteReport(id);
        return AjaxResult.success();
    }
    @PreAuthorize("@ss.hasPermi('project:material:add')")
    @PostMapping("/material")
    @Log(title = "项目管理-资料维护", businessType = BusinessType.INSERT)
    public AjaxResult saveMaterial(@RequestBody ProjectWorkflowDtos.MaterialRequest request) {
        return AjaxResult.success(service.saveMaterial(request));
    }
    @PreAuthorize("@ss.hasPermi('project:phase:edit')")
    @PostMapping("/phase")
    @Log(title = "项目管理-阶段办理", businessType = BusinessType.UPDATE)
    public AjaxResult savePhase(@RequestBody ProjectWorkflowDtos.PhaseRequest request) {
        return AjaxResult.success(service.savePhase(request));
    }
    @PreAuthorize("@ss.hasPermi('project:material:remove')")
    @DeleteMapping("/material/{id}")
    @Log(title = "项目管理-资料删除", businessType = BusinessType.DELETE)
    public AjaxResult deleteMaterial(@PathVariable Long id) {
        service.softDelete("project_management_material", id);
        return AjaxResult.success();
@@ -113,12 +134,14 @@
    @PreAuthorize("@ss.hasPermi('project:category:edit')")
    @PostMapping("/category")
    @Log(title = "项目管理-分类维护", businessType = BusinessType.UPDATE)
    public AjaxResult saveCategory(@RequestBody ProjectWorkflowDtos.CategoryRequest request) {
        return AjaxResult.success(service.saveCategory(request));
    }
    @PreAuthorize("@ss.hasPermi('project:category:remove')")
    @DeleteMapping("/category/{id}")
    @Log(title = "项目管理-分类删除", businessType = BusinessType.DELETE)
    public AjaxResult deleteCategory(@PathVariable Long id) {
        service.deleteCategory(id);
        return AjaxResult.success();
@@ -131,12 +154,14 @@
    @PreAuthorize("@ss.hasPermi('policy:file:edit')")
    @PostMapping("/policy")
    @Log(title = "政府政策文件-维护", businessType = BusinessType.UPDATE)
    public AjaxResult savePolicy(@RequestBody ProjectWorkflowDtos.PolicyRequest request) {
        return AjaxResult.success(service.savePolicy(request));
    }
    @PreAuthorize("@ss.hasPermi('policy:file:remove')")
    @DeleteMapping("/policy/{id}")
    @Log(title = "政府政策文件-删除", businessType = BusinessType.DELETE)
    public AjaxResult deletePolicy(@PathVariable Long id) {
        service.softDelete("government_policy_file", id);
        return AjaxResult.success();