From d0451fdd55195901e65e5c4b3b64028a86f9e669 Mon Sep 17 00:00:00 2001 From: kimi42345 <kimi42345@outlook.com> Date: 星期日, 22 三月 2020 22:10:54 +0800 Subject: [PATCH] no message --- src/main/java/com/highdatas/mdm/service/impl/FlowsServiceImpl.java | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 57 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/highdatas/mdm/service/impl/FlowsServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/FlowsServiceImpl.java index 8637383..87fb86e 100644 --- a/src/main/java/com/highdatas/mdm/service/impl/FlowsServiceImpl.java +++ b/src/main/java/com/highdatas/mdm/service/impl/FlowsServiceImpl.java @@ -3,16 +3,21 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.highdatas.mdm.entity.Flows; import com.highdatas.mdm.entity.MaintainField; +import com.highdatas.mdm.entity.TUserRole; import com.highdatas.mdm.mapper.FlowsMapper; import com.highdatas.mdm.mapper.SysFieldMapper; +import com.highdatas.mdm.pojo.ActivitiBusinessType; import com.highdatas.mdm.pojo.ActivitiStatus; -import com.highdatas.mdm.service.IFlowsService; +import com.highdatas.mdm.pojo.NextTaskUserInfo; +import com.highdatas.mdm.service.*; import com.baomidou.mybatisplus.service.impl.ServiceImpl; -import com.highdatas.mdm.service.IMaintainFieldService; +import com.highdatas.mdm.service.act.TaskService; import com.highdatas.mdm.util.DbUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.List; /** * <p> @@ -27,7 +32,16 @@ @Autowired IMaintainFieldService maintainFieldService; @Autowired + TaskService taskService; + @Autowired SysFieldMapper fieldMapper; + @Autowired + ITUserRoleService userRoleService; + @Autowired + IMasterModifiedService masterModifiedService; + @Autowired + IMaintainService maintainService; + @Override public MaintainField createNowVerion(String tableName, String maintainId, String userId) { MaintainField nowMaintain = maintainFieldService.getNextMaintain(tableName, userId); @@ -39,7 +53,11 @@ maintainParams = "maintain_field_id = " + DbUtils.quotedStr(maintainId); } - fieldMapper.tansNewVersion(DbUtils.quotedStr(nowMaintain.getId()), maintainParams); + if (nowMaintain != null) { + String maintainFieldId = DbUtils.quotedStr(nowMaintain.getId()); + fieldMapper.tansNewVersion(maintainFieldId, maintainParams); + } + return nowMaintain; } @@ -51,4 +69,40 @@ } return flows.getStatus(); } + + @Override + public boolean isNextAudit(Flows flows, String userId) { + NextTaskUserInfo nestTaskAssignee = taskService.getNestTaskAssignee(flows.getWorkflowId()); + if (nestTaskAssignee == null){ + return false; + } + String taskAssigneeUserId = nestTaskAssignee.getUserId(); + if (!StringUtils.isEmpty(taskAssigneeUserId)){ + return taskAssigneeUserId.equalsIgnoreCase(userId); + } + String roleId = nestTaskAssignee.getRoleId(); + if (StringUtils.isEmpty(roleId)) { + return false; + } + List<TUserRole> userRoles = userRoleService.selectList(new EntityWrapper<TUserRole>().eq("role_id", roleId)); + long count = userRoles.stream().map(tUserRole -> tUserRole.getUserId()).filter(s -> s.equalsIgnoreCase(userId)).count(); + if (count == 0) { + return false; + }else { + return true; + } + } + + @Override + public void aduitFinish(Flows flows) { + if (flows.getBusinessType().equals(ActivitiBusinessType.maintain)){ + String maintainId = flows.getBusinessId(); + masterModifiedService.dealFlow(maintainId, flows.getStatus()); + maintainService.dealFlow(maintainId, flows.getStatus()); + } + if (flows.getBusinessType().equals(ActivitiBusinessType.field)){ + String maintainId = flows.getBusinessId(); + maintainFieldService.dealFlow(maintainId, flows.getStatus()); + } + } } -- Gitblit v1.8.0