From 2171e52259e2b6e64178f77d14eda487f45ed8d6 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 12 十二月 2023 16:50:16 +0800
Subject: [PATCH] 统计分析模块更改
---
Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowTaskUserServiceImpl.java | 141 ++++++++++++++++++++++++-----------------------
1 files changed, 72 insertions(+), 69 deletions(-)
diff --git a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowTaskUserServiceImpl.java b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowTaskUserServiceImpl.java
index ecdc82a..09aba05 100644
--- a/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowTaskUserServiceImpl.java
+++ b/Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowTaskUserServiceImpl.java
@@ -17,67 +17,22 @@
package com.vci.ubcs.flow.engine.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.vci.ubcs.flow.core.entity.BladeFlow;
-import com.vci.ubcs.flow.core.enums.FlowModeEnum;
+import com.vci.ubcs.flow.core.dto.FlowTaskDTO;
+import com.vci.ubcs.flow.core.entity.FlowTaskUser;
+import com.vci.ubcs.flow.core.entity.ProcessTemplate;
import com.vci.ubcs.flow.core.utils.TaskUtil;
-import com.vci.ubcs.flow.engine.constant.FlowEngineConstant;
import com.vci.ubcs.flow.engine.entity.*;
-import com.vci.ubcs.flow.engine.mapper.FlowMapper;
import com.vci.ubcs.flow.engine.mapper.FlowTaskUserMapper;
+import com.vci.ubcs.flow.engine.mapper.ProcessTemplateMapper;
import com.vci.ubcs.flow.engine.service.FlowEngineService;
import com.vci.ubcs.flow.engine.service.FlowTaskUserService;
-import com.vci.ubcs.flow.engine.utils.FlowCache;
-import com.vci.ubcs.system.user.cache.UserCache;
-import com.vci.ubcs.system.user.entity.User;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.flowable.bpmn.converter.BpmnXMLConverter;
-import org.flowable.bpmn.model.BpmnModel;
-import org.flowable.bpmn.model.Process;
-import org.flowable.common.engine.impl.util.IoUtil;
-import org.flowable.common.engine.impl.util.io.StringStreamSource;
-import org.flowable.editor.language.json.converter.BpmnJsonConverter;
-import org.flowable.engine.*;
-import org.flowable.engine.history.HistoricActivityInstance;
-import org.flowable.engine.history.HistoricProcessInstance;
-import org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl;
-import org.flowable.engine.impl.persistence.entity.ProcessDefinitionEntityImpl;
-import org.flowable.engine.repository.Deployment;
-import org.flowable.engine.repository.ProcessDefinition;
-import org.flowable.engine.repository.ProcessDefinitionQuery;
-import org.flowable.engine.runtime.ProcessInstance;
-import org.flowable.engine.runtime.ProcessInstanceQuery;
-import org.flowable.engine.task.Comment;
-import org.flowable.image.ProcessDiagramGenerator;
-import org.springblade.core.launch.constant.FlowConstant;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
-import org.springblade.core.secure.utils.AuthUtil;
-import org.springblade.core.tool.utils.DateUtil;
-import org.springblade.core.tool.utils.FileUtil;
-import org.springblade.core.tool.utils.Func;
-import org.springblade.core.tool.utils.StringUtil;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.multipart.MultipartFile;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.StringReader;
import java.util.*;
/**
@@ -92,42 +47,84 @@
private FlowEngineService flowEngineService;
private FlowTaskUserMapper flowTaskUserMapper;
+ private ProcessTemplateMapper processTemplateMapper;
/**
* 鏌ヨ褰撳墠鐧婚檰浜哄杩欎釜娴佺▼鐨則askUser
+ * @param type ProcessTemplateTypeEnum
* @return
*/
@Override
- public FlowTaskUserC getUser(){
- QueryWrapper<FlowTaskUser> queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("CREATED_BY", AuthUtil.getUserId());
- List<FlowTaskUser> flowTaskUsers = baseMapper.selectList(queryWrapper);
- FlowTaskUserC flowTaskUserCR = new FlowTaskUserC();
- if(flowTaskUsers.size()==0){
- return flowTaskUserCR;
+ public Object getUser(String type,String templateId){
+ Map kv = new HashMap();
+
+ //鏍规嵁type鏌ヨtop娴佺▼鏁版嵁
+ Map<String, Object> m = new HashMap<>();
+ m.put("button_type_key", type);
+ m.put("template_id", templateId);
+ List<ProcessTemplate> processTemplates = processTemplateMapper.selectByMap(m);
+ if(processTemplates.size()==0){
+ throw new ServiceException("涓婚搴撳畾涔�-妯℃澘绠$悊-娴佺▼妯℃澘锛屾病鏈夌粦瀹氭祦绋�!");
}
- flowTaskUserCR.setName(flowTaskUsers.get(0).getName());//鏀惰棌鍚嶇О
- flowTaskUserCR.setFlowTaskUsers(flowTaskUsers);
- return flowTaskUserCR;
+ ProcessTemplate processTemplate = processTemplates.get(0);
+ kv.put("flow",processTemplate);
+
+
+ //top鏀惰棌閮ㄥ垎鏁版嵁
+ QueryWrapper<FlowTaskUser> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("CREATED_BY", TaskUtil.getTaskUser());
+ List<FlowTaskUser> flowTaskUsers = baseMapper.selectList(queryWrapper);
+ List<FlowTaskDTO> cl = new ArrayList<>();
+
+ Map<String,List<FlowTaskUser>> nameMap = new HashMap<>();
+ for(FlowTaskUser flowTaskUser:flowTaskUsers){
+ String name = flowTaskUser.getName();//鏀惰棌鍚嶇О
+ List<FlowTaskUser> flowTaskUserListo = null;
+ if(nameMap.get(name)==null){
+ flowTaskUserListo = new ArrayList<>();
+ }else {
+ flowTaskUserListo = nameMap.get(name);
+ }
+ flowTaskUserListo.add(flowTaskUser);
+ nameMap.put(name,flowTaskUserListo);
+ }
+
+ for (String name:nameMap.keySet()){
+ FlowTaskDTO flowTaskUserCR = new FlowTaskDTO();
+ flowTaskUserCR.setName(name);//鏀惰棌鍚嶇О
+ flowTaskUserCR.setModelKey(nameMap.get(name).get(0).getModelKey());
+ flowTaskUserCR.setModelName(nameMap.get(name).get(0).getModelName());
+ flowTaskUserCR.setFlowTaskUsers(nameMap.get(name));
+ cl.add(flowTaskUserCR);
+ }
+ kv.put("collect",cl);
+
+ //鏁版嵁鑺傜偣鏁版嵁
+ List<FlowTaskDTO> tl = flowEngineService.getNodeByFlowableKey(processTemplate.getModelKey());
+ kv.put("user",tl);
+ return kv;
}
@Override
- public void saveOrUpdateUser(FlowTaskUserC flowTaskUserC){
+ public void saveOrUpdateUser(FlowTaskDTO flowTaskUserC){
List<FlowTaskUser> flowTaskUsers = flowTaskUserC.getFlowTaskUsers();
String name = flowTaskUserC.getName();//鏀惰棌鍚嶇О
//鏂板鎯呭喌涓嬮獙璇佹敹钘忓悕绉颁笉閲嶅
- if(flowTaskUsers.get(0).getId()!=null) {
- Map<String, Object> m = new HashMap<>();
- m.put("name", name);
- QueryWrapper q = Condition.getQueryWrapper(m, FlowTaskUser.class)
- .select("id,model_key modelKey,name,description,version,created,last_updated lastUpdated");
- if(flowTaskUserMapper.selectCount(q)>0){
- throw new ServiceException("鏀惰棌鍚嶇О宸茬粡瀛樺湪!");
- }
+ Map<String, Object> m = new HashMap<>();
+ m.put("name", name);
+ m.put("created_by", TaskUtil.getTaskUser());
+ QueryWrapper q = Condition.getQueryWrapper(m, FlowTaskUser.class)
+ .select("1");
+ if(flowTaskUserMapper.selectCount(q)>0){
+ throw new ServiceException("鏀惰棌鍚嶇О宸茬粡瀛樺湪!");
}
+
for (FlowTaskUser flowTaskUseri:flowTaskUsers){
flowTaskUseri.setName(name);
+ flowTaskUseri.setCreatedBy(TaskUtil.getTaskUser());
+ flowTaskUseri.setTemplateId(flowTaskUserC.getTemplateId());
+ flowTaskUseri.setModelKey(flowTaskUserC.getModelKey());
}
//鏂板銆佷慨鏀�
this.saveOrUpdateBatch(flowTaskUsers);
@@ -139,8 +136,14 @@
public void deleteUser(String name){
Map<String, Object> m = new HashMap<>();
m.put("name", name);
- m.put("created_by", AuthUtil.getUserId());
+ m.put("created_by", TaskUtil.getTaskUser());
baseMapper.deleteByMap(m);
}
+ public List<FlowTaskUser> getTaskUserByTemplateAndModelKey(String templateId,String modelKey){
+ Map<String, Object> m = new HashMap<>();
+ m.put("template_id", templateId);
+ m.put("model_key", modelKey);
+ return baseMapper.selectByMap(m);
+ }
}
--
Gitblit v1.9.3