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/impl/ActivitiServiceImpl.java | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 101 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/service/impl/ActivitiServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/ActivitiServiceImpl.java index 20468b3..2ac4fb1 100644 --- a/src/main/java/com/highdatas/mdm/service/impl/ActivitiServiceImpl.java +++ b/src/main/java/com/highdatas/mdm/service/impl/ActivitiServiceImpl.java @@ -6,12 +6,10 @@ import com.highdatas.mdm.entity.Maintain; import com.highdatas.mdm.entity.MaintainDetail; import com.highdatas.mdm.entity.TUser; -import com.highdatas.mdm.pojo.ActivitiBusinessType; -import com.highdatas.mdm.pojo.ActivitiStatus; -import com.highdatas.mdm.pojo.Page; -import com.highdatas.mdm.pojo.Result; +import com.highdatas.mdm.pojo.*; import com.highdatas.mdm.service.*; import com.highdatas.mdm.service.act.*; +import com.highdatas.mdm.util.DbUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -42,8 +40,6 @@ @Autowired IFlowsService flowsService; - @Autowired - ITUserService userService; @Autowired HistoryService historyService; @@ -53,10 +49,39 @@ @Autowired RuntimeService runtimeService; + @Autowired + IMaintainFieldService maintainFieldService; - + private TUser user; + /** + * + * @description: 鍚姩娴佺▼ + * @param key 娴佺▼key + * @param session 璇锋眰session + * @param maintainId 鐗堟湰id + * @param type 涓氬姟绫诲瀷 + * @return: flows 娴佺▼瀹炰緥 + * + */ @Override public Flows start(String key, HttpSession session, String maintainId, ActivitiBusinessType type) { + return start(key, session, maintainId, type, null); + } + + /** + * + * @description: 鍚姩娴佺▼ + * @param key 娴佺▼key + * @param session 璇锋眰session + * @param maintainId 鐗堟湰id + * @param type 涓氬姟绫诲瀷 + * @param params 鍙傛暟绫诲瀷 + * @return: flows 娴佺▼瀹炰緥 + * + */ + @Override + public Flows start(String key, HttpSession session, String maintainId, ActivitiBusinessType type, Map<String, Object> params) { + identityService.setSession( session); Flows flows = new Flows(); String id = UUID.randomUUID().toString().replaceAll("-", ""); @@ -65,11 +90,24 @@ flows.setBusinessType(type); flows.setStatus(ActivitiStatus.working); HashMap<String, Object> variableMap = new HashMap<>(); - variableMap.put("reasson", "鐢宠瀹℃壒"); + if (params != null) { + variableMap.putAll(params); + } + variableMap.put("reason", "鐢宠瀹℃壒"); + String workflowId = identityService.startProcess(id, key, null, variableMap); flows.setWorkflowId(workflowId); flows.setCreateTime(new Date()); - TUser user = (TUser) session.getAttribute("user"); + TUser user = null; + if (session != null) { + user = (TUser) session.getAttribute("user"); + }else { + user = this.user; + } + if (user == null) { + return null; + } + String user_id = user.getUserId(); flows.setUserId(user_id); boolean inserted = flowsService.insert(flows); @@ -79,25 +117,46 @@ return null; } } - + /** + * + * @description: 鑾峰彇寰呭鎵瑰垪琛� + * @param tableName 琛ㄥ悕 + * @param session 璇锋眰session + * @param pageNo 椤垫暟 + * @param pageSize 姣忛〉鏉℃暟 + * @return: result 寰呭鐞嗘祦绋媗ist + * + */ @Override public Result todoTask(HttpSession session, String tableName, Integer pageNo, Integer pageSize) { taskService.setSession(session); List<String> todoTask = taskService.getTodoTask(); if (todoTask.size() == 0) { - return Result.success(null); + return Result.success(CodeMsg.SUCCESS); } - Wrapper<Flows> flowsWrapper = new EntityWrapper<Flows>().in("workflow_id", todoTask).eq("business_type", ActivitiBusinessType.maintain); + Wrapper<Flows> flowsWrapper = new EntityWrapper<Flows>().in("workflow_id", todoTask).ne("business_type", ActivitiBusinessType.exists); flowsWrapper.orderBy("create_time desc"); List<Flows> records = flowsService.selectList(flowsWrapper); List<Flows> result = new ArrayList<>(); if (!StringUtils.isEmpty(tableName)) { - records = records.stream() + + List<Flows> maintainList = records.stream() + .filter(flows -> flows.getBusinessType().equals(ActivitiBusinessType.maintain)) + .filter(flows -> (!flows.getStatus().equals(ActivitiStatus.open) || !flows.getStatus().equals(ActivitiStatus.close))) .filter(flows -> maintainService.selectById(flows.getBusinessId()) != null) .filter(flows -> maintainService.selectById(flows.getBusinessId()).getTableName().equalsIgnoreCase(tableName)).collect(Collectors.toList()); + List<Flows> collect = records.stream() + .filter(flows -> flows.getBusinessType().equals(ActivitiBusinessType.field)) + .filter(flows -> (!flows.getStatus().equals(ActivitiStatus.open) || !flows.getStatus().equals(ActivitiStatus.close))) + .filter(flows -> maintainFieldService.selectById(flows.getBusinessId()) != null) + .filter(flows -> maintainFieldService.selectById(flows.getBusinessId()).getTableName().equalsIgnoreCase(tableName)).collect(Collectors.toList()); + records = new ArrayList<>(); + + records.addAll(maintainList); + records.addAll(collect); } Page page = new Page(records.size()); page.setPageNo(pageNo); @@ -108,7 +167,7 @@ for (Flows flow : records) { String userId = flow.getUserId(); - TUser user = userService.selectOne(new EntityWrapper<TUser>().eq("user_id", userId)); + TUser user = DbUtils.getUserById(userId); if (user == null) { continue; } @@ -137,4 +196,32 @@ flowPages.setTotal(page.getRecordCount()); return Result.success(flowPages); } + + /** + * + * @description: 淇濆瓨鐢ㄦ埛淇℃伅鍒版祦绋嬫湇鍔¢噷 + * @param user 鐢ㄦ埛淇℃伅 + * @return: void + * + */ + + @Override + public void setUser(TUser user) { + this.user = user; + identityService.setUser(user); + taskService.setUser(user); + historyService.setUser(user); + runtimeService.setUser(user); + repositoryService.setUser(user); + } + /** + * + * @description: 鑾峰彇鐢ㄦ埛淇℃伅鍒版祦绋嬫湇鍔¢噷 + * @return: void + * + */ + @Override + public TUser getUser() { + return this.user; + } } -- Gitblit v1.8.0