From da53ffc307e1ea7e0c2714be0aaeec57487919f9 Mon Sep 17 00:00:00 2001 From: "1437892690@qq.com" <1437892690@qq.com> Date: Wed, 19 Jun 2024 15:27:04 +0800 Subject: [PATCH] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20=E5=90=8E=E7=AB=AF-?= =?UTF-8?q?=E8=A1=A8=E5=8D=95=E6=96=B0=E5=A2=9E=E6=95=B0=E6=8D=AE=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #[1181253229838336]后端-表单新增数据转换功能 http://192.168.0.96:8090/demo/rdm.html#/task-detail/939050947543040/939050947543050/1181253229838336 --- .../framework/form/dto/FormVersionVo.java | 4 +-- .../form/service/IFormCrossoverService.java | 18 ++++++++++ .../framework/form/service/FormService.java | 10 ++++++ .../form/service/FormServiceImpl.java | 36 ++++++++++++++++++- 4 files changed, 65 insertions(+), 3 deletions(-) diff --git a/src/main/java/neatlogic/framework/form/dto/FormVersionVo.java b/src/main/java/neatlogic/framework/form/dto/FormVersionVo.java index 26f3b9214..b4412e01e 100644 --- a/src/main/java/neatlogic/framework/form/dto/FormVersionVo.java +++ b/src/main/java/neatlogic/framework/form/dto/FormVersionVo.java @@ -330,6 +330,8 @@ public class FormVersionVo extends BaseEditorVo { if (MapUtils.isNotEmpty(formCustomExtendConfig)) { JSONArray extendConfigList = formCustomExtendConfig.getJSONArray("extendConfigList"); if (CollectionUtils.isNotEmpty(extendConfigList)) { + String mainSceneUuid = this.formConfig.getString("uuid"); + formCustomExtendAttributeList = new ArrayList<>(); for (int i = 0; i < extendConfigList.size(); i++) { JSONObject extendConfigObj = extendConfigList.getJSONObject(i); if (MapUtils.isEmpty(extendConfigObj)) { @@ -337,8 +339,6 @@ public class FormVersionVo extends BaseEditorVo { } JSONArray attributeArray = extendConfigObj.getJSONArray("attributeList"); if (CollectionUtils.isNotEmpty(attributeArray)) { - String mainSceneUuid = this.formConfig.getString("uuid"); - formCustomExtendAttributeList = new ArrayList<>(); for (int j = 0; j < attributeArray.size(); j++) { JSONObject attributeObj = attributeArray.getJSONObject(j); if (MapUtils.isEmpty(attributeObj)) { diff --git a/src/main/java/neatlogic/framework/form/service/IFormCrossoverService.java b/src/main/java/neatlogic/framework/form/service/IFormCrossoverService.java index 89f8f3759..e489dc10c 100644 --- a/src/main/java/neatlogic/framework/form/service/IFormCrossoverService.java +++ b/src/main/java/neatlogic/framework/form/service/IFormCrossoverService.java @@ -37,4 +37,22 @@ public interface IFormCrossoverService extends ICrossoverService { * @return 组件列表 */ List getFormAttributeList(String formUuid, String formName, String tag); + + /** + * 获取表单组件列表 + * + * @param formUuid 表单UUID + * @param formName 表单名 + * @param tag 标签 + * @return 组件列表 + */ + List getFormAttributeListNew(String formUuid, String formName, String tag); + + /** + * 通过简单值获取标准值,例如下拉框的简单值为a或A,返回标准值为{"value":"a", "text":"A"} + * @param simpleValue + * @param configObj + * @return + */ + Object getSelectStandardValueBySimpleValue(Object simpleValue, JSONObject configObj); } diff --git a/src/main/java/neatlogic/module/framework/form/service/FormService.java b/src/main/java/neatlogic/module/framework/form/service/FormService.java index 71615c087..440d1f2bc 100644 --- a/src/main/java/neatlogic/module/framework/form/service/FormService.java +++ b/src/main/java/neatlogic/module/framework/form/service/FormService.java @@ -49,6 +49,16 @@ public interface FormService { */ List getFormAttributeList(String formUuid, String formName, String tag); + /** + * 获取表单组件列表 + * + * @param formUuid 表单UUID + * @param formName 表单名 + * @param tag 标签 + * @return 组件列表 + */ + List getFormAttributeListNew(String formUuid, String formName, String tag); + /** * 通过简单值获取标准值,例如下拉框的简单值为a或A,返回标准值为{"value":"a", "text":"A"} * @param simpleValue diff --git a/src/main/java/neatlogic/module/framework/form/service/FormServiceImpl.java b/src/main/java/neatlogic/module/framework/form/service/FormServiceImpl.java index 58b735476..3d673615f 100644 --- a/src/main/java/neatlogic/module/framework/form/service/FormServiceImpl.java +++ b/src/main/java/neatlogic/module/framework/form/service/FormServiceImpl.java @@ -527,7 +527,7 @@ public class FormServiceImpl implements FormService, IFormCrossoverService { List formExtendAttributeList = new ArrayList<>(); List list = formMapper.getFormExtendAttributeListByFormUuidAndFormVersionUuid(formUuid, formVersion.getUuid()); for (FormAttributeVo formAttributeVo : list) { - if (Objects.equals(formAttributeVo.getTag(), tag)) { + if (Objects.equals(formAttributeVo.getTag(), tag) && formAttributeVo.getParentUuid() != null) { formExtendAttributeList.add(formAttributeVo); parentUuidList.add(formAttributeVo.getParentUuid()); } @@ -542,6 +542,40 @@ public class FormServiceImpl implements FormService, IFormCrossoverService { return resultList; } + @Override + public List getFormAttributeListNew(String formUuid, String formName, String tag) { + FormVersionVo formVersion = formMapper.getActionFormVersionByFormUuid(formUuid); + if (formVersion == null) { + throw new FormActiveVersionNotFoundExcepiton(formName); + } + FormAttributeVo searchVo = new FormAttributeVo(); + searchVo.setFormUuid(formUuid); + searchVo.setFormVersionUuid(formVersion.getUuid()); + List formAttributeList = formMapper.getFormAttributeList(searchVo); + if (StringUtils.isBlank(tag)) { + return formAttributeList; + } + Set tagSet = new HashSet<>(); + List formCustomExtendAttributeList = formVersion.getFormCustomExtendAttributeList(); + if (CollectionUtils.isNotEmpty(formCustomExtendAttributeList)) { + for (FormAttributeVo formAttributeVo : formCustomExtendAttributeList) { + tagSet.add(formAttributeVo.getTag()); + } + } + if (tagSet.contains(tag)) { + List formExtendAttributeList = new ArrayList<>(); + List list = formMapper.getFormExtendAttributeListByFormUuidAndFormVersionUuid(formUuid, formVersion.getUuid()); + for (FormAttributeVo formAttributeVo : list) { + if (Objects.equals(formAttributeVo.getTag(), tag) && formAttributeVo.getParentUuid() == null) { + formExtendAttributeList.add(formAttributeVo); + } + } + return formExtendAttributeList; + } else { + return getFormAttributeList(formUuid, formName, tag); + } + } + @Override public Object getSelectStandardValueBySimpleValue(Object dataObj, JSONObject configObj) { JSONArray resultList = new JSONArray(); -- Gitee