|
|
@ -4,13 +4,14 @@ import com.hnac.hzims.middle.processflow.entity.ProcessDict; |
|
|
|
import com.hnac.hzims.middle.processflow.service.ProcessDictService; |
|
|
|
import com.hnac.hzims.middle.processflow.service.ProcessDictService; |
|
|
|
import com.hnac.hzims.middle.processflow.strategy.service.ProcessService; |
|
|
|
import com.hnac.hzims.middle.processflow.strategy.service.ProcessService; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
|
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
|
|
|
|
import org.springblade.core.tool.utils.CollectionUtil; |
|
|
|
|
|
|
|
import org.springblade.core.tool.utils.ObjectUtil; |
|
|
|
import org.springblade.core.tool.utils.StringUtil; |
|
|
|
import org.springblade.core.tool.utils.StringUtil; |
|
|
|
import org.springblade.flow.core.entity.BladeFlow; |
|
|
|
import org.springblade.flow.core.entity.BladeFlow; |
|
|
|
import org.springblade.flow.core.feign.IFlowClient; |
|
|
|
import org.springblade.flow.core.feign.IFlowClient; |
|
|
|
import org.springblade.message.MessageConstants; |
|
|
|
import org.springblade.message.MessageConstants; |
|
|
|
import org.springblade.message.dto.BusinessMessageDTO; |
|
|
|
import org.springblade.message.dto.BusinessMessageFlowDTO; |
|
|
|
import org.springblade.message.fegin.IMessageClient; |
|
|
|
import org.springblade.message.fegin.IMessageClient; |
|
|
|
import org.springblade.system.feign.ISysClient; |
|
|
|
import org.springblade.system.feign.ISysClient; |
|
|
|
import org.springblade.system.user.entity.User; |
|
|
|
import org.springblade.system.user.entity.User; |
|
|
@ -60,7 +61,7 @@ public abstract class ProcessAbstractService implements ProcessService { |
|
|
|
log.error("开启流程失败:{}",result); |
|
|
|
log.error("开启流程失败:{}",result); |
|
|
|
log.error("流程信息为{}",variables); |
|
|
|
log.error("流程信息为{}",variables); |
|
|
|
r.setData(variables); |
|
|
|
r.setData(variables); |
|
|
|
pushStartFailMessage(dictValue,Long.valueOf(taskId),userId,processName,result.getMsg()); |
|
|
|
pushStartFailMessage(dictValue,taskId,userId,processName,result.getMsg()); |
|
|
|
} |
|
|
|
} |
|
|
|
return r; |
|
|
|
return r; |
|
|
|
}catch (Exception e){ |
|
|
|
}catch (Exception e){ |
|
|
@ -85,9 +86,9 @@ public abstract class ProcessAbstractService implements ProcessService { |
|
|
|
// return r;
|
|
|
|
// return r;
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
public void pushStartFailMessage(String dictValue,Long taskId, String userId, String content,String reason) { |
|
|
|
public void pushStartFailMessage(String dictValue,String taskId, String userId, String content,String reason) { |
|
|
|
ProcessDict processDict = processDictService.selectDictLabelByKey(dictValue); |
|
|
|
ProcessDict processDict = processDictService.selectDictLabelByKey(dictValue); |
|
|
|
BusinessMessageDTO message = new BusinessMessageDTO(); |
|
|
|
BusinessMessageFlowDTO message = new BusinessMessageFlowDTO(); |
|
|
|
// 计划Id
|
|
|
|
// 计划Id
|
|
|
|
message.setTaskId(taskId); |
|
|
|
message.setTaskId(taskId); |
|
|
|
message.setBusinessClassify(MessageConstants.BusinessClassifyEnum.BUSINESS.getKey()); |
|
|
|
message.setBusinessClassify(MessageConstants.BusinessClassifyEnum.BUSINESS.getKey()); |
|
|
@ -108,13 +109,14 @@ public abstract class ProcessAbstractService implements ProcessService { |
|
|
|
} |
|
|
|
} |
|
|
|
message.setCreateUser(admin.getId()); |
|
|
|
message.setCreateUser(admin.getId()); |
|
|
|
message.setUserIds(userId); |
|
|
|
message.setUserIds(userId); |
|
|
|
messageClient.sendAppAndWsMsgByUsers(message); |
|
|
|
messageClient.sendAppAndWsMsgByUsersFlow(message); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public void pushFailMessage(Long taskId, String proessKey, String userId, String content,String reason,String deptId) { |
|
|
|
public void pushFailMessage(String taskId, String proessKey, String content,String reason,String deptId) { |
|
|
|
ProcessDict processDict = processDictService.selectDictLabelByKey(proessKey); |
|
|
|
ProcessDict processDict = processDictService.selectDictLabelByKey(proessKey); |
|
|
|
BusinessMessageDTO message = new BusinessMessageDTO(); |
|
|
|
BusinessMessageFlowDTO message = new BusinessMessageFlowDTO(); |
|
|
|
|
|
|
|
// BusinessMessageDTO message = new BusinessMessageDTO();
|
|
|
|
// 计划Id
|
|
|
|
// 计划Id
|
|
|
|
message.setTaskId(taskId); |
|
|
|
message.setTaskId(taskId); |
|
|
|
message.setBusinessClassify(MessageConstants.BusinessClassifyEnum.BUSINESS.getKey()); |
|
|
|
message.setBusinessClassify(MessageConstants.BusinessClassifyEnum.BUSINESS.getKey()); |
|
|
@ -126,18 +128,27 @@ public abstract class ProcessAbstractService implements ProcessService { |
|
|
|
processDict.getDictLabel(), reason); |
|
|
|
processDict.getDictLabel(), reason); |
|
|
|
message.setContent(res); |
|
|
|
message.setContent(res); |
|
|
|
message.setTenantId("200000"); |
|
|
|
message.setTenantId("200000"); |
|
|
|
R<List<User>> userListR = userClient.relationUserListByRoleAlias(AuthUtil.getTenantId(), Long.valueOf(deptId), PROJECT_MANAGER); |
|
|
|
R<List<User>> userListR = userClient.queryUserByRoleAlias("200000", Long.valueOf(deptId), PROJECT_MANAGER); |
|
|
|
User admin = userClient.userByAccount("200000", "admin").getData(); |
|
|
|
User admin = userClient.userByAccount("200000", "admin").getData(); |
|
|
|
User createUser = userClient.userInfoById(Long.valueOf(userId)).getData(); |
|
|
|
message.setDeptId(Long.valueOf(deptId)); |
|
|
|
message.setDeptId(createUser.getCreateDept()); |
|
|
|
R<String> result = sysClient.getDeptName(Long.valueOf(deptId)); |
|
|
|
R<String> result = sysClient.getDeptName(createUser.getCreateDept()); |
|
|
|
|
|
|
|
if (result.isSuccess()) { |
|
|
|
if (result.isSuccess()) { |
|
|
|
message.setDeptName(result.getData()); |
|
|
|
message.setDeptName(result.getData()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (CollectionUtil.isNotEmpty(userListR.getData())){ |
|
|
|
List<User> data = userListR.getData(); |
|
|
|
List<User> data = userListR.getData(); |
|
|
|
String userIds = data.stream().map(user -> user.getId().toString()).collect(Collectors.joining(",")); |
|
|
|
String userIds = data.stream().map(user -> user.getId().toString()).collect(Collectors.joining(",")); |
|
|
|
message.setCreateUser(admin.getId()); |
|
|
|
|
|
|
|
message.setUserIds(userIds); |
|
|
|
message.setUserIds(userIds); |
|
|
|
messageClient.sendAppAndWsMsgByUsers(message); |
|
|
|
}else { |
|
|
|
|
|
|
|
R<List<User>> listR = userClient.queryUserByRoleAlias("200000", Long.valueOf(20000001), PROJECT_MANAGER); |
|
|
|
|
|
|
|
if (ObjectUtil.isEmpty(listR)||CollectionUtil.isEmpty(listR.getData())){ |
|
|
|
|
|
|
|
return; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
List<User> data =listR.getData(); |
|
|
|
|
|
|
|
String userIds = data.stream().map(user -> user.getId().toString()).collect(Collectors.joining(",")); |
|
|
|
|
|
|
|
message.setUserIds(userIds); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
message.setCreateUser(admin.getId()); |
|
|
|
|
|
|
|
messageClient.sendAppAndWsMsgByUsersFlow(message); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|