package com.project.admin.controller.approval; import java.util.List; import java.util.Arrays; import com.project.common.annotation.RepeatSubmit; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.project.common.annotation.Log; import com.project.common.core.controller.BaseController; import com.project.common.core.domain.AjaxResult; import com.project.common.enums.BusinessType; import com.project.approval.domain.vo.ApprovalFlowVo; import com.project.approval.domain.bo.editBo.ApprovalFlowBo; import com.project.approval.domain.bo.queryBo.ApprovalFlowQueryBo; import com.project.approval.service.IApprovalFlowService; import com.project.common.utils.poi.ExcelUtil; import com.project.common.core.page.TableDataInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; /** * 审批流程Controller * * @author manton */ @Api(value = "审批流程控制器", tags = {"审批流程管理"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/approval/flow") public class ApprovalFlowController extends BaseController { private final IApprovalFlowService iApprovalFlowService; @ApiOperation("查询审批流程列表") @GetMapping("/list") public TableDataInfo list(ApprovalFlowQueryBo bo) { startPage(); List list = iApprovalFlowService.queryList(bo); return getDataTable(list); } @ApiOperation("导出审批流程列表") //@PreAuthorize("@ss.hasPermi('approval:flow:export')") @Log(title = "审批流程", businessType = BusinessType.EXPORT) @GetMapping("/export") @RepeatSubmit public AjaxResult export(ApprovalFlowQueryBo bo) { List list = iApprovalFlowService.queryList(bo); ExcelUtil util = new ExcelUtil(ApprovalFlowVo.class); return util.exportExcel(list, "审批流程"); } @ApiOperation("获取审批流程详细信息") @GetMapping("/{flowId}") public AjaxResult getInfo(@PathVariable("flowId" ) Long flowId) { return AjaxResult.success(iApprovalFlowService.queryById(flowId)); } @ApiOperation("新增审批流程") //@PreAuthorize("@ss.hasPermi('approval:flow:add')") @Log(title = "审批流程", businessType = BusinessType.INSERT) @PostMapping("/add") @RepeatSubmit public AjaxResult add(@RequestBody ApprovalFlowBo bo) { return toAjax(iApprovalFlowService.insertByBo(bo) ? 1 : 0); } @ApiOperation("修改审批流程") //@PreAuthorize("@ss.hasPermi('approval:flow:edit')") @Log(title = "审批流程", businessType = BusinessType.UPDATE) @PostMapping("/upd") @RepeatSubmit public AjaxResult upd(@RequestBody ApprovalFlowBo bo) { return toAjax(iApprovalFlowService.updateByBo(bo) ? 1 : 0); } @ApiOperation("删除审批流程") //@PreAuthorize("@ss.hasPermi('approval:flow:remove')") @Log(title = "审批流程" , businessType = BusinessType.DELETE) @DeleteMapping("/{flowIds}") @RepeatSubmit public AjaxResult remove(@PathVariable Long[] flowIds) { return toAjax(iApprovalFlowService.deleteByIds(Arrays.asList(flowIds)) ? 1 : 0); } }