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