From 757546bc0da17371f0f0b1044a7d79aa73f7b36f Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Sat, 20 Jan 2024 12:06:08 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=8E=E7=AB=AF-E?= =?UTF-8?q?OA=E8=8A=82=E7=82=B9=E5=9C=A8=E5=B7=A5=E5=8D=95=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E6=93=8D=E4=BD=9C=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1071564211060736]后端-EOA节点在工单中的操作详情 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1071564211060736 --- pom.xml | 6 +- ...Template2ProcessStepDependencyHandler.java | 88 +++++++++++++++++++ .../handler/ProcessImportExportHandler.java | 24 +++++ .../process/service/ProcessServiceImpl.java | 11 +++ 4 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 src/main/java/neatlogic/module/process/dependency/handler/EoaTemplate2ProcessStepDependencyHandler.java diff --git a/pom.xml b/pom.xml index 6deffb243..ca08f0911 100644 --- a/pom.xml +++ b/pom.xml @@ -58,5 +58,9 @@ limitations under the License. com.neatlogic neatlogic-event-base + + com.neatlogic + neatlogic-eoa-base + - \ No newline at end of file + diff --git a/src/main/java/neatlogic/module/process/dependency/handler/EoaTemplate2ProcessStepDependencyHandler.java b/src/main/java/neatlogic/module/process/dependency/handler/EoaTemplate2ProcessStepDependencyHandler.java new file mode 100644 index 000000000..674554570 --- /dev/null +++ b/src/main/java/neatlogic/module/process/dependency/handler/EoaTemplate2ProcessStepDependencyHandler.java @@ -0,0 +1,88 @@ +package neatlogic.module.process.dependency.handler; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import neatlogic.framework.asynchronization.threadlocal.TenantContext; +import neatlogic.framework.dependency.core.FixedTableDependencyHandlerBase; +import neatlogic.framework.dependency.core.IFromType; +import neatlogic.framework.dependency.dto.DependencyInfoVo; +import neatlogic.framework.dependency.dto.DependencyVo; +import neatlogic.framework.eoa.enums.EoaFromType; +import neatlogic.framework.process.dto.ProcessVo; +import neatlogic.module.process.dao.mapper.ProcessMapper; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.MapUtils; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; + +@Component +public class EoaTemplate2ProcessStepDependencyHandler extends FixedTableDependencyHandlerBase { + + @Resource + private ProcessMapper processMapper; + + @Override + protected DependencyInfoVo parse(DependencyVo dependencyVo) { + JSONObject config = dependencyVo.getConfig(); + if (MapUtils.isEmpty(config)) { + return null; + } + String stepUuid = dependencyVo.getTo(); + String processUuid = config.getString("processUuid"); + ProcessVo processVo = processMapper.getProcessBaseInfoByUuid(processUuid); + if (processVo == null) { + return null; + } + JSONObject processConfig = processVo.getConfig(); + if (MapUtils.isEmpty(processConfig)) { + return null; + } + JSONObject processObj = processConfig.getJSONObject("process"); + if (MapUtils.isEmpty(processObj)) { + return null; + } + JSONArray stepList = processObj.getJSONArray("stepList"); + if (CollectionUtils.isEmpty(stepList)) { + return null; + } + for (int i = 0; i < stepList.size(); i++) { + JSONObject stepObj = stepList.getJSONObject(i); + if (MapUtils.isEmpty(stepObj)) { + continue; + } + String uuid = stepObj.getString("uuid"); + if (!Objects.equals(uuid, stepUuid)) { + continue; + } +// JSONObject stepConfig = stepObj.getJSONObject("stepConfig"); +// if (MapUtils.isEmpty(stepConfig)) { +// return null; +// } +// String formSceneUuid = stepConfig.getString("formSceneUuid"); +// if (StringUtils.isBlank(formSceneUuid)) { +// return null; +// } +// if (!Objects.equals(formSceneUuid, dependencyVo.getFrom())) { +// return null; +// } + JSONObject dependencyInfoConfig = new JSONObject(); + dependencyInfoConfig.put("processUuid", processUuid); + dependencyInfoConfig.put("stepUuid", stepUuid); + List pathList = new ArrayList<>(); + pathList.add("流程管理"); + pathList.add(processVo.getName()); + String urlFormat = "/" + TenantContext.get().getTenantUuid() + "/process.html#/flow-edit?uuid=${DATA.processUuid}&stepUuid=${DATA.stepUuid}"; + return new DependencyInfoVo(stepUuid, dependencyInfoConfig, stepObj.getString("name"), pathList, urlFormat, this.getGroupName()); + } + return null; + } + + @Override + public IFromType getFromType() { + return EoaFromType.EOATEMPLATE; + } +} diff --git a/src/main/java/neatlogic/module/process/importexport/handler/ProcessImportExportHandler.java b/src/main/java/neatlogic/module/process/importexport/handler/ProcessImportExportHandler.java index 8c4f5b4a4..410544ae2 100644 --- a/src/main/java/neatlogic/module/process/importexport/handler/ProcessImportExportHandler.java +++ b/src/main/java/neatlogic/module/process/importexport/handler/ProcessImportExportHandler.java @@ -2,6 +2,7 @@ package neatlogic.module.process.importexport.handler; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import neatlogic.framework.eoa.enums.EoaImportExportHandlerType; import neatlogic.framework.importexport.constvalue.FrameworkImportExportHandlerType; import neatlogic.framework.importexport.core.ImportExportHandlerBase; import neatlogic.framework.importexport.core.ImportExportHandlerType; @@ -435,6 +436,29 @@ public class ProcessImportExportHandler extends ImportExportHandlerBase { } } } + } else if (Objects.equals(handler, "eoa")) { + JSONObject eoaConfig = stepConfig.getJSONObject("eoaConfig"); + JSONArray eoaTemplateList = eoaConfig.getJSONArray("eoaTemplateList"); + if (CollectionUtils.isNotEmpty(eoaTemplateList)) { + for (int j = 0; j < eoaTemplateList.size(); j++) { + JSONObject eoaTemplateObj = eoaTemplateList.getJSONObject(j); + if (MapUtils.isEmpty(eoaTemplateObj)) { + continue; + } + Long id = eoaTemplateObj.getLong("id"); + if (id == null) { + continue; + } + if (action == IMPORT) { + Object newPrimaryKey = getNewPrimaryKey(EoaImportExportHandlerType.EOA_TEMPLATE, id, primaryChangeList); + if (newPrimaryKey != null) { + eoaTemplateObj.put("id", newPrimaryKey); + } + } else if (action == EXPORT) { + doExportData(EoaImportExportHandlerType.EOA_TEMPLATE, id, dependencyList, zipOutputStream); + } + } + } } } } diff --git a/src/main/java/neatlogic/module/process/service/ProcessServiceImpl.java b/src/main/java/neatlogic/module/process/service/ProcessServiceImpl.java index 89c2ba4db..31bf04410 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessServiceImpl.java +++ b/src/main/java/neatlogic/module/process/service/ProcessServiceImpl.java @@ -156,6 +156,16 @@ public class ProcessServiceImpl implements ProcessService { config.put("stepName", stepVo.getName()); DependencyManager.insert(FormScene2ProcessStepDependencyHandler.class, stepVo.getFormSceneUuid(), stepVo.getUuid(), config); } + if (CollectionUtils.isNotEmpty(stepVo.getEoaTemplateIdList())) { + for (Long eoaTemplateId : stepVo.getEoaTemplateIdList()) { + JSONObject config = new JSONObject(); + config.put("processUuid", uuid); + config.put("processName", processVo.getName()); + config.put("stepUuid", stepVo.getUuid()); + config.put("stepName", stepVo.getName()); + DependencyManager.insert(EoaTemplate2ProcessStepDependencyHandler.class, eoaTemplateId, stepVo.getUuid(), config); + } + } if (CollectionUtils.isNotEmpty(stepVo.getWorkerPolicyList())) { for (ProcessStepWorkerPolicyVo processStepWorkerPolicyVo : stepVo.getWorkerPolicyList()) { processMapper.insertProcessStepWorkerPolicy(processStepWorkerPolicyVo); @@ -247,6 +257,7 @@ public class ProcessServiceImpl implements ProcessService { processMapper.deleteProcessStepTagByProcessUuid(uuid); for (String stepUuid : processStepUuidList) { DependencyManager.delete(FormScene2ProcessStepDependencyHandler.class, stepUuid); + DependencyManager.delete(EoaTemplate2ProcessStepDependencyHandler.class, stepUuid); } } -- Gitee From 54af043d8def17d3d2f9b3851cbc352b030e0b9e Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Sat, 20 Jan 2024 12:08:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=8E=E7=AB=AF-E?= =?UTF-8?q?OA=E8=8A=82=E7=82=B9=E5=9C=A8=E5=B7=A5=E5=8D=95=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E6=93=8D=E4=BD=9C=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1071564211060736]后端-EOA节点在工单中的操作详情 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1071564211060736 --- .../EoaTemplate2ProcessStepDependencyHandler.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/main/java/neatlogic/module/process/dependency/handler/EoaTemplate2ProcessStepDependencyHandler.java b/src/main/java/neatlogic/module/process/dependency/handler/EoaTemplate2ProcessStepDependencyHandler.java index 674554570..3ce703a84 100644 --- a/src/main/java/neatlogic/module/process/dependency/handler/EoaTemplate2ProcessStepDependencyHandler.java +++ b/src/main/java/neatlogic/module/process/dependency/handler/EoaTemplate2ProcessStepDependencyHandler.java @@ -58,17 +58,6 @@ public class EoaTemplate2ProcessStepDependencyHandler extends FixedTableDependen if (!Objects.equals(uuid, stepUuid)) { continue; } -// JSONObject stepConfig = stepObj.getJSONObject("stepConfig"); -// if (MapUtils.isEmpty(stepConfig)) { -// return null; -// } -// String formSceneUuid = stepConfig.getString("formSceneUuid"); -// if (StringUtils.isBlank(formSceneUuid)) { -// return null; -// } -// if (!Objects.equals(formSceneUuid, dependencyVo.getFrom())) { -// return null; -// } JSONObject dependencyInfoConfig = new JSONObject(); dependencyInfoConfig.put("processUuid", processUuid); dependencyInfoConfig.put("stepUuid", stepUuid); -- Gitee