|
|
|
@ -85,6 +85,7 @@ public class WorkflowSyncCronJob extends BaseCronJob {
|
|
|
|
|
*/
|
|
|
|
|
private void syncWorkflowByCondition(BaseBean bb, String synchronizeFlowUrl, String synchronizeUserUrl, String center, String cataCode, String workflowAuthTable, String accountName, String password, String timeCondition) {
|
|
|
|
|
RecordSet recordSet = new RecordSet();
|
|
|
|
|
RecordSet recordSet2 = new RecordSet();
|
|
|
|
|
ArrayList<Map<String, Object>> addWorkflowList = new ArrayList<>();
|
|
|
|
|
ArrayList<Map<String, Object>> delWorkflowList = new ArrayList<>();
|
|
|
|
|
ArrayList<Map<String, Object>> addUserList = new ArrayList<>();
|
|
|
|
@ -101,16 +102,19 @@ public class WorkflowSyncCronJob extends BaseCronJob {
|
|
|
|
|
String effective = recordSet.getString("effective");
|
|
|
|
|
String flowCode = recordSet.getString("flowCode");
|
|
|
|
|
String flowName = recordSet.getString("flowName");
|
|
|
|
|
|
|
|
|
|
if (EFFECTIVE_YES.equals(effective)) {
|
|
|
|
|
//拼接有效流程请求参数
|
|
|
|
|
concatWorkflowCondition(center, cataCode, flowCode, flowName, ACTION_TYPE_ADD, addWorkflowList);
|
|
|
|
|
//有效流程关联的人员参数拼接
|
|
|
|
|
getUserConditionByWorkflow(center, cataCode, flowCode, flowName, ACTION_TYPE_ADD, addUserList, timeCondition);
|
|
|
|
|
getUserConditionByWorkflow(center, cataCode, flowCode, flowName, ACTION_TYPE_ADD_USER, addUserList, timeCondition);
|
|
|
|
|
} else if (EFFECTIVE_NO.equals(effective)) {
|
|
|
|
|
//拼接无效流程请求参数
|
|
|
|
|
concatWorkflowCondition(center, cataCode, flowCode, flowName, ACTION_TYPE_DELETE, delWorkflowList);
|
|
|
|
|
//拼接无效流程请求参数,如果有流程还有效则不删除
|
|
|
|
|
if (!workflowHasEffective(workflowAuthTable, recordSet2, flowCode)) {
|
|
|
|
|
concatWorkflowCondition(center, cataCode, flowCode, flowName, ACTION_TYPE_DELETE, delWorkflowList);
|
|
|
|
|
}
|
|
|
|
|
//无效流程关联的人员参数拼接
|
|
|
|
|
getUserConditionByWorkflow(center, cataCode, flowCode, flowName, ACTION_TYPE_DELETE, delUserList, timeCondition);
|
|
|
|
|
getUserConditionByWorkflow(center, cataCode, flowCode, flowName, ACTION_TYPE_DELETE_USER, delUserList, timeCondition);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
HashMap<String, String> headers = new HashMap<>();
|
|
|
|
@ -144,6 +148,19 @@ public class WorkflowSyncCronJob extends BaseCronJob {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 查询还在使用中的流程
|
|
|
|
|
* @param workflowAuthTable
|
|
|
|
|
* @param recordSet2
|
|
|
|
|
* @param flowCode
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
private boolean workflowHasEffective(String workflowAuthTable, RecordSet recordSet2, String flowCode) {
|
|
|
|
|
String querySql = "SELECT top 1 id FROM " + workflowAuthTable + " WHERE workflowselect=? AND effective=?";
|
|
|
|
|
recordSet2.executeQuery(querySql, flowCode, EFFECTIVE_YES);
|
|
|
|
|
return recordSet2.next();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 组装流程同步API请求参数
|
|
|
|
|
*
|
|
|
|
|