From 1368a06c836bc8d1af899ce6589f80bcc9094046 Mon Sep 17 00:00:00 2001
From: dimengzhe <251008545@qq.com>
Date: Wed, 10 Aug 2022 17:07:01 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E4=BA=A7=E6=8E=A8=E9=80=81=E6=B6=88?=
=?UTF-8?q?=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
anrui-base/anrui-base-biz/pom.xml | 6 +
.../com/yxt/anrui/base/BaseApplication.java | 2 +-
.../BusVehicleApplyService.java | 103 ++++++++++++++++--
.../anrui/flowable/biz/flow/FlowableRest.java | 4 +-
4 files changed, 105 insertions(+), 10 deletions(-)
diff --git a/anrui-base/anrui-base-biz/pom.xml b/anrui-base/anrui-base-biz/pom.xml
index 27fbe6d277..009c6630ae 100644
--- a/anrui-base/anrui-base-biz/pom.xml
+++ b/anrui-base/anrui-base-biz/pom.xml
@@ -8,6 +8,7 @@
0.0.1
+
4.0.0
anrui-base-biz
@@ -15,6 +16,11 @@
0.0.1
+
+ com.yxt.messagecenter
+ message-center-api
+ 0.0.1
+
com.yxt
yxt-common-base
diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java
index ee3c30fe90..24218ee78d 100644
--- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java
+++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java
@@ -12,7 +12,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
"com.yxt.common.base.config",
"com.yxt.anrui.base"
})
-@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.buscenter", "com.yxt.anrui.riskcenter", "com.yxt.anrui.scm","com.yxt.anrui.crm","com.yxt.anrui.flowable","com.yxt.anrui.fin"})
+@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.buscenter", "com.yxt.anrui.riskcenter", "com.yxt.anrui.scm","com.yxt.anrui.crm","com.yxt.anrui.flowable","com.yxt.anrui.fin","com.yxt.messagecenter"})
public class BaseApplication {
public static void main(String[] args) {
diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
index 6fb3b50e1a..e7a88f1803 100644
--- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
+++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
@@ -41,17 +41,28 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
+import com.yxt.anrui.portal.api.sysuser.UserQuery;
import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.JPushServer;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
+import com.yxt.messagecenter.api.message.AppMessageDto;
+import com.yxt.messagecenter.api.message.MessageFeign;
+import com.yxt.messagecenter.api.messagelist.MessageListDto;
+import com.yxt.messagecenter.api.messagelist.MessageListFeign;
+import com.yxt.messagecenter.api.messagetype.MessageTypeFeign;
+import com.yxt.messagecenter.api.messagetype.MessageTypeVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
import java.util.stream.Collectors;
/**
@@ -94,6 +105,13 @@ public class BusVehicleApplyService extends MybatisBaseService variables = new HashMap<>();
- Map appMap = new HashMap<>();
- appMap.put("sid",businessSid);
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
variables.put("money", Integer.valueOf(dto.getCurrentAmount()).intValue() > 0);
- variables.put("app",appMap);
+ variables.put("app", appMap);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
@@ -357,6 +375,8 @@ public class BusVehicleApplyService extends MybatisBaseService> nodeVoList = getNextNodesForSubmit(getNodeQuery);
+ //根据组织架构、角色两个参数取相关符合条件的用户信息
+ UserQuery userQuery = new UserQuery();
+ userQuery.setRoleSid(nodeVoList.getData().get(0).getCandidateGroups().get(0));
+ userQuery.setOrgSidPath(orgSidPath);
+ List sysUserVos = sysUserFeign.getUserByRole(userQuery).getData();
+ StringBuilder nextNodeUserSids = new StringBuilder();
+ List stringList = new ArrayList<>();
+ for (SysUserVo su : sysUserVos) {
+ stringList.add(su.getSid());
+// nextNodeUserSids.append(su.getSid()).append(",");
+ }
+ //符合条件的用户的sid,拼接的字符串
+// String nextNodeUserSids_ = nextNodeUserSids.toString();
+ //标题、内容、消息类别key、消息类别名称、
+ JPushServer.sendPushAlias("排产申请审批", busVehicleApply.getCreateByName() + "的排产申请", "msg_type", "系统消息", stringList.toArray(new String[stringList.size()]));
+ }
+
+ public String getMessage(List list) {
+ // 1、保存消息体
+ AppMessageDto messageDto = new AppMessageDto();
+ ResultBean> messageBean = messageTypeFeign.selectAppMsgTypeList("0002");
+ if (messageBean.getSuccess() && messageBean.getData() != null) {
+ List typeVoList = messageBean.getData();
+ for (MessageTypeVo message : typeVoList) {
+ if (message.getMsgType().equals("系统消息")) {
+ messageDto.setMsgTypeSid(message.getMsgTypeSid());
+ messageDto.setMsgType(message.getMsgType());
+ }
+ }
+ }
+ messageDto.setMsgTitle("排产申请审批");
+ messageDto.setMsgContent("排产申请审批");
+ messageDto.setMsgSource("排产");
+ String msgSid = messageFeign.saveOrUpdateAppMessage(messageDto).getData();
+ String msgTypeSid = messageDto.getMsgTypeSid();
+ // 2、保存至消息列表
+ // 使用多线程保存
+ List> futures = new ArrayList>();
+ ExecutorService executor = Executors.newFixedThreadPool(4);
+ for (String receverSid : list) {
+ Future> f = executor.submit(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ System.out.println("run start-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName());
+ MessageListDto messageList = new MessageListDto();
+ messageList.setMsgSid(msgSid);
+ messageList.setRDelStatus(0);
+ messageList.setSDelStatus(0);
+ messageList.setReceiverSid(receverSid);
+ messageListFeign.save(messageList);
+ System.out.println("run end-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ futures.add(f);
+ }
+ executor.shutdown();
+ return msgSid;
+ }
+
/**
* 判断提交的流程是否被允许
*
diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
index ab75a1dd0d..6e32aac329 100644
--- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
+++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java
@@ -271,9 +271,9 @@ public class FlowableRest implements FlowableFeign {
return rb.setMsg("任务不存在");
}
String assignee = task.getAssignee();
- if(StringUtils.isNotBlank(assignee)&& assignee.indexOf(userSid)<0){
+ /* if(StringUtils.isNotBlank(assignee)&& assignee.indexOf(userSid)<0){
return rb.setMsg("当前用户不是环节的待办人,不能进行办理操作!");
- }
+ }*/
String nodeState = "";
String taskDefKey = "";
vo.setSid(businessSid);