From cfededd9721be4322e660fc879f11a806fcc7963 Mon Sep 17 00:00:00 2001 From: weidy <lastanimals@163.com> Date: 星期二, 20 六月 2023 17:07:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowTaskUserServiceImpl.java | 138 +++++++++++++++++++++++----------------------- 1 files changed, 69 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..ba21c6d 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,19 @@ 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.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 +44,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 +133,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