流程待办集成0.8

泛微syscode根据单据配置
This commit is contained in:
李靖 2024-06-13 16:45:45 +08:00
parent 5f47140909
commit fb18d6c961
1 changed files with 99 additions and 61 deletions

View File

@ -323,7 +323,7 @@ public class MessageListen extends AbstractMessageServiceHandler {
if(entityName.startsWith("差旅报销单")){
entityName = "差旅报销单";
}
userNames.add(startUserName);
// userNames.add(startUserName);
List<Map<String, Object>> requestBodyList = new ArrayList();
Iterator var47 = userNames.iterator();
String syscodestr = System.getProperty("cxkg.integration.MessageListen.oakey");
@ -337,28 +337,28 @@ public class MessageListen extends AbstractMessageServiceHandler {
while (var47.hasNext()) {
String userName = (String) var47.next();
if (userName.equals(startUserName)) {
Map<String, Object> requestBody = new HashMap();
requestBody.put("syscode", syscode);
requestBody.put("flowid", String.valueOf(processInstanceId));
requestBody.put("requestname", title);
requestBody.put("workflowname", entityName); // + "审批流程"
requestBody.put("nodename", taskName);
requestBody.put("pcurl", url + "&closeType=closeWin");
requestBody.put("appurl", url != null ? getAppurl(url) : null);
requestBody.put("isremark", String.valueOf(tasktype));
requestBody.put("viewtype", "1");
requestBody.put("creator", startUserName);
requestBody.put("createdatetime", createDateString);
requestBody.put("receiver", userName);
requestBody.put("receivedatetime", taskCreateDateString);
requestBody.put("receivets", String.valueOf((new Date()).getTime()));
requestBody.put("userid", userName);
requestBody.put("bizState", String.valueOf(tasktype));
requestBody.put("lastNameList", userName);
// requestBody.put("targetId", "588|"+String.valueOf(processInstanceId));
requestBodyList.add(requestBody);
} else {
// if (userName.equals(startUserName)) {
// Map<String, Object> requestBody = new HashMap();
// requestBody.put("syscode", syscode);
// requestBody.put("flowid", String.valueOf(processInstanceId));
// requestBody.put("requestname", title);
// requestBody.put("workflowname", entityName); // + "审批流程"
// requestBody.put("nodename", taskName);
// requestBody.put("pcurl", url + "&closeType=closeWin");
// requestBody.put("appurl", url != null ? getAppurl(url) : null);
// requestBody.put("isremark", String.valueOf(tasktype));
// requestBody.put("viewtype", "1");
// requestBody.put("creator", startUserName);
// requestBody.put("createdatetime", createDateString);
// requestBody.put("receiver", userName);
// requestBody.put("receivedatetime", taskCreateDateString);
// requestBody.put("receivets", String.valueOf((new Date()).getTime()));
// requestBody.put("userid", userName);
// requestBody.put("bizState", String.valueOf(tasktype));
// requestBody.put("lastNameList", userName);
//// requestBody.put("targetId", "588|"+String.valueOf(processInstanceId));
// requestBodyList.add(requestBody);
// } else {
Map<String, Object> requestBody = new HashMap();
requestBody.put("syscode", syscode);
requestBody.put("flowid", String.valueOf(processInstanceId));
@ -384,7 +384,7 @@ public class MessageListen extends AbstractMessageServiceHandler {
requestBody.put("lastNameList", userName);
// requestBody.put("targetId", "588|"+String.valueOf(processInstanceId));
requestBodyList.add(requestBody);
}
// }
}
return requestBodyList;
@ -414,23 +414,23 @@ public class MessageListen extends AbstractMessageServiceHandler {
String title = message.getTitle();
String content = message.getContent();
String url = message.getContentUrl();
String taskId = messageContext.get("taskId").toString();
// tring taskId = messageContext.get("taskId").toString();
List<Long> userIds = message.getUserIds();
List<String> userMobiles = new ArrayList();
List<String> userNames = new ArrayList();
Long senderId = message.getSenderId();
String senderMobile = "";
Long startUserId = (Long) messageContext.get("startUserId");
Long startUserId = null;
String startUserMobile = null;
Date sendTime = message.getSendTime();
String entityName = null;
Long processDefinitionId = Long.parseLong(messageContext.get("processDefinitionId").toString());
String processDefinitionName = "";
String noticeId = message.getId().toString();
DynamicObject processDefinition = BusinessDataServiceHelper.loadSingle(processDefinitionId, "wf_processdefinition");
if (processDefinition != null) {
processDefinitionName = processDefinition.getString("name");
}
// String processDefinitionName = "";
// String noticeId = message.getId().toString();
// DynamicObject processDefinition = BusinessDataServiceHelper.loadSingle(processDefinitionId, "wf_processdefinition");
// if (processDefinition != null) {
// processDefinitionName = processDefinition.getString("name");
// }
QFilter startUserFilter;
if (CollectionUtils.isNotEmpty(userIds)) {
startUserFilter = new QFilter("id", "in", userIds);
@ -453,22 +453,6 @@ public class MessageListen extends AbstractMessageServiceHandler {
senderMobile = startUser.getString("phone");
}
}
if (startUserId != null) {
startUserFilter = new QFilter("id", "=", startUserId);
startUser = BusinessDataServiceHelper.loadSingleFromCache("bos_user", startUserFilter.toArray());
if (startUser != null) {
startUserMobile = startUser.getString("phone");
}
DynamicObject startUser1 = BusinessDataServiceHelper.loadSingle(startUserId, "bos_user");
if (startUser1 != null) {
startUserName = startUser1.getString("username");
}
}
if (messageContext.get("entityName") != null) {
entityName = messageContext.get("entityName").toString();
}
DynamicObject processInstance = BusinessDataServiceHelper.loadSingle(processInstanceId, "wf_execution");
if (processInstance != null) {
@ -485,15 +469,64 @@ public class MessageListen extends AbstractMessageServiceHandler {
String suspensionstate = processInstance.getString("suspensionstate");
processInstanceState = (String) processInstanceStateMap.get(suspensionstate);
entityName = messageContext.get("entityName") != null ? messageContext.get("entityName").toString() :
processInstance.getString("entrabillname");
startUserId = messageContext.get("startUserId") != null ? (Long) messageContext.get("startUserId") :
processInstance.getLong("startuserid");
}
if (startUserId != null) {
startUserFilter = new QFilter("id", "=", startUserId);
startUser = BusinessDataServiceHelper.loadSingleFromCache("bos_user", startUserFilter.toArray());
if (startUser != null) {
startUserMobile = startUser.getString("phone");
}
DynamicObject startUser1 = BusinessDataServiceHelper.loadSingle(startUserId, "bos_user");
if (startUser1 != null) {
startUserName = startUser1.getString("username");
}
}
List<Map<String, Object>> requestBodyList = new ArrayList();
Iterator var21 = userNames.iterator();
String syscodestr = System.getProperty("cxkg.integration.MessageListen.oakey");
JSONObject jsonCode = JSON.parseObject(syscodestr);
String syscode = jsonCode.getString(entityName);
if(syscode == null || "".equals(syscode)){
log.info("cxkg.integration.MessageListen.syscode is null: " +
entityName + "/" + messageContext.get("entityNumber"));
}
if(title == null || "".equals(title)){
title = entityName + "" + messageContext.get("billNo") + "审批完成";
}
if(entityName != null && entityName.startsWith("差旅报销单")){
entityName = "差旅报销单";
}
int i = 1;
while (var21.hasNext()) {
String username = (String) var21.next();
Map<String, Object> requestBody = new HashMap();
requestBody.put("syscode", syscode);
requestBody.put("flowid", String.valueOf(processInstanceId));
requestBody.put("requestname", title);
requestBody.put("workflowname", entityName); // + "审批流程"
requestBody.put("nodename", taskName);
requestBody.put("pcurl", url + "&closeType=closeWin");
requestBody.put("appurl", url != null ? getAppurl(url) : null);
requestBody.put("isremark", "8");
requestBody.put("viewtype", "1");
requestBody.put("creator", startUserName);
requestBody.put("createdatetime", createDateString);
requestBody.put("receiver", username);
requestBody.put("receivedatetime", taskCreateDateString);
requestBody.put("receivets", String.valueOf((new Date()).getTime()));
requestBody.put("userid", username);
requestBody.put("bizState", "0");
requestBody.put("lastNameList", username);
// requestBody.put("code", 588);
// requestBody.put("title", title);
// requestBody.put("requestname", title);
@ -527,19 +560,19 @@ public class MessageListen extends AbstractMessageServiceHandler {
//// requestBody.put("linkMobileUrl", "http://oatest.zhonghuangroup.com:8999");
// String appurl = getAppurl(url);
String encode = Base64.getEncoder().encodeToString(url.getBytes());
QFilter filter = new QFilter("number", "=", "003");
DynamicObject kd21_oa_matters = BusinessDataServiceHelper.loadSingle("kd21_oa_matters", "id,name,kd21_largetextfield", new QFilter[]{filter});
String kd21_largetextfield = kd21_oa_matters.getString("kd21_largetextfield");
requestBody.put("code", "588");
requestBody.put("loginIdList", username);
requestBody.put("creater", startUserName);
requestBody.put("title", title);
requestBody.put("context", content);
requestBody.put("linkUrl", url);
requestBody.put("linkMobileUrl", kd21_largetextfield + encode);
requestBody.put("targetId", "588|" + String.valueOf(processInstanceId));
requestBody.put("bizState", "0");
// String encode = Base64.getEncoder().encodeToString(url.getBytes());
// QFilter filter = new QFilter("number", "=", "003");
// DynamicObject kd21_oa_matters = BusinessDataServiceHelper.loadSingle("kd21_oa_matters", "id,name,kd21_largetextfield", new QFilter[]{filter});
// String kd21_largetextfield = kd21_oa_matters.getString("kd21_largetextfield");
// requestBody.put("code", "588");
// requestBody.put("loginIdList", username);
// requestBody.put("creater", startUserName);
// requestBody.put("title", title);
// requestBody.put("context", content);
// requestBody.put("linkUrl", url);
// requestBody.put("linkMobileUrl", kd21_largetextfield + encode);
// requestBody.put("targetId", "588|" + String.valueOf(processInstanceId));
// requestBody.put("bizState", "0");
requestBodyList.add(requestBody);
i++;
}
@ -791,4 +824,9 @@ public class MessageListen extends AbstractMessageServiceHandler {
log.info("{已办完成}", jsonStr);
return jsonStr;
}
@Override
public void completeProcessInstance(MessageContext ctx, Long proceInstanceId) {
log.info("completeProcessInstance.....");
}
}