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