From 57db583c76deae25cc22e7ea86f753ddae255113 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Tue, 11 Jun 2024 14:55:02 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=8E=E7=AB=AF-?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E4=B8=8A=E6=8A=A5=E6=97=B6=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=94=AF=E6=8C=81key?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #[1176658931843072]后端-工单上报时表单数据支持key http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1176658931843072 --- .../processtask/ProcessTaskDraftGetApi.java | 25 +++++++++++++++++-- .../service/ProcessStepHandlerUtil.java | 9 +++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskDraftGetApi.java b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskDraftGetApi.java index b27fd35df..de7cc534a 100644 --- a/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskDraftGetApi.java +++ b/src/main/java/neatlogic/module/process/api/processtask/ProcessTaskDraftGetApi.java @@ -202,6 +202,8 @@ public class ProcessTaskDraftGetApi extends PrivateApiComponentBase { JSONObject fromProcessTaskFormAttrDataMap = getFromFormAttributeDataMap(fromProcessTaskId); JSONObject labelUuidMap = fromProcessTaskFormAttrDataMap.getJSONObject("labelUuidMap"); JSONObject labelHandlerMap = fromProcessTaskFormAttrDataMap.getJSONObject("labelHandlerMap"); + JSONObject keyUuidMap = fromProcessTaskFormAttrDataMap.getJSONObject("keyUuidMap"); + JSONObject keyHandlerMap = fromProcessTaskFormAttrDataMap.getJSONObject("keyHandlerMap"); JSONObject formAttributeDataMap = fromProcessTaskFormAttrDataMap.getJSONObject("formAttributeDataMap"); //获取目标表单值 FormVersionVo toFormVersion = new FormVersionVo(); @@ -209,15 +211,26 @@ public class ProcessTaskDraftGetApi extends PrivateApiComponentBase { String mainSceneUuid = toProcessTaskFormConfig.getString("uuid"); toFormVersion.setSceneUuid(mainSceneUuid); for (FormAttributeVo formAttributeVo : toFormVersion.getFormAttributeList()) { - String fromFormAttributeHandler = labelHandlerMap.getString(formAttributeVo.getLabel()); + String fromFormAttributeHandler = keyHandlerMap.getString(formAttributeVo.getKey()); if (Objects.equals(fromFormAttributeHandler, formAttributeVo.getHandler())) { - String fromFormAttributeUuid = labelUuidMap.getString(formAttributeVo.getLabel()); + String fromFormAttributeUuid = keyUuidMap.getString(formAttributeVo.getKey()); if (StringUtils.isNotBlank(fromFormAttributeUuid)) { Object data = formAttributeDataMap.get(fromFormAttributeUuid); if (data != null) { resultObj.put(formAttributeVo.getUuid(), data); } } + } else { + fromFormAttributeHandler = labelHandlerMap.getString(formAttributeVo.getLabel()); + if (Objects.equals(fromFormAttributeHandler, formAttributeVo.getHandler())) { + String fromFormAttributeUuid = labelUuidMap.getString(formAttributeVo.getLabel()); + if (StringUtils.isNotBlank(fromFormAttributeUuid)) { + Object data = formAttributeDataMap.get(fromFormAttributeUuid); + if (data != null) { + resultObj.put(formAttributeVo.getUuid(), data); + } + } + } } } @@ -239,6 +252,8 @@ public class ProcessTaskDraftGetApi extends PrivateApiComponentBase { if (StringUtils.isNotBlank(formContent)) { Map labelUuidMap = new HashMap<>(); Map labelHandlerMap = new HashMap<>(); + Map keyUuidMap = new HashMap<>(); + Map keyHandlerMap = new HashMap<>(); JSONObject formConfig = JSON.parseObject(formContent); FormVersionVo fromFormVersion = new FormVersionVo(); fromFormVersion.setFormConfig(formConfig); @@ -248,6 +263,10 @@ public class ProcessTaskDraftGetApi extends PrivateApiComponentBase { for (FormAttributeVo formAttributeVo : fromFormAttributeList) { labelUuidMap.put(formAttributeVo.getLabel(), formAttributeVo.getUuid()); labelHandlerMap.put(formAttributeVo.getLabel(), formAttributeVo.getHandler()); + if (StringUtils.isNotBlank(formAttributeVo.getKey())) { + keyUuidMap.put(formAttributeVo.getKey(), formAttributeVo.getUuid()); + keyHandlerMap.put(formAttributeVo.getKey(), formAttributeVo.getHandler()); + } } Map formAttributeDataMap = new HashMap<>(); List processTaskFormAttributeDataList = processTaskService.getProcessTaskFormAttributeDataListByProcessTaskId(fromProcessTaskId); @@ -256,6 +275,8 @@ public class ProcessTaskDraftGetApi extends PrivateApiComponentBase { } resultObj.put("labelUuidMap", labelUuidMap); resultObj.put("labelHandlerMap", labelHandlerMap); + resultObj.put("keyUuidMap", keyUuidMap); + resultObj.put("keyHandlerMap", keyHandlerMap); resultObj.put("formAttributeDataMap", formAttributeDataMap); } } diff --git a/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java b/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java index 96babe1bf..3d374f7bd 100644 --- a/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java +++ b/src/main/java/neatlogic/module/process/service/ProcessStepHandlerUtil.java @@ -887,6 +887,15 @@ public class ProcessStepHandlerUtil implements IProcessStepHandlerUtil, IProcess for (int i = 0; i < formAttributeDataList.size(); i++) { JSONObject formAttributeDataObj = formAttributeDataList.getJSONObject(i); String attributeUuid = formAttributeDataObj.getString("attributeUuid"); + if (StringUtils.isBlank(attributeUuid)) { + String attributeKey = formAttributeDataObj.getString("key"); + if (StringUtils.isNotBlank(attributeKey)) { + Optional first = mainSceneFormAttributeList.stream().filter(e -> Objects.equals(e.getKey(), attributeKey)).findFirst(); + if (first.isPresent()) { + attributeUuid = first.get().getUuid(); + } + } + } Object data = formAttributeDataObj.get("dataList"); formAttributeDataMap.put(attributeUuid, data); } -- Gitee