From c007f0ca1785db093d48f4846cda82fe8e955765 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期三, 27 五月 2020 09:59:29 +0800 Subject: [PATCH] merage --- src/main/java/com/highdatas/mdm/service/act/impl/HistoryServiceImpl.java | 198 ++----------------------------------------------- 1 files changed, 8 insertions(+), 190 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/service/act/impl/HistoryServiceImpl.java b/src/main/java/com/highdatas/mdm/service/act/impl/HistoryServiceImpl.java index a693ee7..d173b9b 100644 --- a/src/main/java/com/highdatas/mdm/service/act/impl/HistoryServiceImpl.java +++ b/src/main/java/com/highdatas/mdm/service/act/impl/HistoryServiceImpl.java @@ -1,22 +1,15 @@ package com.highdatas.mdm.service.act.impl; -import com.highdatas.mdm.entity.TUser; import lombok.extern.slf4j.Slf4j; import org.activiti.engine.HistoryService; import org.activiti.engine.RepositoryService; import org.activiti.engine.TaskService; -import org.activiti.engine.history.HistoricActivityInstance; import org.activiti.engine.history.HistoricProcessInstance; -import org.activiti.engine.history.HistoricTaskInstance; -import org.activiti.engine.history.HistoricVariableInstance; -import org.activiti.engine.repository.ProcessDefinition; -import org.activiti.engine.task.Task; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.text.SimpleDateFormat; -import java.util.*; +import java.util.Date; @Slf4j @Service @@ -30,42 +23,13 @@ - public HistoricVariableInstance getRecentHistoryVariables(String key, String processId) { - HistoricVariableInstance singleResult = historyService.createHistoricVariableInstanceQuery().processInstanceId(processId).variableName(key).orderByVariableName().desc().singleResult(); - return singleResult; - - } - public List<HistoricVariableInstance> getHistoryVariables(String Key) { - List<HistoricVariableInstance> list = historyService.createHistoricVariableInstanceQuery().variableName(Key).list(); - return list; - } - @Override - public ArrayList<HistoricActivityInstance> getHistoryAction(String workflowId) { - ArrayList<HistoricActivityInstance> result = new ArrayList<HistoricActivityInstance>(); - List<HistoricActivityInstance> list = historyService.createHistoricActivityInstanceQuery().processInstanceId(workflowId).list(); - for (HistoricActivityInstance historicActivityInstance : list) { - if (!historicActivityInstance.getActivityType().equalsIgnoreCase("exclusiveGateway")) { - result.add(historicActivityInstance); - } - } - return result; - //resultPool.addValue(result); - } - @Override - public List<String> getMyHistotyApprove(String workflowId) { - TUser onlineUser = getOnlineUser(); - ArrayList<String> result = new ArrayList<String>(); - List<HistoricActivityInstance> list = historyService.createHistoricActivityInstanceQuery().processInstanceId(workflowId).list(); - for (HistoricActivityInstance historicActivityInstance : list) { - if (!historicActivityInstance.getActivityType().equalsIgnoreCase("exclusiveGateway") ) { - //TODO userType -// if (onlineUser.getSysType().equalsIgnoreCase("DM") || (historicActivityInstance.getAssignee() != null && historicActivityInstance.getAssignee().equalsIgnoreCase(onlineUser.getUserId()))) { -// result.add(historicActivityInstance.getProcessInstanceId()); -// } - } - } - return result; - } + /** + * + * @description: 妫�楠屾祦绋嬫槸鍚︾粨鏉� + * @param processId 娴佺▼id + * @return: 娴佺▼鏄惁缁撴灉 + * + */ @Override public boolean isTaskFinished(String processId) { if (processId.isEmpty()) { @@ -78,151 +42,5 @@ String endActivityId = instance.getEndActivityId(); return (endActivityId!=null && !StringUtils.isEmpty(endActivityId) && endTime !=null); - } - @Override - public void getTaskDetail(String processId) { - String tableName = null; - String userId = null; - LinkedHashMap<String,String> variableMap = new LinkedHashMap<String, String>(); - List<HistoricVariableInstance> list = historyService.createHistoricVariableInstanceQuery().processInstanceId(processId).list(); - - for (HistoricVariableInstance historicVariableInstance : list) { - String variableName = historicVariableInstance.getVariableName(); - if (variableName.equalsIgnoreCase("tablename")) { - tableName = (String) historicVariableInstance.getValue(); - continue; - } - if (variableName.equalsIgnoreCase("applyUserId")) { - userId = (String) historicVariableInstance.getValue(); - continue; - } - variableMap.put(variableName, String.valueOf(historicVariableInstance.getValue())); - } - //TODO db - -// if (tableName != null && userId != null) { -// NamedSQL namedSQL = NamedSQL.getInstance("getLineById"); -// namedSQL.setTableName(tableName); -// namedSQL.setParam("fieldNameId", "user_id"); -// namedSQL.setParam("id", "'"+userId+"'"); -// Entity entity = SQLRunner.getEntity(namedSQL); -// TableMeta tableMeta = entity.getTableMeta(); -// List<Field> fields = tableMeta.getFields(); -// for (Field field : fields) { -// String fieldValue = entity.getString(field.getName()); -// variableMap.put(field.getName(), fieldValue); -// } -// } - //resultPool.addValue(variableMap); - } - @Override - public void getAllTask() { - List<Map<String, String>> result = new ArrayList<Map<String, String>>(); - TUser user = getOnlineUser(); - List<HistoricProcessInstance> unFinishedTaskList = historyService.createHistoricProcessInstanceQuery().includeProcessVariables().list(); - Map<String, String> singleTask = null ; - - for (HistoricProcessInstance historicProcessInstance : unFinishedTaskList) { - String userId = historicProcessInstance.getStartUserId(); - if (user.getUserId().equalsIgnoreCase(userId)) { - if (historicProcessInstance.getEndTime() == null) { - Task Assigneetask = taskService.createTaskQuery().taskAssignee(userId).processInstanceId(historicProcessInstance.getId()).singleResult(); - if (Assigneetask != null) { - ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(historicProcessInstance.getProcessDefinitionId()).singleResult(); - singleTask = packageTaskInfo( Assigneetask, processDefinition); - singleTask.put("status", "寰呭姙鐞�"); - } - Task CandiDateTask = taskService.createTaskQuery().taskCandidateUser(userId).processInstanceId(historicProcessInstance.getId()).singleResult(); - if (CandiDateTask != null) { - ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(historicProcessInstance.getProcessDefinitionId()).singleResult(); - singleTask = packageTaskInfo( CandiDateTask, processDefinition); - singleTask.put("status", "寰呮帴鏀�"); - } - } - else { - String processDefinitionId = historicProcessInstance.getProcessDefinitionId(); - ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processDefinitionId).singleResult(); - singleTask = packageTaskInfo(new SimpleDateFormat("yyyy-MM-dd hh:mm"),historicProcessInstance, processDefinition); - singleTask.put("status", "宸茬粨鏉�"); - } - - result.add(singleTask); - } - } - //resultPool.addValue("myUnFinishedTask", result, new TodoTaskWriter()); - } - @Override - public List<HistoricProcessInstance> getHistoryTask() { - TUser user = getOnlineUser(); - List<HistoricTaskInstance> taskList = historyService.createHistoricTaskInstanceQuery().taskAssignee(user.getUserId()).list(); - HashSet<String> workflowIdSet = new HashSet<>(); - for (HistoricTaskInstance historicTaskInstance : taskList) { - String processInstanceId = historicTaskInstance.getProcessInstanceId(); - workflowIdSet.add(processInstanceId); - } - - List<HistoricProcessInstance> historicProcessInstances = historyService.createHistoricProcessInstanceQuery().processInstanceIds(workflowIdSet).list(); - return historicProcessInstances; - - } - @Override - public List<Map<String, String>> getMyRunTask() { - TUser onlineUser = getOnlineUser(); - List<Map<String, String>> result = new ArrayList<Map<String, String>>(); - List<HistoricProcessInstance> unFinishedTaskList = historyService.createHistoricProcessInstanceQuery().includeProcessVariables().unfinished().list(); - Map<String, String> singleTask = null; - - for (HistoricProcessInstance historicProcessInstance : unFinishedTaskList) { - String userId = historicProcessInstance.getStartUserId(); - if (onlineUser.getUserId().equalsIgnoreCase(userId)) { - - Task Assigneetask = taskService.createTaskQuery().taskAssignee(userId).processInstanceId(historicProcessInstance.getId()).singleResult(); - if (Assigneetask != null) { - ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(historicProcessInstance.getProcessDefinitionId()).singleResult(); - singleTask = packageTaskInfo( Assigneetask, processDefinition); - singleTask.put("status", "寰呭姙鐞�"); - } - Task CandiDateTask = taskService.createTaskQuery().taskCandidateUser(userId).processInstanceId(historicProcessInstance.getId()).singleResult(); - if (CandiDateTask != null) { - ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(historicProcessInstance.getProcessDefinitionId()).singleResult(); - singleTask = packageTaskInfo( CandiDateTask, processDefinition); - singleTask.put("status", "寰呮帴鏀�"); - } - - result.add(singleTask); - } - } - return result; - //resultPool.addValue("myUnFinishedTask", result, new TodoTaskWriter()); - } - - public Map<String, String> packageTaskInfo(SimpleDateFormat sdf, HistoricProcessInstance historicProcessInstance, ProcessDefinition processDefinition) { - TUser user = getOnlineUser(); - Map<String, String> singleTask = new HashMap<String, String>(); - singleTask.put("sid", user.getUserId()); - singleTask.put("id", historicProcessInstance.getId()); - singleTask.put("name", "宸茬粨鏉�"); - singleTask.put("createTime", sdf.format(historicProcessInstance.getStartTime())); - singleTask.put("pdname", processDefinition.getName()); - singleTask.put("pdversion", Integer.toString(processDefinition.getVersion())); - singleTask.put("pid", historicProcessInstance.getId()); - - return singleTask; - } - - public Map<String, String> packageTaskInfo(Task task, ProcessDefinition processDefinition) { - Map<String, String> singleTask = new HashMap<String, String>(); - - Map<String,Object> taskVariables = taskService.getVariables(task.getId()); - singleTask.put("sid", (String)taskVariables.get("applyUserId")); - singleTask.put("id", task.getId()); - singleTask.put("name", task.getName()); - singleTask.put("isSuspension", String.valueOf(task.isSuspended())); - singleTask.put("createTime", new SimpleDateFormat("yyyy-MM-dd hh:mm").format(task.getCreateTime())); - singleTask.put("pdname", processDefinition.getName()); - singleTask.put("pdversion", Integer.toString(processDefinition.getVersion())); - singleTask.put("pid", task.getProcessInstanceId()); - - return singleTask; } } -- Gitblit v1.8.0