| | |
| | | package com.highdatas.mdm.controller; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.plugins.Page; |
| | | import com.highdatas.mdm.entity.Flows; |
| | | import com.highdatas.mdm.entity.SysMenu; |
| | | import com.highdatas.mdm.pojo.ActivitiStatus; |
| | | import com.highdatas.mdm.pojo.CodeMsg; |
| | | import com.highdatas.mdm.pojo.Result; |
| | | import com.highdatas.mdm.service.IFlowsService; |
| | | import com.highdatas.mdm.service.ITUserService; |
| | | import com.sun.tools.javac.jvm.Code; |
| | | import org.activiti.engine.HistoryService; |
| | | import org.activiti.engine.RuntimeService; |
| | | import org.activiti.engine.runtime.ProcessInstance; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PathVariable; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestMethod; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @RestController |
| | | @RequestMapping("/flows") |
| | | public class FlowsController { |
| | | @Autowired |
| | | IFlowsService flowsService; |
| | | @Autowired |
| | | ITUserService userService; |
| | | @Autowired |
| | | RuntimeService runtimeService; |
| | | @RequestMapping(value = "/{pageno}", method = RequestMethod.GET) |
| | | public Result<Page<Flows>> getAll(@PathVariable int pageno, HttpServletRequest request) { |
| | | String pageSize = request.getParameter("pageSize"); |
| | | if (StringUtils.isEmpty(pageSize)) { |
| | | pageSize = "15"; |
| | | } |
| | | EntityWrapper<Flows> flowsEntityWrapper = new EntityWrapper<>(); |
| | | |
| | | String userId = request.getParameter("userId"); |
| | | if (!StringUtils.isEmpty(userId)) { |
| | | flowsEntityWrapper.eq("user_id", userId); |
| | | } |
| | | String status = request.getParameter("status"); |
| | | if (!StringUtils.isEmpty(status)) { |
| | | flowsEntityWrapper.eq("status", status); |
| | | } |
| | | Integer size = Integer.valueOf(pageSize); |
| | | Page page = new Page(pageno, size); |
| | | Page<Flows> menuPage = flowsService.selectPage(page, flowsEntityWrapper); |
| | | List<Flows> records = menuPage.getRecords(); |
| | | List<Flows> recordsStr = records.stream().map(flows -> flows.setBusinessTypeStr(flows.getBusinessType().toString()).setUserName(userService.selectById(flows.getUserId()).getUserName())).collect(Collectors.toList()); |
| | | menuPage.setRecords(recordsStr); |
| | | return Result.success(menuPage); |
| | | } |
| | | |
| | | @RequestMapping(value = "close/{id}", method = RequestMethod.GET) |
| | | public Result close(@PathVariable String id, HttpServletRequest request) { |
| | | Flows flows = flowsService.selectById(id); |
| | | if (flows == null) { |
| | | return Result.error(CodeMsg.ERROR_PARAMS_NOT_MATHED); |
| | | } |
| | | String workflowId = flows.getWorkflowId(); |
| | | ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(workflowId).singleResult(); |
| | | if (processInstance != null) { |
| | | runtimeService.deleteProcessInstance(workflowId,"终止流程"); |
| | | } |
| | | flows.setStatus(ActivitiStatus.close); |
| | | |
| | | flowsService.aduitFinish(flows); |
| | | |
| | | boolean update = flows.updateById(); |
| | | if (update) { |
| | | return Result.success(flows); |
| | | }else { |
| | | return Result.error(CodeMsg.UPDATE_ERROR); |
| | | } |
| | | |
| | | } |
| | | } |