删除流程推送问题

feature-LeeD-20221025
李栋 2 years ago
parent 3820eec44d
commit 60d6ee8d71

@ -32,15 +32,18 @@ public class WorkflowSyncCornJob extends BaseCronJob {
String workflowSyncFormModeId = PropBean.getUfPropValue("workflowSyncFormModeId");
RecordSet rs = new RecordSet();
//建模表有效流程id
String modelWorkflowSql = "SELECT workflowselect,workflowname FROM uf_sync_workflow";
String modelWorkflowSql = "SELECT DISTINCT workflowselect,workflowname,u.cataCodeName FROM uf_sync_workflow w left join uf_syncCataCode u on w.workflowselect=u.flowCode";
rs.execute(modelWorkflowSql);
HashSet<String> modeWorkflowSet = new HashSet<>();
HashMap<String, String> modeWorkflowInfo = new HashMap<>();
HashMap<String, String> modeCataCode = new HashMap<>();
while (rs.next()) {
String modeWorkFlowId = rs.getString("workflowselect");
String modeWorkFlowName = rs.getString("workflowname");
String cataCodeName = Util.null2String(rs.getString("cataCodeName"));
modeWorkflowSet.add(modeWorkFlowId);
modeWorkflowInfo.put(modeWorkFlowId, modeWorkFlowName);
modeCataCode.put(modeWorkFlowId, cataCodeName);
}
//系统有效流程id
@ -59,17 +62,17 @@ public class WorkflowSyncCornJob extends BaseCronJob {
}
//控制删除所有流程
if ("yes".equals(isDeleteAll)) {
syncWorkflow(ACTION_TYPE_DELETE, workflowSyncFormModeId, workflowSet, modeWorkflowSet, workflowInfo, baseCataCode);
syncWorkflow(ACTION_TYPE_DELETE, workflowSyncFormModeId, workflowSet, modeWorkflowSet, workflowInfo, baseCataCode, modeCataCode);
}
//系统有效流程新增或修改,无法判断流程更改了什么,新增后再更新
syncWorkflow(ACTION_TYPE_ADD, workflowSyncFormModeId, workflowSet, modeWorkflowSet, workflowInfo,baseCataCode);
syncWorkflow(ACTION_TYPE_UPDATE, workflowSyncFormModeId, workflowSet, modeWorkflowSet, workflowInfo, baseCataCode);
syncWorkflow(ACTION_TYPE_ADD, workflowSyncFormModeId, workflowSet, modeWorkflowSet, workflowInfo,baseCataCode, modeCataCode);
syncWorkflow(ACTION_TYPE_UPDATE, workflowSyncFormModeId, workflowSet, modeWorkflowSet, workflowInfo, baseCataCode, modeCataCode);
//建模表的差集需要删除
Set<String> deleteSet = new HashSet<>(modeWorkflowSet);
deleteSet.removeAll(workflowSet);
if (deleteSet.size() != 0) {
syncWorkflow(ACTION_TYPE_DELETE, workflowSyncFormModeId, deleteSet, modeWorkflowSet, modeWorkflowInfo, baseCataCode);
syncWorkflow(ACTION_TYPE_DELETE, workflowSyncFormModeId, deleteSet, modeWorkflowSet, modeWorkflowInfo, baseCataCode,modeCataCode);
}
} catch (Exception e) {
logger.info("WorkflowSyncModeCornJob:" + e.getMessage());
@ -106,8 +109,9 @@ public class WorkflowSyncCornJob extends BaseCronJob {
* @param modeWorkflowSet
* @param workflowInfo
* @param baseCataCode
* @param modeCataCode
*/
private void syncWorkflow(String actionType, String workflowSyncFormModeId, Set<String> updateOrAddSet, HashSet<String> modeWorkflowSet, HashMap<String, String> workflowInfo, HashMap<String, String> baseCataCode) {
private void syncWorkflow(String actionType, String workflowSyncFormModeId, Set<String> updateOrAddSet, HashSet<String> modeWorkflowSet, HashMap<String, String> workflowInfo, HashMap<String, String> baseCataCode, HashMap<String, String> modeCataCode) {
String center = PropBean.getUfPropValue("newWorkflowCenter");
String bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl");
String synchronizeFlowUrl = PropBean.getUfPropValue("synchronizeFlowUrl");
@ -118,6 +122,9 @@ public class WorkflowSyncCornJob extends BaseCronJob {
List<String> deleteList = new ArrayList<>();
for (String workflowId : updateOrAddSet) {
String cataCode = baseCataCode.get(workflowId);
if (actionType.equals(ACTION_TYPE_DELETE)) {
cataCode = modeCataCode.get(workflowId);
}
if (StringUtils.isEmpty(cataCode)) {
continue;
}

Loading…
Cancel
Save