避免删除在使用中的流程

feature-LeeD-20221025
李栋 3 years ago
parent d2a889be60
commit 0afdd238d0

@ -30,9 +30,12 @@ public class DitoConstant {
public static final String EFFECTIVE_NO = "1";
/**
* 0 -1 -()2 -
* 0- 1-
*/
public static final String ACTION_TYPE_ADD = "0";
public static final String ACTION_TYPE_DELETE = "2";
public static final String ACTION_TYPE_ADD_USER= "0";
public static final String ACTION_TYPE_DELETE_USER = "1";
/**
* 0--
*/

@ -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
*

Loading…
Cancel
Save