人员推送缺失修复

feature-LeeD-20221025
李栋 2 years ago
parent b0bd839456
commit c7bda12dc9

@ -122,7 +122,7 @@ public class WorkflowUserCronJob extends BaseCronJob {
//人员权限修改同步 //人员权限修改同步
if (updateSet.size() != 0) { if (updateSet.size() != 0) {
HashSet<String> needUpdateSet = updateWorkflow(bb, updateSet, baseWorkflowMap, modeWorkflowMap, baseWorkflowName, formModeId); HashSet<String> needUpdateSet = updateWorkflow(bb, updateSet, baseWorkflowMap, modeWorkflowMap, baseWorkflowName, formModeId);
bb.writeLog("needUpdateSet-size:", needUpdateSet.size()); logger.info("needUpdateSet-size:" + needUpdateSet.size());
//先删除流程再重新同步人员权限 //先删除流程再重新同步人员权限
if (needUpdateSet.size() != 0) { if (needUpdateSet.size() != 0) {
//删除流程 //删除流程
@ -167,9 +167,8 @@ public class WorkflowUserCronJob extends BaseCronJob {
workflowMap.put("center", center); workflowMap.put("center", center);
workflowMap.put("urlPc", "/bpm/workflow/request/CreateRequestForward.jsp?workflowid=" + workflowId); workflowMap.put("urlPc", "/bpm/workflow/request/CreateRequestForward.jsp?workflowid=" + workflowId);
workflowMap.put("urlApp", bpm_app_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?iscreate=1&workflowid=" + workflowId); workflowMap.put("urlApp", bpm_app_workflowurl + "/spa/workflow/static4mobileform/index.html#/req?iscreate=1&workflowid=" + workflowId);
logger.info("deleteWorkflowByHttp:" + workflowId);
String data = HttpUtils.doPost(synchronizeFlowUrl, workflowMap, headers); String data = HttpUtils.doPost(synchronizeFlowUrl, workflowMap, headers);
logger.info("deleteWorkflowByHttp-resultData:" + data); logger.info("syncWorkflowByHttp-resultData:" + data);
} }
} }
@ -183,7 +182,6 @@ public class WorkflowUserCronJob extends BaseCronJob {
* @param formModeId * @param formModeId
*/ */
private void addWorkflow(BaseBean bb, Set<String> addSet, Map<String, Set<String>> baseWorkflowMap, Map<String, String> baseWorkflowName, String formModeId) { private void addWorkflow(BaseBean bb, Set<String> addSet, Map<String, Set<String>> baseWorkflowMap, Map<String, String> baseWorkflowName, String formModeId) {
bb.writeLog("addWorkflow-----start");
String staffIdField = PropBean.getUfPropValue("staffIdFieldByCus"); String staffIdField = PropBean.getUfPropValue("staffIdFieldByCus");
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
RecordSet rs2 = new RecordSet(); RecordSet rs2 = new RecordSet();
@ -212,7 +210,6 @@ public class WorkflowUserCronJob extends BaseCronJob {
list.add(staffId); list.add(staffId);
lists.add(list); lists.add(list);
} }
bb.writeLog("addWorkflow-----", lists.size());
rs.executeBatchSql(addSql, lists); rs.executeBatchSql(addSql, lists);
} }
} }
@ -242,15 +239,11 @@ public class WorkflowUserCronJob extends BaseCronJob {
Set<String> baseUsers = baseWorkflowMap.get(workflowId); Set<String> baseUsers = baseWorkflowMap.get(workflowId);
Set<String> modeUsers = modeWorkflowMap.get(workflowId); Set<String> modeUsers = modeWorkflowMap.get(workflowId);
//如果差集集为0则跳过 //如果差集集为0则跳过
bb.writeLog("workflowId-", workflowId);
bb.writeLog("baseUsers-", baseUsers.size());
bb.writeLog("modeUsers-", modeUsers.size());
if (baseUsers.containsAll(modeUsers) && baseUsers.size() == modeUsers.size()) { if (baseUsers.containsAll(modeUsers) && baseUsers.size() == modeUsers.size()) {
continue; continue;
} }
//有变动的流程 //有变动的流程
needUpdateSet.add(workflowId); needUpdateSet.add(workflowId);
bb.writeLog("modeUsers-", needUpdateSet.size());
//e9users与建模流程人员取差集新增 //e9users与建模流程人员取差集新增
List<List> addLists = new ArrayList<>(); List<List> addLists = new ArrayList<>();
@ -281,7 +274,6 @@ public class WorkflowUserCronJob extends BaseCronJob {
//建模users与现流程人员取差集删除 //建模users与现流程人员取差集删除
HashSet<String> deleteUsers = new HashSet<>(modeUsers); HashSet<String> deleteUsers = new HashSet<>(modeUsers);
deleteUsers.removeAll(baseUsers); deleteUsers.removeAll(baseUsers);
bb.writeLog("deleteUsers-", deleteUsers.size());
if (deleteUsers.size() != 0) { if (deleteUsers.size() != 0) {
List<List> deleteLists = new ArrayList<>(); List<List> deleteLists = new ArrayList<>();
String deleteSql = "DELETE FROM uf_workflow_auth WHERE userselect=? AND workflowselect=?"; String deleteSql = "DELETE FROM uf_workflow_auth WHERE userselect=? AND workflowselect=?";
@ -291,10 +283,7 @@ public class WorkflowUserCronJob extends BaseCronJob {
list.add(workflowId); list.add(workflowId);
deleteLists.add(list); deleteLists.add(list);
} }
bb.writeLog("deleteUsers-", deleteUsers.size());
boolean b1 = rs.executeBatchSql(deleteSql, deleteLists); boolean b1 = rs.executeBatchSql(deleteSql, deleteLists);
bb.writeLog("deleteUsers-FLAG", b1);
} }
} }
return needUpdateSet; return needUpdateSet;
@ -311,7 +300,6 @@ public class WorkflowUserCronJob extends BaseCronJob {
String sql = "DELETE FROM uf_workflow_auth WHERE workflowselect=?"; String sql = "DELETE FROM uf_workflow_auth WHERE workflowselect=?";
for (String id : deleteSet) { for (String id : deleteSet) {
boolean b = rs.executeUpdate(sql, id); boolean b = rs.executeUpdate(sql, id);
logger.info("deleteWorkflow-----" + b);
} }
} }
@ -337,7 +325,10 @@ public class WorkflowUserCronJob extends BaseCronJob {
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
rs.executeQuery(userSql, flowCode); rs.executeQuery(userSql, flowCode);
while (rs.next()) { while (rs.next()) {
staffCodeSet.add(rs.getString("staffid")); String staffid = rs.getString("staffid");
if (StringUtils.isNotEmpty(staffid)) {
staffCodeSet.add(staffid);
}
} }
staffCodeMap.put("staffCodeSet", staffCodeSet); staffCodeMap.put("staffCodeSet", staffCodeSet);
userList.add(staffCodeMap); userList.add(staffCodeMap);
@ -371,24 +362,19 @@ public class WorkflowUserCronJob extends BaseCronJob {
StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder = new StringBuilder();
for (String staffCode : staffCodeSet) { for (String staffCode : staffCodeSet) {
//超出字段长度限制请求接口后清空一次 //超出字段长度限制请求接口后清空一次
if (stringBuilder.length() > 10000) { if (stringBuilder.length() >= 10000) {
userCondition.put("staffIds", stringBuilder.toString()); userCondition.put("staffIds", stringBuilder.toString());
logger.info("synchronizeUser-start" + TimeUtil.getCurrentTimeString());
String data = HttpUtils.doPost(synchronizeUserUrl, userCondition, headers); String data = HttpUtils.doPost(synchronizeUserUrl, userCondition, headers);
logger.info("synchronizeUser-data" + data); logger.info("synchronizeUser-data" + data);
logger.info("synchronizeUser-end" + TimeUtil.getCurrentTimeString());
stringBuilder.delete(0, stringBuilder.length()); stringBuilder.delete(0, stringBuilder.length());
} }
stringBuilder.append(staffCode).append("|"); stringBuilder.append(staffCode).append("|");
} }
//最后字段可能没有超限,再同步最后的人员 //最后字段可能没有超限,再同步最后的人员
if (stringBuilder.length() < 10000) { if (stringBuilder.length() != 0) {
userCondition.put("staffIds", stringBuilder.toString()); userCondition.put("staffIds", stringBuilder.toString());
logger.info("synchronizeUser-last-start" + TimeUtil.getCurrentTimeString());
String data = HttpUtils.doPost(synchronizeUserUrl, userCondition, headers); String data = HttpUtils.doPost(synchronizeUserUrl, userCondition, headers);
logger.info("synchronizeUser-last-data" + data); logger.info("synchronizeUser-last-data" + data);
logger.info("synchronizeUser-last-end" + TimeUtil.getCurrentTimeString());
logger.info("addOrDeleteUser-" + data);
} }
} }
} }

Loading…
Cancel
Save