避免删除在使用中的流程

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

@ -30,9 +30,12 @@ public class DitoConstant {
public static final String EFFECTIVE_NO = "1"; public static final String EFFECTIVE_NO = "1";
/** /**
* 0 -1 -()2 - * 0 -1 -()2 -
* 0- 1-
*/ */
public static final String ACTION_TYPE_ADD = "0"; public static final String ACTION_TYPE_ADD = "0";
public static final String ACTION_TYPE_DELETE = "2"; 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-- * 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) { 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 recordSet = new RecordSet();
RecordSet recordSet2 = new RecordSet();
ArrayList<Map<String, Object>> addWorkflowList = new ArrayList<>(); ArrayList<Map<String, Object>> addWorkflowList = new ArrayList<>();
ArrayList<Map<String, Object>> delWorkflowList = new ArrayList<>(); ArrayList<Map<String, Object>> delWorkflowList = new ArrayList<>();
ArrayList<Map<String, Object>> addUserList = new ArrayList<>(); ArrayList<Map<String, Object>> addUserList = new ArrayList<>();
@ -101,16 +102,19 @@ public class WorkflowSyncCronJob extends BaseCronJob {
String effective = recordSet.getString("effective"); String effective = recordSet.getString("effective");
String flowCode = recordSet.getString("flowCode"); String flowCode = recordSet.getString("flowCode");
String flowName = recordSet.getString("flowName"); String flowName = recordSet.getString("flowName");
if (EFFECTIVE_YES.equals(effective)) { if (EFFECTIVE_YES.equals(effective)) {
//拼接有效流程请求参数 //拼接有效流程请求参数
concatWorkflowCondition(center, cataCode, flowCode, flowName, ACTION_TYPE_ADD, addWorkflowList); 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)) { } else if (EFFECTIVE_NO.equals(effective)) {
//拼接无效流程请求参数 //拼接无效流程请求参数,如果有流程还有效则不删除
if (!workflowHasEffective(workflowAuthTable, recordSet2, flowCode)) {
concatWorkflowCondition(center, cataCode, flowCode, flowName, ACTION_TYPE_DELETE, delWorkflowList); 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<>(); 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 * API
* *

Loading…
Cancel
Save