From c8aee7b9bfd79cfd741d7e5692520f4f51a31a86 Mon Sep 17 00:00:00 2001 From: kimi <kimi42345@gmail.com> Date: 星期一, 18 五月 2020 18:30:01 +0800 Subject: [PATCH] bak 修改 获取版本数据前 --- src/main/java/com/highdatas/mdm/service/impl/ActivitiServiceImpl.java | 69 ++++++++++++++++++++++++++++------ 1 files changed, 57 insertions(+), 12 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..3831ee8 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,19 @@ @Autowired RuntimeService runtimeService; + @Autowired + IMaintainFieldService maintainFieldService; + private TUser user; @Override public Flows start(String key, HttpSession session, String maintainId, ActivitiBusinessType type) { + return start(key, session, maintainId, type, null); + } + + @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 +70,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); @@ -85,19 +103,31 @@ 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 +138,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 +167,19 @@ flowPages.setTotal(page.getRecordCount()); return Result.success(flowPages); } + + @Override + public void setUser(TUser user) { + this.user = user; + identityService.setUser(user); + taskService.setUser(user); + historyService.setUser(user); + runtimeService.setUser(user); + repositoryService.setUser(user); + } + + @Override + public TUser getUser() { + return this.user; + } } -- Gitblit v1.8.0