diff --git a/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeCreateProcessUtilHandler.java b/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeCreateProcessUtilHandler.java index b5c482bcdbe5873709e16d12890c746321eae8dc..df23bd408302ef8fbddbf55b653b97ab70578969 100644 --- a/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeCreateProcessUtilHandler.java +++ b/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeCreateProcessUtilHandler.java @@ -1,8 +1,6 @@ package neatlogic.module.change.stephandler.utilhandler; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import neatlogic.framework.change.constvalue.ChangeOperationType; import neatlogic.framework.change.constvalue.ChangeProcessStepHandlerType; import neatlogic.framework.change.constvalue.ChangeStatus; @@ -10,24 +8,13 @@ import neatlogic.framework.change.dto.ChangeStatusVo; import neatlogic.framework.change.dto.ChangeStepVo; import neatlogic.framework.change.dto.ChangeVo; import neatlogic.framework.common.dto.ValueTextVo; -import neatlogic.framework.crossover.CrossoverServiceFactory; -import neatlogic.framework.notify.crossover.INotifyServiceCrossoverService; -import neatlogic.framework.notify.dto.InvokeNotifyPolicyConfigVo; -import neatlogic.framework.process.operationauth.core.IOperationType; import neatlogic.framework.process.constvalue.ProcessTaskOperationType; import neatlogic.framework.process.constvalue.ProcessTaskStepOperationType; -import neatlogic.framework.process.dto.ProcessStepVo; -import neatlogic.framework.process.dto.ProcessStepWorkerPolicyVo; import neatlogic.framework.process.dto.ProcessTaskStepVo; -import neatlogic.framework.process.dto.processconfig.ActionConfigActionVo; -import neatlogic.framework.process.dto.processconfig.ActionConfigVo; +import neatlogic.framework.process.operationauth.core.IOperationType; import neatlogic.framework.process.stephandler.core.ProcessStepInternalHandlerBase; -import neatlogic.framework.process.util.ProcessConfigUtil; import neatlogic.module.change.dao.mapper.ChangeMapper; -import neatlogic.module.change.notify.handler.ChangeCreateNotifyPolicyHandler; import neatlogic.module.change.service.ChangeService; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -35,7 +22,6 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.Objects; @Service public class ChangeCreateProcessUtilHandler extends ProcessStepInternalHandlerBase { @@ -100,155 +86,22 @@ public class ChangeCreateProcessUtilHandler extends ProcessStepInternalHandlerBa return null; } - @Override - public void makeupProcessStep(ProcessStepVo processStepVo, JSONObject stepConfigObj) { - /** 组装通知策略id **/ - JSONObject notifyPolicyConfig = stepConfigObj.getJSONObject("notifyPolicyConfig"); - InvokeNotifyPolicyConfigVo invokeNotifyPolicyConfigVo = JSONObject.toJavaObject(notifyPolicyConfig, InvokeNotifyPolicyConfigVo.class); - if (invokeNotifyPolicyConfigVo != null) { - processStepVo.setNotifyPolicyConfig(invokeNotifyPolicyConfigVo); - } - - JSONObject actionConfig = stepConfigObj.getJSONObject("actionConfig"); - ActionConfigVo actionConfigVo = JSONObject.toJavaObject(actionConfig, ActionConfigVo.class); - if (actionConfigVo != null) { - List actionList = actionConfigVo.getActionList(); - if (CollectionUtils.isNotEmpty(actionList)) { - List integrationUuidList = new ArrayList<>(); - for (ActionConfigActionVo actionVo : actionList) { - String integrationUuid = actionVo.getIntegrationUuid(); - if (StringUtils.isNotBlank(integrationUuid)) { - integrationUuidList.add(integrationUuid); - } - } - processStepVo.setIntegrationUuidList(integrationUuidList); - } - } - /** 组装分配策略 **/ - JSONObject workerPolicyConfig = stepConfigObj.getJSONObject("workerPolicyConfig"); - if (MapUtils.isNotEmpty(workerPolicyConfig)) { - JSONArray policyList = workerPolicyConfig.getJSONArray("policyList"); - if (CollectionUtils.isNotEmpty(policyList)) { - List workerPolicyList = new ArrayList<>(); - for (int k = 0; k < policyList.size(); k++) { - JSONObject policyObj = policyList.getJSONObject(k); - if (!"1".equals(policyObj.getString("isChecked"))) { - continue; - } - ProcessStepWorkerPolicyVo processStepWorkerPolicyVo = new ProcessStepWorkerPolicyVo(); - processStepWorkerPolicyVo.setProcessUuid(processStepVo.getProcessUuid()); - processStepWorkerPolicyVo.setProcessStepUuid(processStepVo.getUuid()); - processStepWorkerPolicyVo.setPolicy(policyObj.getString("type")); - processStepWorkerPolicyVo.setSort(k + 1); - processStepWorkerPolicyVo.setConfig(policyObj.getString("config")); - workerPolicyList.add(processStepWorkerPolicyVo); - } - processStepVo.setWorkerPolicyList(workerPolicyList); - } - } - //保存回复模版ID - Long commentTemplateId = stepConfigObj.getLong("commentTemplateId"); - processStepVo.setCommentTemplateId(commentTemplateId); - - JSONArray tagList = stepConfigObj.getJSONArray("tagList"); - if (CollectionUtils.isNotEmpty(tagList)) { - processStepVo.setTagList(tagList.toJavaList(String.class)); - } - // 保存表单场景 - String formSceneUuid = stepConfigObj.getString("formSceneUuid"); - if (StringUtils.isNotBlank(formSceneUuid)) { - processStepVo.setFormSceneUuid(formSceneUuid); - } - - } - @Override public void updateProcessTaskStepUserAndWorker(Long processTaskId, Long processTaskStepId) { } - @SuppressWarnings("serial") - @Override - public JSONObject makeupConfig(JSONObject configObj) { - if (configObj == null) { - configObj = new JSONObject(); - } - JSONObject resultObj = new JSONObject(); - - /** 授权 **/ - IOperationType[] stepActions = { + public IOperationType[] getStepActions() { + return new IOperationType[]{ ProcessTaskStepOperationType.STEP_VIEW, ProcessTaskStepOperationType.STEP_TRANSFER, ProcessTaskStepOperationType.STEP_RETREAT }; - JSONArray authorityList = configObj.getJSONArray("authorityList"); - JSONArray authorityArray = ProcessConfigUtil.regulateAuthorityList(authorityList, stepActions); - resultObj.put("authorityList", authorityArray); - - /** 按钮映射 **/ - IOperationType[] stepButtons = { - ProcessTaskStepOperationType.STEP_COMPLETE, - ProcessTaskStepOperationType.STEP_BACK, - ProcessTaskStepOperationType.STEP_COMMENT, - ProcessTaskOperationType.PROCESSTASK_TRANSFER, - ProcessTaskOperationType.PROCESSTASK_ABORT, - ProcessTaskOperationType.PROCESSTASK_RECOVER - }; - - JSONArray customButtonList = configObj.getJSONArray("customButtonList"); - JSONArray customButtonArray = ProcessConfigUtil.regulateCustomButtonList(customButtonList, stepButtons); - resultObj.put("customButtonList", customButtonArray); - /** 状态映射列表 **/ - JSONArray customStatusList = configObj.getJSONArray("customStatusList"); - JSONArray customStatusArray = ProcessConfigUtil.regulateCustomStatusList(customStatusList); - resultObj.put("customStatusList", customStatusArray); - - /** 可替换文本列表 **/ - resultObj.put("replaceableTextList", ProcessConfigUtil.regulateReplaceableTextList(configObj.getJSONArray("replaceableTextList"))); - return resultObj; } @Override - public JSONObject regulateProcessStepConfig(JSONObject configObj) { - if (configObj == null) { - configObj = new JSONObject(); - } - JSONObject resultObj = new JSONObject(); - - /** 授权 **/ - IOperationType[] stepActions = { - ProcessTaskStepOperationType.STEP_VIEW, - ProcessTaskStepOperationType.STEP_TRANSFER, - ProcessTaskStepOperationType.STEP_RETREAT - }; - JSONArray authorityList = null; - Integer enableAuthority = configObj.getInteger("enableAuthority"); - if (Objects.equals(enableAuthority, 1)) { - authorityList = configObj.getJSONArray("authorityList"); - } else { - enableAuthority = 0; - } - resultObj.put("enableAuthority", enableAuthority); - JSONArray authorityArray = ProcessConfigUtil.regulateAuthorityList(authorityList, stepActions); - resultObj.put("authorityList", authorityArray); - - /** 通知 **/ - JSONObject notifyPolicyConfig = configObj.getJSONObject("notifyPolicyConfig"); - INotifyServiceCrossoverService notifyServiceCrossoverService = CrossoverServiceFactory.getApi(INotifyServiceCrossoverService.class); - InvokeNotifyPolicyConfigVo invokeNotifyPolicyConfigVo = notifyServiceCrossoverService.regulateNotifyPolicyConfig(notifyPolicyConfig, ChangeCreateNotifyPolicyHandler.class); - resultObj.put("notifyPolicyConfig", invokeNotifyPolicyConfigVo); - - /** 动作 **/ - JSONObject actionConfig = configObj.getJSONObject("actionConfig"); - ActionConfigVo actionConfigVo = JSONObject.toJavaObject(actionConfig, ActionConfigVo.class); - if (actionConfigVo == null) { - actionConfigVo = new ActionConfigVo(); - } - actionConfigVo.setHandler(ChangeCreateNotifyPolicyHandler.class.getName()); - resultObj.put("actionConfig", actionConfigVo); - - /** 按钮映射列表 **/ - IOperationType[] stepButtons = { + public IOperationType[] getStepButtons() { + return new IOperationType[]{ ProcessTaskStepOperationType.STEP_COMPLETE, ProcessTaskStepOperationType.STEP_BACK, ProcessTaskStepOperationType.STEP_COMMENT, @@ -256,30 +109,11 @@ public class ChangeCreateProcessUtilHandler extends ProcessStepInternalHandlerBa ProcessTaskOperationType.PROCESSTASK_ABORT, ProcessTaskOperationType.PROCESSTASK_RECOVER }; - JSONArray customButtonList = configObj.getJSONArray("customButtonList"); - JSONArray customButtonArray = ProcessConfigUtil.regulateCustomButtonList(customButtonList, stepButtons); - resultObj.put("customButtonList", customButtonArray); - /** 状态映射列表 **/ - JSONArray customStatusList = configObj.getJSONArray("customStatusList"); - JSONArray customStatusArray = ProcessConfigUtil.regulateCustomStatusList(customStatusList); - resultObj.put("customStatusList", customStatusArray); - - /** 可替换文本列表 **/ - resultObj.put("replaceableTextList", ProcessConfigUtil.regulateReplaceableTextList(configObj.getJSONArray("replaceableTextList"))); - - /** 分配处理人 **/ - JSONObject workerPolicyConfig = configObj.getJSONObject("workerPolicyConfig"); - JSONObject workerPolicyObj = ProcessConfigUtil.regulateWorkerPolicyConfig(workerPolicyConfig); - resultObj.put("workerPolicyConfig", workerPolicyObj); + } - JSONObject simpleSettings = ProcessConfigUtil.regulateSimpleSettings(configObj); - resultObj.putAll(simpleSettings); - /** 表单场景 **/ - String formSceneUuid = configObj.getString("formSceneUuid"); - String formSceneName = configObj.getString("formSceneName"); - resultObj.put("formSceneUuid", formSceneUuid == null ? "" : formSceneUuid); - resultObj.put("formSceneName", formSceneName == null ? "" : formSceneName); - return resultObj; + @Override + public String[] getRegulateKeyList() { + return new String[]{"authorityList", "notifyPolicyConfig", "actionConfig", "customButtonList", "customStatusList", "replaceableTextList", "workerPolicyConfig", "formSceneUuid", "formSceneName", "autoStart", "isNeedUploadFile", "isNeedContent", "isRequired", "commentTemplateId", "tagList"}; } } diff --git a/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeHandleProcessUtilHandler.java b/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeHandleProcessUtilHandler.java index 715eab2cfcac0c452bb7581245a2e7eb154d9825..a22c3d1b97b6c8be0f168eb1d8ea2873c7ee88fd 100644 --- a/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeHandleProcessUtilHandler.java +++ b/src/main/java/neatlogic/module/change/stephandler/utilhandler/ChangeHandleProcessUtilHandler.java @@ -19,7 +19,6 @@ import neatlogic.framework.process.constvalue.*; import neatlogic.framework.process.crossover.IProcessTaskCrossoverMapper; import neatlogic.framework.process.crossover.ISelectContentByHashCrossoverMapper; import neatlogic.framework.process.dto.*; -import neatlogic.framework.process.dto.processconfig.ActionConfigActionVo; import neatlogic.framework.process.dto.processconfig.ActionConfigVo; import neatlogic.framework.process.operationauth.core.IOperationType; import neatlogic.framework.process.stephandler.core.ProcessStepInternalHandlerBase; @@ -27,9 +26,7 @@ import neatlogic.framework.process.util.ProcessConfigUtil; import neatlogic.module.change.dao.mapper.ChangeMapper; import neatlogic.module.change.notify.handler.ChangeHandleNotifyPolicyHandler; import neatlogic.module.change.service.ChangeService; -import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; -import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -163,52 +160,6 @@ public class ChangeHandleProcessUtilHandler extends ProcessStepInternalHandlerBa return null; } - @Override - public void makeupProcessStep(ProcessStepVo processStepVo, JSONObject stepConfigObj) { - /** 组装通知策略id **/ - JSONObject notifyPolicyConfig = stepConfigObj.getJSONObject("notifyPolicyConfig"); - InvokeNotifyPolicyConfigVo invokeNotifyPolicyConfigVo = JSONObject.toJavaObject(notifyPolicyConfig, InvokeNotifyPolicyConfigVo.class); - if (invokeNotifyPolicyConfigVo != null) { - processStepVo.setNotifyPolicyConfig(invokeNotifyPolicyConfigVo); - } - - JSONObject actionConfig = stepConfigObj.getJSONObject("actionConfig"); - ActionConfigVo actionConfigVo = JSONObject.toJavaObject(actionConfig, ActionConfigVo.class); - if (actionConfigVo != null) { - List actionList = actionConfigVo.getActionList(); - if (CollectionUtils.isNotEmpty(actionList)) { - List integrationUuidList = new ArrayList<>(); - for (ActionConfigActionVo actionVo : actionList) { - String integrationUuid = actionVo.getIntegrationUuid(); - if (StringUtils.isNotBlank(integrationUuid)) { - integrationUuidList.add(integrationUuid); - } - } - processStepVo.setIntegrationUuidList(integrationUuidList); - } - } - //保存回复模版ID - Long commentTemplateId = stepConfigObj.getLong("commentTemplateId"); - processStepVo.setCommentTemplateId(commentTemplateId); - - JSONArray tagList = stepConfigObj.getJSONArray("tagList"); - if (CollectionUtils.isNotEmpty(tagList)) { - processStepVo.setTagList(tagList.toJavaList(String.class)); - } - - //保存子任务 - JSONObject taskConfig = stepConfigObj.getJSONObject("taskConfig"); - if(MapUtils.isNotEmpty(taskConfig)){ - ProcessStepTaskConfigVo taskConfigVo = JSONObject.toJavaObject(taskConfig,ProcessStepTaskConfigVo.class); - processStepVo.setTaskConfigVo(taskConfigVo); - } - // 保存表单场景 - String formSceneUuid = stepConfigObj.getString("formSceneUuid"); - if (StringUtils.isNotBlank(formSceneUuid)) { - processStepVo.setFormSceneUuid(formSceneUuid); - } - } - @Override public void updateProcessTaskStepUserAndWorker(Long processTaskId, Long processTaskStepId) { IProcessTaskCrossoverMapper processTaskCrossoverMapper = CrossoverServiceFactory.getApi(IProcessTaskCrossoverMapper.class);