From 34b6f181dd0723a1ddabdeedf5551a3a43d760d1 Mon Sep 17 00:00:00 2001 From: luozukai Date: Tue, 19 Feb 2019 16:41:20 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=AE=A1=E6=89=B9=E6=B5=81][=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0][=E6=B7=BB=E5=8A=A0=E5=90=88=E5=90=8C=E6=8F=90?= =?UTF-8?q?=E5=89=8D=E7=BB=88=E6=AD=A2=E5=AE=A1=E6=89=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WxFlowAbleController.java | 4 ++-- .../com/iformall/service/WxFlowService.java | 2 +- .../service/impl/WxFlowServiceImpl.java | 17 +++++++++++------ 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxFlowAbleController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxFlowAbleController.java index 573fd81f8..051b60789 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxFlowAbleController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxFlowAbleController.java @@ -40,9 +40,9 @@ public class WxFlowAbleController extends BaseController { @ApiImplicitParams({ @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true), - @ApiImplicitParam(name = "flowType", value = "流程类型,1合同流程 2账单流程", dataType = "int", paramType = "query", required = true) + @ApiImplicitParam(name = "flowType", value = "流程类型,1合同流程 2账单流程", dataType = "string", paramType = "query", required = true) }) - public ResultData list(Integer flowType,Integer pageNum, Integer pageSize) { + public ResultData list(String flowType,Integer pageNum, Integer pageSize) { logger.debug("[" + getIpAddr() + "] FlowAbleController::list"); return wxFlowService.list(flowType,pageNum,pageSize,super.getUser().getId()); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxFlowService.java b/mallinkService/src/main/java/com/iformall/service/WxFlowService.java index b077d1f6f..11bdfc9ca 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxFlowService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxFlowService.java @@ -37,7 +37,7 @@ public interface WxFlowService { * @param pageSize * @return */ - ResultData list(Integer flowType,Integer pageNum, Integer pageSize,Long userId); + ResultData list(String flowType,Integer pageNum, Integer pageSize,Long userId); /** * 审批历史 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java index 38df1fd55..8409495fd 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -23,6 +23,7 @@ import org.flowable.engine.runtime.ProcessInstance; import org.flowable.identitylink.api.IdentityLink; import org.flowable.image.ProcessDiagramGenerator; import org.flowable.task.api.Task; +import org.flowable.task.api.TaskQuery; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -222,10 +223,14 @@ public class WxFlowServiceImpl implements WxFlowService { } @Override - public ResultData list(Integer flowType, Integer pageNum, Integer pageSize,Long userId) { - String flowKey = getFlowKeyByType(flowType); - int total = taskService.createTaskQuery().processDefinitionKey(flowKey) - .taskCandidateUser(userId.toString()).list().size(); + public ResultData list(String flowType, Integer pageNum, Integer pageSize,Long userId) { + List definitionKeyList = new ArrayList<>(); + for (String ft:flowType.split(",")) { + definitionKeyList.add(getFlowKeyByType(Integer.parseInt(ft))); + } + TaskQuery taskQuery = taskService.createTaskQuery(); + taskQuery.processDefinitionKeyIn(definitionKeyList); + int total = taskQuery.taskCandidateUser(userId.toString()).list().size(); int pages; if(total % pageSize == 0){ pages = total / pageSize; @@ -233,8 +238,7 @@ public class WxFlowServiceImpl implements WxFlowService { pages = total / pageSize +1; } - List tasks = taskService.createTaskQuery().processDefinitionKey(flowKey) - .taskCandidateUser(userId.toString()).orderByTaskCreateTime().desc() + List tasks = taskQuery.orderByTaskCreateTime().desc() .listPage((pageNum -1) * pageSize,pageSize); List> result = new ArrayList<>(); @@ -247,6 +251,7 @@ public class WxFlowServiceImpl implements WxFlowService { taskInfoMap.put("processInstanceId",task.getProcessInstanceId()); taskInfoMap.put("taskId",task.getId()); taskInfoMap.put("businessId",mapInfo.get("businessId")); + taskInfoMap.put("businessType",mapInfo.get("flowType")); List> variables = (List)mapInfo.get("variables"); //定制variables,回传 if(CollectionUtils.isNotEmpty(variables)){ for (Map m:variables) {