diff --git a/src/com/customization/dito/sendtodo/SendPortalDoneUtil.java b/src/com/customization/dito/sendtodo/SendPortalDoneUtil.java index 465b34d3..188da678 100644 --- a/src/com/customization/dito/sendtodo/SendPortalDoneUtil.java +++ b/src/com/customization/dito/sendtodo/SendPortalDoneUtil.java @@ -67,7 +67,9 @@ public class SendPortalDoneUtil { String app_requestUrl = bpm_app_requesturl + requestid; app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); String urlApp = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; - String urlDing = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String replace = bpm_app_workflowurl.replace("/bpm", ""); + String urlDing = replace+bpm_app_requesturl+requestid; +// String urlDing = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; String nodeName = Util.null2String(rs.getString("nodeName")); requestObject.put("center", center); @@ -199,7 +201,9 @@ public class SendPortalDoneUtil { String app_requestUrl = bpm_app_requesturl + requestid; app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); String urlApp = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; - String urlDing = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String replace = bpm_app_workflowurl.replace("/bpm", ""); + String urlDing = replace+bpm_app_requesturl+requestid; +// String urlDing = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; String nodeName = Util.null2String(rs.getString("nodeName")); requestObject.put("center", center); @@ -255,7 +259,9 @@ public class SendPortalDoneUtil { String app_requestUrl = bpm_app_requesturl + requestid; app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); String urlApp = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; - String urlDing = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String replace = bpm_app_workflowurl.replace("/bpm", ""); + String urlDing = replace+bpm_app_requesturl+requestid; +// String urlDing = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; String nodeName = Util.null2String(rs.getString("nodeName")); requestObject.put("center", center); @@ -379,7 +385,9 @@ public class SendPortalDoneUtil { String app_requestUrl = bpm_app_requesturl + requestid; app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); String urlApp = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; - String urlDing = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String replace = bpm_app_workflowurl.replace("/bpm", ""); + String urlDing = replace+bpm_app_requesturl+requestid; +// String urlDing = bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; String nodeName = Util.null2String(rs.getString("nodeName")); requestObject.put("center", center); @@ -472,6 +480,8 @@ public class SendPortalDoneUtil { String app_requestUrl = bpm_app_requesturl + requestid; app_requestUrl = URLEncoder.encode(app_requestUrl, "UTF-8"); String urlApp = "[newtab]" + bpm_app_workflowurl + "/interface/mobilelogin/loginsso.jsp?em_auth_usercode=" + workcode + "&forwardurl=" + app_requestUrl; + String replace = bpm_app_workflowurl.replace("/bpm", ""); + String urlDing = replace+bpm_app_requesturl+requestid; sql = " select t1.workflowid,t1.requestname,t1.requestmark,t1.creater,t1.createdate,t1.createtime,h1.lastname,h1.loginid,\n" + " t1.requestid as taskCode,t1.currentnodeid as nodeid,d1.nodename\n" + " from workflow_requestbase t1\n" + @@ -501,6 +511,7 @@ public class SendPortalDoneUtil { requestObject.put("actionType", actionType); requestObject.put("urlPC", urlPc); requestObject.put("urlApp", urlApp); + requestObject.put("urlDing",urlDing); String auth = username + ":" + passwd; bb.writeLog("done requestObject:" + requestObject.toJSONString()); diff --git a/src/weaver/interfaces/dito/job/WorkflowSyncCronJob.java b/src/weaver/interfaces/dito/job/WorkflowSyncCronJob.java index 1b03bfac..a1c3b97c 100644 --- a/src/weaver/interfaces/dito/job/WorkflowSyncCronJob.java +++ b/src/weaver/interfaces/dito/job/WorkflowSyncCronJob.java @@ -31,7 +31,7 @@ public class WorkflowSyncCronJob extends BaseCronJob { */ private String syncType; private static final Log logger = LogFactory.getLog(WorkflowSyncCronJob.class); - + String bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl"); @Override public void execute() { BaseBean bb = new BaseBean(); @@ -80,18 +80,19 @@ public class WorkflowSyncCronJob extends BaseCronJob { if (recordSet.next()) { preTime = recordSet.getString("timenode"); } - syncWorkflowByCondition(bb, synchronizeFlowUrl, synchronizeUserUrl, center, workflowAuthTable, accountName, password, preTime); + syncWorkflowByCondition(synchronizeFlowUrl, synchronizeUserUrl, center, workflowAuthTable, accountName, password, preTime); } // 全量同步 private void allSynchronizeWorkflow(BaseBean bb, String synchronizeFlowUrl, String synchronizeUserUrl, String center, String workflowAuthTable, String accountName, String password) { - syncWorkflowByCondition(bb, synchronizeFlowUrl, synchronizeUserUrl, center, workflowAuthTable, accountName, password, null); + syncWorkflowByCondition(synchronizeFlowUrl, synchronizeUserUrl, center, workflowAuthTable, accountName, password, null); } /** * 根据不同条件请求同步方法 */ - private void syncWorkflowByCondition(BaseBean bb, String synchronizeFlowUrl, String synchronizeUserUrl, String center, String workflowAuthTable, String accountName, String password, String timeCondition) { + private void syncWorkflowByCondition(String synchronizeFlowUrl, String synchronizeUserUrl, String center, String workflowAuthTable, String accountName, String password, String timeCondition) { + logger.info("syncWorkflow-start:" + TimeUtil.getCurrentTimeString()); RecordSet recordSet = new RecordSet(); RecordSet recordSet2 = new RecordSet(); RecordSet recordSet3 = new RecordSet(); @@ -113,14 +114,12 @@ public class WorkflowSyncCronJob extends BaseCronJob { String effective = recordSet.getString("effective"); String flowCode = recordSet.getString("flowCode"); String flowName = recordSet.getString("flowName"); - bb.writeLog("WorkflowSyncCronJob flowCode :" + flowCode); String cataCode = ""; //查询要推送到哪个目录下 String cataCodeSql = "select cataCodeName from uf_syncCataCode where flowCode=?"; recordSet3.executeQuery(cataCodeSql, flowCode); if (recordSet3.next()) { cataCode = Util.null2String(recordSet3.getString("cataCodeName")); - bb.writeLog("WorkflowSyncCronJob cataCode :" + cataCode); } if (EFFECTIVE_YES.equals(effective)) { //拼接有效流程请求参数 @@ -136,32 +135,41 @@ public class WorkflowSyncCronJob extends BaseCronJob { getUserConditionByWorkflow(workflowAuthTable, center, cataCode, flowCode, flowName, ACTION_TYPE_DELETE_USER, delUserList, timeCondition, effective); } } + logger.info("syncWorkflow-end:" + TimeUtil.getCurrentTimeString()); HashMap headers = new HashMap<>(); headers.put("Authorization", "Basic " + Base64.getUrlEncoder().encodeToString((accountName + ":" + password).getBytes())); //调用流程同步方法 if (CollectionUtils.isNotEmpty(addWorkflowList)) { for (Map workflowMap : addWorkflowList) { String data = HttpUtils.doPost(synchronizeFlowUrl, workflowMap, headers); - bb.writeLog("addworkflow" + workflowMap.get("flowCode"), data); + logger.info("addworkflow" + workflowMap.get("flowCode") + data); //无法判断流程的更改类型,所以在流程变动同时修改 workflowMap.put("actionType", ACTION_TYPE_UPDATE); data = HttpUtils.doPost(synchronizeFlowUrl, workflowMap, headers); - bb.writeLog("updateworkflow" + workflowMap.get("flowCode"), data); + logger.info("updateworkflow" + workflowMap.get("flowCode") + data); } } + logger.info("delUserList-start:" + TimeUtil.getCurrentTimeString()); + logger.info("delUserList-size:" + delUserList.size()); //删除人员要在删除流程之前执行 if (CollectionUtils.isNotEmpty(delUserList)) { addOrDeleteUser(synchronizeUserUrl, delUserList, headers); } + logger.info("delUserList-end:" + TimeUtil.getCurrentTimeString()); + logger.info("delWorkflowList-start:" + TimeUtil.getCurrentTimeString()); if (CollectionUtils.isNotEmpty(delWorkflowList)) { for (Map workflowMap : delWorkflowList) { String data = HttpUtils.doPost(synchronizeFlowUrl, workflowMap, headers); - bb.writeLog("deleteworkflow" + workflowMap.get("staffCode"), data); + logger.info("deleteworkflow" + workflowMap.get("staffCode") + data); } } + logger.info("delWorkflowList-end:" + TimeUtil.getCurrentTimeString()); + logger.info("addUserList-start:" + TimeUtil.getCurrentTimeString()); + logger.info("addUserList-size:" + addUserList.size()); if (CollectionUtils.isNotEmpty(addUserList)) { addOrDeleteUser(synchronizeUserUrl, addUserList, headers); } + logger.info("addUserList-end:" + TimeUtil.getCurrentTimeString()); } /** @@ -181,8 +189,10 @@ public class WorkflowSyncCronJob extends BaseCronJob { //超出字段长度限制请求接口后清空一次 if (stringBuilder.length() > 10000) { userCondition.put("staffCode", stringBuilder.toString()); + logger.info("synchronizeUser-start" + TimeUtil.getCurrentTimeString()); String data = HttpUtils.doPost(synchronizeUserUrl, userCondition, headers); - logger.info("addOrDeleteUser-" + data); + logger.info("synchronizeUser-data" + data); + logger.info("synchronizeUser-end" + TimeUtil.getCurrentTimeString()); stringBuilder.delete(0, stringBuilder.length()); } stringBuilder.append(staffCode).append("|"); @@ -190,7 +200,10 @@ public class WorkflowSyncCronJob extends BaseCronJob { //最后字段可能没有超限,再同步最后的人员 if (stringBuilder.length() < 10000) { userCondition.put("staffCode", stringBuilder.toString()); + logger.info("synchronizeUser-last-start" + TimeUtil.getCurrentTimeString()); String data = HttpUtils.doPost(synchronizeUserUrl, userCondition, headers); + logger.info("synchronizeUser-last-data" + data); + logger.info("synchronizeUser-last-end" + TimeUtil.getCurrentTimeString()); logger.info("addOrDeleteUser-" + data); } } @@ -227,7 +240,7 @@ public class WorkflowSyncCronJob extends BaseCronJob { workflowMap.put("cataCode", cataCode); workflowMap.put("center", center); workflowMap.put("urlPc", "/bpm/workflow/request/CreateRequestForward.jsp?workflowid=" + flowCode); - workflowMap.put("urlApp", "/bpm/spa/workflow/static4mobileform/index.html#/req?iscreate=1&workflowid=" + flowCode); + workflowMap.put("urlApp", bpm_app_workflowurl+"/spa/workflow/static4mobileform/index.html#/req?iscreate=1&workflowid=" + flowCode); workflowList.add(workflowMap); }