From 889a938d3be151b0e939ac3c0a0ea00ca03e3e4f Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Wed, 24 Jan 2024 16:25:15 +0800 Subject: [PATCH 1/3] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=8E=E7=AB=AF-?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=9B=BE=E6=96=B0=E5=A2=9E=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=BD=AC=E6=8D=A2=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1076062233001984]后端-流程图新增一个数据转换节点 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1076062233001984 --- .../DataConversionNotifyHandler.java | 73 ++++++ .../CmdbProcessStepHandlerType.java | 4 +- .../DataConversionProcessComponent.java | 213 +++++++++++++++++ .../DataConversionProcessUtilHandler.java | 224 ++++++++++++++++++ 4 files changed, 513 insertions(+), 1 deletion(-) create mode 100644 src/main/java/neatlogic/module/cmdb/process/notifyhandler/DataConversionNotifyHandler.java create mode 100644 src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessComponent.java create mode 100644 src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessUtilHandler.java diff --git a/src/main/java/neatlogic/module/cmdb/process/notifyhandler/DataConversionNotifyHandler.java b/src/main/java/neatlogic/module/cmdb/process/notifyhandler/DataConversionNotifyHandler.java new file mode 100644 index 00000000..723f024a --- /dev/null +++ b/src/main/java/neatlogic/module/cmdb/process/notifyhandler/DataConversionNotifyHandler.java @@ -0,0 +1,73 @@ +/* + * Copyright(c) 2023 NeatLogic Co., Ltd. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package neatlogic.module.cmdb.process.notifyhandler; + +import com.alibaba.fastjson.JSONObject; +import neatlogic.framework.cmdb.auth.label.CIENTITY_MODIFY; +import neatlogic.framework.dto.ConditionParamVo; +import neatlogic.framework.notify.core.NotifyHandlerType; +import neatlogic.framework.notify.core.NotifyPolicyHandlerBase; +import neatlogic.framework.notify.dto.NotifyTriggerTemplateVo; +import neatlogic.framework.notify.dto.NotifyTriggerVo; +import neatlogic.module.cmdb.process.stephandler.CmdbProcessStepHandlerType; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Component +public class DataConversionNotifyHandler extends NotifyPolicyHandlerBase { + + @Override + public String getName() { + return CmdbProcessStepHandlerType.DATACONVERSION.getName(); + } + + @Override + protected List myNotifyTriggerList() { + return null; + } + + @Override + protected List myNotifyTriggerTemplateList(NotifyHandlerType type) { + return null; + } + + @Override + protected List mySystemParamList() { + return null; + } + + @Override + protected List mySystemConditionOptionList() { + return null; + } + + @Override + protected void myAuthorityConfig(JSONObject config) { + + } + + @Override + public String getAuthName() { + return CIENTITY_MODIFY.class.getSimpleName(); + } + +// @Override +// public INotifyPolicyHandlerGroup getGroup() { +// return ProcessNotifyPolicyHandlerGroup.TASKSTEP; +// } +} diff --git a/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbProcessStepHandlerType.java b/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbProcessStepHandlerType.java index 76acecd0..d7a15934 100644 --- a/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbProcessStepHandlerType.java +++ b/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbProcessStepHandlerType.java @@ -21,7 +21,9 @@ import neatlogic.framework.util.$; public enum CmdbProcessStepHandlerType implements IProcessStepHandlerType { CIENTITYSYNC("cientitysync", "process", "nmcps.cmdbprocessstephandlertype.cientitysync"), - CMDBSYNC("cmdbsync", "process", "nmcps.cmdbprocessstephandlertype.cmdbsync"); + CMDBSYNC("cmdbsync", "process", "nmcps.cmdbprocessstephandlertype.cmdbsync"), + DATACONVERSION("dataconversion", "process", "数据转换"), + ; private final String handler; private final String name; diff --git a/src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessComponent.java b/src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessComponent.java new file mode 100644 index 00000000..2244cf61 --- /dev/null +++ b/src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessComponent.java @@ -0,0 +1,213 @@ +package neatlogic.module.cmdb.process.stephandler; + +import com.alibaba.fastjson.JSONObject; +import neatlogic.framework.process.constvalue.ProcessFlowDirection; +import neatlogic.framework.process.constvalue.ProcessStepMode; +import neatlogic.framework.process.constvalue.ProcessTaskOperationType; +import neatlogic.framework.process.dto.ProcessTaskStepVo; +import neatlogic.framework.process.dto.ProcessTaskStepWorkerVo; +import neatlogic.framework.process.exception.processtask.ProcessTaskException; +import neatlogic.framework.process.exception.processtask.ProcessTaskNoPermissionException; +import neatlogic.framework.process.stephandler.core.IProcessStepHandler; +import neatlogic.framework.process.stephandler.core.ProcessStepHandlerBase; +import neatlogic.framework.process.stephandler.core.ProcessStepHandlerFactory; +import neatlogic.framework.process.stephandler.core.ProcessStepThread; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.Set; + +@Component +public class DataConversionProcessComponent extends ProcessStepHandlerBase { + private final Logger logger = LoggerFactory.getLogger(DataConversionProcessComponent.class); + + @Override + public String getHandler() { + return CmdbProcessStepHandlerType.DATACONVERSION.getHandler(); + } + + @Override + public JSONObject getChartConfig() { + return new JSONObject() { + { + this.put("icon", "ts-m-cmdb"); + this.put("shape", "L-rectangle-50%:R-rectangle-50%"); + this.put("width", 68); + this.put("height", 40); + } + }; + } + + @Override + public String getType() { + return CmdbProcessStepHandlerType.DATACONVERSION.getType(); + } + + @Override + public ProcessStepMode getMode() { + return ProcessStepMode.MT; + } + + @Override + public String getName() { + return CmdbProcessStepHandlerType.DATACONVERSION.getName(); + } + + @Override + public int getSort() { + return 14; + } + + @Override + public boolean isAsync() { + return false; + } + + @Override + public Boolean isAllowStart() { + return null; + } + + @Override + protected int myActive(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { + try { +// String configHash = currentProcessTaskStepVo.getConfigHash(); +// if (StringUtils.isBlank(configHash)) { +// ProcessTaskStepVo processTaskStepVo = processTaskMapper.getProcessTaskStepBaseInfoById(currentProcessTaskStepVo.getId()); +// configHash = processTaskStepVo.getConfigHash(); +// currentProcessTaskStepVo.setProcessStepUuid(processTaskStepVo.getProcessStepUuid()); +// } +// // 获取工单当前步骤配置信息 +// String config = selectContentByHashMapper.getProcessTaskStepConfigByHash(configHash); +// if (StringUtils.isBlank(config)) { +// myAutoComplete(currentProcessTaskStepVo); +// return 0; +// } +// JSONObject dataConversionConfig = (JSONObject) JSONPath.read(config, "dataConversionConfig"); +// if (MapUtils.isEmpty(dataConversionConfig)) { +// myAutoComplete(currentProcessTaskStepVo); +// return 0; +// } + } catch (Exception e) { + logger.error(e.getMessage(), e); + throw new ProcessTaskException(e.getMessage()); + } + return 1; + } + + private void myAutoComplete(ProcessTaskStepVo currentProcessTaskStepVo) { + List toProcessTaskStepIdList = processTaskMapper.getToProcessTaskStepIdListByFromIdAndType(currentProcessTaskStepVo.getId(), ProcessFlowDirection.FORWARD.getValue()); + if (toProcessTaskStepIdList.size() == 1) { + Long nextStepId = toProcessTaskStepIdList.get(0); + IProcessStepHandler handler = ProcessStepHandlerFactory.getHandler(CmdbProcessStepHandlerType.CMDBSYNC.getHandler()); + try { + ProcessTaskStepVo processTaskStepVo = processTaskMapper.getProcessTaskStepBaseInfoById(currentProcessTaskStepVo.getId()); + JSONObject paramObj = processTaskStepVo.getParamObj(); + paramObj.put("nextStepId", nextStepId); + paramObj.put("action", ProcessTaskOperationType.STEP_COMPLETE.getValue()); + /* 自动处理 **/ + doNext(ProcessTaskOperationType.STEP_COMPLETE, new ProcessStepThread(processTaskStepVo) { + @Override + public void myExecute() { + handler.autoComplete(processTaskStepVo); + } + }); + } catch (ProcessTaskNoPermissionException e) { + logger.error(e.getMessage(), e); + } + } + } + + @Override + protected int myAssign(ProcessTaskStepVo currentProcessTaskStepVo, Set workerSet) throws ProcessTaskException { + return defaultAssign(currentProcessTaskStepVo, workerSet); + } + + @Override + protected int myHang(ProcessTaskStepVo currentProcessTaskStepVo) { + currentProcessTaskStepVo.setIsAllDone(true); + return 0; + } + + @Override + protected int myHandle(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { + return 0; + } + + @Override + protected int myStart(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { + return 0; + } + + @Override + protected int myComplete(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { + return 0; + } + + @Override + protected int myCompleteAudit(ProcessTaskStepVo currentProcessTaskStepVo) { + return 0; + } + + @Override + protected int myReapproval(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { + return 0; + } + + @Override + protected int myReapprovalAudit(ProcessTaskStepVo currentProcessTaskStepVo) { + return 0; + } + + @Override + protected int myRetreat(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { + return 0; + } + + @Override + protected int myAbort(ProcessTaskStepVo currentProcessTaskStepVo) { + return 0; + } + + @Override + protected int myRecover(ProcessTaskStepVo currentProcessTaskStepVo) { + return 0; + } + + @Override + protected int myPause(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { + return 0; + } + + @Override + protected int myTransfer(ProcessTaskStepVo currentProcessTaskStepVo, List workerList) throws ProcessTaskException { + return 1; + } + + @Override + protected int myBack(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { + return 0; + } + + @Override + protected int mySaveDraft(ProcessTaskStepVo processTaskStepVo) throws ProcessTaskException { + return 1; + } + + @Override + protected int myStartProcess(ProcessTaskStepVo processTaskStepVo) throws ProcessTaskException { + return 0; + } + + @Override + protected Set myGetNext(ProcessTaskStepVo currentProcessTaskStepVo, List nextStepIdList, Long nextStepId) throws ProcessTaskException { + return defaultGetNext(nextStepIdList, nextStepId); + } + + @Override + protected int myRedo(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { + return 0; + } +} diff --git a/src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessUtilHandler.java b/src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessUtilHandler.java new file mode 100644 index 00000000..b0e9915e --- /dev/null +++ b/src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessUtilHandler.java @@ -0,0 +1,224 @@ +package neatlogic.module.cmdb.process.stephandler; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import neatlogic.framework.crossover.CrossoverServiceFactory; +import neatlogic.framework.notify.crossover.INotifyServiceCrossoverService; +import neatlogic.framework.notify.dto.InvokeNotifyPolicyConfigVo; +import neatlogic.framework.process.constvalue.ProcessTaskOperationType; +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.stephandler.core.ProcessStepInternalHandlerBase; +import neatlogic.framework.process.util.ProcessConfigUtil; +import neatlogic.module.cmdb.process.notifyhandler.DataConversionNotifyHandler; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.MapUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +@Component +public class DataConversionProcessUtilHandler extends ProcessStepInternalHandlerBase { + + private final Logger logger = LoggerFactory.getLogger(DataConversionProcessUtilHandler.class); + @Override + public String getHandler() { + return CmdbProcessStepHandlerType.DATACONVERSION.getHandler(); + } + + @Override + public Object getHandlerStepInfo(ProcessTaskStepVo currentProcessTaskStepVo) { + return getHandlerStepInitInfo(currentProcessTaskStepVo); + } + + @Override + public Object getHandlerStepInitInfo(ProcessTaskStepVo currentProcessTaskStepVo) { + 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); + } + } + + 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) { + + } + + @Override + public JSONObject makeupConfig(JSONObject configObj) { + if (configObj == null) { + configObj = new JSONObject(); + } + JSONObject resultObj = new JSONObject(); + + /** 授权 **/ + ProcessTaskOperationType[] stepActions = { + ProcessTaskOperationType.STEP_VIEW, + ProcessTaskOperationType.STEP_TRANSFER + }; + JSONArray authorityList = configObj.getJSONArray("authorityList"); + JSONArray authorityArray = ProcessConfigUtil.regulateAuthorityList(authorityList, stepActions); + resultObj.put("authorityList", authorityArray); + + /* 按钮映射 **/ + ProcessTaskOperationType[] stepButtons = { + ProcessTaskOperationType.STEP_COMPLETE, + ProcessTaskOperationType.STEP_BACK, + ProcessTaskOperationType.PROCESSTASK_TRANSFER, + ProcessTaskOperationType.STEP_ACCEPT + }; + 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(); + + /* 授权 **/ + ProcessTaskOperationType[] stepActions = { + ProcessTaskOperationType.STEP_VIEW, + ProcessTaskOperationType.STEP_TRANSFER + }; + 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, DataConversionNotifyHandler.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(DataConversionNotifyHandler.class.getName()); + resultObj.put("actionConfig", actionConfigVo); + + JSONArray customButtonList = configObj.getJSONArray("customButtonList"); + /* 按钮映射列表 **/ + ProcessTaskOperationType[] stepButtons = { + ProcessTaskOperationType.STEP_COMPLETE, + ProcessTaskOperationType.STEP_BACK, + ProcessTaskOperationType.PROCESSTASK_TRANSFER, + ProcessTaskOperationType.STEP_ACCEPT + }; + + 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 dataConversionConfig = configObj.getJSONObject("dataConversionConfig"); +// CiEntitySyncVo ciEntitySyncVo = regulateDataConversionConfig(dataConversionConfig); + resultObj.put("dataConversionConfig", dataConversionConfig); + + /* 分配处理人 **/ + 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; + } +} -- Gitee From 69691ab050f161b4fdd0e28a3f936239f15ea266 Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Wed, 24 Jan 2024 16:27:05 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=8E=E7=AB=AF-?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=9B=BE=E6=96=B0=E5=A2=9E=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=BD=AC=E6=8D=A2=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1076062233001984]后端-流程图新增一个数据转换节点 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1076062233001984 --- .../process/notifyhandler/DataConversionNotifyHandler.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/neatlogic/module/cmdb/process/notifyhandler/DataConversionNotifyHandler.java b/src/main/java/neatlogic/module/cmdb/process/notifyhandler/DataConversionNotifyHandler.java index 723f024a..e0ac13ba 100644 --- a/src/main/java/neatlogic/module/cmdb/process/notifyhandler/DataConversionNotifyHandler.java +++ b/src/main/java/neatlogic/module/cmdb/process/notifyhandler/DataConversionNotifyHandler.java @@ -66,8 +66,4 @@ public class DataConversionNotifyHandler extends NotifyPolicyHandlerBase { return CIENTITY_MODIFY.class.getSimpleName(); } -// @Override -// public INotifyPolicyHandlerGroup getGroup() { -// return ProcessNotifyPolicyHandlerGroup.TASKSTEP; -// } } -- Gitee From 39e2f42705cc4fba0fdb461d9aade11c270b166d Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Wed, 24 Jan 2024 16:39:37 +0800 Subject: [PATCH 3/3] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=8E=E7=AB=AF-?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=9B=BE=E6=96=B0=E5=A2=9E=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=BD=AC=E6=8D=A2=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1076062233001984]后端-流程图新增一个数据转换节点 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1076062233001984 --- .../DataConversionNotifyHandler.java | 69 ------ .../CmdbProcessStepHandlerType.java | 4 +- .../DataConversionProcessComponent.java | 213 ----------------- .../DataConversionProcessUtilHandler.java | 224 ------------------ 4 files changed, 1 insertion(+), 509 deletions(-) delete mode 100644 src/main/java/neatlogic/module/cmdb/process/notifyhandler/DataConversionNotifyHandler.java delete mode 100644 src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessComponent.java delete mode 100644 src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessUtilHandler.java diff --git a/src/main/java/neatlogic/module/cmdb/process/notifyhandler/DataConversionNotifyHandler.java b/src/main/java/neatlogic/module/cmdb/process/notifyhandler/DataConversionNotifyHandler.java deleted file mode 100644 index e0ac13ba..00000000 --- a/src/main/java/neatlogic/module/cmdb/process/notifyhandler/DataConversionNotifyHandler.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright(c) 2023 NeatLogic Co., Ltd. All Rights Reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package neatlogic.module.cmdb.process.notifyhandler; - -import com.alibaba.fastjson.JSONObject; -import neatlogic.framework.cmdb.auth.label.CIENTITY_MODIFY; -import neatlogic.framework.dto.ConditionParamVo; -import neatlogic.framework.notify.core.NotifyHandlerType; -import neatlogic.framework.notify.core.NotifyPolicyHandlerBase; -import neatlogic.framework.notify.dto.NotifyTriggerTemplateVo; -import neatlogic.framework.notify.dto.NotifyTriggerVo; -import neatlogic.module.cmdb.process.stephandler.CmdbProcessStepHandlerType; -import org.springframework.stereotype.Component; - -import java.util.List; - -@Component -public class DataConversionNotifyHandler extends NotifyPolicyHandlerBase { - - @Override - public String getName() { - return CmdbProcessStepHandlerType.DATACONVERSION.getName(); - } - - @Override - protected List myNotifyTriggerList() { - return null; - } - - @Override - protected List myNotifyTriggerTemplateList(NotifyHandlerType type) { - return null; - } - - @Override - protected List mySystemParamList() { - return null; - } - - @Override - protected List mySystemConditionOptionList() { - return null; - } - - @Override - protected void myAuthorityConfig(JSONObject config) { - - } - - @Override - public String getAuthName() { - return CIENTITY_MODIFY.class.getSimpleName(); - } - -} diff --git a/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbProcessStepHandlerType.java b/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbProcessStepHandlerType.java index d7a15934..76acecd0 100644 --- a/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbProcessStepHandlerType.java +++ b/src/main/java/neatlogic/module/cmdb/process/stephandler/CmdbProcessStepHandlerType.java @@ -21,9 +21,7 @@ import neatlogic.framework.util.$; public enum CmdbProcessStepHandlerType implements IProcessStepHandlerType { CIENTITYSYNC("cientitysync", "process", "nmcps.cmdbprocessstephandlertype.cientitysync"), - CMDBSYNC("cmdbsync", "process", "nmcps.cmdbprocessstephandlertype.cmdbsync"), - DATACONVERSION("dataconversion", "process", "数据转换"), - ; + CMDBSYNC("cmdbsync", "process", "nmcps.cmdbprocessstephandlertype.cmdbsync"); private final String handler; private final String name; diff --git a/src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessComponent.java b/src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessComponent.java deleted file mode 100644 index 2244cf61..00000000 --- a/src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessComponent.java +++ /dev/null @@ -1,213 +0,0 @@ -package neatlogic.module.cmdb.process.stephandler; - -import com.alibaba.fastjson.JSONObject; -import neatlogic.framework.process.constvalue.ProcessFlowDirection; -import neatlogic.framework.process.constvalue.ProcessStepMode; -import neatlogic.framework.process.constvalue.ProcessTaskOperationType; -import neatlogic.framework.process.dto.ProcessTaskStepVo; -import neatlogic.framework.process.dto.ProcessTaskStepWorkerVo; -import neatlogic.framework.process.exception.processtask.ProcessTaskException; -import neatlogic.framework.process.exception.processtask.ProcessTaskNoPermissionException; -import neatlogic.framework.process.stephandler.core.IProcessStepHandler; -import neatlogic.framework.process.stephandler.core.ProcessStepHandlerBase; -import neatlogic.framework.process.stephandler.core.ProcessStepHandlerFactory; -import neatlogic.framework.process.stephandler.core.ProcessStepThread; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; - -import java.util.List; -import java.util.Set; - -@Component -public class DataConversionProcessComponent extends ProcessStepHandlerBase { - private final Logger logger = LoggerFactory.getLogger(DataConversionProcessComponent.class); - - @Override - public String getHandler() { - return CmdbProcessStepHandlerType.DATACONVERSION.getHandler(); - } - - @Override - public JSONObject getChartConfig() { - return new JSONObject() { - { - this.put("icon", "ts-m-cmdb"); - this.put("shape", "L-rectangle-50%:R-rectangle-50%"); - this.put("width", 68); - this.put("height", 40); - } - }; - } - - @Override - public String getType() { - return CmdbProcessStepHandlerType.DATACONVERSION.getType(); - } - - @Override - public ProcessStepMode getMode() { - return ProcessStepMode.MT; - } - - @Override - public String getName() { - return CmdbProcessStepHandlerType.DATACONVERSION.getName(); - } - - @Override - public int getSort() { - return 14; - } - - @Override - public boolean isAsync() { - return false; - } - - @Override - public Boolean isAllowStart() { - return null; - } - - @Override - protected int myActive(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { - try { -// String configHash = currentProcessTaskStepVo.getConfigHash(); -// if (StringUtils.isBlank(configHash)) { -// ProcessTaskStepVo processTaskStepVo = processTaskMapper.getProcessTaskStepBaseInfoById(currentProcessTaskStepVo.getId()); -// configHash = processTaskStepVo.getConfigHash(); -// currentProcessTaskStepVo.setProcessStepUuid(processTaskStepVo.getProcessStepUuid()); -// } -// // 获取工单当前步骤配置信息 -// String config = selectContentByHashMapper.getProcessTaskStepConfigByHash(configHash); -// if (StringUtils.isBlank(config)) { -// myAutoComplete(currentProcessTaskStepVo); -// return 0; -// } -// JSONObject dataConversionConfig = (JSONObject) JSONPath.read(config, "dataConversionConfig"); -// if (MapUtils.isEmpty(dataConversionConfig)) { -// myAutoComplete(currentProcessTaskStepVo); -// return 0; -// } - } catch (Exception e) { - logger.error(e.getMessage(), e); - throw new ProcessTaskException(e.getMessage()); - } - return 1; - } - - private void myAutoComplete(ProcessTaskStepVo currentProcessTaskStepVo) { - List toProcessTaskStepIdList = processTaskMapper.getToProcessTaskStepIdListByFromIdAndType(currentProcessTaskStepVo.getId(), ProcessFlowDirection.FORWARD.getValue()); - if (toProcessTaskStepIdList.size() == 1) { - Long nextStepId = toProcessTaskStepIdList.get(0); - IProcessStepHandler handler = ProcessStepHandlerFactory.getHandler(CmdbProcessStepHandlerType.CMDBSYNC.getHandler()); - try { - ProcessTaskStepVo processTaskStepVo = processTaskMapper.getProcessTaskStepBaseInfoById(currentProcessTaskStepVo.getId()); - JSONObject paramObj = processTaskStepVo.getParamObj(); - paramObj.put("nextStepId", nextStepId); - paramObj.put("action", ProcessTaskOperationType.STEP_COMPLETE.getValue()); - /* 自动处理 **/ - doNext(ProcessTaskOperationType.STEP_COMPLETE, new ProcessStepThread(processTaskStepVo) { - @Override - public void myExecute() { - handler.autoComplete(processTaskStepVo); - } - }); - } catch (ProcessTaskNoPermissionException e) { - logger.error(e.getMessage(), e); - } - } - } - - @Override - protected int myAssign(ProcessTaskStepVo currentProcessTaskStepVo, Set workerSet) throws ProcessTaskException { - return defaultAssign(currentProcessTaskStepVo, workerSet); - } - - @Override - protected int myHang(ProcessTaskStepVo currentProcessTaskStepVo) { - currentProcessTaskStepVo.setIsAllDone(true); - return 0; - } - - @Override - protected int myHandle(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { - return 0; - } - - @Override - protected int myStart(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { - return 0; - } - - @Override - protected int myComplete(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { - return 0; - } - - @Override - protected int myCompleteAudit(ProcessTaskStepVo currentProcessTaskStepVo) { - return 0; - } - - @Override - protected int myReapproval(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { - return 0; - } - - @Override - protected int myReapprovalAudit(ProcessTaskStepVo currentProcessTaskStepVo) { - return 0; - } - - @Override - protected int myRetreat(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { - return 0; - } - - @Override - protected int myAbort(ProcessTaskStepVo currentProcessTaskStepVo) { - return 0; - } - - @Override - protected int myRecover(ProcessTaskStepVo currentProcessTaskStepVo) { - return 0; - } - - @Override - protected int myPause(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { - return 0; - } - - @Override - protected int myTransfer(ProcessTaskStepVo currentProcessTaskStepVo, List workerList) throws ProcessTaskException { - return 1; - } - - @Override - protected int myBack(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { - return 0; - } - - @Override - protected int mySaveDraft(ProcessTaskStepVo processTaskStepVo) throws ProcessTaskException { - return 1; - } - - @Override - protected int myStartProcess(ProcessTaskStepVo processTaskStepVo) throws ProcessTaskException { - return 0; - } - - @Override - protected Set myGetNext(ProcessTaskStepVo currentProcessTaskStepVo, List nextStepIdList, Long nextStepId) throws ProcessTaskException { - return defaultGetNext(nextStepIdList, nextStepId); - } - - @Override - protected int myRedo(ProcessTaskStepVo currentProcessTaskStepVo) throws ProcessTaskException { - return 0; - } -} diff --git a/src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessUtilHandler.java b/src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessUtilHandler.java deleted file mode 100644 index b0e9915e..00000000 --- a/src/main/java/neatlogic/module/cmdb/process/stephandler/DataConversionProcessUtilHandler.java +++ /dev/null @@ -1,224 +0,0 @@ -package neatlogic.module.cmdb.process.stephandler; - -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import neatlogic.framework.crossover.CrossoverServiceFactory; -import neatlogic.framework.notify.crossover.INotifyServiceCrossoverService; -import neatlogic.framework.notify.dto.InvokeNotifyPolicyConfigVo; -import neatlogic.framework.process.constvalue.ProcessTaskOperationType; -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.stephandler.core.ProcessStepInternalHandlerBase; -import neatlogic.framework.process.util.ProcessConfigUtil; -import neatlogic.module.cmdb.process.notifyhandler.DataConversionNotifyHandler; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Component; - -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -@Component -public class DataConversionProcessUtilHandler extends ProcessStepInternalHandlerBase { - - private final Logger logger = LoggerFactory.getLogger(DataConversionProcessUtilHandler.class); - @Override - public String getHandler() { - return CmdbProcessStepHandlerType.DATACONVERSION.getHandler(); - } - - @Override - public Object getHandlerStepInfo(ProcessTaskStepVo currentProcessTaskStepVo) { - return getHandlerStepInitInfo(currentProcessTaskStepVo); - } - - @Override - public Object getHandlerStepInitInfo(ProcessTaskStepVo currentProcessTaskStepVo) { - 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); - } - } - - 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) { - - } - - @Override - public JSONObject makeupConfig(JSONObject configObj) { - if (configObj == null) { - configObj = new JSONObject(); - } - JSONObject resultObj = new JSONObject(); - - /** 授权 **/ - ProcessTaskOperationType[] stepActions = { - ProcessTaskOperationType.STEP_VIEW, - ProcessTaskOperationType.STEP_TRANSFER - }; - JSONArray authorityList = configObj.getJSONArray("authorityList"); - JSONArray authorityArray = ProcessConfigUtil.regulateAuthorityList(authorityList, stepActions); - resultObj.put("authorityList", authorityArray); - - /* 按钮映射 **/ - ProcessTaskOperationType[] stepButtons = { - ProcessTaskOperationType.STEP_COMPLETE, - ProcessTaskOperationType.STEP_BACK, - ProcessTaskOperationType.PROCESSTASK_TRANSFER, - ProcessTaskOperationType.STEP_ACCEPT - }; - 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(); - - /* 授权 **/ - ProcessTaskOperationType[] stepActions = { - ProcessTaskOperationType.STEP_VIEW, - ProcessTaskOperationType.STEP_TRANSFER - }; - 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, DataConversionNotifyHandler.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(DataConversionNotifyHandler.class.getName()); - resultObj.put("actionConfig", actionConfigVo); - - JSONArray customButtonList = configObj.getJSONArray("customButtonList"); - /* 按钮映射列表 **/ - ProcessTaskOperationType[] stepButtons = { - ProcessTaskOperationType.STEP_COMPLETE, - ProcessTaskOperationType.STEP_BACK, - ProcessTaskOperationType.PROCESSTASK_TRANSFER, - ProcessTaskOperationType.STEP_ACCEPT - }; - - 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 dataConversionConfig = configObj.getJSONObject("dataConversionConfig"); -// CiEntitySyncVo ciEntitySyncVo = regulateDataConversionConfig(dataConversionConfig); - resultObj.put("dataConversionConfig", dataConversionConfig); - - /* 分配处理人 **/ - 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; - } -} -- Gitee