删除流程推送问题

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

@ -32,15 +32,18 @@ public class WorkflowSyncCornJob extends BaseCronJob {
String workflowSyncFormModeId = PropBean.getUfPropValue("workflowSyncFormModeId"); String workflowSyncFormModeId = PropBean.getUfPropValue("workflowSyncFormModeId");
RecordSet rs = new RecordSet(); RecordSet rs = new RecordSet();
//建模表有效流程id //建模表有效流程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); rs.execute(modelWorkflowSql);
HashSet<String> modeWorkflowSet = new HashSet<>(); HashSet<String> modeWorkflowSet = new HashSet<>();
HashMap<String, String> modeWorkflowInfo = new HashMap<>(); HashMap<String, String> modeWorkflowInfo = new HashMap<>();
HashMap<String, String> modeCataCode = new HashMap<>();
while (rs.next()) { while (rs.next()) {
String modeWorkFlowId = rs.getString("workflowselect"); String modeWorkFlowId = rs.getString("workflowselect");
String modeWorkFlowName = rs.getString("workflowname"); String modeWorkFlowName = rs.getString("workflowname");
String cataCodeName = Util.null2String(rs.getString("cataCodeName"));
modeWorkflowSet.add(modeWorkFlowId); modeWorkflowSet.add(modeWorkFlowId);
modeWorkflowInfo.put(modeWorkFlowId, modeWorkFlowName); modeWorkflowInfo.put(modeWorkFlowId, modeWorkFlowName);
modeCataCode.put(modeWorkFlowId, cataCodeName);
} }
//系统有效流程id //系统有效流程id
@ -59,17 +62,17 @@ public class WorkflowSyncCornJob extends BaseCronJob {
} }
//控制删除所有流程 //控制删除所有流程
if ("yes".equals(isDeleteAll)) { 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_ADD, workflowSyncFormModeId, workflowSet, modeWorkflowSet, workflowInfo,baseCataCode, modeCataCode);
syncWorkflow(ACTION_TYPE_UPDATE, workflowSyncFormModeId, workflowSet, modeWorkflowSet, workflowInfo, baseCataCode); syncWorkflow(ACTION_TYPE_UPDATE, workflowSyncFormModeId, workflowSet, modeWorkflowSet, workflowInfo, baseCataCode, modeCataCode);
//建模表的差集需要删除 //建模表的差集需要删除
Set<String> deleteSet = new HashSet<>(modeWorkflowSet); Set<String> deleteSet = new HashSet<>(modeWorkflowSet);
deleteSet.removeAll(workflowSet); deleteSet.removeAll(workflowSet);
if (deleteSet.size() != 0) { 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) { } catch (Exception e) {
logger.info("WorkflowSyncModeCornJob:" + e.getMessage()); logger.info("WorkflowSyncModeCornJob:" + e.getMessage());
@ -106,8 +109,9 @@ public class WorkflowSyncCornJob extends BaseCronJob {
* @param modeWorkflowSet * @param modeWorkflowSet
* @param workflowInfo * @param workflowInfo
* @param baseCataCode * @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 center = PropBean.getUfPropValue("newWorkflowCenter");
String bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl"); String bpm_app_workflowurl = PropBean.getUfPropValue("bpm_app_workflowurl");
String synchronizeFlowUrl = PropBean.getUfPropValue("synchronizeFlowUrl"); String synchronizeFlowUrl = PropBean.getUfPropValue("synchronizeFlowUrl");
@ -118,6 +122,9 @@ public class WorkflowSyncCornJob extends BaseCronJob {
List<String> deleteList = new ArrayList<>(); List<String> deleteList = new ArrayList<>();
for (String workflowId : updateOrAddSet) { for (String workflowId : updateOrAddSet) {
String cataCode = baseCataCode.get(workflowId); String cataCode = baseCataCode.get(workflowId);
if (actionType.equals(ACTION_TYPE_DELETE)) {
cataCode = modeCataCode.get(workflowId);
}
if (StringUtils.isEmpty(cataCode)) { if (StringUtils.isEmpty(cataCode)) {
continue; continue;
} }

Loading…
Cancel
Save