/** * 版权所有,侵权必究! */ package com.zt.modules.workflow.controller; import com.zt.common.servlet.Result; import com.zt.modules.workflow.model.WfRunInstance; import com.zt.modules.workflow.model.WfRunTask; import com.zt.modules.workflow.service.WfRunInstanceService; import com.zt.modules.workflow.service.WorkflowService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Map; /** * 工作流controller * * @author 朱曙光 * @since 1.0.0 */ @RestController @RequestMapping("wf") @Api(value = "工作流", tags = "工作流") public class WorkflowController { @Autowired private WorkflowService workflowService; @Autowired private WfRunInstanceService wfRunInstanceService; // @PostMapping("queryAllSteps") // @ApiOperation("查询steps") // public Result queryAllSteps(@RequestBody WorkflowDto workflowDto) { // List list = null; // try { // list = workflowService.queryAllSteps(workflowDto.getWfCode()); // } catch (RuntimeException e) { // return Result.error(e.getLocalizedMessage()); // } // return Result.ok(list); // } // // @PostMapping("queryAllSteps2") // @ApiOperation("查询steps") // public Result queryAllSteps2(@RequestBody WorkflowDto workflowDto) { // List list = null; // try { // list = workflowService.queryAllSteps2(workflowDto.getWfCode(), new Long(workflowDto.getWfRunLog().getBizId())); // } catch (RuntimeException e) { // return Result.error(e.getLocalizedMessage()); // } // return Result.ok(list); // } // // @PostMapping("queryWfCurrentInfo") // @ApiOperation("查询流程当前信息") // public Result queryWfCurrentInfo(@RequestBody WorkflowDto workflowDto) { // QueryWfInfoDto dto = null; // try { // dto = workflowService.queryWfCurrentInfo(workflowDto.getWfCode(), new Long(workflowDto.getWfRunLog().getBizId())); // } catch (RuntimeException e) { // return Result.error(e.getLocalizedMessage()); // } // return Result.ok(dto); // } // // @PostMapping("approve") // @ApiOperation("提交同意") // public Result approve(@RequestBody WorkflowDto workflowDto) { // try { // workflowService.startProcess(workflowDto.getWfCode(), new Long(workflowDto.getWfRunLog().getBizId())); // if ("no".equalsIgnoreCase(workflowDto.getWfRunLog().getApproveAction())) { // workflowService.refuse(workflowDto.getWfCode(), workflowDto.getWfRunLog()); // } else { // workflowService.approve(workflowDto.getWfCode(), workflowDto.getWfRunLog()); // } // } catch (RuntimeException e) { // return Result.error(e.getLocalizedMessage()); // } // return Result.ok(); // } // // // // @PostMapping("refuse") // @ApiOperation("回退") // @LogOperation("回退") // public Result refuse(@RequestBody WorkflowDto workflowDto, HttpServletResponse response) throws Exception { // workflowService.refuse(workflowDto.getWfCode(), workflowDto.getWfRunLog()); // return Result.ok(); // } // // @PostMapping("queryFirstStep") // @ApiOperation("查询第一步") // @LogOperation("查询第一步") // public Result queryFirstStep(@RequestBody WorkflowDto workflowDto, HttpServletResponse response) throws Exception { // WfDefStep step = workflowService.queryFirstStep(workflowDto.getWfCode()); // return Result.ok(step); // } // // @PostMapping("queryCurrentStep") // @ApiOperation("查询当前步") // @LogOperation("查询当前步") // public Result queryCurrentStep(@RequestBody WorkflowDto workflowDto, HttpServletResponse response) throws Exception { // WfDefStep step = workflowService.queryCurrentStep(workflowDto.getWfCode(), new Long(workflowDto.getWfRunLog().getBizId())); // return Result.ok(step); // } // @PostMapping("saveDraft") // @ApiOperation("保存审批草稿数据") // @LogOperation("保存审批草稿数据") // public Result saveDraft(@RequestBody WorkflowDto workflowDto, HttpServletResponse response) throws Exception { // if (workflowDto.getWfRunLog().getApproverIds() == null || StringUtils.isEmpty(workflowDto.getWfRunLog().getApproverIds())) { // workflowDto.getWfRunLog().setApproverIds(UserContext.getUserId().toString()); // } // workflowService.saveDraft(workflowDto); // return Result.ok(null); // } // @PostMapping("queryDraft") // @ApiOperation("查询审批草稿数据") // @LogOperation("查询审批草稿数据") // public Result queryDraft(@RequestBody WorkflowDto workflowDto, HttpServletResponse response) throws Exception { // if (workflowDto.getWfRunLog().getApproverIds() == null || StringUtils.isEmpty(workflowDto.getWfRunLog().getApproverIds())) { // workflowDto.getWfRunLog().setApproverIds(UserContext.getUserId().toString()); // } // WfRunLogDraft draft = workflowService.queryDraft(workflowDto); // return Result.ok(draft); // } @GetMapping("/approvePass") @ApiOperation("审批通过") public Result approvePass(@RequestParam("wfIdCode") String wfIdCode, @RequestParam("bizId") Long bizId, @RequestParam("stepIdMark") String stepIdMark) { workflowService.approvePass(wfIdCode, bizId, stepIdMark); return Result.ok("审批完成"); } @GetMapping("/approvePass2") @ApiOperation("审批通过") public Result approvePass2(@RequestParam("wfIdCode") String wfIdCode, @RequestParam("bizId") Long bizId, @RequestParam("stepIdMark") String stepIdMark,@RequestParam("nextStepIdMark") String nextStepIdMark) { workflowService.approvePass2(wfIdCode, bizId, stepIdMark,nextStepIdMark); return Result.ok("审批完成"); } @GetMapping("/approveRefuse") @ApiOperation("审批驳回") public Result approveRefuse(@RequestParam("wfIdCode") String wfIdCode, @RequestParam("bizId") Long bizId, @RequestParam("stepIdMark") String stepIdMark) { workflowService.approveRefuse(wfIdCode, bizId, stepIdMark); return Result.ok("审批完成"); } @GetMapping("/approveRefuse2") @ApiOperation("审批驳回") public Result approveRefuse2(@RequestParam("wfIdCode") String wfIdCode, @RequestParam("bizId") Long bizId, @RequestParam("stepIdMark") String stepIdMark,@RequestParam("prevStepIdMark") String prevStepIdMark) { workflowService.approveRefuse2(wfIdCode, bizId, stepIdMark,prevStepIdMark); return Result.ok("审批完成"); } @GetMapping("/reStartFlow") @ApiOperation("重新启动流程") public Result reStartFlow(@RequestParam("wfIdCode") String wfIdCode, @RequestParam("bizId") Long bizId, @RequestParam("stepIdMark") String stepIdMark,@RequestParam("prevStepIdMark") String prevStepIdMark) { workflowService.reStartFlow(wfIdCode, bizId, stepIdMark,prevStepIdMark); return Result.ok("审批完成"); } @GetMapping("/startFlow") @ApiOperation("启动流程") public Result startFlow(@RequestParam("wfIdCode") String wfIdCode, @RequestParam("bizId") Long bizId) { Boolean result = workflowService.startFlow(wfIdCode, bizId); return Result.ok(result); } @GetMapping("/deleteFlowTask") @ApiOperation("删除流程") public Result deleteFlowTask(@RequestParam("wfIdCode") String wfIdCode, @RequestParam("bizId") Long bizId) { workflowService.deleteFlowTask(wfIdCode, bizId); return Result.ok("删除完成"); } @GetMapping("/getFlowStatus") @ApiOperation("类型1流程状态") public Result> getFlowStatus(String wfIdCodes, Long bizId) { Map result = workflowService.getFlowStatus(wfIdCodes, bizId); return Result.ok(result); } @GetMapping("/getAllSteps") @ApiOperation("类型1流程状态") public Result>> getAllSteps() { Map> result = workflowService.getAllSteps(); return Result.ok(result); } @GetMapping("/getSingleFlowStatus") @ApiOperation("单个类型流程状态") public Result> getSingleFlowStatus(String wfIdCodes, Long bizId) { Map result = workflowService.getSingleFlowStatus(wfIdCodes, bizId); return Result.ok(result); } @GetMapping("/getFlowStatus2") @ApiOperation("类型2流程状态") public Result> getFlowStatus2(String wfIdCodes, Long bizId) { Map result = workflowService.getFlowStatus2(wfIdCodes, bizId); return Result.ok(result); } @GetMapping("/getPlanFlowStatus") @ApiOperation("计划修理总体流程状态") public Result> getPlanFlowStatus(Long bizId) { Map result = workflowService.getPlanFlowStatus(bizId); return Result.ok(result); } @GetMapping("/getFlowStepStatus") @ApiOperation("流程步骤状态") public Result getFlowStepStatus(String wfIdCodes, Long bizId, String stepIdMark) { WfRunTask result = workflowService.getFlowStepStatus(wfIdCodes, bizId, stepIdMark); return Result.ok(result); } @GetMapping("/getStepCount") @ApiOperation("流程步骤") public Result>> getStepCount(String wfIdCodes,Long bizId) { return Result.ok(workflowService.getStepCount(wfIdCodes,bizId)); } @GetMapping("/hasExistFlow") @ApiOperation("流程步骤") public Boolean hasExistFlow(String wfIdCode,Long bizId) { return workflowService.hasExistFlow(wfIdCode,bizId); } @GetMapping("/reCallFlow") @ApiOperation("撤回流程") public Result recallFlow(String flowCode, Long bizId, String stepMarker, Long id, Long prevId) { String result = workflowService.recallFlow(flowCode, bizId, stepMarker, id, prevId); return Result.ok(result); } @GetMapping("/getFlowInstance") @ApiOperation("获取流程步骤") public Result getFlowInstance(String flowCode, Long bizId) { WfRunInstance flowInstance = wfRunInstanceService.getFlowInstance(flowCode, bizId); return Result.ok(flowInstance); } @GetMapping("/getFlowTrack") @ApiOperation("获取流程步骤") public Result> getFlowTrack(String flowCode, Long bizId) { List flowTrack = workflowService.getFlowTrack(flowCode, bizId); return Result.ok(flowTrack); } @GetMapping("/getFlowStepName") @ApiOperation("获取当前流程步骤名称") public Result getFlowStepName(String wfIdCodes, Long bizId) { String result = workflowService.getFlowStepName(wfIdCodes, bizId); return Result.ok(result); } @GetMapping("/setTaskPartFinish2") @ApiOperation("审批通过") public Result setTaskPartFinish2(@RequestParam("bizId") Long bizId, @RequestParam("receiveId") Long receiveId, @RequestParam("status") Integer status) { workflowService.setTaskPartFinish2(bizId, receiveId, status); return Result.ok("审批完成"); } @GetMapping("/setTaskPartFinish3") @ApiOperation("审批通过") public Result setTaskPartFinish3(@RequestParam("bizId") Long bizId, @RequestParam("receiveDeptId") Long receiveDeptId, @RequestParam("status") Integer status) { workflowService.setTaskPartFinish3(bizId, receiveDeptId, status); return Result.ok("审批完成"); } }