package cn.com.goldenwater.dcproj.controller.mend.bpm; import cn.com.goldenwater.core.web.BaseController; import com.workflow.bpm.api.bpmservices.ActionConstant; import com.workflow.bpm.api.bpmservices.BpmTaskService; import com.workflow.bpm.api.bpmservices.co.taskinst.QueryTaskActionCO; import com.workflow.bpm.api.bpmservices.dto.ReqTaskActionBackDTO; import com.workflow.bpm.api.bpmservices.dto.ReqTaskActionSubmitDTO; import com.workflow.bpm.api.bpmservices.dto.ResQueryTaskActionDTO; import com.workflow.common.exception.BusinessException; import com.workflow.common.exception.impl.CommonErrorCode; import com.workflow.common.struct.res.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Objects; /** * * 直接操作流程 不更新业务信息(没有业务逻辑) * @program parent * @Description * @Author admin * @Date 2019/7/10 **/ @Api(tags = "流程操作") @RestController @RequestMapping("/bis/insp/pblm/plist/") public class TaskActionController extends BaseController { @Autowired private BpmTaskService bpmTaskService; /** * 任务-提交 * @param taskInstId * @return */ //@RequiresPermissions("base.bpm.operation") @ApiOperation(value = "任务-提交") @PostMapping("/v1/workflow/taskAction/{taskInstId}/submit") public Result actionSubmit(@PathVariable String taskInstId, @RequestBody ReqTaskActionSubmitDTO reqTaskActionSubmitDTO) { if (Objects.isNull(reqTaskActionSubmitDTO)) { throw new BusinessException(CommonErrorCode.ParamIsNull); } QueryTaskActionCO queryTaskActionCO = new QueryTaskActionCO(); queryTaskActionCO.setTaskInstId(taskInstId); queryTaskActionCO.setActionType(ActionConstant.ACTION_SUBMIT); queryTaskActionCO.setOrgPathFlag(true); queryTaskActionCO.setNextParticipantUserList(reqTaskActionSubmitDTO.getNextParticipantUserList()); queryTaskActionCO.setNextParticipantUser(reqTaskActionSubmitDTO.getNextParticipantUser()); queryTaskActionCO.setCommentDocListId(reqTaskActionSubmitDTO.getCommentDocListId()); return bpmTaskService.taskAction(queryTaskActionCO,getCurrentPersId(),getCurrentOrgId()); } /** * 任务-提交 * @param taskInstId * @return */ //@RequiresPermissions("base.bpm.operation") @ApiOperation(value = "任务-回退") @PostMapping("/v1/workflow/taskAction/{taskInstId}/back") public Result actionBack(@PathVariable String taskInstId, @RequestBody ReqTaskActionBackDTO reqTaskActionBackDTO) { if (Objects.isNull(reqTaskActionBackDTO)) { throw new BusinessException(CommonErrorCode.ParamIsNull); } QueryTaskActionCO queryTaskActionCO = new QueryTaskActionCO(); queryTaskActionCO.setTaskInstId(taskInstId); queryTaskActionCO.setActionType(ActionConstant.ACTION_BACK); queryTaskActionCO.setOrgPathFlag(reqTaskActionBackDTO.isOrgPathFlag()); queryTaskActionCO.setTargetTaskDefKey(reqTaskActionBackDTO.getTargetTaskDefKey()); queryTaskActionCO.setCommentDocListId(reqTaskActionBackDTO.getCommentDocListId()); queryTaskActionCO.setDataQualityInd(reqTaskActionBackDTO.isDataQualityInd()); queryTaskActionCO.setDataQualityLevelCode(reqTaskActionBackDTO.getDataQualityLevelCode()); queryTaskActionCO.setDataQualityDesc(reqTaskActionBackDTO.getDataQualityDesc()); queryTaskActionCO.setNextParticipantUserList(reqTaskActionBackDTO.getNextParticipantUserList()); return bpmTaskService.taskAction(queryTaskActionCO,getCurrentPersId(),getCurrentOrgId()); } /** * 任务-流程-结束 * @param taskInstId * @return */ @ApiOperation(value = "任务-流程-否决结束") @GetMapping("/v1/workflow/taskAction/{taskInstId}/denyOverLink") public Result denyOver(@PathVariable String taskInstId) { if (StringUtils.isEmpty(taskInstId)) { throw new BusinessException(CommonErrorCode.ParamIsNull); } QueryTaskActionCO queryTaskActionCO = new QueryTaskActionCO(); queryTaskActionCO.setTaskInstId(taskInstId); queryTaskActionCO.setActionType(ActionConstant.DENY_OVER); return bpmTaskService.taskAction(queryTaskActionCO,getCurrentPersId(),getCurrentOrgId()); } /** * 任务-流程-作废结束 * @param taskInstId * @return */ @ApiOperation(value = "任务-流程-作废结束") @GetMapping("/v1/workflow/taskAction/{taskInstId}/abandonOverLink") public Result abandonOver(@PathVariable String taskInstId) { if (StringUtils.isEmpty(taskInstId)) { throw new BusinessException(CommonErrorCode.ParamIsNull); } QueryTaskActionCO queryTaskActionCO = new QueryTaskActionCO(); queryTaskActionCO.setTaskInstId(taskInstId); queryTaskActionCO.setActionType(ActionConstant.ABANDON_OVER); return bpmTaskService.taskAction(queryTaskActionCO,getCurrentPersId(),getCurrentOrgId()); } }