From 93845180efe4380609a2deb4dc22dd0523dbcd2a Mon Sep 17 00:00:00 2001 From: ludc Date: 星期一, 19 六月 2023 20:58:30 +0800 Subject: [PATCH] 代码整合 --- Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/FlowTaskUserServiceImpl.java | 88 ++++++++++++++++++++++++++++++++++---------- 1 files changed, 68 insertions(+), 20 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 d32c28c..993a297 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 @@ -28,6 +28,7 @@ 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; @@ -92,24 +93,62 @@ private FlowEngineService flowEngineService; private FlowTaskUserMapper flowTaskUserMapper; + private ProcessTemplateMapper processTemplateMapper; /** * 鏌ヨ褰撳墠鐧婚檰浜哄杩欎釜娴佺▼鐨則askUser + * @param type ProcessTemplateTypeEnum * @return */ @Override - public FlowTaskUserC getUser(){ - QueryWrapper<FlowTaskUser> queryWrapper = new QueryWrapper<>(); - //ORA-01722: 鏃犳晥鏁板瓧锛屾墍浠ユ墠.toString()鐨� - queryWrapper.eq("CREATED_BY", AuthUtil.getUserId().toString()); - 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<FlowTaskUserC> 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()){ + FlowTaskUserC flowTaskUserCR = new FlowTaskUserC(); + 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<Map<String,String>> tl = flowEngineService.getNodeByFlowableKey(processTemplate.getModelKey()); + kv.put("user",tl); + return kv; } @Override @@ -118,17 +157,20 @@ 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); @@ -140,8 +182,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