人员推送缺失修复

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

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

Loading…
Cancel
Save